@effindomv2/fui-as 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. package/LICENSE.md +7 -0
  2. package/browser/src/common-harness/host-imports.ts +430 -0
  3. package/browser/src/common-harness/interop.ts +39 -0
  4. package/browser/src/common-harness/managed-harness-bitmap-host.ts +92 -0
  5. package/browser/src/common-harness/managed-harness-fetch-host.ts +201 -0
  6. package/browser/src/common-harness/managed-harness-file-host.ts +1101 -0
  7. package/browser/src/common-harness/managed-harness-file-payloads.ts +143 -0
  8. package/browser/src/common-harness/managed-harness-file-types.ts +106 -0
  9. package/browser/src/common-harness/managed-harness-session.ts +15 -0
  10. package/browser/src/common-harness/managed-harness.ts +1323 -0
  11. package/browser/src/common-harness/managed-history.ts +168 -0
  12. package/browser/src/common-harness/persisted-restore-policy.ts +50 -0
  13. package/browser/src/common-harness/persisted-ui-state-controller.ts +309 -0
  14. package/browser/src/common-harness/text-session-bridge.ts +452 -0
  15. package/browser/src/common-harness/types.ts +205 -0
  16. package/browser/src/common-harness/ui-chrome.ts +191 -0
  17. package/browser/src/common-harness/ui-imports.ts +529 -0
  18. package/browser/src/common-harness/wasm-module-cache.ts +47 -0
  19. package/browser/src/common-harness.ts +27 -0
  20. package/browser/src/file-processing-worker.ts +89 -0
  21. package/browser/src/host-events.ts +97 -0
  22. package/browser/src/host-services.ts +203 -0
  23. package/browser/src/index.ts +62 -0
  24. package/browser/src/persisted-ui-state.ts +206 -0
  25. package/browser/src/routed-harness.ts +198 -0
  26. package/browser/src/worker-bootstrap.ts +483 -0
  27. package/browser/src/worker-manager.ts +230 -0
  28. package/browser/src/worker-types.ts +50 -0
  29. package/package.json +89 -0
  30. package/scripts/build-demo-as.sh +91 -0
  31. package/scripts/build.sh +325 -0
  32. package/scripts/generate-host-events.ts +175 -0
  33. package/scripts/generate-host-services.ts +157 -0
  34. package/src/Fui.ts +205 -0
  35. package/src/FuiExports.ts +55 -0
  36. package/src/FuiPrimitives.ts +15 -0
  37. package/src/FuiWorker.ts +3 -0
  38. package/src/FuiWorkerExports.ts +6 -0
  39. package/src/bindings/ui.ts +531 -0
  40. package/src/color.ts +86 -0
  41. package/src/controls/AntiSelectionArea.ts +23 -0
  42. package/src/controls/Button.ts +750 -0
  43. package/src/controls/Checkbox.ts +181 -0
  44. package/src/controls/ContextMenu.ts +885 -0
  45. package/src/controls/ControlTemplateSet.ts +37 -0
  46. package/src/controls/Dialog.ts +355 -0
  47. package/src/controls/Dropdown.ts +856 -0
  48. package/src/controls/Form.ts +110 -0
  49. package/src/controls/NavLink.ts +211 -0
  50. package/src/controls/Popup.ts +129 -0
  51. package/src/controls/ProgressBar.ts +180 -0
  52. package/src/controls/RadioButton.ts +135 -0
  53. package/src/controls/RadioGroup.ts +244 -0
  54. package/src/controls/SelectionArea.ts +75 -0
  55. package/src/controls/Slider.ts +471 -0
  56. package/src/controls/Switch.ts +132 -0
  57. package/src/controls/TextArea.ts +20 -0
  58. package/src/controls/TextInput.ts +7 -0
  59. package/src/controls/index.ts +18 -0
  60. package/src/controls/internal/ButtonPresenter.ts +95 -0
  61. package/src/controls/internal/CheckboxIndicatorPresenter.ts +93 -0
  62. package/src/controls/internal/DropdownChevronPresenter.ts +67 -0
  63. package/src/controls/internal/DropdownFieldPresenter.ts +110 -0
  64. package/src/controls/internal/DropdownOptionRowPresenter.ts +82 -0
  65. package/src/controls/internal/PopupPresenter.ts +198 -0
  66. package/src/controls/internal/PressableIndicatorPresenter.ts +32 -0
  67. package/src/controls/internal/PressableLabeledControl.ts +221 -0
  68. package/src/controls/internal/RadioIndicatorPresenter.ts +73 -0
  69. package/src/controls/internal/SliderPresenter.ts +157 -0
  70. package/src/controls/internal/SwitchIndicatorPresenter.ts +72 -0
  71. package/src/controls/internal/TextInputCore.ts +695 -0
  72. package/src/controls/internal/TextInputPresenter.ts +72 -0
  73. package/src/controls/templating.ts +54 -0
  74. package/src/core/Action.ts +94 -0
  75. package/src/core/Actions.ts +37 -0
  76. package/src/core/Animation.ts +412 -0
  77. package/src/core/Application.ts +328 -0
  78. package/src/core/Assets.ts +264 -0
  79. package/src/core/AttachedProperties.ts +32 -0
  80. package/src/core/Bitmap.ts +70 -0
  81. package/src/core/BoundCallback.ts +104 -0
  82. package/src/core/Callbacks.ts +17 -0
  83. package/src/core/ContextMenuManager.ts +466 -0
  84. package/src/core/DebugApi.ts +30 -0
  85. package/src/core/Disposable.ts +10 -0
  86. package/src/core/DragDropManager.ts +179 -0
  87. package/src/core/DragGesture.ts +184 -0
  88. package/src/core/DynamicAssetIds.ts +24 -0
  89. package/src/core/Errors.ts +48 -0
  90. package/src/core/EventRouter.ts +408 -0
  91. package/src/core/ExternalDropManager.ts +122 -0
  92. package/src/core/Fetch.ts +264 -0
  93. package/src/core/FetchFfi.ts +15 -0
  94. package/src/core/File.ts +1002 -0
  95. package/src/core/FocusAdornerManager.ts +263 -0
  96. package/src/core/FocusVisibility.ts +36 -0
  97. package/src/core/FrameScheduler.ts +28 -0
  98. package/src/core/KeyboardScroll.ts +161 -0
  99. package/src/core/KeyboardScrollTracker.ts +386 -0
  100. package/src/core/Logger.ts +80 -0
  101. package/src/core/Navigation.ts +13 -0
  102. package/src/core/Node.ts +1708 -0
  103. package/src/core/PersistedState.ts +102 -0
  104. package/src/core/PersistedUiState.ts +142 -0
  105. package/src/core/Platform.ts +219 -0
  106. package/src/core/Signal.ts +89 -0
  107. package/src/core/Theme.ts +365 -0
  108. package/src/core/Timers.ts +129 -0
  109. package/src/core/ToolTip.ts +122 -0
  110. package/src/core/ToolTipManager.ts +459 -0
  111. package/src/core/Transitions.ts +34 -0
  112. package/src/core/Typography.ts +204 -0
  113. package/src/core/Worker.ts +196 -0
  114. package/src/core/bind.ts +37 -0
  115. package/src/core/event_exports.ts +596 -0
  116. package/src/core/ffi.ts +728 -0
  117. package/src/host-services/runtime.ts +25 -0
  118. package/src/nodes/FlexBox.ts +789 -0
  119. package/src/nodes/GradientStop.ts +9 -0
  120. package/src/nodes/Grid.ts +183 -0
  121. package/src/nodes/Image.ts +189 -0
  122. package/src/nodes/Portal.ts +14 -0
  123. package/src/nodes/RichText.ts +312 -0
  124. package/src/nodes/ScrollBar.ts +570 -0
  125. package/src/nodes/ScrollBox.ts +415 -0
  126. package/src/nodes/ScrollState.ts +10 -0
  127. package/src/nodes/ScrollView.ts +511 -0
  128. package/src/nodes/Svg.ts +142 -0
  129. package/src/nodes/Text.ts +145 -0
  130. package/src/nodes/TextCore.ts +558 -0
  131. package/src/nodes/VirtualList.ts +431 -0
  132. package/src/nodes/helpers.ts +25 -0
  133. package/src/nodes/index.ts +14 -0
  134. package/src/tsconfig.json +7 -0
  135. package/src/worker/Worker.ts +169 -0
  136. package/src/worker/WorkerJob.ts +65 -0
  137. package/src/worker/ffi.ts +23 -0
@@ -0,0 +1,728 @@
1
+ export enum HandleValue {
2
+ Invalid = 0,
3
+ }
4
+
5
+ export enum NodeType {
6
+ FlexBox = 0,
7
+ Text = 1,
8
+ Image = 2,
9
+ Svg = 3,
10
+ ScrollView = 4,
11
+ Grid = 5,
12
+ }
13
+
14
+ export enum Unit {
15
+ Pixel = 0,
16
+ Auto = 1,
17
+ Percent = 2,
18
+ }
19
+
20
+ export enum GridUnit {
21
+ Pixel = 0,
22
+ Auto = 1,
23
+ Star = 2,
24
+ }
25
+
26
+ export enum PositionType {
27
+ Relative = 0,
28
+ Absolute = 1,
29
+ }
30
+
31
+ export enum Visibility {
32
+ Normal = 0,
33
+ Hidden = 1,
34
+ Collapsed = 2,
35
+ }
36
+
37
+ export enum FlexDirection {
38
+ Column = 0,
39
+ Row = 1,
40
+ }
41
+
42
+ export enum JustifyContent {
43
+ Start = 0,
44
+ Center = 2,
45
+ End = 3,
46
+ }
47
+
48
+ export enum AlignItems {
49
+ Start = 0,
50
+ Center = 2,
51
+ End = 3,
52
+ Stretch = 4,
53
+ }
54
+
55
+ export enum BorderStyle {
56
+ Solid = 0,
57
+ Dashed = 1,
58
+ Dotted = 2,
59
+ }
60
+
61
+ export enum ObjectFit {
62
+ Fill = 0,
63
+ Contain = 1,
64
+ Cover = 2,
65
+ None = 3,
66
+ ScaleDown = 4,
67
+ }
68
+
69
+ export enum TextAlign {
70
+ Left = 0,
71
+ Center = 1,
72
+ Right = 2,
73
+ }
74
+
75
+ export enum TextVerticalAlign {
76
+ Top = 0,
77
+ Center = 1,
78
+ Bottom = 2,
79
+ }
80
+
81
+ export enum TextOverflow {
82
+ Clip = 0,
83
+ Ellipsis = 1,
84
+ Fade = 2,
85
+ }
86
+
87
+ export enum Orientation {
88
+ None = 0,
89
+ Horizontal = 1,
90
+ Vertical = 2,
91
+ }
92
+
93
+ export enum CursorStyle {
94
+ Default = 0,
95
+ Pointer = 1,
96
+ Text = 2,
97
+ Move = 3,
98
+ Grab = 4,
99
+ Grabbing = 5,
100
+ ResizeNS = 6,
101
+ ResizeEW = 7,
102
+ }
103
+
104
+ export enum PointerEventType {
105
+ Down = 1,
106
+ Up = 2,
107
+ Move = 3,
108
+ Enter = 4,
109
+ Leave = 5,
110
+ }
111
+
112
+ export enum KeyEventType {
113
+ Down = 1,
114
+ Up = 2,
115
+ }
116
+
117
+ export enum KeyModifier {
118
+ Shift = 1 << 0,
119
+ Ctrl = 1 << 1,
120
+ Alt = 1 << 2,
121
+ Meta = 1 << 3,
122
+ }
123
+
124
+ export enum SemanticRole {
125
+ None = 0,
126
+ Button = 1,
127
+ Textbox = 2,
128
+ Link = 3,
129
+ Heading = 4,
130
+ Form = 5,
131
+ List = 6,
132
+ ListItem = 7,
133
+ Image = 8,
134
+ Dialog = 9,
135
+ StaticText = 10,
136
+ Checkbox = 11,
137
+ Radio = 12,
138
+ RadioGroup = 13,
139
+ Switch = 14,
140
+ Slider = 15,
141
+ ComboBox = 16,
142
+ }
143
+
144
+ export enum SemanticCheckedState {
145
+ None = 0,
146
+ False = 1,
147
+ True = 2,
148
+ Mixed = 3,
149
+ }
150
+
151
+ @external("effindom_v2_ui", "ui_reset")
152
+ export declare function ui_reset(): void;
153
+
154
+ @external("effindom_v2_ui", "ui_create_node")
155
+ export declare function ui_create_node(type: u32): u64;
156
+
157
+ @external("effindom_v2_ui", "ui_delete_node")
158
+ export declare function ui_delete_node(handle: u64): void;
159
+
160
+ @external("effindom_v2_ui", "ui_set_node_id")
161
+ export declare function ui_set_node_id(handle: u64, ptr: usize, len: u32): void;
162
+
163
+ @external("effindom_v2_ui", "ui_set_semantic_role")
164
+ export declare function ui_set_semantic_role(handle: u64, role: u32): void;
165
+
166
+ @external("effindom_v2_ui", "ui_set_semantic_label")
167
+ export declare function ui_set_semantic_label(handle: u64, ptr: usize, len: u32): void;
168
+
169
+ @external("effindom_v2_ui", "ui_set_semantic_checked")
170
+ export declare function ui_set_semantic_checked(handle: u64, checkedState: u32): void;
171
+
172
+ @external("effindom_v2_ui", "ui_set_semantic_selected")
173
+ export declare function ui_set_semantic_selected(handle: u64, hasSelected: bool, selected: bool): void;
174
+
175
+ @external("effindom_v2_ui", "ui_set_semantic_expanded")
176
+ export declare function ui_set_semantic_expanded(handle: u64, hasExpanded: bool, expanded: bool): void;
177
+
178
+ @external("effindom_v2_ui", "ui_set_semantic_disabled")
179
+ export declare function ui_set_semantic_disabled(handle: u64, hasDisabled: bool, disabled: bool): void;
180
+
181
+ @external("effindom_v2_ui", "ui_set_semantic_value_range")
182
+ export declare function ui_set_semantic_value_range(
183
+ handle: u64,
184
+ hasValueRange: bool,
185
+ valueNow: f32,
186
+ valueMin: f32,
187
+ valueMax: f32,
188
+ ): void;
189
+
190
+ @external("effindom_v2_ui", "ui_set_semantic_orientation")
191
+ export declare function ui_set_semantic_orientation(handle: u64, orientation: u32): void;
192
+
193
+ @external("effindom_v2_ui", "ui_request_semantic_announcement")
194
+ export declare function ui_request_semantic_announcement(handle: u64): void;
195
+
196
+ @external("effindom_v2_ui", "ui_push_semantic_scope")
197
+ export declare function ui_push_semantic_scope(handle: u64): u32;
198
+
199
+ @external("effindom_v2_ui", "ui_remove_semantic_scope")
200
+ export declare function ui_remove_semantic_scope(token: u32): void;
201
+
202
+ @external("effindom_v2_ui", "ui_node_add_child")
203
+ export declare function ui_node_add_child(parent: u64, child: u64): void;
204
+
205
+ @external("effindom_v2_ui", "ui_node_remove_child")
206
+ export declare function ui_node_remove_child(parent: u64, child: u64): void;
207
+
208
+ @external("effindom_v2_ui", "ui_set_is_portal")
209
+ export declare function ui_set_is_portal(handle: u64, flag: bool): void;
210
+
211
+ @external("effindom_v2_ui", "ui_set_visibility")
212
+ export declare function ui_set_visibility(handle: u64, visibility: u32): void;
213
+
214
+ @external("effindom_v2_ui", "ui_set_root")
215
+ export declare function ui_set_root(handle: u64): void;
216
+
217
+ @external("effindom_v2_ui", "ui_set_width")
218
+ export declare function ui_set_width(handle: u64, value: f32, unit: u32): void;
219
+
220
+ @external("effindom_v2_ui", "ui_set_height")
221
+ export declare function ui_set_height(handle: u64, value: f32, unit: u32): void;
222
+
223
+ @external("effindom_v2_ui", "ui_set_flex_direction")
224
+ export declare function ui_set_flex_direction(handle: u64, direction: u32): void;
225
+
226
+ @external("effindom_v2_ui", "ui_set_flex_grow")
227
+ export declare function ui_set_flex_grow(handle: u64, grow: f32): void;
228
+
229
+ @external("effindom_v2_ui", "ui_set_flex_basis")
230
+ export declare function ui_set_flex_basis(handle: u64, basis: f32): void;
231
+
232
+ @external("effindom_v2_ui", "ui_set_justify_content")
233
+ export declare function ui_set_justify_content(handle: u64, justify: u32): void;
234
+
235
+ @external("effindom_v2_ui", "ui_set_align_items")
236
+ export declare function ui_set_align_items(handle: u64, align: u32): void;
237
+
238
+ @external("effindom_v2_ui", "ui_set_padding")
239
+ export declare function ui_set_padding(handle: u64, left: f32, top: f32, right: f32, bottom: f32): void;
240
+
241
+ @external("effindom_v2_ui", "ui_set_margin")
242
+ export declare function ui_set_margin(handle: u64, left: f32, top: f32, right: f32, bottom: f32): void;
243
+
244
+ @external("effindom_v2_ui", "ui_set_position_type")
245
+ export declare function ui_set_position_type(handle: u64, positionType: u32): void;
246
+
247
+ @external("effindom_v2_ui", "ui_set_position")
248
+ export declare function ui_set_position(handle: u64, left: f32, top: f32, right: f32, bottom: f32): void;
249
+
250
+ @external("effindom_v2_ui", "ui_set_is_shared_size_scope")
251
+ export declare function ui_set_is_shared_size_scope(handle: u64, isScope: bool): void;
252
+
253
+ @external("effindom_v2_ui", "ui_grid_set_columns")
254
+ export declare function ui_grid_set_columns(handle: u64, count: u32, valuesPtr: usize, typesPtr: usize): void;
255
+
256
+ @external("effindom_v2_ui", "ui_grid_set_rows")
257
+ export declare function ui_grid_set_rows(handle: u64, count: u32, valuesPtr: usize, typesPtr: usize): void;
258
+
259
+ @external("effindom_v2_ui", "ui_grid_set_column_shared_size_group")
260
+ export declare function ui_grid_set_column_shared_size_group(handle: u64, index: u32, ptr: usize, len: u32): void;
261
+
262
+ @external("effindom_v2_ui", "ui_grid_set_row_shared_size_group")
263
+ export declare function ui_grid_set_row_shared_size_group(handle: u64, index: u32, ptr: usize, len: u32): void;
264
+
265
+ @external("effindom_v2_ui", "ui_node_set_grid_placement")
266
+ export declare function ui_node_set_grid_placement(
267
+ handle: u64,
268
+ row: u32,
269
+ col: u32,
270
+ rowSpan: u32,
271
+ colSpan: u32,
272
+ ): void;
273
+
274
+ @external("effindom_v2_ui", "ui_set_bg_color")
275
+ export declare function ui_set_bg_color(handle: u64, color: u32): void;
276
+
277
+ @external("effindom_v2_ui", "ui_set_box_style")
278
+ export declare function ui_set_box_style(
279
+ handle: u64,
280
+ bgColor: u32,
281
+ topLeftRadius: f32,
282
+ topRightRadius: f32,
283
+ bottomRightRadius: f32,
284
+ bottomLeftRadius: f32,
285
+ borderWidth: f32,
286
+ borderColor: u32,
287
+ borderStyle: u32,
288
+ borderDashOn: f32,
289
+ borderDashOff: f32,
290
+ ): void;
291
+
292
+ @external("effindom_v2_ui", "ui_set_layer_effect")
293
+ export declare function ui_set_layer_effect(handle: u64, opacity: f32, blurSigma: f32, blendMode: u32): void;
294
+
295
+ @external("effindom_v2_ui", "ui_set_drop_shadow")
296
+ export declare function ui_set_drop_shadow(
297
+ handle: u64,
298
+ color: u32,
299
+ offsetX: f32,
300
+ offsetY: f32,
301
+ blurSigma: f32,
302
+ spread: f32,
303
+ ): void;
304
+
305
+ @external("effindom_v2_ui", "ui_set_background_blur")
306
+ export declare function ui_set_background_blur(handle: u64, blurSigma: f32): void;
307
+
308
+ @external("effindom_v2_ui", "ui_set_image")
309
+ export declare function ui_set_image(handle: u64, textureId: u32, objectFit: u32): void;
310
+
311
+ @external("effindom_v2_ui", "ui_set_image_nine")
312
+ export declare function ui_set_image_nine(
313
+ handle: u64,
314
+ textureId: u32,
315
+ insetLeft: f32,
316
+ insetTop: f32,
317
+ insetRight: f32,
318
+ insetBottom: f32,
319
+ ): void;
320
+
321
+ @external("effindom_v2_ui", "ui_set_svg")
322
+ export declare function ui_set_svg(handle: u64, svgId: u32, tintColor: u32): void;
323
+
324
+ @external("effindom_v2_ui", "ui_set_linear_gradient")
325
+ export declare function ui_set_linear_gradient(
326
+ handle: u64,
327
+ startX: f32,
328
+ startY: f32,
329
+ endX: f32,
330
+ endY: f32,
331
+ stopCount: u32,
332
+ ): void;
333
+
334
+ @external("effindom_v2_ui", "ui_push_linear_gradient_stop")
335
+ export declare function ui_push_linear_gradient_stop(handle: u64, offset: f32, color: u32): void;
336
+
337
+ @external("effindom_v2_ui", "ui_set_clip_to_bounds")
338
+ export declare function ui_set_clip_to_bounds(handle: u64, clip: bool): void;
339
+
340
+ @external("effindom_v2_ui", "ui_set_interactive")
341
+ export declare function ui_set_interactive(handle: u64, interactive: bool): void;
342
+
343
+ @external("effindom_v2_ui", "ui_set_scroll_proxy_target")
344
+ export declare function ui_set_scroll_proxy_target(handle: u64, scrollHandle: u64): void;
345
+
346
+ @external("effindom_v2_ui", "ui_set_scroll_enabled")
347
+ export declare function ui_set_scroll_enabled(handle: u64, enabledX: bool, enabledY: bool): void;
348
+
349
+ @external("effindom_v2_ui", "ui_set_show_scrollbars")
350
+ export declare function ui_set_show_scrollbars(handle: u64, showScrollbars: bool): void;
351
+
352
+ @external("effindom_v2_ui", "ui_set_scroll_friction")
353
+ export declare function ui_set_scroll_friction(handle: u64, friction: f32): void;
354
+
355
+ @external("effindom_v2_ui", "ui_set_focusable")
356
+ export declare function ui_set_focusable(handle: u64, focusable: bool, tabIndex: i32): void;
357
+
358
+ @external("effindom_v2_ui", "ui_request_focus")
359
+ export declare function ui_request_focus(handle: u64): void;
360
+
361
+ @external("effindom_v2_ui", "ui_set_text")
362
+ export declare function ui_set_text(handle: u64, ptr: usize, len: u32): void;
363
+
364
+ @external("effindom_v2_ui", "ui_set_text_style_runs")
365
+ export declare function ui_set_text_style_runs(handle: u64, runCount: u32, runsWordsPtr: usize): void;
366
+
367
+ @external("effindom_v2_ui", "ui_set_font")
368
+ export declare function ui_set_font(handle: u64, fontId: u32, size: f32): void;
369
+
370
+ @external("effindom_v2_ui", "ui_set_line_height")
371
+ export declare function ui_set_line_height(handle: u64, lineHeight: f32): void;
372
+
373
+ @external("effindom_v2_ui", "ui_register_font_fallback")
374
+ export declare function ui_register_font_fallback(fontId: u32, fallbackFontId: u32): void;
375
+
376
+ @external("effindom_v2_ui", "ui_set_text_color")
377
+ export declare function ui_set_text_color(handle: u64, color: u32): void;
378
+
379
+ @external("effindom_v2_ui", "ui_set_text_align")
380
+ export declare function ui_set_text_align(handle: u64, align: u32): void;
381
+
382
+ @external("effindom_v2_ui", "ui_set_text_vertical_align")
383
+ export declare function ui_set_text_vertical_align(handle: u64, align: u32): void;
384
+
385
+ @external("effindom_v2_ui", "ui_set_text_limits")
386
+ export declare function ui_set_text_limits(handle: u64, maxChars: i32, maxLines: i32): void;
387
+
388
+ @external("effindom_v2_ui", "ui_set_text_wrapping")
389
+ export declare function ui_set_text_wrapping(handle: u64, wrap: bool): void;
390
+
391
+ @external("effindom_v2_ui", "ui_set_text_overflow")
392
+ export declare function ui_set_text_overflow(handle: u64, overflow: u32): void;
393
+
394
+ @external("effindom_v2_ui", "ui_set_text_overflow_fade")
395
+ export declare function ui_set_text_overflow_fade(handle: u64, horizontal: bool, vertical: bool): void;
396
+
397
+ @external("effindom_v2_ui", "ui_set_text_obscured")
398
+ export declare function ui_set_text_obscured(handle: u64, obscured: bool): void;
399
+
400
+ @external("effindom_v2_ui", "ui_set_editable")
401
+ export declare function ui_set_editable(handle: u64, editable: bool): void;
402
+
403
+ @external("effindom_v2_ui", "ui_set_caret_color")
404
+ export declare function ui_set_caret_color(handle: u64, color: u32): void;
405
+
406
+ @external("effindom_v2_ui", "ui_set_scroll_offset")
407
+ export declare function ui_set_scroll_offset(handle: u64, offsetX: f32, offsetY: f32): void;
408
+
409
+ @external("effindom_v2_ui", "ui_set_scroll_content_size")
410
+ export declare function ui_set_scroll_content_size(handle: u64, contentWidth: f32, contentHeight: f32): void;
411
+
412
+ @external("effindom_v2_ui", "ui_clear_momentum_scroll")
413
+ export declare function ui_clear_momentum_scroll(): void;
414
+
415
+ @external("effindom_v2_ui", "ui_set_selectable")
416
+ export declare function ui_set_selectable(handle: u64, selectable: bool, selectionColor: u32): void;
417
+
418
+ @external("effindom_v2_ui", "ui_set_selection_area")
419
+ export declare function ui_set_selection_area(handle: u64, isArea: bool): void;
420
+
421
+ @external("effindom_v2_ui", "ui_set_selection_area_barrier")
422
+ export declare function ui_set_selection_area_barrier(handle: u64, isBarrier: bool): void;
423
+
424
+ @external("effindom_v2_ui", "ui_clear_selection")
425
+ export declare function ui_clear_selection(handle: u64): void;
426
+
427
+ @external("effindom_v2_ui", "ui_retarget_selection")
428
+ export declare function ui_retarget_selection(fromHandle: u64, toHandle: u64): void;
429
+
430
+ @external("effindom_v2_ui", "ui_is_point_in_selection")
431
+ export declare function ui_is_point_in_selection(x: f32, y: f32): bool;
432
+
433
+ @external("effindom_v2_ui", "ui_set_text_selection_range")
434
+ export declare function ui_set_text_selection_range(handle: u64, selectionStart: u32, selectionEnd: u32): void;
435
+
436
+ @external("effindom_v2_ui", "ui_clear_current_selection")
437
+ export declare function ui_clear_current_selection(): void;
438
+
439
+ @external("effindom_v2_ui", "ui_copy_current_selection")
440
+ export declare function ui_copy_current_selection(): void;
441
+
442
+ @external("effindom_v2_ui", "ui_can_undo_text_edit")
443
+ export declare function ui_can_undo_text_edit(handle: u64): bool;
444
+
445
+ @external("effindom_v2_ui", "ui_can_redo_text_edit")
446
+ export declare function ui_can_redo_text_edit(handle: u64): bool;
447
+
448
+ @external("effindom_v2_ui", "ui_has_text_selection")
449
+ export declare function ui_has_text_selection(handle: u64): bool;
450
+
451
+ @external("effindom_v2_ui", "ui_undo_text_edit")
452
+ export declare function ui_undo_text_edit(handle: u64): void;
453
+
454
+ @external("effindom_v2_ui", "ui_redo_text_edit")
455
+ export declare function ui_redo_text_edit(handle: u64): void;
456
+
457
+ @external("effindom_v2_ui", "ui_copy_text_selection")
458
+ export declare function ui_copy_text_selection(handle: u64): void;
459
+
460
+ @external("effindom_v2_ui", "ui_cut_text_selection")
461
+ export declare function ui_cut_text_selection(handle: u64): void;
462
+
463
+ @external("effindom_v2_ui", "ui_replace_text_range")
464
+ export declare function ui_replace_text_range(
465
+ handle: u64,
466
+ start: u32,
467
+ end: u32,
468
+ ptr: usize,
469
+ len: u32,
470
+ caret: u32,
471
+ ): void;
472
+
473
+ @external("effindom_v2_ui", "ui_paste_text")
474
+ export declare function ui_paste_text(handle: u64): void;
475
+
476
+ @external("effindom_v2_ui", "ui_select_all_text")
477
+ export declare function ui_select_all_text(handle: u64): void;
478
+
479
+ @external("effindom_v2_ui", "ui_commit_frame")
480
+ export declare function ui_commit_frame(): void;
481
+
482
+ @external("effindom_v2_ui", "ui_get_bounds")
483
+ export declare function ui_get_bounds(handle: u64, outX: usize, outY: usize, outWidth: usize, outHeight: usize): bool;
484
+
485
+ @external("effindom_v2_ui", "ui_resize_window")
486
+ export declare function ui_resize_window(width: f32, height: f32): void;
487
+
488
+ @external("fui_host", "request_render")
489
+ export declare function request_render(): void;
490
+
491
+ @external("fui_host", "get_viewport_width")
492
+ export declare function get_viewport_width(): f32;
493
+
494
+ @external("fui_host", "get_viewport_height")
495
+ export declare function get_viewport_height(): f32;
496
+
497
+ @external("fui_host", "fui_set_pointer_capture")
498
+ export declare function fui_set_pointer_capture(handle: u64): void;
499
+
500
+ @external("fui_host", "fui_release_pointer_capture")
501
+ export declare function fui_release_pointer_capture(): void;
502
+
503
+ @external("fui_host", "fui_reload_page")
504
+ export declare function fui_reload_page(): void;
505
+
506
+ @external("fui_host", "fui_can_navigate_back")
507
+ export declare function fui_can_navigate_back(): bool;
508
+
509
+ @external("fui_host", "fui_can_navigate_forward")
510
+ export declare function fui_can_navigate_forward(): bool;
511
+
512
+ @external("fui_host", "fui_navigate_back")
513
+ export declare function fui_navigate_back(): void;
514
+
515
+ @external("fui_host", "fui_navigate_forward")
516
+ export declare function fui_navigate_forward(): void;
517
+
518
+ @external("fui_host", "fui_copy_text")
519
+ export declare function fui_copy_text(ptr: usize, len: u32): void;
520
+
521
+ @external("fui_host", "fui_has_text_selection_snapshot")
522
+ export declare function fui_has_text_selection_snapshot(handle: u64): bool;
523
+
524
+ @external("fui_host", "fui_freeze_text_selection_snapshot")
525
+ export declare function fui_freeze_text_selection_snapshot(handle: u64): void;
526
+
527
+ @external("fui_host", "fui_copy_text_selection_snapshot")
528
+ export declare function fui_copy_text_selection_snapshot(handle: u64): bool;
529
+
530
+ @external("fui_host", "fui_cut_focused_text_selection")
531
+ export declare function fui_cut_focused_text_selection(): bool;
532
+
533
+ @external("fui_host", "fui_cut_text_selection_snapshot")
534
+ export declare function fui_cut_text_selection_snapshot(handle: u64): bool;
535
+
536
+ @external("fui_host", "fui_cut_text_range_snapshot")
537
+ export declare function fui_cut_text_range_snapshot(handle: u64, start: u32, end: u32): bool;
538
+
539
+ @external("fui_host", "fui_delete_focused_text_range")
540
+ export declare function fui_delete_focused_text_range(start: u32, end: u32): bool;
541
+
542
+ @external("fui_host", "fui_commit_text_action_focus")
543
+ export declare function fui_commit_text_action_focus(handle: u64): void;
544
+
545
+ @external("fui_host", "fui_load_svg")
546
+ export declare function fui_load_svg(svgId: u32, ptr: usize, len: u32): void;
547
+
548
+ @external("fui_host", "fui_load_texture")
549
+ export declare function fui_load_texture(textureId: u32, ptr: usize, len: u32): void;
550
+
551
+ @external("fui_host", "fui_release_svg")
552
+ export declare function fui_release_svg(svgId: u32): void;
553
+
554
+ @external("fui_host", "fui_release_texture")
555
+ export declare function fui_release_texture(textureId: u32): void;
556
+
557
+ @external("fui_host", "fui_bitmap_commit")
558
+ export declare function fui_bitmap_commit(textureId: u32, bytesPtr: usize, bytesLen: u32, width: u32, height: u32): void;
559
+
560
+ @external("fui_host", "fui_bitmap_release")
561
+ export declare function fui_bitmap_release(textureId: u32): void;
562
+
563
+ @external("fui_host", "fui_load_font")
564
+ export declare function fui_load_font(fontId: u32, ptr: usize, len: u32): void;
565
+
566
+ @external("fui_host", "fui_start_timer")
567
+ export declare function fui_start_timer(timerId: u32, delayMs: i32): void;
568
+
569
+ @external("fui_host", "fui_cancel_timer")
570
+ export declare function fui_cancel_timer(timerId: u32): void;
571
+
572
+ @external("fui_host", "fui_now_ms")
573
+ export declare function fui_now_ms(): f64;
574
+
575
+ @external("fui_host", "fui_set_cursor")
576
+ export declare function fui_set_cursor(style: u32): void;
577
+
578
+ @external("fui_host", "fui_is_dark_mode")
579
+ export declare function fui_is_dark_mode(): bool;
580
+
581
+ @external("fui_host", "fui_get_accent_color")
582
+ export declare function fui_get_accent_color(): u32;
583
+
584
+ @external("fui_host", "fui_get_platform_family")
585
+ export declare function fui_get_platform_family(): u32;
586
+
587
+ @external("fui_host", "fui_is_coarse_pointer")
588
+ export declare function fui_is_coarse_pointer(): bool;
589
+
590
+ @external("fui_host", "fui_show_url_preview")
591
+ export declare function fui_show_url_preview(ptr: usize, len: u32): void;
592
+
593
+ @external("fui_host", "fui_hide_url_preview")
594
+ export declare function fui_hide_url_preview(): void;
595
+
596
+ @external("fui_host", "fui_navigate_to")
597
+ export declare function fui_navigate_to(ptr: usize, len: u32, openInNewTab: bool): void;
598
+
599
+ @external("fui_host", "fui_set_persisted_scroll_offset")
600
+ export declare function fui_set_persisted_scroll_offset(nodeIdPtr: usize, nodeIdLen: u32, x: f32, y: f32): void;
601
+
602
+ @external("fui_host", "fui_try_get_persisted_scroll_offset")
603
+ export declare function fui_try_get_persisted_scroll_offset(nodeIdPtr: usize, nodeIdLen: u32, outX: usize, outY: usize): bool;
604
+
605
+ @external("fui_host", "fui_set_persisted_state")
606
+ export declare function fui_set_persisted_state(
607
+ nodeIdPtr: usize,
608
+ nodeIdLen: u32,
609
+ kindPtr: usize,
610
+ kindLen: u32,
611
+ version: u32,
612
+ payloadPtr: usize,
613
+ payloadLen: u32,
614
+ ): void;
615
+
616
+ @external("fui_host", "fui_copy_persisted_state")
617
+ export declare function fui_copy_persisted_state(
618
+ nodeIdPtr: usize,
619
+ nodeIdLen: u32,
620
+ kindPtr: usize,
621
+ kindLen: u32,
622
+ outVersionPtr: usize,
623
+ payloadPtr: usize,
624
+ payloadCapacity: u32,
625
+ ): i32;
626
+
627
+ @external("fui_host", "fui_log")
628
+ export declare function fui_log(categoryPtr: usize, catLen: u32, msgPtr: usize, msgLen: u32): void;
629
+
630
+ @external("fui_host", "fui_logs_enabled")
631
+ export declare function fui_logs_enabled(): bool;
632
+
633
+ @external("fui_host", "fui_worker_start_string")
634
+ export declare function fui_worker_start_string(workerId: u32, entryPtr: usize, entryLen: u32, inputPtr: usize, inputLen: u32): void;
635
+
636
+ @external("fui_host", "fui_worker_cancel")
637
+ export declare function fui_worker_cancel(workerId: u32): void;
638
+
639
+ @external("fui_host", "fui_file_capabilities")
640
+ export declare function fui_file_capabilities(): u32;
641
+
642
+ @external("fui_host", "fui_file_pick")
643
+ export declare function fui_file_pick(requestId: u32, acceptPtr: usize, acceptLen: u32, multiple: bool): void;
644
+
645
+ @external("fui_host", "fui_file_read_chunk")
646
+ export declare function fui_file_read_chunk(
647
+ requestId: u32,
648
+ fileIdPtr: usize,
649
+ fileIdLen: u32,
650
+ offsetBytes: u64,
651
+ maxBytes: u32,
652
+ ): void;
653
+
654
+ @external("fui_host", "fui_file_save_text")
655
+ export declare function fui_file_save_text(
656
+ requestId: u32,
657
+ suggestedNamePtr: usize,
658
+ suggestedNameLen: u32,
659
+ mimeTypePtr: usize,
660
+ mimeTypeLen: u32,
661
+ fileExtensionPtr: usize,
662
+ fileExtensionLen: u32,
663
+ textPtr: usize,
664
+ textLen: u32,
665
+ ): void;
666
+
667
+ @external("fui_host", "fui_file_save_bytes")
668
+ export declare function fui_file_save_bytes(
669
+ requestId: u32,
670
+ suggestedNamePtr: usize,
671
+ suggestedNameLen: u32,
672
+ mimeTypePtr: usize,
673
+ mimeTypeLen: u32,
674
+ fileExtensionPtr: usize,
675
+ fileExtensionLen: u32,
676
+ bytesPtr: usize,
677
+ bytesLen: u32,
678
+ ): void;
679
+
680
+ @external("fui_host", "fui_file_create_writer")
681
+ export declare function fui_file_create_writer(
682
+ requestId: u32,
683
+ suggestedNamePtr: usize,
684
+ suggestedNameLen: u32,
685
+ mimeTypePtr: usize,
686
+ mimeTypeLen: u32,
687
+ fileExtensionPtr: usize,
688
+ fileExtensionLen: u32,
689
+ ): void;
690
+
691
+ @external("fui_host", "fui_file_writer_write_text")
692
+ export declare function fui_file_writer_write_text(
693
+ requestId: u32,
694
+ writerIdPtr: usize,
695
+ writerIdLen: u32,
696
+ textPtr: usize,
697
+ textLen: u32,
698
+ ): void;
699
+
700
+ @external("fui_host", "fui_file_writer_write_bytes")
701
+ export declare function fui_file_writer_write_bytes(
702
+ requestId: u32,
703
+ writerIdPtr: usize,
704
+ writerIdLen: u32,
705
+ bytesPtr: usize,
706
+ bytesLen: u32,
707
+ ): void;
708
+
709
+ @external("fui_host", "fui_file_writer_finish")
710
+ export declare function fui_file_writer_finish(
711
+ requestId: u32,
712
+ writerIdPtr: usize,
713
+ writerIdLen: u32,
714
+ ): void;
715
+
716
+ @external("fui_host", "fui_file_process_worker_start")
717
+ export declare function fui_file_process_worker_start(
718
+ requestId: u32,
719
+ fileIdPtr: usize,
720
+ fileIdLen: u32,
721
+ suggestedNamePtr: usize,
722
+ suggestedNameLen: u32,
723
+ chunkBytes: u32,
724
+ saveToPickedFile: bool,
725
+ ): void;
726
+
727
+ @external("fui_host", "fui_file_process_worker_cancel")
728
+ export declare function fui_file_process_worker_cancel(requestId: u32): void;