kolibrios/programs/media/animage/trunk/icons.inc
IgorA 7c423903ff add menu 'Filters',
add icons for select zoom

git-svn-id: svn://kolibrios.org@6371 a494cfbc-eb01-0410-851d-a64ba20cac60
2016-03-24 15:54:52 +00:00

182 lines
3.3 KiB
PHP
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

;-----------------------------------------------------------
;---load icons in memory and draw icons on panel-----------
;-----------------------------------------------------------
load_icons:
stdcall [img_decode], panel_picture, panel_picture.end-panel_picture, 0
mov ebx,eax
mov edi,[ScreenPointer]
add edi,mem_screen
stdcall [img_to_rgb2], ebx,edi ;преобразуем изображение к формату rgb
stdcall [img_destroy], ebx ;удаляем временный буфер с параметрами изображения
stdcall [img_decode], panel_zoom, panel_zoom.end-panel_zoom, 0
mov ebx,eax
add edi,mem_panel_but
stdcall [img_to_rgb2], ebx,edi
stdcall [img_destroy], ebx
ret
draw_icons:
mov [Icon_X],ci_panel_x_pos+2
mov [Icon_Y],ci_panel_y_pos+3
;draw panel picture
mov edx,[Icon_X]
shl edx,16
add edx,[Icon_Y]
mov ebx,[ScreenPointer]
add ebx,mem_screen
mov ecx,417*65536+46
mcall SF_PUT_IMAGE
;draw active zoom button
add ebx,mem_panel_but
xor eax,eax
cmp [k],1
je .end_calc
inc eax
cmp [k],2
je @f
inc eax
cmp [k],3
je @f
inc eax
cmp [k],4
je @f
inc eax
cmp [k],8
je @f
inc eax
cmp [k],16
je @f
inc eax
@@:
mov edx,eax
imul edx,18*21*3
add ebx,edx
.end_calc:
mov edx,eax
imul edx,18+1
add edx,ci_panel_zoom_x-1
shl edx,16
add edx,ci_panel_but_y2-2
mov ecx,18*65536+21
mcall SF_PUT_IMAGE
;main buttons of instrumnts
and [counter],0
mov [Icon_X],ci_panel_x_pos+4
main_buttons:
mov ebx,[Icon_X]
mov ecx,ci_panel_but_y1
dec ebx
dec ecx
shl ebx,16
shl ecx,16
add ebx,18
add ecx,19
mov edx,[counter]
add edx,10
add edx,1000000000000000000000000000000b
mcall SF_DEFINE_BUTTON
add [Icon_X],22
inc [counter]
cmp [counter],19
jne main_buttons
;buttons of brushes(and lines width)
and [counter],0
mov [Icon_X],ci_panel_x_pos+4
next_button_brush:
mov ebx,[Icon_X]
mov ecx,ci_panel_but_y2
dec ebx
dec ecx
shl ebx,16
shl ecx,16
add ebx,18
add ecx,19
mov edx,[counter]
add edx,40
add edx,1000000000000000000000000000000b
mcall SF_DEFINE_BUTTON
add [Icon_X],19
inc [counter]
cmp [counter],5
jne next_button_brush
;buttons of zoom
and [counter],0
mov [Icon_X],ci_panel_x_pos+ci_panel_zoom_x
next_button_zoom:
mov ebx,[Icon_X]
mov ecx,ci_panel_but_y2
dec ebx
dec ecx
shl ebx,16
shl ecx,16
add ebx,18
add ecx,19
mov edx,[counter]
add edx,45
add edx,1000000000000000000000000000000b
mcall SF_DEFINE_BUTTON
add [Icon_X],19
inc [counter]
cmp [counter],6
jne next_button_zoom
; button of palette
mov [Icon_X],ci_panel_x_pos+108
mov ebx,[Icon_X]
mov ecx,ci_panel_but_y2-1
dec ebx
dec ecx
shl ebx,16
shl ecx,16
add ebx,20
add ecx,21
mov edx,51
add edx,1000000000000000000000000000000b
mcall SF_DEFINE_BUTTON
; button of color
mov [Icon_X],ci_panel_x_pos+131
mov ebx,[Icon_X]
mov ecx,ci_panel_but_y2-1
dec ebx
dec ecx
shl ebx,16
shl ecx,16
add ebx,20
add ecx,20
mov edx,52
add edx,1000000000000000000000000000000b
mcall SF_DEFINE_BUTTON
mcall SF_DRAW_RECT, ((ci_panel_x_pos+130) shl 16)+21,\
((ci_panel_y_pos+28) shl 16)+21, [Color]
ret