programs: Fix post-SVN tidying
- Fix include paths after moving files up a level, from old SVN trunk subdirs. e.g. `include '../../macros.inc’`. - Add SPDX placeholder. - Translated RU comments to en_US. (In some cases this removes codepage dependency). - Note: Line endings standardised from `CRLF` > `LF`, so best to view diffs with whitespace changes hidden.
This commit is contained in:
@@ -1,176 +1,177 @@
|
||||
; Text CodePage = cp1251
|
||||
|
||||
; <--- include all MeOS stuff --->
|
||||
|
||||
include "../../../../../macros.inc"
|
||||
|
||||
|
||||
; <--- start of MenuetOS application --->
|
||||
MEOS_APP_START
|
||||
|
||||
include "key_read.inc"
|
||||
|
||||
; <--- start of code --->
|
||||
CODE
|
||||
|
||||
mov eax,48 ; get system colors
|
||||
mov ebx,3
|
||||
mov ecx,sc
|
||||
mov edx,sizeof.system_colors
|
||||
mcall
|
||||
|
||||
xor ecx, ecx
|
||||
inc ecx
|
||||
mcall 66,1 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
|
||||
|
||||
redraw: ; redraw event handler
|
||||
call draw_window ; at first create and draw the window
|
||||
|
||||
wait_event: ; main cycle
|
||||
|
||||
mcall 10 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
; mcall 23, 2 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
; or eax, eax
|
||||
; jz key.1
|
||||
|
||||
dec eax ; if event = 1
|
||||
jz redraw ; jump to redraw handler
|
||||
dec eax ; else if event = 2
|
||||
jz key ; jump to key handler
|
||||
|
||||
|
||||
button: ; button event handler
|
||||
mov al, 17 ; get button identifier
|
||||
mcall
|
||||
|
||||
cmp ah, 1
|
||||
jne wait_event ; return if button id != 1
|
||||
|
||||
or eax, -1 ; exit application
|
||||
mcall
|
||||
|
||||
key: ; key event handler
|
||||
; get key code
|
||||
call load_keys
|
||||
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
.1:
|
||||
mov ah, 0xfe
|
||||
mov edx, txt_data.fe
|
||||
call load_ports
|
||||
|
||||
mov ah, 0xfd
|
||||
mov edx, txt_data.fd
|
||||
call load_ports
|
||||
|
||||
mov ah, 0xfb
|
||||
mov edx, txt_data.fb
|
||||
call load_ports
|
||||
|
||||
mov ah, 0xf7
|
||||
mov edx, txt_data.f7
|
||||
call load_ports
|
||||
|
||||
mov ah, 0xef
|
||||
mov edx, txt_data.ef
|
||||
call load_ports
|
||||
|
||||
mov ah, 0xdf
|
||||
mov edx, txt_data.df
|
||||
call load_ports
|
||||
|
||||
mov ah, 0xbf
|
||||
mov edx, txt_data.bf
|
||||
call load_ports
|
||||
|
||||
mov ah, 0x7f
|
||||
mov edx, txt_data.7f
|
||||
call load_ports
|
||||
|
||||
mov ah, 0x00
|
||||
mov edx, txt_data.00
|
||||
call load_ports
|
||||
|
||||
|
||||
|
||||
jmp redraw
|
||||
|
||||
draw_window:
|
||||
mov eax, 12 ; start drawing
|
||||
mov ebx, 1
|
||||
mcall
|
||||
|
||||
xor eax, eax ; create and draw the window
|
||||
mov ebx, 40*65536+560 ; (window_cx)*65536+(window_sx)
|
||||
mov ecx, 40*65536+240 ; (window_cy)*65536+(window_sy)
|
||||
mov edx, [sc.work] ; work area color
|
||||
or edx, 0x33000000 ; & window type 3
|
||||
mov edi, title ; window title
|
||||
int 0x40
|
||||
|
||||
mov ecx, [sc.work_text]
|
||||
or ecx, 0x80000000
|
||||
mov edx, txt_data
|
||||
mcall 4, 10*65536+40
|
||||
mov edx, txt_data.2s
|
||||
mcall 4, 10*65536+60
|
||||
mov edx, txt_data.3s
|
||||
mcall 4, 10*65536+80
|
||||
|
||||
|
||||
mov eax, 12 ; finish drawing
|
||||
mov ebx, 2
|
||||
mcall
|
||||
|
||||
ret
|
||||
|
||||
|
||||
load_ports: ; <20><><EFBFBD><EFBFBD> ah - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
; edx - <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov al, 0xFE
|
||||
call load_port_FE
|
||||
|
||||
rept 8
|
||||
{
|
||||
mov bl, '1'
|
||||
shl al,1
|
||||
jc @f
|
||||
mov bl, '0'
|
||||
@@:
|
||||
mov byte [edx], bl
|
||||
inc edx
|
||||
}
|
||||
|
||||
ret
|
||||
|
||||
|
||||
|
||||
|
||||
; <--- initialised data --->
|
||||
DATA
|
||||
|
||||
|
||||
title db 'Key ZX-Spectrum TEST',0
|
||||
|
||||
txt_data db '#FE: '
|
||||
.fe db '******** #FD: '
|
||||
.fd db '******** #FB: '
|
||||
.fb db '******** #F7: '
|
||||
.f7 db '******** ', 0
|
||||
.2s db '#EF: '
|
||||
.ef db '******** #DF: '
|
||||
.df db '******** #BF: '
|
||||
.bf db '******** #7F: '
|
||||
.7f db '******** ', 0
|
||||
.3s db '#00: '
|
||||
.00 db '******** ', 0
|
||||
|
||||
|
||||
; <--- uninitialised data --->
|
||||
UDATA
|
||||
sc system_colors
|
||||
|
||||
MEOS_APP_END
|
||||
; <--- end of MenuetOS application --->
|
||||
; SPDX-License-Identifier: NOASSERTION
|
||||
;
|
||||
|
||||
; <--- include all MeOS stuff --->
|
||||
|
||||
include "../../../../macros.inc"
|
||||
|
||||
|
||||
; <--- start of MenuetOS application --->
|
||||
MEOS_APP_START
|
||||
|
||||
include "key_read.inc"
|
||||
|
||||
; <--- start of code --->
|
||||
CODE
|
||||
|
||||
mov eax,48 ; get system colors
|
||||
mov ebx,3
|
||||
mov ecx,sc
|
||||
mov edx,sizeof.system_colors
|
||||
mcall
|
||||
|
||||
xor ecx, ecx
|
||||
inc ecx
|
||||
mcall 66,1 ; setting scancode input mode
|
||||
|
||||
|
||||
|
||||
redraw: ; redraw event handler
|
||||
call draw_window ; at first create and draw the window
|
||||
|
||||
wait_event: ; main cycle
|
||||
|
||||
mcall 10 ; expect an event
|
||||
|
||||
; mcall 23, 2 ; option constant poll
|
||||
; or eax, eax
|
||||
; jz key.1
|
||||
|
||||
dec eax ; if event = 1
|
||||
jz redraw ; jump to redraw handler
|
||||
dec eax ; else if event = 2
|
||||
jz key ; jump to key handler
|
||||
|
||||
|
||||
button: ; button event handler
|
||||
mov al, 17 ; get button identifier
|
||||
mcall
|
||||
|
||||
cmp ah, 1
|
||||
jne wait_event ; return if button id != 1
|
||||
|
||||
or eax, -1 ; exit application
|
||||
mcall
|
||||
|
||||
key: ; key event handler
|
||||
; get key code
|
||||
call load_keys
|
||||
; transformation
|
||||
.1:
|
||||
mov ah, 0xfe
|
||||
mov edx, txt_data.fe
|
||||
call load_ports
|
||||
|
||||
mov ah, 0xfd
|
||||
mov edx, txt_data.fd
|
||||
call load_ports
|
||||
|
||||
mov ah, 0xfb
|
||||
mov edx, txt_data.fb
|
||||
call load_ports
|
||||
|
||||
mov ah, 0xf7
|
||||
mov edx, txt_data.f7
|
||||
call load_ports
|
||||
|
||||
mov ah, 0xef
|
||||
mov edx, txt_data.ef
|
||||
call load_ports
|
||||
|
||||
mov ah, 0xdf
|
||||
mov edx, txt_data.df
|
||||
call load_ports
|
||||
|
||||
mov ah, 0xbf
|
||||
mov edx, txt_data.bf
|
||||
call load_ports
|
||||
|
||||
mov ah, 0x7f
|
||||
mov edx, txt_data.7f
|
||||
call load_ports
|
||||
|
||||
mov ah, 0x00
|
||||
mov edx, txt_data.00
|
||||
call load_ports
|
||||
|
||||
|
||||
|
||||
jmp redraw
|
||||
|
||||
draw_window:
|
||||
mov eax, 12 ; start drawing
|
||||
mov ebx, 1
|
||||
mcall
|
||||
|
||||
xor eax, eax ; create and draw the window
|
||||
mov ebx, 40*65536+560 ; (window_cx)*65536+(window_sx)
|
||||
mov ecx, 40*65536+240 ; (window_cy)*65536+(window_sy)
|
||||
mov edx, [sc.work] ; work area color
|
||||
or edx, 0x33000000 ; & window type 3
|
||||
mov edi, title ; window title
|
||||
int 0x40
|
||||
|
||||
mov ecx, [sc.work_text]
|
||||
or ecx, 0x80000000
|
||||
mov edx, txt_data
|
||||
mcall 4, 10*65536+40
|
||||
mov edx, txt_data.2s
|
||||
mcall 4, 10*65536+60
|
||||
mov edx, txt_data.3s
|
||||
mcall 4, 10*65536+80
|
||||
|
||||
|
||||
mov eax, 12 ; finish drawing
|
||||
mov ebx, 2
|
||||
mcall
|
||||
|
||||
ret
|
||||
|
||||
|
||||
load_ports: ; input ah - port high byte
|
||||
; edx - text address
|
||||
mov al, 0xFE
|
||||
call load_port_FE
|
||||
|
||||
rept 8
|
||||
{
|
||||
mov bl, '1'
|
||||
shl al,1
|
||||
jc @f
|
||||
mov bl, '0'
|
||||
@@:
|
||||
mov byte [edx], bl
|
||||
inc edx
|
||||
}
|
||||
|
||||
ret
|
||||
|
||||
|
||||
|
||||
|
||||
; <--- initialised data --->
|
||||
DATA
|
||||
|
||||
|
||||
title db 'Key ZX-Spectrum TEST',0
|
||||
|
||||
txt_data db '#FE: '
|
||||
.fe db '******** #FD: '
|
||||
.fd db '******** #FB: '
|
||||
.fb db '******** #F7: '
|
||||
.f7 db '******** ', 0
|
||||
.2s db '#EF: '
|
||||
.ef db '******** #DF: '
|
||||
.df db '******** #BF: '
|
||||
.bf db '******** #7F: '
|
||||
.7f db '******** ', 0
|
||||
.3s db '#00: '
|
||||
.00 db '******** ', 0
|
||||
|
||||
|
||||
; <--- uninitialised data --->
|
||||
UDATA
|
||||
sc system_colors
|
||||
|
||||
MEOS_APP_END
|
||||
; <--- end of MenuetOS application --->
|
||||
|
@@ -1,376 +1,378 @@
|
||||
;*******************************************************
|
||||
;**************GRAPHICS EDITOR ANIMAGE *****************
|
||||
;*******************************************************
|
||||
; version: 1.52
|
||||
; last update: 23.11.2016
|
||||
; changes: Can save *.png files
|
||||
; autors: IgorA
|
||||
;--------------------------------------------------------
|
||||
; version: 1.51
|
||||
; last update: 23.03.2016
|
||||
; changes: Use library 'kmenu.obj', update GUI
|
||||
; autors: IgorA, Veliant, Leency
|
||||
;--------------------------------------------------------
|
||||
; version: 1.4
|
||||
; 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
|
||||
; changes: Fixed window flicker when redrawing,
|
||||
; Fixed memory leak for stack
|
||||
;--------------------------------------------------------
|
||||
; version: 1.2
|
||||
; last update: 30.09.2010
|
||||
; written by: Marat Zakiyanov aka Mario79, aka Mario
|
||||
; changes: Program used function 68 instead 64 is now,
|
||||
; select path with OpenDialog
|
||||
;--------------------------------------------------------
|
||||
; version: 1.1
|
||||
; last update: 09.12.2006
|
||||
; autors:
|
||||
; programming by andrew_programmer
|
||||
; design by golus
|
||||
|
||||
use32
|
||||
org 0
|
||||
db 'MENUET01'
|
||||
dd 1, START, IM_END, I_END
|
||||
dd stacktop, file_path, cur_dir_path
|
||||
|
||||
include '../../../config.inc' ;for nightbuild
|
||||
include '../../../macros.inc'
|
||||
include '../../../proc32.inc'
|
||||
include '../../../KOSfuncs.inc'
|
||||
include '../../../load_lib.mac'
|
||||
include '../../../dll.inc'
|
||||
include '../../../develop/libraries/libs-dev/libio/libio.inc'
|
||||
include '../../../develop/libraries/libs-dev/libimg/libimg.inc'
|
||||
;include '../../../debug.inc'
|
||||
|
||||
@use_library mem.Alloc,mem.Free,mem.ReAlloc,dll.Load
|
||||
|
||||
;---------------------------------------------------------
|
||||
; *** <20><><EFBFBD><EFBFBD>⠭<EFBFBD><E2A0AD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>䥩<EFBFBD><E4A5A9> ***
|
||||
; *** constants for interface ***
|
||||
|
||||
; <EFBFBD><EFBFBD><EFBFBD>४<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> ᪨<>
|
||||
ci_offs_skin_w equ 5 ;<3B><><EFBFBD>४<EFBFBD><E0A5AA><EFBFBD><E0AEA2> <20><> <20><>ਭ<EFBFBD> ࠬ<><E0A0AC> ᪨<><E1AAA8>
|
||||
ci_offs_skin_h equ 24 ;<3B><><EFBFBD>४<EFBFBD><E0A5AA><EFBFBD><E0AEA2> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᪨<><E1AAA8>
|
||||
|
||||
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
ci_wnd_min_siz_x equ 585 ;minimum size x
|
||||
ci_wnd_min_siz_y equ 400 ;minimum size y
|
||||
|
||||
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>㬥<EFBFBD>⮢
|
||||
ci_panel_x_pos equ 0 ;<3B><><EFBFBD><EFBFBD><EFBFBD>. x <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
ci_panel_y_pos equ 20 ;<3B><><EFBFBD><EFBFBD><EFBFBD>. y <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
ci_panel_but_y1 equ ci_panel_y_pos +5 ;<3B><><EFBFBD><EFBFBD><EFBFBD>. y <20><><EFBFBD> 1-<2D><> <20>鸞 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
ci_panel_but_y2 equ ci_panel_y_pos+30 ;<3B><><EFBFBD><EFBFBD><EFBFBD>. y <20><><EFBFBD> 2-<2D><> <20>鸞 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
ci_palete_y_pos equ ci_panel_y_pos+51 ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. y <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 梥⮢
|
||||
ci_panel_zoom_x equ 178 ;<3B><><EFBFBD><EFBFBD><EFBFBD>. x <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>⠡<EFBFBD>
|
||||
|
||||
; <20><><EFBFBD><EFBFBD> ।<><E0A5A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
ci_edit_wnd_x_pos equ 0 ;<3B><><EFBFBD><EFBFBD><EFBFBD>. x <20><><EFBFBD> <20><><EFBFBD><EFBFBD> ।<><E0A5A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
ci_edit_wnd_y_pos equ 71 ;<3B><><EFBFBD><EFBFBD><EFBFBD>. y <20><><EFBFBD> <20><><EFBFBD><EFBFBD> ।<><E0A5A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
ci_edit_wnd_border equ 3 ;ࠬ<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ।<><E0A5A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
; <20><><EFBFBD><E0AEAB><EFBFBD><EFBFBD><EFBFBD>
|
||||
ci_scroll_dim equ 22 ;ࠧ<><E0A0A7><EFBFBD><EFBFBD> <20><><EFBFBD><E0AEAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
ci_scrollh_coord_x_min equ (ci_edit_wnd_x_pos+3) ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>쭠<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>㭪<EFBFBD>
|
||||
;<3B><>ਧ<EFBFBD><E0A8A7>⠫쭮<E2A0AB><ECADAE> <20><><EFBFBD><E0AEAB><EFBFBD><EFBFBD><EFBFBD>
|
||||
ci_scrollv_coord_y_min equ (ci_edit_wnd_y_pos+3) ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>쭠<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>㭪<EFBFBD>
|
||||
;<EFBFBD><EFBFBD><EFBFBD>⨪<EFBFBD><EFBFBD>쭮<EFBFBD><EFBFBD> <20><><EFBFBD><E0AEAB><EFBFBD><EFBFBD><EFBFBD>
|
||||
;---------------------------------------------------------
|
||||
|
||||
include 'bmplib.inc'
|
||||
include 'dialog2.inc'
|
||||
include 'design.inc'
|
||||
include 'graphlib.inc'
|
||||
|
||||
include 'cursors.inc'
|
||||
include 'memory.inc'
|
||||
include 'load_from_parameters.inc'
|
||||
|
||||
START:
|
||||
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
|
||||
|
||||
cmp eax,-1
|
||||
jz close
|
||||
|
||||
mcall SF_SET_EVENTS_MASK,0x80000067 ; 1100111b
|
||||
;---------------------------------------------------------
|
||||
;-----------------------init data-------------------------
|
||||
;---------------------------------------------------------
|
||||
include 'init_data.inc'
|
||||
|
||||
;----------------------------------------------------------
|
||||
;--------get memory and draw window of program-------------
|
||||
;----------------------------------------------------------
|
||||
call GetMemory
|
||||
mov [Current_instrument],10 ;pencil
|
||||
call TakeButtonInstruments ;set startup instrument
|
||||
call cleare_work_arrea
|
||||
call load_icons
|
||||
call init_main_menu
|
||||
|
||||
;load cursors
|
||||
mov eax,CursorsID
|
||||
call load_cursors
|
||||
|
||||
;---------------------------------------------------------
|
||||
;---------check loading of file from parameters-----------
|
||||
;---------------------------------------------------------
|
||||
mov eax,file_path
|
||||
cmp [eax],byte 0
|
||||
jz @f
|
||||
call load_picture
|
||||
call MovePictureToWorkScreen
|
||||
@@:
|
||||
|
||||
;---------------------------------------------------------------------
|
||||
mov edi,filename_area
|
||||
mov esi,path4+5
|
||||
call copy_str_1
|
||||
|
||||
mov edi,file_path
|
||||
cmp [edi],byte 0
|
||||
jne @f
|
||||
mov esi,path4
|
||||
call copy_str_1
|
||||
@@:
|
||||
;OpenDialog initialisation
|
||||
stdcall [OpenDialog_Init], OpenDialog_data
|
||||
stdcall [ColorDialog_Init], ColorDialog_data
|
||||
;---------------------------------------------------------------------
|
||||
|
||||
align 4
|
||||
red:
|
||||
call drawwin
|
||||
;----------------------------------------------------------
|
||||
;---------------------main loop----------------------------
|
||||
;----------------------------------------------------------
|
||||
align 4
|
||||
still:
|
||||
mcall SF_WAIT_EVENT
|
||||
|
||||
cmp eax,1
|
||||
je red
|
||||
|
||||
cmp eax,2
|
||||
je keys
|
||||
|
||||
cmp eax,3
|
||||
je buttons
|
||||
|
||||
cmp eax,6
|
||||
je mouse
|
||||
|
||||
jmp still
|
||||
|
||||
;---------------------------------------------------------------------
|
||||
copy_str_1:
|
||||
xor eax,eax
|
||||
cld
|
||||
@@:
|
||||
lodsb
|
||||
stosb
|
||||
test eax,eax
|
||||
jnz @b
|
||||
ret
|
||||
;---------------------------------------------------------------------
|
||||
include 'events.inc'
|
||||
include 'events_of_window.inc'
|
||||
include 'events_of_keys.inc'
|
||||
include 'events_of_buttons.inc'
|
||||
include 'events_of_mouse.inc'
|
||||
include 'panel_engen.inc'
|
||||
include 'screen.inc'
|
||||
include 'menu_instruments.inc'
|
||||
include 'icons_instruments.inc'
|
||||
include 'icons.inc'
|
||||
include 'sprites.inc'
|
||||
include 'string.inc'
|
||||
include 'palette.inc'
|
||||
include 'files.inc'
|
||||
include 'time.inc'
|
||||
include 'menu.inc'
|
||||
;-----------------------------------------------------------
|
||||
;------------variables and data of program------------------
|
||||
;-----------------------------------------------------------
|
||||
;sound_havent_memory db 150,64,0
|
||||
|
||||
include 'lib_data.inc'
|
||||
include 'panel_data.inc'
|
||||
include 'brushes.inc'
|
||||
include 'spray.inc'
|
||||
include 'width_lines.inc'
|
||||
;----------------------------------------------------------
|
||||
;-------------------icon's picture-------------------------
|
||||
;----------------------------------------------------------
|
||||
align 4
|
||||
panel_picture:
|
||||
file 'panel_buttons.png'
|
||||
.end:
|
||||
align 4
|
||||
panel_zoom:
|
||||
file 'panel_zoom.png'
|
||||
.end:
|
||||
;****************cursors******************
|
||||
brush_cursor:
|
||||
file 'cursors/brush.cur'
|
||||
flood_fill_cursor:
|
||||
file 'cursors/flood_fill.cur'
|
||||
lastik_cursor:
|
||||
file 'cursors/lastik.cur'
|
||||
other_cursor:
|
||||
file 'cursors/other.cur'
|
||||
pencil_cursor:
|
||||
file 'cursors/pencil.cur'
|
||||
pipette_cursor:
|
||||
file 'cursors/pipette.cur'
|
||||
spray_cursor:
|
||||
file 'cursors/spray.cur'
|
||||
zoom_cursor:
|
||||
file 'cursors/zoom.cur'
|
||||
;----------------------------------------------------------
|
||||
align 4
|
||||
IM_END:
|
||||
;-----------------------------------------------------------
|
||||
;------------variables and data of program------------------
|
||||
;-----------------------------------------------------------
|
||||
time rd 1
|
||||
PosX rd 1 ;scroll x file position
|
||||
PosY rd 1 ;scroll y file position
|
||||
PointerToIcons rd 1
|
||||
ScreenPointer rd 1
|
||||
PointerToPicture rd 1
|
||||
PointerToCopyPicture rd 1
|
||||
PointerToCopyPicture2 rd 1
|
||||
PointerToEditBufer rd 1
|
||||
PointerToSpriteBufer rd 1
|
||||
PointerToPalette rd 1 ;㪠<><E3AAA0>⥫<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28>㦥<EFBFBD> <20><><EFBFBD> <20><><EFBFBD>࠭<EFBFBD><E0A0AD><EFBFBD><EFBFBD> <20> *.bmp)
|
||||
Color rd 1
|
||||
SColor rd 1
|
||||
Number_Brush rd 1
|
||||
Brush_SizeX rd 1
|
||||
Brush_SizeY rd 1
|
||||
Current_instrument rd 1
|
||||
Last_instrument rd 1
|
||||
OldX rd 1
|
||||
OldY rd 1
|
||||
|
||||
MouseX rd 1
|
||||
MouseY rd 1
|
||||
MouseBut rd 1 ;ᮡ<><E1AEA1><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
Window_SizeX rd 1
|
||||
Window_SizeY rd 1
|
||||
Window_CordinatX rd 1
|
||||
Window_CordinatY rd 1
|
||||
Picture_SizeX rd 1
|
||||
Picture_SizeY rd 1
|
||||
ScreenX rd 1 ;<3B><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> x <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD>⮬ <20><><EFBFBD><EFBFBD>⠡<EFBFBD>
|
||||
ScreenY rd 1 ;<3B><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> y <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD>⮬ <20><><EFBFBD><EFBFBD>⠡<EFBFBD>
|
||||
WorkScreen_SizeX rd 1 ;<EFBFBD><EFBFBD>ਭ<EFBFBD> ࠡ<>祣<EFBFBD> <20><>࠭<EFBFBD>
|
||||
WorkScreen_SizeY rd 1 ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ࠡ<>祣<EFBFBD> <20><>࠭<EFBFBD>
|
||||
MaxWorkScreen_SizeX rd 1
|
||||
MaxWorkScreen_SizeY rd 1
|
||||
k rd 1 ;<3B><><EFBFBD><EFBFBD>⠡
|
||||
|
||||
ReserveArray rd 1 ;㪠<EFBFBD><EFBFBD>⥫<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ᯮ<EFBFBD><E1AFAE><EFBFBD>㥬<EFBFBD><E3A5AC> <20><><EFBFBD> <20><>ᮢ<EFBFBD><E1AEA2><EFBFBD><EFBFBD> 䨣<><E4A8A3>
|
||||
;<3B><><EFBFBD> <20><><EFBFBD>࠭<EFBFBD><E0A0AD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>⪮<EFBFBD> 䮭<> <20><><EFBFBD> 䨣<>ࠬ<EFBFBD>, <20> ⠪<><E2A0AA> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
CounterX rd 1 ;<EFBFBD><EFBFBD> <20><><EFBFBD>ᥫ<EFBFBD><E1A5AB> <20><><EFBFBD><EFBFBD>ࠦ<EFBFBD><E0A0A6><EFBFBD><EFBFBD> <20><> <20><>ਭ<EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
;<EFBFBD> <20><>࠭ ࠡ<>祩 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20> <20><><EFBFBD>⮬ ⥪<>饣<EFBFBD> <20><><EFBFBD><EFBFBD>⠡<EFBFBD>
|
||||
CounterY rd 1
|
||||
OffsetYPicture rd 1 ;ᤢ<><E1A4A2> <20><> <20><><EFBFBD> y <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ࠦ<EFBFBD><E0A0A6><EFBFBD><EFBFBD> <20><><EFBFBD> <20><>ᮢ<EFBFBD><E1AEA2><EFBFBD><EFBFBD>
|
||||
;<><E1ABA5><EFBFBD>饩 <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ࠦ<EFBFBD><E0A0A6><EFBFBD><EFBFBD>
|
||||
OffsetYWorkScreen rd 1 ;ᤢ<EFBFBD><EFBFBD> <20><> <20><><EFBFBD> y <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ࠡ<>祩 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>
|
||||
;<EFBFBD><EFBFBD>ᮢ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <><E1ABA5><EFBFBD>饩 <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ᥫ<EFBFBD><E1A5AB>. <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>⠡, ⥬ <20><><EFBFBD><EFBFBD>
|
||||
;<3B>㦭<EFBFBD> <20><><EFBFBD>᪠<EFBFBD><E1AAA0><EFBFBD><EFBFBD> <20><> ࠡ<>祩 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
OffsetYBigPixel rd 1 ;ᤢ<><E1A4A2> <20><> <20><><EFBFBD> y <20><><EFBFBD> <20><>ᮢ<EFBFBD><E1AEA2><EFBFBD><EFBFBD> <20><><EFBFBD>ᥫ<EFBFBD><E1A5AB> <20><> <20><><EFBFBD><EFBFBD>讬
|
||||
;<EFBFBD><EFBFBD><EFBFBD><EFBFBD>⠡<EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1-<2D> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ᥫ<EFBFBD>, <20> <20><>⮬ <20>㦭<EFBFBD> <20><>३<EFBFBD><E0A5A9> <20><><EFBFBD><EFBFBD> <20>
|
||||
;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><>ᮢ<EFBFBD><E1AEA2><EFBFBD><EFBFBD> <><E1ABA5><EFBFBD>饩 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
|
||||
Icon_X rd 1
|
||||
Icon_Y rd 1
|
||||
counter rd 1
|
||||
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
|
||||
|
||||
Radius rd 1
|
||||
Dx_ rd 1
|
||||
Dy_ rd 1
|
||||
line_width rd 1
|
||||
a_ellips rd 1
|
||||
b_ellips rd 1
|
||||
|
||||
used_OldX rd 1 ;for draw hard contour
|
||||
used_OldY rd 1
|
||||
paste_img_w rd 1 ;<3B><>ਭ<EFBFBD> <20><>⠢<EFBFBD>塞<EFBFBD><EFA5AC><EFBFBD> <20><><EFBFBD><EFBFBD>ࠦ<EFBFBD><E0A0A6><EFBFBD><EFBFBD>
|
||||
paste_img_h rd 1 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>⠢<EFBFBD>塞<EFBFBD><EFA5AC><EFBFBD> <20><><EFBFBD><EFBFBD>ࠦ<EFBFBD><E0A0A6><EFBFBD><EFBFBD>
|
||||
crossing_old_x rd 1 ;<3B><>砫쭠<E7A0AB> <20><><EFBFBD><EFBFBD><EFBFBD>. x <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E0AEA2><EFBFBD><EFBFBD>
|
||||
crossing_old_y rd 1 ;<3B><>砫쭠<E7A0AB> <20><><EFBFBD><EFBFBD><EFBFBD>. y <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E0AEA2><EFBFBD><EFBFBD>
|
||||
rectangular_shade_x rd 1 ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD>筠<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>. x <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E0AEA2><EFBFBD><EFBFBD>
|
||||
rectangular_shade_y rd 1 ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD>筠<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>. y <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E0AEA2><EFBFBD><EFBFBD>
|
||||
crossing rd 1 ;0 - <20>뤥<EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>, 1 - <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>뤥<EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD>,
|
||||
;2 - <20>뤥<EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>襭<EFBFBD>, 3 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>뤥<EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD> <20><>६<EFBFBD>頥<EFBFBD><E9A0A5><EFBFBD>
|
||||
number_undo rd 1
|
||||
SpriteSizeX rd 1 ;???
|
||||
SpriteSizeY rd 1 ;???
|
||||
SpriteCoordinatX rd 1
|
||||
SpriteCoordinatY rd 1
|
||||
SpriteOldCoordinatX rd 1
|
||||
SpriteOldCoordinatY rd 1
|
||||
|
||||
CursorsID rd 10
|
||||
|
||||
Activate_instrument rb 1 ;<3B> ࠢ<><E0A0A2> 0 - <20><> <20><><EFBFBD><EFBFBD><EFBFBD><E0AEA2><EFBFBD><EFBFBD> ⥪<>饣<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
;<3B><><EFBFBD> <20><><EFBFBD> ।<><E0A5A4><EFBFBD><EFBFBD><EFBFBD><E0AEA2><EFBFBD><EFBFBD>, <20> 1 - ⥪<>騩 <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
save_flag rb 1
|
||||
exit_from_work_arrea rb 1
|
||||
lastik_is_active rb 1
|
||||
instrument_used rb 1
|
||||
DrawSprite_flag rb 1
|
||||
Paste_flag rb 1
|
||||
;---------------------------------------------------------------------
|
||||
IncludeUGlobals
|
||||
;---------------------------------------------------------------------
|
||||
align 4
|
||||
file_path rb 4096
|
||||
filename_area rb 256
|
||||
temp_dir_pach rb 4096
|
||||
library_path rb 4096
|
||||
cur_dir_path rb 4096
|
||||
procinfo: rb 1024
|
||||
align 4
|
||||
syscolors rb 192
|
||||
syscolors_end:
|
||||
;---------------------------------------------------------------------
|
||||
align 4
|
||||
rb 4096
|
||||
stacktop:
|
||||
;---------------------------------------------------------------------
|
||||
I_END:
|
||||
; SPDX-License-Identifier: NOASSERTION
|
||||
;
|
||||
|
||||
;*******************************************************
|
||||
;**************GRAPHICS EDITOR ANIMAGE *****************
|
||||
;*******************************************************
|
||||
; version: 1.52
|
||||
; last update: 23.11.2016
|
||||
; changes: Can save *.png files
|
||||
; author: IgorA
|
||||
;--------------------------------------------------------
|
||||
; version: 1.51
|
||||
; last update: 23.03.2016
|
||||
; changes: Use library 'kmenu.obj', update GUI
|
||||
; authors: IgorA, Veliant, Leency
|
||||
;--------------------------------------------------------
|
||||
; version: 1.4
|
||||
; last update: 12.03.2016
|
||||
; changes: Use library 'libimg.obj'
|
||||
; author: IgorA
|
||||
;--------------------------------------------------------
|
||||
; version: 1.3
|
||||
; last update: 05.10.2010
|
||||
; written by: Marat Zakiyanov aka Mario79, aka Mario
|
||||
; changes: Fixed window flicker when redrawing,
|
||||
; Fixed memory leak for stack
|
||||
;--------------------------------------------------------
|
||||
; version: 1.2
|
||||
; last update: 30.09.2010
|
||||
; written by: Marat Zakiyanov aka Mario79, aka Mario
|
||||
; changes: Program used function 68 instead 64 is now,
|
||||
; select path with OpenDialog
|
||||
;--------------------------------------------------------
|
||||
; version: 1.1
|
||||
; last update: 09.12.2006
|
||||
; authors:
|
||||
; programming by andrew_programmer
|
||||
; design by golus
|
||||
|
||||
use32
|
||||
org 0
|
||||
db 'MENUET01'
|
||||
dd 1, START, IM_END, I_END
|
||||
dd stacktop, file_path, cur_dir_path
|
||||
|
||||
include '../../config.inc' ;for nightbuild
|
||||
include '../../macros.inc'
|
||||
include '../../proc32.inc'
|
||||
include '../../KOSfuncs.inc'
|
||||
include '../../load_lib.mac'
|
||||
include '../../dll.inc'
|
||||
include '../../develop/libraries/libs-dev/libio/libio.inc'
|
||||
include '../../develop/libraries/libs-dev/libimg/libimg.inc'
|
||||
;include '../../debug.inc'
|
||||
|
||||
@use_library mem.Alloc,mem.Free,mem.ReAlloc,dll.Load
|
||||
|
||||
;---------------------------------------------------------
|
||||
; *** constants for interface ***
|
||||
|
||||
; skin adjustments
|
||||
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
|
||||
|
||||
; 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
|
||||
ci_edit_wnd_x_pos equ 0 ;x coordinate for editor window
|
||||
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_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
|
||||
;vertical scrolling
|
||||
;---------------------------------------------------------
|
||||
|
||||
include 'bmplib.inc'
|
||||
include 'dialog2.inc'
|
||||
include 'design.inc'
|
||||
include 'graphlib.inc'
|
||||
|
||||
include 'cursors.inc'
|
||||
include 'memory.inc'
|
||||
include 'load_from_parameters.inc'
|
||||
|
||||
START:
|
||||
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
|
||||
|
||||
cmp eax,-1
|
||||
jz close
|
||||
|
||||
mcall SF_SET_EVENTS_MASK,0x80000067 ; 1100111b
|
||||
;---------------------------------------------------------
|
||||
;-----------------------init data-------------------------
|
||||
;---------------------------------------------------------
|
||||
include 'init_data.inc'
|
||||
|
||||
;----------------------------------------------------------
|
||||
;--------get memory and draw window of program-------------
|
||||
;----------------------------------------------------------
|
||||
call GetMemory
|
||||
mov [Current_instrument],10 ;pencil
|
||||
call TakeButtonInstruments ;set startup instrument
|
||||
call cleare_work_arrea
|
||||
call load_icons
|
||||
call init_main_menu
|
||||
|
||||
;load cursors
|
||||
mov eax,CursorsID
|
||||
call load_cursors
|
||||
|
||||
;---------------------------------------------------------
|
||||
;---------check loading of file from parameters-----------
|
||||
;---------------------------------------------------------
|
||||
mov eax,file_path
|
||||
cmp [eax],byte 0
|
||||
jz @f
|
||||
call load_picture
|
||||
call MovePictureToWorkScreen
|
||||
@@:
|
||||
|
||||
;---------------------------------------------------------------------
|
||||
mov edi,filename_area
|
||||
mov esi,path4+5
|
||||
call copy_str_1
|
||||
|
||||
mov edi,file_path
|
||||
cmp [edi],byte 0
|
||||
jne @f
|
||||
mov esi,path4
|
||||
call copy_str_1
|
||||
@@:
|
||||
;OpenDialog initialisation
|
||||
stdcall [OpenDialog_Init], OpenDialog_data
|
||||
stdcall [ColorDialog_Init], ColorDialog_data
|
||||
;---------------------------------------------------------------------
|
||||
|
||||
align 4
|
||||
red:
|
||||
call drawwin
|
||||
;----------------------------------------------------------
|
||||
;---------------------main loop----------------------------
|
||||
;----------------------------------------------------------
|
||||
align 4
|
||||
still:
|
||||
mcall SF_WAIT_EVENT
|
||||
|
||||
cmp eax,1
|
||||
je red
|
||||
|
||||
cmp eax,2
|
||||
je keys
|
||||
|
||||
cmp eax,3
|
||||
je buttons
|
||||
|
||||
cmp eax,6
|
||||
je mouse
|
||||
|
||||
jmp still
|
||||
|
||||
;---------------------------------------------------------------------
|
||||
copy_str_1:
|
||||
xor eax,eax
|
||||
cld
|
||||
@@:
|
||||
lodsb
|
||||
stosb
|
||||
test eax,eax
|
||||
jnz @b
|
||||
ret
|
||||
;---------------------------------------------------------------------
|
||||
include 'events.inc'
|
||||
include 'events_of_window.inc'
|
||||
include 'events_of_keys.inc'
|
||||
include 'events_of_buttons.inc'
|
||||
include 'events_of_mouse.inc'
|
||||
include 'panel_engen.inc'
|
||||
include 'screen.inc'
|
||||
include 'menu_instruments.inc'
|
||||
include 'icons_instruments.inc'
|
||||
include 'icons.inc'
|
||||
include 'sprites.inc'
|
||||
include 'string.inc'
|
||||
include 'palette.inc'
|
||||
include 'files.inc'
|
||||
include 'time.inc'
|
||||
include 'menu.inc'
|
||||
;-----------------------------------------------------------
|
||||
;------------variables and data of program------------------
|
||||
;-----------------------------------------------------------
|
||||
;sound_havent_memory db 150,64,0
|
||||
|
||||
include 'lib_data.inc'
|
||||
include 'panel_data.inc'
|
||||
include 'brushes.inc'
|
||||
include 'spray.inc'
|
||||
include 'width_lines.inc'
|
||||
;----------------------------------------------------------
|
||||
;-------------------icon's picture-------------------------
|
||||
;----------------------------------------------------------
|
||||
align 4
|
||||
panel_picture:
|
||||
file 'panel_buttons.png'
|
||||
.end:
|
||||
align 4
|
||||
panel_zoom:
|
||||
file 'panel_zoom.png'
|
||||
.end:
|
||||
;****************cursors******************
|
||||
brush_cursor:
|
||||
file 'cursors/brush.cur'
|
||||
flood_fill_cursor:
|
||||
file 'cursors/flood_fill.cur'
|
||||
lastik_cursor:
|
||||
file 'cursors/lastik.cur'
|
||||
other_cursor:
|
||||
file 'cursors/other.cur'
|
||||
pencil_cursor:
|
||||
file 'cursors/pencil.cur'
|
||||
pipette_cursor:
|
||||
file 'cursors/pipette.cur'
|
||||
spray_cursor:
|
||||
file 'cursors/spray.cur'
|
||||
zoom_cursor:
|
||||
file 'cursors/zoom.cur'
|
||||
;----------------------------------------------------------
|
||||
align 4
|
||||
IM_END:
|
||||
;-----------------------------------------------------------
|
||||
;------------variables and data of program------------------
|
||||
;-----------------------------------------------------------
|
||||
time rd 1
|
||||
PosX rd 1 ;scroll x file position
|
||||
PosY rd 1 ;scroll y file position
|
||||
PointerToIcons rd 1
|
||||
ScreenPointer rd 1
|
||||
PointerToPicture rd 1
|
||||
PointerToCopyPicture rd 1
|
||||
PointerToCopyPicture2 rd 1
|
||||
PointerToEditBufer rd 1
|
||||
PointerToSpriteBufer rd 1
|
||||
PointerToPalette rd 1 ;pointer to the file (needed for saving in *.bmp)
|
||||
Color rd 1
|
||||
SColor rd 1
|
||||
Number_Brush rd 1
|
||||
Brush_SizeX rd 1
|
||||
Brush_SizeY rd 1
|
||||
Current_instrument rd 1
|
||||
Last_instrument rd 1
|
||||
OldX rd 1
|
||||
OldY rd 1
|
||||
|
||||
MouseX rd 1
|
||||
MouseY rd 1
|
||||
MouseBut rd 1 ;mouse button events
|
||||
Window_SizeX rd 1
|
||||
Window_SizeY rd 1
|
||||
Window_CordinatX rd 1
|
||||
Window_CordinatY rd 1
|
||||
Picture_SizeX rd 1
|
||||
Picture_SizeY rd 1
|
||||
ScreenX rd 1 ;x coordinate of the cursor accounting for the scale
|
||||
ScreenY rd 1 ;y coordinate of the cursor accounting for the scale
|
||||
WorkScreen_SizeX rd 1 ;width of the working screen
|
||||
WorkScreen_SizeY rd 1 ;height of the working screen
|
||||
MaxWorkScreen_SizeX rd 1
|
||||
MaxWorkScreen_SizeY rd 1
|
||||
k rd 1 ;scale
|
||||
|
||||
ReserveArray rd 1 ;pointer to memory used when drawing figures
|
||||
;to save background areas under figures, as well as for filling
|
||||
CounterX rd 1 ;number of image pixels by width that fall
|
||||
;within the workspace screen, given the current zoom level
|
||||
CounterY rd 1
|
||||
OffsetYPicture rd 1 ;y-shift in image buffer when drawing
|
||||
;next line of image
|
||||
OffsetYWorkScreen rd 1 ;y-shift in the workspace buffer when
|
||||
;drawing the next line of pixels. The larger the scale, the lower
|
||||
;you need to go down the workspace.
|
||||
OffsetYBigPixel rd 1 ;shift along the y-axis to draw pixels on a large
|
||||
;scale. The 1st strip of the pixel is drawn, and then you need to move down and
|
||||
;left to draw the next strip.
|
||||
|
||||
Icon_X rd 1
|
||||
Icon_Y rd 1
|
||||
counter rd 1
|
||||
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
|
||||
|
||||
Radius rd 1
|
||||
Dx_ rd 1
|
||||
Dy_ rd 1
|
||||
line_width rd 1
|
||||
a_ellips rd 1
|
||||
b_ellips rd 1
|
||||
|
||||
used_OldX rd 1 ;for draw hard contour
|
||||
used_OldY rd 1
|
||||
paste_img_w rd 1 ;width of the inserted image
|
||||
paste_img_h rd 1 ;height of the inserted image
|
||||
crossing_old_x rd 1 ;initial x-coord of copy area
|
||||
crossing_old_y rd 1 ;initial y-coord of copy area
|
||||
rectangular_shade_x rd 1 ;end x-coord of copy area
|
||||
rectangular_shade_y rd 1 ;end y-coord of copy area
|
||||
crossing rd 1 ;0 - no selection, 1 - selection in progress,
|
||||
;2 - selection complete, 3 - selection area moving
|
||||
number_undo rd 1
|
||||
SpriteSizeX rd 1 ;???
|
||||
SpriteSizeY rd 1 ;???
|
||||
SpriteCoordinatX rd 1
|
||||
SpriteCoordinatY rd 1
|
||||
SpriteOldCoordinatX rd 1
|
||||
SpriteOldCoordinatY rd 1
|
||||
|
||||
CursorsID rd 10
|
||||
|
||||
Activate_instrument rb 1 ;if equal to 0 - then copy the current buffer
|
||||
;for editing it, if 1 - the current buffer is not copied
|
||||
save_flag rb 1
|
||||
exit_from_work_arrea rb 1
|
||||
lastik_is_active rb 1
|
||||
instrument_used rb 1
|
||||
DrawSprite_flag rb 1
|
||||
Paste_flag rb 1
|
||||
;---------------------------------------------------------------------
|
||||
IncludeUGlobals
|
||||
;---------------------------------------------------------------------
|
||||
align 4
|
||||
file_path rb 4096
|
||||
filename_area rb 256
|
||||
temp_dir_pach rb 4096
|
||||
library_path rb 4096
|
||||
cur_dir_path rb 4096
|
||||
procinfo: rb 1024
|
||||
align 4
|
||||
syscolors rb 192
|
||||
syscolors_end:
|
||||
;---------------------------------------------------------------------
|
||||
align 4
|
||||
rb 4096
|
||||
stacktop:
|
||||
;---------------------------------------------------------------------
|
||||
I_END:
|
||||
|
@@ -1,3 +1,6 @@
|
||||
; SPDX-License-Identifier: NOASSERTION
|
||||
;
|
||||
|
||||
format binary as ""
|
||||
|
||||
use32
|
||||
@@ -13,13 +16,13 @@ __DEBUG_LEVEL__ = 1
|
||||
|
||||
LG_TRACE equ 1
|
||||
|
||||
include '../../../config.inc'
|
||||
include '../../../proc32.inc'
|
||||
include '../../../macros.inc'
|
||||
include '../../../KOSfuncs.inc'
|
||||
include '../../../dll.inc'
|
||||
include '../../../debug-fdo.inc'
|
||||
include '../../../develop/libraries/libs-dev/libimg/libimg.inc'
|
||||
include '../../config.inc'
|
||||
include '../../proc32.inc'
|
||||
include '../../macros.inc'
|
||||
include '../../KOSfuncs.inc'
|
||||
include '../../dll.inc'
|
||||
include '../../debug-fdo.inc'
|
||||
include '../../develop/libraries/libs-dev/libimg/libimg.inc'
|
||||
|
||||
|
||||
KEY_MOVE_PIXELS = 50
|
||||
|
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user