improve mouse cursor locking
This commit is contained in:
parent
73cc16f1d4
commit
a6f79959c0
@ -6,6 +6,7 @@
|
|||||||
|
|
||||||
#scope_file
|
#scope_file
|
||||||
shouldLockMouseCursor : bool = false;
|
shouldLockMouseCursor : bool = false;
|
||||||
|
cursorCurrentlyLocked : bool = false;
|
||||||
#scope_export;
|
#scope_export;
|
||||||
|
|
||||||
set_should_lock_cursor :: (shouldLock: bool) {
|
set_should_lock_cursor :: (shouldLock: bool) {
|
||||||
@ -17,12 +18,16 @@ is_cursor_locked :: () -> bool {
|
|||||||
}
|
}
|
||||||
|
|
||||||
unlock_cursor :: () {
|
unlock_cursor :: () {
|
||||||
|
cursorCurrentlyLocked = false;
|
||||||
plat_set_cursor_lock(false);
|
plat_set_cursor_lock(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
// We use this so menu and editor is unlocked and game is locked if the game sets the should lock.
|
// We use this so menu and editor is unlocked and game is locked if the game sets the should lock.
|
||||||
lock_cursor_if_should :: () {
|
lock_cursor_if_should :: () {
|
||||||
if shouldLockMouseCursor then plat_set_cursor_lock(true);
|
if shouldLockMouseCursor {
|
||||||
|
plat_set_cursor_lock(true);
|
||||||
|
cursorCurrentlyLocked = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -248,6 +253,9 @@ input_per_frame_event_and_flag_update :: () {
|
|||||||
// Called once per frame, probably.
|
// Called once per frame, probably.
|
||||||
|
|
||||||
for events_this_frame {
|
for events_this_frame {
|
||||||
|
if it.key_code == .MOUSE_BUTTON_LEFT && it.key_pressed == 1 && cursorCurrentlyLocked {
|
||||||
|
plat_set_cursor_lock(true);
|
||||||
|
}
|
||||||
allocator := it.files.allocator; // Same allocator for filenames and the array itself.
|
allocator := it.files.allocator; // Same allocator for filenames and the array itself.
|
||||||
|
|
||||||
for file: it.files {
|
for file: it.files {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user