Rev 3469 | Rev 3476 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3469 | Rev 3473 | ||
---|---|---|---|
Line 56... | Line 56... | ||
56 | ; Color type ; +16 |
56 | ; Color type ; +16 |
57 | ; dd 0 |
57 | ; dd 0 |
58 | ; |
58 | ; |
59 | ; Color value ; +20 |
59 | ; Color value ; +20 |
60 | ; dd 0 |
60 | ; dd 0 |
- | 61 | ||
- | 62 | ; First start flag ; +24 |
|
- | 63 | ; dd 0 ; 0 - first start, 1 - subsequent starts |
|
- | 64 | ; |
|
- | 65 | ; Old colors ; +28 |
|
- | 66 | ; rd 10 |
|
- | 67 | ; |
|
- | 68 | ; Free area ; +68 |
|
61 | ;--------------------------------------------------------------------- |
69 | ;--------------------------------------------------------------------- |
62 | use32 |
70 | use32 |
63 | org 0x0 |
71 | org 0x0 |
Line 64... | Line 72... | ||
64 | 72 | ||
Line 106... | Line 114... | ||
106 | mcall 68,11 |
114 | mcall 68,11 |
107 | mcall 66,1,1 |
115 | mcall 66,1,1 |
108 | mcall 40,0x27 |
116 | mcall 40,0x27 |
109 | ; mcall 40,0x7 |
117 | ; mcall 40,0x7 |
110 | call get_communication_area |
118 | call get_communication_area |
111 | - | ||
112 | call get_active_pocess |
119 | call get_active_pocess |
113 | - | ||
- | 120 | call clear_colors_history |
|
- | 121 | ;-------------------------------------- |
|
114 | load_libraries l_libs_start,end_l_libs |
122 | load_libraries l_libs_start,end_l_libs |
115 | test eax,eax |
123 | test eax,eax |
116 | jnz button.exit_2 |
124 | jnz button.exit_2 |
117 | - | ||
- | 125 | ;-------------------------------------- |
|
118 | xor eax,eax |
126 | xor eax,eax |
119 | mov al,p_size_x |
127 | mov al,p_size_x |
120 | mov [palette_SIZE_X],eax |
128 | mov [palette_SIZE_X],eax |
121 | mov ax,p_size_y |
129 | mov ax,p_size_y |
122 | mov [palette_SIZE_Y],eax |
130 | mov [palette_SIZE_Y],eax |
Line 178... | Line 186... | ||
178 | je tone_button |
186 | je tone_button |
Line 179... | Line 187... | ||
179 | 187 | ||
180 | cmp ah, 4 |
188 | cmp ah, 4 |
Line -... | Line 189... | ||
- | 189 | je color_button |
|
- | 190 | ||
- | 191 | cmp ah, 30 |
|
- | 192 | jb @f |
|
- | 193 | ||
- | 194 | cmp ah, 39 |
|
- | 195 | ja @f |
|
- | 196 | ||
- | 197 | sub ah,30 |
|
- | 198 | movzx eax,ah |
|
- | 199 | shl eax,2 |
|
- | 200 | add eax,[communication_area] |
|
- | 201 | add eax,28 |
|
- | 202 | mov eax,[eax] |
|
- | 203 | mov [selected_color],eax |
|
- | 204 | call prepare_scrollbars_position_from_color |
|
- | 205 | call draw_selected_color |
|
- | 206 | call draw_scrollbars |
|
- | 207 | jmp still |
|
- | 208 | ;-------------------------------------- |
|
181 | je color_button |
209 | align 4 |
182 | 210 | @@: |
|
- | 211 | cmp ah, 1 |
|
183 | cmp ah, 1 |
212 | jne still |
184 | jne still |
213 | ;-------------------------------------- |
185 | 214 | align 4 |
|
186 | .exit: |
215 | .exit: |
- | 216 | mov eax,[communication_area] |
|
187 | mov eax,[communication_area] |
217 | mov [eax],word 3 |
- | 218 | jmp @f |
|
188 | mov [eax],word 3 |
219 | ; dps "CD flag value: cancel " |
189 | ; dps "CD flag value: cancel " |
220 | ;-------------------------------------- |
- | 221 | align 4 |
|
- | 222 | .exit_1: |
|
- | 223 | ;-------------------------------------- |
|
- | 224 | call scroll_colors_history |
|
190 | 225 | ;-------------------------------------- |
|
191 | .exit_1: |
226 | align 4 |
192 | 227 | @@: |
|
193 | mov ax,[eax] |
228 | ; mov ax,[eax] |
194 | and eax,0xffff |
229 | ; and eax,0xffff |
195 | ; dps "CD flag value: " |
230 | ; dps "CD flag value: " |
Line 196... | Line 231... | ||
196 | ; dpd eax |
231 | ; dpd eax |
Line 207... | Line 242... | ||
207 | ; mov eax,[window_y] |
242 | ; mov eax,[window_y] |
208 | mov eax,[ecx+38] |
243 | mov eax,[ecx+38] |
209 | shl eax,16 |
244 | shl eax,16 |
210 | add eax,[ecx+46] |
245 | add eax,[ecx+46] |
211 | mov [ebx+8],eax |
246 | mov [ebx+8],eax |
- | 247 | ;-------------------------------------- |
|
- | 248 | align 4 |
|
212 | .exit_2: |
249 | .exit_2: |
213 | mcall -1 |
250 | mcall -1 |
214 | ;--------------------------------------------------------------------- |
251 | ;--------------------------------------------------------------------- |
- | 252 | align 4 |
|
215 | get_window_param: |
253 | get_window_param: |
216 | mcall 9,procinfo,-1 |
254 | mcall 9,procinfo,-1 |
217 | mov eax,[ebx+66] |
255 | mov eax,[ebx+66] |
218 | inc eax |
256 | inc eax |
219 | ; mov [window_high],eax |
257 | ; mov [window_high],eax |
Line 236... | Line 274... | ||
236 | ; mov [color_dialog_type],ebx |
274 | ; mov [color_dialog_type],ebx |
Line 237... | Line 275... | ||
237 | 275 | ||
238 | mov ebx,[eax+4] |
276 | mov ebx,[eax+4] |
239 | ; cmp bx,word x_minimal_size ;300 |
277 | ; cmp bx,word x_minimal_size ;300 |
240 | ; jb @f |
278 | ; jb @f |
241 | mov bx,420 |
279 | mov bx,450 |
242 | mov [window_x],ebx |
280 | mov [window_x],ebx |
243 | mov ebx,[eax+8] |
281 | mov ebx,[eax+8] |
244 | ; cmp bx,word y_minimal_size ;200 |
282 | ; cmp bx,word y_minimal_size ;200 |
245 | ; jb @f |
283 | ; jb @f |
Line 260... | Line 298... | ||
260 | mov [ebx+12],eax ; WINDOW SLOT to com. area |
298 | mov [ebx+12],eax ; WINDOW SLOT to com. area |
261 | .1: |
299 | .1: |
262 | ret |
300 | ret |
263 | ;--------------------------------------------------------------------- |
301 | ;--------------------------------------------------------------------- |
264 | align 4 |
302 | align 4 |
- | 303 | clear_colors_history: |
|
- | 304 | mov edi,[communication_area] |
|
- | 305 | cmp [edi+24],dword 1 |
|
- | 306 | je @f |
|
- | 307 | mov [edi+24],dword 1 |
|
- | 308 | add edi,28 |
|
- | 309 | mov ecx,10 |
|
- | 310 | cld |
|
- | 311 | mov eax,0xffffff |
|
- | 312 | rep stosd |
|
- | 313 | @@: |
|
- | 314 | ret |
|
- | 315 | ;--------------------------------------------------------------------- |
|
- | 316 | align 4 |
|
- | 317 | scroll_colors_history: |
|
- | 318 | mov edi,[communication_area] |
|
- | 319 | add edi,28 |
|
- | 320 | mov eax,[selected_color] |
|
- | 321 | cmp [edi],eax |
|
- | 322 | je @f |
|
- | 323 | mov ecx,9 |
|
- | 324 | mov esi,edi |
|
- | 325 | add esi,32 |
|
- | 326 | add edi,36 |
|
- | 327 | std |
|
- | 328 | rep movsd |
|
- | 329 | mov edi,[communication_area] |
|
- | 330 | mov [edi+28],eax |
|
- | 331 | @@: |
|
- | 332 | ret |
|
- | 333 | ;--------------------------------------------------------------------- |
|
- | 334 | align 4 |
|
265 | palette_button: |
335 | palette_button: |
266 | mcall 37,1 |
336 | mcall 37,1 |
267 | and eax,0xffff |
337 | and eax,0xffff |
268 | sub eax,p_start_y |
338 | sub eax,p_start_y |
269 | imul eax,p_size_x |
339 | imul eax,p_size_x |
Line 404... | Line 474... | ||
404 | call [scrollbar_ver_draw] |
474 | call [scrollbar_ver_draw] |
405 | push dword scroll_bar_data_blue |
475 | push dword scroll_bar_data_blue |
406 | call [scrollbar_ver_draw] |
476 | call [scrollbar_ver_draw] |
407 | ret |
477 | ret |
408 | ;--------------------------------------------------------------------- |
478 | ;--------------------------------------------------------------------- |
- | 479 | draw_button_row: |
|
- | 480 | mov edx,0x60000000 + 30 ; BUTTON ROW |
|
- | 481 | ; mov ebx,220*65536+14 |
|
- | 482 | mov ebx,(c_start_x+c_size_x*2+10*3)*65536+14 |
|
- | 483 | mov ecx,20*65536+14 |
|
- | 484 | mov eax,8 |
|
- | 485 | ;----------------------------------- |
|
- | 486 | .newb: |
|
- | 487 | mcall |
|
- | 488 | add ecx,25*65536 |
|
- | 489 | inc edx |
|
- | 490 | cmp edx,0x60000000 + 39 |
|
- | 491 | jbe .newb |
|
- | 492 | ret |
|
- | 493 | ;--------------------------------------------------------------------- |
|
- | 494 | draw_colours: |
|
- | 495 | mov edi,10 |
|
- | 496 | mov esi,[communication_area] |
|
- | 497 | add esi,28 |
|
- | 498 | ; mov ebx,220*65536+14 |
|
- | 499 | mov ebx,(c_start_x+c_size_x*2+10*3)*65536+14 |
|
- | 500 | mov ecx,20*65536+14 |
|
- | 501 | mov eax,13 |
|
- | 502 | mov [frame_data.draw_text_flag],dword 0 |
|
- | 503 | ;-------------------------------------- |
|
- | 504 | newcol: |
|
- | 505 | mov edx,[esi] |
|
- | 506 | mcall |
|
- | 507 | ||
- | 508 | push ebx ecx |
|
- | 509 | ||
- | 510 | sub ebx,2 shl 16 |
|
- | 511 | add bx,4 |
|
- | 512 | sub ecx,2 shl 16 |
|
- | 513 | add cx,4 |
|
- | 514 | ||
- | 515 | mov [frame_data.x],ebx |
|
- | 516 | mov [frame_data.y],ecx |
|
- | 517 | ||
- | 518 | push dword frame_data |
|
- | 519 | call [Frame_draw] |
|
- | 520 | ||
- | 521 | pop ecx ebx |
|
- | 522 | ||
- | 523 | add ecx,25*65536 |
|
- | 524 | add esi,4 |
|
- | 525 | ||
- | 526 | dec edi |
|
- | 527 | jnz newcol |
|
- | 528 | ||
- | 529 | ret |
|
- | 530 | ;---------------------------------------------------------------------- |
|
409 | align 4 |
531 | align 4 |
410 | draw_window: |
532 | draw_window: |
411 | mcall 12,1 |
533 | mcall 12,1 |
412 | ; mcall 0, |
534 | ; mcall 0, |
413 | xor esi,esi |
535 | xor esi,esi |
Line 423... | Line 545... | ||
423 | inc eax |
545 | inc eax |
424 | mov [scroll_bar_data_red.all_redraw],eax |
546 | mov [scroll_bar_data_red.all_redraw],eax |
425 | mov [scroll_bar_data_green.all_redraw],eax |
547 | mov [scroll_bar_data_green.all_redraw],eax |
426 | mov [scroll_bar_data_blue.all_redraw],eax |
548 | mov [scroll_bar_data_blue.all_redraw],eax |
427 | call draw_scrollbars |
549 | call draw_scrollbars |
- | 550 | call draw_button_row |
|
- | 551 | call draw_colours |
|
428 | mcall 12,2 |
552 | mcall 12,2 |
429 | ret |
553 | ret |
430 | ;--------------------------------------------------------------------- |
554 | ;--------------------------------------------------------------------- |
431 | include 'palette.inc' |
555 | include 'palette.inc' |
432 | ;--------------------------------------------------------------------- |
556 | ;--------------------------------------------------------------------- |