GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing github.com — AndroidScreenProjectionIntoPC/EventCache.cpp at master · cxMax/AndroidScreenProjectionIntoPC Expand file tree/ Copy pathEventCache.cppMore file actions 64 lines (48 loc) · 1.24 KB / Copy pathEventCache.cppFile metadata and controls64 lines (48 loc) · 1.24 KB 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 // // Created by Cry on 2018-12-20. // #include "EventCache.h" SDL_bool EventQueue::init() { head = 0; tail = 0; size = 0; return SDL_TRUE; } SDL_bool EventQueue::push_event(SDL_Event event) { SDL_bool res; if (size >= CONTROL_EVENT_QUEUE_SIZE) { return SDL_FALSE; } if (is_full()) { printf("is is_full\n"); res = SDL_FALSE; } else { queue[head] = event; head = (head + 1) % CONTROL_EVENT_QUEUE_SIZE; size++; } // printf("queue push_event event ,head = %d , size = %ld \n", head, size); return res; } SDL_bool EventQueue::take_event(SDL_Event *event) { if (size == 0) { return SDL_FALSE; } *event = queue[tail]; tail = (tail + 1) % CONTROL_EVENT_QUEUE_SIZE; size--; // printf("queue take_event event ,tail = %d ,size = %ld \n", tail, size); if (size < 0 || size > CONTROL_EVENT_QUEUE_SIZE) { printf("when size is larger than max?? size = %ld ,max = %d \n", size, CONTROL_EVENT_QUEUE_SIZE); abort(); } return SDL_TRUE; } void EventQueue::destroy() { } int EventQueue::is_empty() { return head == tail; } int EventQueue::is_full() { return (head + 1) % CONTROL_EVENT_QUEUE_SIZE == tail; } |
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |