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

📄 widget_3d.lst

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


C51 COMPILER V8.05a, COMPILATION OF MODULE WIDGET_3D
OBJECT MODULE PLACED IN Widget_3D.obj
COMPILER INVOKED BY: D:\Program Files\keil\C51\BIN\C51.EXE gui\Widget\Widget_3D.c LARGE BROWSE MDU_F120 DEBUG OBJECTEXTE
                    -ND PRINT(.\Widget_3D.lst) OBJECT(Widget_3D.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        : BUTTON.c
  16          Purpose     : emWin GSC button widget
  17          ---------------------------END-OF-HEADER------------------------------
  18          */
  19          
  20          #include <stdlib.h>
  21          #include <string.h>
  22          
  23          #include "WIDGET.h"
  24          #include "gui\Core\GUIDebug.h"
  25          #include "gui\Core\GUI.h"
  26          #include "gui\Core\GUI_Protected.h"
  27          #include "gui\WM\WM_Intern.h"
  28          
  29          #if GUI_WINSUPPORT
              
              /*********************************************************************
              *
              *       Private config defaults
              *
              **********************************************************************
              */
              
              
              /*********************************************************************
              *
              *       Object definition
              *
              **********************************************************************
              */
              
              /*********************************************************************
              *
              *       Static data
              *
              **********************************************************************
              */
              /*********************************************************************
              *
              *       Macros for internal use
C51 COMPILER V8.05a   WIDGET_3D                                                            04/11/2008 14:19:40 PAGE 2   

              *
              **********************************************************************
              */
              
              #define WIDGET_H2P(hWin)        ((WIDGET*)WM_HMEM2Ptr(hWin))
              
              /*********************************************************************
              *
              *       Static routines
              *
              **********************************************************************
              */
              
              /*********************************************************************
              *
              *       Public routines
              *
              **********************************************************************
              */
              
              /*********************************************************************
              *
              *       WIDGET_Draw3DFrame
              */
              
              void WIDGET_EFFECT_3D_DrawUpRect(const GUI_RECT* pRect) {
                GUI_RECT r;
                GUI_CONTEXT Context;
                GUI_SaveContext(&Context);
                r = *pRect;
                GUI_SetColor(0x000000);
                GUI_DrawRect(r.x0, r.y0, r.x1, r.y1);          /* Draw rectangle around it */
               /* Draw the bright sides */
                GUI_SetColor(0xffffff);
                GUI_DrawHLine(r.y0 + 1, r.x0 + 1, r.x1 - 2);    /* Draw top line */
                GUI_DrawVLine(r.x0 + 1, r.y0 + 1, r.y1 - 2);
                /* Draw the dark sides */
                GUI_SetColor(0x555555);
                GUI_DrawHLine(r.y1-1, r.x0 + 1, r.x1 - 1);
                GUI_DrawVLine(r.x1-1, r.y0 + 1, r.y1 - 2);
                GUI_RestoreContext(&Context);
              }
              
              /*********************************************************************
              *
              *       WIDGET_EFFECT_3D_DrawUp
              */
              
              void WIDGET_EFFECT_3D_DrawUp(void) {
                GUI_RECT r;
                WM_GetClientRect(&r);
                WIDGET_EFFECT_3D_DrawUpRect(&r);
              }
              /*********************************************************************
              *
              *       WIDGET_EFFECT_3D_DrawDown
              */
              void WIDGET_EFFECT_3D_DrawDownRect(const GUI_RECT* pRect) {
                GUI_RECT r;
                r = *pRect;
                GUI_SetColor(0x000000);  /// TBD: Use halftone
              //  GUI_DrawRect(0, 0, r.x1, r.y1);
C51 COMPILER V8.05a   WIDGET_3D                                                            04/11/2008 14:19:40 PAGE 3   

                /* Draw the upper left sides */
                GUI_SetColor(0x808080);
                GUI_DrawHLine(r.y0, r.x0, r.x1);
                GUI_DrawVLine(r.x0, r.y0 + 1, r.y1);
                GUI_SetColor(0x0);
                GUI_DrawHLine(r.y0 + 1, r.x0 + 1, r.x1 - 1);
                GUI_DrawVLine(r.x0 + 1, r.y0 + 2, r.y1 - 1);
                /* Draw the lower right sides */
                GUI_SetColor(0xffffff);
                GUI_DrawHLine(r.y1, r.x0 + 1, r.x1);
                GUI_DrawVLine(r.x1, r.y0 + 1, r.y1);
                GUI_SetColor(0xc0c0c0);
                GUI_DrawHLine(r.y1 - 1, r. x0 + 2, r.x1-1);
                GUI_DrawVLine(r.x1 - 1, r. y0 + 2, r.y1-1);
              }
              
              void WIDGET_EFFECT_3D_DrawDown(void) {
                GUI_RECT r;
                WM_GetClientRect(&r);
                WIDGET_EFFECT_3D_DrawDownRect(&r);
              }
              
              /*********************************************************************
              *
              *       WIDGET_EFFECT_3D_GetRect
              */
              void WIDGET_EFFECT_3D_GetRect(GUI_RECT* pRect) {
                WM_GetClientRect(pRect);
                GUI__ReduceRect(pRect, pRect, 2);
              }
              
              void WIDGET_SetDefaultEffect_3D(void) {
                WIDGET_SetDefaultEffect(&WIDGET_Effect_3D);
              }
              
              /*********************************************************************
              *
              *       Effect tables --- Mainly function pointers
              *
              **********************************************************************
              */
              const WIDGET_EFFECT WIDGET_Effect_3D = {
                WIDGET_EFFECT_3D_DrawUp, WIDGET_EFFECT_3D_DrawDown,
                WIDGET_EFFECT_3D_DrawUpRect, WIDGET_EFFECT_3D_DrawDownRect,
                WIDGET_EFFECT_3D_GetRect, 2
              };
              
              
              #else                            /* Avoid problems with empty object modules */
 166            void WIDGET_3D_C(void) {}
 167          #endif /* GUI_WINSUPPORT */
 168          
 169          
 170          
 171          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =      1    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
C51 COMPILER V8.05a   WIDGET_3D                                                            04/11/2008 14:19:40 PAGE 4   

   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 + -