This commit is contained in:
__hexmaster111 2024-12-30 00:27:50 +01:00 committed by GitHub
commit a9e52f2305
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

25
clay.h
View File

@ -393,6 +393,14 @@ typedef struct
bool found;
} Clay_ScrollContainerData;
typedef struct
{
Clay_BoundingBox elementLocation;
// Indicates whether an actual Element matched the provided ID or if the default struct was returned.
bool found;
} Clay_ElementLocationData;
typedef enum {
CLAY_RENDER_COMMAND_TYPE_NONE,
CLAY_RENDER_COMMAND_TYPE_RECTANGLE,
@ -481,6 +489,7 @@ bool Clay_IsDebugModeEnabled(void);
void Clay_SetCullingEnabled(bool enabled);
void Clay_SetMaxElementCount(uint32_t maxElementCount);
void Clay_SetMaxMeasureTextCacheWordCount(uint32_t maxMeasureTextCacheWordCount);
Clay_ElementLocationData Clay_GetElementLocationData (Clay_ElementId id);
// Internal API functions required by macros
void Clay__OpenElement(void);
@ -3848,6 +3857,22 @@ Clay_ScrollContainerData Clay_GetScrollContainerData(Clay_ElementId id) {
return CLAY__INIT(Clay_ScrollContainerData) {};
}
CLAY_WASM_EXPORT("Clay_GetElementLocationData")
Clay_ElementLocationData Clay_GetElementLocationData(Clay_ElementId id){
Clay_LayoutElementHashMapItem * item =Clay__GetHashMapItem(id.id);
if(item == &CLAY__LAYOUT_ELEMENT_HASH_MAP_ITEM_DEFAULT) {
return CLAY__INIT(Clay_ElementLocationData){
.found=false,
.elementLocation=CLAY__INIT(Clay_BoundingBox){}
};
}
return CLAY__INIT(Clay_ElementLocationData){
.elementLocation=item->boundingBox,
.found = true
};
}
CLAY_WASM_EXPORT("Clay_SetDebugModeEnabled")
void Clay_SetDebugModeEnabled(bool enabled) {
Clay__debugModeEnabled = enabled;