browser_window_ffi/
browser_window.rs1#![allow(non_snake_case)]
2#![allow(non_camel_case_types)]
3
4use std::os::raw::*;
5
6use super::application::bw_Application;
7use super::err::bw_Err;
8use super::string::bw_CStrSlice;
9
10
11
12pub enum bw_BrowserWindow {}
13pub type bw_BrowserWindowCreationCallbackFn = unsafe extern "C" fn ( bw: *mut bw_BrowserWindow, data: *mut c_void );
14pub type bw_BrowserWindowDispatchFn = unsafe extern "C" fn( bw: *mut bw_BrowserWindow, data: *mut c_void );
15pub type bw_BrowserWindowHandlerFn = unsafe extern "C" fn( bw: *mut bw_BrowserWindow, cmd: bw_CStrSlice, args: *const bw_CStrSlice, args_count: usize );
16pub type bw_BrowserWindowEvalJsCallbackFn = unsafe extern "C" fn( bw: *mut bw_BrowserWindow, data: *mut c_void, js: *const c_char, error: *const bw_Err );
17
18
19
20#[repr(C)]
21pub struct bw_BrowserWindowOptions {
22 pub dev_tools: bool,
23 pub resource_path: bw_CStrSlice
24}
25
26#[repr(C)]
27pub struct bw_BrowserWindowSource {
28 pub data: bw_CStrSlice,
29 pub is_html: bool
30}
31
32#[repr(C)]
33pub struct bw_WindowOptions {
34 pub minimizable: bool,
35 pub resizable: bool,
36 pub closable: bool,
37 pub borders: bool
38}
39
40
41
42extern "C" {
43 pub fn bw_BrowserWindow_close( bw: *mut bw_BrowserWindow );
44 pub fn bw_BrowserWindow_dispatch( bw: *mut bw_BrowserWindow, func: bw_BrowserWindowDispatchFn, data: *mut c_void );
45 pub fn bw_BrowserWindow_drop( bw: *mut bw_BrowserWindow );
46 pub fn bw_BrowserWindow_evalJs( bw: *mut bw_BrowserWindow, js: bw_CStrSlice, callback: bw_BrowserWindowEvalJsCallbackFn, cb_data: *mut c_void );
47 pub fn bw_BrowserWindow_evalJsThreaded( bw: *mut bw_BrowserWindow, js: bw_CStrSlice, callback: bw_BrowserWindowEvalJsCallbackFn, cb_data: *mut c_void );
48 pub fn bw_BrowserWindow_getApp( bw: *mut bw_BrowserWindow ) -> *mut bw_Application;
49 pub fn bw_BrowserWindow_getUserData( bw: *mut bw_BrowserWindow ) -> *mut c_void;
50 pub fn bw_BrowserWindow_navigate( bw: *mut bw_BrowserWindow, url: bw_CStrSlice ) -> bw_Err;
51 pub fn bw_BrowserWindow_new(
52 app: *mut bw_Application,
53 parent: *const bw_BrowserWindow,
54 source: bw_BrowserWindowSource,
55 title: bw_CStrSlice,
56 width: c_int,
57 height: c_int,
58 window_options: *const bw_WindowOptions,
59 options: *const bw_BrowserWindowOptions,
60 handler: bw_BrowserWindowHandlerFn,
61 user_data: *mut c_void,
62 callback: bw_BrowserWindowCreationCallbackFn,
63 callback_data: *mut c_void
64 );
65}