#![allow(non_camel_case_types, non_snake_case)]
#![allow(dead_code)]
use capi::sctypes::*;
use capi::scvalue::{VALUE};
use capi::screquest::{HREQUEST};
use capi::scdom::{HELEMENT};
pub enum ID2D1RenderTarget {}
pub enum ID2D1Factory {}
pub enum IDWriteFactory {}
pub enum IDXGISwapChain {}
pub enum IDXGISurface {}
#[repr(C)]
#[derive(Debug, PartialOrd, PartialEq)]
pub enum LOAD_RESULT {
LOAD_DEFAULT,
LOAD_DISCARD,
LOAD_DELAYED,
LOAD_MYSELF,
}
#[repr(C)]
#[derive(Debug)]
#[allow(missing_docs)]
pub enum SCRIPT_RUNTIME_FEATURES
{
ALLOW_FILE_IO = 0x1,
ALLOW_SOCKET_IO = 0x2,
ALLOW_EVAL = 0x4,
ALLOW_SYSINFO = 0x8,
}
#[repr(C)]
#[derive(Debug)]
#[allow(missing_docs)]
pub enum GFX_LAYER
{
AUTO = 0xFFFF,
CPU = 1,
#[cfg(windows)]
WARP = 2,
#[cfg(windows)]
D2D = 3,
SKIA_CPU = 4,
SKIA_OPENGL = 5,
}
#[repr(C)]
#[derive(Debug, PartialOrd, PartialEq)]
pub enum SCITER_RT_OPTIONS
{
SCITER_SMOOTH_SCROLL = 1,
SCITER_CONNECTION_TIMEOUT = 2,
SCITER_HTTPS_ERROR = 3,
SCITER_FONT_SMOOTHING = 4,
SCITER_TRANSPARENT_WINDOW = 6,
SCITER_SET_GPU_BLACKLIST = 7,
SCITER_SET_SCRIPT_RUNTIME_FEATURES = 8,
SCITER_SET_GFX_LAYER = 9,
SCITER_SET_DEBUG_MODE = 10,
SCITER_SET_UX_THEMING = 11,
SCITER_ALPHA_WINDOW = 12,
}
#[repr(C)]
pub enum SCITER_CREATE_WINDOW_FLAGS {
SW_CHILD = (1 << 0),
SW_TITLEBAR = (1 << 1),
SW_RESIZEABLE = (1 << 2),
SW_TOOL = (1 << 3),
SW_CONTROLS = (1 << 4),
SW_GLASSY = (1 << 5),
SW_ALPHA = (1 << 6),
SW_MAIN = (1 << 7),
SW_POPUP = (1 << 8),
SW_ENABLE_DEBUG = (1 << 9),
SW_OWNS_VM = (1 << 10),
}
impl Default for SCITER_CREATE_WINDOW_FLAGS {
fn default() -> Self {
SCITER_CREATE_WINDOW_FLAGS::SW_CHILD
}
}
impl ::std::ops::BitOr for SCITER_CREATE_WINDOW_FLAGS {
type Output = SCITER_CREATE_WINDOW_FLAGS;
fn bitor(self, rhs: Self::Output) -> Self::Output {
let rn = (self as UINT) | (rhs as UINT);
unsafe { ::std::mem::transmute(rn) }
}
}
#[repr(C)]
#[derive(Debug, PartialOrd, PartialEq)]
pub enum SCITER_NOTIFICATION {
SC_LOAD_DATA = 1,
SC_DATA_LOADED = 2,
SC_ATTACH_BEHAVIOR = 4,
SC_ENGINE_DESTROYED = 5,
SC_POSTED_NOTIFICATION = 6,
SC_GRAPHICS_CRITICAL_FAILURE = 7,
}
#[repr(C)]
#[derive(Debug, PartialOrd, PartialEq)]
pub enum SCITER_RESOURCE_TYPE
{
RT_DATA_HTML = 0,
RT_DATA_IMAGE = 1,
RT_DATA_STYLE = 2,
RT_DATA_CURSOR = 3,
RT_DATA_SCRIPT = 4,
RT_DATA_RAW = 5,
RT_DATA_FONT,
RT_DATA_SOUND, }
#[repr(C)]
#[derive(Debug)]
pub struct SCN_LOAD_DATA
{
pub code: UINT,
pub hwnd: HWINDOW,
pub uri: LPCWSTR,
pub outData: LPCBYTE,
pub outDataSize: UINT,
pub dataType: SCITER_RESOURCE_TYPE,
pub request_id: HREQUEST,
pub principal: HELEMENT,
pub initiator: HELEMENT,
}
#[repr(C)]
#[derive(Debug)]
pub struct SCN_DATA_LOADED
{
pub code: UINT,
pub hwnd: HWINDOW,
pub uri: LPCWSTR,
pub data: LPCBYTE,
pub dataSize: UINT,
pub dataType: UINT,
pub status: UINT,
}
#[repr(C)]
pub struct SCN_ATTACH_BEHAVIOR
{
pub code: UINT,
pub hwnd: HWINDOW,
pub element: HELEMENT,
pub name: LPCSTR,
pub elementProc: ElementEventProc,
pub elementTag: LPVOID,
}
#[repr(C)]
pub struct SCITER_CALLBACK_NOTIFICATION
{
pub code: UINT,
pub hwnd: HWINDOW,
}
pub type LPSCITER_CALLBACK_NOTIFICATION = *mut SCITER_CALLBACK_NOTIFICATION;
pub type SciterHostCallback = extern "system" fn (pns: LPSCITER_CALLBACK_NOTIFICATION, callbackParam: LPVOID) -> UINT;
pub type SciterWindowDelegate = extern "system" fn (hwnd: HWINDOW, msg: UINT, wParam: WPARAM, lParam: LPARAM, pParam: LPVOID, handled: * mut BOOL) -> LRESULT;
pub type ElementEventProc = extern "system" fn (tag: LPVOID, he: HELEMENT, evtg: UINT, prms: LPVOID) -> BOOL;
#[repr(C)]
#[derive(Debug, PartialOrd, PartialEq)]
pub enum OUTPUT_SUBSYTEMS
{
DOM = 0,
CSSS,
CSS,
TIS,
}
#[repr(C)]
#[derive(Debug, PartialOrd, PartialEq)]
#[allow(missing_docs)]
pub enum OUTPUT_SEVERITY
{
INFO,
WARNING,
ERROR,
}
pub type DEBUG_OUTPUT_PROC = extern "system" fn (param: LPVOID, subsystem: OUTPUT_SUBSYTEMS, severity: OUTPUT_SEVERITY, text: LPCWSTR, text_length: UINT);
pub type LPCWSTR_RECEIVER = extern "system" fn (szstr: LPCWSTR, str_length: UINT, param: LPVOID);
pub type LPCSTR_RECEIVER = extern "system" fn (szstr: LPCSTR, str_length: UINT, param: LPVOID);
pub type LPCBYTE_RECEIVER = extern "system" fn (szstr: LPCBYTE, str_length: UINT, param: LPVOID);
pub type ELEMENT_BITMAP_RECEIVER = extern "system" fn (rgba: LPCBYTE, x: INT, y: INT, width: UINT, height: UINT, param: LPVOID);
#[repr(C)]
pub struct METHOD_PARAMS {
methodID: UINT,
}
#[repr(C)]
pub struct REQUEST_PARAM {
name: LPCWSTR,
value: LPCWSTR,
}
pub type KeyValueCallback = extern "system" fn (param: LPVOID, pkey: *const VALUE, pval: *const VALUE) -> BOOL;