int GameMsgLoopStart( void ) { if( msg_thread_id != 0 ) { return -1; } LCUISleeper_Create( &msg_sleeper ); Queue_Init( &game_msg_queue, sizeof(GameMsg), NULL ); return LCUIThread_Create( &msg_thread_id, GameMsgProcThread, NULL ); }
static void OnStartSyncFiles( void *privdata, void *data ) { if( self.is_syncing ) { return; } self.is_syncing = TRUE; self.timer = LCUITimer_Set( 200, OnUpdateStats, NULL, TRUE ); LCUIThread_Create( &self.thread, FileSyncThread, NULL ); }
int LCUIWorker_RunAsync( LCUI_Worker worker ) { if( worker->thread != 0 ) { return -EEXIST; } worker->active = TRUE; LCUIThread_Create( &worker->thread, LCUIWorker_Thread, worker ); LOG( "[worker] worker %u is running\n", worker->thread ); return 0; }
int main(void) { LCUI_Widget *window; LCUI_Thread t; setenv( "LCUI_FONTFILE", "../../fonts/msyh.ttf", FALSE ); LCUI_Init(); window = Widget_New("window"); Widget_Resize(window, Size(320, 320)); Window_SetTitleText(window, "时钟"); LCUIThread_Create(&t, update_clock, (void*)window); Widget_Event_Connect(Window_GetCloseButton(window), EVENT_CLICKED, destroy); Widget_Show(window); return LCUI_Main(); }
int main(int argc, char **argv) { LCUI_Thread thread; LCUI_Widget *window, *progbar; LCUI_Init(800,600,0); window = Widget_New("window"); progbar = Widget_New("progress_bar"); Window_SetTitleTextW(window, L"测试进度条部件"); Widget_Resize(window, Size(320, 240)); Window_ClientArea_Add(window, progbar); Widget_SetAlign(progbar, ALIGN_MIDDLE_CENTER, Pos(0,0)); Widget_Resize(progbar, Size(300, 25)); LCUIThread_Create(&thread, change_progress, (void*)progbar); Widget_Event_Connect( Window_GetCloseButton(window), EVENT_CLICKED, destroy ); Widget_Show(progbar); Widget_Show(window); return LCUI_Main(); }
int main(void) { LCUI_Thread t; LCUI_Widget *window, *widget; LCUI_Init(); window = Widget_New( "window" ); widget = Widget_New( NULL ); Window_SetTitleText( window, "测试部件布局-1" ); Window_ClientArea_Add( window, widget ); Widget_Resize( widget, Size(120, 120) ); Widget_Resize( window, Size(320, 240) ); Widget_SetBackgroundTransparent( widget, FALSE ); Widget_SetBorder( widget, Border(1, BORDER_STYLE_SOLID, RGB(0,0,0)) ); Widget_SetBackgroundColor( widget, RGB(255,0,0) ); Widget_Show( widget ); Widget_Show( window ); Widget_Event_Connect( Window_GetCloseButton(window), EVENT_CLICKED, destroy ); LCUIThread_Create( &t, thread, widget ); return LCUI_Main(); }
int test_thread( void ) { int ret = 0; TestWorkerRec worker; TestWorker_Init( &worker ); LCUIThread_Create( &worker.thread, TestWorker_Thread, &worker ); LCUI_Sleep( 1 ); TestWorker_Send( &worker, "hello" ); LCUI_MSleep( 200 ); TestWorker_Send( &worker, "world" ); LCUI_Sleep( 1 ); TestWorker_Send( &worker, "this" ); LCUI_MSleep( 500 ); TestWorker_Send( &worker, "is" ); LCUI_Sleep( 1 ); TestWorker_Send( &worker, "test" ); LCUI_MSleep( 100 ); TestWorker_Send( &worker, "bye!" ); LCUI_Sleep( 1 ); TestWorker_Destroy( &worker ); CHECK( worker.data_count == 7 ); return ret; }
/** 初始化设备处理模块 */ int LCUIModule_Device_Init(void) { LinkedList_Init( &dev_list, sizeof(DeviceData) ); LinkedList_SetDataNeedFree( &dev_list, TRUE ); return LCUIThread_Create( &dev_tid, DeviceThread, NULL ); }
/** 初始化事件模块 */ static void LCUI_InitEvent(void) { LCUICond_Init( &System.event.cond ); System.event.box = LCUIEventBox_Create(); LCUIThread_Create( &System.event.tid, SystemEventThread, NULL ); }