forked from KolibriOS/kolibrios
a4fbf36547
new command redo, fix panel interface git-svn-id: svn://kolibrios.org@6359 a494cfbc-eb01-0410-851d-a64ba20cac60
183 lines
4.0 KiB
PHP
183 lines
4.0 KiB
PHP
;-------------------------------------------------
|
|
;-----interraction panel with user----------------
|
|
;-------------------------------------------------
|
|
panel_interraction:
|
|
and [Panel_flag],0
|
|
jmp still
|
|
;---------------------------------------------------------
|
|
;-----draw panel menu(main engin of panel)----------------
|
|
;---------------------------------------------------------
|
|
print_panel_menu:
|
|
;delit main buttons(some time)
|
|
mov [counter],10
|
|
|
|
next_icon_delit1:
|
|
mov edx,[counter]
|
|
add edx,11100000000000000000000000000000b
|
|
mcall SF_DEFINE_BUTTON
|
|
inc [counter]
|
|
cmp [counter],30
|
|
jl next_icon_delit1
|
|
|
|
;delit buttons of brushes
|
|
mov [counter],40
|
|
|
|
next_icon_delit2:
|
|
mov edx,[counter]
|
|
add edx,11100000000000000000000000000000b
|
|
mcall SF_DEFINE_BUTTON
|
|
inc [counter]
|
|
cmp [counter],45
|
|
jl next_icon_delit2
|
|
|
|
;delit buttons of zoom
|
|
mov [counter],45
|
|
|
|
next_icon_delit3:
|
|
mov edx,[counter]
|
|
add edx,11100000000000000000000000000000b
|
|
mcall SF_DEFINE_BUTTON
|
|
inc [counter]
|
|
cmp [counter],50
|
|
jl next_icon_delit3
|
|
|
|
;delit buttons of palette
|
|
mov edx,51
|
|
add edx,11100000000000000000000000000000b
|
|
mcall SF_DEFINE_BUTTON
|
|
|
|
;delit buttons of color
|
|
mov edx,52
|
|
add edx,11100000000000000000000000000000b
|
|
mcall SF_DEFINE_BUTTON
|
|
|
|
call GetMouseCoordinats
|
|
|
|
and [menu_counter],0
|
|
and [counter_11],0
|
|
|
|
mcall SF_SLEEP,15
|
|
|
|
pusha
|
|
call drawwin
|
|
popa
|
|
|
|
mov [number_panel],0
|
|
|
|
jmp TakeInstruments
|
|
|
|
;---------------------------------------------------------
|
|
;------print mouse position on panel----------------------
|
|
;---------------------------------------------------------
|
|
PrintMousePos:
|
|
pushad
|
|
mov eax,[Window_SizeX]
|
|
sub eax,75+ci_offs_skin_w
|
|
mov ebx,ci_panel_y_pos+6
|
|
mov ecx,52
|
|
mov edx,18
|
|
mov esi,4
|
|
call draw_volume_rectangle ; border for mouse x pos
|
|
|
|
mov eax,[Window_SizeX]
|
|
sub eax,75+ci_offs_skin_w
|
|
mov ebx,ci_panel_y_pos+6+18+4
|
|
mov ecx,52
|
|
mov edx,18
|
|
mov esi,4
|
|
call draw_volume_rectangle ; border for mouse y pos
|
|
|
|
mov eax,[Window_SizeX]
|
|
sub eax,70+ci_offs_skin_w
|
|
mov ebx,ci_panel_y_pos+6+6
|
|
and ecx,0
|
|
mov edx,mouse_pos_x
|
|
mov esi,2
|
|
call print_text
|
|
|
|
mov eax,[Window_SizeX]
|
|
sub eax,70+ci_offs_skin_w
|
|
mov ebx,ci_panel_y_pos+6+6+18+4
|
|
and ecx,0
|
|
mov edx,mouse_pos_y
|
|
mov esi,2
|
|
call print_text
|
|
|
|
mov ecx,[ScreenX]
|
|
add ecx,[PosX]
|
|
mov edx,[Window_SizeX]
|
|
sub edx,55+ci_offs_skin_w
|
|
shl edx,16
|
|
add edx,ci_panel_y_pos+6+6
|
|
and esi,0
|
|
mcall SF_DRAW_NUMBER,<4,0>
|
|
|
|
mov ecx,[ScreenY]
|
|
add ecx,[PosY]
|
|
mov edx,[Window_SizeX]
|
|
sub edx,55+ci_offs_skin_w
|
|
shl edx,16
|
|
add edx,ci_panel_y_pos+6+18+4+6
|
|
mcall
|
|
|
|
popad
|
|
ret
|
|
|
|
;----------------------------------------------------------
|
|
;------------draw lines of scoll---------------------------
|
|
;----------------------------------------------------------
|
|
draw_scrollers:
|
|
mov edi,[CounterX]
|
|
mov eax,[Scroll1CoordinatX]
|
|
mov ebx,[Window_SizeY]
|
|
sub ebx,(ci_scroll_dim-3)+5+ci_offs_skin_h
|
|
mov ecx,[Window_SizeX]
|
|
sub ecx,ci_scroll_dim+5+4+ci_scrollh_coord_x_min+ci_offs_skin_w
|
|
mov edx,ci_scroll_dim-6
|
|
mov esi,1
|
|
mov [Scroll1CoordinatY],ebx
|
|
mov [Scroll1MaxSizeY],edx
|
|
mov [Scroll1MaxSizeX],ecx
|
|
imul ecx,edi
|
|
push eax ebx edx
|
|
mov eax,ecx
|
|
mov ebx,[Picture_SizeX]
|
|
cdq
|
|
idiv ebx
|
|
mov ecx,eax
|
|
pop edx ebx eax
|
|
mov [Scroll1SizeX],ecx
|
|
mov edi,[Scroll1MaxSizeX]
|
|
sub edi,ecx
|
|
mov [Scroll1FreeX],edi
|
|
call draw_volume_rectangle ; horizontal scrollbar polzunok
|
|
|
|
mov eax,[Window_SizeX]
|
|
sub eax,(ci_scroll_dim-3)+5+ci_offs_skin_w
|
|
mov ebx,[Scroll2CoordinatY]
|
|
mov ecx,ci_scroll_dim-6
|
|
mov edx,[Window_SizeY]
|
|
sub edx,ci_scroll_dim+5+4+ci_scrollv_coord_y_min+ci_offs_skin_h
|
|
mov esi,1
|
|
mov [Scroll2CoordinatX],eax
|
|
mov [Scroll2MaxSizeX],ecx
|
|
mov [Scroll2MaxSizeY],edx
|
|
|
|
imul edx,[CounterY]
|
|
push eax ebx
|
|
mov eax,edx
|
|
mov ebx,[Picture_SizeY]
|
|
cdq
|
|
idiv ebx
|
|
mov edx,eax
|
|
pop ebx eax
|
|
mov [Scroll2SizeY],edx
|
|
mov edi,[Scroll2MaxSizeY]
|
|
sub edi,edx
|
|
mov [Scroll2FreeY],edi
|
|
call draw_volume_rectangle ; vertical scrollbar polzunok
|
|
|
|
ret
|
|
|
|
button_menu_size_x dd 0
|
|
button_menu_size_y dd 0 |