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

📄 guidev_aa.lst

📁 Keil C下通过的UCGUI,UCGUI的移植源代码
💻 LST
字号:
C51 COMPILER V8.05a   GUIDEV_AA                                                            04/11/2008 14:19:27 PAGE 1   


C51 COMPILER V8.05a, COMPILATION OF MODULE GUIDEV_AA
OBJECT MODULE PLACED IN GUIDEV_AA.obj
COMPILER INVOKED BY: D:\Program Files\keil\C51\BIN\C51.EXE gui\MemDev\GUIDEV_AA.c LARGE BROWSE MDU_F120 DEBUG OBJECTEXTE
                    -ND PRINT(.\GUIDEV_AA.lst) OBJECT(GUIDEV_AA.obj)

line level    source

   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        : GUIDevAA.C
  16          Purpose     : Memory device drawing with Antialiasing
  17          ----------------------------------------------------------------------
  18          Version-Date---Author-Explanation
  19          ----------------------------------------------------------------------
  20          1.02    000804 RS     LCD_CopyFromLCDAA added
  21          1.00a   000804 RS     Fix for odd X-sizes
  22          1.00    000728 RS     First release
  23          ----------------------------------------------------------------------
  24          Known problems or limitations with current version
  25          ----------------------------------------------------------------------
  26          None.
  27          ---------------------------END-OF-HEADER------------------------------
  28          */
  29          
  30          
  31          #include "gui\Core\GUI_Private.h"
  32          #include <string.h>
  33          
  34          #if GUI_SUPPORT_MEMDEV
              
              /*
                      *********************************************************
                      *                                                       *
                      *              Check config                             *
                      *                                                       *
                      *********************************************************
              */
              
              /*
                      *********************************************************
                      *                                                       *
                      *                Macros                                 *
                      *                                                       *
                      *********************************************************
              */
              
              #define SETPIXEL(x,y,colorindex) _SetPixel(x,y,colorindex);
              #define BKCOLORINDEX GUI_Context.pDevData->aColorIndex[0]
              #define   COLORINDEX GUI_Context.pDevData->aColorIndex[1]
C51 COMPILER V8.05a   GUIDEV_AA                                                            04/11/2008 14:19:27 PAGE 2   

              
              
              
              /*
                    *************************************************
                    *                                               *
                    *             CopyToLCDAA                       *
                    *                                               *
                    *************************************************
              */
              
              void GUI_MEMDEV_CopyToLCDAA(GUI_MEMDEV_Handle hMem) {
                /* Make sure memory handle is valid */
                if (hMem) {
                  int x,y;
                  static const tLCDDEV_APIList* pDevicePrev;
                  GUI_MEMDEV* pDev = (GUI_MEMDEV*)GUI_ALLOC_LOCK(hMem);  /* Convert to pointer */
                  LCD_PIXELINDEX* pData0 = (LCD_PIXELINDEX*)(pDev+1);
                  int LineOff = pDev->XSize;
                  int x0 = pDev->x0;
                  int y0 = pDev->y0;
                  int XMax = pDev->XSize/2;
                  int YMax = pDev->YSize/2;
                  pDevicePrev = GUI_Context.pDeviceAPI; /* Remember list ptr (for restore) */
                  GUI_Context.pDeviceAPI = &LCD_L0_APIList;
                  LCD_SetClipRectMax();
                  for (y=0; y< YMax; y++) {
                    LCD_PIXELINDEX* pData = pData0;
                    for (x=0; x< XMax; x++) {
                      LCD_PIXELINDEX PixelIndex;
                      int ColorSep[3];
                      U32 Color = LCD_Index2Color(*pData);
                      ColorSep[0] = Color&255;
                      ColorSep[1] = (Color>>8)  &255;
                      ColorSep[2] = (Color>>16) &255;
                      Color = LCD_Index2Color(*(pData+1));
                      ColorSep[0] += Color&255;
                      ColorSep[1] += (Color>>8)  &255;
                      ColorSep[2] += (Color>>16) &255;
                      Color = LCD_Index2Color(*(pData+LineOff));
                      ColorSep[0] += Color&255;
                      ColorSep[1] += (Color>>8)  &255;
                      ColorSep[2] += (Color>>16) &255;
                      Color = LCD_Index2Color(*(pData+LineOff+1));
                      ColorSep[0] += Color&255;
                      ColorSep[1] += (Color>>8)  &255;
                      ColorSep[2] += (Color>>16) &255;
                      Color  = (ColorSep[0]+2)>>2;
                      Color |= ((ColorSep[1]+2)>>2)<<8;
                      Color |= ((U32)((ColorSep[2]+2)>>2))<<16;
                      PixelIndex = LCD_Color2Index(Color);
                      LCD_SetPixelIndex(x+x0, y+y0, PixelIndex);
                      pData+=2;
                    }
                    pData0 += 2*LineOff;
                  }
                  GUI_Context.pDeviceAPI = pDevicePrev; /* Restore API list ptr */
                }
              }
              
              /*
                    *************************************************
C51 COMPILER V8.05a   GUIDEV_AA                                                            04/11/2008 14:19:27 PAGE 3   

                    *                                               *
                    *             CopyFromLCDAA                     *
                    *                                               *
                    *************************************************
              */
              
              void GUI_MEMDEV_CopyFromLCDAA(GUI_MEMDEV_Handle hMem) {
                /* Make sure memory handle is valid */
                if (!hMem) {
                  hMem = GUI_Context.hDevData;
                }
                if (hMem) {
                  int x,y;
                  GUI_MEMDEV* pDevData = (GUI_MEMDEV*) GUI_ALLOC_LOCK(hMem);  /* Convert to pointer */
                  GUI_USAGE* pUsage = 0;
                  int x0 = pDevData->x0;
                  int y0 = pDevData->y0;
                  int XMax = pDevData->XSize/2;
                  int YMax = pDevData->YSize/2;
                  LCD_PIXELINDEX* pData = (LCD_PIXELINDEX*)(pDevData+1);
                  int LineOff = pDevData->BytesPerLine;
                  if (pDevData->hUsage) 
                    pUsage = GUI_USAGE_h2p(pDevData->hUsage);
                  for (y=0; y< YMax; y++) {
                    if (pUsage) {
                      GUI_USAGE_AddHLine(pUsage, 0, y*2, pDevData->XSize);
                      GUI_USAGE_AddHLine(pUsage, 0, y*2+1, pDevData->XSize);
                    }
                    for (x=0; x< XMax; x++) {
                      *pData = *(pData+1) = *(pData+LineOff) = *(pData+LineOff+1) = LCD_GetPixelIndex(x+x0,y+y0);
                      pData+=2;
                    }
                    pData += LineOff + (pDevData->XSize&1);
                  }
                }
                GUI_ALLOC_UNLOCK(hMem);
              }
              
              #else
 156          
 157          void GUIDEV_AA(void) {} /* avoid empty object files */
 158          
 159          #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 + -