forked from KolibriOS/kolibrios
new menu from lib,
new command redo, fix panel interface git-svn-id: svn://kolibrios.org@6359 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
a18a9cc46b
commit
a4fbf36547
@ -1,24 +1,31 @@
|
|||||||
;*******************************************************
|
;*******************************************************
|
||||||
;**************GRAPHICS EDITOR ANIMAGE *****************
|
;**************GRAPHICS EDITOR ANIMAGE *****************
|
||||||
;*******************************************************
|
;*******************************************************
|
||||||
; version: 1.4
|
; version: 1.5
|
||||||
; last update: 12/03/2016
|
; last update: 21.03.2016
|
||||||
; changes: Use library 'libimg.obj'
|
; changes: Use library 'kmenu.obj'
|
||||||
|
; autors: IgorA, Veliant
|
||||||
;--------------------------------------------------------
|
;--------------------------------------------------------
|
||||||
; version: 1.3
|
; version: 1.4
|
||||||
; last update: 05/10/2010
|
; last update: 12.03.2016
|
||||||
|
; changes: Use library 'libimg.obj'
|
||||||
|
; autors: IgorA
|
||||||
|
;--------------------------------------------------------
|
||||||
|
; version: 1.3
|
||||||
|
; last update: 05.10.2010
|
||||||
; written by: Marat Zakiyanov aka Mario79, aka Mario
|
; written by: Marat Zakiyanov aka Mario79, aka Mario
|
||||||
; changes: Fixed window flicker when redrawing,
|
; changes: Fixed window flicker when redrawing,
|
||||||
; Fixed memory leak for stack
|
; Fixed memory leak for stack
|
||||||
;--------------------------------------------------------
|
;--------------------------------------------------------
|
||||||
; version: 1.2
|
; version: 1.2
|
||||||
; last update: 30/09/2010
|
; last update: 30.09.2010
|
||||||
; written by: Marat Zakiyanov aka Mario79, aka Mario
|
; written by: Marat Zakiyanov aka Mario79, aka Mario
|
||||||
; changes: Program used function 68 instead 64 is now,
|
; changes: Program used function 68 instead 64 is now,
|
||||||
; select path with OpenDialog
|
; select path with OpenDialog
|
||||||
;--------------------------------------------------------
|
;--------------------------------------------------------
|
||||||
; version 1.1 year 9.12.2006
|
; version: 1.1
|
||||||
; AUTORS:
|
; last update: 09.12.2006
|
||||||
|
; autors:
|
||||||
; programming by andrew_programmer
|
; programming by andrew_programmer
|
||||||
; design by golus
|
; design by golus
|
||||||
|
|
||||||
@ -48,16 +55,23 @@ include '../../../libio.inc'
|
|||||||
; *** constants for interface ***
|
; *** constants for interface ***
|
||||||
|
|
||||||
; ª®à४â¨à®¢ª¨ ᪨
|
; ª®à४â¨à®¢ª¨ ᪨
|
||||||
ci_offs_skin_w equ 0 ; 5 ;ª®à४â¨à®¢ª è¨à¨ã à ¬ª¨ ᪨
|
ci_offs_skin_w equ 5 ;ª®à४â¨à®¢ª è¨à¨ã à ¬ª¨ ᪨
|
||||||
ci_offs_skin_h equ 0 ;24 ;ª®à४â¨à®¢ª ¢ëá®âã ᪨
|
ci_offs_skin_h equ 24 ;ª®à४â¨à®¢ª ¢ëá®âã ᪨
|
||||||
|
|
||||||
; £« ¢®¥ ®ª®
|
; £« ¢®¥ ®ª®
|
||||||
ci_wnd_min_siz_x equ 585 ;minimum size x
|
ci_wnd_min_siz_x equ 585 ;minimum size x
|
||||||
ci_wnd_min_siz_y equ 400 ;minimum size y
|
ci_wnd_min_siz_y equ 400 ;minimum size y
|
||||||
|
|
||||||
|
; ¯ ¥«ì ¨áâà㬥⮢
|
||||||
|
ci_panel_x_pos equ 0 ;ª®®à¤¨ â x ¤«ï ¯ ¥«¨
|
||||||
|
ci_panel_y_pos equ 20 ;ª®®à¤¨ â y ¤«ï ¯ ¥«¨
|
||||||
|
ci_panel_but_y1 equ ci_panel_y_pos +5 ;ª®®à¤¨ â y ¤«ï 1-£® àï¤ ª®¯®ª
|
||||||
|
ci_panel_but_y2 equ ci_panel_y_pos+30 ;ª®®à¤¨ â y ¤«ï 2-£® àï¤ ª®¯®ª
|
||||||
|
ci_palete_y_pos equ ci_panel_y_pos+51 ;ª®®à¤¨ â y ¤«ï ¯ «¨âàë 梥⮢
|
||||||
|
|
||||||
; ®ª® । ªâ®à
|
; ®ª® । ªâ®à
|
||||||
ci_edit_wnd_x_pos equ 5 ;ª®®à¤¨ â x ¤«ï ®ª । ªâ®à
|
ci_edit_wnd_x_pos equ 0 ;ª®®à¤¨ â x ¤«ï ®ª । ªâ®à
|
||||||
ci_edit_wnd_y_pos equ 87 ;ª®®à¤¨ â y ¤«ï ®ª । ªâ®à
|
ci_edit_wnd_y_pos equ 71 ;ª®®à¤¨ â y ¤«ï ®ª । ªâ®à
|
||||||
ci_edit_wnd_border equ 3 ;à ¬ª ¢®ªà㣠®ª । ªâ®à
|
ci_edit_wnd_border equ 3 ;à ¬ª ¢®ªà㣠®ª । ªâ®à
|
||||||
|
|
||||||
; áªà®««¨£¨
|
; áªà®««¨£¨
|
||||||
@ -79,6 +93,7 @@ include 'load_from_parameters.inc'
|
|||||||
|
|
||||||
START:
|
START:
|
||||||
mcall SF_SYS_MISC,SSF_HEAP_INIT
|
mcall SF_SYS_MISC,SSF_HEAP_INIT
|
||||||
|
mcall SF_STYLE_SETTINGS, SSF_GET_COLORS, syscolors, syscolors_end-syscolors
|
||||||
|
|
||||||
load_libraries l_libs_start,end_l_libs
|
load_libraries l_libs_start,end_l_libs
|
||||||
|
|
||||||
@ -97,6 +112,7 @@ include 'init_data.inc'
|
|||||||
call GetMemory
|
call GetMemory
|
||||||
call cleare_work_arrea
|
call cleare_work_arrea
|
||||||
call load_icons
|
call load_icons
|
||||||
|
call init_main_menu
|
||||||
|
|
||||||
;load cursors
|
;load cursors
|
||||||
mov eax,CursorsID
|
mov eax,CursorsID
|
||||||
@ -177,6 +193,7 @@ include 'string.inc'
|
|||||||
include 'palette.inc'
|
include 'palette.inc'
|
||||||
include 'files.inc'
|
include 'files.inc'
|
||||||
include 'time.inc'
|
include 'time.inc'
|
||||||
|
include 'menu.inc'
|
||||||
;-----------------------------------------------------------
|
;-----------------------------------------------------------
|
||||||
;------------variables and data of program------------------
|
;------------variables and data of program------------------
|
||||||
;-----------------------------------------------------------
|
;-----------------------------------------------------------
|
||||||
@ -337,6 +354,9 @@ temp_dir_pach rb 4096
|
|||||||
library_path rb 4096
|
library_path rb 4096
|
||||||
cur_dir_path rb 4096
|
cur_dir_path rb 4096
|
||||||
procinfo: rb 1024
|
procinfo: rb 1024
|
||||||
|
align 4
|
||||||
|
syscolors rb 192
|
||||||
|
syscolors_end:
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
align 4
|
align 4
|
||||||
rb 4096
|
rb 4096
|
||||||
|
@ -13,10 +13,11 @@ draw_volume_rectangle:
|
|||||||
cmp esi,1
|
cmp esi,1
|
||||||
jne no_volume_light_rectangle
|
jne no_volume_light_rectangle
|
||||||
|
|
||||||
mov [color_rectangle],0xc7cbcf
|
;mov esi,dword[syscolors+20]
|
||||||
|
mov [color_rectangle],0xc7cbcf ;esi
|
||||||
mov [color_line1],0xaeabae
|
mov [color_line1],0xaeabae
|
||||||
mov [color_line2],0xffffff
|
mov [color_line2],0xffffff
|
||||||
mov [color_line3],0xc7cbcf
|
mov [color_line3],0xc7cbcf ;esi
|
||||||
jmp exit_colors
|
jmp exit_colors
|
||||||
;----------------------------------------------------------
|
;----------------------------------------------------------
|
||||||
no_volume_light_rectangle:
|
no_volume_light_rectangle:
|
||||||
@ -33,7 +34,8 @@ no_pressed_rectangle:
|
|||||||
cmp esi,3
|
cmp esi,3
|
||||||
jne no_pressed_panel
|
jne no_pressed_panel
|
||||||
|
|
||||||
mov [color_rectangle],0xc7cbcf
|
mov esi,dword[syscolors+20]
|
||||||
|
mov [color_rectangle],esi
|
||||||
mov [color_line1],0xaeabae
|
mov [color_line1],0xaeabae
|
||||||
mov [color_line2],7000
|
mov [color_line2],7000
|
||||||
mov [color_line3],0xffffff
|
mov [color_line3],0xffffff
|
||||||
@ -63,20 +65,22 @@ no_light_pressed_rectangle:
|
|||||||
cmp esi,6
|
cmp esi,6
|
||||||
jne no_work_rectangle
|
jne no_work_rectangle
|
||||||
|
|
||||||
mov [color_rectangle],0xc7cbcf
|
mov esi,dword[syscolors+20]
|
||||||
|
mov [color_rectangle],esi
|
||||||
mov [color_line1],0xaeabae
|
mov [color_line1],0xaeabae
|
||||||
mov [color_line2],0xc7cbcf
|
mov [color_line2],esi
|
||||||
mov [color_line3],0xc7cbcf
|
mov [color_line3],esi
|
||||||
jmp exit_colors
|
jmp exit_colors
|
||||||
;----------------------------------------------------------
|
;----------------------------------------------------------
|
||||||
no_work_rectangle:
|
no_work_rectangle:
|
||||||
cmp esi,7
|
cmp esi,7
|
||||||
jne no_work_rectangle_2
|
jne no_work_rectangle_2
|
||||||
|
|
||||||
mov [color_rectangle],0xc7cbcf
|
mov esi,dword[syscolors+20]
|
||||||
mov [color_line1],0xc7cbcf
|
mov [color_rectangle],esi
|
||||||
mov [color_line2],0xc7cbcf
|
mov [color_line1],esi
|
||||||
mov [color_line3],0xc7cbcf
|
mov [color_line2],esi
|
||||||
|
mov [color_line3],esi
|
||||||
jmp exit_colors
|
jmp exit_colors
|
||||||
;----------------------------------------------------------
|
;----------------------------------------------------------
|
||||||
no_work_rectangle_2:
|
no_work_rectangle_2:
|
||||||
|
@ -14,16 +14,27 @@ dialog_line:
|
|||||||
call print_line
|
call print_line
|
||||||
call print_cursor
|
call print_cursor
|
||||||
|
|
||||||
opros:
|
opros:
|
||||||
mcall SF_WAIT_EVENT
|
mcall SF_SLEEP, 5 ;fix cpu use 100%
|
||||||
|
mcall SF_WAIT_EVENT
|
||||||
|
|
||||||
cmp eax,1 ;redraw window
|
cmp eax,1 ;redraw window
|
||||||
je exit_cycle
|
jne @f
|
||||||
cmp eax,3 ;press button
|
call dialog2_draw
|
||||||
je exit_cycle
|
|
||||||
|
|
||||||
cmp eax,2 ;press key
|
mov ebx,[string_x]
|
||||||
jne opros
|
shl ebx,16
|
||||||
|
add ebx,[string_y]
|
||||||
|
mov edx,string_
|
||||||
|
mov esi,[MaxSizeString]
|
||||||
|
mcall SF_DRAW_TEXT,,0
|
||||||
|
jmp opros
|
||||||
|
@@:
|
||||||
|
cmp eax,3 ;press button
|
||||||
|
je exit_cycle
|
||||||
|
|
||||||
|
cmp eax,2 ;press key
|
||||||
|
jne opros
|
||||||
|
|
||||||
mcall SF_GET_KEY
|
mcall SF_GET_KEY
|
||||||
shr eax,8
|
shr eax,8
|
||||||
@ -152,9 +163,13 @@ position dd 0
|
|||||||
MaxSizeString dd 0
|
MaxSizeString dd 0
|
||||||
string_x dd 0
|
string_x dd 0
|
||||||
string_y dd 0
|
string_y dd 0
|
||||||
;**********************************************************
|
|
||||||
;----------------------------------------------------------
|
;----------------------------------------------------------
|
||||||
value:
|
;input:
|
||||||
|
; eax - pointer to string
|
||||||
|
;output:
|
||||||
|
; eax - value
|
||||||
|
str_to_int:
|
||||||
xor edx,edx
|
xor edx,edx
|
||||||
cycle_value_:
|
cycle_value_:
|
||||||
xor ebx,ebx
|
xor ebx,ebx
|
||||||
@ -232,5 +247,58 @@ string_y dd 0
|
|||||||
error:
|
error:
|
||||||
mov eax,edx
|
mov eax,edx
|
||||||
ret
|
ret
|
||||||
|
|
||||||
;----------------------------------------------------------
|
;----------------------------------------------------------
|
||||||
|
align 4
|
||||||
|
dialog2_draw:
|
||||||
|
mov eax,80
|
||||||
|
mov ebx,100
|
||||||
|
mov ecx,150
|
||||||
|
mov edx,90
|
||||||
|
mov esi,1
|
||||||
|
call draw_volume_rectangle ; dialog 'file new'
|
||||||
|
|
||||||
|
mov eax,177
|
||||||
|
mov ebx,115
|
||||||
|
mov ecx,40
|
||||||
|
mov edx,14
|
||||||
|
mov esi,4
|
||||||
|
call draw_volume_rectangle
|
||||||
|
|
||||||
|
mov eax,177
|
||||||
|
mov ebx,115+24
|
||||||
|
mov ecx,40
|
||||||
|
mov edx,14
|
||||||
|
mov esi,4
|
||||||
|
call draw_volume_rectangle
|
||||||
|
|
||||||
|
mov eax,177
|
||||||
|
mov ebx,170
|
||||||
|
mov ecx,40
|
||||||
|
mov edx,15
|
||||||
|
mov esi,1
|
||||||
|
call draw_volume_rectangle ; button [Ok]
|
||||||
|
|
||||||
|
mov eax,90
|
||||||
|
mov ebx,118
|
||||||
|
mov ecx,0xffffff
|
||||||
|
mov edx,new_text1
|
||||||
|
mov esi,14
|
||||||
|
call print_text
|
||||||
|
|
||||||
|
mov eax,90
|
||||||
|
mov ebx,118+24
|
||||||
|
mov ecx,0xffffff
|
||||||
|
mov edx,new_text2
|
||||||
|
mov esi,14
|
||||||
|
call print_text
|
||||||
|
|
||||||
|
mov eax,185
|
||||||
|
mov ebx,175
|
||||||
|
mov ecx,0xffffff
|
||||||
|
mov edx,ok_text
|
||||||
|
mov esi,2
|
||||||
|
call print_text
|
||||||
|
ret
|
||||||
|
|
||||||
length_number dd 0
|
length_number dd 0
|
@ -4,40 +4,30 @@
|
|||||||
buttons:
|
buttons:
|
||||||
|
|
||||||
cmp [Current_instrument],21
|
cmp [Current_instrument],21
|
||||||
jne no_finish_instrument_button
|
jne @f
|
||||||
|
|
||||||
cmp [instrument_used],1
|
cmp [instrument_used],1
|
||||||
jne no_finish_instrument_button
|
jne @f
|
||||||
|
|
||||||
cmp [Activate_instrument],0
|
cmp [Activate_instrument],0
|
||||||
jne no_finish_instrument_button
|
jne @f
|
||||||
|
|
||||||
cmp [crossing],1
|
cmp [crossing],1
|
||||||
jne no_finish_instrument_button
|
jne @f
|
||||||
|
mov [finishing_crossing],1
|
||||||
|
call TakeButtonInstruments
|
||||||
|
@@:
|
||||||
|
|
||||||
mov [finishing_crossing],1
|
mcall SF_GET_BUTTON
|
||||||
call TakeButtonInstruments
|
|
||||||
|
|
||||||
no_finish_instrument_button:
|
|
||||||
|
|
||||||
mov eax,17
|
|
||||||
mcall
|
|
||||||
|
|
||||||
shr eax,8
|
shr eax,8
|
||||||
|
|
||||||
cmp eax,1
|
cmp eax,1
|
||||||
jne no_exit
|
jne no_exit
|
||||||
|
mov eax,CursorsID
|
||||||
mov eax,CursorsID
|
call delete_cursors
|
||||||
call delete_cursors
|
mcall SF_TERMINATE_PROCESS
|
||||||
|
|
||||||
or eax,-1
|
|
||||||
mcall
|
|
||||||
|
|
||||||
no_exit:
|
no_exit:
|
||||||
|
|
||||||
|
|
||||||
mov [Current_instrument],eax
|
mov [Current_instrument],eax
|
||||||
|
call button_handler_main_menu
|
||||||
|
|
||||||
; set cursor for current instrument
|
; set cursor for current instrument
|
||||||
pushad
|
pushad
|
||||||
@ -48,8 +38,6 @@ buttons:
|
|||||||
call set_cursor
|
call set_cursor
|
||||||
popad
|
popad
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
cmp eax,10
|
cmp eax,10
|
||||||
jl still
|
jl still
|
||||||
|
|
||||||
|
@ -2,6 +2,8 @@
|
|||||||
;-------------interraction MOUSE--------------
|
;-------------interraction MOUSE--------------
|
||||||
;---------------------------------------------
|
;---------------------------------------------
|
||||||
mouse:
|
mouse:
|
||||||
|
stdcall [kmainmenu_dispatch_cursorevent], [main_menu]
|
||||||
|
|
||||||
or ecx,-1
|
or ecx,-1
|
||||||
mcall SF_THREAD_INFO,procinfo
|
mcall SF_THREAD_INFO,procinfo
|
||||||
|
|
||||||
@ -14,11 +16,11 @@ mouse:
|
|||||||
mov edx,[Window_SizeX]
|
mov edx,[Window_SizeX]
|
||||||
sub edx,5
|
sub edx,5
|
||||||
|
|
||||||
cmp ebx,20
|
;cmp ebx,0
|
||||||
jle no_panel
|
;jle no_panel
|
||||||
|
|
||||||
cmp ebx,20+15
|
cmp ebx,ci_panel_y_pos
|
||||||
jae no_panel
|
jae no_panel
|
||||||
|
|
||||||
cmp eax,5
|
cmp eax,5
|
||||||
jle no_panel
|
jle no_panel
|
||||||
@ -27,16 +29,12 @@ mouse:
|
|||||||
jae no_panel
|
jae no_panel
|
||||||
|
|
||||||
call GetMouseCoordinats
|
call GetMouseCoordinats
|
||||||
mov [counter],7
|
|
||||||
mov edi,panel_text
|
|
||||||
jmp panel_interraction
|
jmp panel_interraction
|
||||||
|
|
||||||
no_panel:
|
no_panel:
|
||||||
cmp [Panel_flag],0
|
cmp [Panel_flag],0
|
||||||
jz no_redraw_panel
|
jz no_redraw_panel
|
||||||
|
|
||||||
mov [counter],7
|
|
||||||
mov edi,panel_text
|
|
||||||
jmp panel_interraction
|
jmp panel_interraction
|
||||||
|
|
||||||
no_redraw_panel:
|
no_redraw_panel:
|
||||||
|
@ -51,31 +51,25 @@ no_znak2:
|
|||||||
shl ecx,16
|
shl ecx,16
|
||||||
add ebx, [Window_SizeX]
|
add ebx, [Window_SizeX]
|
||||||
add ecx, [Window_SizeY]
|
add ecx, [Window_SizeY]
|
||||||
mcall SF_CREATE_WINDOW,,,0x53aabbcc,,name_of_program
|
mcall SF_CREATE_WINDOW,,,0x73aabbcc,,name_of_program
|
||||||
|
|
||||||
mov eax,[procinfo+70] ;staus of window
|
mov eax,[procinfo+70] ;staus of window
|
||||||
test eax,100b
|
test eax,100b
|
||||||
jne .end
|
jne .end
|
||||||
|
|
||||||
;------------------------------------------------
|
;------------------------------------------------
|
||||||
mov eax,5
|
mov ebx,[Window_SizeX]
|
||||||
mov ebx,20
|
sub ebx,5+ci_panel_x_pos+ci_offs_skin_w-1
|
||||||
mov ecx,[Window_SizeX]
|
mcall SF_DRAW_RECT,,ci_panel_y_pos,dword[syscolors+20] ; ç¨á⪠¯®«®áë ¤«ï ¬¥î
|
||||||
mov edx,15
|
|
||||||
mov esi,6
|
|
||||||
sub ecx,10
|
|
||||||
call draw_volume_rectangle ; top menu - file and etc.
|
|
||||||
|
|
||||||
mov [counter],7
|
call put_main_menu
|
||||||
mov edi,panel_text
|
|
||||||
call print_panel_text
|
|
||||||
;------------------------------------------------
|
;------------------------------------------------
|
||||||
mov eax,5
|
mov eax,ci_panel_x_pos
|
||||||
mov ebx,20+15+1
|
mov ebx,ci_panel_y_pos
|
||||||
mov ecx,[Window_SizeX]
|
mov ecx,[Window_SizeX]
|
||||||
mov edx,50
|
mov edx,50
|
||||||
mov esi,1
|
mov esi,1
|
||||||
sub ecx,10
|
sub ecx,5+ci_panel_x_pos+ci_offs_skin_w
|
||||||
call draw_volume_rectangle ; tools panel
|
call draw_volume_rectangle ; tools panel
|
||||||
call draw_icons
|
call draw_icons
|
||||||
call PrintMousePos
|
call PrintMousePos
|
||||||
@ -97,7 +91,7 @@ no_znak2:
|
|||||||
shl ecx,16
|
shl ecx,16
|
||||||
mov cx,dx ;¢ëá®â ¡®à¤îà
|
mov cx,dx ;¢ëá®â ¡®à¤îà
|
||||||
|
|
||||||
mcall SF_DRAW_RECT,,,0xc7cbcf ;¡®à¤îà á¯à ¢ ®â ®ª ¯¥à¥¤ áªà®««¨£®¬
|
mcall SF_DRAW_RECT,,,dword[syscolors+20] ;¡®à¤îà á¯à ¢ ®â ®ª ¯¥à¥¤ áªà®««¨£®¬
|
||||||
;------------------------------------------------
|
;------------------------------------------------
|
||||||
mcall ,<ci_edit_wnd_x_pos,ci_edit_wnd_border> ;¡®à¤îà á«¥¢ ®â ®ª
|
mcall ,<ci_edit_wnd_x_pos,ci_edit_wnd_border> ;¡®à¤îà á«¥¢ ®â ®ª
|
||||||
;------------------------------------------------
|
;------------------------------------------------
|
||||||
@ -115,7 +109,7 @@ no_znak2:
|
|||||||
shl ecx,16
|
shl ecx,16
|
||||||
mov cx,dx ;¢ëá®â ¡®à¤îà
|
mov cx,dx ;¢ëá®â ¡®à¤îà
|
||||||
|
|
||||||
mcall SF_DRAW_RECT,,,0xc7cbcf ;¡®à¤îà ¯®¤ ®ª®¬ ¨ ¤ áªà®««¨£®¬
|
mcall SF_DRAW_RECT,,,dword[syscolors+20] ;¡®à¤îà ¯®¤ ®ª®¬ ¨ ¤ áªà®««¨£®¬
|
||||||
;------------------------------------------------
|
;------------------------------------------------
|
||||||
mcall ,,<ci_edit_wnd_y_pos,ci_edit_wnd_border> ;¡®à¤îà ¯®¤ ¯ ¥«ìî ¨ ¤ ®ª®¬
|
mcall ,,<ci_edit_wnd_y_pos,ci_edit_wnd_border> ;¡®à¤îà ¯®¤ ¯ ¥«ìî ¨ ¤ ®ª®¬
|
||||||
;------------------------------------------------
|
;------------------------------------------------
|
||||||
|
@ -11,9 +11,8 @@ load_icons:
|
|||||||
ret
|
ret
|
||||||
|
|
||||||
draw_icons:
|
draw_icons:
|
||||||
|
mov [Icon_X],ci_panel_x_pos+2
|
||||||
mov [Icon_X],7
|
mov [Icon_Y],ci_panel_y_pos+3
|
||||||
mov [Icon_Y],20+15+4
|
|
||||||
|
|
||||||
;draw panel picture
|
;draw panel picture
|
||||||
mov edx,[Icon_X]
|
mov edx,[Icon_X]
|
||||||
@ -28,13 +27,12 @@ draw_icons:
|
|||||||
;main buttons of instrumnts
|
;main buttons of instrumnts
|
||||||
|
|
||||||
and [counter],0
|
and [counter],0
|
||||||
mov [Icon_X],9
|
mov [Icon_X],ci_panel_x_pos+4
|
||||||
mov [Icon_Y],21+15+4+1
|
|
||||||
|
|
||||||
main_buttons:
|
main_buttons:
|
||||||
|
|
||||||
mov ebx,[Icon_X]
|
mov ebx,[Icon_X]
|
||||||
mov ecx,[Icon_Y]
|
mov ecx,ci_panel_but_y1
|
||||||
dec ebx
|
dec ebx
|
||||||
dec ecx
|
dec ecx
|
||||||
shl ebx,16
|
shl ebx,16
|
||||||
@ -57,13 +55,12 @@ draw_icons:
|
|||||||
;buttons of brushes(and lines width)
|
;buttons of brushes(and lines width)
|
||||||
and [counter],0
|
and [counter],0
|
||||||
|
|
||||||
mov [Icon_X],8+1
|
mov [Icon_X],ci_panel_x_pos+4
|
||||||
mov [Icon_Y],20+15+4+25+1
|
|
||||||
|
|
||||||
next_button_brush:
|
next_button_brush:
|
||||||
|
|
||||||
mov ebx,[Icon_X]
|
mov ebx,[Icon_X]
|
||||||
mov ecx,[Icon_Y]
|
mov ecx,ci_panel_but_y2
|
||||||
dec ebx
|
dec ebx
|
||||||
dec ecx
|
dec ecx
|
||||||
shl ebx,16
|
shl ebx,16
|
||||||
@ -85,13 +82,12 @@ draw_icons:
|
|||||||
;buttons of zoom
|
;buttons of zoom
|
||||||
and [counter],0
|
and [counter],0
|
||||||
|
|
||||||
mov [Icon_X],8+155+1
|
mov [Icon_X],ci_panel_x_pos+159
|
||||||
mov [Icon_Y],20+15+4+25+1
|
|
||||||
|
|
||||||
next_button_zoom:
|
next_button_zoom:
|
||||||
|
|
||||||
mov ebx,[Icon_X]
|
mov ebx,[Icon_X]
|
||||||
mov ecx,[Icon_Y]
|
mov ecx,ci_panel_but_y2
|
||||||
dec ebx
|
dec ebx
|
||||||
dec ecx
|
dec ecx
|
||||||
shl ebx,16
|
shl ebx,16
|
||||||
@ -111,11 +107,10 @@ draw_icons:
|
|||||||
|
|
||||||
|
|
||||||
; button of palette
|
; button of palette
|
||||||
mov [Icon_X],7+105+1
|
mov [Icon_X],ci_panel_x_pos+108
|
||||||
mov [Icon_Y],19+15+4+25+1
|
|
||||||
|
|
||||||
mov ebx,[Icon_X]
|
mov ebx,[Icon_X]
|
||||||
mov ecx,[Icon_Y]
|
mov ecx,ci_panel_but_y2-1
|
||||||
dec ebx
|
dec ebx
|
||||||
dec ecx
|
dec ecx
|
||||||
shl ebx,16
|
shl ebx,16
|
||||||
@ -127,11 +122,10 @@ draw_icons:
|
|||||||
mcall SF_DEFINE_BUTTON
|
mcall SF_DEFINE_BUTTON
|
||||||
|
|
||||||
; button of color
|
; button of color
|
||||||
mov [Icon_X],7+128+1
|
mov [Icon_X],ci_panel_x_pos+131
|
||||||
mov [Icon_Y],19+15+4+25+1
|
|
||||||
|
|
||||||
mov ebx,[Icon_X]
|
mov ebx,[Icon_X]
|
||||||
mov ecx,[Icon_Y]
|
mov ecx,ci_panel_but_y1-1
|
||||||
dec ebx
|
dec ebx
|
||||||
dec ecx
|
dec ecx
|
||||||
shl ebx,16
|
shl ebx,16
|
||||||
@ -142,6 +136,7 @@ draw_icons:
|
|||||||
add edx,1000000000000000000000000000000b
|
add edx,1000000000000000000000000000000b
|
||||||
mcall SF_DEFINE_BUTTON
|
mcall SF_DEFINE_BUTTON
|
||||||
|
|
||||||
mcall SF_DRAW_RECT, 136*65536+19,64*65536+19,[Color]
|
mcall SF_DRAW_RECT, ((ci_panel_x_pos+130) shl 16)+21,\
|
||||||
|
((ci_panel_y_pos+28) shl 16)+21, [Color]
|
||||||
|
|
||||||
ret
|
ret
|
||||||
|
@ -321,7 +321,8 @@ TakeButtonInstruments:
|
|||||||
and ebx,0xffffff
|
and ebx,0xffffff
|
||||||
mov [Color],ebx
|
mov [Color],ebx
|
||||||
|
|
||||||
mcall SF_DRAW_RECT, 136*65536+20, 65*65536+21, [Color]
|
mcall SF_DRAW_RECT, ((ci_panel_x_pos+130) shl 16)+21,\
|
||||||
|
((ci_panel_y_pos+28) shl 16)+21, [Color]
|
||||||
|
|
||||||
jmp still
|
jmp still
|
||||||
no_pipetka:
|
no_pipetka:
|
||||||
@ -618,13 +619,13 @@ TakeButtonInstruments:
|
|||||||
jne no_palette
|
jne no_palette
|
||||||
|
|
||||||
mov eax,20
|
mov eax,20
|
||||||
mov ebx,100
|
mov ebx,ci_palete_y_pos
|
||||||
mov ecx,32*10+32*5+7
|
mov ecx,32*10+32*5+7
|
||||||
mov edx,8*10+7*10
|
mov edx,140
|
||||||
mov esi,1
|
mov esi,1
|
||||||
call draw_volume_rectangle
|
call draw_volume_rectangle
|
||||||
mov [x],20+5
|
mov [x],20+5
|
||||||
mov [y],100+10
|
mov [y],ci_palete_y_pos+10
|
||||||
mov edi,256
|
mov edi,256
|
||||||
xor esi,esi
|
xor esi,esi
|
||||||
next_rectangle:
|
next_rectangle:
|
||||||
@ -675,7 +676,7 @@ TakeButtonInstruments:
|
|||||||
jz wait_events
|
jz wait_events
|
||||||
call GetMouseCoordinats
|
call GetMouseCoordinats
|
||||||
mov [x],20+5
|
mov [x],20+5
|
||||||
mov [y],100+10
|
mov [y],ci_palete_y_pos+10
|
||||||
mov [counter],0
|
mov [counter],0
|
||||||
next_rectangle_column:
|
next_rectangle_column:
|
||||||
mov eax,[x]
|
mov eax,[x]
|
||||||
|
169
programs/media/animage/trunk/menu.inc
Normal file
169
programs/media/animage/trunk/menu.inc
Normal file
@ -0,0 +1,169 @@
|
|||||||
|
KMENUITEM_NORMAL equ 0
|
||||||
|
KMENUITEM_SUBMENU equ 1
|
||||||
|
KMENUITEM_SEPARATOR equ 2
|
||||||
|
|
||||||
|
init_main_menu:
|
||||||
|
stdcall [kmenu_init], syscolors
|
||||||
|
|
||||||
|
stdcall [ksubmenu_new]
|
||||||
|
mov [main_menu], eax
|
||||||
|
|
||||||
|
stdcall [ksubmenu_new]
|
||||||
|
mov [main_menu_file], eax
|
||||||
|
stdcall [ksubmenu_new]
|
||||||
|
mov [main_menu_edit], eax
|
||||||
|
stdcall [ksubmenu_new]
|
||||||
|
mov [main_menu_instr], eax
|
||||||
|
|
||||||
|
; init 'File' menu
|
||||||
|
stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_File_New, 0x71
|
||||||
|
stdcall [ksubmenu_add], [main_menu_file], eax
|
||||||
|
stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_File_Open, 0x72
|
||||||
|
stdcall [ksubmenu_add], [main_menu_file], eax
|
||||||
|
stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_File_Save, 0x73
|
||||||
|
stdcall [ksubmenu_add], [main_menu_file], eax
|
||||||
|
stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_File_SaveAs, 0x74
|
||||||
|
stdcall [ksubmenu_add], [main_menu_file], eax
|
||||||
|
stdcall [kmenuitem_new], KMENUITEM_SEPARATOR, 0, 0
|
||||||
|
stdcall [ksubmenu_add], [main_menu_file], eax
|
||||||
|
stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_File_Exit, 0x75
|
||||||
|
stdcall [ksubmenu_add], [main_menu_file], eax
|
||||||
|
|
||||||
|
; add 'File' menu to main
|
||||||
|
stdcall [kmenuitem_new], KMENUITEM_SUBMENU, sz_main_menu_File, [main_menu_file]
|
||||||
|
stdcall [ksubmenu_add], [main_menu], eax
|
||||||
|
|
||||||
|
; init 'Edit' menu
|
||||||
|
stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_Edit_Undo, 0x61
|
||||||
|
stdcall [ksubmenu_add], [main_menu_edit], eax
|
||||||
|
stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_Edit_Redo, 0x62
|
||||||
|
stdcall [ksubmenu_add], [main_menu_edit], eax
|
||||||
|
stdcall [kmenuitem_new], KMENUITEM_SEPARATOR, 0, 0
|
||||||
|
stdcall [ksubmenu_add], [main_menu_edit], eax
|
||||||
|
stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_Edit_Copy, 0x63
|
||||||
|
stdcall [ksubmenu_add], [main_menu_edit], eax
|
||||||
|
stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_Edit_Paste, 0x64
|
||||||
|
stdcall [ksubmenu_add], [main_menu_edit], eax
|
||||||
|
stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_Edit_Cut, 0x65
|
||||||
|
stdcall [ksubmenu_add], [main_menu_edit], eax
|
||||||
|
stdcall [kmenuitem_new], KMENUITEM_SEPARATOR, 0, 0
|
||||||
|
stdcall [ksubmenu_add], [main_menu_edit], eax
|
||||||
|
stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_Edit_ClS, 0x66
|
||||||
|
stdcall [ksubmenu_add], [main_menu_edit], eax
|
||||||
|
|
||||||
|
; add 'Edit' menu to main
|
||||||
|
stdcall [kmenuitem_new], KMENUITEM_SUBMENU, sz_main_menu_Edit, [main_menu_edit]
|
||||||
|
stdcall [ksubmenu_add], [main_menu], eax
|
||||||
|
|
||||||
|
; init 'Edit' menu
|
||||||
|
stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_Instr_Pencil, 0x51
|
||||||
|
stdcall [ksubmenu_add], [main_menu_instr], eax
|
||||||
|
|
||||||
|
; add 'Instruments' menu to main
|
||||||
|
stdcall [kmenuitem_new], KMENUITEM_SUBMENU, sz_main_menu_Instr, [main_menu_instr]
|
||||||
|
stdcall [ksubmenu_add], [main_menu], eax
|
||||||
|
|
||||||
|
ret
|
||||||
|
|
||||||
|
put_main_menu:
|
||||||
|
stdcall [kmainmenu_draw], [main_menu]
|
||||||
|
ret
|
||||||
|
|
||||||
|
button_handler_main_menu:
|
||||||
|
cmp eax, 0x71
|
||||||
|
jne @f
|
||||||
|
mov [number_panel], 7
|
||||||
|
mov [number_menu], 1
|
||||||
|
jmp TakeInstruments
|
||||||
|
@@:
|
||||||
|
cmp eax, 0x72
|
||||||
|
jne @f
|
||||||
|
mov [number_panel], 7
|
||||||
|
mov [number_menu], 2
|
||||||
|
jmp TakeInstruments
|
||||||
|
@@:
|
||||||
|
cmp eax, 0x73
|
||||||
|
jne @f
|
||||||
|
mov [number_panel], 7
|
||||||
|
mov [number_menu], 3
|
||||||
|
jmp TakeInstruments
|
||||||
|
@@:
|
||||||
|
cmp eax, 0x74
|
||||||
|
jne @f
|
||||||
|
mov [number_panel], 7
|
||||||
|
mov [number_menu], 4
|
||||||
|
jmp TakeInstruments
|
||||||
|
@@:
|
||||||
|
cmp eax, 0x75
|
||||||
|
jne @f
|
||||||
|
mov [number_panel], 7
|
||||||
|
mov [number_menu], 5
|
||||||
|
jmp TakeInstruments
|
||||||
|
@@:
|
||||||
|
cmp eax, 0x61
|
||||||
|
jne @f
|
||||||
|
mov [number_panel], 6
|
||||||
|
mov [number_menu], 1
|
||||||
|
jmp TakeInstruments
|
||||||
|
@@:
|
||||||
|
cmp eax, 0x62
|
||||||
|
jne @f
|
||||||
|
mov [number_panel], 6
|
||||||
|
mov [number_menu], 2
|
||||||
|
jmp TakeInstruments
|
||||||
|
@@:
|
||||||
|
cmp eax, 0x63
|
||||||
|
jne @f
|
||||||
|
mov [number_panel], 6
|
||||||
|
mov [number_menu], 3
|
||||||
|
jmp TakeInstruments
|
||||||
|
@@:
|
||||||
|
cmp eax, 0x64
|
||||||
|
jne @f
|
||||||
|
mov [number_panel], 6
|
||||||
|
mov [number_menu], 4
|
||||||
|
jmp TakeInstruments
|
||||||
|
@@:
|
||||||
|
cmp eax, 0x65
|
||||||
|
jne @f
|
||||||
|
mov [number_panel], 6
|
||||||
|
mov [number_menu], 5
|
||||||
|
jmp TakeInstruments
|
||||||
|
@@:
|
||||||
|
cmp eax, 0x66
|
||||||
|
jne @f
|
||||||
|
mov [number_panel], 6
|
||||||
|
mov [number_menu], 6
|
||||||
|
jmp TakeInstruments
|
||||||
|
@@:
|
||||||
|
cmp eax, 0x51
|
||||||
|
jne @f
|
||||||
|
mov [number_panel], 5
|
||||||
|
mov [number_menu], 1
|
||||||
|
jmp TakeInstruments
|
||||||
|
@@:
|
||||||
|
.end_handler:
|
||||||
|
ret
|
||||||
|
|
||||||
|
main_menu dd 0
|
||||||
|
main_menu_file dd 0
|
||||||
|
main_menu_edit dd 0
|
||||||
|
main_menu_instr dd 0
|
||||||
|
|
||||||
|
sz_main_menu_File db 'File', 0
|
||||||
|
sz_main_menu_File_New db 'New', 0
|
||||||
|
sz_main_menu_File_Open db 'Open', 0
|
||||||
|
sz_main_menu_File_Save db 'Save', 0
|
||||||
|
sz_main_menu_File_SaveAs db 'Save as', 0
|
||||||
|
sz_main_menu_File_Exit db 'Exit', 0
|
||||||
|
|
||||||
|
sz_main_menu_Edit db 'Edit', 0
|
||||||
|
sz_main_menu_Edit_Undo db 'Undo', 0
|
||||||
|
sz_main_menu_Edit_Redo db 'Redo', 0
|
||||||
|
sz_main_menu_Edit_Copy db 'Copy', 0
|
||||||
|
sz_main_menu_Edit_Paste db 'Paste', 0
|
||||||
|
sz_main_menu_Edit_Cut db 'Cut', 0
|
||||||
|
sz_main_menu_Edit_ClS db 'Clear screen', 0
|
||||||
|
|
||||||
|
sz_main_menu_Instr db 'Instruments', 0
|
||||||
|
sz_main_menu_Instr_Pencil db 'Pencil', 0
|
@ -6,76 +6,33 @@ TakeInstruments:
|
|||||||
cmp [number_panel],7
|
cmp [number_panel],7
|
||||||
jne no_file
|
jne no_file
|
||||||
|
|
||||||
;<<<<<NEW>>>>>>>
|
; <<< New >>>
|
||||||
cmp [number_menu],1
|
cmp [number_menu],1
|
||||||
jne no_new
|
jne no_new
|
||||||
|
|
||||||
mov eax,80
|
call dialog2_draw
|
||||||
mov ebx,100
|
|
||||||
mov ecx,150
|
|
||||||
mov edx,90
|
|
||||||
mov esi,1
|
|
||||||
call draw_volume_rectangle
|
|
||||||
|
|
||||||
mov eax,177
|
|
||||||
mov ebx,115
|
|
||||||
mov ecx,40
|
|
||||||
mov edx,14
|
|
||||||
mov esi,4
|
|
||||||
call draw_volume_rectangle
|
|
||||||
|
|
||||||
mov eax,177
|
|
||||||
mov ebx,115+24
|
|
||||||
mov ecx,40
|
|
||||||
mov edx,14
|
|
||||||
mov esi,4
|
|
||||||
call draw_volume_rectangle
|
|
||||||
|
|
||||||
mov eax,175
|
|
||||||
mov ebx,170
|
|
||||||
mov ecx,40
|
|
||||||
mov edx,15
|
|
||||||
mov esi,1
|
|
||||||
call draw_volume_rectangle
|
|
||||||
|
|
||||||
mov eax,90
|
|
||||||
mov ebx,118
|
|
||||||
mov ecx,0xffffff
|
|
||||||
mov edx,new_text1
|
|
||||||
mov esi,14
|
|
||||||
call print_text
|
|
||||||
|
|
||||||
mov eax,90
|
|
||||||
mov ebx,118+24
|
|
||||||
mov ecx,0xffffff
|
|
||||||
mov edx,new_text2
|
|
||||||
mov esi,14
|
|
||||||
call print_text
|
|
||||||
|
|
||||||
mov eax,185
|
|
||||||
mov ebx,175
|
|
||||||
mov ecx,0xffffff
|
|
||||||
mov edx,ok_text
|
|
||||||
mov esi,2
|
|
||||||
call print_text
|
|
||||||
|
|
||||||
mov edx,1000000000000000000000000000000b+1000
|
mov edx,1000000000000000000000000000000b+1000
|
||||||
mcall SF_DEFINE_BUTTON,<177,40>,<115,14>,
|
mcall SF_DEFINE_BUTTON,<177,40>,<115,14>,
|
||||||
|
|
||||||
mov edx,1000000000000000000000000000000b+1001
|
mov edx,1000000000000000000000000000000b+1001
|
||||||
mcall ,,<139,14>,
|
mcall ,,<139,14>,
|
||||||
|
|
||||||
mov edx,1000000000000000000000000000000b+1002
|
mov edx,1000000000000000000000000000000b+1002
|
||||||
mcall ,<175,40>,<170,15>
|
mcall ,,<170,15>
|
||||||
|
|
||||||
no_activate_space:
|
no_activate_space:
|
||||||
|
mcall SF_SLEEP, 5 ;fix cpu use 100%
|
||||||
mcall SF_WAIT_EVENT
|
mcall SF_WAIT_EVENT
|
||||||
|
|
||||||
cmp eax,1
|
cmp eax,1 ;redraw window
|
||||||
je exit_new
|
jne @f
|
||||||
|
call dialog2_draw
|
||||||
|
jmp no_activate_space
|
||||||
|
@@:
|
||||||
|
|
||||||
cmp eax,3
|
cmp eax,3 ;press button
|
||||||
jne no_activate_space
|
jne no_activate_space
|
||||||
|
|
||||||
mcall SF_GET_BUTTON
|
mcall SF_GET_BUTTON
|
||||||
shr eax,8
|
shr eax,8
|
||||||
@ -98,7 +55,7 @@ no_activate_space:
|
|||||||
dec eax
|
dec eax
|
||||||
mov [length_number],eax
|
mov [length_number],eax
|
||||||
mov eax,string_
|
mov eax,string_
|
||||||
call value
|
call str_to_int
|
||||||
|
|
||||||
mov [Picture_SizeX],eax
|
mov [Picture_SizeX],eax
|
||||||
jmp no_activate_space
|
jmp no_activate_space
|
||||||
@ -119,7 +76,7 @@ no_picture_size_x:
|
|||||||
dec eax
|
dec eax
|
||||||
mov [length_number],eax
|
mov [length_number],eax
|
||||||
mov eax,string_
|
mov eax,string_
|
||||||
call value
|
call str_to_int
|
||||||
|
|
||||||
mov [Picture_SizeY],eax
|
mov [Picture_SizeY],eax
|
||||||
jmp no_activate_space
|
jmp no_activate_space
|
||||||
@ -130,27 +87,27 @@ no_picture_size_y:
|
|||||||
|
|
||||||
exit_new:
|
exit_new:
|
||||||
mov edx,11100000000000000000000000000000b+1002
|
mov edx,11100000000000000000000000000000b+1002
|
||||||
mcall SF_DEFINE_BUTTON,<175,40>,<170,15>
|
mcall SF_DEFINE_BUTTON,<177,40>,<170,15>
|
||||||
|
|
||||||
mov edx,11100000000000000000000000000000b+1001
|
mov edx,11100000000000000000000000000000b+1001
|
||||||
mcall ,<177,40>,<139,14>
|
mcall ,,<139,14>
|
||||||
|
|
||||||
mov edx,11100000000000000000000000000000b+1000
|
mov edx,11100000000000000000000000000000b+1000
|
||||||
mcall ,,<115,14>
|
mcall ,,<115,14>
|
||||||
|
|
||||||
;get memory for new picture
|
;get memory for new picture
|
||||||
call GetMemory
|
call GetMemory
|
||||||
|
|
||||||
and [save_flag],0
|
and [save_flag],0
|
||||||
and [number_panel],0
|
and [number_panel],0
|
||||||
and [number_menu],0
|
and [number_menu],0
|
||||||
|
|
||||||
call cleare_work_arrea
|
call cleare_work_arrea
|
||||||
call drawwin
|
call drawwin
|
||||||
jmp still
|
jmp still
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
no_new:
|
no_new:
|
||||||
;<<<<<OPEN>>>>>>>
|
; <<< Open >>>
|
||||||
cmp [number_menu],2
|
cmp [number_menu],2
|
||||||
jne no_open
|
jne no_open
|
||||||
|
|
||||||
@ -173,7 +130,7 @@ no_new:
|
|||||||
jmp still
|
jmp still
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
no_open:
|
no_open:
|
||||||
;<<<<<<<<<<<SAVE>>>>>>>>>>>>
|
; <<< Save >>>
|
||||||
cmp [number_menu],3
|
cmp [number_menu],3
|
||||||
jne no_save_
|
jne no_save_
|
||||||
|
|
||||||
@ -188,7 +145,7 @@ no_save_file:
|
|||||||
jmp still
|
jmp still
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
no_save_:
|
no_save_:
|
||||||
;<<<<<<<<<SAVE AS>>>>>>>>>>>
|
; <<< Save as >>>
|
||||||
cmp [number_menu],4
|
cmp [number_menu],4
|
||||||
jne no_save
|
jne no_save
|
||||||
|
|
||||||
@ -211,9 +168,7 @@ no_save_:
|
|||||||
pop esi eax
|
pop esi eax
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
mov [OpenDialog_data.type],1 ; save
|
mov [OpenDialog_data.type],1 ; save
|
||||||
|
stdcall [OpenDialog_Start],OpenDialog_data
|
||||||
push dword OpenDialog_data
|
|
||||||
call [OpenDialog_Start]
|
|
||||||
|
|
||||||
cmp [OpenDialog_data.status],1
|
cmp [OpenDialog_data.status],1
|
||||||
jne still
|
jne still
|
||||||
@ -222,7 +177,7 @@ save1:
|
|||||||
save_enter:
|
save_enter:
|
||||||
mcall SF_SET_EVENTS_MASK,0x80000027 ;100111b
|
mcall SF_SET_EVENTS_MASK,0x80000027 ;100111b
|
||||||
|
|
||||||
call analizing_picture_to_palette
|
call analizing_picture_to_palette
|
||||||
|
|
||||||
;eax => number of colors in picture
|
;eax => number of colors in picture
|
||||||
mov ebx,[PointerToPicture]
|
mov ebx,[PointerToPicture]
|
||||||
@ -251,7 +206,7 @@ save_enter:
|
|||||||
; jmp still
|
; jmp still
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
no_save:
|
no_save:
|
||||||
;<<<<<<EXIT>>>>>>>
|
; <<< Exit >>>
|
||||||
cmp [number_menu],5
|
cmp [number_menu],5
|
||||||
jne no_exit_program
|
jne no_exit_program
|
||||||
|
|
||||||
@ -260,10 +215,10 @@ no_save:
|
|||||||
no_exit_program:
|
no_exit_program:
|
||||||
no_file:
|
no_file:
|
||||||
;|||||||||||||||||||||||||||||EDIT|||||||||||||||||||||||||
|
;|||||||||||||||||||||||||||||EDIT|||||||||||||||||||||||||
|
||||||
;<<<<<<<<<<UNDO>>>>>>>>>>
|
|
||||||
cmp [number_panel],6
|
cmp [number_panel],6
|
||||||
jne still ;no_edit
|
jne no_edit
|
||||||
|
|
||||||
|
; <<< Undo >>>
|
||||||
cmp [number_menu],1
|
cmp [number_menu],1
|
||||||
jne no_undo
|
jne no_undo
|
||||||
|
|
||||||
@ -280,13 +235,35 @@ no_file:
|
|||||||
mov [PointerToCopyPicture2],eax
|
mov [PointerToCopyPicture2],eax
|
||||||
|
|
||||||
call MovePictureToWorkScreen
|
call MovePictureToWorkScreen
|
||||||
and [number_panel],0
|
and [number_panel],0
|
||||||
and [number_menu],0
|
and [number_menu],0
|
||||||
jmp still
|
jmp still
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
no_undo:
|
no_undo:
|
||||||
;<<<<<<<<<<COPY>>>>>>>>>>
|
; <<< Redo >>>
|
||||||
cmp [number_menu],2
|
cmp [number_menu],2
|
||||||
|
jne no_redo
|
||||||
|
|
||||||
|
cmp [number_undo],0
|
||||||
|
je no_redo
|
||||||
|
|
||||||
|
;rotate bufers +1
|
||||||
|
dec [number_undo]
|
||||||
|
mov eax,[PointerToPicture]
|
||||||
|
mov ebx,[PointerToCopyPicture]
|
||||||
|
mov ecx,[PointerToCopyPicture2]
|
||||||
|
mov [PointerToPicture],ecx
|
||||||
|
mov [PointerToCopyPicture],eax
|
||||||
|
mov [PointerToCopyPicture2],ebx
|
||||||
|
|
||||||
|
call MovePictureToWorkScreen
|
||||||
|
and [number_panel],0
|
||||||
|
and [number_menu],0
|
||||||
|
jmp still
|
||||||
|
;---------------------------------------------------------------------
|
||||||
|
no_redo:
|
||||||
|
; <<< Copy >>>
|
||||||
|
cmp [number_menu],3
|
||||||
jne no_copy
|
jne no_copy
|
||||||
|
|
||||||
cmp [instrument_used],1
|
cmp [instrument_used],1
|
||||||
@ -385,8 +362,8 @@ loop_fill_rectangle_x_copy:
|
|||||||
jmp still
|
jmp still
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
no_copy:
|
no_copy:
|
||||||
;<<<<<<<<<<PASTE>>>>>>>>
|
; <<< Paste >>>
|
||||||
cmp [number_menu],3
|
cmp [number_menu],4
|
||||||
jne no_paste
|
jne no_paste
|
||||||
|
|
||||||
cmp [instrument_used],1
|
cmp [instrument_used],1
|
||||||
@ -480,8 +457,8 @@ loop_fill_rectangle_x_paste:
|
|||||||
jmp still
|
jmp still
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
no_paste:
|
no_paste:
|
||||||
;<<<<<<<<<<CUT>>>>>>>>>>
|
; <<< Cut >>>
|
||||||
cmp [number_menu],4
|
cmp [number_menu],5
|
||||||
jne no_cut
|
jne no_cut
|
||||||
|
|
||||||
cmp [instrument_used],1
|
cmp [instrument_used],1
|
||||||
@ -573,8 +550,8 @@ loop_fill_rectangle_x:
|
|||||||
jmp still
|
jmp still
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
no_cut:
|
no_cut:
|
||||||
;<<<<<<CLEARE ALL>>>>>>
|
; <<< Cleare all >>>
|
||||||
cmp [number_menu],5
|
cmp [number_menu],6
|
||||||
jne no_cleare_all
|
jne no_cleare_all
|
||||||
|
|
||||||
call cleare_work_arrea
|
call cleare_work_arrea
|
||||||
@ -585,9 +562,9 @@ no_cut:
|
|||||||
jmp still
|
jmp still
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
no_cleare_all:
|
no_cleare_all:
|
||||||
;<<<<<<TO ALLOCATE ALL>>>>>>
|
; <<< To allocate all >>>
|
||||||
cmp [number_menu],6
|
cmp [number_menu],7
|
||||||
jne still ;no_to_allocate_all
|
jne still ;no_to_allocate_all
|
||||||
|
|
||||||
mov [OldX],1
|
mov [OldX],1
|
||||||
mov [OldY],1
|
mov [OldY],1
|
||||||
@ -608,6 +585,19 @@ no_cleare_all:
|
|||||||
jmp still
|
jmp still
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
;no_to_allocate_all:
|
;no_to_allocate_all:
|
||||||
;no_edit:
|
no_edit:
|
||||||
; jmp still
|
;|||||||||||||||||||||||||INSTRUMENTS||||||||||||||||||||||
|
||||||
|
cmp [number_panel],5
|
||||||
|
jne no_instruments
|
||||||
|
; <<< Pencil >>>
|
||||||
|
cmp [number_menu],1
|
||||||
|
jne no_pencil
|
||||||
|
|
||||||
|
; ... todo ...
|
||||||
|
|
||||||
|
and [number_panel],0
|
||||||
|
and [number_menu],0
|
||||||
|
no_pencil:
|
||||||
|
no_instruments:
|
||||||
|
jmp still
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
@ -1,93 +1,9 @@
|
|||||||
;**********************************************************
|
;**********************************************************
|
||||||
;------------------TEXT DATA-------------------------------
|
;------------------TEXT DATA-------------------------------
|
||||||
;**********************************************************
|
;**********************************************************
|
||||||
name_of_program db 'ANIMAGE graphics editor v1.4',0
|
name_of_program db 'ANIMAGE graphics editor v1.5',0
|
||||||
mouse_pos_x db 'X='
|
mouse_pos_x db 'X='
|
||||||
mouse_pos_y db 'Y='
|
mouse_pos_y db 'Y='
|
||||||
new_text1 db 'PICTURE SIZE X'
|
new_text1 db 'PICTURE SIZE X'
|
||||||
new_text2 db 'PICTURE SIZE Y'
|
new_text2 db 'PICTURE SIZE Y'
|
||||||
ok_text db 'OK'
|
ok_text db 'OK'
|
||||||
|
|
||||||
panel_text: dd 15,24,4
|
|
||||||
db 'File'
|
|
||||||
dd 65,24,4
|
|
||||||
db 'Edit'
|
|
||||||
dd 115,24,11
|
|
||||||
db 'Instruments'
|
|
||||||
dd 235,24,7
|
|
||||||
db 'Palette'
|
|
||||||
dd 315,24,7
|
|
||||||
db 'Filters'
|
|
||||||
dd 395,24,9
|
|
||||||
db 'Animation'
|
|
||||||
dd 495,24,5
|
|
||||||
db 'Help '
|
|
||||||
menu_text_en:
|
|
||||||
dd menu_text7
|
|
||||||
dd menu_text6
|
|
||||||
dd menu_text5
|
|
||||||
dd menu_text4
|
|
||||||
dd menu_text3
|
|
||||||
dd menu_text2
|
|
||||||
dd menu_text1
|
|
||||||
dd 0,0,0
|
|
||||||
|
|
||||||
menu_rectangles: dd 485,36,120,100
|
|
||||||
dd 385,36,120,100
|
|
||||||
dd 295,36,120,100
|
|
||||||
dd 225,36,120,100
|
|
||||||
dd 105,36,120,100
|
|
||||||
dd 55,36,120,100;20
|
|
||||||
dd 5,36,120,100
|
|
||||||
|
|
||||||
|
|
||||||
menu_text1:
|
|
||||||
dd 15,43,3
|
|
||||||
db 'New'
|
|
||||||
dd 15,63,4
|
|
||||||
db 'Open'
|
|
||||||
dd 15,83,4
|
|
||||||
db 'Save'
|
|
||||||
dd 15,103,7
|
|
||||||
db 'Save as'
|
|
||||||
dd 15,123,4
|
|
||||||
db 'Exit'
|
|
||||||
|
|
||||||
menu_text2:
|
|
||||||
dd 65,43,4
|
|
||||||
db 'Undo'
|
|
||||||
dd 65,63,4
|
|
||||||
db 'Copy'
|
|
||||||
dd 65,83,5
|
|
||||||
db 'Paste'
|
|
||||||
dd 65,103,3
|
|
||||||
db 'Cut'
|
|
||||||
dd 65,123,13
|
|
||||||
db 'Clear screen'
|
|
||||||
;dd 95,143,12
|
|
||||||
;db 'Allocate all'
|
|
||||||
menu_text3:
|
|
||||||
dd 115,43,3
|
|
||||||
db 0,0,0;'Pencil'
|
|
||||||
dd 115,63,3
|
|
||||||
db 0,0,0;'Brushes'
|
|
||||||
dd 115,83,3
|
|
||||||
db 0,0,0;'Colors'
|
|
||||||
dd 115,103,3
|
|
||||||
db 0,0,0;'Pipetka'
|
|
||||||
menu_text4:
|
|
||||||
dd 235,43,1
|
|
||||||
db 0,0,0
|
|
||||||
menu_text5:
|
|
||||||
dd 315,43,1
|
|
||||||
db 0,0,0
|
|
||||||
menu_text6:
|
|
||||||
dd 395,43,1
|
|
||||||
db 0,0,0
|
|
||||||
menu_text7:
|
|
||||||
dd 495,43,1
|
|
||||||
db 0,0,0,0
|
|
||||||
|
|
||||||
|
|
||||||
menu_counters:
|
|
||||||
dd 1,1,1,1,1,5,5
|
|
||||||
|
@ -2,76 +2,12 @@
|
|||||||
;-----interraction panel with user----------------
|
;-----interraction panel with user----------------
|
||||||
;-------------------------------------------------
|
;-------------------------------------------------
|
||||||
panel_interraction:
|
panel_interraction:
|
||||||
;>>>>>>>>>>>>>>>>>>>>>>>>>>
|
|
||||||
; mcall 18,14
|
|
||||||
|
|
||||||
and [Panel_flag],0
|
and [Panel_flag],0
|
||||||
;collision with text on panel
|
|
||||||
next_columnus_text:
|
|
||||||
mov eax,[edi]
|
|
||||||
mov ebx,[edi+4]
|
|
||||||
sub eax,10
|
|
||||||
sub ebx,3
|
|
||||||
mov [Icon_text_x],eax
|
|
||||||
mov [Icon_text_y],ebx
|
|
||||||
|
|
||||||
mov esi,[edi+8]
|
|
||||||
imul esi,10
|
|
||||||
mov [button_menu_size_x],esi
|
|
||||||
mov [button_menu_size_y],dword 13
|
|
||||||
|
|
||||||
mov esi,[edi+8]
|
|
||||||
add edi,4*3
|
|
||||||
add edi,esi
|
|
||||||
|
|
||||||
mov ecx,[MouseX]
|
|
||||||
mov edx,[MouseY]
|
|
||||||
|
|
||||||
push edi
|
|
||||||
mov edi,[button_menu_size_y]
|
|
||||||
mov esi,[button_menu_size_x]
|
|
||||||
call columnus
|
|
||||||
pop edi
|
|
||||||
|
|
||||||
mov esi,7
|
|
||||||
test eax,eax
|
|
||||||
jz no_columnus_text
|
|
||||||
|
|
||||||
mov esi,1
|
|
||||||
mov [Panel_flag],1
|
|
||||||
call GetMouseClick
|
|
||||||
test eax,eax
|
|
||||||
jz no_mouse_pressed
|
|
||||||
|
|
||||||
; mcall 18,14
|
|
||||||
|
|
||||||
jmp print_panel_menu
|
|
||||||
|
|
||||||
no_mouse_pressed:
|
|
||||||
no_columnus_text:
|
|
||||||
mov eax,[Icon_text_x]
|
|
||||||
mov ebx,[Icon_text_y]
|
|
||||||
mov ecx,[button_menu_size_x]
|
|
||||||
mov edx,[button_menu_size_y]
|
|
||||||
call draw_volume_rectangle
|
|
||||||
|
|
||||||
push [counter]
|
|
||||||
push edi
|
|
||||||
mov [counter],7
|
|
||||||
mov edi,panel_text
|
|
||||||
call print_panel_text
|
|
||||||
pop edi
|
|
||||||
pop [counter]
|
|
||||||
|
|
||||||
dec [counter]
|
|
||||||
jnz next_columnus_text
|
|
||||||
|
|
||||||
jmp still
|
jmp still
|
||||||
;---------------------------------------------------------
|
;---------------------------------------------------------
|
||||||
;-----draw panel menu(main engin of panel)----------------
|
;-----draw panel menu(main engin of panel)----------------
|
||||||
;---------------------------------------------------------
|
;---------------------------------------------------------
|
||||||
print_panel_menu:
|
print_panel_menu:
|
||||||
push [counter]
|
|
||||||
;delit main buttons(some time)
|
;delit main buttons(some time)
|
||||||
mov [counter],10
|
mov [counter],10
|
||||||
|
|
||||||
@ -83,7 +19,7 @@ next_icon_delit1:
|
|||||||
cmp [counter],30
|
cmp [counter],30
|
||||||
jl next_icon_delit1
|
jl next_icon_delit1
|
||||||
|
|
||||||
;delit buttons of brushes
|
;delit buttons of brushes
|
||||||
mov [counter],40
|
mov [counter],40
|
||||||
|
|
||||||
next_icon_delit2:
|
next_icon_delit2:
|
||||||
@ -94,7 +30,7 @@ next_icon_delit2:
|
|||||||
cmp [counter],45
|
cmp [counter],45
|
||||||
jl next_icon_delit2
|
jl next_icon_delit2
|
||||||
|
|
||||||
;delit buttons of zoom
|
;delit buttons of zoom
|
||||||
mov [counter],45
|
mov [counter],45
|
||||||
|
|
||||||
next_icon_delit3:
|
next_icon_delit3:
|
||||||
@ -115,144 +51,18 @@ next_icon_delit3:
|
|||||||
add edx,11100000000000000000000000000000b
|
add edx,11100000000000000000000000000000b
|
||||||
mcall SF_DEFINE_BUTTON
|
mcall SF_DEFINE_BUTTON
|
||||||
|
|
||||||
pop [counter]
|
|
||||||
|
|
||||||
push esi
|
|
||||||
mov esi,[counter]
|
|
||||||
dec esi
|
|
||||||
shl esi,4
|
|
||||||
|
|
||||||
mov eax,[menu_rectangles+esi]
|
|
||||||
mov ebx,[menu_rectangles+esi+4]
|
|
||||||
mov ecx,[menu_rectangles+esi+8]
|
|
||||||
mov edx,[menu_rectangles+esi+12]
|
|
||||||
mov esi,1
|
|
||||||
mov [menu_coordinat_x],eax
|
|
||||||
mov [menu_size_x],ecx
|
|
||||||
call draw_volume_rectangle
|
|
||||||
pop esi
|
|
||||||
|
|
||||||
calculate_counter_menu:
|
|
||||||
;calculate menu counter
|
|
||||||
mov eax,[counter]
|
|
||||||
dec eax
|
|
||||||
shl eax,2
|
|
||||||
mov ebx,[menu_counters+eax]
|
|
||||||
mov [counter_menu],ebx
|
|
||||||
|
|
||||||
call GetMouseCoordinats
|
|
||||||
|
|
||||||
and [menu_counter],0
|
|
||||||
|
|
||||||
push esi edi
|
|
||||||
;ᣫ ¦¨¢ ¨¥ ¨¬ 樨 >>>>>>>>>>>>>>>>>>
|
|
||||||
; mcall 18,4
|
|
||||||
|
|
||||||
menu_loop:
|
|
||||||
mov eax,[menu_coordinat_x]
|
|
||||||
mov ebx,36
|
|
||||||
mov ecx,[MouseX]
|
|
||||||
mov edx,[MouseY]
|
|
||||||
mov esi,[menu_size_x]
|
|
||||||
mov edi,18
|
|
||||||
add ebx,[menu_counter]
|
|
||||||
add eax,2
|
|
||||||
sub esi,3
|
|
||||||
inc ebx
|
|
||||||
call columnus
|
|
||||||
mov esi,7
|
|
||||||
|
|
||||||
test eax,eax
|
|
||||||
jz no_columnus_menu_text
|
|
||||||
|
|
||||||
mov esi,1
|
|
||||||
|
|
||||||
no_columnus_menu_text:
|
|
||||||
mov eax,[menu_coordinat_x]
|
|
||||||
mov ebx,36
|
|
||||||
mov ecx,[menu_size_x]
|
|
||||||
mov edx,18
|
|
||||||
add ebx,[menu_counter]
|
|
||||||
add eax,2
|
|
||||||
sub ecx,3
|
|
||||||
inc ebx
|
|
||||||
call draw_volume_rectangle
|
|
||||||
add [menu_counter],20
|
|
||||||
|
|
||||||
dec [counter_menu]
|
|
||||||
jnz menu_loop
|
|
||||||
|
|
||||||
;print menu text
|
|
||||||
push [counter]
|
|
||||||
mov esi,[counter]
|
|
||||||
dec esi
|
|
||||||
shl esi,2
|
|
||||||
mov edi,[menu_text_en+esi]
|
|
||||||
mov eax,[menu_counters+esi]
|
|
||||||
mov [counter],eax
|
|
||||||
call print_panel_text
|
|
||||||
pop [counter]
|
|
||||||
pop edi esi
|
|
||||||
|
|
||||||
|
|
||||||
menu_still:
|
|
||||||
mcall SF_WAIT_EVENT
|
|
||||||
mcall SF_GET_KEY
|
|
||||||
mcall SF_GET_BUTTON
|
|
||||||
call GetMouseClick
|
|
||||||
test eax,eax
|
|
||||||
jz calculate_counter_menu
|
|
||||||
|
|
||||||
call GetMouseCoordinats
|
call GetMouseCoordinats
|
||||||
;calculate menu counter
|
|
||||||
mov eax,[counter]
|
|
||||||
dec eax
|
|
||||||
shl eax,2
|
|
||||||
mov ebx,[menu_counters+eax]
|
|
||||||
mov [counter_menu],ebx
|
|
||||||
|
|
||||||
and [menu_counter],0
|
and [menu_counter],0
|
||||||
and [counter_11],0
|
and [counter_11],0
|
||||||
|
|
||||||
push esi edi
|
|
||||||
|
|
||||||
menu_loop2:
|
|
||||||
mov eax,[menu_coordinat_x]
|
|
||||||
mov ebx,36
|
|
||||||
mov ecx,[MouseX]
|
|
||||||
mov edx,[MouseY]
|
|
||||||
mov esi,[menu_size_x]
|
|
||||||
mov edi,18
|
|
||||||
add ebx,[menu_counter]
|
|
||||||
add eax,2
|
|
||||||
sub esi,3
|
|
||||||
inc ebx
|
|
||||||
call columnus
|
|
||||||
|
|
||||||
inc [counter_11]
|
|
||||||
test eax,eax
|
|
||||||
jz no_columnus_menu_text2
|
|
||||||
|
|
||||||
mov esi,[counter_11]
|
|
||||||
mov [number_menu],esi
|
|
||||||
|
|
||||||
no_columnus_menu_text2:
|
|
||||||
add [menu_counter],20
|
|
||||||
dec [counter_menu]
|
|
||||||
jnz menu_loop2
|
|
||||||
|
|
||||||
pop edi esi
|
|
||||||
|
|
||||||
mcall SF_SLEEP,15
|
mcall SF_SLEEP,15
|
||||||
|
|
||||||
push [counter]
|
|
||||||
pusha
|
pusha
|
||||||
call drawwin
|
call drawwin
|
||||||
popa
|
popa
|
||||||
pop [counter]
|
|
||||||
|
|
||||||
mov eax,[counter]
|
mov [number_panel],0
|
||||||
mov [number_panel],eax
|
|
||||||
|
|
||||||
jmp TakeInstruments
|
jmp TakeInstruments
|
||||||
|
|
||||||
@ -262,80 +72,58 @@ no_columnus_menu_text2:
|
|||||||
PrintMousePos:
|
PrintMousePos:
|
||||||
pushad
|
pushad
|
||||||
mov eax,[Window_SizeX]
|
mov eax,[Window_SizeX]
|
||||||
sub eax,75
|
sub eax,75+ci_offs_skin_w
|
||||||
mov ebx,20+15+6
|
mov ebx,ci_panel_y_pos+6
|
||||||
mov ecx,52
|
mov ecx,52
|
||||||
mov edx,18
|
mov edx,18
|
||||||
mov esi,4
|
mov esi,4
|
||||||
call draw_volume_rectangle ; border for mouse x pos
|
call draw_volume_rectangle ; border for mouse x pos
|
||||||
|
|
||||||
mov eax,[Window_SizeX]
|
mov eax,[Window_SizeX]
|
||||||
sub eax,75
|
sub eax,75+ci_offs_skin_w
|
||||||
mov ebx,20+15+6+18+2
|
mov ebx,ci_panel_y_pos+6+18+4
|
||||||
mov ecx,52
|
mov ecx,52
|
||||||
mov edx,18
|
mov edx,18
|
||||||
mov esi,4
|
mov esi,4
|
||||||
call draw_volume_rectangle ; border for mouse y pos
|
call draw_volume_rectangle ; border for mouse y pos
|
||||||
|
|
||||||
mov eax,[Window_SizeX]
|
mov eax,[Window_SizeX]
|
||||||
sub eax,70
|
sub eax,70+ci_offs_skin_w
|
||||||
mov ebx,20+15+6+6
|
mov ebx,ci_panel_y_pos+6+6
|
||||||
and ecx,0
|
and ecx,0
|
||||||
mov edx,mouse_pos_x
|
mov edx,mouse_pos_x
|
||||||
mov esi,2
|
mov esi,2
|
||||||
call print_text
|
call print_text
|
||||||
|
|
||||||
mov eax,[Window_SizeX]
|
mov eax,[Window_SizeX]
|
||||||
sub eax,70
|
sub eax,70+ci_offs_skin_w
|
||||||
mov ebx,20+15+6+6+18+1
|
mov ebx,ci_panel_y_pos+6+6+18+4
|
||||||
and ecx,0
|
and ecx,0
|
||||||
mov edx,mouse_pos_y
|
mov edx,mouse_pos_y
|
||||||
mov esi,2
|
mov esi,2
|
||||||
call print_text
|
call print_text
|
||||||
|
|
||||||
mov ecx,[ScreenX]
|
mov ecx,[ScreenX]
|
||||||
add ecx,[PosX]
|
add ecx,[PosX]
|
||||||
mov edx,[Window_SizeX]
|
mov edx,[Window_SizeX]
|
||||||
sub edx,55
|
sub edx,55+ci_offs_skin_w
|
||||||
shl edx,16
|
shl edx,16
|
||||||
add edx,20+15+6+6
|
add edx,ci_panel_y_pos+6+6
|
||||||
and esi,0
|
and esi,0
|
||||||
mcall SF_DRAW_NUMBER,<4,0>
|
mcall SF_DRAW_NUMBER,<4,0>
|
||||||
|
|
||||||
mov ecx,[ScreenY]
|
mov ecx,[ScreenY]
|
||||||
add ecx,[PosY]
|
add ecx,[PosY]
|
||||||
mov edx,[Window_SizeX]
|
mov edx,[Window_SizeX]
|
||||||
sub edx,55
|
sub edx,55+ci_offs_skin_w
|
||||||
shl edx,16
|
shl edx,16
|
||||||
add edx,20+15+6+18+1+6
|
add edx,ci_panel_y_pos+6+18+4+6
|
||||||
mcall
|
mcall
|
||||||
|
|
||||||
popad
|
popad
|
||||||
ret
|
ret
|
||||||
|
|
||||||
;----------------------------------------------------------
|
;----------------------------------------------------------
|
||||||
;----------print text on the panel and menu----------------
|
|
||||||
;----------------------------------------------------------
|
|
||||||
print_panel_text:
|
|
||||||
next_panel_text:
|
|
||||||
mov eax,[edi]
|
|
||||||
mov ebx,[edi+4]
|
|
||||||
; xor ecx,ecx
|
|
||||||
mov ecx,0x10000000
|
|
||||||
mov edx,edi
|
|
||||||
add edx,12
|
|
||||||
mov esi,[edi+8]
|
|
||||||
add edi,esi
|
|
||||||
add edi,3*4
|
|
||||||
|
|
||||||
push edi
|
|
||||||
call print_text
|
|
||||||
pop edi
|
|
||||||
|
|
||||||
dec [counter]
|
|
||||||
jnz next_panel_text
|
|
||||||
ret
|
|
||||||
;----------------------------------------------------------
|
|
||||||
;------------draw lines of scoll---------------------------
|
;------------draw lines of scoll---------------------------
|
||||||
;----------------------------------------------------------
|
;----------------------------------------------------------
|
||||||
draw_scrollers:
|
draw_scrollers:
|
||||||
|
@ -245,9 +245,8 @@ big_pixel_x:
|
|||||||
fps:
|
fps:
|
||||||
mov ebx,[ScreenPointer]
|
mov ebx,[ScreenPointer]
|
||||||
mov ecx,[WorkScreen_SizeX]
|
mov ecx,[WorkScreen_SizeX]
|
||||||
mov edx,[WorkScreen_SizeY]
|
|
||||||
shl ecx,16
|
shl ecx,16
|
||||||
add ecx,edx
|
add ecx,[WorkScreen_SizeY]
|
||||||
mov edx,((ci_edit_wnd_x_pos+ci_edit_wnd_border) shl 16)\
|
mov edx,((ci_edit_wnd_x_pos+ci_edit_wnd_border) shl 16)\
|
||||||
+ (ci_edit_wnd_y_pos+ci_edit_wnd_border)
|
+ (ci_edit_wnd_y_pos+ci_edit_wnd_border)
|
||||||
mcall SF_PUT_IMAGE
|
mcall SF_PUT_IMAGE
|
||||||
@ -263,6 +262,7 @@ cleare_screen:
|
|||||||
mov eax,0xffffffff
|
mov eax,0xffffffff
|
||||||
mov ecx,ebx
|
mov ecx,ebx
|
||||||
shr ecx,2
|
shr ecx,2
|
||||||
|
cld
|
||||||
rep stosd
|
rep stosd
|
||||||
mov ecx,ebx
|
mov ecx,ebx
|
||||||
and ecx,3
|
and ecx,3
|
||||||
@ -279,6 +279,7 @@ cleare_work_arrea:
|
|||||||
mov eax,0xffffffff
|
mov eax,0xffffffff
|
||||||
mov ecx,ebx
|
mov ecx,ebx
|
||||||
shr ecx,2
|
shr ecx,2
|
||||||
|
cld
|
||||||
rep stosd
|
rep stosd
|
||||||
mov ecx,ebx
|
mov ecx,ebx
|
||||||
and ecx,3
|
and ecx,3
|
||||||
|
Loading…
Reference in New Issue
Block a user