ui/winui/toolkit.h

changeset 5
83263002816f
parent 0
2483f517c562
equal deleted inserted replaced
4:31137432bea8 5:83263002816f
28 28
29 #pragma once 29 #pragma once
30 30
31 #include "../ui/toolkit.h" 31 #include "../ui/toolkit.h"
32 32
33 #include <queue>
34 #include <mutex>
35 #include <condition_variable>
36
37 typedef struct UiJob {
38 UiObject* obj;
39 ui_threadfunc job_func;
40 void* job_data;
41 ui_callback finish_callback;
42 void* finish_data;
43 } UiJob;
44
45 struct UiThreadpool
46 {
47 std::queue<UiJob*> queue;
48 std::mutex mutex;
49 std::condition_variable condition;
50
51 UiThreadpool(int nthreads);
52
53 void EnqueueJob(UiJob* job);
54
55 UiJob* GetJob();
56 };
57
33 typedef void(*ui_eventfunc)(void*, void*); 58 typedef void(*ui_eventfunc)(void*, void*);
34 59
35 void ui_app_run_startup(); 60 void ui_app_run_startup();
36 61
37 extern "C" void destroy_ui_window_wrapper(void* ptr); 62 extern "C" void destroy_ui_window_wrapper(void* ptr);

mercurial