Rev 4231 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
4231 | eAndrew | 1 | use32 |
2 | org 0x0 |
||
3 | ;------------------------------------------------------------------------------- |
||
4 | db "MENUET01" |
||
5 | dd 1, @code, @data, @mem, @stack, 0, 0 |
||
6 | ;------------------------------------------------------------------------------- |
||
7 | include "../../macros.inc" |
||
8 | ;=============================================================================== |
||
9 | @code: |
||
4232 | eAndrew | 10 | mov [tabs.index], byte 2 |
11 | |||
4231 | eAndrew | 12 | mcall 48, 3, color, 40 |
13 | ;------------------------------------------------------------------------------- |
||
14 | main_loop: |
||
15 | mcall 10 |
||
16 | cmp eax, EV_REDRAW |
||
17 | je event_redraw |
||
18 | cmp eax, EV_BUTTON |
||
19 | je event_button |
||
20 | |||
21 | jmp main_loop |
||
22 | ;------------------------------------------------------------------------------- |
||
23 | exit: |
||
24 | mcall -1 |
||
25 | ;------------------------------------------------------------------------------- |
||
26 | event_redraw: |
||
27 | call win.draw |
||
28 | jmp main_loop |
||
29 | ;------------------------------------------------------------------------------- |
||
30 | event_button: |
||
31 | mcall 17 |
||
32 | cmp ah, 0x01 |
||
33 | je exit |
||
34 | cmp ah, 0x10 |
||
35 | je .tabs.walls |
||
36 | cmp ah, 0x11 |
||
37 | je .tabs.skins |
||
38 | cmp ah, 0x12 |
||
39 | je .tabs.docky |
||
40 | cmp ah, 0x13 |
||
41 | je .tabs.panel |
||
42 | |||
4232 | eAndrew | 43 | cmp ah, 0x44 |
44 | je .checkbox_fsize |
||
45 | |||
4231 | eAndrew | 46 | jmp main_loop |
47 | |||
48 | .tabs.walls: |
||
49 | mov [tabs.index], byte 0 |
||
50 | call win.draw |
||
51 | jmp main_loop |
||
52 | .tabs.skins: |
||
53 | mov [tabs.index], byte 1 |
||
54 | call win.draw |
||
55 | jmp main_loop |
||
56 | .tabs.docky: |
||
57 | mov [tabs.index], byte 2 |
||
58 | call win.draw |
||
59 | jmp main_loop |
||
60 | .tabs.panel: |
||
61 | mov [tabs.index], byte 3 |
||
62 | call win.draw |
||
63 | jmp main_loop |
||
4232 | eAndrew | 64 | |
65 | .checkbox_fsize: |
||
66 | mov al, 1 |
||
67 | sub al, byte [win.docky.fsize] |
||
68 | mov [win.docky.fsize], al |
||
69 | push 183 |
||
70 | push win.docky.fsize |
||
71 | call checkbox.draw |
||
72 | jmp main_loop |
||
4231 | eAndrew | 73 | ;------------------------------------------------------------------------------- |
74 | win.draw: |
||
75 | mcall 12, 1 |
||
76 | |||
77 | mov edx, [color.work] |
||
78 | or edx, 0x34000000 |
||
4232 | eAndrew | 79 | mcall 0, <128, 256>, <128, 299>, , , win.title |
4231 | eAndrew | 80 | |
81 | call tabs.draw |
||
82 | |||
83 | mcall 12, 2 |
||
84 | |||
85 | ret |
||
86 | ;------------------------------------------------------------------------------- |
||
87 | tabs.draw: |
||
88 | mcall 8, < 8, 57>, < 9, 25>, 0x40000010 |
||
89 | mcall , < 65, 57>, , 0x40000011 |
||
90 | mcall , <122, 57>, , 0x40000012 |
||
91 | mcall , <179, 58>, , 0x40000013 |
||
92 | |||
93 | mcall 13, < 9, 228>, , [color.work] |
||
94 | |||
95 | mcall , , < 9, 1>, [color.workE] |
||
96 | mcall , , <34, 1> |
||
97 | mcall , < 8, 1>, <10, 24> |
||
98 | mcall , < 65, 1> |
||
99 | mcall , <122, 1> |
||
100 | mcall , <179, 1> |
||
101 | mcall , <237, 1> |
||
102 | |||
103 | mov edx, [color.workE] |
||
104 | |||
105 | cmp [tabs.index], byte 0 |
||
106 | je .walls |
||
107 | cmp [tabs.index], byte 1 |
||
108 | je .skins |
||
109 | cmp [tabs.index], byte 2 |
||
110 | je .docky |
||
111 | jmp .panel |
||
112 | |||
113 | .walls: |
||
114 | mcall , < 9, 56> |
||
115 | |||
116 | mcall 4, < 22, 18>, [color.textE], tabs.walls_title, 5 |
||
117 | mcall , < 79, 18>, [color.text] , tabs.skins_title |
||
118 | mcall , <136, 18>, , tabs.docky_title |
||
119 | mcall , <193, 18>, , tabs.panel_title |
||
120 | |||
121 | call tabs.walls.draw |
||
122 | |||
123 | ret |
||
124 | .skins: |
||
125 | mcall , < 66, 56> |
||
126 | |||
127 | mcall 4, < 79, 18>, [color.textE], tabs.skins_title, 5 |
||
128 | mcall , < 22, 18>, [color.text] , tabs.walls_title |
||
129 | mcall , <136, 18>, , tabs.docky_title |
||
130 | mcall , <193, 18>, , tabs.panel_title |
||
131 | |||
132 | call tabs.skins.draw |
||
133 | |||
134 | ret |
||
135 | .docky: |
||
136 | mcall , <123, 56> |
||
137 | |||
138 | mcall 4, <136, 18>, [color.textE], tabs.docky_title, 5 |
||
139 | mcall , < 79, 18>, [color.text] , tabs.skins_title |
||
140 | mcall , < 22, 18>, , tabs.walls_title |
||
141 | mcall , <193, 18>, , tabs.panel_title |
||
142 | |||
143 | call tabs.docky.draw |
||
144 | |||
145 | ret |
||
146 | .panel: |
||
147 | mcall , <180, 57> |
||
148 | |||
149 | mcall 4, <193, 18>, [color.textE], tabs.panel_title, 5 |
||
150 | mcall , < 79, 18>, [color.text] , tabs.skins_title |
||
151 | mcall , <136, 18>, , tabs.docky_title |
||
152 | mcall , < 22, 18>, , tabs.walls_title |
||
153 | |||
154 | call tabs.panel.draw |
||
155 | |||
156 | ret |
||
157 | ;------------------------------------------------------------------------------- |
||
158 | tabs.walls.draw: |
||
159 | ret |
||
160 | ;------------------------------------------------------------------------------- |
||
161 | tabs.skins.draw: |
||
162 | ret |
||
163 | ;------------------------------------------------------------------------------- |
||
164 | tabs.docky.draw: |
||
4232 | eAndrew | 165 | ; == FRAME: POSITION == ; |
166 | mcall 13, <10, 226>, <48, 112>, [color.workE] |
||
167 | mcall , <11, 224>, <49, 110>, [color.textE] |
||
168 | mcall , <12, 222>, <50, 108>, [color.work] |
||
169 | |||
170 | mov ecx, [color.text] |
||
171 | or ecx, 0xC0000000 |
||
172 | mcall 4, <20, 45>, , tabs.docky.frame_pos_title, , [color.work] |
||
173 | |||
174 | mcall 8, < 81, 84>, < 64, 24>, 0x40, [color.workE] |
||
175 | mcall , < 58, 64>, < 91, 24>, 0x41 |
||
176 | mcall , <125, 64>, < 91, 24>, 0x42 |
||
177 | mcall , < 81, 84>, <118, 24>, 0x43 |
||
178 | |||
179 | mov ecx, [color.textE] |
||
180 | or ecx, 0x80000000 |
||
181 | mcall 4, <115, 73>, , tabs.docky.button_top |
||
182 | mcall , < 79, 100>, , tabs.docky.button_left |
||
183 | mcall , <106, 127>, , tabs.docky.button_bottom |
||
184 | mcall , <143, 100>, , tabs.docky.button_right |
||
185 | |||
186 | ; == FRAME: SETTINGS == ; |
||
187 | mcall 13, <10, 226>, <170, 40>, [color.workE] |
||
188 | mcall , <11, 224>, <171, 38>, [color.textE] |
||
189 | mcall , <12, 222>, <172, 36>, [color.work] |
||
190 | |||
191 | mov ecx, [color.text] |
||
192 | or ecx, 0xC0000000 |
||
193 | mcall 4, <20, 167>, , tabs.docky.frame_set_title, , [color.work] |
||
194 | |||
195 | mcall 8, <20, 206>, <182, 16>, 0x60000044 |
||
196 | |||
197 | mov ecx, [color.text] |
||
198 | or ecx, 0x80000000 |
||
199 | mcall 4, <20, 187>, , tabs.docky.checkbox_fsize_title |
||
200 | |||
201 | push 183 |
||
202 | push win.docky.fsize |
||
203 | call checkbox.draw |
||
204 | |||
205 | ; == FRAME: THEARD == ; |
||
206 | mcall 13, <10, 226>, <220, 44>, [color.workE] |
||
207 | mcall , <11, 224>, <221, 42>, [color.textE] |
||
208 | mcall , <12, 222>, <222, 40>, [color.work] |
||
209 | |||
210 | mov ecx, [color.text] |
||
211 | or ecx, 0xC0000000 |
||
212 | mcall 4, <20, 217>, , tabs.docky.frame_theard_title, , [color.work] |
||
213 | |||
214 | mcall 8, < 20, 98>, <230, 24>, 0x45, [color.workE] |
||
215 | mcall 8, <128, 98>, , 0x46 |
||
216 | |||
217 | mov ecx, [color.textE] |
||
218 | or ecx, 0x80000000 |
||
219 | mcall 4, < 54, 238>, , tabs.docky.button_close |
||
220 | mcall , <139, 238>, , tabs.docky.button_start |
||
221 | |||
4231 | eAndrew | 222 | ret |
223 | ;------------------------------------------------------------------------------- |
||
224 | tabs.panel.draw: |
||
225 | ret |
||
4232 | eAndrew | 226 | ;------------------------------------------------------------------------------- |
227 | checkbox.draw: |
||
228 | pop ebp |
||
229 | pop edi |
||
230 | pop ecx |
||
231 | push ebp |
||
232 | |||
233 | shl ecx, 16 |
||
234 | mov cx, 16 |
||
235 | mcall 13, <188, 34>, , [color.workE] |
||
236 | sub ecx, 2 |
||
237 | add ecx, 0x00010000 |
||
238 | mcall , <189, 32>, , [color.textE] |
||
239 | |||
240 | mov eax, 13 |
||
241 | mov edx, [color.workE] |
||
242 | cmp [edi], byte 0 |
||
243 | je .draw_off |
||
244 | .draw_on: |
||
245 | mcall , <189, 6> |
||
246 | mov edi, ecx |
||
247 | shr edi, 16 |
||
248 | add edi, 3 |
||
249 | mcall 4, <189, edi>, [color.text], checkbox.on, 5 |
||
250 | |||
251 | ret |
||
252 | |||
253 | .draw_off: |
||
254 | mov edx, [color.work] |
||
255 | mcall , <215, 6> |
||
256 | mov edi, ecx |
||
257 | shr edi, 16 |
||
258 | add edi, 3 |
||
259 | mcall 4, <189, edi>, [color.text], checkbox.off, 5 |
||
260 | ret |
||
4231 | eAndrew | 261 | ;=============================================================================== |
262 | win.title: |
||
263 | db "Desktop configuration", 0 |
||
264 | |||
265 | tabs.walls_title: |
||
266 | db "Walls" |
||
267 | tabs.skins_title: |
||
268 | db "Skins" |
||
269 | tabs.docky_title: |
||
270 | db "Docky" |
||
271 | tabs.panel_title: |
||
272 | db "Panel" |
||
273 | |||
4232 | eAndrew | 274 | tabs.docky.frame_pos_title: |
275 | db " Position ", 0 |
||
276 | tabs.docky.button_top: |
||
277 | db "TOP", 0 |
||
278 | tabs.docky.button_left: |
||
279 | db "LEFT", 0 |
||
280 | tabs.docky.button_bottom: |
||
281 | db "BOTTOM", 0 |
||
282 | tabs.docky.button_right: |
||
283 | db "RIGHT", 0 |
||
284 | |||
285 | tabs.docky.frame_set_title: |
||
286 | db " Settings ", 0 |
||
287 | tabs.docky.checkbox_fsize_title: |
||
288 | db "Full size mode", 0 |
||
289 | |||
290 | tabs.docky.frame_theard_title: |
||
291 | db " Theard ", 0 |
||
292 | tabs.docky.button_close: |
||
293 | db "Close", 0 |
||
294 | tabs.docky.button_start: |
||
295 | db "Start/Restart", 0 |
||
296 | |||
297 | |||
298 | checkbox.on: |
||
299 | db " ON " |
||
300 | checkbox.off: |
||
301 | db " OFF " |
||
302 | |||
4231 | eAndrew | 303 | @data: |
304 | ;=============================================================================== |
||
305 | rb 2048 |
||
306 | @stack: |
||
307 | ;------------------------------------------------------------------------------- |
||
4232 | eAndrew | 308 | win.docky.fsize: |
309 | rb 1 |
||
310 | |||
4231 | eAndrew | 311 | tabs.index: |
312 | rb 1 |
||
313 | |||
314 | color: |
||
315 | .frame: |
||
316 | rd 5 |
||
317 | .work: |
||
318 | rd 1 |
||
319 | .workE: |
||
320 | rd 1 |
||
321 | .textE: |
||
322 | rd 1 |
||
323 | .text: |
||
324 | rd 2 |
||
325 | |||
326 | @mem:189,>215,>189,>189,>189,>188,>139,>>128,>230,>>20,>222,>12,>221,>11,>220,>10,>20,>182,>20,>20,>172,>12,>171,>11,>170,>10,>143,>106,>>115,>118,>>>125,>>>>>20,>50,>12,>49,>11,>48,>10,>>136,>>193,>180,>193,>>>136,>123,>193,>136,>>>>193,>136,>>>>237,>179,>122,>>10,>>34,>>>179,>122,>>>>128,>128,> |