mirror of
https://github.com/nicbarker/clay.git
synced 2025-05-17 15:58:05 +00:00
Compare commits
3 Commits
25a3e4d3a0
...
61711977c2
Author | SHA1 | Date | |
---|---|---|---|
|
61711977c2 | ||
|
19a27b39f2 | ||
|
642eedaa30 |
17
clay.h
17
clay.h
@ -834,6 +834,8 @@ CLAY_DLL_EXPORT Clay_ElementData Clay_GetElementData(Clay_ElementId id);
|
||||
// Returns true if the pointer position provided by Clay_SetPointerState is within the current element's bounding box.
|
||||
// Works during element declaration, e.g. CLAY({ .backgroundColor = Clay_Hovered() ? BLUE : RED });
|
||||
CLAY_DLL_EXPORT bool Clay_Hovered(void);
|
||||
// Returns true if an element with the specified id is found and if the pointer position provided by Clay_SetPointerState is within the element's bounding box.
|
||||
CLAY_DLL_EXPORT bool Clay_GetElementHovered(Clay_ElementId elementId);
|
||||
// Bind a callback that will be called when the pointer position provided by Clay_SetPointerState is within the current element's bounding box.
|
||||
// - onHoverFunction is a function pointer to a user defined function.
|
||||
// - userData is a pointer that will be transparently passed through when the onHoverFunction is called.
|
||||
@ -1771,7 +1773,7 @@ bool Clay__MemCmp(const char *s1, const char *s2, int32_t length);
|
||||
uint8x16_t v2 = vld1q_u8((const uint8_t *)s2);
|
||||
|
||||
// Compare vectors
|
||||
if (vminvq_u32(vceqq_u8(v1, v2)) != 0xFFFFFFFF) { // If there's a difference
|
||||
if (vminvq_u32(vreinterpretq_u32_u8(vceqq_u8(v1, v2))) != 0xFFFFFFFF) { // If there's a difference
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -3962,6 +3964,19 @@ bool Clay_Hovered(void) {
|
||||
return false;
|
||||
}
|
||||
|
||||
bool Clay_GetElementHovered(Clay_ElementId elementId) {
|
||||
Clay_Context* context = Clay_GetCurrentContext();
|
||||
if (context->booleanWarnings.maxElementsExceeded) {
|
||||
return false;
|
||||
}
|
||||
for (int32_t i = 0; i < context->pointerOverIds.length; ++i) {
|
||||
if (Clay__ElementIdArray_Get(&context->pointerOverIds, i)->id == elementId.id) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
void Clay_OnHover(void (*onHoverFunction)(Clay_ElementId elementId, Clay_PointerData pointerInfo, intptr_t userData), intptr_t userData) {
|
||||
Clay_Context* context = Clay_GetCurrentContext();
|
||||
if (context->booleanWarnings.maxElementsExceeded) {
|
||||
|
Loading…
Reference in New Issue
Block a user