Rev 3463 | Rev 3473 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3463 | Rev 3469 | ||
---|---|---|---|
Line 67... | Line 67... | ||
67 | dd START |
67 | dd START |
68 | dd IM_END |
68 | dd IM_END |
69 | dd I_END |
69 | dd I_END |
70 | dd stacktop |
70 | dd stacktop |
71 | dd param |
71 | dd param |
72 | dd 0x0 |
72 | dd path |
73 | ;--------------------------------------------------------------------- |
73 | ;--------------------------------------------------------------------- |
74 | include '../../macros.inc' |
74 | include '../../macros.inc' |
- | 75 | include '../../develop/libraries/box_lib/load_lib.mac' |
|
- | 76 | include '../../develop/libraries/box_lib/trunk/box_lib.mac' |
|
75 | ;include 'lang.inc' |
77 | ;include 'lang.inc' |
76 | ;include 'debug.inc' |
78 | ;include '../../debug.inc' |
- | 79 | @use_library |
|
77 | ;--------------------------------------------------------------------- |
80 | ;--------------------------------------------------------------------- |
78 | p_start_x = 10 |
81 | p_start_x = 10 |
79 | p_start_y = 10 |
82 | p_start_y = 10 |
Line 80... | Line 83... | ||
80 | 83 | ||
Line 101... | Line 104... | ||
101 | ;--------------------------------------------------------------------- |
104 | ;--------------------------------------------------------------------- |
102 | START: |
105 | START: |
103 | mcall 68,11 |
106 | mcall 68,11 |
104 | mcall 66,1,1 |
107 | mcall 66,1,1 |
105 | mcall 40,0x27 |
108 | mcall 40,0x27 |
- | 109 | ; mcall 40,0x7 |
|
106 | call get_communication_area |
110 | call get_communication_area |
Line 107... | Line 111... | ||
107 | 111 | ||
Line -... | Line 112... | ||
- | 112 | call get_active_pocess |
|
- | 113 | ||
- | 114 | load_libraries l_libs_start,end_l_libs |
|
- | 115 | test eax,eax |
|
108 | call get_active_pocess |
116 | jnz button.exit_2 |
109 | 117 | ||
110 | xor eax,eax |
118 | xor eax,eax |
111 | mov al,p_size_x |
119 | mov al,p_size_x |
112 | mov [palette_SIZE_X],eax |
120 | mov [palette_SIZE_X],eax |
113 | mov ax,p_size_y |
121 | mov ax,p_size_y |
114 | mov [palette_SIZE_Y],eax |
122 | mov [palette_SIZE_Y],eax |
115 | mov [tone_SIZE_X],eax |
123 | mov [tone_SIZE_X],eax |
116 | mov [tone_SIZE_Y],eax |
124 | mov [tone_SIZE_Y],eax |
117 | mov eax,0xff0000 |
125 | mov eax,0xff0000 |
- | 126 | mov [tone_color],eax |
|
118 | mov [tone_color],eax |
127 | mov [selected_color],eax |
119 | mov [selected_color],eax |
128 | call prepare_scrollbars_position_from_color |
120 | ;-------------------------------------- |
129 | ;-------------------------------------- |
121 | mov ecx,[palette_SIZE_Y] |
130 | mov ecx,[palette_SIZE_Y] |
122 | imul ecx,[palette_SIZE_X] |
131 | imul ecx,[palette_SIZE_X] |
Line 149... | Line 158... | ||
149 | 158 | ||
150 | cmp eax,2 |
159 | cmp eax,2 |
Line 151... | Line 160... | ||
151 | je key |
160 | je key |
- | 161 | ||
- | 162 | cmp eax,3 |
|
- | 163 | je button |
|
- | 164 | ||
- | 165 | cmp eax,6 |
|
152 | 166 | je mouse |
|
153 | cmp eax,3 |
167 | |
154 | jne still |
168 | jmp still |
155 | ;--------------------------------------------------------------------- |
169 | ;--------------------------------------------------------------------- |
156 | align 4 |
170 | align 4 |
Line 193... | Line 207... | ||
193 | ; mov eax,[window_y] |
207 | ; mov eax,[window_y] |
194 | mov eax,[ecx+38] |
208 | mov eax,[ecx+38] |
195 | shl eax,16 |
209 | shl eax,16 |
196 | add eax,[ecx+46] |
210 | add eax,[ecx+46] |
197 | mov [ebx+8],eax |
211 | mov [ebx+8],eax |
198 | 212 | .exit_2: |
|
199 | mcall -1 |
213 | mcall -1 |
200 | ;--------------------------------------------------------------------- |
214 | ;--------------------------------------------------------------------- |
201 | get_window_param: |
215 | get_window_param: |
202 | mcall 9,procinfo,-1 |
216 | mcall 9,procinfo,-1 |
203 | mov eax,[ebx+66] |
217 | mov eax,[ebx+66] |
Line 220... | Line 234... | ||
220 | mov [communication_area],eax |
234 | mov [communication_area],eax |
221 | ; movzx ebx,word [eax+2] |
235 | ; movzx ebx,word [eax+2] |
222 | ; mov [color_dialog_type],ebx |
236 | ; mov [color_dialog_type],ebx |
Line 223... | Line 237... | ||
223 | 237 | ||
224 | mov ebx,[eax+4] |
238 | mov ebx,[eax+4] |
225 | cmp bx,word x_minimal_size ;300 |
239 | ; cmp bx,word x_minimal_size ;300 |
- | 240 | ; jb @f |
|
226 | jb @f |
241 | mov bx,420 |
227 | mov [window_x],ebx |
242 | mov [window_x],ebx |
228 | mov ebx,[eax+8] |
243 | mov ebx,[eax+8] |
229 | cmp bx,word y_minimal_size ;200 |
244 | ; cmp bx,word y_minimal_size ;200 |
- | 245 | ; jb @f |
|
230 | jb @f |
246 | mov bx,320 |
231 | mov [window_y],ebx |
247 | mov [window_y],ebx |
232 | @@: |
248 | @@: |
233 | ret |
249 | ret |
234 | ;--------------------------------------------------------------------- |
250 | ;--------------------------------------------------------------------- |
Line 254... | Line 270... | ||
254 | lea eax,[eax+eax*2] |
270 | lea eax,[eax+eax*2] |
255 | add eax,[palette_area] |
271 | add eax,[palette_area] |
256 | mov eax,[eax] |
272 | mov eax,[eax] |
257 | mov [tone_color],eax |
273 | mov [tone_color],eax |
258 | mov [selected_color],eax |
274 | mov [selected_color],eax |
- | 275 | call prepare_scrollbars_position_from_color |
|
259 | call create_and_draw_tone |
276 | call create_and_draw_tone |
260 | call draw_selected_color |
277 | call draw_selected_color |
- | 278 | call draw_scrollbars |
|
261 | jmp still |
279 | jmp still |
262 | ;--------------------------------------------------------------------- |
280 | ;--------------------------------------------------------------------- |
263 | align 4 |
281 | align 4 |
264 | tone_button: |
282 | tone_button: |
265 | mcall 37,1 |
283 | mcall 37,1 |
Line 272... | Line 290... | ||
272 | add eax,ebx |
290 | add eax,ebx |
273 | lea eax,[eax+eax*2] |
291 | lea eax,[eax+eax*2] |
274 | add eax,[tone_area] |
292 | add eax,[tone_area] |
275 | mov eax,[eax] |
293 | mov eax,[eax] |
276 | mov [selected_color],eax |
294 | mov [selected_color],eax |
- | 295 | call prepare_scrollbars_position_from_color |
|
277 | call draw_selected_color |
296 | call draw_selected_color |
- | 297 | call draw_scrollbars |
|
278 | jmp still |
298 | jmp still |
279 | ;--------------------------------------------------------------------- |
299 | ;--------------------------------------------------------------------- |
280 | align 4 |
300 | align 4 |
281 | color_button: |
301 | color_button: |
282 | mov eax,[communication_area] |
302 | mov eax,[communication_area] |
Line 286... | Line 306... | ||
286 | mov [eax+20],ebx |
306 | mov [eax+20],ebx |
287 | ; dps "CD flag value: OK " |
307 | ; dps "CD flag value: OK " |
288 | jmp button.exit_1 |
308 | jmp button.exit_1 |
289 | ;--------------------------------------------------------------------- |
309 | ;--------------------------------------------------------------------- |
290 | align 4 |
310 | align 4 |
- | 311 | prepare_scrollbars_position_from_color: |
|
- | 312 | ; in: eax = selected color |
|
- | 313 | movzx ebx,al |
|
- | 314 | mov [scroll_bar_data_blue.position],ebx |
|
- | 315 | shr eax,8 |
|
- | 316 | mov bl,al |
|
- | 317 | mov [scroll_bar_data_green.position],ebx |
|
- | 318 | shr eax,8 |
|
- | 319 | mov bl,al |
|
- | 320 | mov [scroll_bar_data_red.position],ebx |
|
- | 321 | ret |
|
- | 322 | ;--------------------------------------------------------------------- |
|
- | 323 | align 4 |
|
- | 324 | prepare_color_from_scrollbars_position: |
|
- | 325 | ; out: ebx = selected color |
|
- | 326 | mov eax,[scroll_bar_data_red.position] |
|
- | 327 | movzx ebx,al |
|
- | 328 | shl ebx,8 |
|
- | 329 | mov eax,[scroll_bar_data_green.position] |
|
- | 330 | mov bl,al |
|
- | 331 | shl ebx,8 |
|
- | 332 | mov eax,[scroll_bar_data_blue.position] |
|
- | 333 | mov bl,al |
|
- | 334 | ret |
|
- | 335 | ;--------------------------------------------------------------------- |
|
- | 336 | align 4 |
|
291 | key: |
337 | key: |
292 | mcall 2 |
338 | mcall 2 |
293 | jmp still |
339 | jmp still |
294 | ;--------------------------------------------------------------------- |
340 | ;--------------------------------------------------------------------- |
295 | align 4 |
341 | align 4 |
- | 342 | mouse: |
|
- | 343 | cmp [scroll_bar_data_red.delta2],0 |
|
- | 344 | jne .red |
|
- | 345 | cmp [scroll_bar_data_green.delta2],0 |
|
- | 346 | jne .green |
|
- | 347 | cmp [scroll_bar_data_blue.delta2],0 |
|
- | 348 | jne .blue |
|
- | 349 | ;-------------------------------------- |
|
- | 350 | align 4 |
|
- | 351 | .red: |
|
- | 352 | push dword scroll_bar_data_red |
|
- | 353 | call [scrollbar_ver_mouse] |
|
- | 354 | cmp [scroll_bar_data_red.delta2],0 |
|
- | 355 | jne @f |
|
- | 356 | ;-------------------------------------- |
|
- | 357 | align 4 |
|
- | 358 | .green: |
|
- | 359 | push dword scroll_bar_data_green |
|
- | 360 | call [scrollbar_ver_mouse] |
|
- | 361 | cmp [scroll_bar_data_green.delta2],0 |
|
- | 362 | jne @f |
|
- | 363 | ;-------------------------------------- |
|
- | 364 | align 4 |
|
- | 365 | .blue: |
|
- | 366 | push dword scroll_bar_data_blue |
|
- | 367 | call [scrollbar_ver_mouse] |
|
- | 368 | ; cmp [scroll_bar_data_blue.delta2],0 |
|
- | 369 | ; jne @f |
|
- | 370 | ;-------------------------------------- |
|
- | 371 | align 4 |
|
- | 372 | @@: |
|
- | 373 | call prepare_color_from_scrollbars_position |
|
- | 374 | cmp [selected_color],ebx |
|
- | 375 | je still |
|
- | 376 | mov [selected_color],ebx |
|
- | 377 | call draw_selected_color |
|
- | 378 | jmp still |
|
- | 379 | ;--------------------------------------------------------------------- |
|
- | 380 | align 4 |
|
296 | draw_selected_color: |
381 | draw_selected_color: |
297 | mcall 13, |
382 | mcall 13, |
298 | mcall 8, |
383 | mcall 13, |
- | 384 | mov ecx,[selected_color] |
|
- | 385 | and ecx,0xffffff |
|
- | 386 | mcall 47,0x00060100,, |
|
299 | ret |
387 | ret |
300 | ;--------------------------------------------------------------------- |
388 | ;--------------------------------------------------------------------- |
301 | align 4 |
389 | align 4 |
302 | create_and_draw_tone: |
390 | create_and_draw_tone: |
303 | call create_tone |
391 | call create_tone |
Line 307... | Line 395... | ||
307 | align 4 |
395 | align 4 |
308 | draw_tone: |
396 | draw_tone: |
309 | mcall 65,[tone_area],<[tone_SIZE_X],[tone_SIZE_Y]>, |
397 | mcall 65,[tone_area],<[tone_SIZE_X],[tone_SIZE_Y]>, |
310 | ret |
398 | ret |
311 | ;--------------------------------------------------------------------- |
399 | ;--------------------------------------------------------------------- |
- | 400 | draw_scrollbars: |
|
- | 401 | push dword scroll_bar_data_red |
|
- | 402 | call [scrollbar_ver_draw] |
|
- | 403 | push dword scroll_bar_data_green |
|
- | 404 | call [scrollbar_ver_draw] |
|
- | 405 | push dword scroll_bar_data_blue |
|
- | 406 | call [scrollbar_ver_draw] |
|
- | 407 | ret |
|
- | 408 | ;--------------------------------------------------------------------- |
|
312 | align 4 |
409 | align 4 |
313 | draw_window: |
410 | draw_window: |
314 | mcall 12,1 |
411 | mcall 12,1 |
315 | ; mcall 0, |
412 | ; mcall 0, |
- | 413 | xor esi,esi |
|
316 | mcall 0,[window_x],[window_y], 0x33AABBCC,,title |
414 | mcall 0,[window_x],[window_y], 0x34AABBCC,,title |
317 | mcall 8, |
415 | mcall 8, |
318 | mcall , |
416 | mcall , |
- | 417 | mcall , |
|
- | 418 | xor ebp,ebp |
|
319 | mcall 65,[palette_area],<[palette_SIZE_X],[palette_SIZE_Y]>, |
419 | mcall 65,[palette_area],<[palette_SIZE_X],[palette_SIZE_Y]>, |
320 | call draw_tone |
420 | call draw_tone |
321 | call draw_selected_color |
421 | call draw_selected_color |
- | 422 | xor eax,eax |
|
- | 423 | inc eax |
|
- | 424 | mov [scroll_bar_data_red.all_redraw],eax |
|
- | 425 | mov [scroll_bar_data_green.all_redraw],eax |
|
- | 426 | mov [scroll_bar_data_blue.all_redraw],eax |
|
- | 427 | call draw_scrollbars |
|
322 | mcall 12,2 |
428 | mcall 12,2 |
323 | ret |
429 | ret |
324 | ;--------------------------------------------------------------------- |
430 | ;--------------------------------------------------------------------- |
325 | include 'palette.inc' |
431 | include 'palette.inc' |
326 | ;--------------------------------------------------------------------- |
432 | ;--------------------------------------------------------------------- |