apps/animage: attempt to fix the scrollbar #715
No files matched your search
@@ -51,6 +51,7 @@ include '../../load_lib.mac'
|
||||
include '../../dll.inc'
|
||||
include '../../develop/libraries/libs-dev/libio/libio.inc'
|
||||
include '../../develop/libraries/libs-dev/libimg/libimg.inc'
|
||||
include '../../develop/libraries/box_lib/box_lib.mac'
|
||||
;include '../../debug.inc'
|
||||
|
||||
@use_library mem.Alloc,mem.Free,mem.ReAlloc,dll.Load
|
||||
@@ -63,15 +64,16 @@ ci_offs_skin_w equ 5 ;adjustment to the width of the skin frame
|
||||
ci_offs_skin_h equ 24 ;skin height adjustment
|
||||
|
||||
; main window
|
||||
ci_wnd_min_siz_x equ 585 ;minimum size x
|
||||
ci_wnd_min_siz_y equ 400 ;minimum size y
|
||||
ci_wnd_start_siz_x equ 585
|
||||
ci_wnd_start_siz_y equ 400
|
||||
ci_wnd_min_siz_x equ 510 ;minimum size x
|
||||
ci_wnd_min_siz_y equ 180 ;minimum size y
|
||||
|
||||
; toolbar
|
||||
ci_panel_x_pos equ 0 ;coord. x for panel
|
||||
ci_panel_y_pos equ 20 ;coord. y for panel
|
||||
ci_panel_but_y1 equ ci_panel_y_pos +5 ;y coordinate for 1st row of buttons
|
||||
ci_panel_but_y2 equ ci_panel_y_pos+30 ;y coordinate for 2nd row of buttons
|
||||
ci_palete_y_pos equ ci_panel_y_pos+51 ;y coordinate for color palette
|
||||
ci_panel_zoom_x equ 178 ;x coordinate for zoom bar buttons
|
||||
|
||||
; editor window
|
||||
@@ -80,7 +82,7 @@ ci_edit_wnd_y_pos equ 71 ;y coordinate for editor window
|
||||
ci_edit_wnd_border equ 3 ;frame around the editor window
|
||||
|
||||
; scrolling
|
||||
ci_scroll_dim equ 22 ;scroll sizes
|
||||
ci_scroll_dim equ 16 ;scroll sizes
|
||||
ci_scrollh_coord_x_min equ (ci_edit_wnd_x_pos+3) ;x minimum slider position
|
||||
;horizontal scrolling
|
||||
ci_scrollv_coord_y_min equ (ci_edit_wnd_y_pos+3) ;y minimum slider position
|
||||
@@ -149,6 +151,12 @@ include 'init_data.inc'
|
||||
;OpenDialog initialisation
|
||||
stdcall [OpenDialog_Init], OpenDialog_data
|
||||
stdcall [ColorDialog_Init], ColorDialog_data
|
||||
|
||||
mcall SF_REDRAW,SSF_BEGIN_DRAW
|
||||
mov ebx,50 shl 16 + ci_wnd_start_siz_x
|
||||
mov ecx,50 shl 16 + ci_wnd_start_siz_y
|
||||
mcall SF_CREATE_WINDOW,,,0x73aabbcc,,name_of_program
|
||||
mcall SF_REDRAW,SSF_END_DRAW
|
||||
;---------------------------------------------------------------------
|
||||
|
||||
align 4
|
||||
@@ -161,16 +169,16 @@ align 4
|
||||
still:
|
||||
mcall SF_WAIT_EVENT
|
||||
|
||||
cmp eax,1
|
||||
cmp eax,EV_REDRAW
|
||||
je red
|
||||
|
||||
cmp eax,2
|
||||
cmp eax,EV_KEY
|
||||
je keys
|
||||
|
||||
cmp eax,3
|
||||
cmp eax,EV_BUTTON
|
||||
je buttons
|
||||
|
||||
cmp eax,6
|
||||
cmp eax,EV_MOUSE
|
||||
je mouse
|
||||
|
||||
jmp still
|
||||
@@ -186,7 +194,16 @@ copy_str_1:
|
||||
jnz @b
|
||||
ret
|
||||
;---------------------------------------------------------------------
|
||||
include 'events.inc'
|
||||
;description:
|
||||
; move both scrollbars back to the top left corner (0,0)
|
||||
align 4
|
||||
scrollbar_move_00:
|
||||
and [PosX],0
|
||||
and [PosY],0
|
||||
mov [sb_horizont.position],0
|
||||
mov [sb_vertical.position],0
|
||||
ret
|
||||
;---------------------------------------------------------------------
|
||||
include 'events_of_window.inc'
|
||||
include 'events_of_keys.inc'
|
||||
include 'events_of_buttons.inc'
|
||||
@@ -205,7 +222,6 @@ include 'menu.inc'
|
||||
;-----------------------------------------------------------
|
||||
;------------variables and data of program------------------
|
||||
;-----------------------------------------------------------
|
||||
;sound_havent_memory db 150,64,0
|
||||
|
||||
include 'lib_data.inc'
|
||||
include 'panel_data.inc'
|
||||
@@ -240,6 +256,13 @@ spray_cursor:
|
||||
file 'cursors/spray.cur'
|
||||
zoom_cursor:
|
||||
file 'cursors/zoom.cur'
|
||||
|
||||
align 4
|
||||
scroll_drag dd 0
|
||||
sb_horizont scrollbar ci_wnd_start_siz_x-ci_scroll_dim-2*ci_offs_skin_w,0,\
|
||||
ci_scroll_dim,ci_edit_wnd_y_pos+284, 15, 100,30,0, 0xaaaaaa, 0xcccccc,0, 1
|
||||
sb_vertical scrollbar ci_scroll_dim,ci_wnd_start_siz_x-ci_scroll_dim-2*ci_offs_skin_w,\
|
||||
284,ci_edit_wnd_y_pos, 15, 100,30,0, 0xaaaaaa, 0xcccccc,0, 1
|
||||
;----------------------------------------------------------
|
||||
align 4
|
||||
IM_END:
|
||||
@@ -305,20 +328,6 @@ counter2 rd 1
|
||||
number_panel rd 1
|
||||
number_menu rd 1
|
||||
|
||||
Scroll1CoordinatX rd 1 ;scroll x screen position
|
||||
Scroll1CoordinatY rd 1 ;scroll y screen position
|
||||
Scroll1MaxSizeX rd 1
|
||||
Scroll1MaxSizeY rd 1
|
||||
Scroll1SizeX rd 1 ;scroll polzunok size
|
||||
Scroll1FreeX rd 1
|
||||
|
||||
Scroll2CoordinatX rd 1
|
||||
Scroll2CoordinatY rd 1
|
||||
Scroll2MaxSizeX rd 1
|
||||
Scroll2MaxSizeY rd 1
|
||||
Scroll2SizeY rd 1
|
||||
Scroll2FreeY rd 1
|
||||
|
||||
x rd 1
|
||||
y rd 1
|
||||
|
||||
@@ -366,7 +375,7 @@ filename_area rb 256
|
||||
temp_dir_pach rb 4096
|
||||
library_path rb 4096
|
||||
cur_dir_path rb 4096
|
||||
procinfo: rb 1024
|
||||
procinfo process_information
|
||||
align 4
|
||||
syscolors rb 192
|
||||
syscolors_end:
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
;----------------------------------------------------------
|
||||
;---------------------sound of events----------------------
|
||||
;----------------------------------------------------------
|
||||
align 4
|
||||
sound:
|
||||
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
|
||||
@@ -1,17 +1,22 @@
|
||||
;---------------------------------------------
|
||||
;-------------interraction MOUSE--------------
|
||||
;---------------------------------------------
|
||||
align 4
|
||||
mouse:
|
||||
stdcall [kmainmenu_dispatch_cursorevent], [main_menu]
|
||||
|
||||
or ecx,-1
|
||||
mcall SF_THREAD_INFO,procinfo
|
||||
|
||||
mov eax,[procinfo+70] ;staus of window
|
||||
movzx eax,byte [procinfo.wnd_state]
|
||||
test eax,100b
|
||||
jne still
|
||||
|
||||
call GetMouseClick
|
||||
bt [MouseBut],16
|
||||
jnc @f
|
||||
mov [scroll_drag],0
|
||||
@@:
|
||||
|
||||
call GetMouseCoordinats
|
||||
mov eax,[MouseX]
|
||||
@@ -21,6 +26,11 @@ mouse:
|
||||
add ecx,ci_scrollh_coord_x_min
|
||||
add edx,ci_scrollv_coord_y_min
|
||||
|
||||
cmp [scroll_drag],1
|
||||
je sb_hor_mouse
|
||||
cmp [scroll_drag],2
|
||||
je sb_ver_mouse
|
||||
|
||||
cmp eax,ecx
|
||||
jae mouse_scroll
|
||||
|
||||
@@ -36,105 +46,50 @@ mouse_scroll:
|
||||
|
||||
;call GetMouseCoordinats
|
||||
;interraction with horizontal scroller
|
||||
mov eax,[Scroll1CoordinatX]
|
||||
mov ebx,[Scroll1CoordinatY]
|
||||
movzx eax,[sb_horizont.x_pos]
|
||||
movzx ebx,[sb_horizont.y_pos]
|
||||
mov ecx,[MouseX]
|
||||
mov edx,[MouseY]
|
||||
mov esi,[Scroll1MaxSizeX]
|
||||
mov edi,[Scroll1MaxSizeY]
|
||||
movzx esi,[sb_horizont.x_size]
|
||||
movzx edi,[sb_horizont.y_size]
|
||||
call columnus
|
||||
test eax,eax
|
||||
jz no_horizontal
|
||||
|
||||
mov eax,ci_scrollh_coord_x_min
|
||||
mov ebx,[Scroll1CoordinatY]
|
||||
mov ecx,[Scroll1MaxSizeX]
|
||||
inc ecx
|
||||
mov edx,ci_scroll_dim-6
|
||||
mov esi,7
|
||||
call draw_volume_rectangle ; horizontal scrollbar clear
|
||||
|
||||
mov eax,[MouseX]
|
||||
mov ebx,[Scroll1SizeX]
|
||||
shr ebx,1
|
||||
sub eax,ebx
|
||||
mov ecx,[MouseX]
|
||||
add ecx,ebx
|
||||
mov edx,ci_scrollh_coord_x_min
|
||||
add edx,[Scroll1MaxSizeX]
|
||||
mov [Scroll1CoordinatX],eax
|
||||
sub eax,ci_scrollh_coord_x_min
|
||||
jns no_min_scroll
|
||||
|
||||
mov [Scroll1CoordinatX],ci_scrollh_coord_x_min
|
||||
|
||||
no_min_scroll:
|
||||
cmp ecx,edx
|
||||
jl no_max_scroll
|
||||
|
||||
sub edx,ebx
|
||||
sub edx,ebx
|
||||
mov [Scroll1CoordinatX],edx
|
||||
|
||||
no_max_scroll:
|
||||
mov eax,[Scroll1CoordinatX]
|
||||
sub eax,ci_scrollh_coord_x_min
|
||||
bt [MouseBut],8
|
||||
jnc sb_hor_mouse
|
||||
mov [scroll_drag],1
|
||||
sb_hor_mouse:
|
||||
stdcall [scrollbar_h_mouse],sb_horizont
|
||||
mov eax,[sb_horizont.position]
|
||||
mov ebx,[Picture_SizeX]
|
||||
imul eax,ebx
|
||||
mov ebx,[Scroll1MaxSizeX]
|
||||
mov ebx,[sb_horizont.max_area]
|
||||
cdq
|
||||
idiv ebx
|
||||
mov [PosX],eax
|
||||
jmp no_vertical
|
||||
|
||||
no_horizontal:
|
||||
mov eax,[Scroll2CoordinatX]
|
||||
mov ebx,[Scroll2CoordinatY]
|
||||
movzx eax,[sb_vertical.x_pos]
|
||||
movzx ebx,[sb_vertical.y_pos]
|
||||
mov ecx,[MouseX]
|
||||
mov edx,[MouseY]
|
||||
mov esi,[Scroll2MaxSizeX]
|
||||
mov edi,[Scroll2MaxSizeY]
|
||||
movzx esi,[sb_vertical.x_size]
|
||||
movzx edi,[sb_vertical.y_size]
|
||||
call columnus
|
||||
test eax,eax
|
||||
jz no_vertical
|
||||
|
||||
mov eax,[Scroll2CoordinatX]
|
||||
mov ebx,ci_scrollv_coord_y_min
|
||||
mov ecx,ci_scroll_dim-6
|
||||
mov edx,[Scroll2MaxSizeY]
|
||||
inc edx
|
||||
mov esi,7
|
||||
call draw_volume_rectangle ; vertical scrollbar clear
|
||||
|
||||
mov eax,[MouseY]
|
||||
mov ebx,[Scroll2SizeY]
|
||||
shr ebx,1
|
||||
sub eax,ebx
|
||||
mov ecx,[MouseY]
|
||||
add ecx,ebx
|
||||
mov edx,ci_scrollv_coord_y_min
|
||||
add edx,[Scroll2MaxSizeY]
|
||||
mov [Scroll2CoordinatY],eax
|
||||
|
||||
sub eax,ci_scrollv_coord_y_min
|
||||
jns no_min_scroll2
|
||||
|
||||
mov [Scroll2CoordinatY],ci_scrollv_coord_y_min
|
||||
|
||||
no_min_scroll2:
|
||||
cmp ecx,edx
|
||||
jl no_max_scroll2
|
||||
|
||||
sub edx,ebx
|
||||
sub edx,ebx
|
||||
mov [Scroll2CoordinatY],edx
|
||||
|
||||
no_max_scroll2:
|
||||
mov eax,[Scroll2CoordinatY]
|
||||
sub eax,ci_scrollv_coord_y_min
|
||||
bt [MouseBut],8
|
||||
jnc sb_ver_mouse
|
||||
mov [scroll_drag],2
|
||||
sb_ver_mouse:
|
||||
stdcall [scrollbar_v_mouse],sb_vertical
|
||||
mov eax,[sb_vertical.position]
|
||||
mov ebx,[Picture_SizeY]
|
||||
imul eax,ebx
|
||||
mov ebx,[Scroll2MaxSizeY]
|
||||
mov ebx,[sb_vertical.max_area]
|
||||
cdq
|
||||
idiv ebx
|
||||
mov [PosY],eax
|
||||
|
||||
@@ -4,12 +4,11 @@
|
||||
drawwin:
|
||||
or ecx,-1
|
||||
mcall SF_THREAD_INFO,procinfo
|
||||
mov esi,procinfo
|
||||
|
||||
mov eax,[esi+process_information.box.left]
|
||||
mov ebx,[esi+process_information.box.top]
|
||||
mov ecx,[esi+process_information.box.width]
|
||||
mov edx,[esi+process_information.box.height]
|
||||
mov eax,[procinfo.box.left]
|
||||
mov ebx,[procinfo.box.top]
|
||||
mov ecx,[procinfo.box.width]
|
||||
mov edx,[procinfo.box.height]
|
||||
mov [Window_CordinatX],eax
|
||||
mov [Window_CordinatY],ebx
|
||||
|
||||
@@ -23,6 +22,20 @@ drawwin:
|
||||
@@:
|
||||
mov [Window_SizeX],ecx
|
||||
mov [Window_SizeY],edx
|
||||
; keep the size alone for a rolled up window
|
||||
test [procinfo.wnd_state],byte 100b
|
||||
jnz .no_change
|
||||
cmp ecx,[procinfo.box.width]
|
||||
jne @f
|
||||
cmp edx,[procinfo.box.height]
|
||||
jz .no_change
|
||||
@@:
|
||||
push ecx edx esi
|
||||
mov esi,edx
|
||||
mov edx,ecx
|
||||
mcall SF_CHANGE_WINDOW, -1, -1
|
||||
pop esi edx ecx
|
||||
.no_change:
|
||||
mov [MaxWorkScreen_SizeX],ecx
|
||||
mov [MaxWorkScreen_SizeY],edx
|
||||
sub [MaxWorkScreen_SizeX],ci_edit_wnd_x_pos+2*ci_edit_wnd_border\
|
||||
@@ -51,7 +64,7 @@ no_znak2:
|
||||
add ecx, [Window_SizeY]
|
||||
mcall SF_CREATE_WINDOW,,,0x73aabbcc,,name_of_program
|
||||
|
||||
mov eax,[procinfo+70] ;staus of window
|
||||
movzx eax,byte [procinfo.wnd_state]
|
||||
test eax,100b
|
||||
jne .end
|
||||
|
||||
@@ -81,7 +94,7 @@ no_znak2:
|
||||
add ebx,ci_edit_wnd_x_pos+ci_edit_wnd_border
|
||||
mov edx,[Window_SizeX]
|
||||
sub edx,ebx
|
||||
sub edx,ci_scroll_dim+5-ci_edit_wnd_border
|
||||
sub edx,ci_scroll_dim+5+ci_edit_wnd_border
|
||||
shl ebx,16
|
||||
mov bx,dx ;ширина бордюра
|
||||
|
||||
@@ -113,23 +126,6 @@ no_znak2:
|
||||
;------------------------------------------------
|
||||
mcall ,,<ci_edit_wnd_y_pos,ci_edit_wnd_border> ;бордюр под панелью и над окном
|
||||
;------------------------------------------------
|
||||
mov eax,ci_edit_wnd_x_pos
|
||||
mov ebx,[Window_SizeY]
|
||||
mov ecx,[Window_SizeX]
|
||||
mov edx,ci_scroll_dim
|
||||
mov esi,3
|
||||
sub ecx,ci_scroll_dim+5+ci_edit_wnd_x_pos+ci_offs_skin_w
|
||||
sub ebx,ci_scroll_dim+5+ci_offs_skin_h
|
||||
call draw_volume_rectangle ; horizontal scrollbar border
|
||||
;------------------------------------------------
|
||||
mov eax,[Window_SizeX]
|
||||
mov ebx,ci_edit_wnd_y_pos
|
||||
mov ecx,ci_scroll_dim
|
||||
mov edx,[Window_SizeY]
|
||||
mov esi,3
|
||||
sub eax,ci_scroll_dim+5+ci_offs_skin_w
|
||||
sub edx,ci_scroll_dim+5+ci_edit_wnd_y_pos+ci_offs_skin_h
|
||||
call draw_volume_rectangle ; vertical scrollbar border
|
||||
call draw_scrollers
|
||||
;------------------------------------------------
|
||||
mov eax,[Window_SizeX]
|
||||
|
||||
@@ -2,12 +2,14 @@
|
||||
system_dir_1: db '/sys/lib/libimg.obj',0
|
||||
system_dir_2 db '/sys/lib/proc_lib.obj',0
|
||||
system_dir_3: db '/sys/lib/kmenu.obj',0
|
||||
system_dir_4: db '/sys/lib/box_lib.obj',0
|
||||
;---------------------------------------------------------------------
|
||||
align 4
|
||||
l_libs_start:
|
||||
lib1 l_libs system_dir_1+9, library_path, system_dir_1, import_libimg
|
||||
lib2 l_libs system_dir_2+9, library_path, system_dir_2, ProcLib_import
|
||||
lib3 l_libs system_dir_3+9, library_path, system_dir_3, import_libkmenu
|
||||
lib4 l_libs system_dir_4+9, library_path, system_dir_4, import_box_lib
|
||||
end_l_libs:
|
||||
;---------------------------------------------------------------------
|
||||
align 4
|
||||
@@ -79,51 +81,7 @@ colordialog_path:
|
||||
|
||||
path4 db '/sys/noname.bmp',0
|
||||
;---------------------------------------------------------------------
|
||||
align 4
|
||||
import_libimg:
|
||||
dd alib_init1
|
||||
img_is_img dd aimg_is_img
|
||||
img_info dd aimg_info
|
||||
img_from_file dd aimg_from_file
|
||||
img_to_file dd aimg_to_file
|
||||
img_from_rgb dd aimg_from_rgb
|
||||
img_to_rgb dd aimg_to_rgb
|
||||
img_to_rgb2 dd aimg_to_rgb2
|
||||
img_decode dd aimg_decode
|
||||
img_encode dd aimg_encode
|
||||
img_create dd aimg_create
|
||||
img_destroy dd aimg_destroy
|
||||
img_destroy_layer dd aimg_destroy_layer
|
||||
img_count dd aimg_count
|
||||
img_lock_bits dd aimg_lock_bits
|
||||
img_unlock_bits dd aimg_unlock_bits
|
||||
img_flip dd aimg_flip
|
||||
img_flip_layer dd aimg_flip_layer
|
||||
img_rotate dd aimg_rotate
|
||||
img_rotate_layer dd aimg_rotate_layer
|
||||
img_draw dd aimg_draw
|
||||
dd 0,0
|
||||
alib_init1 db 'lib_init',0
|
||||
aimg_is_img db 'img_is_img',0
|
||||
aimg_info db 'img_info',0
|
||||
aimg_from_file db 'img_from_file',0
|
||||
aimg_to_file db 'img_to_file',0
|
||||
aimg_from_rgb db 'img_from_rgb',0
|
||||
aimg_to_rgb db 'img_to_rgb',0
|
||||
aimg_to_rgb2 db 'img_to_rgb2',0
|
||||
aimg_decode db 'img_decode',0
|
||||
aimg_encode db 'img_encode',0
|
||||
aimg_create db 'img_create',0
|
||||
aimg_destroy db 'img_destroy',0
|
||||
aimg_destroy_layer db 'img_destroy_layer',0
|
||||
aimg_count db 'img_count',0
|
||||
aimg_lock_bits db 'img_lock_bits',0
|
||||
aimg_unlock_bits db 'img_unlock_bits',0
|
||||
aimg_flip db 'img_flip',0
|
||||
aimg_flip_layer db 'img_flip_layer',0
|
||||
aimg_rotate db 'img_rotate',0
|
||||
aimg_rotate_layer db 'img_rotate_layer',0
|
||||
aimg_draw db 'img_draw',0
|
||||
include '../../develop/libraries/libs-dev/libimg/import.inc'
|
||||
|
||||
align 4
|
||||
ProcLib_import:
|
||||
@@ -163,4 +121,6 @@ dd 0,0
|
||||
akmenuitem_new db 'kmenuitem_new',0
|
||||
akmenuitem_delete db 'kmenuitem_delete',0
|
||||
akmenuitem_draw db 'kmenuitem_draw',0
|
||||
|
||||
include '../../develop/libraries/box_lib/import.inc'
|
||||
;---------------------------------------------------------------------
|
||||
@@ -1,7 +1,7 @@
|
||||
;**********************************************************
|
||||
;------------------TEXT DATA-------------------------------
|
||||
;**********************************************************
|
||||
name_of_program db 'ANIMAGE graphics editor v1.52',0
|
||||
name_of_program db 'ANIMAGE graphics editor v1.53',0
|
||||
mouse_pos_x db 'X='
|
||||
mouse_pos_y db 'Y='
|
||||
new_text1 db 'PICTURE SIZE X'
|
||||
|
||||
@@ -58,18 +58,16 @@ PrintMousePos:
|
||||
;----------------------------------------------------------
|
||||
;------------draw lines of scoll---------------------------
|
||||
;----------------------------------------------------------
|
||||
align 4
|
||||
draw_scrollers:
|
||||
mov edi,[CounterX]
|
||||
mov eax,[Scroll1CoordinatX]
|
||||
mov ebx,[Window_SizeY]
|
||||
sub ebx,(ci_scroll_dim-3)+5+ci_offs_skin_h
|
||||
sub ebx,ci_scroll_dim+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
|
||||
sub ecx,ci_scroll_dim+2+ci_scrollh_coord_x_min+ci_offs_skin_w
|
||||
mov [sb_horizont.y_pos],bx
|
||||
mov [sb_horizont.max_area],ecx
|
||||
mov [sb_horizont.x_size],cx
|
||||
imul ecx,edi
|
||||
push eax ebx edx
|
||||
mov eax,ecx
|
||||
@@ -78,22 +76,15 @@ draw_scrollers:
|
||||
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 [sb_horizont.cur_area],ecx
|
||||
|
||||
mov eax,[Window_SizeX]
|
||||
sub eax,(ci_scroll_dim-3)+5+ci_offs_skin_w
|
||||
mov ebx,[Scroll2CoordinatY]
|
||||
mov ecx,ci_scroll_dim-6
|
||||
sub eax,ci_scroll_dim+5+ci_offs_skin_w
|
||||
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
|
||||
sub edx,ci_scroll_dim+2+ci_scrollv_coord_y_min+ci_offs_skin_h
|
||||
mov [sb_vertical.x_pos],ax
|
||||
mov [sb_vertical.max_area],edx
|
||||
mov [sb_vertical.y_size],dx
|
||||
|
||||
imul edx,[CounterY]
|
||||
push eax ebx
|
||||
@@ -103,12 +94,12 @@ draw_scrollers:
|
||||
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
|
||||
mov [sb_vertical.cur_area],edx
|
||||
|
||||
mov [sb_vertical.all_redraw],1
|
||||
stdcall [scrollbar_v_draw],sb_vertical
|
||||
mov [sb_horizont.all_redraw],1
|
||||
stdcall [scrollbar_h_draw],sb_horizont
|
||||
ret
|
||||
|
||||
button_menu_size_x dd 0
|
||||
|
||||
Reference in new issue
Block a user