|

楼主 |
发表于 2025-1-9 21:45:13
|
显示全部楼层
#define Debug 0 //1使用定时器刷新 0重绘刷新
static void _cbDialog(WM_MESSAGE * pMsg)
{
static WM_HTIMER hTimerCAMERA;
WM_HWIN hItem;
char s[30];
static int i=0;
switch (pMsg->MsgId)
{
/* 接收到摄像头数据 */
case MSG_CAMERA:
#if Debug
hTimerCAMERA = WM_CreateTimer(pMsg->hWin, ID_TimerCAMERA, 2, 0);
#else
WM_InvalidateWindow(hWinCamera);
#endif
break;
case WM_TIMER:
#if Debug
/* 删除定时器 */
WM_DeleteTimer(hTimerCAMERA);
/* 选择操作窗口 */
WM_SelectWindow(hWinCamera);
//GUI_MEMDEV_Select(hMemCamera);
/* Cache Clean和无效化 */
SCB_CleanInvalidateDCache();
/* 绘制到多缓冲里面 */
GUI_MULTIBUF_Begin();
GUI_MEMDEV_WriteAt(hMemCamera, CAMERA_X, CAMERA_Y);
GUI_MULTIBUF_End();
hItem = WM_GetDialogItem(pMsg->hWin, (GUI_ID_USER + 0xAD));
sprintf(s, "IR:aaaaaaaaaa%d", i);
TEXT_SetText(hItem, s);
GUI_Exec();
camera_flag = 2;
g_tCam.CaptureOk = 0;
#endif
break;
case WM_PAINT:
#if !Debug
GUI_MEMDEV_Select(hMemCamera);
SCB_CleanInvalidateDCache();
/* 绘制到多缓冲里面 */
//GUI_DrawBitmap(&bmCamera, CAMERA_X, CAMERA_Y);
hItem = WM_GetDialogItem(pMsg->hWin, (GUI_ID_USER + 0xAD));
sprintf(s, "IR:bbbbbbbb %d", i);
TEXT_SetText(hItem, s);
GUI_MULTIBUF_Begin();
GUI_MEMDEV_WriteAt(hMemCamera, CAMERA_X, CAMERA_Y);
GUI_MULTIBUF_End();
camera_flag = 2;
g_tCam.CaptureOk = 0;
#endif
break;
case WM_INIT_DIALOG:
hItem = pMsg->hWin;
WINDOW_SetBkColor(hItem, GUI_MAKE_COLOR(0x00f3f3ef));
hItem = WM_GetDialogItem(pMsg->hWin, (GUI_ID_USER + 0xAD));
TEXT_SetFont(hItem, &GUI_Fontdengxian26);
TEXT_SetTextColor(hItem, GUI_BLACK);
TEXT_SetText(hItem, "Humiduty:");
default:
WM_DefaultProc(pMsg);
break;
}
}
|
-
定时器刷新屏幕显示
-
重绘刷新内存保存读取出来
-
重绘屏幕显示
|