|
|
@@ -1,109 +1,111 @@
|
|
|
-#include <cstdlib>
|
|
|
-#include <ctime>
|
|
|
-
|
|
|
-#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);
|
|
|
+// #include <cstdlib>
|
|
|
+// #include <ctime>
|
|
|
+
|
|
|
+// #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);
|
|
|
+// 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);
|
|
|
+// if (result != NULL)
|
|
|
+// {
|
|
|
+// Log::d("x: %d, y: %d", result->x, result->y);
|
|
|
+// }
|
|
|
+// }
|
|
|
+// while (result != NULL);
|
|
|
|
|
|
- g_exit = ++count == 3 ? true : false;
|
|
|
+// g_exit = ++count == 3 ? true : false;
|
|
|
|
|
|
- g_read->clear();
|
|
|
+// g_read->clear();
|
|
|
|
|
|
- g_write_sem.post();
|
|
|
- g_read_sem.wait();
|
|
|
- }
|
|
|
+// g_write_sem.post();
|
|
|
+// g_read_sem.wait();
|
|
|
+// }
|
|
|
|
|
|
- return 0;
|
|
|
-}
|
|
|
+// return 0;
|
|
|
+// }
|
|
|
|
|
|
-//-----------------------------------------------------------------------------
|
|
|
-int main()
|
|
|
-{
|
|
|
- memory::init();
|
|
|
+// //-----------------------------------------------------------------------------
|
|
|
+// int main()
|
|
|
+// {
|
|
|
+// memory::init();
|
|
|
|
|
|
- g_write = CE_NEW(default_allocator(), EventBuffer);
|
|
|
- g_read = CE_NEW(default_allocator(), EventBuffer);
|
|
|
+// g_write = CE_NEW(default_allocator(), EventBuffer);
|
|
|
+// g_read = CE_NEW(default_allocator(), EventBuffer);
|
|
|
|
|
|
- g_thread.start(thread_proc);
|
|
|
+// g_thread.start(thread_proc);
|
|
|
|
|
|
- while (!g_exit)
|
|
|
- {
|
|
|
- g_write_sem.wait();
|
|
|
+// while (!g_exit)
|
|
|
+// {
|
|
|
+// g_write_sem.wait();
|
|
|
|
|
|
- push_event(10, 10);
|
|
|
- push_event(20, 20);
|
|
|
- push_event(30, 30);
|
|
|
+// push_event(10, 10);
|
|
|
+// push_event(20, 20);
|
|
|
+// push_event(30, 30);
|
|
|
|
|
|
- swap();
|
|
|
+// swap();
|
|
|
|
|
|
- g_read_sem.post();
|
|
|
- }
|
|
|
+// g_read_sem.post();
|
|
|
+// }
|
|
|
|
|
|
- g_thread.stop();
|
|
|
+// g_thread.stop();
|
|
|
|
|
|
- memory::shutdown();
|
|
|
+// memory::shutdown();
|
|
|
|
|
|
- return 0;
|
|
|
-}
|
|
|
+// return 0;
|
|
|
+// }
|
|
|
+
|
|
|
+int main() {}
|