mirror of
https://github.com/nicbarker/clay.git
synced 2025-04-22 14:18:35 +00:00
Compare commits
2 Commits
e53a50c681
...
62b402bcbb
Author | SHA1 | Date | |
---|---|---|---|
|
62b402bcbb | ||
|
46c962d7f2 |
29
clay.h
29
clay.h
@ -3794,6 +3794,21 @@ void Clay_SetPointerState(Clay_Vector2 position, bool isPointerDown) {
|
||||
}
|
||||
context->pointerInfo.position = position;
|
||||
context->pointerOverIds.length = 0;
|
||||
|
||||
if (isPointerDown) {
|
||||
if (context->pointerInfo.state == CLAY_POINTER_DATA_PRESSED_THIS_FRAME) {
|
||||
context->pointerInfo.state = CLAY_POINTER_DATA_PRESSED;
|
||||
} else if (context->pointerInfo.state != CLAY_POINTER_DATA_PRESSED) {
|
||||
context->pointerInfo.state = CLAY_POINTER_DATA_PRESSED_THIS_FRAME;
|
||||
}
|
||||
} else {
|
||||
if (context->pointerInfo.state == CLAY_POINTER_DATA_RELEASED_THIS_FRAME) {
|
||||
context->pointerInfo.state = CLAY_POINTER_DATA_RELEASED;
|
||||
} else if (context->pointerInfo.state != CLAY_POINTER_DATA_RELEASED) {
|
||||
context->pointerInfo.state = CLAY_POINTER_DATA_RELEASED_THIS_FRAME;
|
||||
}
|
||||
}
|
||||
|
||||
Clay__int32_tArray dfsBuffer = context->layoutElementChildrenBuffer;
|
||||
for (int32_t rootIndex = context->layoutElementTreeRoots.length - 1; rootIndex >= 0; --rootIndex) {
|
||||
dfsBuffer.length = 0;
|
||||
@ -3845,20 +3860,6 @@ void Clay_SetPointerState(Clay_Vector2 position, bool isPointerDown) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (isPointerDown) {
|
||||
if (context->pointerInfo.state == CLAY_POINTER_DATA_PRESSED_THIS_FRAME) {
|
||||
context->pointerInfo.state = CLAY_POINTER_DATA_PRESSED;
|
||||
} else if (context->pointerInfo.state != CLAY_POINTER_DATA_PRESSED) {
|
||||
context->pointerInfo.state = CLAY_POINTER_DATA_PRESSED_THIS_FRAME;
|
||||
}
|
||||
} else {
|
||||
if (context->pointerInfo.state == CLAY_POINTER_DATA_RELEASED_THIS_FRAME) {
|
||||
context->pointerInfo.state = CLAY_POINTER_DATA_RELEASED;
|
||||
} else if (context->pointerInfo.state != CLAY_POINTER_DATA_RELEASED) {
|
||||
context->pointerInfo.state = CLAY_POINTER_DATA_RELEASED_THIS_FRAME;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
CLAY_WASM_EXPORT("Clay_Initialize")
|
||||
|
Loading…
Reference in New Issue
Block a user