/programs/media/animage/trunk/animage.asm |
---|
43,6 → 43,21 |
@use_library_mem mem.Alloc,mem.Free,mem.ReAlloc,dll.Load |
;--------------------------------------------------------- |
; *** ª®áâ âë ¤«ï ¨â¥à䥩á *** |
; ®ª® । ªâ®à |
ci_edit_wnd_x_pos equ 5 ;ª®®à¤¨ â x ¤«ï ®ª । ªâ®à |
ci_edit_wnd_y_pos equ 87 ;ª®®à¤¨ â y ¤«ï ®ª । ªâ®à |
ci_edit_wnd_border equ 3 ;à ¬ª ¢®ªà㣠®ª । ªâ®à |
; áªà®««¨£¨ |
ci_scrollh_coord_x_min equ (ci_edit_wnd_x_pos+3) ;¬¨¨¬ «ì ï ¯®§¨æ¨ï ¯®«§ãª |
;£®à¨§®â «ì®£® áªà®««¨£ |
ci_scrollv_coord_y_min equ (ci_edit_wnd_y_pos+3) ;¬¨¨¬ «ì ï ¯®§¨æ¨ï ¯®«§ãª |
;¢¥à⨪ «ì®£® áªà®««¨£ |
;--------------------------------------------------------- |
include 'bmplib.inc' |
include 'dialog2.inc' |
include 'design.inc' |
59,9 → 74,7 |
cmp eax,-1 |
jz close |
;-------------------------------------------------------- |
;---------------set events mask-------------------------- |
;-------------------------------------------------------- |
mcall SF_SET_EVENTS_MASK,0x80000067 ; 1100111b |
;--------------------------------------------------------- |
;-----------------------init data------------------------- |
138,9 → 151,6 |
jnz @b |
ret |
;--------------------------------------------------------------------- |
;--------------------------------------------------------- |
;--------------------------------------------------------- |
;--------------------------------------------------------- |
include 'events.inc' |
include 'events_of_window.inc' |
include 'events_of_keys.inc' |
177,25 → 187,18 |
;****************cursors****************** |
brush_cursor: |
file 'brush.cur' |
;---------------------------------------------------------- |
flood_fill_cursor: |
file 'flood_fill.cur' |
;---------------------------------------------------------- |
lastik_cursor: |
file 'lastik.cur' |
;---------------------------------------------------------- |
other_cursor: |
file 'other.cur' |
;---------------------------------------------------------- |
pencil_cursor: |
file 'pencil.cur' |
;---------------------------------------------------------- |
pipette_cursor: |
file 'pipette.cur' |
;---------------------------------------------------------- |
spray_cursor: |
file 'spray.cur' |
;---------------------------------------------------------- |
zoom_cursor: |
file 'zoom.cur' |
;---------------------------------------------------------- |
268,7 → 271,7 |
Scroll1CoordinatY rd 1 ;scroll y screen position |
Scroll1MaxSizeX rd 1 |
Scroll1MaxSizeY rd 1 |
Scroll1SizeX rd 1 |
Scroll1SizeX rd 1 ;scroll polzunok size |
Scroll1FreeX rd 1 |
Scroll2CoordinatX rd 1 |
/programs/media/animage/trunk/design.inc |
---|
1,4 → 1,10 |
;---------------------------------------------------------- |
;input: |
; eax - start X |
; ebx - start Y |
; ecx - size X |
; edx - size Y |
; esi - colos styles (1...7) |
draw_volume_rectangle: |
mov [line_x],eax |
mov [line_y],ebx |
83,7 → 89,7 |
add ebx,[line_size_x] |
add ecx,[line_size_y] |
mov edx,[color_rectangle] |
call draw_rectangle |
mcall SF_DRAW_RECT |
;line 1 |
mov edx,[color_line1] |
mov ebx,[line_x] |
197,7 → 203,6 |
mov [line_size_x],ecx |
mov [line_size_y],edx |
mov edx,esi |
mov eax,13 |
mov ebx,[line_x] |
mov ecx,[line_y] |
shl ebx,16 |
204,7 → 209,7 |
shl ecx,16 |
add ebx,[line_size_x] |
add ecx,[line_size_y] |
mcall |
mcall SF_DRAW_RECT |
ret |
;---------------------------------------------------------- |
draw_conture: |
280,20 → 285,14 |
print_text: |
mov [text_x],eax |
mov [text_y],ebx |
mov eax,4 |
mov ebx,[text_x] |
shl ebx,16 |
add ebx,[text_y] |
mcall |
mcall SF_DRAW_TEXT |
ret |
;---------------------------------------------------------- |
draw_rectangle: |
mcall 13 |
ret |
;------------------------ |
draw_line: |
mov eax,38 |
mcall |
mcall SF_DRAW_LINE |
ret |
;---------------------------------------------------------- |
;lightlin 12508927 |
/programs/media/animage/trunk/events.inc |
---|
1,15 → 1,29 |
;---------------------------------------------------------- |
;---------------------system events------------------------ |
;---------------------------------------------------------- |
align 4 |
event: |
mov eax,10 |
mcall |
mcall SF_WAIT_EVENT |
ret |
;--------------------------------------------------------- |
;---------------SOUND of EVENTS--------------------------- |
;--------------------------------------------------------- |
;---------------------------------------------------------- |
;---------------------sound of events---------------------- |
;---------------------------------------------------------- |
align 4 |
sound: |
mov eax,55 |
mov ebx,eax |
mcall |
mcall SF_SPEAKER_PLAY,55 |
ret |
;---------------------------------------------------------- |
;---------------------user events-------------------------- |
;---------------------------------------------------------- |
;description: |
; ¯¥à¥¬¥é¥¨¥ áªà®««¨£®¢ ¢ «¥¢ë© ¢¥à娩 㣮« (0,0) |
align 4 |
scrollbar_move_00: |
and [PosX],0 |
and [PosY],0 |
mov [Scroll1CoordinatX],ci_scrollh_coord_x_min |
mov [Scroll2CoordinatY],ci_scrollv_coord_y_min |
ret |
/programs/media/animage/trunk/events_of_keys.inc |
---|
1,86 → 1,81 |
;------------------------------------------ |
;-------------KEYS------------------------- |
;------------------------------------------ |
align 4 |
keys: |
mov eax,2 |
mcall |
mcall SF_GET_KEY |
shr eax,8 |
cmp eax,176 |
cmp al,176 |
jne key2 |
sub [PosX],20 |
jmp change_screen |
key2: |
cmp eax,179 |
cmp al,179 |
jne key3 |
add [PosX],20 |
jmp change_screen |
key3: |
cmp eax,177 |
cmp al,177 |
jne key4 |
add [PosY],20 |
jmp change_screen |
key4: |
cmp eax,178 |
cmp al,178 |
jne key5 |
sub [PosY],20 |
jmp change_screen |
key5: |
cmp eax,49 |
cmp al,49 ;1 |
jne key6 |
mov [k],1 |
mov [Scroll1CoordinatX],9 |
mov [Scroll2CoordinatY],89 |
call scrollbar_move_00 |
call drawwin |
jmp change_screen |
key6: |
cmp eax,50 |
cmp al,50 ;2 |
jne key7 |
mov [k],2 |
mov [Scroll1CoordinatX],9 |
mov [Scroll2CoordinatY],89 |
call scrollbar_move_00 |
call drawwin |
jmp change_screen |
key7: |
cmp eax,52 |
cmp al,52 ;4 |
jne key8 |
mov [k],4 |
mov [Scroll1CoordinatX],9 |
mov [Scroll2CoordinatY],89 |
call scrollbar_move_00 |
call drawwin |
jmp change_screen |
key8: |
cmp eax,56 |
cmp al,56 ;8 |
jne key9 |
mov [k],8 |
mov [Scroll1CoordinatX],9 |
mov [Scroll2CoordinatY],89 |
call scrollbar_move_00 |
call drawwin |
jmp change_screen |
key9: |
cmp eax,48 |
cmp al,48 ;0 |
jne key10 |
mov [k],16 |
mov [Scroll1CoordinatX],9 |
mov [Scroll2CoordinatY],89 |
call scrollbar_move_00 |
call drawwin |
jmp change_screen |
key10: |
cmp eax,255 |
cmp al,255 |
jne key11 |
call analizing_picture_to_palette |
call drawwin |
jmp change_screen |
key11: |
cmp eax,27 |
jne still |
;cmp al,27 ;Esc |
;jne still |
jmp still |
mov eax,CursorsID |
call delete_cursors |
close: |
mov eax,-1 |
mcall |
mcall SF_TERMINATE_PROCESS |
jmp still |
/programs/media/animage/trunk/events_of_mouse.inc |
---|
45,8 → 45,8 |
mov ebx,[MouseY] |
mov ecx,[WorkScreen_SizeX] |
mov edx,[WorkScreen_SizeY] |
add ecx,9 |
add edx,89 |
add ecx,ci_scrollh_coord_x_min |
add edx,ci_scrollv_coord_y_min |
cmp eax,ecx |
jae mouse_scroll |
74,13 → 74,13 |
test eax,eax |
jz no_horizontal |
mov eax,9 |
mov eax,ci_scrollh_coord_x_min |
mov ebx,[Scroll1CoordinatY] |
mov ecx,[Scroll1MaxSizeX] |
inc ecx |
mov edx,14+10 |
mov esi,7 |
inc ecx |
call draw_volume_rectangle |
call draw_volume_rectangle ; horizontal scrollbar clear |
mov eax,[MouseX] |
mov ebx,[Scroll1SizeX] |
88,13 → 88,13 |
sub eax,ebx |
mov ecx,[MouseX] |
add ecx,ebx |
mov edx,8+1 |
mov edx,ci_scrollh_coord_x_min |
add edx,[Scroll1MaxSizeX] |
mov [Scroll1CoordinatX],eax |
sub eax,9 |
sub eax,ci_scrollh_coord_x_min |
jns no_min_scroll |
mov [Scroll1CoordinatX],9 |
mov [Scroll1CoordinatX],ci_scrollh_coord_x_min |
no_min_scroll: |
cmp ecx,edx |
106,7 → 106,7 |
no_max_scroll: |
mov eax,[Scroll1CoordinatX] |
sub eax,9 |
sub eax,ci_scrollh_coord_x_min |
mov ebx,[Picture_SizeX] |
imul eax,ebx |
mov ebx,[Scroll1MaxSizeX] |
127,12 → 127,12 |
jz no_vertical |
mov eax,[Scroll2CoordinatX] |
mov ebx,89 |
mov ebx,ci_scrollv_coord_y_min |
mov ecx,14+10 |
mov edx,[Scroll2MaxSizeY] |
inc edx |
mov esi,7 |
inc edx |
call draw_volume_rectangle |
call draw_volume_rectangle ; vertical scrollbar clear |
mov eax,[MouseY] |
mov ebx,[Scroll2SizeY] |
140,14 → 140,14 |
sub eax,ebx |
mov ecx,[MouseY] |
add ecx,ebx |
mov edx,89 |
mov edx,ci_scrollv_coord_y_min |
add edx,[Scroll2MaxSizeY] |
mov [Scroll2CoordinatY],eax |
sub eax,89 |
sub eax,ci_scrollv_coord_y_min |
jns no_min_scroll2 |
mov [Scroll2CoordinatY],89 |
mov [Scroll2CoordinatY],ci_scrollv_coord_y_min |
no_min_scroll2: |
cmp ecx,edx |
159,7 → 159,7 |
no_max_scroll2: |
mov eax,[Scroll2CoordinatY] |
sub eax,89 |
sub eax,ci_scrollv_coord_y_min |
mov ebx,[Picture_SizeY] |
imul eax,ebx |
mov ebx,[Scroll2MaxSizeY] |
183,13 → 183,13 |
sub ecx,36 |
sub edx,35 |
cmp eax,9 |
cmp eax,ci_scrollh_coord_x_min |
jle not_work_arrea |
cmp eax,ecx |
jae not_work_arrea |
cmp ebx,20+15+1+50 |
cmp ebx,ci_scrollv_coord_y_min |
jle not_work_arrea |
cmp ebx,edx |
/programs/media/animage/trunk/events_of_window.inc |
---|
12,27 → 12,22 |
mov edx,[esi+46] |
mov [Window_CordinatX],eax |
mov [Window_CordinatY],ebx |
cmp ecx,585 |
jae @f |
mov ecx,585 ;minimum size x |
@@: |
cmp [Window_SizeY],400 |
jae @f |
mov edx,400 ;minimum size y |
@@: |
mov [Window_SizeX],ecx |
mov [Window_SizeY],edx |
cmp [Window_SizeX],585 |
jae no_minimum_size_x |
mov [Window_SizeX],585 |
mov ecx,[Window_SizeX] |
no_minimum_size_x: |
cmp [Window_SizeY],400 |
jae no_minimum_size_y |
mov [Window_SizeY],400 |
mov edx,[Window_SizeY] |
no_minimum_size_y: |
mov [MaxWorkScreen_SizeX],ecx |
mov [MaxWorkScreen_SizeY],edx |
sub [MaxWorkScreen_SizeX],20+10+5+10 |
sub [MaxWorkScreen_SizeY],20+10+15+1+49+20+10 |
sub [MaxWorkScreen_SizeX],ci_edit_wnd_x_pos+2*ci_edit_wnd_border+34 |
sub [MaxWorkScreen_SizeY],ci_edit_wnd_y_pos+2*ci_edit_wnd_border+34 |
cmp [MaxWorkScreen_SizeX],0 |
jns no_znak1 |
88,70 → 83,52 |
call MovePictureToWorkScreen |
;------------------------------------------------ |
mov ebx,[WorkScreen_SizeX] |
add ebx,5+3 |
mov edx,[Window_SizeX] |
sub edx,ebx |
sub edx,25+10-3 |
add ebx,ci_edit_wnd_x_pos+ci_edit_wnd_border |
shl ebx,16 |
mov bx,dx |
mov bx,ci_edit_wnd_border ;è¨à¨ ¡®à¤îà |
mov ecx,20+15+1+49+2 |
mov ecx,ci_edit_wnd_y_pos+ci_edit_wnd_border |
mov edx,[Window_SizeY] |
mov eax,[WorkScreen_SizeY] |
shr eax,16 |
sub edx,eax |
sub edx,20+15+1+49+2+25+10 |
sub edx,ci_edit_wnd_y_pos+2*ci_edit_wnd_border+34 |
shl ecx,16 |
mov cx,dx |
mov cx,dx ;¢ëá®â ¡®à¤îà |
mcall SF_DRAW_RECT,,,0xc7cbcf |
mcall SF_DRAW_RECT,,,0xc7cbcf ;¡®à¤îà á¯à ¢ ®â ®ª ¯¥à¥¤ áªà®««¨£®¬ |
;------------------------------------------------ |
mcall ,<5,3> |
mcall ,<ci_edit_wnd_x_pos,ci_edit_wnd_border> ;¡®à¤îà á«¥¢ ®â ®ª |
;------------------------------------------------ |
mov ebx,5 |
mov ebx,ci_edit_wnd_x_pos |
mov edx,[Window_SizeX] |
mov eax,[WorkScreen_SizeX] |
shr eax,16 |
sub edx,eax |
sub edx,25+10 |
sub edx,25+10+ci_edit_wnd_x_pos |
shl ebx,16 |
mov bx,dx |
mov bx,dx ;è¨à¨ ¡®à¤îà |
mov ecx,[WorkScreen_SizeY] |
add ecx,20+15+1+49+2+3 |
mov edx,[Window_SizeY] |
sub edx,ecx |
sub edx,25+10-3 |
add ecx,ci_edit_wnd_y_pos+ci_edit_wnd_border |
shl ecx,16 |
mov cx,dx |
mov cx,ci_edit_wnd_border ;¢ëá®â ¡®à¤îà |
mcall SF_DRAW_RECT,,,0xc7cbcf |
mcall SF_DRAW_RECT,,,0xc7cbcf ;¡®à¤îà ¯®¤ ®ª®¬ ¨ ¤ áªà®««¨£®¬ |
;------------------------------------------------ |
mcall ,,<20+15+1+49+2,3> |
mcall ,,<ci_edit_wnd_y_pos,ci_edit_wnd_border> ;¡®à¤îà ¯®¤ ¯ ¥«ìî ¨ ¤ ®ª®¬ |
;------------------------------------------------ |
; draw_volume_rectangle |
; eax - start X |
; ebx - start Y |
; ecx - size X |
; edx - size Y |
mov eax,5 |
mov eax,ci_edit_wnd_x_pos |
mov ebx,[Window_SizeY] |
mov ecx,[Window_SizeX] |
mov edx,20+10 |
mov esi,3 |
sub ecx,30 |
sub ecx,35+ci_edit_wnd_x_pos |
sub ebx,25+10 |
call draw_volume_rectangle ; horizontal scrollbar |
call draw_volume_rectangle ; horizontal scrollbar border |
;------------------------------------------------ |
mov eax,[Window_SizeX] |
mov ebx,20+15+1+49+2 |
mov ebx,ci_edit_wnd_y_pos |
mov ecx,20+10 |
mov edx,[Window_SizeY] |
mov esi,3 |
sub eax,25+10 |
sub edx,20+15+1+49+5+20 |
call draw_volume_rectangle ; vertical scrollbar |
sub edx,35+ci_edit_wnd_y_pos |
call draw_volume_rectangle ; vertical scrollbar border |
call draw_scrollers |
;------------------------------------------------ |
mov eax,[Window_SizeX] |
/programs/media/animage/trunk/icons.inc |
---|
33,7 → 33,6 |
main_buttons: |
mov eax,8 |
mov ebx,[Icon_X] |
mov ecx,[Icon_Y] |
dec ebx |
45,7 → 44,7 |
mov edx,[counter] |
add edx,10 |
add edx,1000000000000000000000000000000b |
mcall |
mcall SF_DEFINE_BUTTON |
add [Icon_X],22 |
63,7 → 62,6 |
next_button_brush: |
mov eax,8 |
mov ebx,[Icon_X] |
mov ecx,[Icon_Y] |
dec ebx |
75,7 → 73,7 |
mov edx,[counter] |
add edx,40 |
add edx,1000000000000000000000000000000b |
mcall |
mcall SF_DEFINE_BUTTON |
add [Icon_X],19 |
92,7 → 90,6 |
next_button_zoom: |
mov eax,8 |
mov ebx,[Icon_X] |
mov ecx,[Icon_Y] |
dec ebx |
104,7 → 101,7 |
mov edx,[counter] |
add edx,45 |
add edx,1000000000000000000000000000000b |
mcall |
mcall SF_DEFINE_BUTTON |
add [Icon_X],19 |
117,7 → 114,6 |
mov [Icon_X],7+105+1 |
mov [Icon_Y],19+15+4+25+1 |
mov eax,8 |
mov ebx,[Icon_X] |
mov ecx,[Icon_Y] |
dec ebx |
128,13 → 124,12 |
add ecx,21 |
mov edx,51 |
add edx,1000000000000000000000000000000b |
mcall |
mcall SF_DEFINE_BUTTON |
; button of color |
mov [Icon_X],7+128+1 |
mov [Icon_Y],19+15+4+25+1 |
mov eax,8 |
mov ebx,[Icon_X] |
mov ecx,[Icon_Y] |
dec ebx |
145,12 → 140,8 |
add ecx,20 |
mov edx,52 |
add edx,1000000000000000000000000000000b |
mcall |
mcall SF_DEFINE_BUTTON |
mov eax,13 |
mov ebx,136*65536+19 |
mov ecx,64*65536+19 |
mov edx,[Color] |
mcall |
mcall SF_DRAW_RECT, 136*65536+19,64*65536+19,[Color] |
ret |
/programs/media/animage/trunk/icons_instruments.inc |
---|
1005,8 → 1005,7 |
cmp eax,45 |
jne no_1_ |
mov [k],1 |
mov [Scroll1CoordinatX],9 |
mov [Scroll2CoordinatY],89 |
call scrollbar_move_00 |
and [Current_instrument],0 |
call drawwin |
jmp still |
1017,8 → 1016,7 |
jne no_2_ |
mov [k],2 |
call drawwin |
mov [Scroll1CoordinatX],9 |
mov [Scroll2CoordinatY],89 |
call scrollbar_move_00 |
and [Current_instrument],0 |
jmp still |
no_2_: |
1029,8 → 1027,7 |
jne no_3_ |
mov [k],3 |
call drawwin |
mov [Scroll1CoordinatX],9 |
mov [Scroll2CoordinatY],89 |
call scrollbar_move_00 |
and [Current_instrument],0 |
jmp still |
no_3_: |
1040,8 → 1037,7 |
jne no_4_ |
mov [k],4 |
call drawwin |
mov [Scroll1CoordinatX],9 |
mov [Scroll2CoordinatY],89 |
call scrollbar_move_00 |
and [Current_instrument],0 |
jmp still |
no_4_: |
1051,8 → 1047,7 |
jne no_8_ |
mov [k],8 |
call drawwin |
mov [Scroll1CoordinatX],9 |
mov [Scroll2CoordinatY],89 |
call scrollbar_move_00 |
and [Current_instrument],0 |
jmp still |
no_8_: |
1062,8 → 1057,7 |
jne no_16_ |
mov [k],16 |
call drawwin |
mov [Scroll1CoordinatX],9 |
mov [Scroll2CoordinatY],89 |
call scrollbar_move_00 |
and [Current_instrument],0 |
jmp still |
no_16_: |
/programs/media/animage/trunk/memory.inc |
---|
60,10 → 60,6 |
mov [PointerToPalette],eax |
mov [ReserveArray],eax |
;®¡ã«¥¨¥ áªà®««¨£ |
and [PosX],0 |
and [PosY],0 |
mov [Scroll1CoordinatX],9 ;8+1 |
mov [Scroll2CoordinatY],89 ;20+15+1+50+3 |
call scrollbar_move_00 ;®¡ã«¥¨¥ áªà®««¨£ |
ret |
;--------------------------------------------------------- |
/programs/media/animage/trunk/panel_engen.inc |
---|
267,7 → 267,7 |
mov ecx,52 |
mov edx,18 |
mov esi,4 |
call draw_volume_rectangle |
call draw_volume_rectangle ; border for mouse x pos |
mov eax,[Window_SizeX] |
sub eax,75 |
275,7 → 275,7 |
mov ecx,52 |
mov edx,18 |
mov esi,4 |
call draw_volume_rectangle |
call draw_volume_rectangle ; border for mouse y pos |
mov eax,[Window_SizeX] |
sub eax,70 |
344,10 → 344,9 |
mov ebx,[Window_SizeY] |
sub ebx,22+10 |
mov ecx,[Window_SizeX] |
sub ecx,10+5+20+10+1 |
sub ecx,39+ci_scrollh_coord_x_min |
mov edx,14+10 |
mov esi,1 |
mov [Scroll1CoordinatX],eax |
mov [Scroll1CoordinatY],ebx |
mov [Scroll1MaxSizeY],edx |
mov [Scroll1MaxSizeX],ecx |
363,7 → 362,7 |
mov edi,[Scroll1MaxSizeX] |
sub edi,ecx |
mov [Scroll1FreeX],edi |
call draw_volume_rectangle |
call draw_volume_rectangle ; horizontal scrollbar polzunok |
mov eax,[Window_SizeX] |
sub eax,22+10 |
370,10 → 369,9 |
mov ebx,[Scroll2CoordinatY] |
mov ecx,14+10 |
mov edx,[Window_SizeY] |
sub edx,20+15+1+49+10+20+11 |
sub edx,39+ci_scrollv_coord_y_min |
mov esi,1 |
mov [Scroll2CoordinatX],eax |
mov [Scroll2CoordinatY],ebx |
mov [Scroll2MaxSizeX],ecx |
mov [Scroll2MaxSizeY],edx |
389,9 → 387,8 |
mov edi,[Scroll2MaxSizeY] |
sub edi,edx |
mov [Scroll2FreeY],edi |
call draw_volume_rectangle ; vertical scrollbar polzunok |
call draw_volume_rectangle |
ret |
button_menu_size_x dd 0 |
/programs/media/animage/trunk/screen.inc |
---|
243,14 → 243,13 |
jnz screen_y |
fps: |
;mcall 18,14 |
mov ebx,[ScreenPointer] |
mov ecx,[WorkScreen_SizeX] |
mov edx,[WorkScreen_SizeY] |
shl ecx,16 |
add ecx,edx |
mov edx,8*65536+20+15+49+5+1 |
mov edx,((ci_edit_wnd_x_pos+ci_edit_wnd_border) shl 16)\ |
+ (ci_edit_wnd_y_pos+ci_edit_wnd_border) |
mcall SF_PUT_IMAGE |
ret |
;---------------------------------------------------------- |
290,31 → 289,25 |
;----------------------------------------------------------- |
CalculatePositionScreen: |
mov eax,[Picture_SizeX] |
mov ebx,[Picture_SizeY] |
mov ecx,[CounterX] |
mov edx,[CounterY] |
sub eax,ecx |
sub ebx,edx |
sub eax,[CounterX] |
cmp [PosX],eax |
jle no_limit_screen_x |
jle @f |
mov [PosX],eax |
no_limit_screen_x: |
@@: |
cmp [PosX],0 |
jns @f |
mov [PosX],0 |
@@: |
mov ebx,[Picture_SizeY] |
sub ebx,[CounterY] |
cmp [PosY],ebx |
jle no_limit_screen_y |
jle @f |
mov [PosY],ebx |
no_limit_screen_y: |
cmp [PosX],0 |
jns no_minimum_screen_x |
mov [PosX],0 |
no_minimum_screen_x: |
@@: |
cmp [PosY],0 |
jns no_minimum_screen_y |
jns @f |
mov [PosY],0 |
no_minimum_screen_y: |
@@: |
ret |
;----------------------------------------------------------- |
;-----------calculate cordinats on work picture-------------- |
322,8 → 315,16 |
GetScreenCordinats: |
mov eax,[MouseX] |
mov ebx,[MouseY] |
sub eax,9 |
sub ebx,87 |
sub eax,ci_edit_wnd_x_pos+ci_edit_wnd_border |
cmp eax,0 |
jge @f |
xor eax,eax |
@@: |
sub ebx,ci_edit_wnd_y_pos+ci_edit_wnd_border |
cmp ebx,0 |
jge @f |
xor ebx,ebx |
@@: |
mov ecx,[k] |
cdq |
idiv ecx |