@@ -178,6 +178,10 @@ struct AzStyleFontFamilyVec;
178
178
typedef struct AzStyleFontFamilyVec AzStyleFontFamilyVec;
179
179
typedef void (*AzStyleFontFamilyVecDestructorType)(AzStyleFontFamilyVec* restrict A);
180
180
181
+ struct AzLogicalRectVec;
182
+ typedef struct AzLogicalRectVec AzLogicalRectVec;
183
+ typedef void (*AzLogicalRectVecDestructorType)(AzLogicalRectVec* restrict A);
184
+
181
185
struct AzNodeTypeIdInfoMapVec;
182
186
typedef struct AzNodeTypeIdInfoMapVec AzNodeTypeIdInfoMapVec;
183
187
typedef void (*AzNodeTypeIdInfoMapVecDestructorType)(AzNodeTypeIdInfoMapVec* restrict A);
@@ -2170,6 +2174,26 @@ union AzStyleFontFamilyVecDestructor {
2170
2174
};
2171
2175
typedef union AzStyleFontFamilyVecDestructor AzStyleFontFamilyVecDestructor;
2172
2176
2177
+ enum AzLogicalRectVecDestructorTag {
2178
+ AzLogicalRectVecDestructorTag_DefaultRust,
2179
+ AzLogicalRectVecDestructorTag_NoDestructor,
2180
+ AzLogicalRectVecDestructorTag_External,
2181
+ };
2182
+ typedef enum AzLogicalRectVecDestructorTag AzLogicalRectVecDestructorTag;
2183
+
2184
+ struct AzLogicalRectVecDestructorVariant_DefaultRust { AzLogicalRectVecDestructorTag tag; };
2185
+ typedef struct AzLogicalRectVecDestructorVariant_DefaultRust AzLogicalRectVecDestructorVariant_DefaultRust;
2186
+ struct AzLogicalRectVecDestructorVariant_NoDestructor { AzLogicalRectVecDestructorTag tag; };
2187
+ typedef struct AzLogicalRectVecDestructorVariant_NoDestructor AzLogicalRectVecDestructorVariant_NoDestructor;
2188
+ struct AzLogicalRectVecDestructorVariant_External { AzLogicalRectVecDestructorTag tag; AzLogicalRectVecDestructorType payload; };
2189
+ typedef struct AzLogicalRectVecDestructorVariant_External AzLogicalRectVecDestructorVariant_External;
2190
+ union AzLogicalRectVecDestructor {
2191
+ AzLogicalRectVecDestructorVariant_DefaultRust DefaultRust;
2192
+ AzLogicalRectVecDestructorVariant_NoDestructor NoDestructor;
2193
+ AzLogicalRectVecDestructorVariant_External External;
2194
+ };
2195
+ typedef union AzLogicalRectVecDestructor AzLogicalRectVecDestructor;
2196
+
2173
2197
enum AzNodeTypeIdInfoMapVecDestructorTag {
2174
2198
AzNodeTypeIdInfoMapVecDestructorTag_DefaultRust,
2175
2199
AzNodeTypeIdInfoMapVecDestructorTag_NoDestructor,
@@ -6260,6 +6284,14 @@ struct AzThreadWriteBackMsg {
6260
6284
};
6261
6285
typedef struct AzThreadWriteBackMsg AzThreadWriteBackMsg;
6262
6286
6287
+ struct AzLogicalRectVec {
6288
+ AzLogicalRect* ptr;
6289
+ size_t len;
6290
+ size_t cap;
6291
+ AzLogicalRectVecDestructor destructor;
6292
+ };
6293
+ typedef struct AzLogicalRectVec AzLogicalRectVec;
6294
+
6263
6295
struct AzInputOutputTypeIdVec {
6264
6296
AzInputOutputTypeId* ptr;
6265
6297
size_t len;
@@ -7452,6 +7484,18 @@ struct AzInlineTextContents {
7452
7484
};
7453
7485
typedef struct AzInlineTextContents AzInlineTextContents;
7454
7486
7487
+ struct AzResolvedTextLayoutOptions {
7488
+ float font_size_px;
7489
+ AzOptionF32 line_height;
7490
+ AzOptionF32 letter_spacing;
7491
+ AzOptionF32 word_spacing;
7492
+ AzOptionF32 tab_width;
7493
+ AzOptionF32 max_horizontal_width;
7494
+ AzOptionF32 leading;
7495
+ AzLogicalRectVec holes;
7496
+ };
7497
+ typedef struct AzResolvedTextLayoutOptions AzResolvedTextLayoutOptions;
7498
+
7455
7499
enum AzAnimationEasingTag {
7456
7500
AzAnimationEasingTag_Ease,
7457
7501
AzAnimationEasingTag_Linear,
@@ -8081,6 +8125,22 @@ struct AzTagIdToNodeIdMappingVec {
8081
8125
};
8082
8126
typedef struct AzTagIdToNodeIdMappingVec AzTagIdToNodeIdMappingVec;
8083
8127
8128
+ enum AzOptionResolvedTextLayoutOptionsTag {
8129
+ AzOptionResolvedTextLayoutOptionsTag_None,
8130
+ AzOptionResolvedTextLayoutOptionsTag_Some,
8131
+ };
8132
+ typedef enum AzOptionResolvedTextLayoutOptionsTag AzOptionResolvedTextLayoutOptionsTag;
8133
+
8134
+ struct AzOptionResolvedTextLayoutOptionsVariant_None { AzOptionResolvedTextLayoutOptionsTag tag; };
8135
+ typedef struct AzOptionResolvedTextLayoutOptionsVariant_None AzOptionResolvedTextLayoutOptionsVariant_None;
8136
+ struct AzOptionResolvedTextLayoutOptionsVariant_Some { AzOptionResolvedTextLayoutOptionsTag tag; AzResolvedTextLayoutOptions payload; };
8137
+ typedef struct AzOptionResolvedTextLayoutOptionsVariant_Some AzOptionResolvedTextLayoutOptionsVariant_Some;
8138
+ union AzOptionResolvedTextLayoutOptions {
8139
+ AzOptionResolvedTextLayoutOptionsVariant_None None;
8140
+ AzOptionResolvedTextLayoutOptionsVariant_Some Some;
8141
+ };
8142
+ typedef union AzOptionResolvedTextLayoutOptions AzOptionResolvedTextLayoutOptions;
8143
+
8084
8144
enum AzOptionVirtualKeyCodeComboTag {
8085
8145
AzOptionVirtualKeyCodeComboTag_None,
8086
8146
AzOptionVirtualKeyCodeComboTag_Some,
@@ -10343,6 +10403,9 @@ typedef struct AzCss AzCss;
10343
10403
#define AzStyleFontFamilyVecDestructor_DefaultRust { .DefaultRust = { .tag = AzStyleFontFamilyVecDestructorTag_DefaultRust } }
10344
10404
#define AzStyleFontFamilyVecDestructor_NoDestructor { .NoDestructor = { .tag = AzStyleFontFamilyVecDestructorTag_NoDestructor } }
10345
10405
#define AzStyleFontFamilyVecDestructor_External(v) { .External = { .tag = AzStyleFontFamilyVecDestructorTag_External, .payload = v } }
10406
+ #define AzLogicalRectVecDestructor_DefaultRust { .DefaultRust = { .tag = AzLogicalRectVecDestructorTag_DefaultRust } }
10407
+ #define AzLogicalRectVecDestructor_NoDestructor { .NoDestructor = { .tag = AzLogicalRectVecDestructorTag_NoDestructor } }
10408
+ #define AzLogicalRectVecDestructor_External(v) { .External = { .tag = AzLogicalRectVecDestructorTag_External, .payload = v } }
10346
10409
#define AzNodeTypeIdInfoMapVecDestructor_DefaultRust { .DefaultRust = { .tag = AzNodeTypeIdInfoMapVecDestructorTag_DefaultRust } }
10347
10410
#define AzNodeTypeIdInfoMapVecDestructor_NoDestructor { .NoDestructor = { .tag = AzNodeTypeIdInfoMapVecDestructorTag_NoDestructor } }
10348
10411
#define AzNodeTypeIdInfoMapVecDestructor_External(v) { .External = { .tag = AzNodeTypeIdInfoMapVecDestructorTag_External, .payload = v } }
@@ -11067,6 +11130,8 @@ typedef struct AzCss AzCss;
11067
11130
#define AzInstant_Tick(v) { .Tick = { .tag = AzInstantTag_Tick, .payload = v } }
11068
11131
#define AzThreadReceiveMsg_WriteBack(v) { .WriteBack = { .tag = AzThreadReceiveMsgTag_WriteBack, .payload = v } }
11069
11132
#define AzThreadReceiveMsg_Update(v) { .Update = { .tag = AzThreadReceiveMsgTag_Update, .payload = v } }
11133
+ #define AzOptionResolvedTextLayoutOptions_None { .None = { .tag = AzOptionResolvedTextLayoutOptionsTag_None } }
11134
+ #define AzOptionResolvedTextLayoutOptions_Some(v) { .Some = { .tag = AzOptionResolvedTextLayoutOptionsTag_Some, .payload = v } }
11070
11135
#define AzOptionVirtualKeyCodeCombo_None { .None = { .tag = AzOptionVirtualKeyCodeComboTag_None } }
11071
11136
#define AzOptionVirtualKeyCodeCombo_Some(v) { .Some = { .tag = AzOptionVirtualKeyCodeComboTag_Some, .payload = v } }
11072
11137
#define AzOptionMouseState_None { .None = { .tag = AzOptionMouseStateTag_None } }
@@ -11321,6 +11386,10 @@ typedef struct AzCss AzCss;
11321
11386
#define AzResultSvgXmlNodeSvgParseError_Err(v) { .Err = { .tag = AzResultSvgXmlNodeSvgParseErrorTag_Err, .payload = v } }
11322
11387
#define AzResultSvgSvgParseError_Ok(v) { .Ok = { .tag = AzResultSvgSvgParseErrorTag_Ok, .payload = v } }
11323
11388
#define AzResultSvgSvgParseError_Err(v) { .Err = { .tag = AzResultSvgSvgParseErrorTag_Err, .payload = v } }
11389
+ AzLogicalRect AzLogicalRectVecArray[] = {};
11390
+ #define AzLogicalRectVec_fromConstArray(v) { .ptr = &v, .len = sizeof(v) / sizeof(AzLogicalRect), .cap = sizeof(v) / sizeof(AzLogicalRect), .destructor = { .NoDestructor = { .tag = AzLogicalRectVecDestructorTag_NoDestructor, }, }, }
11391
+ #define AzLogicalRectVec_empty { .ptr = &AzLogicalRectVecArray, .len = 0, .cap = 0, .destructor = { .NoDestructor = { .tag = AzLogicalRectVecDestructorTag_NoDestructor, }, }, }
11392
+
11324
11393
AzNodeTypeIdInfoMap AzNodeTypeIdInfoMapVecArray[] = {};
11325
11394
#define AzNodeTypeIdInfoMapVec_fromConstArray(v) { .ptr = &v, .len = sizeof(v) / sizeof(AzNodeTypeIdInfoMap), .cap = sizeof(v) / sizeof(AzNodeTypeIdInfoMap), .destructor = { .NoDestructor = { .tag = AzNodeTypeIdInfoMapVecDestructorTag_NoDestructor, }, }, }
11326
11395
#define AzNodeTypeIdInfoMapVec_empty { .ptr = &AzNodeTypeIdInfoMapVecArray, .len = 0, .cap = 0, .destructor = { .NoDestructor = { .tag = AzNodeTypeIdInfoMapVecDestructorTag_NoDestructor, }, }, }
@@ -11616,6 +11685,7 @@ extern DLLIMPORT AzOptionDomNodeId AzCallbackInfo_getNodeIdOfRootDataset(AzCallb
11616
11685
extern DLLIMPORT AzOptionString AzCallbackInfo_getStringContents(const AzCallbackInfo* callbackinfo, AzDomNodeId node_id);
11617
11686
extern DLLIMPORT AzOptionInlineText AzCallbackInfo_getInlineText(const AzCallbackInfo* callbackinfo, AzDomNodeId node_id);
11618
11687
extern DLLIMPORT AzOptionFontRef AzCallbackInfo_getFontRef(const AzCallbackInfo* callbackinfo, AzDomNodeId node_id);
11688
+ extern DLLIMPORT AzOptionResolvedTextLayoutOptions AzCallbackInfo_getTextLayoutOptions(const AzCallbackInfo* callbackinfo, AzDomNodeId node_id);
11619
11689
extern DLLIMPORT AzOptionInlineText AzCallbackInfo_shapeText(const AzCallbackInfo* callbackinfo, AzDomNodeId node_id, AzString text);
11620
11690
extern DLLIMPORT size_t AzCallbackInfo_getIndexInParent(AzCallbackInfo* restrict callbackinfo, AzDomNodeId node_id);
11621
11691
extern DLLIMPORT AzOptionDomNodeId AzCallbackInfo_getParent(AzCallbackInfo* restrict callbackinfo, AzDomNodeId node_id);
@@ -11656,6 +11726,7 @@ extern DLLIMPORT void AzInlineWord_delete(AzInlineWord* restrict instance);
11656
11726
extern DLLIMPORT void AzInlineTextContents_delete(AzInlineTextContents* restrict instance);
11657
11727
extern DLLIMPORT void AzFocusTarget_delete(AzFocusTarget* restrict instance);
11658
11728
extern DLLIMPORT void AzFocusTargetPath_delete(AzFocusTargetPath* restrict instance);
11729
+ extern DLLIMPORT void AzResolvedTextLayoutOptions_delete(AzResolvedTextLayoutOptions* restrict instance);
11659
11730
extern DLLIMPORT void AzAnimation_delete(AzAnimation* restrict instance);
11660
11731
extern DLLIMPORT void AzIFrameCallbackReturn_delete(AzIFrameCallbackReturn* restrict instance);
11661
11732
extern DLLIMPORT AzOptionGl AzRenderImageCallbackInfo_getGlContext(const AzRenderImageCallbackInfo* renderimagecallbackinfo);
@@ -12212,6 +12283,7 @@ extern DLLIMPORT void AzRawImageData_delete(AzRawImageData* restrict instance);
12212
12283
extern DLLIMPORT void AzFontSource_delete(AzFontSource* restrict instance);
12213
12284
extern DLLIMPORT AzFontRef AzFontRef_parse(AzFontSource source);
12214
12285
extern DLLIMPORT AzFontMetrics AzFontRef_getFontMetrics(const AzFontRef* fontref);
12286
+ extern DLLIMPORT AzInlineText AzFontRef_shapeText(const AzFontRef* fontref, AzRefstr text, AzResolvedTextLayoutOptions options);
12215
12287
extern DLLIMPORT void AzFontRef_delete(AzFontRef* restrict instance);
12216
12288
extern DLLIMPORT AzFontRef AzFontRef_deepCopy(AzFontRef* const instance);
12217
12289
extern DLLIMPORT AzSvg AzSvg_fromString(AzString svg_string, AzSvgParseOptions parse_options);
@@ -12307,6 +12379,7 @@ extern DLLIMPORT AzString AzString_copyFromBytes(uint8_t ptr, size_t start, size
12307
12379
extern DLLIMPORT AzString AzString_trim(const AzString* string);
12308
12380
extern DLLIMPORT AzRefstr AzString_asRefstr(const AzString* string);
12309
12381
extern DLLIMPORT void AzString_delete(AzString* restrict instance);
12382
+ extern DLLIMPORT void AzLogicalRectVec_delete(AzLogicalRectVec* restrict instance);
12310
12383
extern DLLIMPORT void AzNodeTypeIdInfoMapVec_delete(AzNodeTypeIdInfoMapVec* restrict instance);
12311
12384
extern DLLIMPORT void AzInputOutputTypeIdInfoMapVec_delete(AzInputOutputTypeIdInfoMapVec* restrict instance);
12312
12385
extern DLLIMPORT void AzNodeIdNodeMapVec_delete(AzNodeIdNodeMapVec* restrict instance);
@@ -12372,6 +12445,7 @@ extern DLLIMPORT void AzStyledNodeVec_delete(AzStyledNodeVec* restrict instance)
12372
12445
extern DLLIMPORT void AzTagIdToNodeIdMappingVec_delete(AzTagIdToNodeIdMappingVec* restrict instance);
12373
12446
extern DLLIMPORT void AzParentWithNodeDepthVec_delete(AzParentWithNodeDepthVec* restrict instance);
12374
12447
extern DLLIMPORT void AzNodeDataVec_delete(AzNodeDataVec* restrict instance);
12448
+ extern DLLIMPORT void AzOptionResolvedTextLayoutOptions_delete(AzOptionResolvedTextLayoutOptions* restrict instance);
12375
12449
extern DLLIMPORT void AzOptionNodeGraphOnNodeAdded_delete(AzOptionNodeGraphOnNodeAdded* restrict instance);
12376
12450
extern DLLIMPORT void AzOptionNodeGraphOnNodeRemoved_delete(AzOptionNodeGraphOnNodeRemoved* restrict instance);
12377
12451
extern DLLIMPORT void AzOptionNodeGraphOnNodeGraphDragged_delete(AzOptionNodeGraphOnNodeGraphDragged* restrict instance);
@@ -17680,6 +17754,20 @@ bool AzStyleFontFamilyVecDestructor_matchMutExternal(AzStyleFontFamilyVecDestruc
17680
17754
return valid;
17681
17755
}
17682
17756
17757
+ bool AzLogicalRectVecDestructor_matchRefExternal(const AzLogicalRectVecDestructor* value, const AzLogicalRectVecDestructorType** restrict out) {
17758
+ const AzLogicalRectVecDestructorVariant_External* casted = (const AzLogicalRectVecDestructorVariant_External*)value;
17759
+ bool valid = casted->tag == AzLogicalRectVecDestructorTag_External;
17760
+ if (valid) { *out = &casted->payload; } else { *out = 0; }
17761
+ return valid;
17762
+ }
17763
+
17764
+ bool AzLogicalRectVecDestructor_matchMutExternal(AzLogicalRectVecDestructor* restrict value, AzLogicalRectVecDestructorType* restrict * restrict out) {
17765
+ AzLogicalRectVecDestructorVariant_External* restrict casted = (AzLogicalRectVecDestructorVariant_External* restrict)value;
17766
+ bool valid = casted->tag == AzLogicalRectVecDestructorTag_External;
17767
+ if (valid) { *out = &casted->payload; } else { *out = 0; }
17768
+ return valid;
17769
+ }
17770
+
17683
17771
bool AzNodeTypeIdInfoMapVecDestructor_matchRefExternal(const AzNodeTypeIdInfoMapVecDestructor* value, const AzNodeTypeIdInfoMapVecDestructorType** restrict out) {
17684
17772
const AzNodeTypeIdInfoMapVecDestructorVariant_External* casted = (const AzNodeTypeIdInfoMapVecDestructorVariant_External*)value;
17685
17773
bool valid = casted->tag == AzNodeTypeIdInfoMapVecDestructorTag_External;
@@ -18534,6 +18622,20 @@ bool AzNodeDataVecDestructor_matchMutExternal(AzNodeDataVecDestructor* restrict
18534
18622
return valid;
18535
18623
}
18536
18624
18625
+ bool AzOptionResolvedTextLayoutOptions_matchRefSome(const AzOptionResolvedTextLayoutOptions* value, const AzResolvedTextLayoutOptions** restrict out) {
18626
+ const AzOptionResolvedTextLayoutOptionsVariant_Some* casted = (const AzOptionResolvedTextLayoutOptionsVariant_Some*)value;
18627
+ bool valid = casted->tag == AzOptionResolvedTextLayoutOptionsTag_Some;
18628
+ if (valid) { *out = &casted->payload; } else { *out = 0; }
18629
+ return valid;
18630
+ }
18631
+
18632
+ bool AzOptionResolvedTextLayoutOptions_matchMutSome(AzOptionResolvedTextLayoutOptions* restrict value, AzResolvedTextLayoutOptions* restrict * restrict out) {
18633
+ AzOptionResolvedTextLayoutOptionsVariant_Some* restrict casted = (AzOptionResolvedTextLayoutOptionsVariant_Some* restrict)value;
18634
+ bool valid = casted->tag == AzOptionResolvedTextLayoutOptionsTag_Some;
18635
+ if (valid) { *out = &casted->payload; } else { *out = 0; }
18636
+ return valid;
18637
+ }
18638
+
18537
18639
bool AzOptionNodeGraphOnNodeAdded_matchRefSome(const AzOptionNodeGraphOnNodeAdded* value, const AzNodeGraphOnNodeAdded** restrict out) {
18538
18640
const AzOptionNodeGraphOnNodeAddedVariant_Some* casted = (const AzOptionNodeGraphOnNodeAddedVariant_Some*)value;
18539
18641
bool valid = casted->tag == AzOptionNodeGraphOnNodeAddedTag_Some;
0 commit comments