1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
#![allow(non_camel_case_types, non_snake_case)]
use capi::sctypes::*;
MAKE_HANDLE!(#[doc = "Element native handle."] HELEMENT, _HELEMENT);
MAKE_HANDLE!(#[doc = "Node native handle."] HNODE, _HNODE);
#[repr(C)]
#[derive(Debug, PartialOrd, PartialEq)]
pub enum SCDOM_RESULT {
OK = 0,
INVALID_HWND = 1,
INVALID_HANDLE = 2,
PASSIVE_HANDLE = 3,
INVALID_PARAMETER = 4,
OPERATION_FAILED = 5,
OK_NOT_HANDLED = -1,
}
#[repr(C)]
#[derive(Debug, PartialOrd, PartialEq)]
pub enum SET_ELEMENT_HTML
{
SIH_REPLACE_CONTENT = 0,
SIH_INSERT_AT_START = 1,
SIH_APPEND_AFTER_LAST = 2,
SOH_REPLACE = 3,
SOH_INSERT_BEFORE = 4,
SOH_INSERT_AFTER = 5,
}
#[repr(C)]
#[derive(Debug, PartialOrd, PartialEq)]
pub enum ELEMENT_AREAS {
ROOT_RELATIVE = 0x01,
SELF_RELATIVE = 0x02,
CONTAINER_RELATIVE = 0x03,
VIEW_RELATIVE = 0x04,
CONTENT_BOX = 0x00,
PADDING_BOX = 0x10,
BORDER_BOX = 0x20,
MARGIN_BOX = 0x30,
BACK_IMAGE_AREA = 0x40,
FORE_IMAGE_AREA = 0x50,
SCROLLABLE_AREA = 0x60,
}
impl ELEMENT_AREAS {
pub fn self_content() -> u32 {
ELEMENT_AREAS::SELF_RELATIVE as u32
}
pub fn self_rect() -> u32 {
ELEMENT_AREAS::ROOT_RELATIVE as u32
}
}
pub type SciterElementCallback = extern "system" fn (he: HELEMENT, param: LPVOID) -> BOOL;
pub type ELEMENT_COMPARATOR = extern "system" fn (he1: HELEMENT, he2: HELEMENT, param: LPVOID) -> INT;