Files
MKS-TFT35-Firmware/User/ui/draw_main.cpp
2020-03-19 13:32:54 +08:00

138 lines
2.4 KiB
C++

#include "button.h"
#include "text.h"
#include "draw_ui.h"
#include "draw_main.h"
#ifndef GUI_FLASH
#define GUI_FLASH
#endif
extern DISP_STATE_STACK disp_state_stack;
static GUI_HWIN hMainWnd;
extern GUI_FLASH const GUI_FONT GUI_FontHZ_fontHz18;
extern GUI_CONST_STORAGE GUI_BITMAP bmp_logo;
static BUTTON_Handle buttonLangu;
static void cbMainWin(WM_MESSAGE * pMsg) {
struct PressEvt *press_event;
switch (pMsg->MsgId) {
case WM_PAINT:
//GUI_SetBkColor(GUI_BLACK);
//GUI_Clear();
//GUI_DispString("window");
break;
case WM_TOUCH:
press_event = (struct PressEvt *)pMsg->Data.p;
break;
case WM_TOUCH_CHILD:
break;
case WM_NOTIFY_PARENT:
if(pMsg->Data.v == WM_NOTIFICATION_RELEASED)
{
press_event = (struct PressEvt *)pMsg->Data.p;
if(pMsg->hWinSrc == buttonLangu)
{
if(gCfgItems.language == LANG_ENGLISH)
gCfgItems.language = LANG_SIMPLE_CHINESE;
else if(gCfgItems.language == LANG_SIMPLE_CHINESE)
gCfgItems.language = LANG_ENGLISH;
////// bakup_cfg_inf(BAK_LANG_ID, gCfgItems.language);
disp_sel_lang();
}
}
break;
default:
WM_DefaultProc(pMsg);
}
}
void draw_main_ui()
{
int index;
int x_off = 0, y_off = 0;
int _x, _y;
uint16_t *p_index;
int i;
disp_state_stack._disp_index = 0;
memset(disp_state_stack._disp_state, 0, sizeof(disp_state_stack._disp_state));
disp_state_stack._disp_state[disp_state_stack._disp_index] = PRINT_READY_UI;
disp_state = MAIN_UI;
//GUI_SetFont(&FONT_TITLE);
//GUI_SetBkColor(gCfgItems.background_color);
//GUI_Clear();
//GUI_SetColor(gCfgItems.title_color);
//GUI_FillRect(0, 0, LCD_WIDTH - 1, LCD_HEIGHT/2 - 1);
//#if VERSION_WITH_PIC
#if 0
for(index = 0; index < 10; index ++)
{
Pic_Logo_Read("bmp_logo.bin", bmp_public_buf, 15360);
i = 0;
//GUI_DrawBitmap(&bmp_struct, x_off, y_off);
LCD_setWindowArea(0, y_off * 24, 320, 24);
LCD_SetCursor(0, y_off * 24);
LCD_WriteRAM_Prepare(); /* Prepare to write GRAM */
for(_y = y_off * 24; _y < (y_off + 1) * 24; _y++)
{
for (x_off = 0; x_off < 320; x_off++)
{
p_index = (uint16_t *)(&bmp_public_buf[i]);
LCD_WriteRAM(*p_index);
i += 2;
}
if(i >= 15360)
break;
}
y_off++;
}
LCD_setWindowArea(0, 0, 319, 239);
#endif
}
void clear_main_ui()
{
GUI_SetBkColor(gCfgItems.background_color);
if(WM_IsWindow(hMainWnd))
{
WM_DeleteWindow(hMainWnd);
//GUI_Exec();
}
//GUI_Exec();
}