/******************************************************************** * * MainTask */ void MainTask(void) { GUI_MEMDEV_Handle hMem; GUI_Init(); _Explain(); /* Explain the sample */ GUI_SetFont(&GUI_Font16B_ASCII); GUI_SetColor(GUI_WHITE); GUI_DispStringAt("Screen output:", 5, 59); _Draw(); /* Draw "Preview" on the screen */ /* Create and select a memory device with 1bpp color conversion (B/W) */ hMem = GUI_MEMDEV_CreateFixed(0, 75, 320, 64, 0, GUI_MEMDEV_APILIST_1, /* Used API list */ GUI_COLOR_CONV_1); /* Black/white color conversion */ GUI_MEMDEV_Select(hMem); _Draw(); /* Call the same routine as before for drawing into memory device */ GUI_MEMDEV_Select(0); /* Switch back from memory device to the display */ GUI_SetFont(&GUI_Font16B_ASCII); GUI_SetColor(GUI_WHITE); GUI_DispStringAt("Printer output:", 5, 154); _SendToPrinter(hMem, 170); /* Cleanup, end-of sample */ GUI_MEMDEV_Delete(hMem); while(1) { GUI_Exec(); } }
void mostraElencoMancanti() { char msg[35]; int k=0,c=0,j=0; GUI_DispStringAt( "Nella scatola manca:", 0, 20); Nodo_t *temp = listaTagMancanti; while (temp!=NULL) { for (k=0; k<maxR; k++) { uint8_t tempTag[4]; for (c=0;c<4;c++){ tempTag[c] = l_tabellaMedicine[k][c]; } if (confronta_tag(temp->info,tempTag)==1) { for (c=0;c<35;c++){ msg[c] = l_tabellaMedicine[k][c+4]; GUI_DispStringAt(msg, 0, 20*j+40); } j++; break; } } temp = temp->prox; } showTime(); }
/******************************************************************* * * _DrawPolygon Draws polygons of different shapes and colors */ static void _DrawPolygon(void) { int y = 90; /* clear display */ GUI_SetBkColor(GUI_BLACK); GUI_Clear(); /* display text */ GUI_SetColor(GUI_WHITE); GUI_SetFont(&GUI_Font24_ASCII); GUI_SetTextAlign(GUI_TA_HCENTER); GUI_DispStringAt("DrawPolygon - Sample", 160, 5); GUI_SetFont(&GUI_Font8x16); GUI_DispStringAt("using", 5, 40); GUI_DispStringAt("GUI_FillPolygon", 5, 55); GUI_SetTextAlign(GUI_TA_HCENTER); GUI_DispStringAt("Polygons of arbitrary shape\nin any color", 160, y + 90); GUI_Delay(500); /* draw filled polygons */ while (1) { GUI_ClearRect(100, y, 220, y + 85); GUI_SetColor(GUI_BLUE); GUI_FillPolygon (&_aPointArrow[0], 7, 160, y + 80); GUI_Delay(1000); GUI_ClearRect(100, y, 220, y + 85); GUI_SetColor(GUI_RED); GUI_FillPolygon (&_aPointStar[0], 8, 160, y + 45); GUI_Delay(1000); GUI_ClearRect(100, y, 220, y + 85); GUI_SetColor(GUI_GREEN); GUI_FillPolygon(&_aPointHexagon[0], 6, 160, y + 45); GUI_Delay(1000); } }
void GUIDEMO_Circle(void) { int XSize = LCD_GetXSize(); int YSize = LCD_GetYSize(); GUIDEMO_ShowIntro("Circles", "\nArbitrary circles" "\nand arcs."); GUI_Clear(); GUI_SetFont(&GUI_Font8x16); GUI_SetColor(GUI_WHITE); #if GUIDEMO_LARGE GUI_DispStringAt("Circle", 0, 0); #endif GUI_FillCircle (XSize / 2, YSize / 2, 50); GUIDEMO_Wait(); GUI_SetDrawMode(GUI_DM_XOR); GUI_FillCircle (XSize / 2, YSize / 2, 60); GUI_SetDrawMode(0); GUIDEMO_Wait(); #if GUI_SUPPORT_AA #if GUIDEMO_LARGE GUIDEMO_ShowInfo("Circles with\nAntialiasing"); #endif GUI_Clear(); GUI_SetColor(GUI_WHITE); #if GUIDEMO_LARGE GUI_DispStringAt("Antialiased\ncircle", 0, 0); #endif GUI_AA_FillCircle(XSize / 2, YSize / 2, 47); GUIDEMO_Wait(); #endif }
/******************************************************************* * * _cbBkWindow */ static void _cbBkWindow(WM_MESSAGE* pMsg) { switch (pMsg->MsgId) { case MSG_CHANGE_MAIN_TEXT: strcpy(_acMainText, pMsg->Data.p); WM_InvalidateWindow(pMsg->hWin); break; case MSG_CHANGE_INFO_TEXT: strcpy(_acInfoText, pMsg->Data.p); WM_InvalidateWindow(pMsg->hWin); break; case WM_PAINT: GUI_SetBkColor(GUI_BLACK); GUI_Clear(); GUI_SetColor(GUI_WHITE); GUI_SetFont(&GUI_Font24_ASCII); GUI_DispStringHCenterAt("LISTVIEW Widget - Sample", 160, 5); GUI_SetFont(&GUI_Font8x16); GUI_DispStringAt(_acMainText, 5, 40); GUI_SetFont(&GUI_Font8x8); GUI_DispStringAt(_acInfoText, 5, 60); break; default: WM_DefaultProc(pMsg); } }
void GUIDEMO_HardwareInfo(void) { #if (LCD_CONTROLLER == 1375) | (LCD_CONTROLLER == 13705) | (LCD_CONTROLLER == 1386) | (LCD_CONTROLLER == 13806) 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"); #endif GUIDEMO_Delay(1500); #endif }
/********************************************************************* * * _cbFrameWinVideo */ static void _cbFrameWinVideo(WM_MESSAGE* pMsg) { switch (pMsg->MsgId) { case WM_PAINT: if (_IsCompletelyVis) { GUI_SetBkColor(GUI_DARKGREEN); GUI_Clear(); GUI_SetColor(GUI_WHITE); GUI_DispStringAt("Completely visible", 5, 5); } else { GUI_SetBkColor(GUI_GRAY); GUI_Clear(); GUI_SetColor(GUI_WHITE); GUI_DispStringAt("Not completely visible", 5, 5); } break; case WM_NOTIFY_VIS_CHANGED: { WM_HWIN hWin; int IsCompletelyVis; hWin = WM_GetClientWindow(pMsg->hWin); IsCompletelyVis = WM_IsCompletelyVisible(hWin); if (_IsCompletelyVis != IsCompletelyVis) { _IsCompletelyVis = IsCompletelyVis; WM_InvalidateWindow(hWin); /* Only required if content changes if partially hidden */ } } break; default: WM_DefaultProc(pMsg); } }
/********************************************************************* * * _cbBkWin */ static void _cbBkWin(WM_MESSAGE* pMsg) { switch(pMsg->MsgId) { case WM_PAINT: GUI_SetBkColor(GUI_BLACK); GUI_Clear(); GUI_SetColor(0x0060FF); GUI_DispStringAt("PaintCount (Early):", 0, 0); GUI_DispDecAt(_PaintCount1, 120, 0, 5); GUI_SetColor(0x00FFC0); GUI_DispStringAt("PaintCount (Late):", 0, 12); GUI_DispDecAt(_PaintCount2, 120, 12, 5); break; case WM_NOTIFY_PARENT: if (pMsg->Data.v == WM_NOTIFICATION_RELEASED) { if (pMsg->hWinSrc == _hBut1) { WM_InvalidateWindow(_hWin1); WM_InvalidateWindow(_hWin2); } else if (pMsg->hWinSrc == _hBut2) { _PaintCount1 = 0; _PaintCount2 = 0; WM_InvalidateWindow(pMsg->hWin); } } break; default: WM_DefaultProc(pMsg); } }
void Display_Welcome(void) { GUI_SetBkColor(GUI_BLACK); GUI_Clear(); DisplayBattery(); GUI_SetColor(GUI_CYAN); GUI_DispStringAt("欢迎使用",24,20); GUI_DispStringAt("UHF RFID读写器",6,40); }
/** * 函 数 名: _cbSysInfo(WM_MESSAGE* pMsg) * 描 述: 显示系统信息 * 参 数: pMsg * 返 回 值: 无 */ void _cbSysInfo(WM_MESSAGE* pMsg) { BUTTON_Handle ReurnButton; WM_HWIN hWin = pMsg->hWin; switch (pMsg->MsgId) { case WM_CREATE: /* 设置聚焦*/ WM_SetFocus(hWin); /* 创建返回按键按钮 */ ReurnButton = BUTTON_CreateEx(118,174,94, 52, hWin, WM_CF_SHOW, 0, SYS_INFO_BUTTON_RETURN); BUTTON_SetBitmapEx(ReurnButton,BUTTON_BI_UNPRESSED, &bmSys_return_xg, 0 ,0); BUTTON_SetBitmapEx(ReurnButton,BUTTON_BI_PRESSED, &bmSys_return, 0 ,0); break; case WM_KEY: /* 按下某个键后发送到当前包含焦点的窗口*/ switch (((WM_KEY_INFO*)(pMsg->Data.p))->Key) { case GUI_KEY_ESCAPE: GUI_EndDialog(hWin, 1); break; case GUI_KEY_TAB: WM_SetFocusOnNextChild(hWin); break; } break; case WM_PAINT: GUI_SetBkColor(BK_COLOR_2); GUI_Clear(); GUI_UC_SetEncodeNone(); GUI_SetFont(&GUI_FontHZ16); GUI_DispStringAt("MODEL:7H3DFDM-FW ",30,20); GUI_DispStringAt("VERSION: V0.01",30,50); GUI_DispStringAt("SYSINFO: IN TEST ",30,80); GUI_DispStringAt(__DATE__ " " __TIME__,50,110); GUI_UC_SetEncodeUTF8(); //_ShowBMPEx("1.bmp"); break; case WM_NOTIFY_PARENT: if (pMsg->Data.v == WM_NOTIFICATION_RELEASED) { int Id = WM_GetId(pMsg->hWinSrc); switch (Id) { case SYS_INFO_BUTTON_RETURN: _DeleteFrame(); _CreateFrame(&_cbSysSet); break; } } break; default: WM_DefaultProc(pMsg); } }
void Display_Serianet_Mark(void) { GUI_SetBkColor(GUI_BLACK); GUI_Clear(); DisplayBattery(); GUI_SetColor(GUI_MAGENTA); GUI_DispStringAt("串口透传模式", 12, 20); GUI_DispStringAt("Serianet", 24,040); }
void main_ui(void) { #if 0 _MY_GetTouchPos(); #endif GUI_SetBkColor(GUI_BLACK); GUI_SetColor(GUI_WHITE); GUI_DispStringAt("Hello World!", 30, 200); GUI_DispStringAt("Hello emWin!", 30, 216); GUI_DrawRoundedRect(0,0,200,200,5); GUI_DrawRoundedFrame(2,2,180,20,5,2); }
void DIGITAL_drawBackground(struct tm *t) { drawDate(t); /* Initialize the current time */ drawNumber(t->tm_hour, TIME_ROW, HOUR_COL); drawNumber(t->tm_min, TIME_ROW, MINUTE_COL); drawNumber(t->tm_sec, TIME_ROW, SECOND_COL); GUI_DispStringAt(":", 6 * 8, TIME_ROW); GUI_DispStringAt(":", 9 * 8, TIME_ROW); }
void GUIDEMO_Intro(void) { int xCenter = LCD_GET_XSIZE() / 2; int y; char acText[50] = "Version of uC/GUI: "; strcat(acText, GUI_GetVersionString()); GUI_SetBkColor(GUI_BLUE); GUI_SetColor(GUI_LIGHTRED); GUI_Clear(); GUI_SetFont(&GUI_Font24B_1); GUI_DispStringHCenterAt("uC/GUI", xCenter, y= 15); GUI_SetColor(GUI_WHITE); GUI_SetFont(&GUI_Font13H_ASCII); GUI_DispStringHCenterAt("Universal graphic software" "\nfor embedded applications" , xCenter, y += 30); GUI_SetColor(GUI_LIGHTRED); GUI_SetFont(&GUI_Font16_ASCII); GUI_DispStringHCenterAt("Any CPU - Any LCD - Any Application" , xCenter, y += 40); GUI_SetFont(&GUI_Font10S_ASCII); GUI_DispStringHCenterAt("Compiled " __DATE__ " "__TIME__, xCenter, y += 25); GUI_SetFont(&GUI_Font13HB_1); GUI_SetColor(GUI_WHITE); GUI_DispStringHCenterAt(acText, xCenter, y += 21); GUI_SetFont(&GUI_FontComic18B_1); GUI_SetColor(GUI_WHITE); GUI_DispStringHCenterAt("www.micrium.com", LCD_GET_XSIZE() / 2, LCD_GET_YSIZE() - 40); GUI_DrawBitmap(&bmMicriumLogo, (LCD_GET_XSIZE() - bmMicriumLogo.XSize) / 2, 150); GUI_SetFont(&GUI_Font10S_ASCII); GUI_DispStringAt("GUI_OS: ", 0,210); GUI_DispDecMin(GUI_OS); GUI_DispStringAt("GUI_ALLOC_SIZE: ",0, 220); GUI_DispDecMin(GUI_ALLOC_SIZE); GUI_DispStringAt("Compiler: " #ifdef _MSC_VER "Microsoft" #elif defined (NC308) "Mitsubishi NC308" #elif defined (NC30) "Mitsubishi NC30" #elif defined (__TID__) #if (((__TID__ >>8) &0x7f) == 48) /* IAR MC80 */ "IAR M32C" #elif (((__TID__ >>8) &0x7f) == 85) /* IAR V850 */ "IAR V850" #else /* IAR MC16 */ "IAR M32C" #endif #else "Unknown" #endif ,0, 230); GUIDEMO_Delay(5000); }
/********************************************************************* * * MainTask */ void MainTask(void) { GUI_Init(); GUI_Clear(); GUI_SetFont(&GUI_Font20_1); GUI_DispStringAt("Hello world!", (LCD_GetXSize()-100)/2, (LCD_GetYSize()-20)/2); while(1); }
/******************************************************************* * * _DemoSineWave */ static void _DemoSineWave(void) { PARAM Param; I16 * pStart; int t0, Cnt = 0; GUI_RECT Rect = {19, (LCD_YSIZE - 20) - YSIZE, (LCD_XSIZE - 2), (LCD_YSIZE - 21)}; GUI_HMEM hMem = GUI_ALLOC_AllocZero(405 * sizeof(I16)); GUI_SetColor(GUI_WHITE); GUI_SetBkColor(GUI_RED); GUI_ClearRect(0, 55, LCD_XSIZE, 75); GUI_SetFont(&GUI_FontComic18B_1); GUI_DispStringAt("Sine wave", 20, 55); pStart = GUI_ALLOC_h2p(hMem); _GetSineData(pStart, 405); GUI_SetFont(&GUI_Font6x8); t0 = GUI_GetTime(); while((GUI_GetTime() - t0) < 10000) { int t1, tDiff2; if (Cnt++ % 90) { Param.aY++; } else { Param.aY = pStart; } t1 = GUI_GetTime(); GUI_MEMDEV_Draw(&Rect, _Draw2, &Param, 0, 0); tDiff2 = GUI_GetTime() - t1; if (tDiff2 < 100) { GUI_Delay(100 - tDiff2); } } GUI_ALLOC_Free(hMem); }
/******************************************************************* * * _DemoAntialiasing Draws lines with different antialiasing factors */ static void _DemoAntialiasing(void) { int i, x1, x2, y1, y2; const GUI_FONT *font_old; y1 = 65; y2 = 5; /* Set drawing attributes */ GUI_SetColor(GUI_WHITE); GUI_SetBkColor(GUI_BLACK); GUI_SetPenShape(GUI_PS_FLAT); GUI_Clear(); /* draw headline */ font_old = GUI_SetFont(&GUI_Font24_ASCII); GUI_SetTextAlign(GUI_TA_HCENTER); GUI_DispStringAt("AA_Lines - Sample", 160, 5); /* Draw lines without antialiased */ GUI_Delay(1000); GUI_SetFont(&GUI_Font8x16); GUI_SetTextAlign(GUI_TA_LEFT); GUI_DispStringAtCEOL("draw normal lines using", 5, 40); GUI_DispStringAtCEOL("GUI_DrawLine", 5, 55); GUI_Delay(2500); x1 = 20; x2 = 100; GUI_SetFont(font_old); GUI_DispStringHCenterAt("Normal", (x1 + x2) / 2, 30 + y1); for (i = 1; i < 8; i++) { GUI_SetPenSize(i); GUI_DrawLine(x1, 40 + i * 15 + y1, x2, 40 + i * 15 + y1 + y2); } /* Draw lines with antialiasing quality factor 2 */ GUI_Delay(3000); GUI_SetFont(&GUI_Font8x16); GUI_DispStringAtCEOL("", 5, 40); GUI_DispStringAtCEOL("", 5, 55); GUI_Delay(200); GUI_DispStringAtCEOL("draw antialiased lines using", 5, 40); GUI_DispStringAtCEOL("GUI_AA_DrawLine", 5, 55); GUI_Delay(3500); x1 = 120; x2 = 200; GUI_AA_SetFactor(2); GUI_SetFont(font_old); GUI_DispStringHCenterAt("Antialiased\nusing factor 2", (x1 + x2) / 2, 30 + y1); for (i = 1; i < 8; i++) { GUI_SetPenSize(i); GUI_AA_DrawLine(x1, 40 + i * 15 + y1, x2, 40 + i * 15 + y1 + y2); } /* Draw lines with antialiasing quality factor 6 */ GUI_Delay(1500); x1 = 220; x2 = 300; GUI_AA_SetFactor(6); GUI_SetFont(font_old); GUI_DispStringHCenterAt("Antialiased\nusing factor 6", (x1 + x2) / 2, 30 + y1); for (i = 1; i < 8; i++) { GUI_SetPenSize(i); GUI_AA_DrawLine(x1, 40 + i * 15 + y1, x2, 40 + i * 15 + y1 + y2); } GUI_Delay(7500); }
/******************************************************************* * * _DemoRandomGraph */ static void _DemoRandomGraph(void) { PARAM Param; int tDiff, t0; GUI_RECT Rect = {19, (LCD_YSIZE - 20) - YSIZE, (LCD_XSIZE - 2), (LCD_YSIZE - 21)}; GUI_HMEM hMem = GUI_ALLOC_AllocZero((LCD_XSIZE - 20) * sizeof(I16)); GUI_SetColor(GUI_WHITE); GUI_SetBkColor(GUI_RED); GUI_ClearRect(0, 55, LCD_XSIZE, 75); GUI_SetFont(&GUI_FontComic18B_1); GUI_DispStringAt("Random graph", 20, 55); GUI_Lock(); Param.aY = GUI_ALLOC_h2p(hMem); GUI_SetFont(&GUI_Font6x8); t0 = GUI_GetTime(); while((tDiff = (GUI_GetTime() - t0)) < 10000) { int t1, tDiff2; _GetRandomData(Param.aY, tDiff, (LCD_XSIZE - 20)); t1 = GUI_GetTime(); GUI_MEMDEV_Draw(&Rect, _Draw, &Param, 0, 0); tDiff2 = GUI_GetTime() - t1; if (tDiff2 < 100) { GUI_Delay(100 - tDiff2); } } GUI_Unlock(); GUI_ALLOC_Free(hMem); }
static void _UpdateInfoWin(void) { #if GUI_WINSUPPORT && GUIDEMO_LARGE GUI_RECT rClient; WM_HWIN hWin; GUI_CONTEXT ContextOld; GUI_SaveContext(&ContextOld); /* Update info window */ WM_ShowWindow(_ahInfoWin[0]); WM_ShowWindow(_ahFrameWin[0]); hWin = WM_SelectWindow(_ahInfoWin[0]); GUI_GetClientRect(&rClient); GUI_SetBkColor(GUI_WHITE); GUI_Clear(); GUI_SetColor(GUI_BLACK); //GUI_SetFont(&GUI_Font13_1); GUI_SetFont(&GUI_FontHZ12); GUI_SetTextAlign(GUI_TA_HCENTER); GUI_DispStringHCenterAt(_sInfo, (rClient.x1 - rClient.x0) / 2, 0); GUI_SetTextAlign(GUI_TA_LEFT); GUI_SetFont(&GUI_Font8_ASCII); GUI_DispStringAt(_sExplain, 0, 20); WM_SelectWindow(hWin); GUI_RestoreContext(&ContextOld); #endif }
static void _Paint(FRAMEWIN_Obj* pObj) { WM_HWIN hWin = WM_GetActiveWindow(); int xsize = WM_GetWindowSizeX(hWin); int ysize = WM_GetWindowSizeY(hWin); int FrameSize = pObj->FrameSize; GUI_RECT rClient; GUI_GetClientRect(&rClient); GUI_SetFont(pObj->pFont); /* Draw Title */ GUI_SetBkColor((pObj->Widget.State & WIDGET_STATE_CHILD_HAS_FOCUS) ? pObj->BarColor[1] : pObj->BarColor[0]); GUI_SetColor (pObj->TextColor); GUI_SetTextAlign(pObj->TextAlign); GUI_ClearRect(FrameSize,FrameSize, xsize-1-FrameSize, FrameSize+pObj->rClient.y0-1); GUI_DispStringAt( pObj->pText, FrameSize+pObj->XOff, FrameSize+pObj->YOff); /* Draw Frame */ GUI_SetColor (FRAMEWIN_FRAMECOLOR_DEFAULT); /* pObj->BarColor[1]*/ GUI_FillRect (0, 0, xsize-1, FrameSize-1); GUI_FillRect (0, 0, pObj->rClient.x0-1, ysize-1); GUI_FillRect (pObj->rClient.x1+1, 0, xsize-1, ysize-1); GUI_FillRect (0, pObj->rClient.y1+1, xsize-1, ysize-1); GUI_FillRect (0, pObj->TitleHeight+FrameSize, xsize-1, pObj->TitleHeight+2*FrameSize-1); /* Draw Client area */ WM_SetUserClipArea(&pObj->rClient); /*GUI_SetBkColor(pObj->ClientColor); GUI_Clear();*/ WM_SetUserClipArea(NULL); /* Draw the 3D effect (if configured) */ #if FRAMEWIN_USE_3D WIDGET_EFFECT_3D_DrawUp(); #endif }
void Display_Sn_Data(u8 *datain) { u8 i; GUI_SetBkColor(GUI_BLACK); GUI_Clear(); DisplayBattery(); GUI_SetColor(GUI_RED); GUI_DispStringAt("SN:", 0, 20); GUI_GotoXY(12, 34); if(*datain>=45) { if((*(datain+1)&0xf0)!=0xf0) { *(datain+1)|=0xf0; } } else { if((*(datain+1)&0xf0)==0xf0) { *(datain+1)^=~0x40; } } for (i = 0; i < 6; i++) { GUI_DispHex(*(datain+i+1),2); } }
/********************************************************************* * * 在触摸校正的时候使用这个来读取ADC的值 */ void Touch_MainTask(void) { 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_PID_STATE TouchState; int xPhys, yPhys; 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); }; }
/******************************************************************* * * _DemoHardkey Demonstrates HARDKEY simulation with a listbox */ static void _DemoHardkey(void) { LISTBOX_Handle hListBox; GUI_SetBkColor(GUI_BLACK); GUI_Clear(); GUI_SetColor(GUI_WHITE); GUI_SetTextAlign(GUI_TA_HCENTER); GUI_SetFont(&GUI_Font24_ASCII); GUI_DispStringAt("Hardkey - Sample", 160, 5); GUI_SetFont(&GUI_Font8x8); GUI_DispStringHCenterAt("Exit", 65, 230); GUI_DispStringHCenterAt("Up", 160, 230); GUI_DispStringHCenterAt("Down", 255, 230); /* Create the listbox */ hListBox = LISTBOX_Create(_aListBox, 100, 100, 120, 75, WM_CF_SHOW); WM_SetFocus(hListBox); LISTBOX_SetFont(hListBox, &GUI_Font13B_1); SCROLLBAR_CreateAttached(hListBox, SCROLLBAR_CF_VERTICAL); /* Handle the listbox */ while (!_Ready) { GUI_Delay(10); } /* Delete listbox widget */ LISTBOX_Delete(hListBox); GUI_Clear(); }
void vCardDisplay( void ) { char fullname[64]; if( empty == 2 ) return; WM_SetDesktopColor(GUI_WHITE); GUI_SetColor(GUI_BLACK); GUI_SetBkColor(GUI_WHITE); GUI_Clear(); GUI_GIF_Draw((const void *)aclogo_silica_11022010, sizeof(aclogo_silica_11022010), 100, 0); strcpy( fullname, data->nameFirstname ); strcat( fullname, " " ); strcat( fullname, data->nameLastname ); GUI_SetFont(&GUI_Font24B_ASCII); GUI_DispStringAt( fullname, 20, 70); GUI_SetFont(&GUI_Font16B_ASCII); GUI_DispStringAt( data->CompName, 20, X_firm); GUI_SetFont(&GUI_Font13_ASCII); GUI_DispStringAt( data->CompStreet, 20, X_firm+16); GUI_DispStringAt( data->CompCity, 20, X_firm+16+13); strcpy( fullname, data->CompZip ); strcat( fullname, " " ); strcat( fullname, data->CompState ); strcat( fullname, " " ); strcat( fullname, data->CompCountry ); GUI_DispStringAt( fullname, 20, X_firm+16+13+13); strcpy( fullname, "TEL : " ); strcat( fullname, data->CompPhone ); GUI_DispStringAt( fullname, 20, X_tel); strcpy( fullname, "FAX : " ); strcat( fullname, data->CompFax ); GUI_DispStringAt( fullname, 20, X_tel+13); strcpy( fullname, "CELL : " ); strcat( fullname, data->ContactCellPho ); GUI_DispStringAt( fullname, 20, X_tel+13+13); GUI_SetColor( (GUI_COLOR)0x007f7f7f ); GUI_FillRect( 0, 214, 319, 239 ); GUI_SetBkColor((GUI_COLOR)0x007f7f7f); GUI_SetColor(GUI_RED); GUI_SetFont(&GUI_Font16B_ASCII); GUI_DispStringAt( "The Engineering of Distribution.", 20, 220); empty = 2; }
void Get_ZeroGauss_OffsetXY( int16_t* pMField_X_Raw_Offset, int16_t* pMField_Y_Raw_Offset ) { #define NUM_CALIB_CIRCLES 1 // Calibration performed by taking 8 measurements 45deg apart, // repeated NUM_CALIB_CIRCLES times uint8_t i; uint8_t MField_X_LowByte, MField_X_HighByte; uint8_t MField_Y_LowByte, MField_Y_HighByte; int16_t MField_X_Raw, MField_Y_Raw; int32_t MField_X_Acc = 0, MField_Y_Acc = 0; uint16_t ColorSequence[8] = {RED, WHITE, GREEN, BLUE, CYAN, ORANGE, LIGHT_BLUE, YELLOW } ; // Display Instructions : OLED_PrintString("CALIBRATION\n\n"); OLED_PrintString("Lay La BlueFrog flat\n"); OLED_PrintString("Then rotate it 45 deg.\n at each change of color:"); Delay_ms(5000); // Go --- 8 equally spaced magnetic field measurements, repeatable n times per #define for (i=0; i < 8*NUM_CALIB_CIRCLES; i++) { OLED_Fill( X_FULL_SCREEN/2 -20, Y_FULL_SCREEN/2-20, 40, 40, ColorSequence[i] ); Delay_ms(2500); Stm32_Led_ON(); // SINGLE SHOT conversion : CTRL_REG3 @0x22 : I2C2_WriteSingleReg(LIS3MDL_CHIPID, 0x22, 0x01); // 0b00000001 while ( (I2C2_ReadSingleReg(LIS3MDL_CHIPID, 0x27)& 0x08) != 0x08); // read status reg until it flags new XYZ data available // Accumulate Results MField_X_LowByte = I2C2_ReadSingleReg(LIS3MDL_CHIPID, 0x28); MField_X_HighByte = I2C2_ReadSingleReg(LIS3MDL_CHIPID, 0x29); MField_X_Raw = (int16_t)( (MField_X_HighByte <<8 ) | MField_X_LowByte ); MField_X_Acc += (int32_t)(MField_X_Raw); MField_Y_LowByte = I2C2_ReadSingleReg(LIS3MDL_CHIPID, 0x2A); MField_Y_HighByte = I2C2_ReadSingleReg(LIS3MDL_CHIPID, 0x2B); MField_Y_Raw = (int16_t)( (MField_Y_HighByte <<8 ) | MField_Y_LowByte ); MField_Y_Acc += (int32_t)(MField_Y_Raw); Stm32_Led_OFF(); } *pMField_X_Raw_Offset = (int16_t)(MField_X_Acc / i); *pMField_Y_Raw_Offset = (int16_t)(MField_Y_Acc / i); GUI_DispStringAt("", 10, 90); OLED_PrintString("THANKS,\nCALIBRATION DONE !"); Delay_ms(2000); OLED_Clear(); }
void key_s3c(void) { int which_key,i; while((rPDATG & 0xf0)==0xf0); which_key=rPDATG&0xf0; switch(which_key) { case 0xe0: Led_Display(0x1); point.y_point-=20; if(point.y_point<20) point.y_point=200; break; case 0xd0: Led_Display(0x2); point.x_point-=20; if(point.x_point<20) point.x_point=200; break; case 0xb0: Led_Display(0x4); if( map[point.y_map][point.x_map]==0 ) { change_color(); map[point.y_map][point.x_map]=point.color; draw_map(); if( if_won(point.y_map,point.x_map,point.color) ) { GUI_SetTextMode(GUI_DM_TRANS); //设置为透明 GUI_SetFont(&GUI_Font8x16x1x2); GUI_DispStringAt("win!",250,90); for(i=0;i<20;i++) GUI_Delay(1000); map_initial(); GUI_SetDrawMode(GUI_DM_NORMAL); GUI_SetColor(GUI_GREEN); GUI_FillRect(0,0,320,240); draw_net(); draw_point(); } } break; case 0x70: Led_Display(0x7); /* point.x_point+=20; if(point.x_point>200) point.x_point-=20;*/ break; default : break; } }
/********************************************************************* * * _ExecBigFont */ static void _ExecBigFont(void * p) { char * s; int i; s = (char *)p; GUI_SetLBorder(0); GUI_DispStringAt(s, 0, 0); for (i = 0; i < 1; i++) { GUI_DispString(s); } GUI_SetLBorder(1); GUI_DispStringAt(s, 1, 0); for (i = 0; i < 1; i++) { GUI_DispString(s); } GUI_SetLBorder(0); }
/********************************************************************* * * _cbBk */ static void _cbBk(WM_MESSAGE * pMsg) { static unsigned int GirdFlag = 0; int NCode, Id; switch (pMsg->MsgId) { case WM_PAINT: GUI_SetBkColor(GUI_LIGHTBLUE); GUI_Clear(); GUI_DispStringAt("Temperature Curve ", 80, 0); // GUIDEMO_DrawBk(1); break; case WM_TOUCH: GirdFlag++; GRAPH_SetGridVis(hGraph,GirdFlag%3); //!< Display the if touch the screen break; /*******************/ case WM_NOTIFY_PARENT: Id = WM_GetId(pMsg->hWinSrc); /* Id of widget */ NCode = pMsg->Data.v; /* Notification code */ switch (NCode) { case WM_NOTIFICATION_RELEASED: /* React only if released */ if (Id == ID_CURVE_BTN_SWTITCH_2_PARA) /* ID =210 btn Button */ { ClosePWM = ! ClosePWM; if(1 == ClosePWM) { BUTTON_SetText(btn,"Closed"); } else { BUTTON_SetText(btn,"Running"); } } if (Id == 202) /* ID =210 btn Button */ { BUTTON_SetText(btnClear,"PID_Set"); GPIO_SetBits(GPIOF,GPIO_Pin_8); PID_CFG_Flag = 1; WM_HideWindow(hWM_HBKWIN_CURVE); WM_ShowWindow(hWM_HBKWIN_CFG_PID); } break; default: { } } break; default: WM_DefaultProc(pMsg); } }
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 void _ShowText(const char * sText) { int lcd_xsize; lcd_xsize = LCD_GetXSize(); GUIDEMO_SetColor(GUI_WHITE); GUIDEMO_SetBkColor(GUI_RED); GUI_ClearRect(0, 0, lcd_xsize, 60); GUI_SetFont(&GUI_FontComic18B_ASCII); GUI_DispStringAt(sText, 10, 20); }