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

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_ColorList.c
  16. Purpose     : Shows color list
  17. ----------------------------------------------------------------------
  18. */
  19. #include "LCD_ConfDefaults.h"  /* valid LCD configuration */
  20. #include "WM.H"
  21. #include "GUIDEMO.H"
  22. /*********************************************************************
  23. *
  24. *       GUIDEMO_ShowColorList
  25. *
  26. **********************************************************************
  27. */
  28. #if (LCD_BITSPERPIXEL > 2) && (LCD_BITSPERPIXEL <= 8)
  29. void GUIDEMO_ShowColorList(void) {
  30.   int NumColors = LCD_GetDevCap(LCD_DEVCAP_NUMCOLORS);
  31.   int Lines = (NumColors - 1) / 16 + 1;
  32.   int y0 = 70;
  33.   int XSize = LCD_GetXSize();
  34.   int YSize = LCD_GetYSize();
  35.   #if (LCD_BITSPERPIXEL > 8)
  36.     int XStep = XSize / 256;
  37.     int YStep = NumColors / 256;
  38.   #endif
  39.   int i;
  40.   GUIDEMO_ShowIntro("Available colors",
  41.                     "Shows the first of the "
  42.                     "navailable colors in the "
  43.                     "nsimulated configuration");
  44.   GUI_SetColor(GUI_WHITE);
  45.   GUI_SetBkColor(GUI_BLACK); 
  46.   GUI_Clear();
  47. GUI_SetFont(&GUI_Font8x16);
  48. GUI_DispString("Available colorsn");
  49. GUI_SetFont(&GUI_Font8_ASCII);
  50.   #ifdef LCD_CONTROLLER
  51.     GUI_DispString("nLCD_CONTROLLER: ");
  52.     GUI_DispDecMin(LCD_CONTROLLER);
  53.     GUI_DispString("n");
  54.   #endif
  55.   GUI_DispDecMin(LCD_BITSPERPIXEL);
  56.   GUI_DispString(" bpp");
  57.   #ifdef LCD_BUSWIDTH
  58.     GUI_DispString(", ");
  59.     GUI_DispDecMin(LCD_BUSWIDTH);
  60.     GUI_DispString(" bit bus");
  61.   #endif
  62.   GUI_DispString(", ");
  63.   GUI_DispDecMin(NumColors);
  64.   GUI_DispString(" colorsn");
  65.   #if (LCD_FIXEDPALETTE) 
  66.     GUI_DispString("Fixed palette: ");
  67.     GUI_DispDecMin(LCD_FIXEDPALETTE);
  68.   #else
  69.     GUI_DispString("(Custom)");
  70.   #endif
  71.   #if (LCD_BITSPERPIXEL <= 8)
  72.   {
  73.     int XStep = XSize / 16;
  74.     int YStep = (YSize - y0 - (YSize < 320 ? 0 : 60)) / Lines;
  75.   for (i = 0; i < NumColors; i++) {
  76.       GUI_SetColorIndex(i);
  77.       GUI_FillRect((i%16) * XStep + 2,
  78.                    (i/16) * YStep + 1 + y0,
  79.                    (i%16 + 1) * XStep - 1,
  80.                    (i/16 + 1) * YStep - 2 + y0);
  81.     }
  82.   }
  83.   #else
  84.   {
  85.   for (i = 0; i < NumColors; i++) {
  86.       GUI_SetColorIndex(i);
  87.       GUI_DrawPoint((U8)(i) + ((LCD_XSIZE - 1 - 256) >> 1), (i >> 8) + y0);
  88.     }
  89.   }
  90.   #endif
  91.   GUIDEMO_Delay(2000);
  92. }
  93. #else
  94. void GUIDEMO_ShowColorList(void) {}
  95. #endif