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

📄 guiaaline.lst

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


C51 COMPILER V8.05a, COMPILATION OF MODULE GUIAALINE
OBJECT MODULE PLACED IN GUIAALine.obj
COMPILER INVOKED BY: D:\Program Files\keil\C51\BIN\C51.EXE gui\AntiAlias\GUIAALine.c LARGE BROWSE MDU_F120 DEBUG OBJECTE
                    -XTEND PRINT(.\GUIAALine.lst) OBJECT(GUIAALine.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        : GUIAALine.C
  16          Purpose     : Drawing lines with antialiasing
  17          ---------------------------END-OF-HEADER------------------------------
  18          */
  19          
  20          #include "gui\Core\GUI_Protected.h"
  21          #include <stddef.h>
  22          
  23          /*********************************************************************
  24          *
  25          *                       GL_AA_DrawLine
  26          *
  27          **********************************************************************
  28          */
  29          
  30          void GL_AA_DrawLine(int x0, int y0, int x1, int y1) {
  31   1        int xMin, xMax;
  32   1        U8 PenSizeOld = GUI_GetPenSize();
  33   1        U8 PenSizeHR  = PenSizeOld * GUI_Context.AA_Factor;
  34   1        U8 OldPenShape = GUI_SetPenShape(GUI_PS_FLAT);
  35   1        /* Calculate left and right borders for AA module */
  36   1        if (x0 < x1) {
  37   2          xMin = x0;
  38   2          xMax = x1;
  39   2        } else {
  40   2          xMin = x1;
  41   2          xMax = x0;
  42   2        }
  43   1        if (GUI_Context.AA_HiResEnable) {
  44   2          xMin -= PenSizeHR;
  45   2          xMax += PenSizeHR;
  46   2          xMin /= GUI_Context.AA_Factor;
  47   2          xMax /= GUI_Context.AA_Factor;
  48   2        } else {
  49   2          xMin -= PenSizeOld;
  50   2          xMax += PenSizeOld;
  51   2          x0 *= GUI_Context.AA_Factor;
  52   2          x1 *= GUI_Context.AA_Factor;
  53   2          y0 *= GUI_Context.AA_Factor;
  54   2          y1 *= GUI_Context.AA_Factor;
C51 COMPILER V8.05a   GUIAALINE                                                            04/11/2008 14:18:19 PAGE 2   

  55   2        }
  56   1        /* Do the actual drawing */
  57   1        GUI_AA_Init(xMin, xMax);
  58   1        GUI_SetPenSize(PenSizeHR);
  59   1        GL_DrawLine(x0 , y0 , x1 ,  y1 );
  60   1        GUI_AA_Exit();
  61   1        /* Draw end points (can be optimized away in future, TBD*/
  62   1        switch (OldPenShape) {
  63   2        case GUI_PS_ROUND:
  64   2          {
  65   3            int r = GUI_Context.AA_Factor * PenSizeOld / 2;
  66   3            GL_FillCircleAA_HiRes(x0 , y0 , r);
  67   3            GL_FillCircleAA_HiRes(x1 , y1 , r);
  68   3          }
  69   2          break;
  70   2        }
  71   1        GUI_SetPenSize(PenSizeOld);
  72   1        GUI_SetPenShape(OldPenShape);
  73   1      }
  74          
  75          /*********************************************************************
  76          *
  77          *                       GUI_AA_DrawLine
  78          *
  79          **********************************************************************
  80          */
  81          
  82          void GUI_AA_DrawLine(int x0, int y0, int x1, int y1) {
  83   1        GUI_LOCK();
  84   1        #if (GUI_WINSUPPORT)
                  WM_ADDORG_AA(x0,y0);
                  WM_ADDORG_AA(x1,y1);
                  WM_ITERATE_START(NULL); {
                #endif
  89   1        GL_AA_DrawLine(x0, y0, x1, y1);
  90   1        #if (GUI_WINSUPPORT)
                  } WM_ITERATE_END();
                #endif
  93   1        GUI_UNLOCK();
  94   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    496    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----      25
   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 + -