Ejemplo n.º 1
0
/**
 * 入口函数
 */
int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR lpCmdLine, int nShowCmd)
{
	if(!AppInit(hInst)){
		MessageBox(0, "AppInit() - FAILED", 0, 0);
		return 0;
	}

	if(!AppSetup()){
		MessageBox(0, "AppSetup() - FAILED", 0, 0);
		return 0;
	}

	MSG msg;
	ZeroMemory(&msg, sizeof(MSG));

	LARGE_INTEGER lpf;
	QueryPerformanceFrequency(&lpf);
	LONGLONG nFreq = lpf.QuadPart;
	QueryPerformanceCounter(&lpf);
	static LONGLONG lastFreq = lpf.QuadPart;

	while(msg.message != WM_QUIT){
		if(PeekMessage(&msg, 0, 0, 0, PM_REMOVE))
		{
			TranslateMessage(&msg);
			DispatchMessage(&msg);
		}
		QueryPerformanceCounter(&lpf);
		LONGLONG curFreq = lpf.QuadPart;
		float deltaTime = (curFreq - lastFreq) / (float)nFreq;
		Time::deltaTime = deltaTime;
		lastFreq = curFreq;

		if(!AppLoop()){
			MessageBox(0, "AppLoop() - FAILED", 0, 0);
		}
	}

	AppDestory();

	return msg.wParam;
}
Ejemplo n.º 2
0
	void Window::Loop()
	{
		AppLoop();
	}
Ejemplo n.º 3
0
  const fpInitTask pxInitlist[13] PROGMEM = { AppInit(TN_00),AppInit(TN_01),AppInit(TN_02),AppInit(TN_03),AppInit(TN_04),AppInit(TN_05),AppInit(TN_06),AppInit(TN_07),AppInit(TN_08),AppInit(TN_09),AppInit(TN_10),AppInit(TN_11),AppInit(TN_12) };
#elif ( defNumberOfTasks == 14 )
  const fpInitTask pxInitlist[14] PROGMEM = { AppInit(TN_00),AppInit(TN_01),AppInit(TN_02),AppInit(TN_03),AppInit(TN_04),AppInit(TN_05),AppInit(TN_06),AppInit(TN_07),AppInit(TN_08),AppInit(TN_09),AppInit(TN_10),AppInit(TN_11),AppInit(TN_12),AppInit(TN_13) };
#elif ( defNumberOfTasks == 15 )
  const fpInitTask pxInitlist[15] PROGMEM = { AppInit(TN_00),AppInit(TN_01),AppInit(TN_02),AppInit(TN_03),AppInit(TN_04),AppInit(TN_05),AppInit(TN_06),AppInit(TN_07),AppInit(TN_08),AppInit(TN_09),AppInit(TN_10),AppInit(TN_11),AppInit(TN_12),AppInit(TN_13),AppInit(TN_14) };
#elif ( defNumberOfTasks == 16 )
  const fpInitTask pxInitlist[16] PROGMEM = { AppInit(TN_00),AppInit(TN_01),AppInit(TN_02),AppInit(TN_03),AppInit(TN_04),AppInit(TN_05),AppInit(TN_06),AppInit(TN_07),AppInit(TN_08),AppInit(TN_09),AppInit(TN_10),AppInit(TN_11),AppInit(TN_12),AppInit(TN_13),AppInit(TN_14),AppInit(TN_15) };
#endif

#endif


#if defNumberOfTasks == 0
  const fpLoopTask pxLooplist[0] PROGMEM =  { };
#elif defNumberOfTasks == 1
  const fpLoopTask pxLooplist[1] PROGMEM =  { AppLoop(TN_00) };
#elif defNumberOfTasks == 2
  const fpLoopTask pxLooplist[2] PROGMEM =  { AppLoop(TN_00),AppLoop(TN_01) };
#elif defNumberOfTasks == 3
  const fpLoopTask pxLooplist[3] PROGMEM =  { AppLoop(TN_00),AppLoop(TN_01),AppLoop(TN_02) };
#elif defNumberOfTasks == 4
  const fpLoopTask pxLooplist[4] PROGMEM =  { AppLoop(TN_00),AppLoop(TN_01),AppLoop(TN_02),AppLoop(TN_03) };
#elif defNumberOfTasks == 5
  const fpLoopTask pxLooplist[5] PROGMEM =  { AppLoop(TN_00),AppLoop(TN_01),AppLoop(TN_02),AppLoop(TN_03),AppLoop(TN_04) };
#elif defNumberOfTasks == 6
  const fpLoopTask pxLooplist[6] PROGMEM =  { AppLoop(TN_00),AppLoop(TN_01),AppLoop(TN_02),AppLoop(TN_03),AppLoop(TN_04),AppLoop(TN_05) };
#elif defNumberOfTasks == 7
  const fpLoopTask pxLooplist[7] PROGMEM =  { AppLoop(TN_00),AppLoop(TN_01),AppLoop(TN_02),AppLoop(TN_03),AppLoop(TN_04),AppLoop(TN_05),AppLoop(TN_06) };
#elif defNumberOfTasks == 8
  const fpLoopTask pxLooplist[8] PROGMEM =  { AppLoop(TN_00),AppLoop(TN_01),AppLoop(TN_02),AppLoop(TN_03),AppLoop(TN_04),AppLoop(TN_05),AppLoop(TN_06),AppLoop(TN_07) };
#elif defNumberOfTasks == 9
Ejemplo n.º 4
0
LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
	static BOOL bAlarm = FALSE;

	int wmId, wmEvent;
	PAINTSTRUCT ps;
	HDC hdc;

	//if( message == CMouseHook::UWM_DRAGEEND)
	//{
	//	SetCapture(NULL);
	//	SetCursor(LoadCursor(NULL,IDC_ARROW));
	//	CMouseHook::StopHook();
	//	if( g_pChessBoard )
	//	{
	//		g_pChessBoard->GetGameWindow();
	//	}
	//}

	switch (message)
	{
	case WM_ACTIVATEAPP:
		g_bActive = wParam;
		break;
	case WM_COMMAND:
		wmId    = LOWORD(wParam);
		wmEvent = HIWORD(wParam);
		// Parse the menu selections:
		switch (wmId)
		{
		case IDM_CAPTURE:
			break;
		case IDM_ABOUT:
			//test();
			DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hwnd, About);
			break;
		case IDM_EXIT:
			DestroyWindow(hwnd);
			break;
		case IDM_SEC5:
			AppEnv::nThinkTime = 5;			
			CheckMenuItem(GetMenu(g_hWndMain), IDM_SEC5, MF_CHECKED);
			CheckMenuItem(GetMenu(g_hWndMain), IDM_SEC10, MF_UNCHECKED);
			CheckMenuItem(GetMenu(g_hWndMain), IDM_SEC30, MF_UNCHECKED);
			break;
		case IDM_SEC10:
			AppEnv::nThinkTime = 10;
			CheckMenuItem(GetMenu(g_hWndMain), IDM_SEC5, MF_UNCHECKED);
			CheckMenuItem(GetMenu(g_hWndMain), IDM_SEC10, MF_CHECKED);
			CheckMenuItem(GetMenu(g_hWndMain), IDM_SEC30, MF_UNCHECKED);
			break;
		case IDM_SEC30:
			AppEnv::nThinkTime = 30;
			CheckMenuItem(GetMenu(g_hWndMain), IDM_SEC5, MF_UNCHECKED);
			CheckMenuItem(GetMenu(g_hWndMain), IDM_SEC10, MF_UNCHECKED);
			CheckMenuItem(GetMenu(g_hWndMain), IDM_SEC30, MF_CHECKED);
			break;
		case IDM_AUTOPLAY:
			AppEnv::bAutoPlay = !AppEnv::bAutoPlay ;
			if(AppEnv::bAutoPlay )
				CheckMenuItem(GetMenu(g_hWndMain), IDM_AUTOPLAY, MF_CHECKED);
			else
				CheckMenuItem(GetMenu(g_hWndMain), IDM_AUTOPLAY, MF_UNCHECKED);			
		default:
			return DefWindowProc(g_hWndMain, message, wParam, lParam);
		}
		break;

	case WM_PAINT:
		hdc = BeginPaint(hwnd, &ps);

		if ( g_pMainSurface  )
		{
			g_pMainSurface->FastBlt(hdc);
		}

		EndPaint(hwnd, &ps);
		break;
	case WM_LBUTTONDOWN:
		//SetCapture(hwnd);
		//SetCursor(LoadCursor(NULL,IDC_CROSS));
		//CMouseHook::StartHook(hwnd);
		break;
	//case WM_KEYUP:
	//		vk = (int) wParam;

	//		switch( vk )
	//		{
	//		case VK_RETURN:
	//			if ( g_pChessEngine)
	//			{
	//				if ( g_pChessEngine->GetState() == CChessEngine::BusyWait )
	//					g_pChessEngine->SendCommand("stop");
	//			}
	//			//DumpBoradHash();
	//			break;
	//		}
		break;
	case WM_TIMER:
		switch( wParam )
		{
		case APPUPDATE_TIMER:
			if (!AppLoop()) {
			    DestroyWindow(hwnd);
			}
			doUpdate();

			return 0;

		}
		break;
	case WM_DESTROY:
		if(g_bInitialized)
		{
			ExitApp();
		}

		doRelease();

		PostQuitMessage(0);
		break;
	default:
		return DefWindowProc(hwnd, message, wParam, lParam);
	}
	return 0;
}