develop/libraries/box_lib: Post-SVN tidy
Some checks failed
Build system / Check kernel codestyle (pull_request) Successful in 25s
Build system / Build (pull_request) Failing after 35s

- Move source code from `trunk` into program root directory.
- Update build files and ASM include paths.
- Note: Line endings standardised from `CRLF` > `LF`, so best to view diffs with whitespace changes hidden.
This commit is contained in:
2025-05-24 20:04:47 +01:00
parent c8cc441230
commit 37eb932a69
86 changed files with 20910 additions and 20743 deletions

View File

@@ -1,3 +1,7 @@
; SPDX-License-Identifier: NOASSERTION
;
format coff format coff
use32 ; Tell compiler to use 32 bit instructions use32 ; Tell compiler to use 32 bit instructions
@@ -7,7 +11,7 @@ include '../../../programs/proc32.inc'
include '../../../programs/macros.inc' include '../../../programs/macros.inc'
purge section,mov,add,sub purge section,mov,add,sub
include '../../../programs/develop/libraries/box_lib/trunk/box_lib.mac' include '../../../programs/develop/libraries/box_lib/box_lib.mac'
include '../../../programs/system/run/trunk/txtbut.inc' include '../../../programs/system/run/trunk/txtbut.inc'
include '../../../programs/dll.inc' include '../../../programs/dll.inc'
@@ -159,8 +163,8 @@ public path_show_draw as '_path_show_draw'
public fb_draw_panel as '_filebrowse_draw' public fb_draw_panel as '_filebrowse_draw'
public fb_mouse as '_filebrowse_mouse' public fb_mouse as '_filebrowse_mouse'
public fb_key as '_filebrowse_key' public fb_key as '_filebrowse_key'
public ted_but_sumb_upper as '_ted_but_sumb_upper' public ted_but_sumb_upper as '_ted_but_sumb_upper'
public ted_but_sumb_lover as '_ted_but_sumb_lover' public ted_but_sumb_lover as '_ted_but_sumb_lover'
public ted_but_convert_by_table as '_ted_but_convert_by_table' public ted_but_convert_by_table as '_ted_but_convert_by_table'

View File

@@ -1,3 +1,9 @@
; SPDX-License-Identifier: NOASSERTION
;
; Text encoded with Code Page 866 - Cyrillic
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;; ;; ;;
;; flat assembler source ;; ;; flat assembler source ;;
@@ -41,7 +47,7 @@ include '../../../../macros.inc'
purge add,sub ; macros.inc does incorrect substitution purge add,sub ; macros.inc does incorrect substitution
include 'fasm.inc' include 'fasm.inc'
include '../../../../develop/libraries/box_lib/trunk/box_lib.mac' include '../../../../develop/libraries/box_lib/box_lib.mac'
include '../../../../KOSfuncs.inc' include '../../../../KOSfuncs.inc'
include '../../../../load_lib.mac' include '../../../../load_lib.mac'
@use_library @use_library
@@ -61,9 +67,9 @@ START: ; Start of execution
cmp [params],0 cmp [params],0
jz start_1 jz start_1
;---------GerdtR ;---------GerdtR
or ecx,-1 or ecx,-1
mov esi,params mov esi,params
cmp byte[esi],' ' cmp byte[esi],' '
jne @f jne @f
@@ -118,7 +124,7 @@ NoOutDebugInfo:
pop ecx pop ecx
mov edi,path mov edi,path
rep stosd rep stosd
mov esi,params mov esi,params
; DEBUGF "params: %s\n",esi ; DEBUGF "params: %s\n",esi
mov edi,infile mov edi,infile
@@ -164,17 +170,17 @@ init_checkboxes2 ch1_dbg,ch1_dbg+ch_struc_size
red: ; Redraw red: ; Redraw
call draw_window call draw_window
still: still:
mcall 10 ; Wait here for event mcall 10 ; Wait here for event
cmp al,6 cmp al,6
je call_mouse je call_mouse
dec eax dec eax
je red ; Redraw request je red ; Redraw request
dec eax dec eax
jne button ; Button in buffer jne button ; Button in buffer
key: ; Key key: ; Key
mcall 2 ; Read it and ignore mcall 2 ; Read it and ignore
push dword edit1 push dword edit1
call [edit_box_key] call [edit_box_key]
push dword edit2 push dword edit2
@@ -194,7 +200,7 @@ button: ; Button in Window
or eax,-1 or eax,-1
mcall mcall
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
noclose: noclose:
cmp ah,5 ;press button for OpenDialog cmp ah,5 ;press button for OpenDialog
jne @f jne @f
call fun_opn_dlg call fun_opn_dlg
@@ -203,7 +209,7 @@ noclose:
je start je start
cmp ah,3 ; Start compiled file cmp ah,3 ; Start compiled file
jnz norunout jnz norunout
mov edx,outfile mov edx,outfile
call make_fullpaths call make_fullpaths
mcall 70,file_info_start mcall 70,file_info_start
@@ -213,7 +219,7 @@ noclose:
norunout: norunout:
cmp ah,4 cmp ah,4
jnz norundebug jnz norundebug
mov edx,outfile mov edx,outfile
call make_fullpaths call make_fullpaths
mcall 70,file_info_debug mcall 70,file_info_debug
@@ -236,7 +242,7 @@ mouse:
draw_window: draw_window:
pusha pusha
mcall 12,1 ; Start of draw mcall 12,1 ; Start of draw
get_sys_colors 1,0 get_sys_colors 1,0
edit_boxes_set_sys_color edit1,editboxes_end,sc edit_boxes_set_sys_color edit1,editboxes_end,sc
;check_boxes_set_sys_color2 ch1_dbg,ch1_dbg+ch_struc_size,sc ;check_boxes_set_sys_color2 ch1_dbg,ch1_dbg+ch_struc_size,sc
@@ -275,7 +281,7 @@ draw_window:
mcall 8,ebx,<LINE_H*0+3,LINE_H-4>,ID_COMPILE_BTN,[sc.work_button] mcall 8,ebx,<LINE_H*0+3,LINE_H-4>,ID_COMPILE_BTN,[sc.work_button]
mcall ,ebx,<LINE_H*1+3,LINE_H-4>,ID_EXECUTE_BTN mcall ,ebx,<LINE_H*1+3,LINE_H-4>,ID_EXECUTE_BTN
mcall ,ebx,<LINE_H*2+3,LINE_H-4>,ID_EXECDBG_BTN mcall ,ebx,<LINE_H*2+3,LINE_H-4>,ID_EXECDBG_BTN
mcall ,<5,62>,<LINE_H*2+3,LINE_H-5>,ID_OPENDLG_BTN mcall ,<5,62>,<LINE_H*2+3,LINE_H-5>,ID_OPENDLG_BTN
mov ecx, [sc.work_text] mov ecx, [sc.work_text]
@@ -297,10 +303,10 @@ draw_window:
mcall ,ebx,ecx,s_run mcall ,ebx,ecx,s_run
add ebx,LINE_H add ebx,LINE_H
mcall ,ebx,ecx,s_debug mcall ,ebx,ecx,s_debug
mpack ebx,MAGIC1+6,1+ 14/2-3+ 14*0 mpack ebx,MAGIC1+6,1+ 14/2-3+ 14*0
mov esi,[pinfo.client_box.width] mov esi,[pinfo.client_box.width]
sub esi,MAGIC1*2+6+3 sub esi,MAGIC1*2+6+3
mov eax,esi mov eax,esi
mov cl,6 mov cl,6
div cl div cl
@@ -311,14 +317,14 @@ draw_window:
movzx esi,al movzx esi,al
call draw_messages call draw_messages
mov eax,dword [pinfo.client_box.width] mov eax,dword [pinfo.client_box.width]
sub eax,[edit1.left] sub eax,[edit1.left]
sub eax,RIGHT_BTN_W+6 sub eax,RIGHT_BTN_W+6
mov dword[edit1.width],eax ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> mov dword[edit1.width],eax ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
mov dword[edit2.width],eax mov dword[edit2.width],eax
mov dword[edit3.width],eax mov dword[edit3.width],eax
push dword edit1 push dword edit1
call [edit_box_draw] call [edit_box_draw]
push dword edit2 push dword edit2
@@ -327,7 +333,7 @@ draw_window:
call [edit_box_draw] call [edit_box_draw]
push dword ch1_dbg push dword ch1_dbg
call [check_box_draw] call [check_box_draw]
.end: .end:
mcall 12,2 ; End of Draw mcall 12,2 ; End of Draw
popa popa
ret ret
@@ -362,7 +368,7 @@ fun_opn_dlg: ;
repne scasb repne scasb
cmp byte[edi-2],'/' cmp byte[edi-2],'/'
jne .no_slash jne .no_slash
dec edi ;<3B><20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><>, <20><> <20><><EFBFBD><EFBFBD><><E3AAAE><EFBFBD><E7A8A2><EFBFBD> <20><> 1 ᨬ<><E1A8AC><EFBFBD> dec edi ;<3B><20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><>, <20><> <20><><EFBFBD><EFBFBD><><E3AAAE><EFBFBD><E7A8A2><EFBFBD> <20><> 1 ᨬ<><E1A8AC><EFBFBD>
.no_slash: .no_slash:
mov byte[edi-1],'/' ;<3B><EFBFBD><E2A0A2> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><> mov byte[edi-1],'/' ;<3B><EFBFBD><E2A0A2> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><>
@@ -390,7 +396,7 @@ fun_opn_dlg: ;
sub esi,5 sub esi,5
cmp esi,[edit2.text] cmp esi,[edit2.text]
jle .short_fn jle .short_fn
mov byte[esi],0 mov byte[esi],0
sub dword [edit2.size],4 sub dword [edit2.size],4
sub dword [edit2.pos],4 sub dword [edit2.pos],4
@@ -416,20 +422,20 @@ draw_messages:
msub [bottom_right],7,11 msub [bottom_right],7,11
add [bottom_right],7 shl 16 + 53 add [bottom_right],7 shl 16 + 53
mcall 13,,,0xFeFefe ; clear work area mcall 13,,,0xFeFefe ; clear work area
; draw top shadow ; draw top shadow
push ecx push ecx
mov cx,1 mov cx,1
mov edx,0xDADEDA mov edx,0xDADEDA
mcall mcall
; draw left shadow ; draw left shadow
pop ecx pop ecx
push ebx push ebx
mov bx,1 mov bx,1
mcall mcall
pop ebx pop ebx
_cy = 0 _cy = 0
_sy = 2 _sy = 2
_cx = 4 _cx = 4
@@ -621,12 +627,12 @@ start:
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
mov [input_file],infile mov [input_file],infile
mov [output_file],outfile mov [output_file],outfile
call init_memory call init_memory
call make_timestamp call make_timestamp
mov [start_time],eax mov [start_time],eax
call preprocessor call preprocessor
call parser call parser
call assembler call assembler
@@ -635,7 +641,7 @@ start:
call symbol_dump call symbol_dump
@@: @@:
call formatter call formatter
call display_user_messages call display_user_messages
movzx eax,[current_pass] movzx eax,[current_pass]
inc eax inc eax
@@ -666,7 +672,7 @@ display_bytes_count:
mov esi,_bytes_suffix mov esi,_bytes_suffix
call display_string call display_string
xor al,al xor al,al
cmp [_run_outfile],0 cmp [_run_outfile],0
je @f je @f
mov edx,outfile mov edx,outfile

View File

@@ -27,7 +27,7 @@ include '../../proc32.inc'
include '../../macros.inc' ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E1A5AC><EFBFBD><EFBFBD><EFBFBD><E9A8AA>! include '../../macros.inc' ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E1A5AC><EFBFBD><EFBFBD><EFBFBD><E9A8AA>!
include '../../KOSfuncs.inc' include '../../KOSfuncs.inc'
include '../../load_lib.mac' include '../../load_lib.mac'
include '../../develop/libraries/box_lib/trunk/box_lib.mac' include '../../develop/libraries/box_lib/box_lib.mac'
include 'lang.inc' ; Language support for locales: ru_RU (CP866), en_US. include 'lang.inc' ; Language support for locales: ru_RU (CP866), en_US.
@use_library @use_library

View File

@@ -69,7 +69,7 @@ include 'lang.inc' ; Language support for locales: ru_RU (CP866), en_US.
include '../../KOSfuncs.inc' include '../../KOSfuncs.inc'
include '../../config.inc' ; for nightbuild include '../../config.inc' ; for nightbuild
include '../../macros.inc' include '../../macros.inc'
include '../libraries/box_lib/trunk/box_lib.mac' include '../libraries/box_lib/box_lib.mac'
include '../../load_lib.mac' include '../../load_lib.mac'
@use_library @use_library

View File

@@ -1,3 +1,9 @@
; SPDX-License-Identifier: NOASSERTION
;
; Text encoded with Code Page 866 - Cyrillic
use32 use32
org 0 org 0
db 'MENUET01' ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><EFBFBD><E1AFAE><EFBFBD><EFA5AC><EFBFBD><><E4A0A9> <20><EFBFBD><E1A5A3> 8 <20><><EFBFBD><EFBFBD> db 'MENUET01' ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><EFBFBD><E1AFAE><EFBFBD><EFA5AC><EFBFBD><><E4A0A9> <20><EFBFBD><E1A5A3> 8 <20><><EFBFBD><EFBFBD>
@@ -11,7 +17,7 @@ include '../../KOSfuncs.inc'
include '../../develop/libraries/libs-dev/libimg/libimg.inc' include '../../develop/libraries/libs-dev/libimg/libimg.inc'
include '../../load_img.inc' include '../../load_img.inc'
include '../../load_lib.mac' include '../../load_lib.mac'
include '../../develop/libraries/box_lib/trunk/box_lib.mac' include '../../develop/libraries/box_lib/box_lib.mac'
include '../../develop/libraries/TinyGL/asm_fork/kosgl.inc' include '../../develop/libraries/TinyGL/asm_fork/kosgl.inc'
include '../../develop/libraries/TinyGL/asm_fork/opengl_const.inc' include '../../develop/libraries/TinyGL/asm_fork/opengl_const.inc'
include 'lang.inc' ; Language support for locales: ru_RU (CP866), en_US. include 'lang.inc' ; Language support for locales: ru_RU (CP866), en_US.

View File

@@ -1,3 +1,9 @@
; SPDX-License-Identifier: NOASSERTION
;
; Text encoded with Code Page 866 - Cyrillic
use32 use32
org 0 org 0
db 'MENUET01' ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><EFBFBD><E1AFAE><EFBFBD><EFA5AC><EFBFBD><><E4A0A9> <20><EFBFBD><E1A5A3> 8 <20><><EFBFBD><EFBFBD> db 'MENUET01' ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><EFBFBD><E1AFAE><EFBFBD><EFA5AC><EFBFBD><><E4A0A9> <20><EFBFBD><E1A5A3> 8 <20><><EFBFBD><EFBFBD>
@@ -11,7 +17,7 @@ include '../../KOSfuncs.inc'
include '../../develop/libraries/libs-dev/libimg/libimg.inc' include '../../develop/libraries/libs-dev/libimg/libimg.inc'
include '../../load_img.inc' include '../../load_img.inc'
include '../../load_lib.mac' include '../../load_lib.mac'
include '../../develop/libraries/box_lib/trunk/box_lib.mac' include '../../develop/libraries/box_lib/box_lib.mac'
include '../../develop/libraries/TinyGL/asm_fork/opengl_const.inc' include '../../develop/libraries/TinyGL/asm_fork/opengl_const.inc'
include 'lang.inc' ; Language support for locales: ru_RU (CP866), en_US. include 'lang.inc' ; Language support for locales: ru_RU (CP866), en_US.
include 'info_fun_float.inc' include 'info_fun_float.inc'

File diff suppressed because it is too large Load Diff

View File

@@ -1,422 +1,424 @@
;***************************************************************************** ; SPDX-License-Identifier: NOASSERTION
; Example for Box_lib: scrollbar, menubar, dinamic_button ;
; Copyright (c) 2009, Marat Zakiyanov aka Mario79, aka Mario
; All rights reserved. ;*****************************************************************************
; ; Example for Box_lib: scrollbar, menubar, dinamic_button
; Redistribution and use in source and binary forms, with or without ; Copyright (c) 2009, Marat Zakiyanov aka Mario79, aka Mario
; modification, are permitted provided that the following conditions are met: ; All rights reserved.
; * Redistributions of source code must retain the above copyright ;
; notice, this list of conditions and the following disclaimer. ; Redistribution and use in source and binary forms, with or without
; * Redistributions in binary form must reproduce the above copyright ; modification, are permitted provided that the following conditions are met:
; notice, this list of conditions and the following disclaimer in the ; * Redistributions of source code must retain the above copyright
; documentation and/or other materials provided with the distribution. ; notice, this list of conditions and the following disclaimer.
; * Neither the name of the <organization> nor the ; * Redistributions in binary form must reproduce the above copyright
; names of its contributors may be used to endorse or promote products ; notice, this list of conditions and the following disclaimer in the
; derived from this software without specific prior written permission. ; documentation and/or other materials provided with the distribution.
; ; * Neither the name of the <organization> nor the
; THIS SOFTWARE IS PROVIDED BY Marat Zakiyanov ''AS IS'' AND ANY ; names of its contributors may be used to endorse or promote products
; EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED ; derived from this software without specific prior written permission.
; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE ;
; DISCLAIMED. IN NO EVENT SHALL <copyright holder> BE LIABLE FOR ANY ; THIS SOFTWARE IS PROVIDED BY Marat Zakiyanov ''AS IS'' AND ANY
; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES ; EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
; (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; ; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ; DISCLAIMED. IN NO EVENT SHALL <copyright holder> BE LIABLE FOR ANY
; ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS ; (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
;****************************************************************************** ; ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
; import_boxlib procedure written by <Lrz> ; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
;--------------------------------------------------------------------- ; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
;******************************************************************************
use32 ; import_boxlib procedure written by <Lrz>
org 0 ;---------------------------------------------------------------------
db 'MENUET01' use32
dd 1 org 0
dd START
dd IM_END db 'MENUET01'
dd I_END dd 1
dd stacktop dd START
dd 0 dd IM_END
dd path dd I_END
dd stacktop
include '../../../../../macros.inc' dd 0
include '../../../../../KOSfuncs.inc' dd path
include '../../../../../load_lib.mac'
@use_library include '../../../../macros.inc'
include '../../../../KOSfuncs.inc'
;--------------------------------------------------------------------- include '../../../../load_lib.mac'
;--- Start of program ---------------------------------------------- @use_library
;---------------------------------------------------------------------
START: ;---------------------------------------------------------------------
mcall 68,11 ;--- Start of program ----------------------------------------------
mcall 66,1,1 ;---------------------------------------------------------------------
mcall 40,0x27 START:
;--------------------------------------------------------------------- mcall 68,11
mcall 66,1,1
load_libraries l_libs_start,end_l_libs mcall 40,0x27
;---------------------------------------------------------------------
test eax,eax
jnz button.exit load_libraries l_libs_start,end_l_libs
; unpack deflate test eax,eax
mov eax,[unpack_DeflateUnpack2] jnz button.exit
mov [deflate_unpack],eax
; unpack deflate
; OpenDialog initialisation mov eax,[unpack_DeflateUnpack2]
push dword OpenDialog_data mov [deflate_unpack],eax
call [OpenDialog_Init]
; OpenDialog initialisation
mov edi,filename_area push dword OpenDialog_data
mov esi,start_temp_file_name call [OpenDialog_Init]
xor eax,eax
cld mov edi,filename_area
@@: mov esi,start_temp_file_name
lodsb xor eax,eax
stosb cld
test eax,eax @@:
jnz @b lodsb
stosb
test eax,eax
; mov ebx,icons_file_name jnz @b
; mov esi,path
; mov edi,file_name
; mov ebx,icons_file_name
copy_path icons_file_name,path,library_path,0 ; mov esi,path
; mov edi,file_name
mcall 70,fileinfo
copy_path icons_file_name,path,library_path,0
mov [fileinfo+0],dword 0
mcall 70,fileinfo
mov ecx,[file_info+32]
mov [fileinfo+12],ecx mov [fileinfo+0],dword 0
mov [img_size],ecx
mov ecx,[file_info+32]
mov [fileinfo+12],ecx
mcall 68,12 mov [img_size],ecx
mov [fileinfo+16],eax mcall 68,12
mov [image_file],eax
mov [fileinfo+16],eax
mcall 70,fileinfo mov [image_file],eax
xor eax,eax
mov [return_code],eax mcall 70,fileinfo
; mov eax,image_file
push image_file xor eax,eax
call [cnv_png_import.Start] mov [return_code],eax
; mov eax,image_file
mov ecx,[image_file] push image_file
mcall 68,13, call [cnv_png_import.Start]
cmp [return_code],dword 0 mov ecx,[image_file]
jne button.exit mcall 68,13,
mov ebx,[raw_pointer] cmp [return_code],dword 0
mov eax,[ebx+4] jne button.exit
; set of button size
mov [dinamic_button_data_1.size_x],ax mov ebx,[raw_pointer]
mov [dinamic_button_data_1.size_y],ax mov eax,[ebx+4]
mov [dinamic_button_data_2.size_x],ax ; set of button size
mov [dinamic_button_data_2.size_y],ax mov [dinamic_button_data_1.size_x],ax
mov eax,[ebx+12] mov [dinamic_button_data_1.size_y],ax
; set of RAW resolution to pixel mov [dinamic_button_data_2.size_x],ax
mov [dinamic_button_data_1.resolution_raw],eax mov [dinamic_button_data_2.size_y],ax
mov [dinamic_button_data_2.resolution_raw],eax mov eax,[ebx+12]
mov eax,[ebx+20] ; set of RAW resolution to pixel
add eax,ebx mov [dinamic_button_data_1.resolution_raw],eax
; set RAW palette, use else resolution 8bit or less mov [dinamic_button_data_2.resolution_raw],eax
mov [dinamic_button_data_1.palette_raw],eax mov eax,[ebx+20]
mov [dinamic_button_data_2.palette_raw],eax add eax,ebx
mov eax,[ebx+28] ; set RAW palette, use else resolution 8bit or less
add eax,ebx mov [dinamic_button_data_1.palette_raw],eax
; set RAW area for passive button mov [dinamic_button_data_2.palette_raw],eax
mov [dinamic_button_data_1.passive_raw],eax mov eax,[ebx+28]
mov [dinamic_button_data_2.passive_raw],eax add eax,ebx
mov ecx,[ebx+4] ; set RAW area for passive button
imul ecx,[ebx+4] mov [dinamic_button_data_1.passive_raw],eax
imul ecx,[ebx+12] mov [dinamic_button_data_2.passive_raw],eax
shr ecx,3 mov ecx,[ebx+4]
add eax,ecx imul ecx,[ebx+4]
; set RAW area for active button imul ecx,[ebx+12]
mov [dinamic_button_data_1.active_raw],eax shr ecx,3
mov [dinamic_button_data_2.active_raw],eax add eax,ecx
add eax,ecx ; set RAW area for active button
; RAW area for click button mov [dinamic_button_data_1.active_raw],eax
mov [dinamic_button_data_1.click_raw],eax mov [dinamic_button_data_2.active_raw],eax
mov [dinamic_button_data_2.click_raw],eax add eax,ecx
;--------------------------------------------------------------------- ; RAW area for click button
red: mov [dinamic_button_data_1.click_raw],eax
call draw_window mov [dinamic_button_data_2.click_raw],eax
still: ;---------------------------------------------------------------------
mcall 10 red:
call draw_window
cmp eax,1 still:
je red mcall 10
cmp eax,2
je key cmp eax,1
cmp eax,3 je red
je button cmp eax,2
cmp eax,6 je key
je mouse cmp eax,3
jmp still je button
;--------------------------------------------------------------------- cmp eax,6
key: je mouse
mcall 2 jmp still
jmp still ;---------------------------------------------------------------------
;--------------------------------------------------------------------- key:
button: mcall 2
mcall 17 jmp still
cmp ah,1 ;---------------------------------------------------------------------
jne still button:
.exit: mcall 17
mcall -1 cmp ah,1
;--------------------------------------------------------------------- jne still
mouse: .exit:
;----------------------------------------------- mcall -1
cmp [scroll_bar_data_horizontal.delta2],0 ;---------------------------------------------------------------------
jne .horizontal mouse:
.vertical: ;-----------------------------------------------
mov eax,[scroll_bar_data_vertical.max_area] cmp [scroll_bar_data_horizontal.delta2],0
cmp eax,[scroll_bar_data_vertical.cur_area] jne .horizontal
jbe .horizontal .vertical:
; mouse event for Vertical ScrollBar mov eax,[scroll_bar_data_vertical.max_area]
push dword scroll_bar_data_vertical cmp eax,[scroll_bar_data_vertical.cur_area]
call [scrollbar_ver_mouse] jbe .horizontal
mov eax,scroll_bar_data_vertical.redraw ; mouse event for Vertical ScrollBar
xor ebx,ebx push dword scroll_bar_data_vertical
cmp [eax],ebx call [scrollbar_ver_mouse]
je @f mov eax,scroll_bar_data_vertical.redraw
mov [eax],ebx xor ebx,ebx
jmp .draw_cube cmp [eax],ebx
@@: je @f
cmp [scroll_bar_data_vertical.delta2],0 mov [eax],ebx
jne still jmp .draw_cube
.horizontal: @@:
mov eax,[scroll_bar_data_horizontal.max_area] cmp [scroll_bar_data_vertical.delta2],0
cmp eax,[scroll_bar_data_horizontal.cur_area] jne still
jbe .other .horizontal:
; mouse event for Horizontal ScrollBar mov eax,[scroll_bar_data_horizontal.max_area]
push dword scroll_bar_data_horizontal cmp eax,[scroll_bar_data_horizontal.cur_area]
call [scrollbar_hor_mouse] jbe .other
mov eax,scroll_bar_data_horizontal.redraw ; mouse event for Horizontal ScrollBar
xor ebx,ebx push dword scroll_bar_data_horizontal
cmp [eax],ebx call [scrollbar_hor_mouse]
je .other mov eax,scroll_bar_data_horizontal.redraw
mov [eax],ebx xor ebx,ebx
.draw_cube: cmp [eax],ebx
call draw_cube je .other
jmp still mov [eax],ebx
.other: .draw_cube:
cmp [scroll_bar_data_vertical.delta2],0 call draw_cube
jne still jmp still
cmp [scroll_bar_data_horizontal.delta2],0 .other:
jne still cmp [scroll_bar_data_vertical.delta2],0
;----------------------------------------------- jne still
.menu_bar_1: cmp [scroll_bar_data_horizontal.delta2],0
call .set_mouse_flag jne still
@@: ;-----------------------------------------------
; mouse event for Menu 1 .menu_bar_1:
push dword menu_data_1 call .set_mouse_flag
call [menu_bar_mouse] @@:
cmp [menu_data_1.click],dword 1 ; mouse event for Menu 1
jne .menu_bar_2 push dword menu_data_1
cmp [menu_data_1.cursor_out],dword 0 call [menu_bar_mouse]
jne analyse_out_menu_1 cmp [menu_data_1.click],dword 1
jmp .menu_bar_1 jne .menu_bar_2
;-------------------------------------------- cmp [menu_data_1.cursor_out],dword 0
.menu_bar_2: jne analyse_out_menu_1
; mouse event for Menu 2 jmp .menu_bar_1
push dword menu_data_2 ;--------------------------------------------
call [menu_bar_mouse] .menu_bar_2:
cmp [menu_data_2.click],dword 1 ; mouse event for Menu 2
jne .mouse_dinamic_button push dword menu_data_2
cmp [menu_data_2.cursor_out],dword 0 call [menu_bar_mouse]
jne analyse_out_menu_2 cmp [menu_data_2.click],dword 1
jmp .menu_bar_1 jne .mouse_dinamic_button
;-------------------------------------------- cmp [menu_data_2.cursor_out],dword 0
.mouse_dinamic_button: jne analyse_out_menu_2
; mouse event for Dinamic Button 1 jmp .menu_bar_1
push dword dinamic_button_data_1 ;--------------------------------------------
call [dinamic_button_mouse] .mouse_dinamic_button:
mov eax,dinamic_button_data_1.click ; mouse event for Dinamic Button 1
cmp [eax],dword 1 push dword dinamic_button_data_1
jne @f call [dinamic_button_mouse]
mov [eax],dword 0 mov eax,dinamic_button_data_1.click
jmp about cmp [eax],dword 1
@@: jne @f
; mouse event for Dinamic Button 2 mov [eax],dword 0
push dword dinamic_button_data_2 jmp about
call [dinamic_button_mouse] @@:
mov eax,dinamic_button_data_2.click ; mouse event for Dinamic Button 2
cmp [eax],dword 1 push dword dinamic_button_data_2
jne still ;@f call [dinamic_button_mouse]
mov [eax],dword 0 mov eax,dinamic_button_data_2.click
jmp button.exit cmp [eax],dword 1
;--------------------------------------------------------------------- jne still ;@f
.set_mouse_flag: mov [eax],dword 0
xor eax,eax jmp button.exit
inc eax ;---------------------------------------------------------------------
mov [menu_data_1.get_mouse_flag],eax .set_mouse_flag:
mov [menu_data_2.get_mouse_flag],eax xor eax,eax
ret inc eax
;--------------------------------------------------------------------- mov [menu_data_1.get_mouse_flag],eax
analyse_out_menu_1: mov [menu_data_2.get_mouse_flag],eax
; analyse result of Menu 1 ret
mov eax,[menu_data_1.cursor_out] ;---------------------------------------------------------------------
cmp eax,dword 1 analyse_out_menu_1:
je OpenDialog_start_0 ; analyse result of Menu 1
cmp eax,dword 2 mov eax,[menu_data_1.cursor_out]
je OpenDialog_start_1 cmp eax,dword 1
cmp eax,dword 3 je OpenDialog_start_0
je OpenDialog_start_2 cmp eax,dword 2
cmp eax,dword 4 je OpenDialog_start_1
je button.exit cmp eax,dword 3
jmp still je OpenDialog_start_2
;--------------------------------------------------------------------- cmp eax,dword 4
analyse_out_menu_2: je button.exit
; analyse result of Menu 2 jmp still
cmp [menu_data_2.cursor_out],dword 2 ;---------------------------------------------------------------------
je about analyse_out_menu_2:
jmp still ; analyse result of Menu 2
;--------------------------------------------------------------------- cmp [menu_data_2.cursor_out],dword 2
about: je about
mcall 51,1,thread3,thread jmp still
jmp still ;---------------------------------------------------------------------
;--------------------------------------------------------------------- about:
OpenDialog_start_0: mcall 51,1,thread3,thread
mov [OpenDialog_data.type],0 jmp still
jmp OpenDialog_start ;---------------------------------------------------------------------
OpenDialog_start_1: OpenDialog_start_0:
mov [OpenDialog_data.type],1 mov [OpenDialog_data.type],0
jmp OpenDialog_start jmp OpenDialog_start
OpenDialog_start_2: OpenDialog_start_1:
mov [OpenDialog_data.type],2 mov [OpenDialog_data.type],1
OpenDialog_start: jmp OpenDialog_start
; mov ebx,open_dialog_name OpenDialog_start_2:
; mov esi,path mov [OpenDialog_data.type],2
; mov edi,library_path OpenDialog_start:
; call copy_file_path ; mov ebx,open_dialog_name
; mov esi,path
; copy_path open_dialog_name,path,library_path,0 ; mov edi,library_path
; call copy_file_path
push dword OpenDialog_data
call [OpenDialog_Start] ; copy_path open_dialog_name,path,library_path,0
cmp [OpenDialog_data.status],2 ; OpenDialog does not start push dword OpenDialog_data
je still ; some kind of alternative, instead OpenDialog call [OpenDialog_Start]
cmp [OpenDialog_data.status],1
jne still ; OpenDialog user say cancel cmp [OpenDialog_data.status],2 ; OpenDialog does not start
; copy path je still ; some kind of alternative, instead OpenDialog
; prepare path - PathShow cmp [OpenDialog_data.status],1
push dword PathShow_data_1 jne still ; OpenDialog user say cancel
call [PathShow_prepare] ; copy path
; prepare path - PathShow
call draw_window push dword PathShow_data_1
jmp still ; OpenDialog user selected the target file call [PathShow_prepare]
; [OpenDialog_data.openfile_pach] pointer of area the target file
;--------------------------------------------------------------------- call draw_window
;--------------------------------------------------------------------- jmp still ; OpenDialog user selected the target file
draw_window: ; [OpenDialog_data.openfile_pach] pointer of area the target file
mcall 12,1 ;---------------------------------------------------------------------
mcall 0,<0,400>,<0,400>,0x03AABBCC,0x805080D0,0x005080D0 ;---------------------------------------------------------------------
mcall 71,1,header_1 draw_window:
;--------------------------------------------- mcall 12,1
; draw for Menu 1 mcall 0,<0,400>,<0,400>,0x03AABBCC,0x805080D0,0x005080D0
push dword menu_data_1 mcall 71,1,header_1
call [menu_bar_draw] ;---------------------------------------------
; draw for Menu 2 ; draw for Menu 1
push dword menu_data_2 push dword menu_data_1
call [menu_bar_draw] call [menu_bar_draw]
;--------------------------------------------- ; draw for Menu 2
; draw for Dinamic Button 1 push dword menu_data_2
push dword dinamic_button_data_1 call [menu_bar_draw]
call [dinamic_button_draw] ;---------------------------------------------
; draw for Dinamic Button 2 ; draw for Dinamic Button 1
push dword dinamic_button_data_2 push dword dinamic_button_data_1
call [dinamic_button_draw] call [dinamic_button_draw]
;--------------------------------------------- ; draw for Dinamic Button 2
mcall 13,<170,200>,<25,15>,0xffffb0 push dword dinamic_button_data_2
; mov bx,28 call [dinamic_button_draw]
; add ebx,2 shl 16 ;---------------------------------------------
; mcall 4,,0xC0000000,text_work_area,,0xffffb0 mcall 13,<170,200>,<25,15>,0xffffb0
; draw for PathShow ; mov bx,28
push dword PathShow_data_1 ; add ebx,2 shl 16
call [PathShow_draw] ; mcall 4,,0xC0000000,text_work_area,,0xffffb0
;--------------------------------------------- ; draw for PathShow
; set all_redraw flag for draw all ScrollBar push dword PathShow_data_1
; In some cases it is necessity to draw only the area call [PathShow_draw]
; of moving of a "runner", for acceleration of output - ;---------------------------------------------
; in this case the flag needs to be reset to 0 (zero). ; set all_redraw flag for draw all ScrollBar
xor eax,eax ; In some cases it is necessity to draw only the area
inc eax ; of moving of a "runner", for acceleration of output -
mov [scroll_bar_data_vertical.all_redraw],eax ; in this case the flag needs to be reset to 0 (zero).
mov [scroll_bar_data_horizontal.all_redraw],eax xor eax,eax
inc eax
; draw for Vertical ScrollBar mov [scroll_bar_data_vertical.all_redraw],eax
push dword scroll_bar_data_vertical mov [scroll_bar_data_horizontal.all_redraw],eax
call [scrollbar_ver_draw]
; draw for Horizontal ScrollBar ; draw for Vertical ScrollBar
push dword scroll_bar_data_horizontal push dword scroll_bar_data_vertical
call [scrollbar_hor_draw] call [scrollbar_ver_draw]
; reset all_redraw flag ; draw for Horizontal ScrollBar
xor eax,eax push dword scroll_bar_data_horizontal
mov [scroll_bar_data_vertical.all_redraw],eax call [scrollbar_hor_draw]
mov [scroll_bar_data_horizontal.all_redraw],eax ; reset all_redraw flag
;--------------------------------------------- xor eax,eax
call draw_cube mov [scroll_bar_data_vertical.all_redraw],eax
mcall 12,2 mov [scroll_bar_data_horizontal.all_redraw],eax
ret ;---------------------------------------------
;--------------------------------------------------------------------- call draw_cube
draw_cube: mcall 12,2
mcall 13,<30,301>,<50,301>,0xafafaf ret
mov ecx,[scroll_bar_data_vertical.position] ;---------------------------------------------------------------------
add ecx,50 draw_cube:
shl ecx,16 mcall 13,<30,301>,<50,301>,0xafafaf
mov cx,30 mov ecx,[scroll_bar_data_vertical.position]
mov ebx,[scroll_bar_data_horizontal.position] add ecx,50
add ebx,30 shl ecx,16
shl ebx,16 mov cx,30
mov bx,30 mov ebx,[scroll_bar_data_horizontal.position]
mcall 13,,,0x0 add ebx,30
ret shl ebx,16
;--------------------------------------------------------------------- mov bx,30
include 'data.inc' mcall 13,,,0x0
include 'w_about.inc' ret
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
IM_END: include 'data.inc'
rb 1024 include 'w_about.inc'
thread: ;---------------------------------------------------------------------
;--------------------------------------------------------------------- IM_END:
rb 1024 rb 1024
stacktop: thread:
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
path: rb 1024
rb 4096 stacktop:
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
openfile_pach: path:
rb 4096 rb 4096
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
file_name: openfile_pach:
library_path: rb 4096
rb 4096 ;---------------------------------------------------------------------
;--------------------------------------------------------------------- file_name:
plugin_pach: library_path:
rb 4096 rb 4096
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
text_work_area: plugin_pach:
rb 4096 rb 4096
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
filename_area: text_work_area:
rb 256 rb 4096
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
file_info: filename_area:
rb 40 rb 256
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
procinfo: file_info:
rb 1024 rb 40
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
I_END: procinfo:
rb 1024
;---------------------------------------------------------------------
I_END:

View File

@@ -1,194 +1,200 @@
;§ £®«®¢®ª ¯à¨«®¦¥­¨ï ; SPDX-License-Identifier: NOASSERTION
use32 ; âà ­á«ïâ®à, ¨á¯®«ì§ãî騩 32 à §à來ëå ª®¬ ­¤ë ;
org 0 ; ¡ §®¢ë©  ¤à¥á ª®¤ , ¢á¥£¤  0
db 'MENUET01' ; ¨¤¥­â¨ä¨ª â®à ¨á¯®«­ï¥¬®£® ä ©«  (8 ¡ ©â) ; Text encoded with Code Page 866 - Cyrillic
dd 1 ; ¢¥àá¨ï ä®à¬ â  § £®«®¢ª  ¨á¯®«­ï¥¬®£® ä ©« 
dd start ;  ¤à¥á, ­  ª®â®àë© á¨á⥬  ¯¥à¥¤ ñâ ã¯à ¢«¥­¨¥
; ¯®á«¥ § £à㧪¨ ¯à¨«®¦¥­¨ï ¢ ¯ ¬ïâì ;§ £®«®¢®ª ¯à¨«®¦¥­¨ï
dd i_end ; à §¬¥à ¯à¨«®¦¥­¨ï use32 ; âà ­á«ïâ®à, ¨á¯®«ì§ãî騩 32 à §à來ëå ª®¬ ­¤ë
dd mem ; Ž¡ê¥¬ ¨á¯®«ì§ã¥¬®© ¯ ¬ïâ¨, ¤«ï á⥪  ®â¢¥¤¥¬ 0å100 ¡ ©â ¨ ¢ë஢­¨¬ ­  £à­¨æã 4 ¡ ©â  org 0 ; ¡ §®¢ë©  ¤à¥á ª®¤ , ¢á¥£¤  0
dd mem ; à á¯®«®¦¨¬ ¯®§¨æ¨î á⥪  ¢ ®¡« á⨠¯ ¬ïâ¨, áà §ã §  ⥫®¬ ¯à®£à ¬¬ë. ‚¥à設  á⥪  ¢ ¤¨ ¯ §®­¥ ¯ ¬ïâ¨, 㪠§ ­­®¬ ¢ëè¥ db 'MENUET01' ; ¨¤¥­â¨ä¨ª â®à ¨á¯®«­ï¥¬®£® ä ©«  (8 ¡ ©â)
dd 0 ; 㪠§ â¥«ì ­  áâபã á ¯ à ¬¥âà ¬¨. dd 1 ; ¢¥àá¨ï ä®à¬ â  § £®«®¢ª  ¨á¯®«­ï¥¬®£® ä ©« 
dd cur_dir_path ; 㪠§ â¥«ì ­   ¤à¥á, ªã¤  ¯®¬¥é ¥âáï áâப , ᮤ¥à¦ é ï ¯ãâì ¤® ¯à®£à ¬¬ë ¢ ¬®¬¥­â § ¯ã᪠. dd start ;  ¤à¥á, ­  ª®â®àë© á¨á⥬  ¯¥à¥¤ ñâ ã¯à ¢«¥­¨¥
; ¯®á«¥ § £à㧪¨ ¯à¨«®¦¥­¨ï ¢ ¯ ¬ïâì
include '../../../../../macros.inc' dd i_end ; à §¬¥à ¯à¨«®¦¥­¨ï
include '../../trunk/box_lib.mac' dd mem ; Ž¡ê¥¬ ¨á¯®«ì§ã¥¬®© ¯ ¬ïâ¨, ¤«ï á⥪  ®â¢¥¤¥¬ 0å100 ¡ ©â ¨ ¢ë஢­¨¬ ­  £à­¨æã 4 ¡ ©â 
include '../../../../../KOSfuncs.inc' dd mem ; à á¯®«®¦¨¬ ¯®§¨æ¨î á⥪  ¢ ®¡« á⨠¯ ¬ïâ¨, áà §ã §  ⥫®¬ ¯à®£à ¬¬ë. ‚¥à設  á⥪  ¢ ¤¨ ¯ §®­¥ ¯ ¬ïâ¨, 㪠§ ­­®¬ ¢ëè¥
include '../../../../../load_lib.mac' dd 0 ; 㪠§ â¥«ì ­  áâபã á ¯ à ¬¥âà ¬¨.
@use_library ;use load lib macros dd cur_dir_path ; 㪠§ â¥«ì ­   ¤à¥á, ªã¤  ¯®¬¥é ¥âáï áâப , ᮤ¥à¦ é ï ¯ãâì ¤® ¯à®£à ¬¬ë ¢ ¬®¬¥­â § ¯ã᪠.
start:
;universal load library/librarys include '../../../../macros.inc'
sys_load_library library_name, library_path, system_path, myimport include '../box_lib.mac'
;if return code =-1 then exit, else nornary work include '../../../../KOSfuncs.inc'
cmp eax,-1 include '../../../../load_lib.mac'
jz exit @use_library ;use load lib macros
mcall SF_SET_EVENTS_MASK,0x80000027 ;ãáâ ­®¢¨âì ¬ áªã ¤«ï ®¦¨¤ ¥¬ëå ᮡë⨩ start:
;universal load library/librarys
push dword check1 ;¯®¤áçñâ ¤¨­ë ⥪áâ  ¤«ï Checkbox'®¢ sys_load_library library_name, library_path, system_path, myimport
call [init_checkbox] ;if return code =-1 then exit, else nornary work
cmp eax,-1
push dword check2 jz exit
call [init_checkbox] mcall SF_SET_EVENTS_MASK,0x80000027 ;ãáâ ­®¢¨âì ¬ áªã ¤«ï ®¦¨¤ ¥¬ëå ᮡë⨩
red_win: push dword check1 ;¯®¤áçñâ ¤¨­ë ⥪áâ  ¤«ï Checkbox'®¢
call draw_window ;¯¥à¢®­ ç «ì­® ­¥®¡å®¤¨¬® ­ à¨á®¢ âì ®ª­® call [init_checkbox]
align 4
still: ;®á­®¢­®© ®¡à ¡®â稪 push dword check2
mcall SF_WAIT_EVENT call [init_checkbox]
dec eax
jz red_win red_win:
dec eax call draw_window ;¯¥à¢®­ ç «ì­® ­¥®¡å®¤¨¬® ­ à¨á®¢ âì ®ª­®
jz key align 4
dec eax still: ;®á­®¢­®© ®¡à ¡®â稪
jz button mcall SF_WAIT_EVENT
dec eax
push dword edit1 jz red_win
call [edit_box_mouse] dec eax
jz key
push dword edit2 dec eax
call [edit_box_mouse] jz button
push dword check1 push dword edit1
call [check_box_mouse] call [edit_box_mouse]
push dword check2 push dword edit2
call [check_box_mouse] call [edit_box_mouse]
push dword Option_boxs push dword check1
call [option_box_mouse] call [check_box_mouse]
push dword Option_boxs2 push dword check2
call [option_box_mouse] call [check_box_mouse]
jmp still ;¥á«¨ ­¨ç¥£® ¨§ ¯¥à¥ç¨á«¥­­®£® â® á­®¢  ¢ 横« push dword Option_boxs
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; call [option_box_mouse]
button:
mcall SF_GET_BUTTON push dword Option_boxs2
test ah,ah ;¥á«¨ ¢ ah 0, â® ¯¥à¥©â¨ ­  ®¡à ¡®â稪 ᮡë⨩ still call [option_box_mouse]
jz still
exit: jmp still ;¥á«¨ ­¨ç¥£® ¨§ ¯¥à¥ç¨á«¥­­®£® â® á­®¢  ¢ 横«
mcall SF_TERMINATE_PROCESS ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
key: button:
mcall SF_GET_KEY mcall SF_GET_BUTTON
test ah,ah ;¥á«¨ ¢ ah 0, â® ¯¥à¥©â¨ ­  ®¡à ¡®â稪 ᮡë⨩ still
push dword edit1 jz still
call [edit_box_key] exit:
mcall SF_TERMINATE_PROCESS
push dword edit2 key:
call [edit_box_key] mcall SF_GET_KEY
jmp still push dword edit1
call [edit_box_key]
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
align 4 push dword edit2
draw_window: ;à¨á®¢ ­¨¥ ®ª­  ¯à¨«®¦¥­¨ï call [edit_box_key]
mcall SF_REDRAW, SSF_BEGIN_DRAW
mcall SF_CREATE_WINDOW,(50*65536+390),(30*65536+200),0x33AABBCC,0x805080DD,hed jmp still
push dword edit1 ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
call [edit_box_draw] align 4
draw_window: ;à¨á®¢ ­¨¥ ®ª­  ¯à¨«®¦¥­¨ï
push dword edit2 mcall SF_REDRAW, SSF_BEGIN_DRAW
call [edit_box_draw] mcall SF_CREATE_WINDOW,(50*65536+390),(30*65536+200),0x33AABBCC,0x805080DD,hed
push dword check1 push dword edit1
call [check_box_draw] call [edit_box_draw]
push dword check2 push dword edit2
call [check_box_draw] call [edit_box_draw]
push dword Option_boxs push dword check1
call [option_box_draw] call [check_box_draw]
push dword Option_boxs2 push dword check2
call [option_box_draw] call [check_box_draw]
mcall SF_REDRAW, SSF_END_DRAW push dword Option_boxs
ret call [option_box_draw]
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;DATA ¤ ­­ë¥ push dword Option_boxs2
;‚ᥣ¤  ᮡ«î¤ âì ¯®á«¥¤®¢ â¥«ì­®áâì ¢ ¨¬¥­¨. call [option_box_draw]
system_path db '/sys/lib/'
library_name db 'box_lib.obj',0 mcall SF_REDRAW, SSF_END_DRAW
; …᫨ ¥áâì ¦¥« ­¨¥ ࠧꥤ¨­¨âì, â® ­ã¦­® ¨á¯®«ì§®¢ âì á«¥¤ãîé¨î ª®­áâàãªæ¨î ret
;system_path db '/sys/lib/box_lib.obj',0 ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;... «î¡ ï ¯®á«¥¤®¢ â¥«ì­®áâì ¤àã£¨å ª®¬ ­¤ ¨ ®¯à¥¤¥«¥­¨©. ;DATA ¤ ­­ë¥
;library_name db 'box_lib.obj',0 ;‚ᥣ¤  ᮡ«î¤ âì ¯®á«¥¤®¢ â¥«ì­®áâì ¢ ¨¬¥­¨.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; system_path db '/sys/lib/'
library_name db 'box_lib.obj',0
myimport: ; …᫨ ¥áâì ¦¥« ­¨¥ ࠧꥤ¨­¨âì, â® ­ã¦­® ¨á¯®«ì§®¢ âì á«¥¤ãîé¨î ª®­áâàãªæ¨î
;system_path db '/sys/lib/box_lib.obj',0
edit_box_draw dd aEdit_box_draw ;... «î¡ ï ¯®á«¥¤®¢ â¥«ì­®áâì ¤àã£¨å ª®¬ ­¤ ¨ ®¯à¥¤¥«¥­¨©.
edit_box_key dd aEdit_box_key ;library_name db 'box_lib.obj',0
edit_box_mouse dd aEdit_box_mouse ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
version_ed dd aVersion_ed
myimport:
init_checkbox dd aInit_checkbox
check_box_draw dd aCheck_box_draw edit_box_draw dd aEdit_box_draw
check_box_mouse dd aCheck_box_mouse edit_box_key dd aEdit_box_key
version_ch dd aVersion_ch edit_box_mouse dd aEdit_box_mouse
version_ed dd aVersion_ed
option_box_draw dd aOption_box_draw
option_box_mouse dd aOption_box_mouse init_checkbox dd aInit_checkbox
version_op dd aVersion_op check_box_draw dd aCheck_box_draw
check_box_mouse dd aCheck_box_mouse
dd 0,0 version_ch dd aVersion_ch
aEdit_box_draw db 'edit_box_draw',0 option_box_draw dd aOption_box_draw
aEdit_box_key db 'edit_box_key',0 option_box_mouse dd aOption_box_mouse
aEdit_box_mouse db 'edit_box_mouse',0 version_op dd aVersion_op
aVersion_ed db 'version_ed',0
dd 0,0
aInit_checkbox db 'init_checkbox2',0
aCheck_box_draw db 'check_box_draw2',0 aEdit_box_draw db 'edit_box_draw',0
aCheck_box_mouse db 'check_box_mouse2',0 aEdit_box_key db 'edit_box_key',0
aVersion_ch db 'version_ch2',0 aEdit_box_mouse db 'edit_box_mouse',0
aVersion_ed db 'version_ed',0
aOption_box_draw db 'option_box_draw',0
aOption_box_mouse db 'option_box_mouse',0 aInit_checkbox db 'init_checkbox2',0
aVersion_op db 'version_op',0 aCheck_box_draw db 'check_box_draw2',0
aCheck_box_mouse db 'check_box_mouse2',0
aVersion_ch db 'version_ch2',0
check1 check_box2 (10 shl 16 + 12),(45 shl 16 + 12),5,0x80AABBCC,0,0,check_text1,ch_flag_en
check2 check_box2 (10 shl 16 + 12),(60 shl 16 + 12),6,0x80AABBCC,0,0,check_text2 aOption_box_draw db 'option_box_draw',0
aOption_box_mouse db 'option_box_mouse',0
edit1 edit_box 350,3,5,0xffffff,0x6f9480,0,0xAABBCC,0,308,hed,mouse_dd,ed_focus,hed_end-hed-1,hed_end-hed-1 aVersion_op db 'version_op',0
edit2 edit_box 350,3,25,0xffffff,0x6a9480,0,0,0,99,ed_buffer,mouse_dd,ed_figure_only
op1 option_box option_group1,10,90,6,12,0xffffff,0,0,op_text.1,op_text.e1-op_text.1 check1 check_box2 (10 shl 16 + 12),(45 shl 16 + 12),5,0x80AABBCC,0,0,check_text1,ch_flag_en
op2 option_box option_group1,10,105,6,12,0xFFFFFF,0,0,op_text.2,op_text.e2-op_text.2 check2 check_box2 (10 shl 16 + 12),(60 shl 16 + 12),6,0x80AABBCC,0,0,check_text2
op3 option_box option_group1,10,120,6,12,0xffffff,0,0,op_text.3,op_text.e3-op_text.3
op11 option_box option_group2,120,90,6,12,0xffffff,0,0,op_text.1,op_text.e1-op_text.1 edit1 edit_box 350,3,5,0xffffff,0x6f9480,0,0xAABBCC,0,308,hed,mouse_dd,ed_focus,hed_end-hed-1,hed_end-hed-1
op12 option_box option_group2,120,105,6,12,0xffffff,0,0,op_text.2,op_text.e2-op_text.2 edit2 edit_box 350,3,25,0xffffff,0x6a9480,0,0,0,99,ed_buffer,mouse_dd,ed_figure_only
op13 option_box option_group2,120,120,6,12,0xffffff,0,0,op_text.3,op_text.e3-op_text.3
op1 option_box option_group1,10,90,6,12,0xffffff,0,0,op_text.1,op_text.e1-op_text.1
option_group1 dd op1 ;㪠§ â¥«¨, ®­¨ ®â®¡à ¦ îâáï ¯® 㬮«ç ­¨î, ª®£¤  ¢ë¢®¤¨âáï op2 option_box option_group1,10,105,6,12,0xFFFFFF,0,0,op_text.2,op_text.e2-op_text.2
option_group2 dd op12 ;¯à¨«®¦¥­¨¥ op3 option_box option_group1,10,120,6,12,0xffffff,0,0,op_text.3,op_text.e3-op_text.3
Option_boxs dd op1,op2,op3,0 op11 option_box option_group2,120,90,6,12,0xffffff,0,0,op_text.1,op_text.e1-op_text.1
Option_boxs2 dd op11,op12,op13,0 op12 option_box option_group2,120,105,6,12,0xffffff,0,0,op_text.2,op_text.e2-op_text.2
op13 option_box option_group2,120,120,6,12,0xffffff,0,0,op_text.3,op_text.e3-op_text.3
hed db 'BOXs load from lib <Lrz> date 27.04.2009',0
hed_end: option_group1 dd op1 ;㪠§ â¥«¨, ®­¨ ®â®¡à ¦ îâáï ¯® 㬮«ç ­¨î, ª®£¤  ¢ë¢®¤¨âáï
option_group2 dd op12 ;¯à¨«®¦¥­¨¥
rb 256 Option_boxs dd op1,op2,op3,0
check_text1 db 'First checkbox',0 Option_boxs2 dd op11,op12,op13,0
check_text2 db 'Second checkbox',0
hed db 'BOXs load from lib <Lrz> date 27.04.2009',0
op_text: ; ‘®¯à®¢®¦¤ î騩 ⥪áâ ¤«ï Optionbox'  hed_end:
.1 db 'Option_Box #1'
.e1: rb 256
.2 db 'Option_Box #2' check_text1 db 'First checkbox',0
.e2: check_text2 db 'Second checkbox',0
.3 db 'Option_Box #3'
.e3: op_text: ; ‘®¯à®¢®¦¤ î騩 ⥪áâ ¤«ï Optionbox' 
ed_buffer rb 100 .1 db 'Option_Box #1'
;----------------------- .e1:
;sc system_colors .2 db 'Option_Box #2'
.e2:
mouse_dd rd 1 .3 db 'Option_Box #3'
p_info process_information .e3:
cur_dir_path rb 4096 ed_buffer rb 100
library_path rb 4096 ;-----------------------
i_end: ;sc system_colors
rb 1024
mem: mouse_dd rd 1
p_info process_information
cur_dir_path rb 4096
library_path rb 4096
i_end:
rb 1024
mem:

View File

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -1,171 +1,177 @@
; <EFBFBD>à®á⮩ ¯à¨¬¥à ¯à®£à ¬¬ë ¤«ï KolibriOS ; SPDX-License-Identifier: NOASSERTION
; ®§¢ã稢 ¥â ª®¤ ­ ¦ â®© ª« ¢¨è¨ ;
; - ¯¥à¥¤¥« ­ ª ª ¯à¨¬¥à ¨á¯®«ì§®¢ ­¨ï tooltip
; Text encoded with Code Page 866 - Cyrillic
use32 ; ¢ª«îç¨âì 32-¡¨â­ë© ०¨¬  áᥬ¡«¥à 
org 0 ;  ¤à¥á æ¨ï á ­ã«ï
; <20>à®á⮩ ¯à¨¬¥à ¯à®£à ¬¬ë ¤«ï KolibriOS
db 'MENUET01' ; 8-¡ ©â­ë© ¨¤¥­â¨ä¨ª â®à MenuetOS ; ®§¢ã稢 ¥â ª®¤ ­ ¦ â®© ª« ¢¨è¨
dd 1 ; ¢¥àá¨ï § £®«®¢ª  (¢á¥£¤  1) ; - ¯¥à¥¤¥« ­ ª ª ¯à¨¬¥à ¨á¯®«ì§®¢ ­¨ï tooltip
dd START ;  ¤à¥á ¯¥à¢®© ª®¬ ­¤ë
dd CODE_END ; à §¬¥à ¯à®£à ¬¬ë use32 ; ¢ª«îç¨âì 32-¡¨â­ë© ०¨¬  áᥬ¡«¥à 
dd DATA_END ; ª®«¨ç¥á⢮ ¯ ¬ï⨠org 0 ;  ¤à¥á æ¨ï á ­ã«ï
dd STACK_END ;  ¤à¥á ¢¥à設ë áâíª 
dd 0 ;  ¤à¥á ¡ãä¥à  ¤«ï ¯ à ¬¥â஢ db 'MENUET01' ; 8-¡ ©â­ë© ¨¤¥­â¨ä¨ª â®à MenuetOS
dd cur_dir_path ; 㪠§ â¥«ì ­   ¤à¥á, ªã¤  ¯®¬¥é ¥âáï áâப , ᮤ¥à¦ é ï ¯ãâì ¤® ¯à®£à ¬¬ë ¢ ¬®¬¥­â § ¯ã᪠. dd 1 ; ¢¥àá¨ï § £®«®¢ª  (¢á¥£¤  1)
dd START ;  ¤à¥á ¯¥à¢®© ª®¬ ­¤ë
include '../../../../../proc32.inc' dd CODE_END ; à §¬¥à ¯à®£à ¬¬ë
include '../../../../../macros.inc' dd DATA_END ; ª®«¨ç¥á⢮ ¯ ¬ïâ¨
include '../../../../../KOSfuncs.inc' dd STACK_END ;  ¤à¥á ¢¥à設ë áâíª 
include '../../../../../dll.inc' ; malloc fn dd 0 ;  ¤à¥á ¡ãä¥à  ¤«ï ¯ à ¬¥â஢
include '../../trunk/box_lib.mac' dd cur_dir_path ; 㪠§ â¥«ì ­   ¤à¥á, ªã¤  ¯®¬¥é ¥âáï áâப , ᮤ¥à¦ é ï ¯ãâì ¤® ¯à®£à ¬¬ë ¢ ¬®¬¥­â § ¯ã᪠.
include '../../../../../load_lib.mac'
include '../../../../proc32.inc'
include '../../../../macros.inc'
;--------------------------------------------------------------------- include '../../../../KOSfuncs.inc'
;--- <20>€—€Ž <20><>Žƒ<C5BD>€ŒŒ ---------------------------------------------- include '../../../../dll.inc' ; malloc fn
;--------------------------------------------------------------------- include '../box_lib.mac'
; íâ®â ¬ ªà®á ®¡ï§ â¥«¥­ ¤«ï ¢á¥å ª®¬¯®­¥â®¢, ¨á¯®«ì§ãîé¨å heap include '../../../../load_lib.mac'
; ªà®¬¥ ⮣®, ®¡ï§ â¥«ì­® ¨¬®àâ¨à®¢ âì lib_init - ¯à¨ ¨¬¯®à⥠®¯à¥¤¥«ïîâáï
; ä㭪樨 娯  ¤«ï ¡¨¡«¨®â¥ª¨
@use_library mem.Alloc,mem.Free,mem.ReAlloc,dll.Load ;---------------------------------------------------------------------
;--- <20>€—€Ž <20><>Žƒ<C5BD>€ŒŒ ----------------------------------------------
START: ;---------------------------------------------------------------------
;--------------------------------------------------------------------- ; íâ®â ¬ ªà®á ®¡ï§ â¥«¥­ ¤«ï ¢á¥å ª®¬¯®­¥â®¢, ¨á¯®«ì§ãîé¨å heap
;--- ˆ<>ˆˆˆ‡€ˆŸ ---------------------------------------- ; ªà®¬¥ ⮣®, ®¡ï§ â¥«ì­® ¨¬®àâ¨à®¢ âì lib_init - ¯à¨ ¨¬¯®à⥠®¯à¥¤¥«ïîâáï
;--------------------------------------------------------------------- ; ä㭪樨 娯  ¤«ï ¡¨¡«¨®â¥ª¨
mcall 68, 11 @use_library mem.Alloc,mem.Free,mem.ReAlloc,dll.Load
mcall 40, $C0000027 ; ¬ áª  ᮡë⨩ - ¬ëèì ⮫쪮 ¢  ªâ¨¢­®¬ ®ª­¥ START:
;---------------------------------------------------------------------
sys_load_library lib_name, lib_path, sys_path, myimport ;--- ˆ<>ˆˆˆ‡€ˆŸ ----------------------------------------
test eax,eax ;---------------------------------------------------------------------
jz @f mcall 68, 11
mcall -1 ; alarm exit
@@: mcall 40, $C0000027 ; ¬ áª  ᮡë⨩ - ¬ëèì ⮫쪮 ¢  ªâ¨¢­®¬ ®ª­¥
sys_load_library lib_name, lib_path, sys_path, myimport
invoke tooltip_init, redbox_tt ; only begin of list test eax,eax
jz @f
red: ; ¯¥à¥à¨á®¢ âì ®ª­® mcall -1 ; alarm exit
@@:
call draw_window ; ¢ë§ë¢ ¥¬ ¯à®æ¥¤ãàã ®âà¨á®¢ª¨ ®ª­ 
;--------------------------------------------------------------------- invoke tooltip_init, redbox_tt ; only begin of list
;--- –ˆŠ‹ Ž<><C5BD><EFBFBD>ŽŠˆ Ž<E28098>ˆ‰ ----------------------------------------
;--------------------------------------------------------------------- red: ; ¯¥à¥à¨á®¢ âì ®ª­®
still: call draw_window ; ¢ë§ë¢ ¥¬ ¯à®æ¥¤ãàã ®âà¨á®¢ª¨ ®ª­ 
mcall 23, 5 ; äã­ªæ¨ï 23 - ¦¤ âì ᮡëâ¨ï <20>¥ ¡®«¥¥ 祬 0.05á
test eax, eax ; ­¥â ᮡë⨩ - ¯à®¢¥à¨âì à¨á®¢ ­¨¥ âã«â¨¯®¢ ¯® â ©¬¥àã ;---------------------------------------------------------------------
je yield ;--- –ˆŠ‹ Ž<><C5BD><EFBFBD>ŽŠˆ Ž<E28098>ˆ‰ ----------------------------------------
cmp eax,1 ; ¯¥à¥à¨á®¢ âì ®ª­® ? ;---------------------------------------------------------------------
je red ; ¥á«¨ ¤  - ­  ¬¥âªã red
cmp eax,2 ; ­ ¦ â  ª« ¢¨è  ? still:
je key ; ¥á«¨ ¤  - ­  key mcall 23, 5 ; äã­ªæ¨ï 23 - ¦¤ âì ᮡëâ¨ï <20>¥ ¡®«¥¥ 祬 0.05á
cmp eax,3 ; ­ ¦ â  ª­®¯ª  ? test eax, eax ; ­¥â ᮡë⨩ - ¯à®¢¥à¨âì à¨á®¢ ­¨¥ âã«â¨¯®¢ ¯® â ©¬¥àã
je button ; ¥á«¨ ¤  - ­  button je yield
cmp eax,6 ; ᮡë⨥ ¬ëè¨ cmp eax,1 ; ¯¥à¥à¨á®¢ âì ®ª­® ?
je mouse ; ¥á«¨ ¤  - ­  mouse je red ; ¥á«¨ ¤  - ­  ¬¥âªã red
cmp eax,2 ; ­ ¦ â  ª« ¢¨è  ?
jmp still ; ¥á«¨ ¤à㣮¥ ᮡë⨥ - ¢ ­ ç «® 横«  je key ; ¥á«¨ ¤  - ­  key
cmp eax,3 ; ­ ¦ â  ª­®¯ª  ?
je button ; ¥á«¨ ¤  - ­  button
;--------------------------------------------------------------------- cmp eax,6 ; ᮡë⨥ ¬ëè¨
yield: je mouse ; ¥á«¨ ¤  - ­  mouse
invoke tooltip_test_show, redbox_tt
jmp still ; ¢¥à­ãâìáï ª ­ ç «ã 横«  jmp still ; ¥á«¨ ¤à㣮¥ ᮡë⨥ - ¢ ­ ç «® 横« 
mouse:
invoke tooltip_mouse, redbox_tt ;---------------------------------------------------------------------
jmp still ; ¢¥à­ãâìáï ª ­ ç «ã 横«  yield:
invoke tooltip_test_show, redbox_tt
key: ; ­ ¦ â  ª« ¢¨è  ­  ª« ¢¨ âãॠjmp still ; ¢¥à­ãâìáï ª ­ ç «ã 横« 
mcall 2 ; äã­ªæ¨ï 2 - áç¨â âì ª®¤ ᨬ¢®«  (¢ ah)
mouse:
jmp still ; ¢¥à­ãâìáï ª ­ ç «ã 横«  invoke tooltip_mouse, redbox_tt
jmp still ; ¢¥à­ãâìáï ª ­ ç «ã 横« 
;---------------------------------------------------------------------
key: ; ­ ¦ â  ª« ¢¨è  ­  ª« ¢¨ âãà¥
button: mcall 2 ; äã­ªæ¨ï 2 - áç¨â âì ª®¤ ᨬ¢®«  (¢ ah)
mcall 17 ; 17 - ¯®«ãç¨âì ¨¤¥­â¨ä¨ª â®à ­ ¦ â®© ª­®¯ª¨
jmp still ; ¢¥à­ãâìáï ª ­ ç «ã 横« 
cmp ah, 1 ; ¥á«¨ <20>… ­ ¦ â  ª­®¯ª  á ­®¬¥à®¬ 1,
jne still ; ¢¥à­ãâìáï ;---------------------------------------------------------------------
pexit: button:
invoke tooltip_delete, redbox_tt ; ®á¢®¡®¦¤ ¥¬ ¯ ¬ïâì mcall 17 ; 17 - ¯®«ãç¨âì ¨¤¥­â¨ä¨ª â®à ­ ¦ â®© ª­®¯ª¨
mcall -1 ; ¨­ ç¥ ª®­¥æ ¯à®£à ¬¬ë
cmp ah, 1 ; ¥á«¨ <20>… ­ ¦ â  ª­®¯ª  á ­®¬¥à®¬ 1,
jne still ; ¢¥à­ãâìáï
;---------------------------------------------------------------------
;--- Ž<><C5BD>…„…<E280B9>ˆˆ Ž<C5BD>ˆŽŠ€ ŽŠ<C5BD>€ ---------------------------------- pexit:
;--------------------------------------------------------------------- invoke tooltip_delete, redbox_tt ; ®á¢®¡®¦¤ ¥¬ ¯ ¬ïâì
mcall -1 ; ¨­ ç¥ ª®­¥æ ¯à®£à ¬¬ë
draw_window:
mcall 12, 1 ; äã­ªæ¨ï 12: á®®¡é¨âì Ž‘ ® ­ ç «¥ ®âà¨á®¢ª¨ ;---------------------------------------------------------------------
;--- Ž<><C5BD>…„…<E280B9>ˆˆ Ž<C5BD>ˆŽŠ€ ŽŠ<C5BD>€ ----------------------------------
mcall 48, 3, sc,sizeof.system_colors ;---------------------------------------------------------------------
mov edx, [sc.work] ; 梥â ä®­  draw_window:
or edx, 0x33000000 ; ¨ ⨯ ®ª­  3
mcall 0, <200,300>, <200,150>, , ,title mcall 12, 1 ; äã­ªæ¨ï 12: á®®¡é¨âì Ž‘ ® ­ ç «¥ ®âà¨á®¢ª¨
; ¢ë¢®¤ ª¢ ¤à â¨ª®¢ mcall 48, 3, sc,sizeof.system_colors
mcall 13, <60,50>, <50,50>, $FF0000
mcall 13, <140,50>, <50,50>, $FF mov edx, [sc.work] ; 梥â ä®­ 
or edx, 0x33000000 ; ¨ ⨯ ®ª­  3
mcall 0, <200,300>, <200,150>, , ,title
mcall 12, 2 ; äã­ªæ¨ï 12.2, § ª®­ç¨«¨ à¨á®¢ âì
; ¢ë¢®¤ ª¢ ¤à â¨ª®¢
ret ; ¢ë室¨¬ ¨§ ¯à®æ¥¤ãàë mcall 13, <60,50>, <50,50>, $FF0000
mcall 13, <140,50>, <50,50>, $FF
CODE_END: ; ¬¥âª  ª®­æ  ¯à®£à ¬¬ë; --------------------------------------------;
mcall 12, 2 ; äã­ªæ¨ï 12.2, § ª®­ç¨«¨ à¨á®¢ âì
; ---------------------------------------------------------------------------- ;
;--------------------------------------------------------------------- ret ; ¢ë室¨¬ ¨§ ¯à®æ¥¤ãàë
;--- „€<E2809E><E282AC><20><>Žƒ<C5BD>€ŒŒ ----------------------------------------------
;---------------------------------------------------------------------
CODE_END: ; ¬¥âª  ª®­æ  ¯à®£à ¬¬ë; --------------------------------------------;
sys_path db '/sys/lib/'
;sys_path db '/tmp0/1/' ; ---------------------------------------------------------------------------- ;
lib_name db 'box_lib.obj',0 ;---------------------------------------------------------------------
cur_dir_path rb 4096 ;--- „€<E2809E><E282AC><20><>Žƒ<C5BD>€ŒŒ ----------------------------------------------
lib_path rb 4096 ;---------------------------------------------------------------------
myimport: sys_path db '/sys/lib/'
dd sz_lib_init ;äã­ªæ¨ï § ¯ã᪠¥âáï ¬ ªà®á®¬ 1 à § ¯à¨ ¯®¤ª«î祭¨¨ ;sys_path db '/tmp0/1/'
;¡¨¡«¨®â¥ª¨, ¯®â®¬ã ¢ ¯à®£à ¬¬¥ ¬¥âª  ­  ­¥¥ ­¥ ­ã¦­  lib_name db 'box_lib.obj',0
tooltip_init dd sz_tooltip_init cur_dir_path rb 4096
tooltip_delete dd sz_tooltip_delete lib_path rb 4096
tooltip_test_show dd sz_tooltip_test_show
tooltip_mouse dd sz_tooltip_mouse myimport:
get_font_size dd sz_get_font_size dd sz_lib_init ;äã­ªæ¨ï § ¯ã᪠¥âáï ¬ ªà®á®¬ 1 à § ¯à¨ ¯®¤ª«î祭¨¨
dd 0,0 ;¡¨¡«¨®â¥ª¨, ¯®â®¬ã ¢ ¯à®£à ¬¬¥ ¬¥âª  ­  ­¥¥ ­¥ ­ã¦­ 
tooltip_init dd sz_tooltip_init
sz_lib_init db 'lib_init',0 tooltip_delete dd sz_tooltip_delete
sz_tooltip_init db 'tooltip_init', 0 tooltip_test_show dd sz_tooltip_test_show
sz_tooltip_delete db 'tooltip_delete', 0 tooltip_mouse dd sz_tooltip_mouse
sz_tooltip_test_show db 'tooltip_test_show', 0 get_font_size dd sz_get_font_size
sz_tooltip_mouse db 'tooltip_mouse', 0 dd 0,0
sz_get_font_size db 'get_font_size', 0
sz_lib_init db 'lib_init',0
sz_tooltip_init db 'tooltip_init', 0
;tooltip txt, next, zone_x, zone_w, zone_y, zone_h, col_txt, col_bkg, tm_wait sz_tooltip_delete db 'tooltip_delete', 0
redbox_tt tooltip redboxtxt, blubox_tt, 60, 50, 50, 50, 0, $FFF473, 100 sz_tooltip_test_show db 'tooltip_test_show', 0
blubox_tt tooltip bluboxtxt, 0, 140, 50, 50, 50, $110000FF, $FFF473, 100 sz_tooltip_mouse db 'tooltip_mouse', 0
sz_get_font_size db 'get_font_size', 0
redboxtxt db 'Red Box Tooltip', 13, 'May be multilined', 13, 13, 'Even with empty lines', 0
bluboxtxt db 'Blue Box Tooltip', 0
;tooltip txt, next, zone_x, zone_w, zone_y, zone_h, col_txt, col_bkg, tm_wait
sc system_colors redbox_tt tooltip redboxtxt, blubox_tt, 60, 50, 50, 50, 0, $FFF473, 100
blubox_tt tooltip bluboxtxt, 0, 140, 50, 50, 50, $110000FF, $FFF473, 100
title db 'Toooltip demo',0
redboxtxt db 'Red Box Tooltip', 13, 'May be multilined', 13, 13, 'Even with empty lines', 0
; stack----------------------------------------------------------------------- ; bluboxtxt db 'Blue Box Tooltip', 0
rb 4096
STACK_END dd ? sc system_colors
DATA_END: ; ¬¥âª  ª®­æ  ¤ ­­ëå ¯à®£à ¬¬ë; ------------------------------------ ; title db 'Toooltip demo',0
; stack----------------------------------------------------------------------- ;
rb 4096
STACK_END dd ?
DATA_END: ; ¬¥âª  ª®­æ  ¤ ­­ëå ¯à®£à ¬¬ë; ------------------------------------ ;

View File

@@ -1,410 +1,416 @@
;***************************************************************************** ; SPDX-License-Identifier: NOASSERTION
; Box_Lib - library of graphical components ;
; Copyright (C) KolibriOS team 2008-2020. All rights reserved.
; ; Text encoded with Code Page Windows 1251 - Cyrillic
; Authors:
; Alexey Teplov aka <Lrz>
; Marat Zakiyanov aka Mario79, aka Mario ;*****************************************************************************
; Evtikhov Maxim aka Maxxxx32 ; Box_Lib - library of graphical components
; Eugene Grechnikov aka Diamond ; Copyright (C) KolibriOS team 2008-2020. All rights reserved.
; hidnplayr ;
; Igor Afanasiev aka IgorA ; Authors:
;***************************************************************************** ; Alexey Teplov aka <Lrz>
; Marat Zakiyanov aka Mario79, aka Mario
format MS COFF ; Evtikhov Maxim aka Maxxxx32
; Eugene Grechnikov aka Diamond
public EXPORTS ; hidnplayr
; Igor Afanasiev aka IgorA
section '.flat' code readable align 16 ;*****************************************************************************
include '../../../../macros.inc'
include '../../../../proc32.inc' format MS COFF
include '../../../../KOSfuncs.inc'
include 'box_lib.mac' ;macro which should make life easier :) public EXPORTS
;include '../../../../debug.inc'
include 'keys.inc' section '.flat' code readable align 16
include '../../../../system/skincfg/trunk/kglobals.inc' include '../../../macros.inc'
include '../../../../system/skincfg/trunk/unpacker.inc' include '../../../proc32.inc'
include '../../../KOSfuncs.inc'
;----------------------------------------------------------------------------- include 'box_lib.mac' ;macro which should make life easier :)
mem.alloc dd ? ;ôóíêöèÿ äëÿ âûäåëåíèÿ ïàìÿòè ;include '../../../debug.inc'
mem.free dd ? ;ôóíêöèÿ äëÿ îñâîáîæäåíèÿ ïàìÿòè include 'keys.inc'
mem.realloc dd ? ;ôóíêöèÿ äëÿ ïåðåðàñïðåäåëåíèÿ ïàìÿòè include '../../../system/skincfg/trunk/kglobals.inc'
dll.load dd ? include '../../../system/skincfg/trunk/unpacker.inc'
;---------------------------------------------------- ;-----------------------------------------------------------------------------
include 'editbox.asm' ;editbox mem.alloc dd ? ;ôóíêöèÿ äëÿ âûäåëåíèÿ ïàìÿòè
include 'checkbox.asm' ;checkbox mem.free dd ? ;ôóíêöèÿ äëÿ îñâîáîæäåíèÿ ïàìÿòè
include 'optionbox.asm' ;optionbox mem.realloc dd ? ;ôóíêöèÿ äëÿ ïåðåðàñïðåäåëåíèÿ ïàìÿòè
include 'scrollbar.asm' ;scrollbar dll.load dd ?
include 'd_button.asm' ;dinamic_button
include 'menubar.asm' ;menubar ;----------------------------------------------------
include 'filebrowser.asm' ;filebrowser include 'editbox.asm' ;editbox
include 'tree_list.asm' ;tree_list, list_box include 'checkbox.asm' ;checkbox
include 'pathshow.asm' ;pathshow include 'optionbox.asm' ;optionbox
include 't_edit.asm' ;text_editor include 'scrollbar.asm' ;scrollbar
include 'frame.asm' ;frame include 'd_button.asm' ;dinamic_button
include 'progressbar.asm' ;progressbar include 'menubar.asm' ;menubar
include 'tooltip.asm' ;tooltip include 'filebrowser.asm' ;filebrowser
;-------------------------------------------------- include 'tree_list.asm' ;tree_list, list_box
include 'pathshow.asm' ;pathshow
;input: include 't_edit.asm' ;text_editor
; eax = óêàçàòåëü íà ôóíêöèþ âûäåëåíèÿ ïàìÿòè include 'frame.asm' ;frame
; ebx = ... îñâîáîæäåíèÿ ïàìÿòè include 'progressbar.asm' ;progressbar
; ecx = ... ïåðåðàñïðåäåëåíèÿ ïàìÿòè include 'tooltip.asm' ;tooltip
; edx = ... çàãðóçêè áèáëèîòåêè (ïîêà íå èñïîëüçóåòñÿ) ;--------------------------------------------------
align 16
lib_init: ;input:
mov [mem.alloc], eax ; eax = óêàçàòåëü íà ôóíêöèþ âûäåëåíèÿ ïàìÿòè
mov [mem.free], ebx ; ebx = ... îñâîáîæäåíèÿ ïàìÿòè
mov [mem.realloc], ecx ; ecx = ... ïåðåðàñïðåäåëåíèÿ ïàìÿòè
mov [dll.load], edx ; edx = ... çàãðóçêè áèáëèîòåêè (ïîêà íå èñïîëüçóåòñÿ)
ret align 16
lib_init:
mov [mem.alloc], eax
align 4 mov [mem.free], ebx
proc draw_edge uses eax ebx ecx edx edi esi, box_l:dword, box_t:dword, box_w:dword, box_h:dword,\ mov [mem.realloc], ecx
col_0:dword, col_1:dword, col_2:dword mov [dll.load], edx
ret
mov esi,[col_1]
and esi,111111101111111011111110b
align 4
mov eax,SF_DRAW_RECT proc draw_edge uses eax ebx ecx edx edi esi, box_l:dword, box_t:dword, box_w:dword, box_h:dword,\
;bottom line col_0:dword, col_1:dword, col_2:dword
mov edx,[col_2]
mov ebx,[box_l] mov esi,[col_1]
shl ebx,16 and esi,111111101111111011111110b
add ebx,[box_w]
inc ebx ;äëÿ çàëèâêè äèàãîíàëüíûõ ïèêñåëåé mov eax,SF_DRAW_RECT
mov ecx,[box_t] ;bottom line
add ecx,[box_h] mov edx,[col_2]
shl ecx,16 mov ebx,[box_l]
inc ecx shl ebx,16
add ebx,[box_w]
mov edi,3 ;for cycle inc ebx ;äëÿ çàëèâêè äèàãîíàëüíûõ ïèêñåëåé
@@: mov ecx,[box_t]
;calculate colors add ecx,[box_h]
and edx,111111101111111011111110b shl ecx,16
add edx,esi inc ecx
shr edx,1
;line move up and ->...<- mov edi,3 ;for cycle
sub ecx,1 shl 16 ;move up @@:
add ebx,1 shl 16 ;->... ;calculate colors
sub ebx,2 ;...<- and edx,111111101111111011111110b
;draw line add edx,esi
int 0x40 shr edx,1
dec edi ;line move up and ->...<-
jnz @b sub ecx,1 shl 16 ;move up
add ebx,1 shl 16 ;->...
;right line sub ebx,2 ;...<-
mov edx,[col_2] ;draw line
mov ebx,[box_l] int 0x40
add ebx,[box_w] dec edi
shl ebx,16 jnz @b
inc ebx
mov ecx,[box_t] ;right line
shl ecx,16 mov edx,[col_2]
add ecx,[box_h] mov ebx,[box_l]
add ebx,[box_w]
mov edi,3 ;for cycle shl ebx,16
@@: inc ebx
;calculate colors mov ecx,[box_t]
and edx,111111101111111011111110b shl ecx,16
add edx,esi add ecx,[box_h]
shr edx,1
;line move left and ... mov edi,3 ;for cycle
sub ebx,1 shl 16 ;move left @@:
add ecx,1 shl 16 ;calculate colors
sub ecx,2 and edx,111111101111111011111110b
;draw line add edx,esi
int 0x40 shr edx,1
dec edi ;line move left and ...
jnz @b sub ebx,1 shl 16 ;move left
add ecx,1 shl 16
;top line sub ecx,2
mov edx,[col_0] ;draw line
mov ebx,[box_l] int 0x40
shl ebx,16 dec edi
add ebx,[box_w] jnz @b
mov ecx,[box_t]
shl ecx,16 ;top line
inc ecx mov edx,[col_0]
mov ebx,[box_l]
mov edi,3 ;for cycle shl ebx,16
@@: add ebx,[box_w]
;calculate colors mov ecx,[box_t]
and edx,111111101111111011111110b shl ecx,16
add edx,esi inc ecx
shr edx,1
;line move down and ->...<- mov edi,3 ;for cycle
add ecx,1 shl 16 ;move down @@:
add ebx,1 shl 16 ;->... ;calculate colors
sub ebx,2 ;...<- and edx,111111101111111011111110b
;draw line add edx,esi
int 0x40 shr edx,1
dec edi ;line move down and ->...<-
jnz @b add ecx,1 shl 16 ;move down
add ebx,1 shl 16 ;->...
;left line sub ebx,2 ;...<-
mov edx,[col_0] ;draw line
mov ebx,[box_l] int 0x40
shl ebx,16 dec edi
inc ebx jnz @b
mov ecx,[box_t]
shl ecx,16 ;left line
add ecx,[box_h] mov edx,[col_0]
mov ebx,[box_l]
mov edi,3 ;for cycle shl ebx,16
@@: inc ebx
;calculate colors mov ecx,[box_t]
and edx,111111101111111011111110b shl ecx,16
add edx,esi add ecx,[box_h]
shr edx,1
;line move left and ... mov edi,3 ;for cycle
add ebx,1 shl 16 ;move left @@:
add ecx,1 shl 16 ;calculate colors
sub ecx,2 and edx,111111101111111011111110b
;draw line add edx,esi
int 0x40 shr edx,1
dec edi ;line move left and ...
jnz @b add ebx,1 shl 16 ;move left
add ecx,1 shl 16
ret sub ecx,2
endp ;draw line
int 0x40
dec edi
;äëÿ ðàáîòû ñ KPCK jnz @b
IncludeIGlobals
IncludeUGlobals ret
endp
align 16
EXPORTS:
;äëÿ ðàáîòû ñ KPCK
IncludeIGlobals
dd sz_init, lib_init IncludeUGlobals
dd sz_version, 0x00000001
align 16
dd sz_edit_box, edit_box_draw ;old function name EXPORTS:
dd sz_edit_box_draw, edit_box_draw
dd sz_edit_box_key, edit_box_key
dd sz_edit_box_key_safe, edit_box_key_safe dd sz_init, lib_init
dd sz_edit_box_mouse, edit_box_mouse dd sz_version, 0x00000001
dd sz_edit_box_set_text, edit_box_set_text
dd szVersion_ed, 0x00000001 dd sz_edit_box, edit_box_draw ;old function name
dd sz_edit_box_draw, edit_box_draw
dd sz_init_checkbox, init_checkbox dd sz_edit_box_key, edit_box_key
dd sz_check_box_draw, check_box_draw dd sz_edit_box_key_safe, edit_box_key_safe
dd sz_check_box_mouse, check_box_mouse dd sz_edit_box_mouse, edit_box_mouse
dd szVersion_ch2, 0x00000002 dd sz_edit_box_set_text, edit_box_set_text
dd szVersion_ed, 0x00000001
dd sz_option_box_draw, option_box_draw
dd sz_option_box_mouse, option_box_mouse dd sz_init_checkbox, init_checkbox
dd szVersion_op, 0x00000001 dd sz_check_box_draw, check_box_draw
dd sz_check_box_mouse, check_box_mouse
dd sz_Scrollbar_ver_draw, scroll_bar_vertical.draw dd szVersion_ch2, 0x00000002
dd sz_Scrollbar_ver_mouse, scroll_bar_vertical.mouse
dd sz_Scrollbar_hor_draw, scroll_bar_horizontal.draw dd sz_option_box_draw, option_box_draw
dd sz_Scrollbar_hor_mouse, scroll_bar_horizontal.mouse dd sz_option_box_mouse, option_box_mouse
dd szVersion_scrollbar, 0x00010001 dd szVersion_op, 0x00000001
dd sz_Dbutton_draw, dinamic_button.draw dd sz_Scrollbar_ver_draw, scroll_bar_vertical.draw
dd sz_Dbutton_mouse, dinamic_button.mouse dd sz_Scrollbar_ver_mouse, scroll_bar_vertical.mouse
dd szVersion_dbutton, 0x00010001 dd sz_Scrollbar_hor_draw, scroll_bar_horizontal.draw
dd sz_Scrollbar_hor_mouse, scroll_bar_horizontal.mouse
dd sz_Menu_bar_draw, menu_bar.draw dd szVersion_scrollbar, 0x00010001
dd sz_Menu_bar_mouse, menu_bar.mouse
dd sz_Menu_bar_activate, menu_bar.activate dd sz_Dbutton_draw, dinamic_button.draw
dd szVersion_menu_bar, 0x00010002 dd sz_Dbutton_mouse, dinamic_button.mouse
dd szVersion_dbutton, 0x00010001
dd sz_FileBrowser_draw, fb_draw_panel
dd sz_FileBrowser_mouse, fb_mouse dd sz_Menu_bar_draw, menu_bar.draw
dd sz_FileBrowser_key, fb_key dd sz_Menu_bar_mouse, menu_bar.mouse
dd szVersion_FileBrowser, 0x00010001 dd sz_Menu_bar_activate, menu_bar.activate
dd szVersion_menu_bar, 0x00010002
dd sz_tl_data_init, tl_data_init
dd sz_tl_data_clear, tl_data_clear dd sz_FileBrowser_draw, fb_draw_panel
dd sz_tl_info_clear, tl_info_clear dd sz_FileBrowser_mouse, fb_mouse
dd sz_tl_key, tl_key dd sz_FileBrowser_key, fb_key
dd sz_tl_mouse, tl_mouse dd szVersion_FileBrowser, 0x00010001
dd sz_tl_draw, tl_draw
dd sz_tl_info_undo, tl_info_undo dd sz_tl_data_init, tl_data_init
dd sz_tl_info_redo, tl_info_redo dd sz_tl_data_clear, tl_data_clear
dd sz_tl_node_add, tl_node_add dd sz_tl_info_clear, tl_info_clear
dd sz_tl_node_set_data, tl_node_set_data dd sz_tl_key, tl_key
dd sz_tl_node_get_data, tl_node_get_data dd sz_tl_mouse, tl_mouse
dd sz_tl_node_delete, tl_node_delete dd sz_tl_draw, tl_draw
dd sz_tl_cur_beg, tl_cur_beg dd sz_tl_info_undo, tl_info_undo
dd sz_tl_cur_next, tl_cur_next dd sz_tl_info_redo, tl_info_redo
dd sz_tl_cur_perv, tl_cur_perv dd sz_tl_node_add, tl_node_add
dd sz_tl_node_close_open, tl_node_close_open dd sz_tl_node_set_data, tl_node_set_data
dd sz_tl_node_lev_inc, tl_node_lev_inc dd sz_tl_node_get_data, tl_node_get_data
dd sz_tl_node_lev_dec, tl_node_lev_dec dd sz_tl_node_delete, tl_node_delete
dd sz_tl_node_move_up, tl_node_move_up dd sz_tl_cur_beg, tl_cur_beg
dd sz_tl_node_move_down, tl_node_move_down dd sz_tl_cur_next, tl_cur_next
dd sz_tl_node_poi_get_info, tl_node_poi_get_info dd sz_tl_cur_perv, tl_cur_perv
dd sz_tl_node_poi_get_next_info, tl_node_poi_get_next_info dd sz_tl_node_close_open, tl_node_close_open
dd sz_tl_node_poi_get_data, tl_node_poi_get_data dd sz_tl_node_lev_inc, tl_node_lev_inc
dd sz_tl_save_mem, tl_save_mem dd sz_tl_node_lev_dec, tl_node_lev_dec
dd sz_tl_load_mem, tl_load_mem dd sz_tl_node_move_up, tl_node_move_up
dd sz_tl_get_mem_size, tl_get_mem_size dd sz_tl_node_move_down, tl_node_move_down
dd sz_tl_version_tree_list, 0x00000001 dd sz_tl_node_poi_get_info, tl_node_poi_get_info
dd sz_tl_node_poi_get_next_info, tl_node_poi_get_next_info
dd sz_PathShow_prepare, path_show.prepare dd sz_tl_node_poi_get_data, tl_node_poi_get_data
dd sz_PathShow_draw, path_show.draw dd sz_tl_save_mem, tl_save_mem
dd szVersion_path_show, 0x00010001 dd sz_tl_load_mem, tl_load_mem
dd sz_tl_get_mem_size, tl_get_mem_size
dd sz_ted_but_sumb_upper, ted_but_sumb_upper dd sz_tl_version_tree_list, 0x00000001
dd sz_ted_but_sumb_lover, ted_but_sumb_lover
dd sz_ted_but_convert_by_table, ted_but_convert_by_table dd sz_PathShow_prepare, path_show.prepare
dd sz_ted_can_save, ted_can_save dd sz_PathShow_draw, path_show.draw
dd sz_ted_clear, ted_clear dd szVersion_path_show, 0x00010001
dd sz_ted_delete, ted_delete
dd sz_ted_draw, ted_draw dd sz_ted_but_sumb_upper, ted_but_sumb_upper
dd sz_ted_init, ted_init dd sz_ted_but_sumb_lover, ted_but_sumb_lover
dd sz_ted_init_scroll_bars, ted_init_scroll_bars dd sz_ted_but_convert_by_table, ted_but_convert_by_table
dd sz_ted_init_syntax_file, ted_init_syntax_file dd sz_ted_can_save, ted_can_save
dd sz_ted_is_select, ted_is_select dd sz_ted_clear, ted_clear
dd sz_ted_key, ted_key dd sz_ted_delete, ted_delete
dd sz_ted_mouse, ted_mouse dd sz_ted_draw, ted_draw
dd sz_ted_open_file, ted_open_file dd sz_ted_init, ted_init
dd sz_ted_save_file, ted_save_file dd sz_ted_init_scroll_bars, ted_init_scroll_bars
dd sz_ted_text_add, ted_text_add dd sz_ted_init_syntax_file, ted_init_syntax_file
dd sz_ted_but_select_word, ted_but_select_word dd sz_ted_is_select, ted_is_select
dd sz_ted_but_cut, ted_but_cut dd sz_ted_key, ted_key
dd sz_ted_but_copy, ted_but_copy dd sz_ted_mouse, ted_mouse
dd sz_ted_but_paste, ted_but_paste dd sz_ted_open_file, ted_open_file
dd sz_ted_but_undo, ted_but_undo dd sz_ted_save_file, ted_save_file
dd sz_ted_but_redo, ted_but_redo dd sz_ted_text_add, ted_text_add
dd sz_ted_but_reverse, ted_but_reverse dd sz_ted_but_select_word, ted_but_select_word
dd sz_ted_but_find, ted_but_find dd sz_ted_but_cut, ted_but_cut
dd sz_ted_but_replace, ted_but_replace dd sz_ted_but_copy, ted_but_copy
dd sz_ted_text_colored, ted_text_colored dd sz_ted_but_paste, ted_but_paste
dd sz_ted_go_to_position, ted_go_to_position dd sz_ted_but_undo, ted_but_undo
dd sz_ted_version, 6 dd sz_ted_but_redo, ted_but_redo
dd sz_ted_but_reverse, ted_but_reverse
dd sz_Frame_draw, frame.draw dd sz_ted_but_find, ted_but_find
dd szVersion_frame, 0x00010001 dd sz_ted_but_replace, ted_but_replace
dd sz_ted_text_colored, ted_text_colored
dd sz_progressbar_draw, progressbar_draw dd sz_ted_go_to_position, ted_go_to_position
dd sz_progressbar_progress, progressbar_progress dd sz_ted_version, 6
dd sz_tooltip_init, tooltip_init dd sz_Frame_draw, frame.draw
dd sz_tooltip_delete, tooltip_delete dd szVersion_frame, 0x00010001
dd sz_tooltip_test_show, tooltip_test_show
dd sz_tooltip_mouse, tooltip_mouse dd sz_progressbar_draw, progressbar_draw
dd sz_get_font_size, get_font_size dd sz_progressbar_progress, progressbar_progress
dd 0,0 dd sz_tooltip_init, tooltip_init
dd sz_tooltip_delete, tooltip_delete
dd sz_tooltip_test_show, tooltip_test_show
sz_init db 'lib_init',0 dd sz_tooltip_mouse, tooltip_mouse
sz_version db 'version',0 dd sz_get_font_size, get_font_size
sz_edit_box db 'edit_box',0 dd 0,0
sz_edit_box_draw db 'edit_box_draw',0
sz_edit_box_key db 'edit_box_key',0
sz_edit_box_key_safe db 'edit_box_key_safe',0 sz_init db 'lib_init',0
sz_edit_box_mouse db 'edit_box_mouse',0 sz_version db 'version',0
sz_edit_box_set_text db 'edit_box_set_text',0
szVersion_ed db 'version_ed',0 sz_edit_box db 'edit_box',0
sz_edit_box_draw db 'edit_box_draw',0
sz_init_checkbox db 'init_checkbox2',0 sz_edit_box_key db 'edit_box_key',0
sz_check_box_draw db 'check_box_draw2',0 sz_edit_box_key_safe db 'edit_box_key_safe',0
sz_check_box_mouse db 'check_box_mouse2',0 sz_edit_box_mouse db 'edit_box_mouse',0
szVersion_ch2 db 'version_ch2',0 sz_edit_box_set_text db 'edit_box_set_text',0
szVersion_ed db 'version_ed',0
sz_option_box_draw db 'option_box_draw',0
sz_option_box_mouse db 'option_box_mouse',0 sz_init_checkbox db 'init_checkbox2',0
szVersion_op db 'version_op',0 sz_check_box_draw db 'check_box_draw2',0
sz_check_box_mouse db 'check_box_mouse2',0
sz_Scrollbar_ver_draw db 'scrollbar_v_draw',0 szVersion_ch2 db 'version_ch2',0
sz_Scrollbar_ver_mouse db 'scrollbar_v_mouse',0
sz_Scrollbar_hor_draw db 'scrollbar_h_draw',0 sz_option_box_draw db 'option_box_draw',0
sz_Scrollbar_hor_mouse db 'scrollbar_h_mouse',0 sz_option_box_mouse db 'option_box_mouse',0
szVersion_scrollbar db 'version_scrollbar',0 szVersion_op db 'version_op',0
sz_Dbutton_draw db 'dbutton_draw',0 sz_Scrollbar_ver_draw db 'scrollbar_v_draw',0
sz_Dbutton_mouse db 'dbutton_mouse',0 sz_Scrollbar_ver_mouse db 'scrollbar_v_mouse',0
szVersion_dbutton db 'version_dbutton',0 sz_Scrollbar_hor_draw db 'scrollbar_h_draw',0
sz_Scrollbar_hor_mouse db 'scrollbar_h_mouse',0
sz_Menu_bar_draw db 'menu_bar_draw',0 szVersion_scrollbar db 'version_scrollbar',0
sz_Menu_bar_mouse db 'menu_bar_mouse',0
sz_Menu_bar_activate db 'menu_bar_activate',0 sz_Dbutton_draw db 'dbutton_draw',0
szVersion_menu_bar db 'version_menu_bar',0 sz_Dbutton_mouse db 'dbutton_mouse',0
szVersion_dbutton db 'version_dbutton',0
sz_FileBrowser_draw db 'FileBrowser_draw',0
sz_FileBrowser_mouse db 'FileBrowser_mouse',0 sz_Menu_bar_draw db 'menu_bar_draw',0
sz_FileBrowser_key db 'FileBrowser_key',0 sz_Menu_bar_mouse db 'menu_bar_mouse',0
szVersion_FileBrowser db 'version_FileBrowser',0 sz_Menu_bar_activate db 'menu_bar_activate',0
szVersion_menu_bar db 'version_menu_bar',0
sz_tl_data_init db 'tl_data_init',0
sz_tl_data_clear db 'tl_data_clear',0 sz_FileBrowser_draw db 'FileBrowser_draw',0
sz_tl_info_clear db 'tl_info_clear',0 sz_FileBrowser_mouse db 'FileBrowser_mouse',0
sz_tl_key db 'tl_key',0 sz_FileBrowser_key db 'FileBrowser_key',0
sz_tl_mouse db 'tl_mouse',0 szVersion_FileBrowser db 'version_FileBrowser',0
sz_tl_draw db 'tl_draw',0
sz_tl_info_undo db 'tl_info_undo',0 sz_tl_data_init db 'tl_data_init',0
sz_tl_info_redo db 'tl_info_redo',0 sz_tl_data_clear db 'tl_data_clear',0
sz_tl_node_add db 'tl_node_add',0 sz_tl_info_clear db 'tl_info_clear',0
sz_tl_node_set_data db 'tl_node_set_data',0 sz_tl_key db 'tl_key',0
sz_tl_node_get_data db 'tl_node_get_data',0 sz_tl_mouse db 'tl_mouse',0
sz_tl_node_delete db 'tl_node_delete',0 sz_tl_draw db 'tl_draw',0
sz_tl_cur_beg db 'tl_cur_beg',0 sz_tl_info_undo db 'tl_info_undo',0
sz_tl_cur_next db 'tl_cur_next',0 sz_tl_info_redo db 'tl_info_redo',0
sz_tl_cur_perv db 'tl_cur_perv',0 sz_tl_node_add db 'tl_node_add',0
sz_tl_node_close_open db 'tl_node_close_open',0 sz_tl_node_set_data db 'tl_node_set_data',0
sz_tl_node_lev_inc db 'tl_node_lev_inc',0 sz_tl_node_get_data db 'tl_node_get_data',0
sz_tl_node_lev_dec db 'tl_node_lev_dec',0 sz_tl_node_delete db 'tl_node_delete',0
sz_tl_node_move_up db 'tl_node_move_up',0 sz_tl_cur_beg db 'tl_cur_beg',0
sz_tl_node_move_down db 'tl_node_move_down',0 sz_tl_cur_next db 'tl_cur_next',0
sz_tl_node_poi_get_info db 'tl_node_poi_get_info',0 sz_tl_cur_perv db 'tl_cur_perv',0
sz_tl_node_poi_get_next_info db 'tl_node_poi_get_next_info',0 sz_tl_node_close_open db 'tl_node_close_open',0
sz_tl_node_poi_get_data db 'tl_node_poi_get_data',0 sz_tl_node_lev_inc db 'tl_node_lev_inc',0
sz_tl_save_mem db 'tl_save_mem',0 sz_tl_node_lev_dec db 'tl_node_lev_dec',0
sz_tl_load_mem db 'tl_load_mem',0 sz_tl_node_move_up db 'tl_node_move_up',0
sz_tl_get_mem_size db 'tl_get_mem_size',0 sz_tl_node_move_down db 'tl_node_move_down',0
sz_tl_version_tree_list db 'version_tree_list',0 sz_tl_node_poi_get_info db 'tl_node_poi_get_info',0
sz_tl_node_poi_get_next_info db 'tl_node_poi_get_next_info',0
sz_PathShow_prepare db 'PathShow_prepare',0 sz_tl_node_poi_get_data db 'tl_node_poi_get_data',0
sz_PathShow_draw db 'PathShow_draw',0 sz_tl_save_mem db 'tl_save_mem',0
szVersion_path_show db 'version_PathShow',0 sz_tl_load_mem db 'tl_load_mem',0
sz_tl_get_mem_size db 'tl_get_mem_size',0
sz_ted_but_sumb_upper db 'ted_but_sumb_upper',0 sz_tl_version_tree_list db 'version_tree_list',0
sz_ted_but_sumb_lover db 'ted_but_sumb_lover',0
sz_ted_but_convert_by_table db 'ted_but_convert_by_table',0 sz_PathShow_prepare db 'PathShow_prepare',0
sz_ted_can_save db 'ted_can_save',0 sz_PathShow_draw db 'PathShow_draw',0
sz_ted_clear db 'ted_clear',0 szVersion_path_show db 'version_PathShow',0
sz_ted_delete db 'ted_delete',0
sz_ted_draw db 'ted_draw',0 sz_ted_but_sumb_upper db 'ted_but_sumb_upper',0
sz_ted_init db 'ted_init',0 sz_ted_but_sumb_lover db 'ted_but_sumb_lover',0
sz_ted_init_scroll_bars db 'ted_init_scroll_bars',0 sz_ted_but_convert_by_table db 'ted_but_convert_by_table',0
sz_ted_init_syntax_file db 'ted_init_syntax_file',0 sz_ted_can_save db 'ted_can_save',0
sz_ted_is_select db 'ted_is_select',0 sz_ted_clear db 'ted_clear',0
sz_ted_key db 'ted_key',0 sz_ted_delete db 'ted_delete',0
sz_ted_mouse db 'ted_mouse',0 sz_ted_draw db 'ted_draw',0
sz_ted_open_file db 'ted_open_file',0 sz_ted_init db 'ted_init',0
sz_ted_save_file db 'ted_save_file',0 sz_ted_init_scroll_bars db 'ted_init_scroll_bars',0
sz_ted_text_add db 'ted_text_add',0 sz_ted_init_syntax_file db 'ted_init_syntax_file',0
sz_ted_but_select_word db 'ted_but_select_word',0 sz_ted_is_select db 'ted_is_select',0
sz_ted_but_cut db 'ted_but_cut',0 sz_ted_key db 'ted_key',0
sz_ted_but_copy db 'ted_but_copy',0 sz_ted_mouse db 'ted_mouse',0
sz_ted_but_paste db 'ted_but_paste',0 sz_ted_open_file db 'ted_open_file',0
sz_ted_but_undo db 'ted_but_undo',0 sz_ted_save_file db 'ted_save_file',0
sz_ted_but_redo db 'ted_but_redo',0 sz_ted_text_add db 'ted_text_add',0
sz_ted_but_reverse db 'ted_but_reverse',0 sz_ted_but_select_word db 'ted_but_select_word',0
sz_ted_but_find db 'ted_but_find',0 sz_ted_but_cut db 'ted_but_cut',0
sz_ted_but_replace db 'ted_but_replace',0 sz_ted_but_copy db 'ted_but_copy',0
sz_ted_text_colored db 'ted_text_colored',0 sz_ted_but_paste db 'ted_but_paste',0
sz_ted_go_to_position db 'ted_go_to_position',0 sz_ted_but_undo db 'ted_but_undo',0
sz_ted_version db 'version_text_edit',0 sz_ted_but_redo db 'ted_but_redo',0
sz_ted_but_reverse db 'ted_but_reverse',0
sz_Frame_draw db 'frame_draw',0 sz_ted_but_find db 'ted_but_find',0
szVersion_frame db 'version_frame',0 sz_ted_but_replace db 'ted_but_replace',0
sz_ted_text_colored db 'ted_text_colored',0
sz_progressbar_draw db 'progressbar_draw', 0 sz_ted_go_to_position db 'ted_go_to_position',0
sz_progressbar_progress db 'progressbar_progress', 0 sz_ted_version db 'version_text_edit',0
sz_tooltip_init db 'tooltip_init', 0 sz_Frame_draw db 'frame_draw',0
sz_tooltip_delete db 'tooltip_delete', 0 szVersion_frame db 'version_frame',0
sz_tooltip_test_show db 'tooltip_test_show', 0
sz_tooltip_mouse db 'tooltip_mouse', 0 sz_progressbar_draw db 'progressbar_draw', 0
sz_get_font_size db 'get_font_size', 0 sz_progressbar_progress db 'progressbar_progress', 0
sz_tooltip_init db 'tooltip_init', 0
sz_tooltip_delete db 'tooltip_delete', 0
sz_tooltip_test_show db 'tooltip_test_show', 0
sz_tooltip_mouse db 'tooltip_mouse', 0
sz_get_font_size db 'get_font_size', 0

View File

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

Before

Width:  |  Height:  |  Size: 6.0 KiB

After

Width:  |  Height:  |  Size: 6.0 KiB

View File

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

Before

Width:  |  Height:  |  Size: 8.3 KiB

After

Width:  |  Height:  |  Size: 8.3 KiB

View File

Before

Width:  |  Height:  |  Size: 8.3 KiB

After

Width:  |  Height:  |  Size: 8.3 KiB

File diff suppressed because it is too large Load Diff

View File

@@ -1,206 +1,212 @@
; Copyright (c) 2009, <Lrz> ; SPDX-License-Identifier: NOASSERTION
; All rights reserved. ;
;
; Redistribution and use in source and binary forms, with or without ; Text encoded with Code Page 866 - Cyrillic
; modification, are permitted provided that the following conditions are met:
; * Redistributions of source code must retain the above copyright
; notice, this list of conditions and the following disclaimer. ; Copyright (c) 2009, <Lrz>
; * Redistributions in binary form must reproduce the above copyright ; All rights reserved.
; notice, this list of conditions and the following disclaimer in the ;
; documentation and/or other materials provided with the distribution. ; Redistribution and use in source and binary forms, with or without
; * Neither the name of the <organization> nor the ; modification, are permitted provided that the following conditions are met:
; names of its contributors may be used to endorse or promote products ; * Redistributions of source code must retain the above copyright
; derived from this software without specific prior written permission. ; notice, this list of conditions and the following disclaimer.
; ; * Redistributions in binary form must reproduce the above copyright
; THIS SOFTWARE IS PROVIDED BY Alexey Teplov nickname <Lrz> ''AS IS'' AND ANY ; notice, this list of conditions and the following disclaimer in the
; EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED ; documentation and/or other materials provided with the distribution.
; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE ; * Neither the name of the <organization> nor the
; DISCLAIMED. IN NO EVENT SHALL <copyright holder> BE LIABLE FOR ANY ; names of its contributors may be used to endorse or promote products
; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES ; derived from this software without specific prior written permission.
; (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; ;
; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ; THIS SOFTWARE IS PROVIDED BY Alexey Teplov nickname <Lrz> ''AS IS'' AND ANY
; ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ; EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS ; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ; DISCLAIMED. IN NO EVENT SHALL <copyright holder> BE LIABLE FOR ANY
;***************************************************************************** ; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
; (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
use32 ; <20><EFBFBD><E0A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><EFBFBD><E1AFAE><EFBFBD><EFBFBD><EFBFBD>騩 32 ࠧ<><EFBFBD><EFA4AD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ; ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
org 0x0 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, <20><EFBFBD><E1A5A3> 0x0 ; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
db 'MENUET01' ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E4A8AA><EFBFBD><EFBFBD> <20><EFBFBD><E1AFAE><EFBFBD><EFA5AC><EFBFBD><><E4A0A9> (8 <20><><EFBFBD><EFBFBD>) ; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
dd 0x1 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0ACA0> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E1AFAE><EFBFBD><EFA5AC><EFBFBD><><E4A0A9> ;*****************************************************************************
dd start ; <20><><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><E0A5A4><EFBFBD> <20><><EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD>
; <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
dd mem ;<><E0A0A7><EFBFBD> <20><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> use32 ; <20><EFBFBD><E0A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><EFBFBD><E1AFAE><EFBFBD><EFBFBD><EFBFBD>騩 32<><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
dd mem ; <20><><20><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><EFBFBD> <20><EFBFBD><E2A2A5><EFBFBD> 0<>100 <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><E0AEA2><EFBFBD> <20><> <20><EFBFBD><E0ADA8> 4 <20><><EFBFBD><EFBFBD><EFBFBD> org 0x0 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, <20><EFBFBD><E1A5A3> 0x0
dd mem ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><EFBFBD> <20><><><E2A5AB> <20>ணࠬ<E0AEA3><E0A0AC>. <20><><EFBFBD><EFBFBD> <20><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, 㪠<><E3AAA0><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> db 'MENUET01' ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E1AFAE><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> (8 <20><><EFBFBD><EFBFBD>)
dd 0x0 ; <EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> <20> <20><><EFBFBD><E0A0AC><EFBFBD>. dd 0x1 ; <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E1AFAE><EFBFBD><EFA5AC><EFBFBD><><E4A0A9>
dd way_of_ini dd start ; <20><><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><E0A5A4><EFBFBD> <20><><EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD>
include '../../../../macros.inc' ; <20><><20><><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
include '../../../../KOSfuncs.inc' dd mem ; ࠧ<><E0A0A7><EFBFBD> <20><EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
include '../../../../load_lib.mac' dd mem ; <20><><20><EFBFBD><E1AFAE><EFBFBD><EFBFBD><E3A5AC> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><EFBFBD> <20><EFBFBD><E2A2A5><EFBFBD> 0<>100 <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><E0AEA2><EFBFBD> <20><> <20><EFBFBD><E0ADA8> 4 <20><><EFBFBD><EFBFBD><EFBFBD>
include '../../box_lib/trunk/box_lib.mac' dd mem ; <20><><EFBFBD><E1AFAE><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><EFBFBD> <20><><><E2A5AB> <20>ணࠬ<E0AEA3><E0A0AC>. <20><><EFBFBD><EFBFBD> <20><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, 㪠<><E3AAA0><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
@use_library ;use load lib macros dd 0x0 ;<><E3AAA0><EFBFBD> <20><> <20><><EFBFBD> <20> <20><><EFBFBD><E0A0AC><EFBFBD>.
start: dd way_of_ini
;universal load library/librarys include '../../../../macros.inc'
sys_load_libraries l_libs_start,end_l_libs include '../../../../KOSfuncs.inc'
;if return code =-1 then exit, else nornary work include '../../../../load_lib.mac'
cmp eax,-1 include '../../box_lib/box_lib.mac'
jz exit @use_library ;use load lib macros
mcall 40,0x27 ;<3B><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><> start:
;universal load library/librarys
mov eax,48 sys_load_libraries l_libs_start,end_l_libs
mov ebx,3 ;if return code =-1 then exit, else nornary work
mov ecx,sc cmp eax,-1
mov edx,sizeof.system_colors jz exit
mcall mcall 40,0x27 ;<3B><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><>
mov eax,dword [sc.work]
mov dword [con_colors+4],eax mov eax,48
mov ebx,3
; mcall 66,1,0 mov ecx,sc
call [initialization_font] ; <20><><EFBFBD><EFBFBD><E6A8A0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᯨ᪠ <20><><EFBFBD><EFBFBD> mov edx,sizeof.system_colors
push dword (8 shl 16 +16) ; <20><><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E3A6AD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>⮢ (<28><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> ⮫쪮 8<>16) mcall
call [get_font] mov eax,dword [sc.work]
test eax,eax ;<3B><>諨 ? mov dword [con_colors+4],eax
jnz exit
;;;;;;;;;;;;;;;;;;;; ; mcall 66,1,0
mcall 40,0x27 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><> call [initialization_font] ; <20><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᯨ᪠ <20><><EFBFBD><EFBFBD>
red_win: push dword (8 shl 16 +16) ; <20><><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E3A6AD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>⮢ (<28><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> ⮫쪮 8<>16)
call draw_window ;<3B><><EFBFBD><E0A2AE>砫쭮 <20><><EFBFBD><EFBFBD><EFBFBD><E5AEA4><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E1AEA2><EFBFBD> <20><><EFBFBD><EFBFBD> call [get_font]
align 4 test eax,eax ;<3B><>諨 ?
still: ;<3B><EFBFBD><E1ADAE><EFBFBD><EFBFBD> <20><><EFBFBD><E0A0A1> jnz exit
mcall 10 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E1AEA1><EFBFBD><EFBFBD> ;;;;;;;;;;;;;;;;;;;;
dec eax mcall 40,0x27 ;<3B><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><>
jz red_win red_win:
dec eax call draw_window ;<3B><><EFBFBD><E0A2AE>砫쭮 <20><><EFBFBD><EFBFBD><EFBFBD><E5AEA4><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E1AEA2><EFBFBD> <20><><EFBFBD><EFBFBD>
jz key align 4
dec eax still: ;<3B><EFBFBD><E1ADAE><EFBFBD><EFBFBD> <20><><EFBFBD><E0A0A1>
jz button mcall 10 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E1AEA1><EFBFBD><EFBFBD>
dec eax
push dword edit1 jz red_win
call [edit_box_mouse] dec eax
jz key
jmp still ;<3B><20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1ABA5><EFBFBD><EFBFBD><EFBFBD> <20><><><E1ADAE> <20><> dec eax
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; jz button
button:
mcall 17 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E4A8AA><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> push dword edit1
test ah,ah ;<3B><20> ah 0, <20><> <20><><EFBFBD><E0A5A9> <20><> <20><><EFBFBD><E0A0A1>稪 ᮡ<>⨩ still call [edit_box_mouse]
jz still
exit: jmp still ;<3B><20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1ABA5><EFBFBD><EFBFBD><EFBFBD> <20><><><E1ADAE> <20><>
call [free_fulder_info] ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
call [free_font] button:
mcall -1 mcall 17 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E4A8AA><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
key: test ah,ah ;<3B><20> ah 0, <20><> <20><><EFBFBD><E0A5A9> <20><> <20><><EFBFBD><E0A0A1>稪 ᮡ<>⨩ still
mcall 2 ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E7A5AD> 2 <20><><E0A5A3><EFBFBD><EFBFBD><EFBFBD> eax <20> <20><><EFBFBD><EFBFBD><20><><EFBFBD> <20><><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> jz still
exit:
push dword edit1 call [free_fulder_info]
call [edit_box_key] call [free_font]
mcall -1
key:
mcall 13,<20,650>,<40,16>, dword[con_colors+4] mcall 2 ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E7A5AD> 2 <20><><E0A5A3><EFBFBD><EFBFBD><EFBFBD> eax <20> <20><><EFBFBD><EFBFBD><20><><EFBFBD> <20><><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
push dword edit1
push dword 20 shl 16 + 40 ; esp+12= dd x shl 16 + y x- <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> <20>, y - <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> Y call [edit_box_key]
push dword con_colors ; esp+8 = dd point to color of background and font
push dword text ; esp+4 = dd point to ASCIIZ
; esp+0 = dd back mcall 13,<20,650>,<40,16>, dword[con_colors+4]
call [font_draw_on_string] ; <20><EFBFBD><EBA2A5><EFBFBD> <20><> <20><><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
push dword 20 shl 16 + 40 ; esp+12= dd x shl 16 + y x- <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> <20>, y - <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> Y
jmp still push dword con_colors ; esp+8 = dd point to color of background and font
push dword text ; esp+4 = dd point to ASCIIZ
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ; esp+0 = dd back
align 4 call [font_draw_on_string] ; <20><EFBFBD><EBA2A5><EFBFBD> <20><> <20><><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
draw_window: ;<3B><><EFBFBD><E1AEA2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
mcall 12,1
xor eax,eax ;<3B><><EFBFBD><EFBFBD><E3ABA8> eax jmp still
mov ebx,50*65536+680 ;[<5B><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> x]*65536 + [ࠧ<><E0A0A7><EFBFBD> <20><> <20><><EFBFBD> x]
mov ecx,30*65536+200 ;[<5B><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> y]*65536 + [ࠧ<><E0A0A7><EFBFBD> <20><> <20><><EFBFBD> y] ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
mov edx,[sc.work] ; color of work area RRGGBB,8->color gl align 4
or edx,0x34000000 draw_window: ;<3B><><EFBFBD><E1AEA2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
mov edi,hed mcall 12,1
mcall ;<3B><><EFBFBD><EFBFBD><EFBFBD><E1AEA2><EFBFBD> <20><><EFBFBD><EFBFBD> <20><EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> xor eax,eax ;<3B><><EFBFBD><EFBFBD><E3ABA8> eax
mov ebx,50*65536+680 ;[<5B><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> x]*65536 + [ࠧ<><E0A0A7><EFBFBD> <20><> <20><><EFBFBD> x]
push dword edit1 mov ecx,30*65536+200 ;[<5B><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> y]*65536 + [ࠧ<><E0A0A7><EFBFBD> <20><> <20><><EFBFBD> y]
call [edit_box_draw] mov edx,[sc.work] ; color of work area RRGGBB,8->color gl
; or edx,0x34000000
push dword 20 shl 16 + 40 ; esp+12= dd x shl 16 + y x- <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> <20>, y - <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> Y mov edi,hed
push dword con_colors ; esp+8 = dd point to color of background and font mcall ;<3B><><EFBFBD><EFBFBD><EFBFBD><E1AEA2><EFBFBD> <20><><EFBFBD><EFBFBD> <20><EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
push dword text; esp+4 = dd point to ASCIIZ
; esp+0 = dd back push dword edit1
call [font_draw_on_string] ; <20><EFBFBD><EBA2A5><EFBFBD> <20><> <20><><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> call [edit_box_draw]
mov eax,12 ;<3B><EFBFBD><E3ADAA><EFBFBD> 12 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1AEA2> <20><><EFBFBD><EFBFBD>. ;
mov ebx,2 ;<3B><><EFBFBD><EFBFBD><EFBFBD><E3ADAA><EFBFBD> 2 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>. push dword 20 shl 16 + 40 ; esp+12= dd x shl 16 + y x- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <20>, y - <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> Y
mcall push dword con_colors ; esp+8 = dd point to color of background and font
ret push dword text; esp+4 = dd point to ASCIIZ
;;;;;;;;;;;; ; esp+0 = dd back
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> call [font_draw_on_string] ; <20><EFBFBD><EBA2A5><EFBFBD> <20><> <20><><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
;DATA <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> mov eax,12 ;<3B><EFBFBD><E3ADAA><EFBFBD> 12 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1AEA2> <20><><EFBFBD><EFBFBD>.
l_libs_start: mov ebx,2 ;<3B><><EFBFBD><EFBFBD><EFBFBD><E3ADAA><EFBFBD> 2 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1AEA2> <20><><EFBFBD><EFBFBD>.
library01 l_libs library_name, library_path, system_path, font_import mcall
library02 l_libs library_name1, library_path, system_path1, import_box_lib ret
end_l_libs: ;;;;;;;;;;;;
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; ;DATA <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
system_path db '/sys/lib/' l_libs_start:
library_name db 'fonts_lib.obj',0 library01 l_libs library_name, library_path, system_path, font_import
library02 l_libs library_name1, library_path, system_path1, import_box_lib
system_path1 db '/sys/lib/' end_l_libs:
library_name1 db 'box_lib.obj',0
;
align 4 system_path db '/sys/lib/'
import_box_lib: library_name db 'fonts_lib.obj',0
edit_box_draw dd aEdit_box_draw system_path1 db '/sys/lib/'
edit_box_key dd aEdit_box_key library_name1 db 'box_lib.obj',0
edit_box_mouse dd aEdit_box_mouse
version_ed dd aVersion_ed align 4
import_box_lib:
dd 0,0
edit_box_draw dd aEdit_box_draw
aEdit_box_draw db 'edit_box_draw',0 edit_box_key dd aEdit_box_key
aEdit_box_key db 'edit_box_key',0 edit_box_mouse dd aEdit_box_mouse
aEdit_box_mouse db 'edit_box_mouse',0 version_ed dd aVersion_ed
aVersion_ed db 'version_ed',0
dd 0,0
font_import:
initialization_font dd a_initialization_font aEdit_box_draw db 'edit_box_draw',0
get_font dd a_get_font aEdit_box_key db 'edit_box_key',0
free_fulder_info dd a_free_fulder_info aEdit_box_mouse db 'edit_box_mouse',0
free_font dd a_free_font aVersion_ed db 'version_ed',0
font_draw_on_string dd a_font_draw_on_string
show_all_glif dd a_show_all_glif font_import:
Version_fn dd a_Version_fn initialization_font dd a_initialization_font
dd 0,0 get_font dd a_get_font
free_fulder_info dd a_free_fulder_info
a_initialization_font db 'initialization_font',0 free_font dd a_free_font
a_get_font db 'get_font',0 font_draw_on_string dd a_font_draw_on_string
a_free_fulder_info db 'free_fulder_info',0 show_all_glif dd a_show_all_glif
a_free_font db 'free_font',0 Version_fn dd a_Version_fn
a_font_draw_on_string db 'font_draw_on_string',0 dd 0,0
a_show_all_glif db 'show_all_glif',0
a_Version_fn db 'version_fn',0 a_initialization_font db 'initialization_font',0
a_get_font db 'get_font',0
a_free_fulder_info db 'free_fulder_info',0
a_free_font db 'free_font',0
edit1 edit_box 350,175,5,0xffffff,0x6f9480,0,0xAABBCC,0,test_leght,text,ed_focus,text_end-text-1,text_end-text-1 a_font_draw_on_string db 'font_draw_on_string',0
a_show_all_glif db 'show_all_glif',0
text db '<27><EFBFBD><E0A8AC> <20><EFBFBD><EFBFBD><ECA7AE><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>⮢ fonts_lib.obj',0 a_Version_fn db 'version_fn',0
text_end:
rb 256
test_leght = ($-text)-1
edit1 edit_box 350,175,5,0xffffff,0x6f9480,0,0xAABBCC,0,test_leght,text,ed_focus,text_end-text-1,text_end-text-1
hed db "Font's demo <Lrz>",0
align 4 text db '<27><EFBFBD><E0A8AC> <20><EFBFBD><EFBFBD><ECA7AE><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>⮢ fonts_lib.obj',0
con_colors dd 0x1E1EFF, 0x96FFCF text_end:
rb 256
align 4 test_leght = ($-text)-1
sc system_colors
way_of_ini rb 4096 hed db "Font's demo <Lrz>",0
library_path rb 4096 align 4
con_colors dd 0x1E1EFF, 0x96FFCF
align 4
i_end: align 4
rb 1024 sc system_colors
mem: way_of_ini rb 4096
;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> library_path rb 4096
align 4
i_end:
rb 1024
mem:
;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,3 +1,9 @@
; SPDX-License-Identifier: NOASSERTION
;
; Text encoded with Code Page 866 - Cyrillic
; ;
; Screenshooter for Kolibri ; Screenshooter for Kolibri
; ;
@@ -22,7 +28,7 @@ format binary as ""
title equ 'Screenshooter v1.21' ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> title equ 'Screenshooter v1.21' ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
include '../../load_lib.mac' include '../../load_lib.mac'
include '../../develop/libraries/box_lib/trunk/box_lib.mac' include '../../develop/libraries/box_lib/box_lib.mac'
include '../../config.inc' ;for nightbuild include '../../config.inc' ;for nightbuild
include '../../proc32.inc' include '../../proc32.inc'
include '../../macros.inc' include '../../macros.inc'

View File

@@ -1,454 +1,454 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;; ;; ;;
;; Copyright (C) KolibriOS team 2014-2017. All rights reserved. ;; ;; Copyright (C) KolibriOS team 2014-2017. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;; ;; Distributed under terms of the GNU General Public License ;;
;; ;; ;; ;;
;; downloader.asm - HTTP client for KolibriOS ;; ;; downloader.asm - HTTP client for KolibriOS ;;
;; ;; ;; ;;
;; hidnplayr@kolibrios.org ;; ;; hidnplayr@kolibrios.org ;;
;; ;; ;; ;;
;; GNU GENERAL PUBLIC LICENSE ;; ;; GNU GENERAL PUBLIC LICENSE ;;
;; Version 2, June 1991 ;; ;; Version 2, June 1991 ;;
;; ;; ;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
URLMAXLEN = 65535 URLMAXLEN = 65535
__DEBUG__ = 1 __DEBUG__ = 1
__DEBUG_LEVEL__ = 1 __DEBUG_LEVEL__ = 1
format binary as "" format binary as ""
use32 use32
org 0x0 org 0x0
db 'MENUET01' ; header db 'MENUET01' ; header
dd 0x01 ; header version dd 0x01 ; header version
dd START ; entry point dd START ; entry point
dd IM_END ; image size dd IM_END ; image size
dd I_END+0x1000 ; required memory dd I_END+0x1000 ; required memory
dd I_END+0x1000 ; esp dd I_END+0x1000 ; esp
dd url dd url
dd 0x0 ; I_Path dd 0x0 ; I_Path
include '../../macros.inc' include '../../macros.inc'
include '../../proc32.inc' include '../../proc32.inc'
include '../../dll.inc' include '../../dll.inc'
include '../../debug-fdo.inc' include '../../debug-fdo.inc'
include '../../develop/libraries/box_lib/trunk/box_lib.mac' include '../../develop/libraries/box_lib/box_lib.mac'
include '../../develop/libraries/http/http.inc' include '../../develop/libraries/http/http.inc'
virtual at 0 virtual at 0
http_msg http_msg http_msg http_msg
end virtual end virtual
START: START:
mcall 68, 11 ; init heap so we can allocate memory dynamically mcall 68, 11 ; init heap so we can allocate memory dynamically
; load libraries ; load libraries
stdcall dll.Load, @IMPORT stdcall dll.Load, @IMPORT
test eax, eax test eax, eax
jnz mainloop.exit jnz mainloop.exit
; wanted events ; wanted events
mcall 40, EVM_REDRAW + EVM_KEY + EVM_BUTTON + EVM_MOUSE + EVM_MOUSE_FILTER mcall 40, EVM_REDRAW + EVM_KEY + EVM_BUTTON + EVM_MOUSE + EVM_MOUSE_FILTER
; prepare filename buffers ; prepare filename buffers
mov edi, fname_buf mov edi, fname_buf
mov esi, download_file_path mov esi, download_file_path
@@: @@:
lodsb lodsb
stosb stosb
test al, al test al, al
jnz @r jnz @r
; Initialise OpenDialog ; Initialise OpenDialog
invoke OpenDialog_Init, OpenDialog_data invoke OpenDialog_Init, OpenDialog_data
; If user provided parameters, start download right away! ; If user provided parameters, start download right away!
cmp byte[url], 0 cmp byte[url], 0
jne display_url_and_download jne display_url_and_download
mov [OpenDialog_data.draw_window], draw_window mov [OpenDialog_data.draw_window], draw_window
redraw: redraw:
call draw_window call draw_window
mainloop: mainloop:
mcall 10 ; wait here for event mcall 10 ; wait here for event
cmp eax, EV_REDRAW cmp eax, EV_REDRAW
je redraw je redraw
cmp eax, EV_KEY cmp eax, EV_KEY
je .key je .key
cmp eax, EV_BUTTON cmp eax, EV_BUTTON
je .button je .button
cmp eax, EV_MOUSE cmp eax, EV_MOUSE
je .mouse je .mouse
jmp mainloop jmp mainloop
.key: .key:
mcall 2 ; read key mcall 2 ; read key
invoke edit_box_key, edit1 invoke edit_box_key, edit1
cmp ax, 13 shl 8 cmp ax, 13 shl 8
je download je download
jmp mainloop jmp mainloop
.button: .button:
mcall 17 ; get id mcall 17 ; get id
cmp ah, 1 ; button id=1 ? cmp ah, 1 ; button id=1 ?
je .exit je .exit
cmp [btn_text], sz_download cmp [btn_text], sz_download
je download je download
cmp [btn_text], sz_open cmp [btn_text], sz_open
je open_file je open_file
.exit: .exit:
mcall -1 ; exit mcall -1 ; exit
.mouse: .mouse:
invoke edit_box_mouse, edit1 invoke edit_box_mouse, edit1
jmp mainloop jmp mainloop
open_file: open_file:
mcall 70, fileopen mcall 70, fileopen
jmp mainloop jmp mainloop
display_url_and_download: display_url_and_download:
xor al, al xor al, al
mov ecx, 4096 mov ecx, 4096
mov edi, url mov edi, url
repne scasb repne scasb
sub edi, url+1 sub edi, url+1
mov [edit1.size], edi mov [edit1.size], edi
download: download:
; Extract the filename from URL ; Extract the filename from URL
mov edi, url mov edi, url
xor al, al xor al, al
mov ecx, URLMAXLEN mov ecx, URLMAXLEN
repne scasb repne scasb
mov esi, edi mov esi, edi
dec esi dec esi
dec esi dec esi
std std
.loop: .loop:
lodsb lodsb
cmp al, '/' cmp al, '/'
je .done je .done
test al, al test al, al
jnz .loop jnz .loop
.done: .done:
cld cld
mov ecx, edi mov ecx, edi
sub ecx, esi sub ecx, esi
inc esi inc esi
inc esi inc esi
mov edi, filename_area mov edi, filename_area
rep movsb rep movsb
; invoke OpenDialog ; invoke OpenDialog
invoke OpenDialog_Start, OpenDialog_data invoke OpenDialog_Start, OpenDialog_data
mcall 40, EVM_REDRAW + EVM_BUTTON + EVM_STACK mcall 40, EVM_REDRAW + EVM_BUTTON + EVM_STACK
call draw_window call draw_window
; Create the local file ; Create the local file
mov [fileinfo], 2 ; create/write to file mov [fileinfo], 2 ; create/write to file
xor eax, eax xor eax, eax
mov [fileinfo.offset], eax mov [fileinfo.offset], eax
mov [fileinfo.offset+4], eax mov [fileinfo.offset+4], eax
mov [fileinfo.size], eax mov [fileinfo.size], eax
mcall 70, fileinfo mcall 70, fileinfo
test eax, eax test eax, eax
jnz create_error jnz create_error
; Start the download ; Start the download
invoke HTTP_get, url, 0, FLAG_STREAM or FLAG_REUSE_BUFFER, 0 invoke HTTP_get, url, 0, FLAG_STREAM or FLAG_REUSE_BUFFER, 0
test eax, eax test eax, eax
jz get_error jz get_error
mov [identifier], eax mov [identifier], eax
mov [offset], 0 mov [offset], 0
mov [btn_text], sz_cancel mov [btn_text], sz_cancel
mov [status], sz_downloading mov [status], sz_downloading
or [edit1.flags], ed_figure_only or [edit1.flags], ed_figure_only
and [edit1.flags], not ed_focus and [edit1.flags], not ed_focus
push [sc.work] push [sc.work]
pop [edit1.color] pop [edit1.color]
call draw_window call draw_window
jmp download_loop jmp download_loop
get_error: get_error:
mov [btn_text], sz_exit mov [btn_text], sz_exit
mov [status], sz_err_http mov [status], sz_err_http
jmp redraw jmp redraw
create_error: create_error:
mov [btn_text], sz_exit mov [btn_text], sz_exit
mov [status], sz_err_create mov [status], sz_err_create
jmp redraw jmp redraw
download_loop: download_loop:
mcall 10 mcall 10
cmp eax, EV_REDRAW cmp eax, EV_REDRAW
je .redraw je .redraw
cmp eax, EV_BUTTON cmp eax, EV_BUTTON
je .button je .button
invoke HTTP_receive, [identifier] invoke HTTP_receive, [identifier]
test eax, eax test eax, eax
jz got_data jz got_data
jmp download_loop jmp download_loop
.redraw: .redraw:
call draw_window call draw_window
jmp download_loop jmp download_loop
.button: .button:
jmp http_free jmp http_free
got_data: got_data:
mov ebp, [identifier] mov ebp, [identifier]
test [ebp + http_msg.flags], 0xffff0000 ; error? test [ebp + http_msg.flags], 0xffff0000 ; error?
jnz http_error jnz http_error
cmp [fileinfo], 3 ; Did we write before? cmp [fileinfo], 3 ; Did we write before?
je .write je .write
test [ebp + http_msg.flags], FLAG_CONTENT_LENGTH test [ebp + http_msg.flags], FLAG_CONTENT_LENGTH
jz .first_write jz .first_write
mov eax, [ebp + http_msg.content_length] mov eax, [ebp + http_msg.content_length]
mov [pb.max], eax mov [pb.max], eax
DEBUGF 1, "new file size=%u\n", eax DEBUGF 1, "new file size=%u\n", eax
mov [fileinfo], 4 ; set end of file mov [fileinfo], 4 ; set end of file
mov [fileinfo.offset], eax ; new file size mov [fileinfo.offset], eax ; new file size
mcall 70, fileinfo mcall 70, fileinfo
test eax, eax test eax, eax
jnz write_error jnz write_error
.first_write: .first_write:
mov [fileinfo], 3 ; write to existing file mov [fileinfo], 3 ; write to existing file
.write: .write:
mov ecx, [ebp + http_msg.content_received] mov ecx, [ebp + http_msg.content_received]
sub ecx, [offset] sub ecx, [offset]
jz .no_data ; more then 0 data bytes? jz .no_data ; more then 0 data bytes?
mov [fileinfo.size], ecx mov [fileinfo.size], ecx
mov eax, [ebp + http_msg.content_ptr] mov eax, [ebp + http_msg.content_ptr]
mov [fileinfo.buffer], eax mov [fileinfo.buffer], eax
mov ebx, [offset] mov ebx, [offset]
mov [fileinfo.offset], ebx mov [fileinfo.offset], ebx
DEBUGF 1, "Writing to disk: size=%u offset=%u\n", ecx, ebx DEBUGF 1, "Writing to disk: size=%u offset=%u\n", ecx, ebx
mcall 70, fileinfo mcall 70, fileinfo
test eax, eax ; check error code test eax, eax ; check error code
jnz write_error jnz write_error
cmp ebx, ecx ; check if all bytes were written to disk cmp ebx, ecx ; check if all bytes were written to disk
jne write_error jne write_error
mov eax, [ebp + http_msg.content_received] mov eax, [ebp + http_msg.content_received]
mov [offset], eax mov [offset], eax
mov [pb.value], eax mov [pb.value], eax
invoke progressbar_draw, pb invoke progressbar_draw, pb
.no_data: .no_data:
test [ebp + http_msg.flags], FLAG_GOT_ALL_DATA test [ebp + http_msg.flags], FLAG_GOT_ALL_DATA
jz download_loop jz download_loop
; Download completed successfully ; Download completed successfully
mov [status], sz_complete mov [status], sz_complete
mov [pb.progress_color], 0x0000c800 ; green mov [pb.progress_color], 0x0000c800 ; green
mov [btn_text], sz_open mov [btn_text], sz_open
jmp http_free jmp http_free
write_error: write_error:
mov [status], sz_err_full mov [status], sz_err_full
mov [pb.progress_color], 0x00c80000 ; red mov [pb.progress_color], 0x00c80000 ; red
mov [btn_text], sz_exit mov [btn_text], sz_exit
jmp http_free jmp http_free
http_error: http_error:
mov [status], sz_err_http mov [status], sz_err_http
mov [pb.progress_color], 0x00c80000 ; red mov [pb.progress_color], 0x00c80000 ; red
mov [btn_text], sz_exit mov [btn_text], sz_exit
; jmp http_free ; jmp http_free
http_free: http_free:
mcall 40, EVM_REDRAW + EVM_BUTTON mcall 40, EVM_REDRAW + EVM_BUTTON
push [ebp + http_msg.content_received] push [ebp + http_msg.content_received]
pop [pb.value] pop [pb.value]
mov ecx, [ebp + http_msg.content_ptr] mov ecx, [ebp + http_msg.content_ptr]
test ecx, ecx test ecx, ecx
jz @f jz @f
mcall 68, 13 ; free the buffer mcall 68, 13 ; free the buffer
@@: @@:
invoke HTTP_free, [identifier] ; free headers and connection invoke HTTP_free, [identifier] ; free headers and connection
jmp redraw jmp redraw
draw_window: draw_window:
mcall 12, 1 ; start window draw mcall 12, 1 ; start window draw
; get system colors ; get system colors
mcall 48, 3, sc, 40 mcall 48, 3, sc, 40
; draw window ; draw window
mov edx, [sc.work] mov edx, [sc.work]
or edx, 0x34000000 or edx, 0x34000000
mcall 0, <50, 420>, <350, 120>, , 0, title mcall 0, <50, 420>, <350, 120>, , 0, title
; draw button ; draw button
mcall 8, <320,75>, <50,24>, 22, [sc.work_button] mcall 8, <320,75>, <50,24>, 22, [sc.work_button]
; draw button text ; draw button text
mov ecx, [sc.work_button_text] mov ecx, [sc.work_button_text]
or ecx, 90000000h or ecx, 90000000h
mcall 4, <325,56>, , [btn_text] mcall 4, <325,56>, , [btn_text]
; draw status text ; draw status text
mov ecx, [sc.work_text] mov ecx, [sc.work_text]
or ecx, 90000000h or ecx, 90000000h
mcall 4, <10,70>, , [status] mcall 4, <10,70>, , [status]
; draw editbox ; draw editbox
edit_boxes_set_sys_color edit1, editboxes_end, sc edit_boxes_set_sys_color edit1, editboxes_end, sc
invoke edit_box_draw, edit1 invoke edit_box_draw, edit1
cmp [identifier], 0 cmp [identifier], 0
je @f je @f
; draw progressbar ; draw progressbar
invoke progressbar_draw, pb invoke progressbar_draw, pb
@@: @@:
mcall 12, 2 ; end window draw mcall 12, 2 ; end window draw
dont_draw: dont_draw:
ret ret
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
; Data area ; Data area
;----------------------------------------------------------------------------- ;-----------------------------------------------------------------------------
align 4 align 4
@IMPORT: @IMPORT:
library lib_http, 'http.obj', \ library lib_http, 'http.obj', \
box_lib, 'box_lib.obj', \ box_lib, 'box_lib.obj', \
proc_lib, 'proc_lib.obj' proc_lib, 'proc_lib.obj'
import lib_http, \ import lib_http, \
HTTP_get, 'get', \ HTTP_get, 'get', \
HTTP_receive, 'receive', \ HTTP_receive, 'receive', \
HTTP_free, 'free' HTTP_free, 'free'
import box_lib, \ import box_lib, \
edit_box_draw, 'edit_box_draw', \ edit_box_draw, 'edit_box_draw', \
edit_box_key, 'edit_box_key', \ edit_box_key, 'edit_box_key', \
edit_box_mouse, 'edit_box_mouse', \ edit_box_mouse, 'edit_box_mouse', \
progressbar_draw, 'progressbar_draw', \ progressbar_draw, 'progressbar_draw', \
progressbar_prog, 'progressbar_progress' progressbar_prog, 'progressbar_progress'
import proc_lib, \ import proc_lib, \
OpenDialog_Init, 'OpenDialog_init', \ OpenDialog_Init, 'OpenDialog_init', \
OpenDialog_Start, 'OpenDialog_start' OpenDialog_Start, 'OpenDialog_start'
fileinfo dd 2 fileinfo dd 2
.offset dd 0, 0 .offset dd 0, 0
.size dd 0 .size dd 0
.buffer dd 0 .buffer dd 0
db 0 db 0
dd fname_buf dd fname_buf
fileopen dd 7 fileopen dd 7
dd 0 ; flags dd 0 ; flags
dd fname_buf ; parameters dd fname_buf ; parameters
dd 0 ; reserved dd 0 ; reserved
dd 0 ; reserved dd 0 ; reserved
db "/sys/@open", 0 ; path db "/sys/@open", 0 ; path
edit1 edit_box 400, 5, 10, 0xffffff, 0x0000ff, 0x0080ff, 0x000000, 0x90000000, URLMAXLEN, url, mouse_dd, ed_focus+ed_always_focus, 0, 0 edit1 edit_box 400, 5, 10, 0xffffff, 0x0000ff, 0x0080ff, 0x000000, 0x90000000, URLMAXLEN, url, mouse_dd, ed_focus+ed_always_focus, 0, 0
editboxes_end: editboxes_end:
identifier dd 0 identifier dd 0
btn_text dd sz_download btn_text dd sz_download
status dd sz_null status dd sz_null
sz_download db 'Download', 0 sz_download db 'Download', 0
sz_cancel db ' Cancel ', 0 sz_cancel db ' Cancel ', 0
sz_open db ' Open ', 0 sz_open db ' Open ', 0
sz_exit db ' Exit ', 0 sz_exit db ' Exit ', 0
sz_null db 0 sz_null db 0
sz_downloading db 'Downloading..', 0 sz_downloading db 'Downloading..', 0
sz_complete db 'Download completed', 0 sz_complete db 'Download completed', 0
sz_err_create db 'Could not create the local file!', 0 sz_err_create db 'Could not create the local file!', 0
sz_err_full db 'Disk full!', 0 sz_err_full db 'Disk full!', 0
sz_err_http db 'HTTP error!', 0 sz_err_http db 'HTTP error!', 0
title db 'HTTP Downloader', 0 title db 'HTTP Downloader', 0
OpenDialog_data: OpenDialog_data:
.type dd 1 ; Save .type dd 1 ; Save
.procinfo dd procinfo .procinfo dd procinfo
.com_area_name dd communication_area_name .com_area_name dd communication_area_name
.com_area dd 0 .com_area dd 0
.opendir_path dd temp_dir_path .opendir_path dd temp_dir_path
.dir_default_path dd communication_area_default_path .dir_default_path dd communication_area_default_path
.start_path dd open_dialog_path .start_path dd open_dialog_path
.draw_window dd dont_draw .draw_window dd dont_draw
.status dd 0 .status dd 0
.openfile_patch dd fname_buf .openfile_patch dd fname_buf
.filename_area dd filename_area .filename_area dd filename_area
.filter_area dd filter .filter_area dd filter
.x: .x:
.x_size dw 420 ; Window X size .x_size dw 420 ; Window X size
.x_start dw 200 ; Window X position .x_start dw 200 ; Window X position
.y: .y:
.y_size dw 320 ; Window y size .y_size dw 320 ; Window y size
.y_start dw 140 ; Window Y position .y_start dw 140 ; Window Y position
communication_area_name db 'FFFFFFFF_open_dialog',0 communication_area_name db 'FFFFFFFF_open_dialog',0
open_dialog_path db '/sys/File Managers/opendial',0 open_dialog_path db '/sys/File Managers/opendial',0
communication_area_default_path db '/sys',0 communication_area_default_path db '/sys',0
filter: filter:
dd 0 dd 0
db 0 db 0
pb: pb:
.value dd 0 .value dd 0
.left dd 5 .left dd 5
.top dd 45 .top dd 45
.width dd 300 .width dd 300
.height dd 16 .height dd 16
.style dd 1 .style dd 1
.min dd 0 .min dd 0
.max dd 0 .max dd 0
.back_color dd 0xefefef .back_color dd 0xefefef
.progress_color dd 0xc8c8c8 .progress_color dd 0xc8c8c8
.frame_color dd 0x94aece .frame_color dd 0x94aece
.frame_color2 dd 0xffffff .frame_color2 dd 0xffffff
include_debug_strings include_debug_strings
download_file_path db '/tmp0/1/', 0 download_file_path db '/tmp0/1/', 0
IM_END: IM_END:
url rb URLMAXLEN url rb URLMAXLEN
sc system_colors sc system_colors
offset dd ? offset dd ?
mouse_dd dd ? mouse_dd dd ?
filename_area rb 256 filename_area rb 256
temp_dir_path rb 4096 temp_dir_path rb 4096
procinfo rb 1024 procinfo rb 1024
fname_buf rb 4096 fname_buf rb 4096
text_work_area rb 1024 text_work_area rb 1024
I_END: I_END:

View File

@@ -1,10 +1,13 @@
; SPDX-License-Identifier: NOASSERTION
;
include '../../load_img.inc' include '../../load_img.inc'
include '../../develop/libraries/libs-dev/libimg/libimg.inc' include '../../develop/libraries/libs-dev/libimg/libimg.inc'
include '../../develop/libraries/box_lib/trunk/box_lib.mac' include '../../develop/libraries/box_lib/box_lib.mac'
include '../../load_lib.mac' include '../../load_lib.mac'
@use_library @use_library
icon_tl_sys dd 0 icon_tl_sys dd 0
icon_tl_nod dd 0 icon_tl_nod dd 0
icon_buttons dd 0 icon_buttons dd 0
@@ -82,7 +85,7 @@ gui: ;//////////////////////////////////////////////////////////////////////////
or dword[tree1.style], 8 ;tl_cursor_pos_limited - restrict cursor move to existing nodes or dword[tree1.style], 8 ;tl_cursor_pos_limited - restrict cursor move to existing nodes
or dword[tree2.style], 8 ;tl_cursor_pos_limited or dword[tree2.style], 8 ;tl_cursor_pos_limited
; read icons ; read icons
mcall SF_SYS_MISC, SSF_MEM_OPEN, str_icon_18,, 0 mcall SF_SYS_MISC, SSF_MEM_OPEN, str_icon_18,, 0
or eax, eax or eax, eax
@@ -228,7 +231,7 @@ gui: ;//////////////////////////////////////////////////////////////////////////
mcall SF_DEFINE_BUTTON, <TLIST2_X+TLIST_SZ-BT_SZ_X,BT_SZ_X>, <80,20>, 6, BT_COL mcall SF_DEFINE_BUTTON, <TLIST2_X+TLIST_SZ-BT_SZ_X,BT_SZ_X>, <80,20>, 6, BT_COL
; string "mkd" ; string "mkd"
mcall SF_DRAW_TEXT, <TLIST2_X+TLIST_SZ-BT_SZ_X+5,80+5>, 0xb0000000+STR_COL, str_mkd mcall SF_DRAW_TEXT, <TLIST2_X+TLIST_SZ-BT_SZ_X+5,80+5>, 0xb0000000+STR_COL, str_mkd
; draw "cancel" button ; draw "cancel" button
;mcall SF_DEFINE_BUTTON, <555,55>, <308,25>, 10, BT_COL ;mcall SF_DEFINE_BUTTON, <555,55>, <308,25>, 10, BT_COL
; string "Cancel" ; string "Cancel"
@@ -243,7 +246,7 @@ gui: ;//////////////////////////////////////////////////////////////////////////
;-------------------------- ;--------------------------
stdcall [tl_draw], tree1 stdcall [tl_draw], tree1
stdcall [tl_draw], tree2 stdcall [tl_draw], tree2
mov dword[wScr.all_redraw], 1 mov dword[wScr.all_redraw], 1
stdcall [scrollbar_ver_draw], wScr stdcall [scrollbar_ver_draw], wScr
@@ -360,7 +363,7 @@ gui: ;//////////////////////////////////////////////////////////////////////////
@@: @@:
cmp ah, 1 cmp ah, 1
je .exit je .exit
jmp .still jmp .still
.print: .print:
@@ -456,7 +459,7 @@ gui: ;//////////////////////////////////////////////////////////////////////////
mov ecx, [esp] mov ecx, [esp]
add ecx, buf_buffer2 add ecx, buf_buffer2
sub ecx, edi sub ecx, edi
repne scasb repne scasb
; check if the (last) entry is incomplete ; check if the (last) entry is incomplete
@@ -466,7 +469,7 @@ gui: ;//////////////////////////////////////////////////////////////////////////
rep scasb rep scasb
test ecx, ecx test ecx, ecx
jz .store_last_entry jz .store_last_entry
dec edx dec edx
jnz @b jnz @b
@@ -772,7 +775,7 @@ populate_local_tree_list: ;/////////////////////////////////////////////////////
je .outer ; more BDFEs to come je .outer ; more BDFEs to come
.done: .done:
ret ret
MIN_M_WND_H equ 500 ; MIN_M_WND_H equ 500 ;
@@ -890,7 +893,7 @@ search: ;///////////////////////////////////////////////////////////////////////
;;------------------------------------------------------------------------------------------------;; ;;------------------------------------------------------------------------------------------------;;
;< al = 0 (not found) / 1 (found) ;; ;< al = 0 (not found) / 1 (found) ;;
;;================================================================================================;; ;;================================================================================================;;
push ebx ecx edx esi edi push ebx ecx edx esi edi
; if length of haystack < length of needle ; if length of haystack < length of needle
cmp ecx, edx cmp ecx, edx
@@ -1073,7 +1076,7 @@ edit_volume edit_box TLIST_SZ-60, TLIST1_X, 80, 0xffffff, 0x94AECE, 0, \
; editbox for search ; editbox for search
edit_search edit_box TLIST_SZ-30, TLIST2_X, 22, 0xffffff, 0x94AECE, 0, \ edit_search edit_box TLIST_SZ-30, TLIST2_X, 22, 0xffffff, 0x94AECE, 0, \
0xAABBCC, 0x10000000, 99, filter,mouse_dd, 0 0xAABBCC, 0x10000000, 99, filter,mouse_dd, 0
; A subsidiary structure for scrolling ; A subsidiary structure for scrolling
align 4 align 4
wScr: wScr:
@@ -1196,7 +1199,7 @@ tedit0:
.mode_color db 1 ;+195 .mode_color db 1 ;+195
.mode_invis db 0 ;+196 .mode_invis db 0 ;+196
.gp_opt db 0 ;+197 .gp_opt db 0 ;+197
dd 0 ;.fun_on_key_ctrl_all dd but_ctrl_all ;+198 dd 0 ;.fun_on_key_ctrl_all dd but_ctrl_all ;+198
dd 0,0,0 ;reserved dd 0,0,0 ;reserved
.buffer_size dd 4096 ;+214 .buffer_size dd 4096 ;+214
.fun_find_err dd 0 ;+218 .fun_find_err dd 0 ;+218

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,415 +1,419 @@
; SPDX-License-Identifier: NOASSERTION
use32 ; <20><EFBFBD><E0A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><EFBFBD><E1AFAE><EFBFBD><EFBFBD><EFBFBD>騩 32 ࠧ<><EFBFBD><EFA4AD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ;
org 0 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, <20><EFBFBD><E1A5A3> 0x0
db 'MENUET01' ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E4A8AA><EFBFBD><EFBFBD> <20><EFBFBD><E1AFAE><EFBFBD><EFA5AC><EFBFBD><><E4A0A9> (8 <20><><EFBFBD><EFBFBD>) ; Text encoded with Code Page 866 - Cyrillic
dd 1 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0ACA0> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E1AFAE><EFBFBD><EFA5AC><EFBFBD><><E4A0A9>
dd start ; <20><><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><E0A5A4><EFBFBD> <20><><EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD>
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> use32 ; <20><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>騩 32 ࠧ<><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
dd i_end ; <EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> org 0 ; <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><EFBFBD><E1A5A3> 0x0
dd mem ; <20><><20><EFBFBD><E1AFAE><EFBFBD><EFBFBD><E3A5AC> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><EFBFBD> <20><EFBFBD><E2A2A5><EFBFBD> 0<>100 <20><><EFBFBD><EFBFBD> <EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><EFBFBD><E0ADA8> 4 <20><><EFBFBD><EFBFBD><EFBFBD> db 'MENUET01' ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (8 <20><><EFBFBD><EFBFBD>)
dd mem ; <20><><EFBFBD><E1AFAE><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><EFBFBD> <20><><><E2A5AB> <20>ணࠬ<E0AEA3><E0A0AC>. <20><><EFBFBD><EFBFBD> <20><EFBFBD> <EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, 㪠<><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> dd 1 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>
dd 0 ; <EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> <20> <20><><EFBFBD><E0A0AC><EFBFBD>. dd start ; <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><E0A5A4><EFBFBD> <20><><EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD>
dd 0;pathprog ;<3B><><EFBFBD><EFBFBD> <20> <20><><EFBFBD> <20><EFBFBD> ; <20><><20><><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
dd i_end ; ࠧ<><E0A0A7><EFBFBD> <20><EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
include "../../../macros.inc" dd mem ; <20><><20><EFBFBD><E1AFAE><EFBFBD><EFBFBD><E3A5AC> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><EFBFBD> <20><EFBFBD><E2A2A5><EFBFBD> 0<>100 <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><E0AEA2><EFBFBD> <20><> <20><EFBFBD><E0ADA8> 4 <20><><EFBFBD><EFBFBD><EFBFBD>
include "../../../proc32.inc" dd mem ; <20><><EFBFBD><E1AFAE><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><EFBFBD> <20><><><E2A5AB> <20>ணࠬ<E0AEA3><E0A0AC>. <20><><EFBFBD><EFBFBD> <20><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, 㪠<><E3AAA0><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
include "API.INC" dd 0 ; 㪠<><E3AAA0><EFBFBD> <20><> <20><><EFBFBD> <20> <20><><EFBFBD><E0A0AC><EFBFBD>.
include "../../../dll.inc" dd 0;pathprog ;<3B><><EFBFBD><EFBFBD> <20> <20><><EFBFBD> <20><EFBFBD>
include '../../../develop/libraries/box_lib/trunk/box_lib.mac'
;include '../../../KOSfuncs.inc' include "../../../macros.inc"
;include '../../../load_lib.mac' include "../../../proc32.inc"
include "API.INC"
start: include "../../../dll.inc"
mcall 68,11 ;<3B><><EFBFBD><EFBFBD><E6A8A0><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD> include '../../../develop/libraries/box_lib/box_lib.mac'
test eax,eax ;include '../../../KOSfuncs.inc'
jz Win1.Exit ;include '../../../load_lib.mac'
stdcall dll.Load, @IMPORT
start:
mcall 68,11 ;<3B><><EFBFBD><EFBFBD><E6A8A0><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD>
; mov ecx,1024 test eax,eax
; mov edi,pathprog jz Win1.Exit
; xor al,al stdcall dll.Load, @IMPORT
;
; repne scasb
; ; mov ecx,1024
; dec edi ; mov edi,pathprog
; mov esi,WordFile ; xor al,al
; @@: ;
; lodsb ; repne scasb
; stosb ;
; test al,al ; dec edi
; jne @b ; mov esi,WordFile
; @@:
;GetFileInfo fStruc,pathprog,fInfo ;<3B><EFBFBD><20><> <20><><EFBFBD><EFBFBD>稥 䠩<><E4A0A9> ; lodsb
;test eax,eax ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E0A0A7><EFBFBD><><E4A0A9> ; stosb
;je WordFileOK ; test al,al
; jne @b
;stdcall [mb_create],msgNotFound,mbThread
;jmp Win1.Redraw ;GetFileInfo fStruc,pathprog,fInfo ;<3B><EFBFBD><20><> <20><><EFBFBD><EFBFBD>稥 䠩<><E4A0A9>
;test eax,eax ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E0A0A7><EFBFBD><><E4A0A9>
;WordFileOK: ;je WordFileOK
; stdcall mem.Alloc,dword [fInfo+32]
; mov ebx,dword [fInfo+32] ;stdcall [mb_create],msgNotFound,mbThread
; mov [filBuffer],eax ;jmp Win1.Redraw
; add dword[fInfo+32],eax ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E0A0AD><EFBFBD><EFBFBD><><E3AAA0><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
; ReadFile fStruc,pathprog,ebx,eax,0 ;WordFileOK:
; test eax,eax ; stdcall mem.Alloc,dword [fInfo+32]
; jz Win1.Redraw ; mov ebx,dword [fInfo+32]
; ; mov [filBuffer],eax
; add al,30h ; add dword[fInfo+32],eax ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E0A0AD><EFBFBD><EFBFBD><><E3AAA0><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
; mov [NumErr],al ; ReadFile fStruc,pathprog,ebx,eax,0
; stdcall [mb_create],msgNotFound1,mbThread ; test eax,eax
; ; jz Win1.Redraw
;
; add al,30h
align 4 ; mov [NumErr],al
Win1.Redraw: ; stdcall [mb_create],msgNotFound1,mbThread
RedrawWinBeg ;
xor eax,eax
mov ebx,(524*10000h+500) align 4
mov ecx,(548*10000h+200) Win1.Redraw:
mov edx,73FFFFFFh RedrawWinBeg
mov edi,Win1.Caption
int 40h ;<3B><><EFBFBD><EFBFBD> <20> <20><EFBFBD><E0AEA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 䮭o<E4AEAD> xor eax,eax
mov ebx,(524*10000h+500)
mcall 9,ThreadInfo,-1 mov ecx,(548*10000h+200)
mov edx,73FFFFFFh
mov eax,13 mov edi,Win1.Caption
mov ebx,[ThreadInfo+3Eh] int 40h ;<3B><><EFBFBD><EFBFBD> <20> <20><EFBFBD><E0AEA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 䮭o<E4AEAD>
inc ebx
mov ecx,[ThreadInfo+42h] mcall 9,ThreadInfo,-1
inc ecx
mov edx,clWhite mov eax,13
int 40h ;<3B><><E2A5AF><EFBFBD> <20><> <20><EFBFBD><E0AEA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:) mov ebx,[ThreadInfo+3Eh]
inc ebx
call Perevod ; <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1AEA2> <20><EFBFBD> <20><><EFBFBD><E0A5A2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>񭭮<EFBFBD><><E1ABAE> mov ecx,[ThreadInfo+42h]
call NextPerev inc ecx
stdcall [edit_box_draw],EditIN mov edx,clWhite
RedrawWinEnd int 40h ;<3B><><E2A5AF><EFBFBD> <20><> <20><EFBFBD><E0AEA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:)
align 4 call Perevod ; <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1AEA2> <20><EFBFBD> <20><><EFBFBD><E0A5A2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>񭭮<EFBFBD><><E1ABAE>
Win1.Events: call NextPerev
WaitMessage stdcall [edit_box_draw],EditIN
dec eax RedrawWinEnd
jz Win1.Redraw
dec eax align 4
jz Win1.Key Win1.Events:
dec eax WaitMessage
jz Win1.ButtonPress dec eax
jz Win1.Redraw
;stdcall [edit_box_mouse],EditIN dec eax
jz Win1.Key
jmp Win1.Events dec eax
jz Win1.ButtonPress
Win1.ButtonPress:
GetButtonPressed ;stdcall [edit_box_mouse],EditIN
cmp ah,idbExit jmp Win1.Events
je Win1.Exit
Win1.ButtonPress:
jmp Win1.Events GetButtonPressed
Win1.Key: cmp ah,idbExit
GetKeyPressed je Win1.Exit
stdcall [edit_box_key],EditIN
jmp Win1.FonRedraw jmp Win1.Events
Win1.Key:
Win1.Exit: GetKeyPressed
stdcall [edit_box_key],EditIN
ExitProcess jmp Win1.FonRedraw
Win1.FonRedraw: ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1AEA2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EBA2AE>
mcall 9,ThreadInfo,-1 Win1.Exit:
mov eax,13 ExitProcess
mov ebx,[ThreadInfo+3Eh]
inc ebx Win1.FonRedraw: ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1AEA2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EBA2AE>
mov ecx,20 mcall 9,ThreadInfo,-1
shl ecx,16
add ecx,[ThreadInfo+42h] mov eax,13
sub ecx,19 mov ebx,[ThreadInfo+3Eh]
mov edx,clWhite inc ebx
int 40h mov ecx,20
shl ecx,16
call Perevod add ecx,[ThreadInfo+42h]
call NextPerev sub ecx,19
jmp Win1.Events mov edx,clWhite
int 40h
;-------------------------------------------------------------------------------
call Perevod
Perevod: ;ᠬ <20><><EFBFBD><E0A5A2> call NextPerev
mov edi,dict;[filBuffer] jmp Win1.Events
Perev: ;-------------------------------------------------------------------------------
xor ebx,ebx
@@: ;<3B><EFBFBD><E0A0A2><EFBFBD><EFBFBD> <20><><EFBFBD>. ᫮<><E1ABAE> <20><><><E1ABAE><EFBFBD> <20><><EFBFBD> esi Perevod: ;ᠬ <20><><EFBFBD><E0A5A2>
mov al,[text+ebx] mov edi,dict;[filBuffer]
test al,al
je endWord Perev:
cmp [ebx+edi],al xor ebx,ebx
jne WordNotFound @@: ;<3B><EFBFBD><E0A0A2><EFBFBD><EFBFBD> <20><><EFBFBD>. ᫮<><E1ABAE> <20><><><E1ABAE><EFBFBD> <20><><EFBFBD> esi
inc ebx mov al,[text+ebx]
jmp @b test al,al
je endWord
endWord: cmp [ebx+edi],al
cmp byte[ebx+edi],20h jne WordNotFound
jne WordNotFound inc ebx
jmp @b
add edi,ebx
dec edi ;<3B><EFBFBD><EFBFBD><E1AAA0> <20><EFBFBD><E0AEA1><EFBFBD> <20><><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1AAAE><><E1ABAE> endWord:
@@: cmp byte[ebx+edi],20h
inc edi jne WordNotFound
cmp byte[edi],20h
je @b add edi,ebx
dec edi ;<3B><EFBFBD><EFBFBD><E1AAA0> <20><EFBFBD><E0AEA1><EFBFBD> <20><><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1AAAE><><E1ABAE>
xor ebx,ebx @@:
CopyWord: ;<3B><><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD><E0A5A2> <20> <20><><EFBFBD> <20><><EFBFBD> <20><EFBFBD><EBA2AE> inc edi
mov al,[edi+ebx] cmp byte[edi],20h
cmp al,0Dh je @b
je @f
mov [perevText+ebx],al xor ebx,ebx
inc ebx CopyWord: ;<3B><><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD><E0A5A2> <20> <20><><EFBFBD> <20><><EFBFBD> <20><EFBFBD><EBA2AE>
jmp CopyWord mov al,[edi+ebx]
@@: cmp al,0Dh
mov byte[perevText+ebx],0 je @f
mov [perevText+ebx],al
OutText 7,25,perevText inc ebx
ret jmp CopyWord
@@:
WordNotFound: ;<3B>᫨ ᫮<><E1ABAE> <20><> <20><><EFBFBD><EFBFBD> mov byte[perevText+ebx],0
add edi,ebx
@@: OutText 7,25,perevText
cmp byte[edi],0Dh ret
je NextWord
inc edi WordNotFound: ;<3B>᫨ ᫮<><E1ABAE> <20><> <20><><EFBFBD><EFBFBD>
cmp edi,SizeDict;dword [fInfo+32] add edi,ebx
jae endPerev @@:
jmp @b cmp byte[edi],0Dh
je NextWord
NextWord: inc edi
add edi,2 cmp edi,SizeDict;dword [fInfo+32]
cmp edi,SizeDict;dword [fInfo+32] jae endPerev
jae endPerev jmp @b
jmp Perev
endPerev: NextWord:
ret add edi,2
cmp edi,SizeDict;dword [fInfo+32]
jae endPerev
;------------------------------------------------------------------------------- jmp Perev
NextPerev: endPerev:
mov ecx,Lines ret
mov edi,dict;[filBuffer]
LinePerev: ;横<> <20><><EFBFBD><E1AEA2><EFBFBD><EFBFBD> <20><><EFBFBD>
xor ebx,ebx ;-------------------------------------------------------------------------------
@@: ;<3B><EFBFBD><E0A0A2><EFBFBD><EFBFBD> <20><><EFBFBD>. ᫮<><E1ABAE> <20><><><E1ABAE><EFBFBD> <20><><EFBFBD> esi NextPerev:
mov al,[text+ebx] mov ecx,Lines
test al,al mov edi,dict;[filBuffer]
je N_endWord LinePerev: ;横<> <20><><EFBFBD><E1AEA2><EFBFBD><EFBFBD> <20><><EFBFBD>
cmp [ebx+edi],al xor ebx,ebx
jne N_WordNotFound @@: ;<3B><EFBFBD><E0A0A2><EFBFBD><EFBFBD> <20><><EFBFBD>. ᫮<><E1ABAE> <20><><><E1ABAE><EFBFBD> <20><><EFBFBD> esi
inc ebx mov al,[text+ebx]
jmp @b test al,al
je N_endWord
N_endWord: cmp [ebx+edi],al
cmp ebx,0 jne N_WordNotFound
jne N_Ppoisk inc ebx
ret jmp @b
N_Ppoisk: ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> N_endWord:
add edi,ebx cmp ebx,0
@@: jne N_Ppoisk
dec edi ret
cmp byte[edi],0Ah
jne @b N_Ppoisk: ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD>
inc edi add edi,ebx
@@:
;########<23><EFBFBD><EFBFBD><E1AAA0><20><><EFBFBD><E0A5A2>񭭮<EFBFBD><><E1ABAE>######## dec edi
xor ebx,ebx cmp byte[edi],0Ah
N_NoDouble: jne @b
mov al,[text+ebx] inc edi
test al,al
je N_Double ;########<23><EFBFBD><EFBFBD><E1AAA0><20><><EFBFBD><E0A5A2>񭭮<EFBFBD><><E1ABAE>########
cmp [ebx+edi],al xor ebx,ebx
jne N_NoDblOk N_NoDouble:
inc ebx mov al,[text+ebx]
jmp N_NoDouble test al,al
je N_Double
N_Double: cmp [ebx+edi],al
cmp byte[ebx+edi],20h jne N_NoDblOk
jne N_NoDblOk inc ebx
jmp N_NoDouble
add edi,ebx
@@: N_Double:
inc edi cmp byte[ebx+edi],20h
cmp byte[edi],0Ah jne N_NoDblOk
jne @b
add edi,2 add edi,ebx
jmp LinePerev @@:
inc edi
N_NoDblOk: ;############<23><EFBFBD><><E0A5A7><EFBFBD><EFBFBD><EFBFBD>⮢#################### cmp byte[edi],0Ah
xor ebx,ebx ;<3B><><EFBFBD><EFBFBD><EFBFBD>㥬 १<><E0A5A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD> jne @b
N_CopyWord: add edi,2
mov al,[edi+ebx] jmp LinePerev
cmp al,20h
je @f N_NoDblOk: ;############<23><EFBFBD><><E0A5A7><EFBFBD><EFBFBD><EFBFBD>⮢####################
mov [perevText+ebx],al xor ebx,ebx ;<3B><><EFBFBD><EFBFBD><EFBFBD>㥬 १<><E0A5A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
inc ebx N_CopyWord:
jmp N_CopyWord mov al,[edi+ebx]
@@: cmp al,20h
mov byte[perevText+ebx],0 je @f
add edi,ebx mov [perevText+ebx],al
inc ebx
mov eax,Lines jmp N_CopyWord
sub eax,ecx @@:
dec eax mov byte[perevText+ebx],0
shl eax,3 add edi,ebx
add eax,45
push ecx mov eax,Lines
push edi sub eax,ecx
OutText 7,ax,perevText dec eax
pop edi shl eax,3
pop ecx add eax,45
push ecx
@@: push edi
inc edi OutText 7,ax,perevText
cmp byte[edi],20h pop edi
je @b pop ecx
@@:
xor ebx,ebx inc edi
N_CopyPerev: cmp byte[edi],20h
mov al,[edi+ebx] je @b
cmp al,0Dh
je @f
mov [perevText+ebx],al xor ebx,ebx
inc ebx N_CopyPerev:
jmp N_CopyPerev mov al,[edi+ebx]
@@: cmp al,0Dh
mov byte[perevText+ebx],0 je @f
mov [perevText+ebx],al
mov eax,Lines inc ebx
sub eax,ecx jmp N_CopyPerev
dec eax @@:
shl eax,3 mov byte[perevText+ebx],0
add eax,45
push ecx mov eax,Lines
push edi sub eax,ecx
OutText 127,ax,perevText dec eax
pop edi shl eax,3
pop ecx add eax,45
push ecx
@@: push edi
inc edi OutText 127,ax,perevText
cmp byte[edi],0Ah pop edi
jne @b pop ecx
inc edi
@@:
loop @f ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFA3A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> LinePerev inc edi
ret cmp byte[edi],0Ah
@@: jne @b
jmp LinePerev inc edi
N_WordNotFound: loop @f ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFA3A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> LinePerev
add edi,ebx ret
@@: @@:
cmp byte[edi],0Dh jmp LinePerev
je N_NextWord
inc edi N_WordNotFound:
cmp edi,SizeDict;dword [fInfo+32] add edi,ebx
jae N_endPerev @@:
jmp @b cmp byte[edi],0Dh
je N_NextWord
N_NextWord: inc edi
add edi,2 cmp edi,SizeDict;dword [fInfo+32]
cmp edi,SizeDict;dword [fInfo+32] jae N_endPerev
jae N_endPerev jmp @b
jmp LinePerev
N_endPerev: N_NextWord:
ret add edi,2
cmp edi,SizeDict;dword [fInfo+32]
;------------------------------------------------------------------------------- jae N_endPerev
;------------------------------------------------------------------------------- jmp LinePerev
;------DATA--------------------------------------------------------------------- N_endPerev:
;------------------------------------------------------------------------------- ret
;-------------------------------------------------------------------------------
;-------------------------------------------------------------------------------
idbExit = 1 ;-------------------------------------------------------------------------------
;------DATA---------------------------------------------------------------------
Lines = 16 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> ;-------------------------------------------------------------------------------
;-------------------------------------------------------------------------------
clTheme = 080B0FFh
idbExit = 1
Win1.Caption db 'Dictionary ENG -> RUS',0
Win1X = 524 Lines = 16 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>
Win1Y = 548
Win1W = 500 clTheme = 080B0FFh
Win1H = 200
Win1.Caption db 'Dictionary ENG -> RUS',0
Memo.X = 5 Win1X = 524
Memo.Y = 20 Win1Y = 548
Memo.W = 400 Win1W = 500
Memo.H = 370 Win1H = 200
EditIN edit_box 350,5,5,0FFFFFFh,06F9480h,0,00h,0,40,\ Memo.X = 5
text,mouse_dd,ed_focus,0,0 Memo.Y = 20
Memo.W = 400
Memo.H = 370
; msgNotFound: EditIN edit_box 350,5,5,0FFFFFFh,06F9480h,0,00h,0,40,\
; dw 0 text,mouse_dd,ed_focus,0,0
; db '<27><EFBFBD><E8A8A1>',0
; db '<27><><EFBFBD><EFBFBD> dictionary.wrd <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',0
; db '<27>᭮',0
; db 0 ; msgNotFound:
; ; dw 0
; msgNotFound1: ; db '<27><EFBFBD><E8A8A1>',0
; dw 0 ; db '<27><><EFBFBD><EFBFBD> dictionary.wrd <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',0
; db '!!!',0 ; db '<EFBFBD>',0
; db '<27><EFBFBD><E8A8A1> <20><EFBFBD><E2A5AD> ' ; db 0
; NumErr: db 0 ;
; db 0 ; msgNotFound1:
; db '<27>᭮',0 ; dw 0
; db 0 ; db '!!!',0
; ; db '<27><EFBFBD><E8A8A1> <20><EFBFBD><E2A5AD> '
; WordFile db '.wrd',0 ; NumErr: db 0
; db 0
; db '<27>᭮',0
;------------------------------------------------------------------------------- ; db 0
@IMPORT: ;
library box_lib,'box_lib.obj',msgbox,'msgbox.obj' ; WordFile db '.wrd',0
import box_lib,\
edit_box_draw,'edit_box_draw',\
edit_box_key,'edit_box_key';,\ ;-------------------------------------------------------------------------------
;edit_box_mouse,'edit_box_mouse' @IMPORT:
import msgbox,\ library box_lib,'box_lib.obj',msgbox,'msgbox.obj'
mb_create,'mb_create' import box_lib,\
edit_box_draw,'edit_box_draw',\
dict: edit_box_key,'edit_box_key';,\
include 'dictionary.wrd' ;edit_box_mouse,'edit_box_mouse'
import msgbox,\
SizeDict = $;-dict mb_create,'mb_create'
dict:
i_end: include 'dictionary.wrd'
;-------------------------------------------------------------------------------
SizeDict = $;-dict
;WordFP rb 1024
; m1 dd 0
;filBuffer rd 1 i_end:
;-------------------------------------------------------------------------------
ThreadInfo: rb 1024 ;WordFP rb 1024
;pathprog ; m1 dd 0
mouse_dd rd 1 ;filBuffer rd 1
text rb 40
perevText rb 300
;fStruc rb 30 ThreadInfo: rb 1024
;fInfo rb 40 ;pathprog
mbThread rb 1024 mouse_dd rd 1
text rb 40
perevText rb 300
rb 4096 ;fStruc rb 30
mem: ;fInfo rb 40
mbThread rb 1024
rb 4096
mem:

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,9 @@
; SPDX-License-Identifier: NOASSERTION ; SPDX-License-Identifier: NOASSERTION
; ;
; Text encoded with Code Page 866 - Cyrillic
; RTF READER FOR KOLIBRI >= 0.7.7.0 ; RTF READER FOR KOLIBRI >= 0.7.7.0
; Written in pure assembler by Ivushkin Andrey aka Willow ; Written in pure assembler by Ivushkin Andrey aka Willow
; Menu_bar and scroll_bar from box_lib provided by dunkaist ; Menu_bar and scroll_bar from box_lib provided by dunkaist
@@ -62,7 +65,7 @@ AR_OFFSET equ 10
include '../../config.inc' ;for nightbuild include '../../config.inc' ;for nightbuild
include '../../macros.inc' ; Macros facilitate the life of assemblers! include '../../macros.inc' ; Macros facilitate the life of assemblers!
include '../../develop/libraries/box_lib/trunk/box_lib.mac' include '../../develop/libraries/box_lib/box_lib.mac'
include '../../KOSfuncs.inc' include '../../KOSfuncs.inc'
include '../../load_lib.mac' include '../../load_lib.mac'

View File

@@ -1,3 +1,6 @@
; SPDX-License-Identifier: NOASSERTION
;
; ;
; MyKey. Version 0.2. ; MyKey. Version 0.2.
; ;
@@ -26,7 +29,7 @@ include 'string.inc'
include '../../../macros.inc' include '../../../macros.inc'
include 'ASPAPI.INC' include 'ASPAPI.INC'
;include 'editbox_ex.mac' ;include 'editbox_ex.mac'
include '../../../develop/libraries/box_lib/trunk/box_lib.mac' include '../../../develop/libraries/box_lib/box_lib.mac'
;include 'load_lib.mac' ;include 'load_lib.mac'
include '../../../develop/libraries/box_lib/load_lib.mac' include '../../../develop/libraries/box_lib/load_lib.mac'
include '../../../dll.inc' include '../../../dll.inc'

File diff suppressed because it is too large Load Diff

View File

@@ -1,3 +1,7 @@
; SPDX-License-Identifier: NOASSERTION
;
;-----------------------; ;-----------------------;
; CPU - process manager ; ; CPU - process manager ;
;-----------------------; ;-----------------------;
@@ -18,7 +22,7 @@
;------------------------------------------------------------------------------- ;-------------------------------------------------------------------------------
include "lang.inc" ; Language support for locales (UTF-8): de_DE, et_EE, ru_RU, it_IT, en_US. include "lang.inc" ; Language support for locales (UTF-8): de_DE, et_EE, ru_RU, it_IT, en_US.
include "../../../macros.inc" include "../../../macros.inc"
include "../../../develop/libraries/box_lib/trunk/box_lib.mac" include "../../../develop/libraries/box_lib/box_lib.mac"
include "../../../KOSfuncs.inc" include "../../../KOSfuncs.inc"
include "../../../load_lib.mac" include "../../../load_lib.mac"
;------------------------------------------------------------------------------- ;-------------------------------------------------------------------------------

View File

@@ -1,3 +1,9 @@
; SPDX-License-Identifier: NOASSERTION
;
; Text encoded with Code Page 866 - Cyrillic
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Formatting Disk Utility ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Formatting Disk Utility ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -46,7 +52,7 @@ include '../../macros.inc'
include '../../proc32.inc' include '../../proc32.inc'
include '../../KOSfuncs.inc' include '../../KOSfuncs.inc'
include '../../dll.inc' include '../../dll.inc'
include '../../develop/libraries/box_lib/trunk/box_lib.mac' ;for uses checkBox and editBox include '../../develop/libraries/box_lib/box_lib.mac' ;for uses checkBox and editBox
include '../../load_lib.mac' include '../../load_lib.mac'
@use_library @use_library
@@ -61,7 +67,7 @@ START:
stdcall [OpenDialog_Init],OpenDialog_data stdcall [OpenDialog_Init],OpenDialog_data
;set mask for events: ;set mask for events:
;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> (<28><><EFBFBD>-<2D><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) ;<EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD>񭭠<EFBFBD><><E0A0AD>, ᮡ<> <20><> <20><><EFBFBD><EFBFBD> (<28><><EFBFBD>-<2D><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
mcall SF_SET_EVENTS_MASK, 0x27 mcall SF_SET_EVENTS_MASK, 0x27
mov ecx,[sc.work_text] mov ecx,[sc.work_text]

View File

@@ -1,3 +1,9 @@
; SPDX-License-Identifier: NOASSERTION
;
; Text encoded with Code Page 866 - Cyrillic
ICON_STRIP equ '/sys/icons32.png' ICON_STRIP equ '/sys/icons32.png'
ICON_INI equ '/sys/settings/icon.ini' ICON_INI equ '/sys/settings/icon.ini'
ICON_SIZE equ 68 ;ࠧ<><E0A0A7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ICON_SIZE equ 68 ;ࠧ<><E0A0A7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
@@ -38,7 +44,7 @@ BegData equ fiStdIco.point
include 'lang.inc' ; Language support for locales: ru_RU (CP866), en_US. include 'lang.inc' ; Language support for locales: ru_RU (CP866), en_US.
include '../../macros.inc' include '../../macros.inc'
include '../../proc32.inc' include '../../proc32.inc'
include '../../develop/libraries/box_lib/trunk/box_lib.mac' include '../../develop/libraries/box_lib/box_lib.mac'
include '../../dll.inc' include '../../dll.inc'
include '../../debug.inc' include '../../debug.inc'

View File

@@ -1,3 +1,9 @@
; SPDX-License-Identifier: NOASSERTION
;
; Text encoded with Code Page Windows 1251 - Cyrillic
; Keyboard indicators v0.2 ; Keyboard indicators v0.2
; by Albom and IgorA ; by Albom and IgorA
@@ -15,7 +21,7 @@ use32
include '../../macros.inc' include '../../macros.inc'
include '../../proc32.inc' include '../../proc32.inc'
include '../../develop/libraries/box_lib/load_lib.mac' include '../../develop/libraries/box_lib/load_lib.mac'
include '../../develop/libraries/box_lib/trunk/box_lib.mac' include '../../develop/libraries/box_lib/box_lib.mac'
;include 'mem.inc' ;include 'mem.inc'
;include 'dll.inc' ;include 'dll.inc'
include 'lang.inc' ; Language support for locales: it_IT, en_US. include 'lang.inc' ; Language support for locales: it_IT, en_US.

View File

@@ -1,3 +1,9 @@
; SPDX-License-Identifier: NOASSERTION
;
; Text encoded with Code Page 866 - Cyrillic
DEBUG = 0 DEBUG = 0
LIST_WIDTH = 256 LIST_WIDTH = 256
@@ -18,7 +24,7 @@ M01header.params:
include "../../macros.inc" include "../../macros.inc"
include "../../dll.inc" include "../../dll.inc"
include "../../string.inc" include "../../string.inc"
include "../../develop/libraries/box_lib/trunk/box_lib.mac" include "../../develop/libraries/box_lib/box_lib.mac"
include "lang.inc" ; Language support for locales: ru_RU (CP866), et_EE, it_IT, en_US. include "lang.inc" ; Language support for locales: ru_RU (CP866), et_EE, it_IT, en_US.

View File

@@ -1,3 +1,9 @@
; SPDX-License-Identifier: NOASSERTION
;
; Text encoded with Code Page 866 - Cyrillic
; RDsave <20><><EFBFBD> Kolibri (0.6.5.0 <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) ; RDsave <20><><EFBFBD> Kolibri (0.6.5.0 <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
; Save RAM-disk to hard or floppy drive ; Save RAM-disk to hard or floppy drive
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
@@ -33,7 +39,7 @@ include '../../../proc32.inc'
include '../../../dll.inc' include '../../../dll.inc'
include '../../../KOSfuncs.inc' include '../../../KOSfuncs.inc'
include '../../../load_lib.mac' include '../../../load_lib.mac'
include '../../../develop/libraries/box_lib/trunk/box_lib.mac' include '../../../develop/libraries/box_lib/box_lib.mac'
include 'str.inc' include 'str.inc'
@use_library @use_library

View File

@@ -1,9 +1,15 @@
; SPDX-License-Identifier: NOASSERTION
;
; Text encoded with Code Page 866 - Cyrillic
window_h=85 window_h=85
window_w=430 window_w=430
;--- <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> --- ;--- <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ---
include '../../../KOSfuncs.inc' include '../../../KOSfuncs.inc'
include '../../../load_lib.mac' include '../../../load_lib.mac'
include '../../../develop/libraries/box_lib/trunk/box_lib.mac' include '../../../develop/libraries/box_lib/box_lib.mac'
include 'txtbut.inc' include 'txtbut.inc'
include '../../../macros.inc' include '../../../macros.inc'
include 'run.mac' include 'run.mac'