📄 ui_slider.lst
字号:
\ 0157 19 ADD HL,DE
\ 0158 DD75FC LD (IX-4),L
99
100 slider_atoi4 (file_name,slider->value);
\ 015B FD4E06 LD C,(IY+6)
\ 015E FD4607 LD B,(IY+7)
\ 0161 110000 LD DE,file_name
\ 0164 3E00 LD A,BYTE3 slider_atoi4
\ 0166 210000 LD HL,LWRD slider_atoi4
\ 0169 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
101 StrLength=(BYTE)strlen(file_name);
\ 016C 210000 LD HL,file_name
\ 016F CD0000 CALL LWRD ?STRLEN_L11
\ 0172 DD75FE LD (IX-2),L
102
103 ResShowPic(SSBCK,0,0);
\ 0175 0E00 LD C,0
\ 0177 C5 PUSH BC
\ 0178 11FE00 LD DE,254
\ 017B 3E00 LD A,BYTE3 ResShowPic
\ 017D 210000 LD HL,LWRD ResShowPic
\ 0180 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0183 F1 POP AF
104 SetBackgdColor(0x0000df1c);
\ 0184 010000 LD BC,0
\ 0187 111CDF LD DE,57116
\ 018A CD0000 CALL LWRD SetBackgdColor
105 ///-SetTextOutMode(1);
106 ResShowMultiString(slider->title, slider->string_id, 255, 1);
\ 018D 0E01 LD C,1
\ 018F C5 PUSH BC
\ 0190 0EFF LD C,255
\ 0192 C5 PUSH BC
\ 0193 FD4E0A LD C,(IY+10)
\ 0196 FD5E00 LD E,(IY+0)
\ 0199 FD5601 LD D,(IY+1)
\ 019C 3E00 LD A,BYTE3 ResShowMultiString
\ 019E 210000 LD HL,LWRD ResShowMultiString
\ 01A1 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 01A4 F1 POP AF
\ 01A5 F1 POP AF
107 ///-SetTextOutMode(0);
108 SetBackgdColor(Color_MENU_def);
\ 01A6 010000 LD BC,0
\ 01A9 11FFFF LD DE,65535
\ 01AC CD0000 CALL LWRD SetBackgdColor
109
110 // 画滑动杆
111 #ifdef EAR_PROTECT
112 if (g_EarProtect_flag)
\ 01AF 3A0000 LD A,(g_EarProtect_flag)
\ 01B2 B7 OR A
\ 01B3 2824 JR Z,?0025
\ 01B5 ?0024:
113 {
114 if (EarProtectThreshold == 22)
\ 01B5 3A0000 LD A,(EarProtectThreshold)
\ 01B8 FE16 CP 22
\ 01BA 200A JR NZ,?0027
\ 01BC ?0026:
115 {
116 main_ResShowPic(SSLIDER1,slider_pox_x_def,slider_pox_y_def);
\ 01BC 0E37 LD C,55
\ 01BE C5 PUSH BC
\ 01BF 0E18 LD C,24
\ 01C1 110001 LD DE,256
\ 01C4 181B JR ?0105
\ 01C6 ?0027:
117 }
118 else if (EarProtectThreshold == 25)
\ 01C6 FE19 CP 25
\ 01C8 0E37 LD C,55
\ 01CA C5 PUSH BC
\ 01CB 0E18 LD C,24
\ 01CD 2005 JR NZ,?0030
\ 01CF ?0029:
119 {
120 main_ResShowPic(SSLIDER2,slider_pox_x_def,slider_pox_y_def);
\ 01CF 110101 LD DE,257
\ 01D2 180D JR ?0105
121 }
122 else
\ 01D4 ?0030:
123 {
124 main_ResShowPic(SSLIDER3,slider_pox_x_def,slider_pox_y_def);
\ 01D4 110201 LD DE,258
\ 01D7 1808 JR ?0105
\ 01D9 ?0031:
\ 01D9 ?0028:
125 }
126 }
127 else
\ 01D9 ?0025:
128 {
129 main_ResShowPic(SSLIDER,slider_pox_x_def,slider_pox_y_def);
\ 01D9 0E37 LD C,55
\ 01DB C5 PUSH BC
\ 01DC 0E18 LD C,24
\ 01DE 11FF00 LD DE,255
\ 01E1 ?0105:
\ 01E1 CD5704 CALL LWRD ?0110
\ 01E4 F1 POP AF
\ 01E5 ?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);
\ 01E5 0E37 LD C,55
\ 01E7 C5 PUSH BC
\ 01E8 DD4EFC LD C,(IX-4)
\ 01EB 11FD00 LD DE,253
\ 01EE CD5704 CALL LWRD ?0110
\ 01F1 F1 POP AF
136
137 // 显示当前值
138 if(StrLength==1)
\ 01F2 DD46FE LD B,(IX-2)
\ 01F5 05 DEC B
\ 01F6 200B JR NZ,?0034
\ 01F8 ?0033:
139 main_ResShowPic(FMNUM0+file_name[0]-0x30,98-22,80);
\ 01F8 0E50 LD C,80
\ 01FA C5 PUSH BC
\ 01FB 0E4C LD C,76
\ 01FD ED5B0000 LD DE,(file_name)
\ 0201 185D JR ?0102
\ 0203 ?0034:
140 else if(StrLength==2)
\ 0203 DD46FE LD B,(IX-2)
\ 0206 05 DEC B
\ 0207 05 DEC B
\ 0208 2033 JR NZ,?0037
\ 020A ?0036:
141 {
142 if(file_name[0]=='-')
\ 020A 3A0000 LD A,(file_name)
\ 020D FE2D CP 45
\ 020F 2013 JR NZ,?0039
\ 0211 ?0038:
143 {
144 main_ResShowPic(MENUNEG,90,83);
\ 0211 0E53 LD C,83
\ 0213 C5 PUSH BC
\ 0214 0E5A LD C,90
\ 0216 11B800 LD DE,184
\ 0219 CD5704 CALL LWRD ?0110
\ 021C F1 POP AF
145 main_ResShowPic(FMNUM0+file_name[1]-0x30,108-22,80);
\ 021D 0E50 LD C,80
\ 021F C5 PUSH BC
\ 0220 0E56 LD C,86
\ 0222 1813 JR ?0101
146 }
147 else
\ 0224 ?0039:
148 {
149 main_ResShowPic(FMNUM0+file_name[0]-0x30,83-22,80);
\ 0224 0E50 LD C,80
\ 0226 C5 PUSH BC
\ 0227 0E3D LD C,61
\ 0229 ED5B0000 LD DE,(file_name)
\ 022D 50 LD D,B
\ 022E CD5204 CALL LWRD ?0111
\ 0231 F1 POP AF
150 main_ResShowPic(FMNUM0+file_name[1]-0x30,106-22,80);
\ 0232 0E50 LD C,80
\ 0234 C5 PUSH BC
\ 0235 0E54 LD C,84
\ 0237 ?0101:
\ 0237 ED5B0100 LD DE,(file_name+1)
\ 023B 1823 JR ?0102
\ 023D ?0040:
151 }
152 }
153 else
\ 023D ?0037:
154 {
155 main_ResShowPic(FMNUM0+file_name[0]-0x30,75-22,80);
\ 023D 0E50 LD C,80
\ 023F C5 PUSH BC
\ 0240 0E35 LD C,53
\ 0242 ED5B0000 LD DE,(file_name)
\ 0246 CD5004 CALL LWRD ?0112
\ 0249 F1 POP AF
156 main_ResShowPic(FMNUM0+file_name[1]-0x30,98-22,80);
\ 024A 0E50 LD C,80
\ 024C C5 PUSH BC
\ 024D 0E4C LD C,76
\ 024F ED5B0100 LD DE,(file_name+1)
\ 0253 CD5004 CALL LWRD ?0112
\ 0256 F1 POP AF
157 main_ResShowPic(FMNUM0+file_name[2]-0x30,121-22,80);
\ 0257 0E50 LD C,80
\ 0259 C5 PUSH BC
\ 025A 0E63 LD C,99
\ 025C ED5B0200 LD DE,(file_name+2)
\ 0260 ?0102:
\ 0260 CD5004 CALL LWRD ?0112
\ 0263 F1 POP AF
\ 0264 ?0041:
\ 0264 ?0035:
158 }
159 need_draw = FALSE;
\ 0264 DD36FB00 LD (IX-5),0
\ 0268 ?0023:
160 }
161
162 //handle message
163 key = ap_get_message();
\ 0268 CD0000 CALL LWRD ap_get_message
\ 026B DD77F8 LD (IX-8),A
164 switch( key)
\ 026E 5F LD E,A
\ 026F CD0000 CALL LWRD ?C_V_SWITCH_L06
\ 0272 0F00 DEFW 15
\ 0274 03 DEFB 3
\ 0275 04 DEFB 4
\ 0276 05 DEFB 5
\ 0277 06 DEFB 6
\ 0278 1E DEFB 30
\ 0279 21 DEFB 33
\ 027A 23 DEFB 35
\ 027B 24 DEFB 36
\ 027C 25 DEFB 37
\ 027D 26 DEFB 38
\ 027E 30 DEFB 48
\ 027F 43 DEFB 67
\ 0280 44 DEFB 68
\ 0281 45 DEFB 69
\ 0282 46 DEFB 70
\ 0283 3803 DEFW ?0060
\ 0285 1203 DEFW ?0049
\ 0287 1E03 DEFW ?0052
\ 0289 1203 DEFW ?0049
\ 028B 1E03 DEFW ?0052
\ 028D 4203 DEFW ?0104
\ 028F 2A03 DEFW ?0055
\ 0291 2A03 DEFW ?0055
\ 0293 2A03 DEFW ?0055
\ 0295 2A03 DEFW ?0055
\ 0297 4203 DEFW ?0104
\ 0299 3003 DEFW ?0057
\ 029B A302 DEFW ?0043
\ 029D D602 DEFW ?0046
\ 029F A302 DEFW ?0043
\ 02A1 D602 DEFW ?0046
\ 02A3 ?0043:
165 {
166 case AP_KEY_NEXT:
167 case AP_KEY_VOLADD:
168 if((slider->value + slider->step) <= slider->max)
\ 02A3 FD6E08 LD L,(IY+8)
\ 02A6 FD6609 LD H,(IY+9)
\ 02A9 FD4E06 LD C,(IY+6)
\ 02AC FD4607 LD B,(IY+7)
\ 02AF 09 ADD HL,BC
\ 02B0 4D LD C,L
\ 02B1 44 LD B,H
\ 02B2 FD6E04 LD L,(IY+4)
\ 02B5 FD6605 LD H,(IY+5)
\ 02B8 F680 OR 128
\ 02BA ED42 SBC HL,BC
\ 02BC E2C002 JP PO,?0094
\ 02BF AC XOR H
\ 02C0 ?0094:
\ 02C0 FA5A03 JP M,?0064
\ 02C3 ?0044:
169 {
170 slider->value += slider->step;
\ 02C3 210600 LD HL,6
\ 02C6 FDE5 PUSH IY
\ 02C8 C1 POP BC
\ 02C9 09 ADD HL,BC
\ 02CA 7E LD A,(HL)
\ 02CB FD8608 ADD A,(IY+8)
\ 02CE 77 LD (HL),A
\ 02CF 23 INC HL
\ 02D0 7E LD A,(HL)
\ 02D1 FD8E09 ADC A,(IY+9)
\ 02D4 1831 JR ?0107
171 value_changed = TRUE;
172 need_draw = TRUE;
\ 02D6 ?0045:
173 }
174
175 break;
\ 02D6 ?0046:
176
177
178 case AP_KEY_PREV:
179 case AP_KEY_VOLSUB:
180 if((slider->value - slider->step) >= slider->min)
\ 02D6 FD4E02 LD C,(IY+2)
\ 02D9 FD4603 LD B,(IY+3)
\ 02DC FD5E08 LD E,(IY+8)
\ 02DF FD5609 LD D,(IY+9)
\ 02E2 FD6E06 LD L,(IY+6)
\ 02E5 FD6607 LD H,(IY+7)
\ 02E8 A7 AND A
\ 02E9 ED52 SBC HL,DE
\ 02EB F680 OR 128
\ 02ED ED42 SBC HL,BC
\ 02EF E2F302 JP PO,?0095
\ 02F2 AC XOR H
\ 02F3 ?0095:
\ 02F3 FA5A03 JP M,?0064
\ 02F6 ?0047:
181 {
182 slider->value -= slider->step;
\ 02F6 210600 LD HL,6
\ 02F9 FDE5 PUSH IY
\ 02FB C1 POP BC
\ 02FC 09 ADD HL,BC
\ 02FD 7E LD A,(HL)
\ 02FE FD9608 SUB (IY+8)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -