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

📄 sdrv_draw3drect.lst

📁 一种彩屏驱动以及画点,填充图片和填充数据的一些程序
💻 LST
字号:
##############################################################################
#                                                                            #
# IAR Z80/64180 C-Compiler V4.04B/WIN                                        #
# Front End V4.20N                                       18/May/107  10:54:37 #
# Global Optimizer V1.05D                                                    #
#                                                                            #
#       Target option =  Z80                                                 #
#       Memory model  =  large                                               #
#       Source file   =  d:\case_i_d913f\drv\ui_ssd1332\sdrv\sdrv_draw3drect.c#
#       List file     =  d:\case_i_d913f\drv\ui_ssd1332\ui_ssd13_r\list\sdrv_draw3drect.lst#
#       Object file   =  d:\case_i_d913f\drv\ui_ssd1332\ui_ssd13_r\obj\sdrv_draw3drect.r01#
#       ASM file      =  d:\case_i_d913f\drv\ui_ssd1332\ui_ssd13_r\list\sdrv_draw3drect.s01#
#       Command line  =  -v0 -ml -uu                                         #
#                        -OD:\case_i_d913f\drv\Ui_SSD1332\UI_SSD13_R\Obj\    #
#                        -e -K -w -gA -s9 -RCODE -r0 -DIC3951 -DNAPDEBUG     #
#                        -LD:\case_i_d913f\drv\Ui_SSD1332\UI_SSD13_R\List\   #
#                        -q -t8                                              #
#                        -AD:\case_i_d913f\drv\Ui_SSD1332\UI_SSD13_R\List\   #
#                        -Id:\sdk_i_913f\inc\ -Id:\case_i_d913f\inc\         #
#                        -Id:\case_i_d913f\drv\ui_ssd1332\inc\               #
#                        d:\case_i_d913f\DRV\UI_SSD1332\SDRV\Sdrv_Draw3DRect.c #
#                                                                            #
#                                             (c) Copyright IAR Systems 1996 #
##############################################################################

   \   0000                    NAME    sdrv_draw3drect(16)
   \   0000                    RSEG    BAC_DW2(0)
   \   0000                    EXTERN  BAPI_DrawRectFrame
   \   0000                    EXTERN  BAPI_FillRect
   \   0000                    PUBLIC  Sdrv_Draw3DRect
   \   0000                    EXTERN  dc
   \   0000                    EXTERN  region
   \   0000                    EXTERN  ?CLZ80L_4_04_L00
   \   0000                    RSEG    BAC_DW2
   \   0000            Sdrv_Draw3DRect:
      1          /*
      2          ********************************************************************************
      3          *                       ACTOS
      4          *                  ui dirver show picture
      5          *
      6          *                (c) Copyright 2002-2003, Actions Co,Ld.
      7          *                        All Right Reserved
      8          *
      9          * File   : UI_Draw3DRect.c
     10          * By     : Rcmai
     11          * Version: 1> v1.00     first version     10/17/2003 10:46PM
     12          ********************************************************************************
     13          */
     14          #include "display.h"
     15          #include "Drv_S6B33B0A.h"
     16          
     17          #pragma memory=constseg(BAS_DW2)
     18          #pragma memory=default
     19          
     20          #pragma memory=dataseg(BAD_DW2)
     21          //SD_RW sdrw;
     22          //extern  unsigned char BufPage;
     23          #pragma memory=default
     24          
     25          #pragma codeseg(BAC_DW2)
     26          
     27          ////*******************************************************************************/
     28          ///* 把指定区域填充成画笔颜色
     29          //** FUNCTION:     Draw3DRect
     30          //**
     31          //** Description:  
     32          //**
     33          //**  input
     34          //**        region_t * D3region: 要画3D区域的区域大小
     35          //**        
     36          //**  output
     37          //**     none
     38          //********************************************************************************/
     39          
     40          void Sdrv_Draw3DRect (region_t * D3region, unsigned char type)
     41          {
   \   0000  DDE5              PUSH    IX
   \   0002  C5                PUSH    BC
   \   0003  F5                PUSH    AF
   \   0004  F5                PUSH    AF
   \   0005  D5                PUSH    DE
   \   0006  DDE1              POP     IX
     42              COLORREF PenColor_bak;
     43          
     44              PenColor_bak = dc.PenColor;//保存当前画笔颜色
   \   0008  210000            LD      HL,0
   \   000B  39                ADD     HL,SP
   \   000C  ED4B0200          LD      BC,(dc+2)
   \   0010  ED5B0000          LD      DE,(dc)
   \   0014  73                LD      (HL),E
   \   0015  23                INC     HL
   \   0016  72                LD      (HL),D
   \   0017  23                INC     HL
   \   0018  71                LD      (HL),C
   \   0019  23                INC     HL
   \   001A  70                LD      (HL),B
     45              
     46              switch (type)
   \   001B  23                INC     HL
   \   001C  7E                LD      A,(HL)
   \   001D  FE00              CP      0
   \   001F  2014              JR      NZ,?0002
   \   0021            ?0001:
     47              {
     48              case D3Normalframe_def://加选中框
     49                  dc.PenColor = SelectedColor_def;
   \   0021  010000            LD      BC,0
   \   0024  ED430000          LD      (dc),BC
   \   0028  ED430200          LD      (dc+2),BC
     50                  BAPI_DrawRectFrame(D3region);
   \   002C  DDE5              PUSH    IX
   \   002E  D1                POP     DE
   \   002F  CD0000            CALL    BAPI_DrawRectFrame
     51                  break;
   \   0032  C3BA00            JP      ?0004
   \   0035            ?0002:
   \   0035  FE01              CP      1
   \   0037  203F              JR      NZ,?0003
     52          
     53              case D3KeyUp_def://加突出效果
     54                  //先画两条背光边
     55                  dc.PenColor = BackLightColor_def;
   \   0039  010000            LD      BC,0
   \   003C  211084            LD      HL,33808
   \   003F  220000            LD      (dc),HL
   \   0042  ED430200          LD      (dc+2),BC
     56                  region = *D3region;
   \   0046  110000            LD      DE,region
   \   0049  DDE5              PUSH    IX
   \   004B  E1                POP     HL
   \   004C  0E04              LD      C,4
   \   004E  EDB0              LDIR
     57                  region.height = 1;
     58                  region.y = D3region->y + D3region->height;
     59                  BAPI_FillRect(&region);
   \   0050  CDEE00            CALL    ?0008
     60          
     61                  region = *D3region;
     62                  region.width = 1;
   \   0053  3E01              LD      A,1
   \   0055  320200            LD      (region+2),A
     63                  region.x = D3region->x + D3region->width;
   \   0058  DD7E02            LD      A,(IX+2)
   \   005B  DD8600            ADD     A,(IX+0)
   \   005E  320000            LD      (region),A
     64                  BAPI_FillRect(&region);
   \   0061  CDD300            CALL    ?0007
     65                  
     66                  //再画两条向光边
     67                  dc.PenColor = FaceLightColor_def;
     68                  region = *D3region;
     69                  region.height = 1;
   \   0064  3E01              LD      A,1
   \   0066  320300            LD      (region+3),A
     70                  BAPI_FillRect(&region);
   \   0069  CDFC00            CALL    ?0009
     71          
     72                  region = *D3region;
     73                  region.width = 1;
   \   006C  3E01              LD      A,1
   \   006E  320200            LD      (region+2),A
     74                  BAPI_FillRect(&region);        
   \   0071  1841              JR      ?0006
   \   0073  CD0000            CALL    BAPI_FillRect
     75                  break;
   \   0076  1842              JR      ?0004
   \   0078            ?0003:
   \   0078  FE02              CP      2
   \   007A  203E              JR      NZ,?0004
     76          
     77              case D3KeyDown_def://加凹进效果
     78                  //先画两条背光边
     79                  dc.PenColor = BackLightColor_def;
   \   007C  010000            LD      BC,0
   \   007F  211084            LD      HL,33808
   \   0082  220000            LD      (dc),HL
   \   0085  ED430200          LD      (dc+2),BC
     80                  region = *D3region;
   \   0089  110000            LD      DE,region
   \   008C  DDE5              PUSH    IX
   \   008E  E1                POP     HL
   \   008F  0E04              LD      C,4
   \   0091  EDB0              LDIR
     81                  region.height = 1;
   \   0093  3E01              LD      A,1
   \   0095  320300            LD      (region+3),A
     82                  BAPI_FillRect(&region);
   \   0098  CDFC00            CALL    ?0009
     83          
     84                  region = *D3region;
     85                  region.width = 1;
   \   009B  3E01              LD      A,1
   \   009D  320200            LD      (region+2),A
     86                  BAPI_FillRect(&region);        
   \   00A0  CDD300            CALL    ?0007
     87          
     88                  //再画两条向光边
     89                  dc.PenColor = FaceLightColor_def;
     90                  region = *D3region;
     91                  region.height = 1;
     92                  region.y = D3region->y + D3region->height;
     93                  BAPI_FillRect(&region);
   \   00A3  CDEE00            CALL    ?0008
     94          
     95                  region = *D3region;
     96                  region.width = 1;
   \   00A6  3E01              LD      A,1
   \   00A8  320200            LD      (region+2),A
     97                  region.x = D3region->x + D3region->width;
   \   00AB  DD7E02            LD      A,(IX+2)
   \   00AE  DD8600            ADD     A,(IX+0)
   \   00B1  320000            LD      (region),A
     98                  BAPI_FillRect(&region);
   \   00B4            ?0006:
   \   00B4  110000            LD      DE,region
   \   00B7  CD0000            CALL    BAPI_FillRect
     99                  break;
   \   00BA            ?0004:
    100          
    101              default:
    102                  break;
   \   00BA            ?0000:
    103              }
    104          
    105              dc.PenColor = PenColor_bak;//恢复画笔颜色
   \   00BA  210000            LD      HL,0
   \   00BD  39                ADD     HL,SP
   \   00BE  5E                LD      E,(HL)
   \   00BF  23                INC     HL
   \   00C0  56                LD      D,(HL)
   \   00C1  23                INC     HL
   \   00C2  4E                LD      C,(HL)
   \   00C3  23                INC     HL
   \   00C4  46                LD      B,(HL)
   \   00C5  EB                EX      DE,HL
   \   00C6  220000            LD      (dc),HL
   \   00C9  ED430200          LD      (dc+2),BC
    106              return;
    107          }
   \   00CD  E1                POP     HL
   \   00CE  E1                POP     HL
   \   00CF  E1                POP     HL
   \   00D0  DDE1              POP     IX
   \   00D2  C9                RET
   \   00D3            ?0007:
   \   00D3  110000            LD      DE,region
   \   00D6  CD0000            CALL    BAPI_FillRect
   \   00D9  2118C6            LD      HL,50712
   \   00DC  220000            LD      (dc),HL
   \   00DF  ED430200          LD      (dc+2),BC
   \   00E3  110000            LD      DE,region
   \   00E6  DDE5              PUSH    IX
   \   00E8  E1                POP     HL
   \   00E9  0E04              LD      C,4
   \   00EB  EDB0              LDIR
   \   00ED  C9                RET
   \   00EE            ?0008:
   \   00EE  3E01              LD      A,1
   \   00F0  320300            LD      (region+3),A
   \   00F3  DD7E03            LD      A,(IX+3)
   \   00F6  DD8601            ADD     A,(IX+1)
   \   00F9  320100            LD      (region+1),A
   \   00FC            ?0009:
   \   00FC  110000            LD      DE,region
   \   00FF  CD0000            CALL    BAPI_FillRect
   \   0102  110000            LD      DE,region
   \   0105  DDE5              PUSH    IX
   \   0107  E1                POP     HL
   \   0108  0E04              LD      C,4
   \   010A  EDB0              LDIR
   \   010C  C9                RET
   \   010D                    END

Errors: none
Warnings: none
Code size: 269
Constant size: 0
Static variable size: Data(0) Iram(0)

⌨️ 快捷键说明

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