📄 ui_slider.lst
字号:
\ 0142 CD0000 CALL LWRD ?SS_DIV_L02
\ 0145 211800 LD HL,24
\ 0148 19 ADD HL,DE
\ 0149 DD75FC LD (IX-4),L
99
100 slider_atoi4 (file_name,slider->value);
\ 014C FD4E06 LD C,(IY+6)
\ 014F FD4607 LD B,(IY+7)
\ 0152 110000 LD DE,file_name
\ 0155 3E00 LD A,BYTE3 slider_atoi4
\ 0157 210000 LD HL,LWRD slider_atoi4
\ 015A CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
101 StrLength=(BYTE)strlen(file_name);
\ 015D 210000 LD HL,file_name
\ 0160 CD0000 CALL LWRD ?STRLEN_L11
\ 0163 DD75FE LD (IX-2),L
102
103 ResShowPic(SSBCK,0,0);
\ 0166 0E00 LD C,0
\ 0168 C5 PUSH BC
\ 0169 11FE00 LD DE,254
\ 016C 3E00 LD A,BYTE3 ResShowPic
\ 016E 210000 LD HL,LWRD ResShowPic
\ 0171 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0174 F1 POP AF
104 SetBackgdColor(0x0000df1c);
\ 0175 010000 LD BC,0
\ 0178 111CDF LD DE,57116
\ 017B CD0000 CALL LWRD SetBackgdColor
105 ///-SetTextOutMode(1);
106 ResShowMultiString(slider->title, slider->string_id, 255, 1);
\ 017E 0E01 LD C,1
\ 0180 C5 PUSH BC
\ 0181 0EFF LD C,255
\ 0183 C5 PUSH BC
\ 0184 FD4E0A LD C,(IY+10)
\ 0187 FD5E00 LD E,(IY+0)
\ 018A FD5601 LD D,(IY+1)
\ 018D 3E00 LD A,BYTE3 ResShowMultiString
\ 018F 210000 LD HL,LWRD ResShowMultiString
\ 0192 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0195 F1 POP AF
\ 0196 F1 POP AF
107 ///-SetTextOutMode(0);
108 SetBackgdColor(Color_MENU_def);
\ 0197 010000 LD BC,0
\ 019A 11FFFF LD DE,65535
\ 019D CD0000 CALL LWRD SetBackgdColor
109
110 // 画滑动杆
111 #ifdef EAR_PROTECT
112 if (g_EarProtect_flag)
\ 01A0 3A0000 LD A,(g_EarProtect_flag)
\ 01A3 B7 OR A
\ 01A4 2824 JR Z,?0025
\ 01A6 ?0024:
113 {
114 if (EarProtectThreshold == 22)
\ 01A6 3A0000 LD A,(EarProtectThreshold)
\ 01A9 FE16 CP 22
\ 01AB 200A JR NZ,?0027
\ 01AD ?0026:
115 {
116 main_ResShowPic(SSLIDER1,slider_pox_x_def,slider_pox_y_def);
\ 01AD 0E37 LD C,55
\ 01AF C5 PUSH BC
\ 01B0 0E18 LD C,24
\ 01B2 110001 LD DE,256
\ 01B5 181B JR ?0101
\ 01B7 ?0027:
117 }
118 else if (EarProtectThreshold == 25)
\ 01B7 FE19 CP 25
\ 01B9 0E37 LD C,55
\ 01BB C5 PUSH BC
\ 01BC 0E18 LD C,24
\ 01BE 2005 JR NZ,?0030
\ 01C0 ?0029:
119 {
120 main_ResShowPic(SSLIDER2,slider_pox_x_def,slider_pox_y_def);
\ 01C0 110101 LD DE,257
\ 01C3 180D JR ?0101
121 }
122 else
\ 01C5 ?0030:
123 {
124 main_ResShowPic(SSLIDER3,slider_pox_x_def,slider_pox_y_def);
\ 01C5 110201 LD DE,258
\ 01C8 1808 JR ?0101
\ 01CA ?0031:
\ 01CA ?0028:
125 }
126 }
127 else
\ 01CA ?0025:
128 {
129 main_ResShowPic(SSLIDER,slider_pox_x_def,slider_pox_y_def);
\ 01CA 0E37 LD C,55
\ 01CC C5 PUSH BC
\ 01CD 0E18 LD C,24
\ 01CF 11FF00 LD DE,255
\ 01D2 ?0101:
\ 01D2 CD0804 CALL LWRD ?0105
\ 01D5 F1 POP AF
\ 01D6 ?0032:
130 }
131 #else
132 main_ResShowPic(SSLIDER,slider_pox_x_def,slider_pox_y_def);
133 #endif
134 // 画滑动游标
135 main_ResShowPic(SLIDPTR, value, slider_cursor_y_def);
\ 01D6 0E37 LD C,55
\ 01D8 C5 PUSH BC
\ 01D9 DD4EFC LD C,(IX-4)
\ 01DC 11FD00 LD DE,253
\ 01DF CD0804 CALL LWRD ?0105
\ 01E2 F1 POP AF
136
137 // 显示当前值
138 if(StrLength==1)
\ 01E3 DD46FE LD B,(IX-2)
\ 01E6 05 DEC B
\ 01E7 200B JR NZ,?0034
\ 01E9 ?0033:
139 main_ResShowPic(FMNUM0+file_name[0]-0x30,98-22,80);
\ 01E9 0E50 LD C,80
\ 01EB C5 PUSH BC
\ 01EC 0E4C LD C,76
\ 01EE ED5B0000 LD DE,(file_name)
\ 01F2 185D JR ?0098
\ 01F4 ?0034:
140 else if(StrLength==2)
\ 01F4 DD46FE LD B,(IX-2)
\ 01F7 05 DEC B
\ 01F8 05 DEC B
\ 01F9 2033 JR NZ,?0037
\ 01FB ?0036:
141 {
142 if(file_name[0]=='-')
\ 01FB 3A0000 LD A,(file_name)
\ 01FE FE2D CP 45
\ 0200 2013 JR NZ,?0039
\ 0202 ?0038:
143 {
144 main_ResShowPic(MENUNEG,90,83);
\ 0202 0E53 LD C,83
\ 0204 C5 PUSH BC
\ 0205 0E5A LD C,90
\ 0207 11B800 LD DE,184
\ 020A CD0804 CALL LWRD ?0105
\ 020D F1 POP AF
145 main_ResShowPic(FMNUM0+file_name[1]-0x30,108-22,80);
\ 020E 0E50 LD C,80
\ 0210 C5 PUSH BC
\ 0211 0E56 LD C,86
\ 0213 1813 JR ?0097
146 }
147 else
\ 0215 ?0039:
148 {
149 main_ResShowPic(FMNUM0+file_name[0]-0x30,83-22,80);
\ 0215 0E50 LD C,80
\ 0217 C5 PUSH BC
\ 0218 0E3D LD C,61
\ 021A ED5B0000 LD DE,(file_name)
\ 021E 50 LD D,B
\ 021F CD0304 CALL LWRD ?0106
\ 0222 F1 POP AF
150 main_ResShowPic(FMNUM0+file_name[1]-0x30,106-22,80);
\ 0223 0E50 LD C,80
\ 0225 C5 PUSH BC
\ 0226 0E54 LD C,84
\ 0228 ?0097:
\ 0228 ED5B0100 LD DE,(file_name+1)
\ 022C 1823 JR ?0098
\ 022E ?0040:
151 }
152 }
153 else
\ 022E ?0037:
154 {
155 main_ResShowPic(FMNUM0+file_name[0]-0x30,75-22,80);
\ 022E 0E50 LD C,80
\ 0230 C5 PUSH BC
\ 0231 0E35 LD C,53
\ 0233 ED5B0000 LD DE,(file_name)
\ 0237 CD0104 CALL LWRD ?0107
\ 023A F1 POP AF
156 main_ResShowPic(FMNUM0+file_name[1]-0x30,98-22,80);
\ 023B 0E50 LD C,80
\ 023D C5 PUSH BC
\ 023E 0E4C LD C,76
\ 0240 ED5B0100 LD DE,(file_name+1)
\ 0244 CD0104 CALL LWRD ?0107
\ 0247 F1 POP AF
157 main_ResShowPic(FMNUM0+file_name[2]-0x30,121-22,80);
\ 0248 0E50 LD C,80
\ 024A C5 PUSH BC
\ 024B 0E63 LD C,99
\ 024D ED5B0200 LD DE,(file_name+2)
\ 0251 ?0098:
\ 0251 CD0104 CALL LWRD ?0107
\ 0254 F1 POP AF
\ 0255 ?0041:
\ 0255 ?0035:
158 }
159 need_draw = FALSE;
\ 0255 DD36FB00 LD (IX-5),0
\ 0259 ?0023:
160 }
161
162 //handle message
163 key = ap_get_message();
\ 0259 CD1004 CALL LWRD ?0108
164 switch( key)
\ 025C 5F LD E,A
\ 025D CD0000 CALL LWRD ?C_V_SWITCH_L06
\ 0260 0F00 DEFW 15
\ 0262 03 DEFB 3
\ 0263 04 DEFB 4
\ 0264 05 DEFB 5
\ 0265 06 DEFB 6
\ 0266 1E DEFB 30
\ 0267 21 DEFB 33
\ 0268 23 DEFB 35
\ 0269 24 DEFB 36
\ 026A 25 DEFB 37
\ 026B 26 DEFB 38
\ 026C 30 DEFB 48
\ 026D 43 DEFB 67
\ 026E 44 DEFB 68
\ 026F 45 DEFB 69
\ 0270 46 DEFB 70
\ 0271 0E03 DEFW ?0060
\ 0273 E802 DEFW ?0049
\ 0275 F402 DEFW ?0052
\ 0277 E802 DEFW ?0049
\ 0279 F402 DEFW ?0052
\ 027B 1803 DEFW ?0100
\ 027D 0003 DEFW ?0055
\ 027F 0003 DEFW ?0055
\ 0281 0003 DEFW ?0055
\ 0283 0003 DEFW ?0055
\ 0285 1803 DEFW ?0100
\ 0287 0603 DEFW ?0057
\ 0289 9102 DEFW ?0043
\ 028B B202 DEFW ?0046
\ 028D 9102 DEFW ?0043
\ 028F B202 DEFW ?0046
\ 0291 ?0043:
165 {
166 case AP_KEY_NEXT:
167 case AP_KEY_VOLADD:
168 if((slider->value + slider->step) <= slider->max)
\ 0291 CD1704 CALL LWRD ?0109
\ 0294 381A JR C,?0045
\ 0296 ?0044:
169 {
170 slider->value += slider->step;
\ 0296 210600 LD HL,6
\ 0299 FDE5 PUSH IY
\ 029B C1 POP BC
\ 029C 09 ADD HL,BC
\ 029D 7E LD A,(HL)
\ 029E FD8608 ADD A,(IY+8)
\ 02A1 77 LD (HL),A
\ 02A2 23 INC HL
\ 02A3 7E LD A,(HL)
\ 02A4 FD8E09 ADC A,(IY+9)
\ 02A7 77 LD (HL),A
171 value_changed = TRUE;
172 need_draw = TRUE;
\ 02A8 DD36FA01 LD (IX-6),1
\ 02AC DD36FB01 LD (IX-5),1
\ 02B0 ?0045:
173 }
174
175 break;
\ 02B0 1879 JR ?0064
\ 02B2 ?0046:
176
177
178 case AP_KEY_PREV:
179 case AP_KEY_VOLSUB:
180 if((slider->value - slider->step) >= slider->min)
\ 02B2 FD4E02 LD C,(IY+2)
\ 02B5 FD4603 LD B,(IY+3)
\ 02B8 FD5E08 LD E,(IY+8)
\ 02BB FD5609 LD D,(IY+9)
\ 02BE FD6E06 LD L,(IY+6)
\ 02C1 FD6607 LD H,(IY+7)
\ 02C4 A7 AND A
\ 02C5 ED52 SBC HL,DE
\ 02C7 CD0000 CALL LWRD ?SS_CMP_L02
\ 02CA 385F JR C,?0064
\ 02CC ?0047:
181 {
182 slider->value -= slider->step;
\ 02CC 210600 LD HL,6
\ 02CF FDE5 PUSH IY
\ 02D1 C1 POP BC
\ 02D2 09 ADD HL,BC
\ 02D3 7E LD A,(HL)
\ 02D4 FD9608 SUB (IY+8)
\ 02D7 77 LD (HL),A
\ 02D8 23 INC HL
\ 02D9 7E LD A,(HL)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -