Example #1
0
BOOL Run(void)
{		

	char strMsg[1024] = {0};
	CTime runTime = CTime::GetCurrentTime();
	int hour = runTime.GetHour();
	sprintf(strMsg , "LocalHour= %d", hour);
	cout<<strMsg<<endl;
	TimerProc(NULL , 0 ,0 ,0);
	int nSend = (int)SetTimer(NULL , 1 , RUNNING_TIMES , (TIMERPROC)TimerProc);		//每分钟运行一次回调函数
	MSG msg;

	if(nSend)
	{
		cout<<nSend<<endl;
	}
	BOOL bRet = FALSE;
	while((bRet=GetMessage(&msg, NULL, 0, 0)) != 0)
//	while(::GetMessage(&msg , NULL , 0 , 0))
	{
		if(bRet != -1)
		{
			if(msg.message == WM_TIMER)
			{
				cout<<"WM_TIMER"<<endl;
			}
			TranslateMessage(&msg);
			DispatchMessage(&msg);
		}
		else
		{
			break;
		}
	}

	KillTimer(NULL , nSend);


	return TRUE;
}
Example #2
0
void CContextWeather::Draw(UINT nContextNum)
{
	char szText[64] = {0,};
	char szWeatherMent[7][10] = { "맑음\0", "구름조금\0", "흐림\0", "소나기\0", "비\0", "뇌우\0", "눈\0" };
	CObjectIcon* pObjectIcon = NULL;
	MTM_DATA_PARKING parking_info;

	if(m_gc==0) return;

	DBGMSGC(DBG_WEATHER, "++ [%d]\r\n", nContextNum);

	if (!check_update_cond(nContextNum)) {
		DBGMSGC(DBG_PARKING, "update has aleady been\r\n");	
		return;
	}

	update_new_info();
	
	//배경
	m_ObjectList.Draw(WEATHER_OBJ_BG);

	if(g_setup_data.m_SetupData.wallpad_type == WALLPAD_TYPE_SHN)
	{
		DrawText("오  늘", g_wid, g_gc,  83, 20, 60, 18, g_font, 18, WHITE, TXT_HALIGN_CENTER|TXT_VALIGN_MIDDLE);		//왼쪽
		DrawText("내  일", g_wid, g_gc, 665, 20, 60, 18, g_font, 18, WHITE, TXT_HALIGN_CENTER|TXT_VALIGN_MIDDLE);		//오른쪽
	}
	else
	{
		DrawText("오  늘", g_wid, g_gc,  83, 20, 60, 18, g_font, 18, WHITE, TXT_HALIGN_CENTER|TXT_VALIGN_MIDDLE);		//왼쪽
		DrawText("오  늘", g_wid, g_gc, 665, 20, 60, 18, g_font, 18, WHITE, TXT_HALIGN_CENTER|TXT_VALIGN_MIDDLE);		//오른쪽
	}

	//왼쪽 날씨
	DrawText(szWeatherMent[g_setup_data.m_SetupData.weather_left], g_wid, g_gc, 65, 51, 96, 32, g_font, 24, RGB(1,19,73), TXT_HALIGN_CENTER|TXT_VALIGN_MIDDLE);

//	DBGMSGC(DBG_WEATHER, "[Left] %d / %d  [Right] %d / %d\r\n", 
//						g_setup_data.m_SetupData.temp_low_left, g_setup_data.m_SetupData.temp_high_left,
//						g_setup_data.m_SetupData.temp_low_right, g_setup_data.m_SetupData.temp_high_right);

	//왼쪽 기온 (Text) : 정수표시
	if(g_setup_data.m_SetupData.wallpad_type == WALLPAD_TYPE_KCM)
	{
		sprintf(szText, "   %d\0", g_setup_data.m_SetupData.temp_high_left / 10);
	}
	else if(g_setup_data.m_SetupData.wallpad_type == WALLPAD_TYPE_HDT)
	{
		sprintf(szText, "%2.1f\0", g_setup_data.m_SetupData.temp_high_left / 10.0);
	}
	else
	{
		sprintf(szText, "%2d/%2d\0", 
				g_setup_data.m_SetupData.temp_low_left  / 10,
				g_setup_data.m_SetupData.temp_high_left / 10);
	}
	DrawText(szText, g_wid, g_gc, 17, 100, 112, 32, g_font, 24, WHITE, TXT_HALIGN_RIGHT|TXT_VALIGN_MIDDLE);

	memset(szText, 0, 64);
	//왼쪽 날씨 이미지 
	pObjectIcon = (CObjectIcon*)m_ObjectList.FindObjectByID(WEATHER_OBJ_WEATHER_LEFT);
	if(pObjectIcon)
	{
		pObjectIcon->Draw(g_setup_data.m_SetupData.weather_left);
	}

	//오른쪽 날씨
	DrawText(szWeatherMent[g_setup_data.m_SetupData.weather_right], g_wid, g_gc, 647, 51, 96, 32, g_font, 24, RGB(162,199,213), TXT_HALIGN_CENTER|TXT_VALIGN_MIDDLE);

	//오른쪽 기온 (Text) : 정수표시
	if(g_setup_data.m_SetupData.wallpad_type == WALLPAD_TYPE_KCM)
	{
		sprintf(szText, "   %d\0", g_setup_data.m_SetupData.temp_high_right / 10);
	}
	else if(g_setup_data.m_SetupData.wallpad_type == WALLPAD_TYPE_HDT)
	{
		sprintf(szText, "%2.1f\0", g_setup_data.m_SetupData.temp_high_right / 10.0);
	}
	else
	{
		sprintf(szText, "%2d/%2d\0", 
				g_setup_data.m_SetupData.temp_low_right  / 10,
				g_setup_data.m_SetupData.temp_high_right / 10);
	}
	DrawText(szText, g_wid, g_gc, 599, 100, 112, 32, g_font, 24, WHITE, TXT_HALIGN_RIGHT|TXT_VALIGN_MIDDLE);

	memset(szText, 0, 64);
	//오른쪽 날씨 이미지
	pObjectIcon = (CObjectIcon*)m_ObjectList.FindObjectByID(WEATHER_OBJ_WEATHER_RIGHT);
	if(pObjectIcon)
	{
		pObjectIcon->Draw(g_setup_data.m_SetupData.weather_right);
	}

	//가스
	pObjectIcon = (CObjectIcon*)m_ObjectList.FindObjectByID(WEATHER_OBJ_GAS);
	if(pObjectIcon)
	{
		//g_setup_data.m_SetupData.gas_stat: 0=열림(사용중)=적색(위험), 1=차단=검정(안전)
		pObjectIcon->Draw(g_setup_data.m_SetupData.gas_stat ? IMG_ENUM_GAS_OFF : IMG_ENUM_GAS_ON);	//ON=가스사용, OFF=가스차단
	}

	//주차위치
	m_ObjectList.Draw(WEATHER_OBJ_PARKING_BAR);

	parking_list_get_item(0, &parking_info);		
	if (parking_info.status == MTM_DATA_PARKING_STATUS_IN) {
		memset(szText, 0, 64);
		sprintf(szText, "%s %s", parking_info.floor, parking_info.zone);
		DrawText(szText,  m_wid_parent, m_gc,  73, 436, 180, 32, g_font, 24, WHITE, TXT_HALIGN_LEFT|TXT_VALIGN_MIDDLE);
	}

	TimerProc(CLOCK_TIMER);

	memset(szText, 0, 64);
//<	버전표기
	if(VER_REVISION != ' ')
	{
		if(strlen(VER_STRING) > 0)
			sprintf(szText, "[ v%d.%02d.%c-%s %s ]\0", VER_MAJOR, VER_MINOR, VER_REVISION, VER_DATE, VER_STRING);
		else
			sprintf(szText, "[ v%d.%02d.%c-%s ]\0", VER_MAJOR, VER_MINOR, VER_REVISION, VER_DATE);
	}
	else
	{
		if(strlen(VER_STRING) > 0)
			sprintf(szText, "[ v%d.%02d-%s %s ]\0", VER_MAJOR, VER_MINOR, VER_DATE, VER_STRING);
		else
			sprintf(szText, "[ v%d.%02d-%s ]\0", VER_MAJOR, VER_MINOR, VER_DATE);
	}
	DrawText(szText, g_wid, g_gc, 0, 400, strlen(szText)*6+4, 14, g_font, 12, BLACK, TXT_HALIGN_CENTER|TXT_VALIGN_MIDDLE);
//>

	DBGMSGC(DBG_WEATHER, "--\r\n");
}
Example #3
0
static int InitializeApp (HWND hDlg,WPARAM wParam, LPARAM lParam)
{
	Timer = SetTimer (hDlg,Timer,1000,TimerProc);
	TimerProc (hDlg,0,0,0);
	return 1;
}
Example #4
0
/**
 * Called when all the modules have had their modules loaded event handlers called (dependence of popups on fontservice :( )
 */
int ModulesLoaded2(WPARAM, LPARAM)
{
	// check for 'still absent' contacts  on startup
	TimerProc(nullptr, 0, 0, 0);
	return 0;
}
Example #5
0
BYTE CLayerMap::Scroll(BYTE byDirection, BOOL bNoCheck)
{
	BYTE byRet;
	int x, y, nMapX, nMapY, nMoveWait, anPosChangeX[] = {0, 0, -1, 1, 1, 1, -1, -1}, anPosChangeY[] = {-1, 1, 0, 0, -1, 1, 1, -1};
	PCInfoMapBase pMap;

	byRet = 0;

	/* スクロールしないモード? */
	if (m_bScroll == FALSE) {
		goto Exit;
	}

	if (bNoCheck) {
		m_nMoveX = m_nMoveY = 0;

	} else {
		if (IsScroll ()) {
			goto Exit;
		}
	}
	pMap = m_pMgrData->GetMap ();
	if (pMap == NULL) {
		goto Exit;
	}

	x = (int)m_nViewX + anPosChangeX[byDirection];
	y = (int)m_nViewY + anPosChangeY[byDirection];
	nMapX = (x % 2) ? x / 2 + 1 : x / 2;
	nMapY = (y % 2) ? y / 2 + 1 : y / 2;

	switch (byDirection) {
	case 0:
		if (y < 0) {
			goto Exit;
		}
		byRet = byDirection + 1;
		break;
	case 1:
		if (nMapY + DRAW_PARTS_Y > pMap->m_sizeMap.cy) {
			goto Exit;
		}
		byRet = byDirection + 1;
		break;
	case 2:
		if (x < 0) {
			goto Exit;
		}
		byRet = byDirection + 1;
		break;
	case 3:
		if (nMapX + DRAW_PARTS_X > pMap->m_sizeMap.cx) {
			goto Exit;
		}
		byRet = byDirection + 1;
		break;
	case 4:
		if (nMapX + DRAW_PARTS_X > pMap->m_sizeMap.cx) {
			if (y >= 0) {
				byRet = 0 + 1;
				break;
			}
			goto Exit;
		}
		if (y < 0) {
			goto Exit;
		}
		byRet = byDirection + 1;
		break;
	case 5:
		if (nMapX + DRAW_PARTS_X > pMap->m_sizeMap.cx) {
			if (nMapY + DRAW_PARTS_Y <= pMap->m_sizeMap.cy) {
				byRet = 1 + 1;
				break;
			}
			goto Exit;
		}
		if (nMapY + DRAW_PARTS_Y > pMap->m_sizeMap.cy) {
			goto Exit;
		}
		byRet = byDirection + 1;
		break;
	case 6:
		if (x < 0) {
			if (nMapY + DRAW_PARTS_Y <= pMap->m_sizeMap.cy) {
				byRet = 1 + 1;
				break;
			}
			goto Exit;
		}
		if (nMapY + DRAW_PARTS_Y > pMap->m_sizeMap.cy) {
			goto Exit;
		}
		byRet = byDirection + 1;
		break;
	case 7:
		if (x < 0) {
			if (y >= 0) {
				byRet = 0 + 1;
				break;
			}
			goto Exit;
		}
		if (y < 0) {
			goto Exit;
		}
		byRet = byDirection + 1;
		break;
	}

	m_byDirection = byRet - 1;
	x = (int)m_nViewX + anPosChangeX[m_byDirection];
	y = (int)m_nViewY + anPosChangeY[m_byDirection];
	nMoveWait = m_nMoveWait;
	if (m_dwMoveWaitOnce != 0) {
		nMoveWait = m_dwMoveWaitOnce;
	}
	m_dwLastTimeScroll = timeGetTime () - nMoveWait;
	m_nViewX = (WORD)x;
	m_nViewY = (WORD)y;
	TimerProc ();

Exit:
	return byRet;
}