float-pigment 0.2.0

A collection of major float-pigment crates.
Documentation
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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
// Copyright 2024 wechat-miniprogram. MIT license.
#pragma once

/* Warning, this file is autogenerated by cbindgen. Don't modify this manually. */

#include <cstdarg>
#include <cstddef>
#include <cstdint>
#include <cstdlib>
#include <ostream>
#include <new>


namespace float_pigment {


enum class MeasureMode {
  Undefined,
  Exactly,
  AtMost,
};

struct NodePtr {
  void *ptr;
};

using Baseline = float;

using Width = float;

using Height = float;

using BaselineFunc = Baseline(*)(NodePtr, Width, Height);

using DirtyCallback = void(*)(NodePtr);

struct Size {
  float width;
  float height;
};

using MeasureMaxWidth = float;

using MeasureMaxHeight = float;

using MeasureMinWidth = float;

using MeasureMinHeight = float;

using MeasureMaxContentWidth = float;

using MeasureMaxContentHeight = float;

using MeasureFunc = Size(*)(NodePtr,
                            MeasureMaxWidth,
                            MeasureMode,
                            MeasureMaxHeight,
                            MeasureMode,
                            MeasureMinWidth,
                            MeasureMinHeight,
                            MeasureMaxContentWidth,
                            MeasureMaxContentHeight);

using CalcHandle = int32_t;

using ResolveCalc = float(*)(CalcHandle, float);


extern "C" {

void FreeString(const char *str);

void NodeAppendChild(NodePtr node, NodePtr child);

void NodeCalculateDryLayout(NodePtr node,
                            float available_width,
                            float available_height,
                            float viewport_width,
                            float viewport_height);

void NodeCalculateDryLayoutWithContainingSize(NodePtr node,
                                              float available_width,
                                              float available_height,
                                              float viewport_width,
                                              float viewport_height,
                                              float containing_width,
                                              float containing_height);

void NodeCalculateLayout(NodePtr node,
                         float available_width,
                         float available_height,
                         float viewport_width,
                         float viewport_height);

void NodeCalculateLayoutWithContainingSize(NodePtr node,
                                           float available_width,
                                           float available_height,
                                           float viewport_width,
                                           float viewport_height,
                                           float containing_width,
                                           float containing_height);

void NodeClearDirtyCallback(NodePtr node);

void NodeClearMeasureCache(NodePtr node);

void NodeClearMeasureFunc(NodePtr node);

void NodeFree(NodePtr node);

NodePtr NodeGetChild(NodePtr node, size_t index);

size_t NodeGetChildCount(NodePtr node);

void *NodeGetExternalHost(NodePtr node);

NodePtr NodeGetParent(NodePtr node);

void NodeHasMeasureFunc(NodePtr node);

void NodeInsertBefore(NodePtr node, NodePtr child, NodePtr pivot);

void NodeInsertChild(NodePtr node, NodePtr child, size_t index);

bool NodeIsDirty(NodePtr node);

float NodeLayoutGetBorderBottom(NodePtr node);

float NodeLayoutGetBorderLeft(NodePtr node);

float NodeLayoutGetBorderRight(NodePtr node);

float NodeLayoutGetBorderTop(NodePtr node);

float NodeLayoutGetBottom(NodePtr node);

float NodeLayoutGetHeight(NodePtr node);

float NodeLayoutGetLeft(NodePtr node);

float NodeLayoutGetMarginBottom(NodePtr node);

float NodeLayoutGetMarginLeft(NodePtr node);

float NodeLayoutGetMarginRight(NodePtr node);

float NodeLayoutGetMarginTop(NodePtr node);

float NodeLayoutGetPaddingBottom(NodePtr node);

float NodeLayoutGetPaddingLeft(NodePtr node);

float NodeLayoutGetPaddingRight(NodePtr node);

float NodeLayoutGetPaddingTop(NodePtr node);

float NodeLayoutGetRight(NodePtr node);

float NodeLayoutGetTop(NodePtr node);

float NodeLayoutGetWidth(NodePtr node);

void NodeMarkDirty(NodePtr node);

void NodeMarkDirtyAndPropagateToDescendants(NodePtr node);

NodePtr NodeNew();

void NodeRemoveAllChildren(NodePtr node);

void NodeRemoveChild(NodePtr node, NodePtr child);

void NodeSetAsText(NodePtr node);

void NodeSetBaselineFunc(NodePtr node, BaselineFunc baseline_func);

void NodeSetDirtyCallback(NodePtr node, DirtyCallback dirty_cb);

void NodeSetExternalHost(NodePtr node, void *external_host);

void NodeSetMeasureFunc(NodePtr node, MeasureFunc measure_func);

void NodeSetResolveCalc(NodePtr node, ResolveCalc resolve_calc);

FlexDirectionType NodeStyleGetFlexDirection(NodePtr node);

void NodeStyleSetAlignContent(NodePtr node, AlignContentType value);

void NodeStyleSetAlignItems(NodePtr node, AlignItemsType value);

void NodeStyleSetAlignSelf(NodePtr node, AlignSelfType value);

void NodeStyleSetAspectRatio(NodePtr node, float x, float y);

void NodeStyleSetAspectRatioAuto(NodePtr node);

void NodeStyleSetBorderBottom(NodePtr node, float value);

void NodeStyleSetBorderBottomAuto(NodePtr node);

void NodeStyleSetBorderBottomCalcHandle(NodePtr node, int32_t calc_handle);

void NodeStyleSetBorderBottomNone(NodePtr node);

void NodeStyleSetBorderBottomPercentage(NodePtr node, float value);

void NodeStyleSetBorderLeft(NodePtr node, float value);

void NodeStyleSetBorderLeftAuto(NodePtr node);

void NodeStyleSetBorderLeftCalcHandle(NodePtr node, int32_t calc_handle);

void NodeStyleSetBorderLeftNone(NodePtr node);

void NodeStyleSetBorderLeftPercentage(NodePtr node, float value);

void NodeStyleSetBorderRight(NodePtr node, float value);

void NodeStyleSetBorderRightAuto(NodePtr node);

void NodeStyleSetBorderRightCalcHandle(NodePtr node, int32_t calc_handle);

void NodeStyleSetBorderRightNone(NodePtr node);

void NodeStyleSetBorderRightPercentage(NodePtr node, float value);

void NodeStyleSetBorderTop(NodePtr node, float value);

void NodeStyleSetBorderTopAuto(NodePtr node);

void NodeStyleSetBorderTopCalcHandle(NodePtr node, int32_t calc_handle);

void NodeStyleSetBorderTopNone(NodePtr node);

void NodeStyleSetBorderTopPercentage(NodePtr node, float value);

void NodeStyleSetBottom(NodePtr node, float value);

void NodeStyleSetBottomAuto(NodePtr node);

void NodeStyleSetBottomCalcHandle(NodePtr node, int32_t calc_handle);

void NodeStyleSetBottomNone(NodePtr node);

void NodeStyleSetBottomPercentage(NodePtr node, float value);

void NodeStyleSetBoxSizing(NodePtr node, BoxSizingType value);

void NodeStyleSetColumnGap(NodePtr node, float value);

void NodeStyleSetColumnGapCalcHandle(NodePtr node, int32_t calc_handle);

void NodeStyleSetColumnGapNormal(NodePtr node);

void NodeStyleSetColumnGapPercentage(NodePtr node, float value);

void NodeStyleSetDisplay(NodePtr node, DisplayType value);

void NodeStyleSetFlexBasis(NodePtr node, float value);

void NodeStyleSetFlexBasisAuto(NodePtr node);

void NodeStyleSetFlexBasisCalcHandle(NodePtr node, int32_t calc_handle);

void NodeStyleSetFlexBasisNone(NodePtr node);

void NodeStyleSetFlexBasisPercentage(NodePtr node, float value);

void NodeStyleSetFlexDirection(NodePtr node, FlexDirectionType value);

void NodeStyleSetFlexGrow(NodePtr node, float value);

void NodeStyleSetFlexShrink(NodePtr node, float value);

void NodeStyleSetFlexWrap(NodePtr node, FlexWrapType value);

void NodeStyleSetHeight(NodePtr node, float value);

void NodeStyleSetHeightAuto(NodePtr node);

void NodeStyleSetHeightCalcHandle(NodePtr node, int32_t calc_handle);

void NodeStyleSetHeightNone(NodePtr node);

void NodeStyleSetHeightPercentage(NodePtr node, float value);

void NodeStyleSetJustifyContent(NodePtr node, JustifyContentType value);

void NodeStyleSetLeft(NodePtr node, float value);

void NodeStyleSetLeftAuto(NodePtr node);

void NodeStyleSetLeftCalcHandle(NodePtr node, int32_t calc_handle);

void NodeStyleSetLeftNone(NodePtr node);

void NodeStyleSetLeftPercentage(NodePtr node, float value);

void NodeStyleSetMarginBottom(NodePtr node, float value);

void NodeStyleSetMarginBottomAuto(NodePtr node);

void NodeStyleSetMarginBottomCalcHandle(NodePtr node, int32_t calc_handle);

void NodeStyleSetMarginBottomNone(NodePtr node);

void NodeStyleSetMarginBottomPercentage(NodePtr node, float value);

void NodeStyleSetMarginLeft(NodePtr node, float value);

void NodeStyleSetMarginLeftAuto(NodePtr node);

void NodeStyleSetMarginLeftCalcHandle(NodePtr node, int32_t calc_handle);

void NodeStyleSetMarginLeftNone(NodePtr node);

void NodeStyleSetMarginLeftPercentage(NodePtr node, float value);

void NodeStyleSetMarginRight(NodePtr node, float value);

void NodeStyleSetMarginRightAuto(NodePtr node);

void NodeStyleSetMarginRightCalcHandle(NodePtr node, int32_t calc_handle);

void NodeStyleSetMarginRightNone(NodePtr node);

void NodeStyleSetMarginRightPercentage(NodePtr node, float value);

void NodeStyleSetMarginTop(NodePtr node, float value);

void NodeStyleSetMarginTopAuto(NodePtr node);

void NodeStyleSetMarginTopCalcHandle(NodePtr node, int32_t calc_handle);

void NodeStyleSetMarginTopNone(NodePtr node);

void NodeStyleSetMarginTopPercentage(NodePtr node, float value);

void NodeStyleSetMaxHeight(NodePtr node, float value);

void NodeStyleSetMaxHeightAuto(NodePtr node);

void NodeStyleSetMaxHeightCalcHandle(NodePtr node, int32_t calc_handle);

void NodeStyleSetMaxHeightNone(NodePtr node);

void NodeStyleSetMaxHeightPercentage(NodePtr node, float value);

void NodeStyleSetMaxWidth(NodePtr node, float value);

void NodeStyleSetMaxWidthAuto(NodePtr node);

void NodeStyleSetMaxWidthCalcHandle(NodePtr node, int32_t calc_handle);

void NodeStyleSetMaxWidthNone(NodePtr node);

void NodeStyleSetMaxWidthPercentage(NodePtr node, float value);

void NodeStyleSetMinHeight(NodePtr node, float value);

void NodeStyleSetMinHeightAuto(NodePtr node);

void NodeStyleSetMinHeightCalcHandle(NodePtr node, int32_t calc_handle);

void NodeStyleSetMinHeightNone(NodePtr node);

void NodeStyleSetMinHeightPercentage(NodePtr node, float value);

void NodeStyleSetMinWidth(NodePtr node, float value);

void NodeStyleSetMinWidthAuto(NodePtr node);

void NodeStyleSetMinWidthCalcHandle(NodePtr node, int32_t calc_handle);

void NodeStyleSetMinWidthNone(NodePtr node);

void NodeStyleSetMinWidthPercentage(NodePtr node, float value);

void NodeStyleSetOrder(NodePtr node, int32_t value);

void NodeStyleSetOverflowX(NodePtr node, OverflowType value);

void NodeStyleSetOverflowY(NodePtr node, OverflowType value);

void NodeStyleSetPaddingBottom(NodePtr node, float value);

void NodeStyleSetPaddingBottomAuto(NodePtr node);

void NodeStyleSetPaddingBottomCalcHandle(NodePtr node, int32_t calc_handle);

void NodeStyleSetPaddingBottomNone(NodePtr node);

void NodeStyleSetPaddingBottomPercentage(NodePtr node, float value);

void NodeStyleSetPaddingLeft(NodePtr node, float value);

void NodeStyleSetPaddingLeftAuto(NodePtr node);

void NodeStyleSetPaddingLeftCalcHandle(NodePtr node, int32_t calc_handle);

void NodeStyleSetPaddingLeftNone(NodePtr node);

void NodeStyleSetPaddingLeftPercentage(NodePtr node, float value);

void NodeStyleSetPaddingRight(NodePtr node, float value);

void NodeStyleSetPaddingRightAuto(NodePtr node);

void NodeStyleSetPaddingRightCalcHandle(NodePtr node, int32_t calc_handle);

void NodeStyleSetPaddingRightNone(NodePtr node);

void NodeStyleSetPaddingRightPercentage(NodePtr node, float value);

void NodeStyleSetPaddingTop(NodePtr node, float value);

void NodeStyleSetPaddingTopAuto(NodePtr node);

void NodeStyleSetPaddingTopCalcHandle(NodePtr node, int32_t calc_handle);

void NodeStyleSetPaddingTopNone(NodePtr node);

void NodeStyleSetPaddingTopPercentage(NodePtr node, float value);

void NodeStyleSetPosition(NodePtr node, PositionType value);

void NodeStyleSetRight(NodePtr node, float value);

void NodeStyleSetRightAuto(NodePtr node);

void NodeStyleSetRightCalcHandle(NodePtr node, int32_t calc_handle);

void NodeStyleSetRightNone(NodePtr node);

void NodeStyleSetRightPercentage(NodePtr node, float value);

void NodeStyleSetRowGap(NodePtr node, float value);

void NodeStyleSetRowGapCalcHandle(NodePtr node, int32_t calc_handle);

void NodeStyleSetRowGapNormal(NodePtr node);

void NodeStyleSetRowGapPercentage(NodePtr node, float value);

void NodeStyleSetTextAlign(NodePtr node, TextAlignType value);

void NodeStyleSetTop(NodePtr node, float value);

void NodeStyleSetTopAuto(NodePtr node);

void NodeStyleSetTopCalcHandle(NodePtr node, int32_t calc_handle);

void NodeStyleSetTopNone(NodePtr node);

void NodeStyleSetTopPercentage(NodePtr node, float value);

void NodeStyleSetWidth(NodePtr node, float value);

void NodeStyleSetWidthAuto(NodePtr node);

void NodeStyleSetWidthCalcHandle(NodePtr node, int32_t calc_handle);

void NodeStyleSetWidthNone(NodePtr node);

void NodeStyleSetWidthPercentage(NodePtr node, float value);

void NodeStyleSetWritingMode(NodePtr node, WritingModeType value);

const char *NodeToString(NodePtr node, bool recursive, bool layout, bool style);

}  // extern "C"

}  // namespace float_pigment