Skip to content

Instantly share code, notes, and snippets.

@ryuukk

ryuukk/test.zig Secret

Created October 22, 2020 14:46
Show Gist options
  • Save ryuukk/24cec3574668e779d19848d90166fc2c to your computer and use it in GitHub Desktop.
Save ryuukk/24cec3574668e779d19848d90166fc2c to your computer and use it in GitHub Desktop.
fn drain(self: *EventQueue) void {
if (self.processor == null) {
self.queue_C = 0;
return;
}
var processor = self.processor orelse return;
// copy from queue
self.processing_queue = self.queue;
self.processing_queue_C = self.queue_C;
self.queue_C = 0;
var i: usize = 0;
while (i < self.processing_queue_C) : (i += 1) {
var e: InputEvent = self.processing_queue[i];
self.current_event_time = e.time;
switch (e.event_type) {
KEY_DOWN => {
_ = processor.key_down(e.event.key_down.key) orelse false;
},
KEY_UP => {
_ = processor.key_up.?(e.event.key_up.key) orelse false;
},
KEY_TYPED => {
_ = processor.key_typed.?(e.event.key_typed.character) orelse false;
},
else => {},
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment