browser_window_ffi/
browser_window.rs

1#![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}