📄 guiaaline.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 + -