📄 ui_playlist2.lst
字号:
67 output8(0x05, status);
68 }
\ 00EA ShowPlaylist:
69
70
71 /********************************************************************************
72 * Description : show the directory.
73 *
74 * Arguments :
75 * location: get thedisk type
76 * Invpath: the "\" or name
77 * Namebuf:the string you will display
78 * type : show file kind
79 * string_id: language type
80 * Returns :
81 * other: Successful
82 * 0: Fail, detail information in fselError
83 * Notes : only display the valid directory
84 *
85 ********************************************************************************/
86 void ShowPlaylist(BYTE top,BYTE bottom,BYTE Old_active,BYTE active,char *Longnamebuf,BYTE string_id,BYTE ScrollMode)
87 {
\ 00EA CD0000 CALL LWRD ?ENT_AUTO_DIRECT_L09
\ 00ED FEFF DEFW -2
\ 00EF FDE5 PUSH IY
88
89 int i,tmp;
90 SetAsciiFont(FONT_TYPE_LARGE);
\ 00F1 1E04 LD E,4
\ 00F3 CD0000 CALL LWRD SetAsciiFont
91 SetTextOutMode(1);
\ 00F6 1E01 LD E,1
\ 00F8 CD0000 CALL LWRD SetTextOutMode
92 PlayListScrollRegion.x=30;
\ 00FB 3E1E LD A,30
\ 00FD 320000 LD (PlayListScrollRegion),A
93 PlayListScrollRegion.width=162;
\ 0100 3EA2 LD A,162
\ 0102 320200 LD (PlayListScrollRegion+2),A
94 PlayListScrollRegion.height=16;
\ 0105 3E10 LD A,16
\ 0107 320300 LD (PlayListScrollRegion+3),A
95 if(!ScrollMode) //只需要滚动活动的项目
\ 010A AF XOR A
\ 010B DDB612 OR (IX+18)
\ 010E 201B JR NZ,?0015
\ 0110 ?0014:
96 {
97 SetTextOutMode(0);
\ 0110 5F LD E,A
\ 0111 CD0000 CALL LWRD SetTextOutMode
98 SetBackgdColor(Color_BULE_Scroll_def);
\ 0114 CD2C03 CALL LWRD ?0041
99 Scroll_PlayList(Longnamebuf, FALSE,string_id,&PlayListScrollRegion);
\ 0117 E5 PUSH HL
\ 0118 DD6E10 LD L,(IX+16)
\ 011B E5 PUSH HL
\ 011C 0E00 LD C,0
\ 011E CD3B03 CALL LWRD ?0043
\ 0121 E1 POP HL
\ 0122 E1 POP HL
100 SetTextOutMode(1);
\ 0123 1E01 LD E,1
\ 0125 CD0000 CALL LWRD SetTextOutMode
101 }
102 else //需要初始化活动项,判断是否需要滚动
\ 0128 C32003 JP LWRD ?0031
\ 012B ?0015:
103 {
104 if(Old_active!=active)
\ 012B DD7E0A LD A,(IX+10)
\ 012E DDBE0C CP (IX+12)
\ 0131 CAD501 JP Z,?0018
\ 0134 ?0017:
105
106 {
107 //清除旧的活动列表项
108 tmp=Old_active%5;
\ 0134 0605 LD B,5
\ 0136 CD4903 CALL LWRD ?0045
109 ResShowPic(MENUBCK5-tmp ,menu_bck_x_def, menu_pos_list[tmp+1]-4); //分段刷新背景
\ 0139 C6FC ADD A,252
\ 013B 5F LD E,A
\ 013C D5 PUSH DE
\ 013D 0E09 LD C,9
\ 013F FDE5 PUSH IY
\ 0141 D1 POP DE
\ 0142 216900 LD HL,105
\ 0145 A7 AND A
\ 0146 ED52 SBC HL,DE
\ 0148 EB EX DE,HL
\ 0149 CD5D03 CALL LWRD ?0046
\ 014C F1 POP AF
110 ResShowPic(DHT,194,8);
\ 014D 0E08 LD C,8
\ 014F C5 PUSH BC
\ 0150 0EC2 LD C,194
\ 0152 112D00 LD DE,45
\ 0155 CD5D03 CALL LWRD ?0046
\ 0158 F1 POP AF
111 ResShowPic(MFILE, explorer_pic_x_def, menu_pos_list[tmp+1]-1);
\ 0159 210100 LD HL,menu_pos_list+1
\ 015C FDE5 PUSH IY
\ 015E C1 POP BC
\ 015F 09 ADD HL,BC
\ 0160 7E LD A,(HL)
\ 0161 C6FF ADD A,255
\ 0163 5F LD E,A
\ 0164 D5 PUSH DE
\ 0165 CD5803 CALL LWRD ?0047
\ 0168 F1 POP AF
112 SetTextPos(explorer_str_x_def, menu_pos_list[tmp+1]-2);
\ 0169 210100 LD HL,menu_pos_list+1
\ 016C FDE5 PUSH IY
\ 016E C1 POP BC
\ 016F CD6503 CALL LWRD ?0048
113 read_idm_data_playlist(Longnamebuf,tmp);
\ 0172 CD6F03 CALL LWRD ?0050
114 SetPenColor(Color_WHITE_def); //取列表名
115 PutS(Longnamebuf, -1);
\ 0175 CD8A03 CALL LWRD ?0051
116
117 //显示当前活动项
118 tmp=active%5;
\ 0178 0605 LD B,5
\ 017A DD7E0C LD A,(IX+12)
\ 017D CD4903 CALL LWRD ?0045
119 ResShowPic(MFILE, explorer_pic_x_def, menu_pos_list[tmp+1]-1);
\ 0180 C6FF ADD A,255
\ 0182 5F LD E,A
\ 0183 D5 PUSH DE
\ 0184 CD5803 CALL LWRD ?0047
\ 0187 F1 POP AF
120 ResShowPic(FILEBCK, explorer_str_x_def-2, menu_pos_list[tmp+1]-4);
\ 0188 210100 LD HL,menu_pos_list+1
\ 018B FDE5 PUSH IY
\ 018D C1 POP BC
\ 018E 09 ADD HL,BC
\ 018F 7E LD A,(HL)
\ 0190 C6FC ADD A,252
\ 0192 5F LD E,A
\ 0193 D5 PUSH DE
\ 0194 0E1E LD C,30
\ 0196 113200 LD DE,50
\ 0199 CD5D03 CALL LWRD ?0046
\ 019C F1 POP AF
121 ResShowPic(DHTHK,194,menu_pos_list[tmp+1]+6);
\ 019D 210100 LD HL,menu_pos_list+1
\ 01A0 FDE5 PUSH IY
\ 01A2 C1 POP BC
\ 01A3 09 ADD HL,BC
\ 01A4 7E LD A,(HL)
\ 01A5 C606 ADD A,6
\ 01A7 5F LD E,A
\ 01A8 D5 PUSH DE
\ 01A9 0EC2 LD C,194
\ 01AB 112E00 LD DE,46
\ 01AE CD5D03 CALL LWRD ?0046
\ 01B1 F1 POP AF
122 read_idm_data_playlist(Longnamebuf,tmp);
\ 01B2 CD6F03 CALL LWRD ?0050
123 SetPenColor(Color_WHITE_def); //取列表名
124 PlayListScrollRegion.y= menu_pos_list[tmp+1]-2;
\ 01B5 210100 LD HL,menu_pos_list+1
\ 01B8 FDE5 PUSH IY
\ 01BA C1 POP BC
125
126 SetBackgdColor(Color_BULE_Scroll_def);
\ 01BB CD2503 CALL LWRD ?0042
127 Scroll_PlayList(Longnamebuf, TRUE,string_id,&PlayListScrollRegion);
\ 01BE E5 PUSH HL
\ 01BF DD6E10 LD L,(IX+16)
\ 01C2 E5 PUSH HL
\ 01C3 CD3903 CALL LWRD ?0044
\ 01C6 E1 POP HL
\ 01C7 E1 POP HL
128 if(strlen(Longnamebuf)<20)
\ 01C8 CD9503 CALL LWRD ?0052
\ 01CB 3003 JR NC,?0020
\ 01CD ?0019:
129 ScrollFlag=0;
\ 01CD AF XOR A
\ 01CE 1802 JR ?0037
130 else
\ 01D0 ?0020:
131 ScrollFlag=1;
\ 01D0 3E01 LD A,1
\ 01D2 ?0037:
\ 01D2 C31D03 JP LWRD ?0038
\ 01D5 ?0021:
132 }
133
134
135 else //if(Old_active==active) 刷新一页屏
\ 01D5 ?0018:
136
137 {
138 ResShowPic(MENUTWO,0,0);
\ 01D5 0E00 LD C,0
\ 01D7 C5 PUSH BC
\ 01D8 116D00 LD DE,109
\ 01DB CD5D03 CALL LWRD ?0046
\ 01DE F1 POP AF
139 ResShowPic(DHT,194,8);
\ 01DF 0E08 LD C,8
\ 01E1 C5 PUSH BC
\ 01E2 0EC2 LD C,194
\ 01E4 112D00 LD DE,45
\ 01E7 CD5D03 CALL LWRD ?0046
\ 01EA F1 POP AF
140 SetPenColor(Color_WHITE_def);
\ 01EB CDA503 CALL LWRD ?0053
141 //ResShowMultiString( VSTOPM1,string_id, 3, 110);
142 ResShowPic(MDIR, 10, POSITION_MENU6-4);
\ 01EE 0E73 LD C,115
\ 01F0 C5 PUSH BC
\ 01F1 0E0A LD C,10
\ 01F3 115B00 LD DE,91
\ 01F6 CD5D03 CALL LWRD ?0046
\ 01F9 F1 POP AF
143 SetTextPos(menu_str_x_def, POSITION_MENU6-2);
\ 01FA 0E75 LD C,117
\ 01FC CD6A03 CALL LWRD ?0049
144 SetPenColor(Color_WHITE_def);
\ 01FF CDA503 CALL LWRD ?0053
145 PutS(PlayListFileName, 8); //显示列表名
\ 0202 0E08 LD C,8
\ 0204 110000 LD DE,PlayListFileName
\ 0207 CD0000 CALL LWRD PutS
146 for(i=top;i<=bottom;i++)
\ 020A DD4E02 LD C,(IX+2)
\ 020D DD71FE LD (IX-2),C
\ 0210 DD36FF00 LD (IX-1),0
\ 0214 ?0024:
\ 0214 DD6E04 LD L,(IX+4)
\ 0217 2600 LD H,0
\ 0219 DD4EFE LD C,(IX-2)
\ 021C DD46FF LD B,(IX-1)
\ 021F CD0000 CALL LWRD ?SS_CMP_L02
\ 0222 DD4E02 LD C,(IX+2)
\ 0225 44 LD B,H
\ 0226 DAE102 JP C,?0023
\ 0229 ?0025:
147 {
148 ResShowPic(MFILE,explorer_pic_x_def,menu_pos_list[i-top+1]-1);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -