// #include // #include // #include "Crown.h" // #include "EventBuffer.h" // #include "OsTypes.h" // #include "Mouse.h" // #include "OsThread.h" // #include "Log.h" // using namespace crown; // EventBuffer* g_write; // EventBuffer* g_read; // OsThread g_thread("consumer-thread"); // Semaphore g_write_sem; // Semaphore g_read_sem; // bool g_exit = false; // //----------------------------------------------------------------------------- // void push_event(int32_t x, int32_t y) // { // OsMouseEvent ome; // ome.button = MouseButton::LEFT; // ome.x = x; // ome.y = y; // ome.pressed = true; // g_write->push_event((uint32_t)OsEvent::MOUSE, &ome, sizeof(OsMouseEvent)); // Log::i("Event pushed"); // } // //----------------------------------------------------------------------------- // void swap() // { // EventBuffer* tmp; // tmp = g_write; // g_write = g_read; // g_read = tmp; // Log::i("Buffers swapped"); // } // //----------------------------------------------------------------------------- // int32_t thread_proc(void* /*user_data*/) // { // static uint32_t count = 0; // OsMouseEvent* result; // uint32_t et; size_t es; // while (true) // { // Log::i("%p", g_read); // do // { // result = (OsMouseEvent*)g_read->get_next_event(et, es); // if (result != NULL) // { // Log::d("x: %d, y: %d", result->x, result->y); // } // } // while (result != NULL); // g_exit = ++count == 3 ? true : false; // g_read->clear(); // g_write_sem.post(); // g_read_sem.wait(); // } // return 0; // } // //----------------------------------------------------------------------------- // int main() // { // memory::init(); // g_write = CE_NEW(default_allocator(), EventBuffer); // g_read = CE_NEW(default_allocator(), EventBuffer); // g_thread.start(thread_proc); // while (!g_exit) // { // g_write_sem.wait(); // push_event(10, 10); // push_event(20, 20); // push_event(30, 30); // swap(); // g_read_sem.post(); // } // g_thread.stop(); // memory::shutdown(); // return 0; // } int main() {}