Subversion Repositories Kolibri OS

Rev

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, , , 0x33AABBCC,,title
534
;	mcall	0, , , 0x33AABBCC,,title
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
;---------------------------------------------------------------------