⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 guidev_measure.lst

📁 Keil C下通过的UCGUI,UCGUI的移植源代码
💻 LST
📖 第 1 页 / 共 2 页
字号:
              static void _FillPolygon(const GUI_POINT* paPoint, int NumPoints, int x0, int y0) {
                GUI_RECT r;
                CalcPolyRect(&r, paPoint, NumPoints);
                GUI_MoveRect(&r, x0, y0);
                _MarkRect(r.x0, r.y0, r.x1, r.y1);
              }
              
              static void _FillPolygonAA(const GUI_POINT* paPoint, int NumPoints, int x0, int y0) {
                GUI_RECT r;
                CalcPolyRect(&r, paPoint, NumPoints);
C51 COMPILER V8.05a   GUIDEV_MEASURE                                                       04/11/2008 14:19:29 PAGE 4   

                GUI_MoveRect(&r, x0, y0);
                if (GUI_Context.AA_HiResEnable) {
                  r.x0 /= GUI_Context.AA_Factor;
                  r.y0 /= GUI_Context.AA_Factor;
                  r.x1 = (r.x1 + GUI_Context.AA_Factor -1) / GUI_Context.AA_Factor;
                  r.y1 = (r.y1 + GUI_Context.AA_Factor -1) / GUI_Context.AA_Factor;
                }
                _MarkRect(r.x0, r.y0, r.x1, r.y1);
              }
              
              
              
              /*********************************************************************
              *
              *             Device structure
              *
              **********************************************************************
              */
              static const tLCDDEV_APIList _APIList = {
                _Color2Index,
                _DrawBitmap,
                _DrawHLine,
                _DrawVLine,
                _FillRect,
                _GetPixelIndex,
                _GetRect,
                _Index2Color,
                _SetPixelIndex,
                _XorPixel,
                _FillPolygon,
                _FillPolygonAA
              };
              
              
              /*
                *********************************************************
                *
                *            Exported routines
                *
                *********************************************************
              
              */
              
              /*
                    *************************************************
                    *                                               *
                    *             Delete                            *
                    *                                               *
                    *************************************************
              */
              void GUI_MEASDEV_Delete (GUI_MEASDEV_Handle hMemDev) {
              /* Make sure memory device is not used */
                if ((GUI_Context.hDevData = hMemDev) != 0)
                        GUI_SelectLCD();
                GUI_ALLOC_FREE(hMemDev);
              }
              
              
              /*
                    *************************************************
                    *                                               *
                    *             Clear Rectangle                   *
C51 COMPILER V8.05a   GUIDEV_MEASURE                                                       04/11/2008 14:19:29 PAGE 5   

                    *                                               *
                    *************************************************
              */
              void GUI_MEASDEV_ClearRect (GUI_MEASDEV_Handle hMemDev) {
                if (hMemDev) {
                  GUI_MEASDEV* pDevData = (GUI_MEASDEV*)GUI_ALLOC_H2P(hMemDev);
                  pDevData->rUsed.x0 = GUI_XMAX;
                  pDevData->rUsed.y0 = GUI_YMAX;
                  pDevData->rUsed.x1 = GUI_XMIN;
                  pDevData->rUsed.y1 = GUI_YMIN;
                } 
              }
              
              
              /*
                    *************************************************
                    *                                               *
                    *             Create                            *
                    *                                               *
                    *************************************************
              */
              
              GUI_MEASDEV_Handle GUI_MEASDEV_Create (void) {
                int MemSize;
                GUI_MEASDEV_Handle hMemDev;
                MemSize = sizeof(GUI_MEASDEV);
                hMemDev = GUI_ALLOC_ALLOC(MemSize);
                if (hMemDev) {
                  GUI_MEASDEV* pDevData = (GUI_MEASDEV*)GUI_ALLOC_H2P(hMemDev);
                  pDevData->pfColor2Index = GUI_Context.pDeviceAPI->pfColor2Index;    
                  pDevData->pfIndex2Color = GUI_Context.pDeviceAPI->pfIndex2Color;
                  GUI_MEASDEV_ClearRect(hMemDev);
                } else {
                  GUI_DEBUG_WARN("GUI_MEASDEV_Create: Alloc failed");
                }
                return hMemDev;
              }
              
              
              /*
                    *************************************************
                    *                                               *
                    *             Select                            *
                    *                                               *
                    *************************************************
              */
              
              
              void GUI_MEASDEV_Select(GUI_MEASDEV_Handle hMem) {
                if (hMem==0) {
                  GUI_SelectLCD();
                } else {
                  #if GUI_WINSUPPORT
                    WM_Deactivate();
                  #endif
                  GUI_Context.hDevData = hMem;
                  GUI_Context.pDeviceAPI  = &_APIList;
                  GUI_Context.pClipRect_HL = NULL;
                  LCD_SetClipRectMax();
                }
              }
              
C51 COMPILER V8.05a   GUIDEV_MEASURE                                                       04/11/2008 14:19:29 PAGE 6   

              
              /*
                    *************************************************
                    *                                               *
                    *             GetRect
                    *                                               *
                    *************************************************
              */
              
              void GUI_MEASDEV_GetRect(GUI_MEASDEV_Handle hMem, GUI_RECT *pRect) {
                if (hMem) {
                  GUI_MEASDEV* pDev = (GUI_MEASDEV*)GUI_ALLOC_H2P(hMem);
                  if (pRect) {
                    pRect->x0 = pDev->rUsed.x0;
                    pRect->y0 = pDev->rUsed.y0;
                    pRect->x1 = pDev->rUsed.x1;
                    pRect->y1 = pDev->rUsed.y1;
                  }
                }
              }
              
              #else
 325          
 326          void GUIDEV_Measure(void) {} /* avoid empty object files */
 327          
 328          #endif /* GUI_MEMDEV_SUPPORT */


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =      1    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -