/** * @brief Paints button * @param hObj: button handle * @retval None */ static void _OnPaint_drowise(BUTTON_Handle hObj) { int Index; GUI_SetBkColor(FRAMEWIN_GetDefaultClientColor()); GUI_Clear(); Index = (WIDGET_GetState(hObj) & BUTTON_STATE_PRESSED) ? 1 : 0; if(Index) { GUI_DrawBitmap(&bmdes_water_sub, 0, 0); } else { GUI_DrawBitmap(&bmwater_sub, 0, 0); } }
/********************************************************************* * * _cbBkWindow */ static void _cbBkWindow(WM_MESSAGE * pMsg) { int xPos, yPos; xPos = LCD_GetXSize() / 2 - bmSeggerLogoBlue.XSize/2; yPos = LCD_GetYSize() / 2 - bmSeggerLogoBlue.YSize/2 ; switch (pMsg->MsgId) { case WM_PAINT: //GUI_SelectLayer(LAYER); GUI_SetBkColor(GUI_BLUE); GUI_Clear(); GUI_SetColor(GUI_WHITE); GUI_SetFont(&GUI_Font24_ASCII); GUI_DispStringHCenterAt("DIALOG_SliderColor - Sample", 160, 5); GUI_DrawBitmap(&bmSeggerLogoBlue, xPos, yPos ); default: WM_DefaultProc(pMsg); } }
/********************************************************************* * * _cbBkWindow */ static void _cbBkWindow(WM_MESSAGE * pMsg) { int i; switch (pMsg->MsgId) { case WM_PAINT: GUI_SetBkColor(GUI_BLUE); GUI_Clear(); GUI_SetColor(GUI_WHITE); GUI_SetFont(&GUI_Font24_ASCII); GUI_DispStringHCenterAt("Counting Sample", 160, 5); GUI_SetFont(&GUI_Font8x16); for (i = 0; i < GUI_COUNTOF(_asExplain); i++) { GUI_DispStringAt(_asExplain[i], 5, 40 + i * 16); } default: WM_DefaultProc(pMsg); } }
void GUIDEMO_Cursor(void) { int i = 0; GUIDEMO_ShowIntro("Cursor", "\nuC/GUI supports" "\nsoftware cursor"); GUI_SetBkColor(GUI_BLUE); GUI_Clear(); _DispCursor(); GUIDEMO_Delay(2000); GUIDEMO_NotifyStartNext(); GUI_CURSOR_Show(); for ( i = 0;(i < countof(_aCursor) && !GUIDEMO_CheckCancel()); i++) { _MoveCursor(_aCursor[i]); } GUI_CURSOR_SetPosition(0,0); GUI_CURSOR_Select(&GUI_CursorArrowM); }
static void Paint(TERMINAL_Obj* pObj/*, GUI_RECT*pRect*/) { char*s = (char*) WM_HMEM2Ptr(pObj->hpText); GUI_RECT rClient; GUI_DEBUG_LOG("TERMINAL: Paint(..)\n"); GUI_GetClientRect(&rClient); /* Draw background */ GUI_SetBkColor (GUI_WHITE/*pObj->aBkColor[0]*/); GUI_SetColor (GUI_BLACK /*pObj->aTextColor[0]*/); GUI_Clear(); /* Draw the text */ { GUI_RECT rText = rClient; rText.x0 +=3; // GUI_SetFont (pObj->pFont); GUI_DispStringInRect(s, &rText, GUI_TA_LEFT); } }
/** * @brief Paints Full Screen button * @param hObj: button handle * @retval None */ static void _OnPaint_fullscreen(BUTTON_Handle hObj) { int Index; GUI_SetBkColor(FRAMEWIN_GetDefaultClientColor()); GUI_Clear(); Index = (WIDGET_GetState(hObj) & BUTTON_STATE_PRESSED) ? 1 : 0; if(Index) { GUI_DrawBitmap(&bmwindowfullscreen, 0, 0); } else { GUI_DrawBitmap(&bmwindownofullscreen, 0, 0); } }
void GUIDEMO_Graph(void) { #if GUIDEMO_LARGE _YSize = (LCD_YSIZE - 100); #else _YSize = (LCD_YSIZE - 30); #endif GUIDEMO_ShowIntro("Drawing a graph", "\nOptimized drawing routine" "\nfor drawing graph data"); GUI_Clear(); _Label(); _DemoRandomGraph(); GUIDEMO_NotifyStartNext(); _DemoSineWave(); GUIDEMO_NotifyStartNext(); _DemoOrData(); }
/** * @brief Paints Next button * @param hObj: button handle * @retval None */ static void _OnPaint_next(BUTTON_Handle hObj) { int Index; GUI_SetBkColor(FRAMEWIN_GetDefaultClientColor()); GUI_Clear(); Index = (WIDGET_GetState(hObj) & BUTTON_STATE_PRESSED) ? 1 : 0; if(Index) { GUI_DrawBitmap(&bmnext_pressed, 0, 0); } else { GUI_DrawBitmap(&bmnext_not_pressed, 0, 0); } }
/******************************************************************* * * _cbBkWindow */ static void _cbBkWindow(WM_MESSAGE* pMsg) { switch (pMsg->MsgId) { case MSG_CHANGE_TEXT: strcpy(_acInfoText, pMsg->Data.p); case WM_PAINT: GUI_SetBkColor(GUI_BLACK); GUI_Clear(); GUI_SetColor(GUI_WHITE); GUI_SetFont(&GUI_Font24_ASCII); GUI_DispStringHCenterAt("WindowManager - Sample", 160, 5); GUI_SetFont(&GUI_Font8x16); GUI_DispStringAt(_acInfoText, 5, 40); break; default: WM_DefaultProc(pMsg); } }
/********************************************************************* * * _Main */ static void _Main(void) { int xSize; int ySize; WM_SelectWindow(WM_HBKWIN); GUI_Clear(); #if (GUI_SUPPORT_CURSOR | GUI_SUPPORT_TOUCH) GUI_CURSOR_Show(); #endif // // Create and configure Control and Information window // xSize = LCD_GetXSize(); ySize = LCD_GetYSize(); _hDialogControl = GUI_CreateDialogBox(_aFrameWinControl, GUI_COUNTOF(_aFrameWinControl), &_cbFrameWinControl, WM_HBKWIN, xSize - CONTROL_SIZE_X, ySize - CONTROL_SIZE_Y); _hDialogInfo = GUI_CreateDialogBox(_aFrameWinInfo, GUI_COUNTOF(_aFrameWinInfo), &_cbFrameWinInfo, WM_HBKWIN, (xSize >> 1) - 1, 0); WM_HideWindow(_hDialogInfo); // // Show Intro // WM_InvalidateWindow(_hDialogControl); WM_DisableMemdev(WM_HBKWIN); GUI_Exec(); WM_EnableMemdev(WM_HBKWIN); GUIDEMO_Intro(); // // Run the demos // for (_iDemo = 0; _GUIDemoConfig.apFunc[_iDemo]; _iDemo++) { _ClearHalt(); GUIDEMO_UpdateControlText(); (*_GUIDemoConfig.apFunc[_iDemo])(); _iDemoMinor = 0; _Pressed = 0; } _iDemo = 0; // // Cleanup // WM_DeleteWindow(_hDialogControl); WM_DeleteWindow(_hDialogInfo); #if (GUI_SUPPORT_CURSOR | GUI_SUPPORT_TOUCH) GUI_CURSOR_Hide(); #endif }
/******************************************************************* * * _cbDemoCallback2 */ static void _cbDemoCallback2(WM_MESSAGE * pMsg) { int x; int y; switch (pMsg->MsgId) { case WM_PAINT: GUI_SetBkColor(GUI_MAGENTA); GUI_Clear(); GUI_SetColor(GUI_YELLOW); GUI_SetFont(&GUI_FontComic18B_1); x = WM_GetWindowSizeX(pMsg->hWin); y = WM_GetWindowSizeY(pMsg->hWin); GUI_DispStringHCenterAt("Window 2\nanother Callback", x / 2, (y / 4) - 18); break; default: WM_DefaultProc(pMsg); } }
/********************************************************************* * * _OnPaint */ static void _OnPaint(void) { int xPos = 0; GUI_RECT Rect; GUI_SetBkColor(GUI_GRAY); GUI_Clear(); WM_GetClientRect(&Rect); Rect.x1 = HEADER_GetItemWidth(_hHeader, 0); GUI_SetColor(GUI_RED); GUI_FillRect(Rect.x0, Rect.y0, Rect.x1, Rect.y1); Rect.x0 = Rect.x1; Rect.x1 += HEADER_GetItemWidth(_hHeader, 1); GUI_SetColor(GUI_GREEN); GUI_FillRect(Rect.x0, Rect.y0, Rect.x1, Rect.y1); Rect.x0 = Rect.x1; Rect.x1 += HEADER_GetItemWidth(_hHeader, 2); GUI_SetColor(GUI_BLUE); GUI_FillRect(Rect.x0, Rect.y0, Rect.x1, Rect.y1); }
/** * @brief Paints repeat button * @param repeat_status: repeat button status * @retval None */ static void _OnPaint_repeat(uint32_t repeat_status) { GUI_SetBkColor(FRAMEWIN_GetDefaultClientColor()); GUI_Clear(); if(PlayerSettings.b.repeat == REPEAT_NONE) { GUI_DrawBitmap(&bmrepeat_off, 0, 0); } else if(PlayerSettings.b.repeat == REPEAT_ONCE) { GUI_DrawBitmap(&bmrepeat1, 0, 0); } else if(PlayerSettings.b.repeat == REPEAT_ALL) { GUI_DrawBitmap(&bmrepeat_all, 0, 0); } }
static void _Main(void) { WM_SelectWindow(WM_HBKWIN); GUI_Clear(); WM_InvalidateWindow(_hDialogControl); WM_DisableMemdev(WM_HBKWIN); GUI_Exec(); WM_EnableMemdev(WM_HBKWIN); GUIDEMO_Intro(); GUIDEMO_TransparentDialog(); GUIDEMO_Graph(); GUIDEMO_ColorBar(); _iDemo = 0; WM_DeleteWindow(_hDialogControl); }
/********************************************************************* * * _cbDesktop * * Purpose: * This routine handles the drawing of the desktop window. */ static void _cbDesktop(WM_MESSAGE * pMsg) { int i; switch (pMsg->MsgId) { case WM_PAINT: GUI_SetBkColor(GUI_RED); GUI_Clear(); GUI_SetFont(&GUI_Font24_ASCII); GUI_DispStringHCenterAt(_aTitle, 160, 5); GUI_DispNextLine(); GUI_SetFont(GUI_DEFAULT_FONT); GUI_DispNextLine(); for (i = 0; i < GUI_COUNTOF(_apExplain); i++) { GUI_DispStringHCenterAt(_apExplain[i], 160, GUI_GetDispPosY()); GUI_DispNextLine(); } break; } }
void Hello_MSG(void) { GUI_SetColor(GUI_BLUE); GUI_SetFont(&GUI_Font16_1); GUI_DispStringHCenterAt("Oscyloskop cyfrowy v1.1" , 240, 150); GUI_DispStringHCenterAt("Adrian Kurylak" , 240, 175); GUI_DispStringHCenterAt("Politechnika Wroclawska" , 240, 200); GUI_SetFont(&GUI_Font32_1); GUI_DispStringHCenterAt("Inicjalizacja" , 240, 120); osDelay(250); GUI_DispStringHCenterAt("Inicjalizacja." , 240, 120); osDelay(500); GUI_DispStringHCenterAt("Inicjalizacja.." , 240, 120); osDelay(500); GUI_DispStringHCenterAt("Inicjalizacja..." , 240, 120); osDelay(750); GUI_Clear(); }
void Display_wait(u8 datain) { GUI_SetBkColor(GUI_BLACK); GUI_Clear(); DisplayBattery(); GUI_SetColor(GUI_CYAN); if(datain==0) { GUI_DispStringAt("正在验证白酒",12,20); GUI_DispStringAt("防伪信息 Wait...",0,40); } else { GUI_DispStringAt("正在生成在线",12,20); GUI_DispStringAt("识别信息 Wait...",0,40); } }
static WM_RESULT cbBackWin( WM_MESSAGE* pMsg) { WM_KEY_INFO* pKeyInfo; switch (pMsg->MsgId) { case WM_KEY: pKeyInfo = (WM_KEY_INFO*)pMsg->Data.p; if (pKeyInfo->PressedCnt == 0) { GUI_StoreKey(pKeyInfo->Key); } break; case WM_PAINT: if (WM__BkColor != GUI_INVALID_COLOR) { GUI_SetBkColor(WM__BkColor); GUI_Clear(); } default: WM_DefaultProc(pMsg); } }
static void _cbClock(WM_MESSAGE *pMsg) { int NCode, Id; //PARAM pParam; switch (pMsg->MsgId) { case WM_PAINT: GUI_SetBkColor(GUI_WHITE); GUI_Clear(); GUI_SetColor(GUI_BLACK); _ShowButton(pMsg->hWin); GUI_DrawBitmap(&bmwatch, 37, 0); //GUI_AA_FillPolygon(pParam.aPoint1, GUI_COUNTOF(_aNeedle[0]), MAG * LCD_GetXSize() / 2, MAG * (LCD_GetYSize() / 2)); // GUI_AA_FillPolygon(pParam.aPoint2, GUI_COUNTOF(_aNeedle[1]), MAG * LCD_GetXSize() / 2, MAG * (LCD_GetYSize() / 2)); //GUI_AA_FillPolygon(pParam.aPoint3, GUI_COUNTOF(_aNeedle[2]), MAG * LCD_GetXSize() / 2, MAG * (LCD_GetYSize() / 2)); GUI_FillCircle(160, 120, 3); break; case WM_NOTIFY_PARENT: Id = WM_GetId(pMsg->hWinSrc); /* Id of widget */ NCode = pMsg->Data.v; /* Notification code */ switch (NCode) { case WM_NOTIFICATION_CLICKED: switch (Id) { case BUTTON_ID_EXIT: GUI_SetAppIndex(APP_MainMenu); GUI_SetAppDirection(MEMDEV_ANIMATION_LEFT); _MoveShiftWindow(&pMsg->hWin, MEMDEV_ANIMATION_RIGHT, 1, 1); GUI_SetCancel(APP_Clock); GUI_ClearHalt(); break; default: break; } } break; default: WM_DefaultProc(pMsg); } }
void GUIDEMO_HardwareInfo(void) { #if (LCD_CONTROLLER == 1375) | (LCD_CONTROLLER == 13705) | (LCD_CONTROLLER == 1386) | (LCD_CONTROLLER == 13806) | (LCD_CONTROLLER == -1) GUIDEMO_ShowIntro("Hardware info", "" ); GUI_Clear(); #if GUIDEMO_LARGE GUI_SetFont(&GUI_FontComic24B_ASCII); #else GUI_SetFont(&GUI_FontComic18B_ASCII); #endif GUIDEMO_SetColor(GUI_WHITE); #if (LCD_CONTROLLER == 1375) | (LCD_CONTROLLER == 13705) #if GUIDEMO_LARGE GUI_DispStringAt("EPSON 13705\n", 10, 65 ); #else GUI_DispStringHCenterAt("EPSON 13705\n", LCD_XSIZE >> 1, LCD_YSIZE / 14); #endif _Show("On chip VRAM", "80 kb"); _Show("Max. colors", "4096 (4 bit per color)"); _Show("Display types", "Mono / color / TFT"); _Show("LUT", "256 index colors"); #elif (LCD_CONTROLLER == 1386) | (LCD_CONTROLLER == 13806) #if GUIDEMO_LARGE GUI_DispStringAt("EPSON 13806\n", 10, 65 ); #else GUI_DispStringHCenterAt("EPSON 13806\n", LCD_XSIZE >> 1, LCD_YSIZE / 14); #endif _Show("On chip VRAM", "1200 kb"); _Show("Max. colors", "65536 (up to 16 bpp)"); _Show("Display types", "Mono / color / TFT (analog / digital)"); _Show("LUT", "256 index colors"); #elif (LCD_CONTROLLER == -1) #if GUIDEMO_LARGE GUI_DispStringAt("Himax 8346\n", 10, 65 ); #else GUI_DispStringHCenterAt("Himax 8346\n", LCD_XSIZE >> 1, LCD_YSIZE / 14); #endif _Show("On chip GRAM", "1380 kb"); _Show("Max. colors", "262144 (up to 18 bpp)"); _Show("Display types", "Mono / color / TFT"); _Show("LUT", "256 index colors"); #endif GUIDEMO_Delay(2500); #endif }
/******************************************************************* * * _cbWindow2 */ static void _cbWindow2(WM_MESSAGE* pMsg) { int x, y; switch (pMsg->MsgId) { case WM_PAINT: GUI_SetBkColor(_WindowColor2); GUI_Clear(); GUI_SetColor(GUI_WHITE); GUI_SetFont(&GUI_Font24_ASCII); x = WM_GetWindowSizeX(pMsg->hWin); y = WM_GetWindowSizeY(pMsg->hWin); GUI_DispStringHCenterAt("Window 2", x / 2, (y / 4) - 12); break; case WM_SIZE: WM_InvalidateWindow(_hChild); break; default: WM_DefaultProc(pMsg); } }
/********************************************************************* * * _GetPhysValues * * Purpose: * Asks the user to press the touch screen at the given position * and returns the physical pixels(A/D) values */ static void _GetPhysValues(int LogX, int LogY, int * pPhysX, int * pPhysY, const char * pString) { char acText[] = "Press here"; GUI_RECT Rect; GUI_PID_STATE State; int FontSizeY, Align; FontSizeY = GUI_GetFontSizeY(); /*获取字体的高度*/ GUI_Clear(); GUI_SetColor(GUI_BLACK); _DispStringCentered("Runtime calibration,\n" "please touch the corners of the screen\n" "at the center of the rings."); /* Ask user to press the touch */ /* Calculate the rectangle for the string(根据触摸点的位置,设置文字显示的区域) */ if (LogX < LCD_GetXSize() / 2) {/*判断是左上角的点,还是有下角的点*/ Rect.x0 = LogX + 25; Rect.x1 = LCD_GetXSize(); Rect.y0 = LogY - FontSizeY + 5; /*设置大小能显示两行字符*/ Rect.y1 = LogY + FontSizeY + 5; Align = GUI_TA_LEFT; } else { Rect.x0 = 0; Rect.x1 = LogX - 25; Rect.y0 = LogY - FontSizeY - 5; Rect.y1 = LogY + FontSizeY - 5; Align = GUI_TA_RIGHT; } /* Show the text nearby the ring */ GUI_DispStringInRect(acText, &Rect, Align | GUI_TA_TOP); GUI_DispStringInRect(pString, &Rect, Align | GUI_TA_BOTTOM); /* Draw the ring */ GUI_FillCircle(LogX, LogY, 10); GUI_SetColor(GUI_WHITE); GUI_FillCircle(LogX, LogY, 7); GUI_SetColor(GUI_BLACK); /* Wait until touch is pressed */ _WaitForPressedState(1); /*得到触摸点的值*/ GUI_TOUCH_GetState(&State); *pPhysX = State.x; *pPhysY = State.y; /* Wait until touch is released */ _WaitForPressedState(0); }
/********************************************************************* * * MainTask */ void MainTask(void) { GUI_PID_STATE TouchState; int xPhys; int yPhys; GUI_Init(); GUI_CURSOR_Show(); GUI_CURSOR_Select(&GUI_CursorCrossL); GUI_SetBkColor(GUI_WHITE); GUI_SetColor(GUI_BLACK); GUI_Clear(); GUI_DispString("Measurement of\nA/D converter values"); while (1) { GUI_TOUCH_GetState(&TouchState); // Get the touch position in pixel xPhys = GUI_TOUCH_GetxPhys(); // Get the A/D mesurement result in x yPhys = GUI_TOUCH_GetyPhys(); // Get the A/D mesurement result in y // // Display the measurement result // GUI_SetColor(GUI_BLUE); GUI_DispStringAt("Analog input:\n", 0, 20); GUI_GotoY(GUI_GetDispPosY() + 2); GUI_DispString("x:"); GUI_DispDec(xPhys, 4); GUI_DispString(", y:"); GUI_DispDec(yPhys, 4); // // Display the according position // GUI_SetColor(GUI_RED); GUI_GotoY(GUI_GetDispPosY() + 4); GUI_DispString("\nPosition:\n"); GUI_GotoY(GUI_GetDispPosY() + 2); GUI_DispString("x:"); GUI_DispDec(TouchState.x,4); GUI_DispString(", y:"); GUI_DispDec(TouchState.y,4); // // Wait a while // GUI_Delay(100); }; }
/** * @brief Paints camera button * @param hObj: button handle * @retval None */ static void _OnPaint_camera(BUTTON_Handle hObj, uint32_t alarm_status, uint32_t camera_status) { GUI_SetBkColor(FRAMEWIN_GetDefaultClientColor()); GUI_Clear(); GUI_DrawBitmap(&bmcamera, 0, 0); if(HomeSettings.b.alarm == ALARM_ON) { if(HomeSettings.b.camera != CAM_DESACTIVATED) { GUI_DrawBitmap(&bmdes_camera, 0, 0); } } else { GUI_DrawBitmap(&bmcamera, 0, 0); } }
void OUI_DrawGraph(){ GUI_MEMDEV_Select(OUI_MemoryDeviceGrid.DeviceHandle); GUI_SetBkColor(OUI_GRAPH_BACKGROUND); GUI_Clear(); GUI_SetColor(OUI_GRAPH_LINES); for(int i = 0; i <= 180; i += 20){ GUI_DrawLine(0, i, 270, i); } for(int i = 0; i <= 270; i += 30){ GUI_DrawLine(i, 0, i, 180); } OUI_Components[2]->DrawGraph(OUI_Components[1], 0, 0); OUI_Components[1]->DrawGraph(OUI_Components[1], 0, 0); GUI_MEMDEV_CopyToLCDAt(OUI_MemoryDeviceGrid.DeviceHandle,OUI_MemoryDeviceGrid.X,OUI_MemoryDeviceGrid.Y); GUI_MEMDEV_Clear(OUI_MemoryDeviceGrid.DeviceHandle); }
void vCardUID( char *cardType, uint8_t *bUidPresent, uint8_t *nCardDetected, uint8_t *nCardPrevious ){ char msg[20]; /* if( empty == 1 || empty == 2 ) { // to trovato almeno una vCard return; }*/ if (nCardDetected==nCardPrevious){ return; } WM_SetDesktopColor(GUI_BLACK); GUI_SetBkColor(GUI_BLACK); GUI_SetColor(GUI_GREEN); GUI_Clear(); // GUI_SetFont(&GUI_Font32B_ASCII); // GUI_DispStringAt( cardType, 120-strlen(cardType)*10/2, 20); if( bUidPresent != NULL ) { int i=0; for (i=0;i<nCardDetected;i++){ sprintf( msg, "UID %02X : %02X%02X%02X%02X", i+1, bUidPresent[4*i+0], bUidPresent[4*i+1], bUidPresent[4*i+2], bUidPresent[4*i+3] ); GUI_DispStringAt( msg, 0, 20*i+20); } /* sprintf( msg, "UID 01 : %02X%02X%02X%02X", bUidPresent[0], bUidPresent[1], bUidPresent[2], bUidPresent[3] ); GUI_DispStringAt( msg, 0, 80); sprintf( msg, "UID 02 : %02X%02X%02X%02X", bUidPresent[4], bUidPresent[5], bUidPresent[6], bUidPresent[7] ); GUI_DispStringAt( msg, 0, 120); */ } GUI_SetColor( (GUI_COLOR)0x003f3f3f ); GUI_FillRect( 0, 214, 319, 239 ); GUI_SetBkColor((GUI_COLOR)0x003f3f3f); GUI_SetColor(GUI_RED); GUI_SetFont(&GUI_Font24B_ASCII); GUI_DispStringAt( "Reading Card", 80, 215); empty = 1; }
static void _UpdateCmdWin(void) { #if GUI_WINSUPPORT && GUIDEMO_LARGE /* Update info in command window */ WM_HWIN hWin; GUI_CONTEXT ContextOld; GUI_SaveContext(&ContextOld); hWin = WM_SelectWindow(_ahInfoWin[1]); GUI_SetDefault(); GUI_SetBkColor(GUI_GRAY); GUI_Clear(); GUI_DispStringAt("Demo ", 0, 0); GUI_DispDecMin(_iTest + 1); GUI_DispString("."); GUI_DispDecMin(_iTestMinor); GUI_DispString("/"); GUI_DispDecMin(countof(_apfTest)); WM_SelectWindow(hWin); GUI_RestoreContext(&ContextOld); #endif }
/******************************************************************* * * _DemoEdit * Edit a string until ESC or ENTER is pressed */ static void _DemoEdit(void) { EDIT_Handle hEdit; char aBuffer[28]; int Key; GUI_SetBkColor(GUI_BLACK); GUI_Clear(); GUI_SetColor(GUI_WHITE); GUI_SetFont(&GUI_Font24_ASCII); GUI_DispStringHCenterAt("WIDGET_Edit - Sample", 160, 5); GUI_SetFont(&GUI_Font8x16); GUI_DispStringHCenterAt("Use keyboard to modify string...", 160, 90); /* Create edit widget */ hEdit = EDIT_Create( 50, 110, 220, 25, ' ', sizeof(aBuffer), WM_CF_SHOW); /* Modify edit widget */ EDIT_SetText(hEdit, "Press <ENTER> when done..."); EDIT_SetFont(hEdit, &GUI_Font8x16); EDIT_SetTextColor(hEdit, 0, GUI_RED); /* Set keyboard focus to edit widget */ WM_SetFocus(hEdit); /* Handle keyboard until ESC or ENTER is pressed */ do { WM_Exec(); Key = GUI_GetKey(); } while ((Key != GUI_KEY_ENTER) && (Key != GUI_KEY_ESCAPE)); /* Fetch result from edit widget */ if (Key == GUI_KEY_ENTER) { EDIT_GetText(hEdit, aBuffer, sizeof(aBuffer)); } /* Delete the edit widget */ EDIT_Delete(hEdit); GUI_ClearRect(0, 50, 319, 239); /* Display the changed string */ if (Key == GUI_KEY_ENTER) { GUI_Delay(250); GUI_DispStringHCenterAt("The string you have modified is:", 160, 90); GUI_DispStringHCenterAt(aBuffer, 160, 110); GUI_Delay(3000); GUI_ClearRect(0, 50, 319, 239); } GUI_Delay(500); }
/** * @brief wt_InitBackGround * @param * @retval None */ void wt_InitBackGround(void) { // uint32_t i = 0; sprintf((char *)StatusText, "就绪..."); GUI_SelectLayer(0); GUI_SetLayerVisEx (0, 0); GUI_DrawBitmap(&bm_BackGround480x272A, 0,0); GUI_SetLayerVisEx (0, 1); GUI_SelectLayer(1); GUI_SetBkColor(GUI_TRANSPARENT); GUI_Clear(); // creat title hWin_Title = GUI_CreateDialogBox(_aTitleDialogCreate, GUI_COUNTOF(_aTitleDialogCreate), _cbTitle, WM_HBKWIN, 0, 0); //creat status hWin_Statue = WM_CreateWindowAsChild(0,LCD_GetYSize()-25,LCD_GetXSize(), 25, WM_HBKWIN, WM_CF_SHOW | WM_CF_HASTRANS , _cbStatus, 0); }
/******************************************************************* * * _DrawIt */ static void _DrawIt(void * pData) { tDrawItContext * pDrawItContext = (tDrawItContext *)pData; GUI_Clear(); GUI_SetFont(&GUI_Font8x8); GUI_SetTextMode(GUI_TM_TRANS); /* draw background */ GUI_SetColor(GUI_GREEN); GUI_FillRect(pDrawItContext->XPos_Text, pDrawItContext->YPos_Text - 25, pDrawItContext->XPos_Text + 100, pDrawItContext->YPos_Text - 5); /* draw polygon */ GUI_SetColor(GUI_BLUE); GUI_FillPolygon(pDrawItContext->aPointsDest, SIZE_OF_ARRAY(aPoints), 160, 120); /* draw foreground */ GUI_SetColor(GUI_RED); GUI_FillRect(220 - pDrawItContext->XPos_Text, pDrawItContext->YPos_Text + 5, 220 - pDrawItContext->XPos_Text + 100, pDrawItContext->YPos_Text + 25); }