|
#include "DIALOG.h"
#define ID_WINDOW_0 (GUI_ID_USER + 0x07)
#define ID_WINDOW_1 (GUI_ID_USER + 0x08)
#define TEXT_X_SIZE 200
#define TEXT_Y_SIZE 45
#define X_LCD_SIZE 800
#define Y_LCD_SIZE 480
#define TEXT_X_POS ((X_LCD_SIZE-TEXT_X_SIZE)/2)
#define TEXT_Y_POS ((Y_LCD_SIZE-TEXT_Y_SIZE)/2+150)
#define MAG 3
static const GUI_WIDGET_CREATE_INFO _aDialogCreate[] = {
{ WINDOW_CreateIndirect, "App_Startup", ID_WINDOW_0, 8, 80, X_LCD_SIZE-16, Y_LCD_SIZE-88, 0, 0x0, 0 },
};
extern GUI_CONST_STORAGE GUI_BITMAP bmAllOptomedic;
extern GUI_CONST_STORAGE GUI_BITMAP bmbackLogoWord;
extern GUI_CONST_STORAGE GUI_BITMAP bmbackLogoColorCircle24;
extern GUI_CONST_STORAGE GUI_BITMAP bmcolortOptomedicLogo;
extern GUI_CONST_STORAGE GUI_BITMAP bmoptomedicbig;
static void _cbDialog(WM_MESSAGE * pMsg) {
WM_HWIN hItem;
WM_HWIN hWin;
WM_HTIMER hTimer;
GUI_RECT Rect;
hWin = pMsg->hWin;
switch (pMsg->MsgId)
{
case WM_INIT_DIALOG:
WINDOW_SetBkColor(hWin, GUI_MAKE_COLOR(0x00202020));
hTimer = WM_CreateTimer(hWin, 0, 500, 0);
break;
case WM_PAINT:
#if 0
GUI_SetColor(GUI_MAKE_COLOR(0x00202020));
WM_GetClientRect(&Rect);
// WM_GetWindowRect(&Rect);
GUI_AA_FillRoundedRect(Rect.x0*3, Rect.y0*3, Rect.x1*3, Rect.y1*3, 20);
GUI_SetColor(GUI_WHITE);
#endif
// WM_GetClientRect(&Rect);
// GUI_DrawGradientV(Rect.x0, Rect.y0, Rect.x1, Rect.y1, GUI_MAKE_COLOR(0x00202020), GUI_MAKE_COLOR(0x00202020));
break;
case WM_TIMER:
break;
default:
WM_DefaultProc(pMsg);
break;
}
}
static void _cbDialogPressureWin(WM_MESSAGE * pMsg)
{
GUI_RECT pRect;
char buf[40];
switch (pMsg->MsgId)
{
case WM_TIMER:
WM_InvalidateWindow(pMsg->hWin);
WM_RestartTimer(pMsg->Data.v, 1000);
break;
case WM_PAINT:
GUI_SetColor(GUI_MAKE_COLOR(0x002F2D2E));
WM_GetClientRect(&pRect);
// WM_GetWindowRect(&pRect);
GUI_AA_FillRoundedRect(pRect.x0*MAG, pRect.y0*MAG, pRect.x1*MAG, pRect.y1*MAG, 100);
GUI_SetColor(GUI_WHITE);
break;
case WM_CREATE:
/* 设置抗锯齿因数 */
// GUI_AA_SetFactor(MAG);
// WM_CreateTimer(pMsg->hWin, 0, 1000, 0);
break;
default:
WM_DefaultProc(pMsg);
break;
}
}
static void _cbDialogFlowWin(WM_MESSAGE * pMsg)
{
GUI_RECT pRect;
char buf[40];
switch (pMsg->MsgId)
{
case WM_TIMER:
WM_InvalidateWindow(pMsg->hWin);
WM_RestartTimer(pMsg->Data.v, 1000);
break;
case WM_PAINT:
GUI_SetColor(GUI_MAKE_COLOR(0x002F2D2E));
WM_GetClientRect(&pRect);
// WM_GetWindowRect(&pRect);
GUI_AA_FillRoundedRect(pRect.x0*MAG, pRect.y0*MAG, pRect.x1*MAG, pRect.y1*MAG, 100);
GUI_SetColor(GUI_WHITE);
break;
case WM_CREATE:
/* 设置抗锯齿因数 */
// GUI_AA_SetFactor(MAG);
break;
default:
WM_DefaultProc(pMsg);
break;
}
}
WM_HWIN CreateApp_Startup(void)
{
WM_HWIN hWin;
WM_HWIN hWin1;
hWin = GUI_CreateDialogBox(_aDialogCreate, GUI_COUNTOF(_aDialogCreate), _cbDialog, WM_HBKWIN, 0, 0);
WM_SetHasTrans(hWin);
// WM_SetCallback(hWin, _cbDialogNew);
//hWin = WM_CreateWindowAsChild(8,
// 50,
// 800-20,
// 420,
// WM_HBKWIN,
// WM_CF_SHOW | WM_CF_HASTRANS,
// _cbDialog,
// 0);
#if 1
hWin1 = WM_CreateWindowAsChild(10,
10,
400,
180,
hWin,
WM_CF_SHOW | WM_CF_HASTRANS,
_cbDialogPressureWin,
0);
WM_SetHasTrans(hWin1);
hWin1 = WM_CreateWindowAsChild(10,
200,
400,
180,
hWin,
WM_CF_SHOW | WM_CF_HASTRANS,
_cbDialogFlowWin,
0);
WM_SetHasTrans(hWin1);
#endif
return hWin;
}
|
|