📄 ui_slider.lst
字号:
105 (slider_width_def-8) * (slider->value - slider->min) / (slider->max - slider->min);
\ 012B FD4E02 LD C,(IY+2)
\ 012E FD4603 LD B,(IY+3)
\ 0131 FD6E06 LD L,(IY+6)
\ 0134 FD6607 LD H,(IY+7)
\ 0137 ED42 SBC HL,BC
\ 0139 4D LD C,L
\ 013A 44 LD B,H
\ 013B 117800 LD DE,120
\ 013E CD0000 CALL LWRD ?S_MUL_L02
\ 0141 FD4E02 LD C,(IY+2)
\ 0144 FD4603 LD B,(IY+3)
\ 0147 FD6E04 LD L,(IY+4)
\ 014A FD6605 LD H,(IY+5)
\ 014D A7 AND A
\ 014E ED42 SBC HL,BC
\ 0150 4D LD C,L
\ 0151 44 LD B,H
\ 0152 CD0000 CALL LWRD ?SS_DIV_L02
\ 0155 212D00 LD HL,45
\ 0158 19 ADD HL,DE
\ 0159 DD75F8 LD (IX-8),L
106
107 slider_atoi4 (file_name,slider->value);
\ 015C FD4E06 LD C,(IY+6)
\ 015F FD4607 LD B,(IY+7)
\ 0162 110000 LD DE,file_name
\ 0165 3E00 LD A,BYTE3 slider_atoi4
\ 0167 210000 LD HL,LWRD slider_atoi4
\ 016A CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
108 StrLength=(BYTE)strlen(file_name);
\ 016D 210000 LD HL,file_name
\ 0170 CD0000 CALL LWRD ?STRLEN_L11
\ 0173 DD75FE LD (IX-2),L
109
110 ResShowPic(SSBCK,0,0);
\ 0176 0E00 LD C,0
\ 0178 C5 PUSH BC
\ 0179 11DD00 LD DE,221
\ 017C 3E00 LD A,BYTE3 ResShowPic
\ 017E 210000 LD HL,LWRD ResShowPic
\ 0181 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0184 F1 POP AF
111 ResShowMultiString(slider->title, slider->string_id, menuhead_s_pos_x_def, menuhead_s_pos_y_def);
\ 0185 0E94 LD C,148
\ 0187 C5 PUSH BC
\ 0188 0E16 LD C,22
\ 018A C5 PUSH BC
\ 018B FD4E0A LD C,(IY+10)
\ 018E FD5E00 LD E,(IY+0)
\ 0191 FD5601 LD D,(IY+1)
\ 0194 3E00 LD A,BYTE3 ResShowMultiString
\ 0196 210000 LD HL,LWRD ResShowMultiString
\ 0199 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 019C F1 POP AF
\ 019D F1 POP AF
112
113 // 画滑动杆
114 main_ResShowPic(SSLIDER,slider_pox_x_def,slider_pox_y_def);
\ 019E 0E37 LD C,55
\ 01A0 C5 PUSH BC
\ 01A1 0E2D LD C,45
\ 01A3 11DE00 LD DE,222
\ 01A6 CD0E04 CALL LWRD ?0104
\ 01A9 F1 POP AF
115 // 画滑动游标
116 main_ResShowPic(SLIDPTR, value, slider_cursor_y_def);
\ 01AA 0E37 LD C,55
\ 01AC C5 PUSH BC
\ 01AD DD4EF8 LD C,(IX-8)
\ 01B0 11DC00 LD DE,220
\ 01B3 CD0E04 CALL LWRD ?0104
\ 01B6 F1 POP AF
117
118 // 显示当前值
119 if(StrLength==1)
\ 01B7 DD46FE LD B,(IX-2)
\ 01BA 05 DEC B
\ 01BB 201E JR NZ,?0026
\ 01BD ?0025:
120 main_ResShowPic(FMNUM0+file_name[0]-0x30,98,80);
\ 01BD 0E50 LD C,80
\ 01BF C5 PUSH BC
\ 01C0 0E62 LD C,98
\ 01C2 ED5B0000 LD DE,(file_name)
\ 01C6 C35802 JP LWRD ?0087
\ 01C9 210900 LD HL,9
\ 01CC C35D02 JP LWRD ?0090
\ 01CF EB EX DE,HL
\ 01D0 1859 JR ?0096
\ 01D2 210000 LD HL,LWRD main_ResShowPic
\ 01D5 1859 JR ?0094
\ 01D7 F1 POP AF
\ 01D8 C36802 JP LWRD ?0033
\ 01DB ?0026:
121 else if(StrLength==2)
\ 01DB DD46FE LD B,(IX-2)
\ 01DE 05 DEC B
\ 01DF 05 DEC B
\ 01E0 2053 JR NZ,?0029
\ 01E2 ?0028:
122 {
123 if(file_name[0]=='-')
\ 01E2 3A0000 LD A,(file_name)
\ 01E5 FE2D CP 45
\ 01E7 2024 JR NZ,?0031
\ 01E9 ?0030:
124 {
125 main_ResShowPic(MENUNEG,90,83);
\ 01E9 0E53 LD C,83
\ 01EB C5 PUSH BC
\ 01EC 0E5A LD C,90
\ 01EE 116B00 LD DE,107
\ 01F1 CD0E04 CALL LWRD ?0104
\ 01F4 F1 POP AF
126 main_ResShowPic(FMNUM0+file_name[1]-0x30,108,80);
\ 01F5 0E50 LD C,80
\ 01F7 C5 PUSH BC
\ 01F8 0E6C LD C,108
\ 01FA 1824 JR ?0086
\ 01FC 1600 LD D,0
\ 01FE 185A JR ?0097
\ 0200 185B JR ?0090
\ 0202 EB EX DE,HL
\ 0203 1826 JR ?0096
\ 0205 210000 LD HL,LWRD main_ResShowPic
\ 0208 185A JR ?0099
\ 020A F1 POP AF
127 }
128 else
\ 020B 185B JR ?0033
\ 020D ?0031:
129 {
130 main_ResShowPic(FMNUM0+file_name[0]-0x30,83,80);
\ 020D 0E50 LD C,80
\ 020F C5 PUSH BC
\ 0210 0E53 LD C,83
\ 0212 ED5B0000 LD DE,(file_name)
\ 0216 50 LD D,B
\ 0217 CD0904 CALL LWRD ?0105
\ 021A F1 POP AF
131 main_ResShowPic(FMNUM0+file_name[1]-0x30,106,80);
\ 021B 0E50 LD C,80
\ 021D C5 PUSH BC
\ 021E 0E6A LD C,106
\ 0220 ?0086:
\ 0220 ED5B0100 LD DE,(file_name+1)
\ 0224 1832 JR ?0087
\ 0226 1832 JR ?0097
\ 0228 1833 JR ?0090
\ 022A EB EX DE,HL
\ 022B ?0096:
\ 022B 3E00 LD A,BYTE3 main_ResShowPic
\ 022D 210000 LD HL,LWRD main_ResShowPic
\ 0230 ?0094:
\ 0230 1832 JR ?0099
\ 0232 F1 POP AF
\ 0233 ?0032:
132 }
133 }
134 else
\ 0233 1833 JR ?0033
\ 0235 ?0029:
135 {
136 main_ResShowPic(FMNUM0+file_name[0]-0x30,75,80);
\ 0235 0E50 LD C,80
\ 0237 C5 PUSH BC
\ 0238 0E4B LD C,75
\ 023A ED5B0000 LD DE,(file_name)
\ 023E CD0704 CALL LWRD ?0106
\ 0241 F1 POP AF
137 main_ResShowPic(FMNUM0+file_name[1]-0x30,98,80);
\ 0242 0E50 LD C,80
\ 0244 C5 PUSH BC
\ 0245 0E62 LD C,98
\ 0247 ED5B0100 LD DE,(file_name+1)
\ 024B CD0704 CALL LWRD ?0106
\ 024E F1 POP AF
138 main_ResShowPic(FMNUM0+file_name[2]-0x30,121,80);
\ 024F 0E50 LD C,80
\ 0251 C5 PUSH BC
\ 0252 0E79 LD C,121
\ 0254 ED5B0200 LD DE,(file_name+2)
\ 0258 ?0087:
\ 0258 1600 LD D,0
\ 025A ?0097:
\ 025A 210900 LD HL,9
\ 025D ?0090:
\ 025D 19 ADD HL,DE
\ 025E EB EX DE,HL
\ 025F 3E00 LD A,BYTE3 main_ResShowPic
\ 0261 210000 LD HL,LWRD main_ResShowPic
\ 0264 ?0099:
\ 0264 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0267 F1 POP AF
\ 0268 ?0033:
\ 0268 ?0027:
139 }
140 need_draw = FALSE;
\ 0268 DD36F700 LD (IX-9),0
\ 026C ?0024:
141 }
142
143 //handle message
144 key = ap_get_message();
\ 026C CD1604 CALL LWRD ?0107
145 switch( key)
\ 026F 5F LD E,A
\ 0270 CD0000 CALL LWRD ?C_V_SWITCH_L06
\ 0273 0F00 DEFW 15
\ 0275 03 DEFB 3
\ 0276 04 DEFB 4
\ 0277 05 DEFB 5
\ 0278 06 DEFB 6
\ 0279 1E DEFB 30
\ 027A 21 DEFB 33
\ 027B 23 DEFB 35
\ 027C 24 DEFB 36
\ 027D 25 DEFB 37
\ 027E 26 DEFB 38
\ 027F 30 DEFB 48
\ 0280 43 DEFB 67
\ 0281 44 DEFB 68
\ 0282 45 DEFB 69
\ 0283 46 DEFB 70
\ 0284 2A03 DEFW ?0052
\ 0286 FC02 DEFW ?0041
\ 0288 0803 DEFW ?0044
\ 028A FC02 DEFW ?0041
\ 028C 0803 DEFW ?0044
\ 028E 3403 DEFW ?0089
\ 0290 1403 DEFW ?0047
\ 0292 1403 DEFW ?0047
\ 0294 1403 DEFW ?0047
\ 0296 1403 DEFW ?0047
\ 0298 3403 DEFW ?0089
\ 029A 1E03 DEFW ?0049
\ 029C A402 DEFW ?0035
\ 029E C602 DEFW ?0038
\ 02A0 A402 DEFW ?0035
\ 02A2 C602 DEFW ?0038
\ 02A4 ?0035:
146 {
147 case AP_KEY_NEXT:
148 case AP_KEY_VOLADD:
149 if((slider->value + slider->step) <= slider->max)
\ 02A4 CD1D04 CALL LWRD ?0108
\ 02A7 381A JR C,?0037
\ 02A9 ?0036:
150 {
151 slider->value += slider->step;
\ 02A9 210600 LD HL,6
\ 02AC FDE5 PUSH IY
\ 02AE C1 POP BC
\ 02AF 09 ADD HL,BC
\ 02B0 7E LD A,(HL)
\ 02B1 FD8608 ADD A,(IY+8)
\ 02B4 77 LD (HL),A
\ 02B5 23 INC HL
\ 02B6 7E LD A,(HL)
\ 02B7 FD8E09 ADC A,(IY+9)
\ 02BA 77 LD (HL),A
152 value_changed = TRUE;
153 need_draw = TRUE;
\ 02BB DD36F601 LD (IX-10),1
\ 02BF DD36F701 LD (IX-9),1
\ 02C3 ?0037:
154 }
155
156 break;
\ 02C3 C34703 JP LWRD ?0056
\ 02C6 ?0038:
157
158
159 case AP_KEY_PREV:
160 case AP_KEY_VOLSUB:
161 if((slider->value - slider->step) >= slider->min)
\ 02C6 FD4E02 LD C,(IY+2)
\ 02C9 FD4603 LD B,(IY+3)
\ 02CC FD5E08 LD E,(IY+8)
\ 02CF FD5609 LD D,(IY+9)
\ 02D2 FD6E06 LD L,(IY+6)
\ 02D5 FD6607 LD H,(IY+7)
\ 02D8 A7 AND A
\ 02D9 ED52 SBC HL,DE
\ 02DB CD0000 CALL LWRD ?SS_CMP_L02
\ 02DE 3867 JR C,?0056
\ 02E0 ?0039:
162 {
163 slider->value -= slider->step;
\ 02E0 210600 LD HL,6
\ 02E3 FDE5 PUSH IY
\ 02E5 C1 POP BC
\ 02E6 09 ADD HL,BC
\ 02E7 7E LD A,(HL)
\ 02E8 FD9608 SUB (IY+8)
\ 02EB 77 LD (HL),A
\ 02EC 23 INC HL
\ 02ED 7E LD A,(HL)
\ 02EE FD9E09 SBC A,(IY+9)
\ 02F1 77 LD (HL),A
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -