GUIDEMO_ProgBar.c
上传用户:zbk8730
上传日期:2017-08-10
资源大小:12168k
文件大小:4k
源码类别:

uCOS

开发平台:

C/C++

  1. /*
  2. *********************************************************************************************************
  3. *                                                uC/GUI
  4. *                        Universal graphic software for embedded applications
  5. *
  6. *                       (c) Copyright 2002, Micrium Inc., Weston, FL
  7. *                       (c) Copyright 2002, SEGGER Microcontroller Systeme GmbH
  8. *
  9. *              礐/GUI is protected by international copyright laws. Knowledge of the
  10. *              source code may not be used to write a similar product. This file may
  11. *              only be used in accordance with a license and should not be redistributed
  12. *              in any way. We appreciate your understanding and fairness.
  13. *
  14. ----------------------------------------------------------------------
  15. File        : GUIDEMO_DemoProgBar.c
  16. Purpose     : Progress bar demo
  17. ----------------------------------------------------------------------
  18. */
  19. #include "Progbar.h"
  20. #include "GUIDEMO.H"
  21. #if GUI_WINSUPPORT
  22. /*********************************************************************
  23. *
  24. *       GUIDEMO_DemoProgBar
  25. *
  26. **********************************************************************
  27. */
  28. void GUIDEMO_DemoProgBar(void) {
  29.   int i, iRep;
  30.   int XMid = LCD_GetXSize() / 2;
  31.   int YMid = LCD_GetYSize() / 2;
  32.   int Length[2] = {100, 140};
  33.   int Height[2] = {20, 10};
  34.   #if GUIDEMO_LARGE
  35.     int MaxReps = 2;
  36.   #else
  37.     int MaxReps = 1;
  38.   #endif
  39.   PROGBAR_Handle ahProgBar[2];
  40.   GUIDEMO_ShowIntro("Widgets", 
  41.                     "Progressbars in all variations");
  42.   GUI_Clear();
  43.   GUI_SetColor(GUI_WHITE);
  44.   GUI_SetFont(&GUI_Font8x16);
  45.   GUI_DispStringHCenterAt("Progress bar", XMid, YMid - 40);
  46.   /* Create `em */  
  47.   ahProgBar[0] = PROGBAR_Create(XMid - Length[0] / 2,
  48.                                 YMid - 15,
  49.                                 Length[0], 
  50.                                 Height[0], 
  51.                                 WM_CF_SHOW);
  52.   ahProgBar[1] = PROGBAR_Create(XMid - Length[1] / 2,
  53.                                 YMid + 20,
  54.                                 Length[1], 
  55.                                 Height[1], 
  56.                                 WM_CF_SHOW);
  57.   /* Use memory device (optional, for better looks) */
  58.   #if GUI_SUPPORT_MEMDEV
  59.     PROGBAR_EnableMemdev(ahProgBar[0]);
  60.     PROGBAR_EnableMemdev(ahProgBar[1]);
  61.   #endif
  62.   GUIDEMO_Delay (1000);
  63.   PROGBAR_SetMinMax(ahProgBar[1], 0, 500);
  64.   for (iRep = 0; iRep < MaxReps; iRep++) {
  65.     PROGBAR_SetFont(ahProgBar[0], &GUI_Font8x16);
  66.     #if   (LCD_BITSPERPIXEL == 2)
  67.       PROGBAR_SetBarColor(ahProgBar[0], 0, GUI_BLACK);
  68.       PROGBAR_SetBarColor(ahProgBar[1], 0, GUI_BLACK);
  69.       PROGBAR_SetBarColor(ahProgBar[0], 1, GUI_LIGHTGRAY);
  70.     #elif (LCD_BITSPERPIXEL <= 4)
  71.       PROGBAR_SetBarColor(ahProgBar[0], 0, GUI_DARKGRAY);
  72.       PROGBAR_SetBarColor(ahProgBar[0], 1, GUI_LIGHTGRAY);
  73.     #else
  74.       PROGBAR_SetBarColor(ahProgBar[0], 0, GUI_GREEN);
  75.       PROGBAR_SetBarColor(ahProgBar[0], 1, GUI_RED);
  76.     #endif
  77.     for (i = 0; (i <= 100) && !GUIDEMO_CheckCancel(); i++) {
  78.       PROGBAR_SetValue(ahProgBar[0], i);
  79.       PROGBAR_SetValue(ahProgBar[1], i);
  80.       GUI_Delay(5);
  81.     }
  82.     PROGBAR_SetText(ahProgBar[0], "Tank empty");
  83.     for (; (i >= 0)&& !GUIDEMO_CheckCancel(); i--) {
  84.       PROGBAR_SetValue(ahProgBar[0], i);
  85.       PROGBAR_SetValue(ahProgBar[1], 200 - i);
  86.       GUI_Delay(5);
  87.     }
  88.     PROGBAR_SetText(ahProgBar[0], "Any text ...");
  89.     PROGBAR_SetTextAlign(ahProgBar[0], GUI_TA_LEFT);
  90.     for (; (i <= 100)&& !GUIDEMO_CheckCancel(); i++) {
  91.       PROGBAR_SetValue(ahProgBar[0], i);
  92.       PROGBAR_SetValue(ahProgBar[1], 200 + i);
  93.       GUI_Delay(5);
  94.     }
  95.     for (; (i >= 0)&& !GUIDEMO_CheckCancel(); i--) {
  96.       PROGBAR_SetValue(ahProgBar[0], i);
  97.       PROGBAR_SetValue(ahProgBar[1], 400 - i);
  98.       GUI_Delay(5);
  99.     }
  100.     PROGBAR_SetFont(ahProgBar[0], &GUI_FontComic18B_1);
  101.     PROGBAR_SetText(ahProgBar[0], "Any font ...");
  102.     for (; (i <= 100)&& !GUIDEMO_CheckCancel(); i++) {
  103.       PROGBAR_SetValue(ahProgBar[0], i);
  104.       PROGBAR_SetValue(ahProgBar[1], 400 + i);
  105.       GUI_Delay(5);
  106.     }
  107.     GUIDEMO_Delay(1000);
  108.   }
  109.   GUIDEMO_Delay(1000);
  110.   PROGBAR_Delete(ahProgBar[0]);
  111.   PROGBAR_Delete(ahProgBar[1]);
  112.   GUIDEMO_Delay(1000);
  113.   GUI_SetFont(&GUI_Font10S_1);
  114. }
  115. #elif defined(NC30) || defined(NC308)
  116. void GUIDEMO_ProgBar(void) {}
  117. #endif /* GUI_WINSUPPORT */