@effindomv2/fui-as 0.1.37 → 0.1.39

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 (118) hide show
  1. package/browser/routed-app-conventions.ts +1 -1
  2. package/browser/src/common-harness.ts +1 -27
  3. package/browser/src/index.ts +19 -26
  4. package/browser/src/routed-harness.ts +1 -194
  5. package/browser/src/shared-browser.ts +6 -0
  6. package/package.json +23 -13
  7. package/scripts/build.sh +47 -46
  8. package/scripts/framework-host-services.ts +1 -1
  9. package/scripts/generate-host-events.ts +15 -241
  10. package/scripts/generate-host-services.ts +13 -261
  11. package/scripts/hostgen/assemblyscript-host-events.ts +165 -0
  12. package/scripts/hostgen/assemblyscript-host-services.ts +207 -0
  13. package/scripts/hostgen/common.ts +73 -0
  14. package/scripts/hostgen/registry.ts +159 -0
  15. package/src/Fui.ts +65 -5
  16. package/src/FuiExports.ts +12 -1
  17. package/src/bindings/ui.ts +157 -8
  18. package/src/controls/Button.ts +98 -71
  19. package/src/controls/Checkbox.ts +23 -21
  20. package/src/controls/ComboBox.ts +1201 -0
  21. package/src/controls/ContextMenu.ts +279 -165
  22. package/src/controls/Dialog.ts +91 -17
  23. package/src/controls/Dropdown.ts +101 -333
  24. package/src/controls/NavLink.ts +29 -6
  25. package/src/controls/Popup.ts +10 -5
  26. package/src/controls/ProgressBar.ts +1 -2
  27. package/src/controls/RadioButton.ts +34 -13
  28. package/src/controls/RadioGroup.ts +32 -19
  29. package/src/controls/Slider.ts +21 -23
  30. package/src/controls/Switch.ts +34 -17
  31. package/src/controls/index.ts +2 -1
  32. package/src/controls/internal/ButtonPresenter.ts +5 -2
  33. package/src/controls/internal/CheckboxIndicatorPresenter.ts +10 -10
  34. package/src/controls/internal/DropdownChevronPresenter.ts +3 -3
  35. package/src/controls/internal/DropdownFieldPresenter.ts +6 -6
  36. package/src/controls/internal/DropdownOptionRowPresenter.ts +5 -4
  37. package/src/controls/internal/PressableLabeledControl.ts +4 -7
  38. package/src/controls/internal/RadioIndicatorPresenter.ts +7 -7
  39. package/src/controls/internal/SelectablePopupList.ts +463 -0
  40. package/src/controls/internal/SliderPresenter.ts +5 -5
  41. package/src/controls/internal/SwitchIndicatorPresenter.ts +63 -17
  42. package/src/controls/internal/TextInputCore.ts +307 -41
  43. package/src/controls/internal/TextInputPresenter.ts +2 -2
  44. package/src/controls/templating.ts +10 -0
  45. package/src/core/Application.ts +17 -8
  46. package/src/core/Bitmap.ts +192 -3
  47. package/src/core/ContextMenuManager.ts +128 -44
  48. package/src/core/DebugApi.ts +17 -2
  49. package/src/core/DragGesture.ts +8 -7
  50. package/src/core/EventRouter.ts +332 -12
  51. package/src/core/Fetch.ts +15 -7
  52. package/src/core/FetchFfi.ts +1 -15
  53. package/src/core/File.ts +75 -34
  54. package/src/core/FocusAdornerManager.ts +3 -3
  55. package/src/core/FocusVisibility.ts +7 -0
  56. package/src/core/FrameScheduler.ts +104 -5
  57. package/src/core/ImageSampling.ts +43 -0
  58. package/src/core/Logger.ts +2 -0
  59. package/src/core/MobileTextSelectionToolbarManager.ts +901 -0
  60. package/src/core/Node.ts +1039 -97
  61. package/src/core/Platform.ts +16 -16
  62. package/src/core/SelectionHandleAdornerManager.ts +697 -0
  63. package/src/core/Theme.ts +34 -20
  64. package/src/core/ToolTipManager.ts +3 -3
  65. package/src/core/Typography.ts +411 -19
  66. package/src/core/Worker.ts +69 -33
  67. package/src/core/event_exports.ts +123 -5
  68. package/src/core/ffi.ts +5 -865
  69. package/src/core/generated/FetchHostAbi.ts +10 -0
  70. package/src/core/generated/FrameworkHostServices.ts +1 -1
  71. package/src/core/generated/HostAbi.ts +220 -0
  72. package/src/core/generated/UiAbi.ts +356 -0
  73. package/src/core/generated/UiEnums.ts +186 -0
  74. package/src/drawing/DrawCallback.ts +17 -1
  75. package/src/drawing/DrawContext.ts +140 -32
  76. package/src/nodes/CustomDrawable.ts +8 -1
  77. package/src/nodes/FlexBox.ts +40 -11
  78. package/src/nodes/Grid.ts +5 -5
  79. package/src/nodes/Image.ts +20 -1
  80. package/src/nodes/RichText.ts +36 -25
  81. package/src/nodes/ScrollBar.ts +2 -1
  82. package/src/nodes/ScrollBox.ts +7 -2
  83. package/src/nodes/ScrollView.ts +17 -6
  84. package/src/nodes/Svg.ts +18 -1
  85. package/src/nodes/Text.ts +1 -1
  86. package/src/nodes/TextCore.ts +115 -20
  87. package/src/nodes/index.ts +1 -1
  88. package/src/text/DynamicTextLayout.ts +275 -0
  89. package/src/text/TextLayout.ts +308 -0
  90. package/src/worker/Worker.ts +3 -36
  91. package/src/worker/WorkerJob.ts +5 -9
  92. package/src/worker/ffi.ts +0 -6
  93. package/browser/src/common-harness/host-imports.ts +0 -447
  94. package/browser/src/common-harness/interop.ts +0 -39
  95. package/browser/src/common-harness/managed-harness-bitmap-host.ts +0 -92
  96. package/browser/src/common-harness/managed-harness-canvas-host.ts +0 -72
  97. package/browser/src/common-harness/managed-harness-fetch-host.ts +0 -201
  98. package/browser/src/common-harness/managed-harness-file-host.ts +0 -1066
  99. package/browser/src/common-harness/managed-harness-file-payloads.ts +0 -143
  100. package/browser/src/common-harness/managed-harness-file-types.ts +0 -71
  101. package/browser/src/common-harness/managed-harness-session.ts +0 -15
  102. package/browser/src/common-harness/managed-harness.ts +0 -1472
  103. package/browser/src/common-harness/managed-history.ts +0 -168
  104. package/browser/src/common-harness/persisted-restore-policy.ts +0 -50
  105. package/browser/src/common-harness/persisted-ui-state-controller.ts +0 -309
  106. package/browser/src/common-harness/text-session-bridge.ts +0 -452
  107. package/browser/src/common-harness/types.ts +0 -206
  108. package/browser/src/common-harness/ui-chrome.ts +0 -206
  109. package/browser/src/common-harness/ui-imports.ts +0 -559
  110. package/browser/src/common-harness/wasm-module-cache.ts +0 -47
  111. package/browser/src/file-processing-worker.ts +0 -89
  112. package/browser/src/host-events.ts +0 -118
  113. package/browser/src/host-services.ts +0 -483
  114. package/browser/src/persisted-ui-state.ts +0 -206
  115. package/browser/src/routed-app-conventions.ts +0 -292
  116. package/browser/src/worker-bootstrap.ts +0 -916
  117. package/browser/src/worker-manager.ts +0 -234
  118. package/browser/src/worker-types.ts +0 -68
package/src/core/ffi.ts CHANGED
@@ -5,869 +5,9 @@ export {
5
5
  fui_is_dark_mode,
6
6
  fui_now_ms,
7
7
  } from "./generated/FrameworkHostServices";
8
+ export * from "./generated/UiAbi";
9
+ export * from "./generated/HostAbi";
10
+ export * from "./generated/UiEnums";
8
11
 
9
- export enum HandleValue {
10
- Invalid = 0,
11
- }
12
-
13
- export enum NodeType {
14
- FlexBox = 0,
15
- Text = 1,
16
- Image = 2,
17
- Svg = 3,
18
- ScrollView = 4,
19
- Grid = 5,
20
- }
21
-
22
- export enum Unit {
23
- Pixel = 0,
24
- Auto = 1,
25
- Percent = 2,
26
- }
27
-
28
- export enum GridUnit {
29
- Pixel = 0,
30
- Auto = 1,
31
- Star = 2,
32
- }
33
-
34
- export enum PositionType {
35
- Relative = 0,
36
- Absolute = 1,
37
- }
38
-
39
- export enum Visibility {
40
- Normal = 0,
41
- Hidden = 1,
42
- Collapsed = 2,
43
- }
44
-
45
- export enum FlexDirection {
46
- Column = 0,
47
- Row = 1,
48
- }
49
-
50
- export enum FlexWrap {
51
- NoWrap = 0,
52
- Wrap = 1,
53
- WrapReverse = 2,
54
- }
55
-
56
- export enum JustifyContent {
57
- Start = 0,
58
- Center = 2,
59
- End = 3,
60
- }
61
-
62
- export enum AlignItems {
63
- Start = 0,
64
- Center = 2,
65
- End = 3,
66
- Stretch = 4,
67
- None = 5,
68
- }
69
-
70
- export enum AlignSelf {
71
- Auto = 0,
72
- Start = 1,
73
- Center = 2,
74
- End = 3,
75
- Stretch = 4,
76
- }
77
-
78
- export enum BorderStyle {
79
- Solid = 0,
80
- Dashed = 1,
81
- Dotted = 2,
82
- }
83
-
84
- export enum ObjectFit {
85
- Fill = 0,
86
- Contain = 1,
87
- Cover = 2,
88
- None = 3,
89
- ScaleDown = 4,
90
- }
91
-
92
- export enum TextAlign {
93
- Left = 0,
94
- Center = 1,
95
- Right = 2,
96
- }
97
-
98
- export enum TextVerticalAlign {
99
- Top = 0,
100
- Center = 1,
101
- Bottom = 2,
102
- }
103
-
104
- export enum TextOverflow {
105
- Clip = 0,
106
- Ellipsis = 1,
107
- Fade = 2,
108
- }
109
-
110
- export enum Orientation {
111
- None = 0,
112
- Horizontal = 1,
113
- Vertical = 2,
114
- }
115
-
116
- export enum CursorStyle {
117
- Default = 0,
118
- Pointer = 1,
119
- Text = 2,
120
- Move = 3,
121
- Grab = 4,
122
- Grabbing = 5,
123
- ResizeNS = 6,
124
- ResizeEW = 7,
125
- }
126
-
127
- export enum PointerEventType {
128
- Down = 1,
129
- Up = 2,
130
- Move = 3,
131
- Enter = 4,
132
- Leave = 5,
133
- }
134
-
135
- export enum KeyEventType {
136
- Down = 1,
137
- Up = 2,
138
- }
139
-
140
- export enum KeyModifier {
141
- Shift = 1 << 0,
142
- Ctrl = 1 << 1,
143
- Alt = 1 << 2,
144
- Meta = 1 << 3,
145
- }
146
-
147
- export enum SemanticRole {
148
- None = 0,
149
- Button = 1,
150
- Textbox = 2,
151
- Link = 3,
152
- Heading = 4,
153
- Form = 5,
154
- List = 6,
155
- ListItem = 7,
156
- Image = 8,
157
- Dialog = 9,
158
- StaticText = 10,
159
- Checkbox = 11,
160
- Radio = 12,
161
- RadioGroup = 13,
162
- Switch = 14,
163
- Slider = 15,
164
- ComboBox = 16,
165
- }
166
-
167
- export enum SemanticCheckedState {
168
- None = 0,
169
- False = 1,
170
- True = 2,
171
- Mixed = 3,
172
- }
173
-
174
- @external("effindom_v2_ui", "ui_reset")
175
- export declare function ui_reset(): void;
176
-
177
- @external("effindom_v2_ui", "ui_create_node")
178
- export declare function ui_create_node(type: u32): u64;
179
-
180
- @external("effindom_v2_ui", "ui_delete_node")
181
- export declare function ui_delete_node(handle: u64): void;
182
-
183
- @external("effindom_v2_ui", "ui_set_node_id")
184
- export declare function ui_set_node_id(handle: u64, ptr: usize, len: u32): void;
185
-
186
- @external("effindom_v2_ui", "ui_set_semantic_role")
187
- export declare function ui_set_semantic_role(handle: u64, role: u32): void;
188
-
189
- @external("effindom_v2_ui", "ui_set_semantic_label")
190
- export declare function ui_set_semantic_label(handle: u64, ptr: usize, len: u32): void;
191
-
192
- @external("effindom_v2_ui", "ui_set_semantic_checked")
193
- export declare function ui_set_semantic_checked(handle: u64, checkedState: u32): void;
194
-
195
- @external("effindom_v2_ui", "ui_set_semantic_selected")
196
- export declare function ui_set_semantic_selected(handle: u64, hasSelected: bool, selected: bool): void;
197
-
198
- @external("effindom_v2_ui", "ui_set_semantic_expanded")
199
- export declare function ui_set_semantic_expanded(handle: u64, hasExpanded: bool, expanded: bool): void;
200
-
201
- @external("effindom_v2_ui", "ui_set_semantic_disabled")
202
- export declare function ui_set_semantic_disabled(handle: u64, hasDisabled: bool, disabled: bool): void;
203
-
204
- @external("effindom_v2_ui", "ui_set_semantic_value_range")
205
- export declare function ui_set_semantic_value_range(
206
- handle: u64,
207
- hasValueRange: bool,
208
- valueNow: f32,
209
- valueMin: f32,
210
- valueMax: f32,
211
- ): void;
212
-
213
- @external("effindom_v2_ui", "ui_set_semantic_orientation")
214
- export declare function ui_set_semantic_orientation(handle: u64, orientation: u32): void;
215
-
216
- @external("effindom_v2_ui", "ui_request_semantic_announcement")
217
- export declare function ui_request_semantic_announcement(handle: u64): void;
218
-
219
- @external("effindom_v2_ui", "ui_push_semantic_scope")
220
- export declare function ui_push_semantic_scope(handle: u64): u32;
221
-
222
- @external("effindom_v2_ui", "ui_remove_semantic_scope")
223
- export declare function ui_remove_semantic_scope(token: u32): void;
224
-
225
- @external("effindom_v2_ui", "ui_node_add_child")
226
- export declare function ui_node_add_child(parent: u64, child: u64): void;
227
-
228
- @external("effindom_v2_ui", "ui_node_remove_child")
229
- export declare function ui_node_remove_child(parent: u64, child: u64): void;
230
-
231
- @external("effindom_v2_ui", "ui_set_is_portal")
232
- export declare function ui_set_is_portal(handle: u64, flag: bool): void;
233
-
234
- @external("effindom_v2_ui", "ui_set_visibility")
235
- export declare function ui_set_visibility(handle: u64, visibility: u32): void;
236
-
237
- @external("effindom_v2_ui", "ui_set_root")
238
- export declare function ui_set_root(handle: u64): void;
239
-
240
- @external("effindom_v2_ui", "ui_set_width")
241
- export declare function ui_set_width(handle: u64, value: f32, unit: u32): void;
242
-
243
- @external("effindom_v2_ui", "ui_set_height")
244
- export declare function ui_set_height(handle: u64, value: f32, unit: u32): void;
245
-
246
- @external("effindom_v2_ui", "ui_set_fill_width")
247
- export declare function ui_set_fill_width(handle: u64, fill: bool): void;
248
-
249
- @external("effindom_v2_ui", "ui_set_fill_height")
250
- export declare function ui_set_fill_height(handle: u64, fill: bool): void;
251
-
252
- @external("effindom_v2_ui", "ui_set_fill_width_percent")
253
- export declare function ui_set_fill_width_percent(handle: u64, percent: f32): void;
254
-
255
- @external("effindom_v2_ui", "ui_set_fill_height_percent")
256
- export declare function ui_set_fill_height_percent(handle: u64, percent: f32): void;
257
-
258
- @external("effindom_v2_ui", "ui_set_min_width")
259
- export declare function ui_set_min_width(handle: u64, value: f32, unit: u32): void;
260
-
261
- @external("effindom_v2_ui", "ui_set_max_width")
262
- export declare function ui_set_max_width(handle: u64, value: f32, unit: u32): void;
263
-
264
- @external("effindom_v2_ui", "ui_set_min_height")
265
- export declare function ui_set_min_height(handle: u64, value: f32, unit: u32): void;
266
-
267
- @external("effindom_v2_ui", "ui_set_max_height")
268
- export declare function ui_set_max_height(handle: u64, value: f32, unit: u32): void;
269
-
270
- @external("effindom_v2_ui", "ui_set_flex_direction")
271
- export declare function ui_set_flex_direction(handle: u64, direction: u32): void;
272
-
273
- @external("effindom_v2_ui", "ui_set_flex_basis")
274
- export declare function ui_set_flex_basis(handle: u64, basis: f32): void;
275
-
276
- @external("effindom_v2_ui", "ui_set_justify_content")
277
- export declare function ui_set_justify_content(handle: u64, justify: u32): void;
278
-
279
- @external("effindom_v2_ui", "ui_set_align_items")
280
- export declare function ui_set_align_items(handle: u64, align: u32): void;
281
-
282
- @external("effindom_v2_ui", "ui_set_align_self")
283
- export declare function ui_set_align_self(handle: u64, align: u32): void;
284
-
285
- @external("effindom_v2_ui", "ui_set_padding")
286
- export declare function ui_set_padding(handle: u64, left: f32, top: f32, right: f32, bottom: f32): void;
287
-
288
- @external("effindom_v2_ui", "ui_set_margin")
289
- export declare function ui_set_margin(handle: u64, left: f32, top: f32, right: f32, bottom: f32): void;
290
-
291
- @external("effindom_v2_ui", "ui_set_position_type")
292
- export declare function ui_set_position_type(handle: u64, positionType: u32): void;
293
-
294
- @external("effindom_v2_ui", "ui_set_position")
295
- export declare function ui_set_position(handle: u64, left: f32, top: f32, right: f32, bottom: f32): void;
296
-
297
- @external("effindom_v2_ui", "ui_set_is_shared_size_scope")
298
- export declare function ui_set_is_shared_size_scope(handle: u64, isScope: bool): void;
299
-
300
- @external("effindom_v2_ui", "ui_set_custom_drawable")
301
- export declare function ui_set_custom_drawable(handle: u64, flag: bool): void;
302
-
303
- @external("effindom_v2_ui", "ui_set_flex_wrap")
304
- export declare function ui_set_flex_wrap(handle: u64, wrap: u32): void;
305
-
306
- @external("effindom_v2_ui", "ui_grid_set_columns")
307
- export declare function ui_grid_set_columns(handle: u64, count: u32, valuesPtr: usize, typesPtr: usize): void;
308
-
309
- @external("effindom_v2_ui", "ui_grid_set_rows")
310
- export declare function ui_grid_set_rows(handle: u64, count: u32, valuesPtr: usize, typesPtr: usize): void;
311
-
312
- @external("effindom_v2_ui", "ui_grid_set_column_shared_size_group")
313
- export declare function ui_grid_set_column_shared_size_group(handle: u64, index: u32, ptr: usize, len: u32): void;
314
-
315
- @external("effindom_v2_ui", "ui_grid_set_row_shared_size_group")
316
- export declare function ui_grid_set_row_shared_size_group(handle: u64, index: u32, ptr: usize, len: u32): void;
317
-
318
- @external("effindom_v2_ui", "ui_node_set_grid_placement")
319
- export declare function ui_node_set_grid_placement(
320
- handle: u64,
321
- row: u32,
322
- col: u32,
323
- rowSpan: u32,
324
- colSpan: u32,
325
- ): void;
326
-
327
- @external("effindom_v2_ui", "ui_set_bg_color")
328
- export declare function ui_set_bg_color(handle: u64, color: u32): void;
329
-
330
- @external("effindom_v2_ui", "ui_set_box_style")
331
- export declare function ui_set_box_style(
332
- handle: u64,
333
- bgColor: u32,
334
- topLeftRadius: f32,
335
- topRightRadius: f32,
336
- bottomRightRadius: f32,
337
- bottomLeftRadius: f32,
338
- borderWidth: f32,
339
- borderColor: u32,
340
- borderStyle: u32,
341
- borderDashOn: f32,
342
- borderDashOff: f32,
343
- ): void;
344
-
345
- @external("effindom_v2_ui", "ui_set_layer_effect")
346
- export declare function ui_set_layer_effect(handle: u64, opacity: f32, blurSigma: f32, blendMode: u32): void;
347
-
348
- @external("effindom_v2_ui", "ui_set_drop_shadow")
349
- export declare function ui_set_drop_shadow(
350
- handle: u64,
351
- color: u32,
352
- offsetX: f32,
353
- offsetY: f32,
354
- blurSigma: f32,
355
- spread: f32,
356
- ): void;
357
-
358
- @external("effindom_v2_ui", "ui_set_background_blur")
359
- export declare function ui_set_background_blur(handle: u64, blurSigma: f32): void;
360
-
361
- @external("effindom_v2_ui", "ui_set_image")
362
- export declare function ui_set_image(handle: u64, textureId: u32, objectFit: u32): void;
363
-
364
- @external("effindom_v2_ui", "ui_set_image_nine")
365
- export declare function ui_set_image_nine(
366
- handle: u64,
367
- textureId: u32,
368
- insetLeft: f32,
369
- insetTop: f32,
370
- insetRight: f32,
371
- insetBottom: f32,
372
- ): void;
373
-
374
- @external("effindom_v2_ui", "ui_set_svg")
375
- export declare function ui_set_svg(handle: u64, svgId: u32, tintColor: u32): void;
376
-
377
- @external("effindom_v2_ui", "ui_set_linear_gradient")
378
- export declare function ui_set_linear_gradient(
379
- handle: u64,
380
- startX: f32,
381
- startY: f32,
382
- endX: f32,
383
- endY: f32,
384
- stopCount: u32,
385
- ): void;
386
-
387
- @external("effindom_v2_ui", "ui_push_linear_gradient_stop")
388
- export declare function ui_push_linear_gradient_stop(handle: u64, offset: f32, color: u32): void;
389
-
390
- @external("effindom_v2_ui", "ui_set_clip_to_bounds")
391
- export declare function ui_set_clip_to_bounds(handle: u64, clip: bool): void;
392
-
393
- @external("effindom_v2_ui", "ui_set_interactive")
394
- export declare function ui_set_interactive(handle: u64, interactive: bool): void;
395
-
396
- @external("effindom_v2_ui", "ui_set_scroll_proxy_target")
397
- export declare function ui_set_scroll_proxy_target(handle: u64, scrollHandle: u64): void;
398
-
399
- @external("effindom_v2_ui", "ui_set_scroll_enabled")
400
- export declare function ui_set_scroll_enabled(handle: u64, enabledX: bool, enabledY: bool): void;
401
-
402
- @external("effindom_v2_ui", "ui_set_show_scrollbars")
403
- export declare function ui_set_show_scrollbars(handle: u64, showScrollbars: bool): void;
404
-
405
- @external("effindom_v2_ui", "ui_set_scroll_friction")
406
- export declare function ui_set_scroll_friction(handle: u64, friction: f32): void;
407
-
408
- @external("effindom_v2_ui", "ui_set_focusable")
409
- export declare function ui_set_focusable(handle: u64, focusable: bool, tabIndex: i32): void;
410
-
411
- @external("effindom_v2_ui", "ui_request_focus")
412
- export declare function ui_request_focus(handle: u64): void;
413
-
414
- @external("effindom_v2_ui", "ui_set_text")
415
- export declare function ui_set_text(handle: u64, ptr: usize, len: u32): void;
416
-
417
- @external("effindom_v2_ui", "ui_set_text_style_runs")
418
- export declare function ui_set_text_style_runs(handle: u64, runCount: u32, runsWordsPtr: usize): void;
419
-
420
- @external("effindom_v2_ui", "ui_set_font")
421
- export declare function ui_set_font(handle: u64, fontId: u32, size: f32): void;
422
-
423
- @external("effindom_v2_ui", "ui_set_line_height")
424
- export declare function ui_set_line_height(handle: u64, lineHeight: f32): void;
425
-
426
- @external("effindom_v2_ui", "ui_register_font_fallback")
427
- export declare function ui_register_font_fallback(fontId: u32, fallbackFontId: u32): void;
428
-
429
- @external("effindom_v2_ui", "ui_set_text_color")
430
- export declare function ui_set_text_color(handle: u64, color: u32): void;
431
-
432
- @external("effindom_v2_ui", "ui_set_text_align")
433
- export declare function ui_set_text_align(handle: u64, align: u32): void;
434
-
435
- @external("effindom_v2_ui", "ui_set_text_vertical_align")
436
- export declare function ui_set_text_vertical_align(handle: u64, align: u32): void;
437
-
438
- @external("effindom_v2_ui", "ui_set_text_limits")
439
- export declare function ui_set_text_limits(handle: u64, maxChars: i32, maxLines: i32): void;
440
-
441
- @external("effindom_v2_ui", "ui_set_text_wrapping")
442
- export declare function ui_set_text_wrapping(handle: u64, wrap: bool): void;
443
-
444
- @external("effindom_v2_ui", "ui_set_text_overflow")
445
- export declare function ui_set_text_overflow(handle: u64, overflow: u32): void;
446
-
447
- @external("effindom_v2_ui", "ui_set_text_overflow_fade")
448
- export declare function ui_set_text_overflow_fade(handle: u64, horizontal: bool, vertical: bool): void;
449
-
450
- @external("effindom_v2_ui", "ui_set_text_obscured")
451
- export declare function ui_set_text_obscured(handle: u64, obscured: bool): void;
452
-
453
- @external("effindom_v2_ui", "ui_set_editable")
454
- export declare function ui_set_editable(handle: u64, editable: bool): void;
455
-
456
- @external("effindom_v2_ui", "ui_set_caret_color")
457
- export declare function ui_set_caret_color(handle: u64, color: u32): void;
458
-
459
- @external("effindom_v2_ui", "ui_set_scroll_offset")
460
- export declare function ui_set_scroll_offset(handle: u64, offsetX: f32, offsetY: f32): void;
461
-
462
- @external("effindom_v2_ui", "ui_set_scroll_content_size")
463
- export declare function ui_set_scroll_content_size(handle: u64, contentWidth: f32, contentHeight: f32): void;
464
-
465
- @external("effindom_v2_ui", "ui_clear_momentum_scroll")
466
- export declare function ui_clear_momentum_scroll(): void;
467
-
468
- @external("effindom_v2_ui", "ui_set_selectable")
469
- export declare function ui_set_selectable(handle: u64, selectable: bool, selectionColor: u32): void;
470
-
471
- @external("effindom_v2_ui", "ui_set_selection_area")
472
- export declare function ui_set_selection_area(handle: u64, isArea: bool): void;
473
-
474
- @external("effindom_v2_ui", "ui_set_selection_area_barrier")
475
- export declare function ui_set_selection_area_barrier(handle: u64, isBarrier: bool): void;
476
-
477
- @external("effindom_v2_ui", "ui_clear_selection")
478
- export declare function ui_clear_selection(handle: u64): void;
479
-
480
- @external("effindom_v2_ui", "ui_retarget_selection")
481
- export declare function ui_retarget_selection(fromHandle: u64, toHandle: u64): void;
482
-
483
- @external("effindom_v2_ui", "ui_is_point_in_selection")
484
- export declare function ui_is_point_in_selection(x: f32, y: f32): bool;
485
-
486
- @external("effindom_v2_ui", "ui_set_text_selection_range")
487
- export declare function ui_set_text_selection_range(handle: u64, selectionStart: u32, selectionEnd: u32): void;
488
-
489
- @external("effindom_v2_ui", "ui_clear_current_selection")
490
- export declare function ui_clear_current_selection(): void;
491
-
492
- @external("effindom_v2_ui", "ui_copy_current_selection")
493
- export declare function ui_copy_current_selection(): void;
494
-
495
- @external("effindom_v2_ui", "ui_can_undo_text_edit")
496
- export declare function ui_can_undo_text_edit(handle: u64): bool;
497
-
498
- @external("effindom_v2_ui", "ui_can_redo_text_edit")
499
- export declare function ui_can_redo_text_edit(handle: u64): bool;
500
-
501
- @external("effindom_v2_ui", "ui_has_text_selection")
502
- export declare function ui_has_text_selection(handle: u64): bool;
503
-
504
- @external("effindom_v2_ui", "ui_undo_text_edit")
505
- export declare function ui_undo_text_edit(handle: u64): void;
506
-
507
- @external("effindom_v2_ui", "ui_redo_text_edit")
508
- export declare function ui_redo_text_edit(handle: u64): void;
509
-
510
- @external("effindom_v2_ui", "ui_copy_text_selection")
511
- export declare function ui_copy_text_selection(handle: u64): void;
512
-
513
- @external("effindom_v2_ui", "ui_cut_text_selection")
514
- export declare function ui_cut_text_selection(handle: u64): void;
515
-
516
- @external("effindom_v2_ui", "ui_replace_text_range")
517
- export declare function ui_replace_text_range(
518
- handle: u64,
519
- start: u32,
520
- end: u32,
521
- ptr: usize,
522
- len: u32,
523
- caret: u32,
524
- ): void;
525
-
526
- @external("effindom_v2_ui", "ui_paste_text")
527
- export declare function ui_paste_text(handle: u64): void;
528
-
529
- @external("effindom_v2_ui", "ui_select_all_text")
530
- export declare function ui_select_all_text(handle: u64): void;
531
-
532
- @external("effindom_v2_ui", "ui_commit_frame")
533
- export declare function ui_commit_frame(): void;
534
-
535
- @external("effindom_v2_ui", "ui_get_bounds")
536
- export declare function ui_get_bounds(handle: u64, outX: usize, outY: usize, outWidth: usize, outHeight: usize): bool;
537
-
538
- @external("effindom_v2_ui", "ui_resize_window")
539
- export declare function ui_resize_window(width: f32, height: f32): void;
540
-
541
- @external("fui_host", "request_render")
542
- export declare function request_render(): void;
543
-
544
- @external("fui_host", "get_viewport_width")
545
- export declare function get_viewport_width(): f32;
546
-
547
- @external("fui_host", "get_viewport_height")
548
- export declare function get_viewport_height(): f32;
549
-
550
- @external("fui_host", "fui_set_pointer_capture")
551
- export declare function fui_set_pointer_capture(handle: u64): void;
552
-
553
- @external("fui_host", "fui_release_pointer_capture")
554
- export declare function fui_release_pointer_capture(): void;
555
-
556
- @external("fui_host", "fui_reload_page")
557
- export declare function fui_reload_page(): void;
558
-
559
- @external("fui_host", "fui_can_navigate_back")
560
- export declare function fui_can_navigate_back(): bool;
561
-
562
- @external("fui_host", "fui_can_navigate_forward")
563
- export declare function fui_can_navigate_forward(): bool;
564
-
565
- @external("fui_host", "fui_navigate_back")
566
- export declare function fui_navigate_back(): void;
567
-
568
- @external("fui_host", "fui_navigate_forward")
569
- export declare function fui_navigate_forward(): void;
570
-
571
- @external("fui_host", "fui_copy_text")
572
- export declare function fui_copy_text(ptr: usize, len: u32): void;
573
-
574
- @external("fui_host", "fui_has_text_selection_snapshot")
575
- export declare function fui_has_text_selection_snapshot(handle: u64): bool;
576
-
577
- @external("fui_host", "fui_freeze_text_selection_snapshot")
578
- export declare function fui_freeze_text_selection_snapshot(handle: u64): void;
579
-
580
- @external("fui_host", "fui_copy_text_selection_snapshot")
581
- export declare function fui_copy_text_selection_snapshot(handle: u64): bool;
582
-
583
- @external("fui_host", "fui_cut_focused_text_selection")
584
- export declare function fui_cut_focused_text_selection(): bool;
585
-
586
- @external("fui_host", "fui_cut_text_selection_snapshot")
587
- export declare function fui_cut_text_selection_snapshot(handle: u64): bool;
588
-
589
- @external("fui_host", "fui_cut_text_range_snapshot")
590
- export declare function fui_cut_text_range_snapshot(handle: u64, start: u32, end: u32): bool;
591
-
592
- @external("fui_host", "fui_delete_focused_text_range")
593
- export declare function fui_delete_focused_text_range(start: u32, end: u32): bool;
594
-
595
- @external("fui_host", "fui_commit_text_action_focus")
596
- export declare function fui_commit_text_action_focus(handle: u64): void;
597
-
598
- @external("fui_host", "fui_load_svg")
599
- export declare function fui_load_svg(svgId: u32, ptr: usize, len: u32): void;
600
-
601
- @external("fui_host", "fui_load_texture")
602
- export declare function fui_load_texture(textureId: u32, ptr: usize, len: u32): void;
603
-
604
- @external("fui_host", "fui_release_svg")
605
- export declare function fui_release_svg(svgId: u32): void;
606
-
607
- @external("fui_host", "fui_release_texture")
608
- export declare function fui_release_texture(textureId: u32): void;
609
-
610
- @external("fui_host", "fui_bitmap_commit")
611
- export declare function fui_bitmap_commit(textureId: u32, bytesPtr: usize, bytesLen: u32, width: u32, height: u32): void;
612
-
613
- @external("fui_host", "fui_bitmap_release")
614
- export declare function fui_bitmap_release(textureId: u32): void;
615
-
616
- @external("fui_host", "fui_load_font")
617
- export declare function fui_load_font(fontId: u32, ptr: usize, len: u32): void;
618
-
619
- @external("fui_host", "fui_start_timer")
620
- export declare function fui_start_timer(timerId: u32, delayMs: i32): void;
621
-
622
- @external("fui_host", "fui_cancel_timer")
623
- export declare function fui_cancel_timer(timerId: u32): void;
624
-
625
- @external("fui_host", "fui_set_cursor")
626
- export declare function fui_set_cursor(style: u32): void;
627
-
628
- @external("fui_host", "fui_show_url_preview")
629
- export declare function fui_show_url_preview(ptr: usize, len: u32): void;
630
-
631
- @external("fui_host", "fui_hide_url_preview")
632
- export declare function fui_hide_url_preview(): void;
633
-
634
- @external("fui_host", "fui_navigate_to")
635
- export declare function fui_navigate_to(ptr: usize, len: u32, openInNewTab: bool): void;
636
-
637
- @external("fui_host", "fui_set_persisted_scroll_offset")
638
- export declare function fui_set_persisted_scroll_offset(nodeIdPtr: usize, nodeIdLen: u32, x: f32, y: f32): void;
639
-
640
- @external("fui_host", "fui_try_get_persisted_scroll_offset")
641
- export declare function fui_try_get_persisted_scroll_offset(nodeIdPtr: usize, nodeIdLen: u32, outX: usize, outY: usize): bool;
642
-
643
- @external("fui_host", "fui_set_persisted_state")
644
- export declare function fui_set_persisted_state(
645
- nodeIdPtr: usize,
646
- nodeIdLen: u32,
647
- kindPtr: usize,
648
- kindLen: u32,
649
- version: u32,
650
- payloadPtr: usize,
651
- payloadLen: u32,
652
- ): void;
653
-
654
- @external("fui_host", "fui_copy_persisted_state")
655
- export declare function fui_copy_persisted_state(
656
- nodeIdPtr: usize,
657
- nodeIdLen: u32,
658
- kindPtr: usize,
659
- kindLen: u32,
660
- outVersionPtr: usize,
661
- payloadPtr: usize,
662
- payloadCapacity: u32,
663
- ): i32;
664
-
665
- @external("fui_host", "fui_log")
666
- export declare function fui_log(categoryPtr: usize, catLen: u32, msgPtr: usize, msgLen: u32): void;
667
-
668
- @external("fui_host", "fui_logs_enabled")
669
- export declare function fui_logs_enabled(): bool;
670
-
671
- @external("fui_host", "fui_worker_start_string")
672
- export declare function fui_worker_start_string(workerId: u32, entryPtr: usize, entryLen: u32, inputPtr: usize, inputLen: u32): void;
673
-
674
- @external("fui_host", "fui_worker_cancel")
675
- export declare function fui_worker_cancel(workerId: u32): void;
676
-
677
- @external("fui_host", "fui_file_capabilities")
678
- export declare function fui_file_capabilities(): u32;
679
-
680
- @external("fui_host", "fui_file_pick")
681
- export declare function fui_file_pick(requestId: u32, acceptPtr: usize, acceptLen: u32, multiple: bool): void;
682
-
683
- @external("fui_host", "fui_file_read_chunk")
684
- export declare function fui_file_read_chunk(
685
- requestId: u32,
686
- fileIdPtr: usize,
687
- fileIdLen: u32,
688
- offsetBytes: u64,
689
- maxBytes: u32,
690
- ): void;
691
-
692
- @external("fui_host", "fui_file_save_text")
693
- export declare function fui_file_save_text(
694
- requestId: u32,
695
- suggestedNamePtr: usize,
696
- suggestedNameLen: u32,
697
- mimeTypePtr: usize,
698
- mimeTypeLen: u32,
699
- fileExtensionPtr: usize,
700
- fileExtensionLen: u32,
701
- textPtr: usize,
702
- textLen: u32,
703
- ): void;
704
-
705
- @external("fui_host", "fui_file_save_bytes")
706
- export declare function fui_file_save_bytes(
707
- requestId: u32,
708
- suggestedNamePtr: usize,
709
- suggestedNameLen: u32,
710
- mimeTypePtr: usize,
711
- mimeTypeLen: u32,
712
- fileExtensionPtr: usize,
713
- fileExtensionLen: u32,
714
- bytesPtr: usize,
715
- bytesLen: u32,
716
- ): void;
717
-
718
- @external("fui_host", "fui_file_create_writer")
719
- export declare function fui_file_create_writer(
720
- requestId: u32,
721
- suggestedNamePtr: usize,
722
- suggestedNameLen: u32,
723
- mimeTypePtr: usize,
724
- mimeTypeLen: u32,
725
- fileExtensionPtr: usize,
726
- fileExtensionLen: u32,
727
- ): void;
728
-
729
- @external("fui_host", "fui_file_writer_write_text")
730
- export declare function fui_file_writer_write_text(
731
- requestId: u32,
732
- writerIdPtr: usize,
733
- writerIdLen: u32,
734
- textPtr: usize,
735
- textLen: u32,
736
- ): void;
737
-
738
- @external("fui_host", "fui_file_writer_write_bytes")
739
- export declare function fui_file_writer_write_bytes(
740
- requestId: u32,
741
- writerIdPtr: usize,
742
- writerIdLen: u32,
743
- bytesPtr: usize,
744
- bytesLen: u32,
745
- ): void;
746
-
747
- @external("fui_host", "fui_file_writer_finish")
748
- export declare function fui_file_writer_finish(
749
- requestId: u32,
750
- writerIdPtr: usize,
751
- writerIdLen: u32,
752
- ): void;
753
-
754
- @external("fui_host", "fui_file_process_worker_start")
755
- export declare function fui_file_process_worker_start(
756
- requestId: u32,
757
- fileIdPtr: usize,
758
- fileIdLen: u32,
759
- suggestedNamePtr: usize,
760
- suggestedNameLen: u32,
761
- chunkBytes: u32,
762
- saveToPickedFile: bool,
763
- ): void;
764
-
765
- @external("fui_host", "fui_file_process_worker_cancel")
766
- export declare function fui_file_process_worker_cancel(requestId: u32): void;
767
-
768
- /* ── Immediate-mode canvas drawing ───────────────────────── */
769
-
770
- @external("fui_host", "fui_canvas_save")
771
- export declare function fui_canvas_save(canvasPtr: usize): void;
772
-
773
- @external("fui_host", "fui_canvas_restore")
774
- export declare function fui_canvas_restore(canvasPtr: usize): void;
775
-
776
- @external("fui_host", "fui_canvas_translate")
777
- export declare function fui_canvas_translate(canvasPtr: usize, x: f32, y: f32): void;
778
-
779
- @external("fui_host", "fui_canvas_scale")
780
- export declare function fui_canvas_scale(canvasPtr: usize, sx: f32, sy: f32): void;
781
-
782
- @external("fui_host", "fui_canvas_rotate")
783
- export declare function fui_canvas_rotate(canvasPtr: usize, degrees: f32): void;
784
-
785
- @external("fui_host", "fui_canvas_clip_rect")
786
- export declare function fui_canvas_clip_rect(canvasPtr: usize, x: f32, y: f32, w: f32, h: f32): void;
787
-
788
- @external("fui_host", "fui_canvas_draw_rect")
789
- export declare function fui_canvas_draw_rect(
790
- canvasPtr: usize, x: f32, y: f32, w: f32, h: f32,
791
- fillColor: u32, strokeColor: u32, strokeWidth: f32,
792
- ): void;
793
-
794
- @external("fui_host", "fui_canvas_draw_circle")
795
- export declare function fui_canvas_draw_circle(
796
- canvasPtr: usize, cx: f32, cy: f32, radius: f32,
797
- fillColor: u32, strokeColor: u32, strokeWidth: f32,
798
- ): void;
799
-
800
- @external("fui_host", "fui_canvas_draw_line")
801
- export declare function fui_canvas_draw_line(
802
- canvasPtr: usize, x1: f32, y1: f32, x2: f32, y2: f32,
803
- color: u32, strokeWidth: f32,
804
- ): void;
805
-
806
- @external("fui_host", "fui_canvas_draw_round_rect")
807
- export declare function fui_canvas_draw_round_rect(
808
- canvasPtr: usize, x: f32, y: f32, w: f32, h: f32,
809
- rx: f32, ry: f32, fillColor: u32, strokeColor: u32, strokeWidth: f32,
810
- ): void;
811
-
812
- @external("fui_host", "fui_path_create")
813
- export declare function fui_path_create(): u32;
814
-
815
- @external("fui_host", "fui_path_destroy")
816
- export declare function fui_path_destroy(pathId: u32): void;
817
-
818
- @external("fui_host", "fui_path_move_to")
819
- export declare function fui_path_move_to(pathId: u32, x: f32, y: f32): void;
820
-
821
- @external("fui_host", "fui_path_line_to")
822
- export declare function fui_path_line_to(pathId: u32, x: f32, y: f32): void;
823
-
824
- @external("fui_host", "fui_path_quad_to")
825
- export declare function fui_path_quad_to(pathId: u32, cx: f32, cy: f32, x: f32, y: f32): void;
826
-
827
- @external("fui_host", "fui_path_cubic_to")
828
- export declare function fui_path_cubic_to(
829
- pathId: u32, cx1: f32, cy1: f32, cx2: f32, cy2: f32, x: f32, y: f32,
830
- ): void;
831
-
832
- @external("fui_host", "fui_path_close")
833
- export declare function fui_path_close(pathId: u32): void;
834
-
835
- @external("fui_host", "fui_path_add_rect")
836
- export declare function fui_path_add_rect(pathId: u32, x: f32, y: f32, w: f32, h: f32): void;
837
-
838
- @external("fui_host", "fui_path_add_circle")
839
- export declare function fui_path_add_circle(pathId: u32, cx: f32, cy: f32, r: f32): void;
840
-
841
- @external("fui_host", "fui_canvas_draw_path")
842
- export declare function fui_canvas_draw_path(
843
- canvasPtr: usize, pathId: u32,
844
- fillColor: u32, strokeColor: u32, strokeWidth: f32,
845
- ): void;
846
-
847
- @external("fui_host", "fui_canvas_draw_text")
848
- export declare function fui_canvas_draw_text(
849
- canvasPtr: usize, utf8Ptr: usize, utf8Len: u32, x: f32, y: f32,
850
- fontId: u32, fontSize: f32, color: u32,
851
- ): void;
852
-
853
- @external("fui_host", "fui_canvas_draw_image")
854
- export declare function fui_canvas_draw_image(
855
- canvasPtr: usize, textureId: u32, x: f32, y: f32, w: f32, h: f32,
856
- ): void;
857
-
858
- @external("fui_host", "fui_canvas_draw_svg")
859
- export declare function fui_canvas_draw_svg(
860
- canvasPtr: usize, svgId: u32, x: f32, y: f32, w: f32, h: f32,
861
- ): void;
862
-
863
- @external("fui_host", "fui_canvas_create_offscreen")
864
- export declare function fui_canvas_create_offscreen(width: u32, height: u32): u32;
865
-
866
- @external("fui_host", "fui_canvas_get_offscreen_ptr")
867
- export declare function fui_canvas_get_offscreen_ptr(offscreenId: u32): usize;
868
-
869
- @external("fui_host", "fui_canvas_read_offscreen_pixels")
870
- export declare function fui_canvas_read_offscreen_pixels(offscreenId: u32, outPtr: usize, width: u32, height: u32): void;
871
-
872
- @external("fui_host", "fui_canvas_destroy_offscreen")
873
- export declare function fui_canvas_destroy_offscreen(offscreenId: u32): void;
12
+ @external("fui_host", "fui_register_text_input_metadata")
13
+ export declare function fui_register_text_input_metadata(handle: u64, isPassword: bool, hintPtr: usize, hintLen: u32): void;