📄 sdrv_clrscreen.s01
字号:
NAME sdrv_clrscreen(16)
RSEG BAC_CLRS(0)
EXTERN BAPI_FillRect
PUBLIC Sdrv_ClearScreen
EXTERN dc
EXTERN region
EXTERN ?CLZ80L_4_04_L00
RSEG BAC_CLRS
Sdrv_ClearScreen:
; 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_ClrScreen.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_CLRS)
; 18. #pragma memory=default
; 19.
; 20. #pragma memory=dataseg(BAD_CLRS)
; 21. //SD_RW sdrw;
; 22. //extern unsigned char BufPage;
; 23. #pragma memory=default
; 24.
; 25. #pragma codeseg(BAC_CLRS)
; 26.
; 27.
; 28. ////*******************************************************************************/
; 29. ///*
; 30. //** FUNCTION: ClearScreen
; 31. //**
; 32. //** Description: 把指定的屏幕区域清为背景色
; 33. //**
; 34. //** input
; 35. //** region_t *clrregion :要清屏的区域,如为 NULL 则清全屏
; 36. //**
; 37. //** output
; 38. //** none
; 39. //********************************************************************************/
; 40.
; 41. void Sdrv_ClearScreen(region_t *clrregion)
; 42. {
PUSH BC
PUSH IX
PUSH AF
PUSH AF
PUSH DE
POP IX
; 43. COLORREF PenColor_bak;
; 44.
; 45. //暂存当前画笔颜色(因为清屏时是把指定区域填成背景色)
; 46. PenColor_bak = dc.PenColor;
LD HL,0
ADD HL,SP
LD BC,(dc+2)
LD DE,(dc)
LD (HL),E
INC HL
LD (HL),D
INC HL
LD (HL),C
INC HL
LD (HL),B
; 47. dc.PenColor = dc.BackgdColor;//把画笔颜色改为背景色
LD HL,dc+4
LD E,(HL)
INC HL
LD D,(HL)
INC HL
LD C,(HL)
INC HL
LD B,(HL)
EX DE,HL
LD (dc),HL
LD (dc+2),BC
; 48. //Hdrv_SetDrawMode(DrawModeH_def); //把显示模式设置成竖向显示模式(与旧字库兼容)
; 49. if (clrregion == NULL)
LD A,IXL
OR IXH
JR NZ,?0001
?0000:
; 50. {
; 51. //把显示区域设置为全屏
; 52. region.x = 0;
LD (region),A
; 53. region.y = 0;
LD (region+1),A
; 54. region.width = Displaylength;
LD A,160
LD (region+2),A
; 55. region.height = Displayhight;
LD A,128
LD (region+3),A
; 56. BAPI_FillRect (®ion);
LD DE,region
JR ?0004
; 57. }
; 58. else
?0001:
; 59. {
; 60. BAPI_FillRect (clrregion);
PUSH IX
POP DE
?0004:
CALL BAPI_FillRect
?0002:
; 61. }
; 62. dc.PenColor = PenColor_bak;//恢复画笔颜色
LD HL,0
ADD HL,SP
LD E,(HL)
INC HL
LD D,(HL)
INC HL
LD C,(HL)
INC HL
LD B,(HL)
EX DE,HL
LD (dc),HL
LD (dc+2),BC
; 63. return;
; 64. }
POP HL
POP HL
POP IX
POP BC
RET
; 65.
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -