Ejemplo n.º 1
0
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 );
}
Ejemplo n.º 2
0
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 );
}
Ejemplo n.º 3
0
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;
}
Ejemplo n.º 4
0
Archivo: clock.c Proyecto: yydaor/LCUI
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();
}
Ejemplo n.º 5
0
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();
}
Ejemplo n.º 6
0
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();
}
Ejemplo n.º 7
0
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;
}
Ejemplo n.º 8
0
/** 初始化设备处理模块 */
int LCUIModule_Device_Init(void)
{
	LinkedList_Init( &dev_list, sizeof(DeviceData) );
	LinkedList_SetDataNeedFree( &dev_list, TRUE );
	return LCUIThread_Create( &dev_tid, DeviceThread, NULL );
}
Ejemplo n.º 9
0
/** 初始化事件模块 */
static void LCUI_InitEvent(void)
{
	LCUICond_Init( &System.event.cond );
	System.event.box = LCUIEventBox_Create();
	LCUIThread_Create( &System.event.tid, SystemEventThread, NULL );
}