forked from KolibriOS/kolibrios
shots saved in format *.png
git-svn-id: svn://kolibrios.org@6763 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
5a7b1ac4fe
commit
a64d63f213
@ -34,7 +34,6 @@ pusha
|
|||||||
bt word [ch6.flags],1
|
bt word [ch6.flags],1
|
||||||
jnc @f
|
jnc @f
|
||||||
mov eax,[cur_number]
|
mov eax,[cur_number]
|
||||||
;mov ebx,4
|
|
||||||
movsx ebx,byte [sign_n]
|
movsx ebx,byte [sign_n]
|
||||||
push ebx
|
push ebx
|
||||||
call int_to_str
|
call int_to_str
|
||||||
@ -45,117 +44,46 @@ pusha
|
|||||||
jmp .next
|
jmp .next
|
||||||
.str_end:
|
.str_end:
|
||||||
|
|
||||||
;;;;clean memory
|
mcall SF_SYS_MISC, SSF_MEM_FREE, [sf_buf.bmp_header]
|
||||||
|
|
||||||
mov ecx,dword [sf_buf.bmp_header]
|
;create image struct
|
||||||
mov ebx,13
|
movsx ebx,word[scr_buf.width]
|
||||||
mov eax,68
|
movsx edx,word[scr_buf.height]
|
||||||
mcall
|
stdcall [img_create], ebx, edx, Image.bpp24
|
||||||
|
mov [sf_buf.bmp_area],eax
|
||||||
|
test eax,eax
|
||||||
|
jz @f
|
||||||
|
;copy foto to image buffer
|
||||||
|
mov edi,[eax+Image.Data]
|
||||||
|
mov esi,[scr_buf.ptr]
|
||||||
|
movsx ecx,word[scr_buf.width]
|
||||||
|
movsx edx,word[scr_buf.height]
|
||||||
|
imul ecx,edx
|
||||||
|
imul ecx,3
|
||||||
|
rep movsb
|
||||||
|
|
||||||
; ‚ëç¨á«ï¥¬, ᪮«ìª® ¡ ©â 㦮 ¯à¨¡ ¢«ïâì ª ª ¦¤®© áâப¥,
|
;encode image
|
||||||
; ç⮡ë á«¥¤ãîé ï ¡ë« ¢ëà ¢¥ 4 ¡ ©â .
|
stdcall [img_encode], eax, LIBIMG_FORMAT_PNG, 0
|
||||||
; <EFBFBD>¥§ã«ìâ â ¯®¬¥é ¥¬ ¢ edi.
|
test eax,eax
|
||||||
|
jz @f
|
||||||
|
|
||||||
xor edx,edx
|
mov [sf_buf.bmp_header],eax
|
||||||
movzx eax,word [scr_buf.width] ; eax = è¨à¨ ª à⨪¨
|
mov [sf_buf.end],ecx
|
||||||
lea eax,[eax*3] ; eax = ¡ ©â áâப㠪 à⨪¨
|
@@:
|
||||||
mov ebx,4 ; ebx = 4
|
stdcall [img_destroy], [sf_buf.bmp_area]
|
||||||
mov edi,ebx ; edi = 4
|
|
||||||
div ebx ; eax = ¡ ©â áâப㠪 à⨪¨ div 4 edx = ¡ ©â... mod 4
|
|
||||||
sub edi,edx ; edi = ª®«¨ç¥á⢮ ¡ ©â
|
|
||||||
test edx,edx
|
|
||||||
jnz @f
|
|
||||||
xor edi,edi
|
|
||||||
@@:
|
|
||||||
|
|
||||||
; ¢ë¤¥«ï¥¬ ¯ ¬ïâì
|
|
||||||
; mov ecx,[scr_buf.end_ptr]
|
|
||||||
; mov [sf_buf.bmp_header],ecx
|
|
||||||
|
|
||||||
; add ecx,0x36
|
|
||||||
; mov [sf_buf.bmp_area],ecx
|
|
||||||
movsx ebx,word [scr_buf.width]
|
|
||||||
movsx edx,word [scr_buf.height]
|
|
||||||
;imul ebx,edx
|
|
||||||
lea ebx,[ebx*3]
|
|
||||||
add ebx,edi
|
|
||||||
imul ebx,edx
|
|
||||||
mov ecx,ebx
|
|
||||||
|
|
||||||
; mov [sf_buf.end],ecx
|
|
||||||
add ecx,0x36
|
|
||||||
mov ebx,12
|
|
||||||
mov eax,68
|
|
||||||
mcall
|
|
||||||
|
|
||||||
mov [sf_buf.bmp_header],eax
|
|
||||||
add eax,0x36
|
|
||||||
mov [sf_buf.bmp_area],eax
|
|
||||||
add eax,ecx
|
|
||||||
sub eax,0x36
|
|
||||||
mov [sf_buf.end],eax
|
|
||||||
|
|
||||||
; push edi
|
|
||||||
; § ¯®«ï¥¬ áâàãªâãàã ¤«ï á®åà ¥¨ï ä ©«
|
; § ¯®«ï¥¬ áâàãªâãàã ¤«ï á®åà ¥¨ï ä ©«
|
||||||
mov ebp,fs_struc
|
mov ebp,fs_struc
|
||||||
mov [ebp],dword 2
|
mov [ebp],dword SSF_CREATE_FILE
|
||||||
|
|
||||||
mov eax,[sf_buf.bmp_header]
|
mov eax,[sf_buf.bmp_header]
|
||||||
mov ebx,[sf_buf.end]
|
mov ecx,[sf_buf.end]
|
||||||
sub ebx,eax
|
mov [ebp+12],ecx ;file size
|
||||||
mov [ebp+12],ebx
|
|
||||||
mov [ebp+16],eax
|
mov [ebp+16],eax
|
||||||
mov [ebp+21],dword file_name
|
mov [ebp+21],dword file_name
|
||||||
|
|
||||||
; § ¯®«ï¥¬ § £®«®¢®ª bmp
|
draw_status saving
|
||||||
mov ebp,[sf_buf.bmp_header]
|
mcall SF_FILE, fs_struc
|
||||||
mov [ebp],word 'BM'
|
|
||||||
mov ebx,[sf_buf.end]
|
|
||||||
sub ebx,[sf_buf.bmp_area]
|
|
||||||
mov [ebp+34],ebx ; à §¬¥à ª à⨪¨
|
|
||||||
mov [ebp+10],dword 0x36 ; à §¬¥à § £®«®¢ª
|
|
||||||
add ebx,0x36
|
|
||||||
mov [ebp+2],ebx ; à §¬¥à ä ©«
|
|
||||||
mov [ebp+14],dword 0x28
|
|
||||||
movzx eax,word [scr_buf.width]
|
|
||||||
mov [ebp+18],eax ; £®à¨§®â «ìë© à §¬¥à
|
|
||||||
movzx eax,word [scr_buf.height]
|
|
||||||
mov [ebp+22],eax ; ¢¥à⨪«ìë© à §¬¥à
|
|
||||||
mov [ebp+26],word 1
|
|
||||||
mov [ebp+28],word 24
|
|
||||||
|
|
||||||
; á®åà 塞
|
|
||||||
mov esi,[scr_buf.ptr]
|
|
||||||
mov edi,[sf_buf.end]
|
|
||||||
movzx edx,word [scr_buf.height]
|
|
||||||
movzx ebx,word [scr_buf.width]
|
|
||||||
lea ebx,[ebx*3]
|
|
||||||
mov ecx,ebx
|
|
||||||
|
|
||||||
test ebx,11b
|
|
||||||
jz @f
|
|
||||||
shr ebx,2
|
|
||||||
inc ebx
|
|
||||||
shl ebx,2
|
|
||||||
@@:
|
|
||||||
mov eax,ebx
|
|
||||||
sub eax,ecx
|
|
||||||
cld
|
|
||||||
align 4
|
|
||||||
.next_str:
|
|
||||||
sub edi,ebx
|
|
||||||
mov ecx,ebx
|
|
||||||
shr ecx,2
|
|
||||||
rep movsd
|
|
||||||
sub edi,ebx
|
|
||||||
sub esi,eax
|
|
||||||
dec edx
|
|
||||||
jnz .next_str
|
|
||||||
|
|
||||||
draw_status saving
|
|
||||||
mov eax,70
|
|
||||||
mov ebx,fs_struc
|
|
||||||
mcall
|
|
||||||
|
|
||||||
test eax,eax
|
test eax,eax
|
||||||
jne save_error
|
jne save_error
|
||||||
|
@ -1,34 +1,38 @@
|
|||||||
;
|
;
|
||||||
; Screenshooter for Kolibri
|
; Screenshooter for Kolibri
|
||||||
;
|
;
|
||||||
|
;---------------------------------------------------------------------
|
||||||
|
; €¢â®à ¯à®£à ¬¬ë …¢â¨å®¢ Œ ªá¨¬ (Maxxxx32)
|
||||||
|
;
|
||||||
|
; 26.11.16 - IgorA ᨬª¨ á®åà ïîâìáï ¢ ä®à¬ ⥠*.png
|
||||||
|
; 02.11.10 - ˆá¯®«ì§ã¥âáï checkbox ¢¥àᨨ 2
|
||||||
|
;
|
||||||
; version: 1.2
|
; version: 1.2
|
||||||
; last update: 08/09/2010
|
; last update: 08/09/2010
|
||||||
; written by: Marat Zakiyanov aka Mario79, aka Mario
|
; written by: Marat Zakiyanov aka Mario79, aka Mario
|
||||||
; changes: select path for save with OpenDialog,
|
; changes: select path for save with OpenDialog,
|
||||||
; bag fix for threads stacks
|
; bag fix for threads stacks
|
||||||
;---------------------------------------------------------------------
|
; 01.06.09 - <Lrz> ª®¬¯®¥âë ¡¥àãâìáï ¨§ á¨á⥬®© ¡¨¡«¨®â¥ª¨
|
||||||
; 01.06.09 - Š®¬¯®¥âë ¡¥àãâìáï ¨§ á¨á⥬®© ¡¨¡«¨®â¥ª¨ <Lrz>
|
; 24.07.08 - <Lrz> ®¡®¢«¥ editbox
|
||||||
; €¢â®à ¯à®£à ¬¬ë …¢â¨å®¢ Œ ªá¨¬ (Maxxxx32)
|
|
||||||
; 24.07.2008 <Lrz> ®¡®¢«¥ editbox
|
|
||||||
; 01.02.07 - ®¡®¢«ñ editbox
|
; 01.02.07 - ®¡®¢«ñ editbox
|
||||||
; 31.01.07 - ¢áñ ⥯¥àì à¨áã¥âáï ®â®á¨â¥«ì® ª«¨¥â᪮© ®¡« áâ¨
|
; 31.01.07 - ¢áñ ⥯¥àì à¨áã¥âáï ®â®á¨â¥«ì® ª«¨¥â᪮© ®¡« áâ¨
|
||||||
; 02.11.10 - ˆá¯®«ì§ã¥âáï checkbox ¢¥àᨨ 2
|
|
||||||
|
|
||||||
format binary as ""
|
format binary as ""
|
||||||
|
|
||||||
title equ 'Screenshooter v 1.2' ; ‡ £®«®¢®ª ®ª
|
title equ 'Screenshooter v 1.2' ; ‡ £®«®¢®ª ®ª
|
||||||
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/trunk/box_lib.mac'
|
||||||
;include '../../develop/examples/editbox/trunk/editbox.inc'
|
|
||||||
include '../../config.inc' ;for nightbuild
|
include '../../config.inc' ;for nightbuild
|
||||||
|
include '../../proc32.inc'
|
||||||
include '../../macros.inc'
|
include '../../macros.inc'
|
||||||
|
include '../../KOSfuncs.inc'
|
||||||
|
include '../../develop/libraries/libs-dev/libimg/libimg.inc'
|
||||||
include 'txtbut.inc'
|
include 'txtbut.inc'
|
||||||
include 'label.inc'
|
include 'label.inc'
|
||||||
include 'textwork.inc'
|
include 'textwork.inc'
|
||||||
include 'scrshoot.mac'
|
include 'scrshoot.mac'
|
||||||
|
|
||||||
;include 'macros.inc' ; ¢áâ ¢«ï¥¬ ¬ ªà®áë
|
|
||||||
; meos_header cmdstr ; ¢áâ ¢«ï¥¬ § £®«®¢®ª ¯à®£à ¬¬ë
|
|
||||||
use32
|
use32
|
||||||
org 0x0
|
org 0x0
|
||||||
db 'MENUET01'
|
db 'MENUET01'
|
||||||
@ -40,8 +44,10 @@ use32
|
|||||||
dd cmdstr
|
dd cmdstr
|
||||||
dd cur_dir_path
|
dd cur_dir_path
|
||||||
|
|
||||||
|
include '../../dll.inc'
|
||||||
|
|
||||||
align 4
|
align 4
|
||||||
@use_library
|
@use_library_mem mem.Alloc,mem.Free,mem.ReAlloc,dll.Load
|
||||||
use_txt_button ; |
|
use_txt_button ; |
|
||||||
use_label ; |-- GUI ª®¬¯®¥âë ¨ ¥ª®â®àë¥ ¯à®æ¥¤ãàë
|
use_label ; |-- GUI ª®¬¯®¥âë ¨ ¥ª®â®àë¥ ¯à®æ¥¤ãàë
|
||||||
use_text_work ; /
|
use_text_work ; /
|
||||||
@ -54,26 +60,12 @@ include 'lang.inc'
|
|||||||
|
|
||||||
macro get_sys_colors col_buf
|
macro get_sys_colors col_buf
|
||||||
{
|
{
|
||||||
;mov eax,48
|
mcall SF_STYLE_SETTINGS, SSF_GET_COLORS, col_buf, 40
|
||||||
push 48
|
|
||||||
pop eax
|
|
||||||
;mov ebx,3
|
|
||||||
push 3
|
|
||||||
pop ebx
|
|
||||||
;mov ecx,col_buf
|
|
||||||
push col_buf
|
|
||||||
pop ecx
|
|
||||||
;mov edx,40
|
|
||||||
push 40
|
|
||||||
pop edx
|
|
||||||
mcall
|
|
||||||
}
|
}
|
||||||
|
|
||||||
;--- ç «® ¯à®£à ¬¬ë ---
|
;--- ç «® ¯à®£à ¬¬ë ---
|
||||||
align 4
|
align 4
|
||||||
start:
|
start:
|
||||||
;sys_load_library library_name, cur_dir_path, library_path, system_path, \
|
|
||||||
;err_message_found_lib, head_f_l, myimport, err_message_import, head_f_i
|
|
||||||
|
|
||||||
load_libraries l_libs_start,end_l_libs
|
load_libraries l_libs_start,end_l_libs
|
||||||
|
|
||||||
@ -83,9 +75,7 @@ load_libraries l_libs_start,end_l_libs
|
|||||||
test eax,eax
|
test eax,eax
|
||||||
jz close
|
jz close
|
||||||
;;;;;;;;;;;;;;;; init memory 68/11
|
;;;;;;;;;;;;;;;; init memory 68/11
|
||||||
mov eax,68
|
mcall SF_SYS_MISC, SSF_HEAP_INIT
|
||||||
mov ebx,11
|
|
||||||
mcall
|
|
||||||
test eax,eax
|
test eax,eax
|
||||||
jz close
|
jz close
|
||||||
|
|
||||||
@ -112,31 +102,21 @@ load_libraries l_libs_start,end_l_libs
|
|||||||
jnz @b
|
jnz @b
|
||||||
|
|
||||||
;OpenDialog initialisation
|
;OpenDialog initialisation
|
||||||
push dword OpenDialog_data
|
stdcall [OpenDialog_Init], OpenDialog_data
|
||||||
call [OpenDialog_Init]
|
|
||||||
|
|
||||||
; prepare for PathShow
|
; prepare for PathShow
|
||||||
push dword PathShow_data_1
|
stdcall [PathShow_prepare], PathShow_data_1
|
||||||
call [PathShow_prepare]
|
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
;mov al,[gs:1280*4*1024]
|
;mov al,[gs:1280*4*1024]
|
||||||
; ãáâ ¢«¨¢ ¥¬ ipc ¡ãää¥à
|
; ãáâ ¢«¨¢ ¥¬ ipc ¡ãää¥à
|
||||||
push 60
|
|
||||||
pop eax
|
|
||||||
;mov ebx,1
|
|
||||||
xor ebx,ebx
|
xor ebx,ebx
|
||||||
inc ebx
|
inc ebx
|
||||||
mov ecx,app_ipc
|
mcall SF_IPC,, app_ipc, 32
|
||||||
mov edx,32
|
|
||||||
mcall
|
|
||||||
|
|
||||||
push 66 ; ãáâ ¢«¨¢ ¥¬ £«®¡ «ìãî £®àïçãî ª« ¢¨èã
|
; ãáâ ¢«¨¢ ¥¬ £«®¡ «ìãî £®àïçãî ª« ¢¨èã
|
||||||
pop eax
|
|
||||||
push eax
|
|
||||||
mov ebx,4
|
|
||||||
mov cl,55 ; 55 - PrintScrn
|
mov cl,55 ; 55 - PrintScrn
|
||||||
xor edx,edx
|
xor edx,edx
|
||||||
mcall
|
mcall SF_KEYBOARD, SSF_SET_SYS_HOTKEY
|
||||||
|
|
||||||
mov ebx,app
|
mov ebx,app
|
||||||
call get_slot_n
|
call get_slot_n
|
||||||
@ -156,7 +136,6 @@ red:
|
|||||||
txt_but_set_sys_color buttons,buttons_end,sc ; \
|
txt_but_set_sys_color buttons,buttons_end,sc ; \
|
||||||
labels_set_sys_color labels,labels_end,sc ; |
|
labels_set_sys_color labels,labels_end,sc ; |
|
||||||
check_boxes_set_sys_color2 check_boxes,check_boxes_end,sc; |
|
check_boxes_set_sys_color2 check_boxes,check_boxes_end,sc; |
|
||||||
; check_boxes_set_sys_color check_boxes,check_boxes_end,sc ; |
|
|
||||||
edit_boxes_set_sys_color editboxes,editboxes_end,sc ; /
|
edit_boxes_set_sys_color editboxes,editboxes_end,sc ; /
|
||||||
|
|
||||||
get_screen_prop scr ; ¯®«ãç ¥¬ ¨ä®à¬ æ¨î ®¡ íªà ¥
|
get_screen_prop scr ; ¯®«ãç ¥¬ ¨ä®à¬ æ¨î ®¡ íªà ¥
|
||||||
@ -181,8 +160,8 @@ red:
|
|||||||
jmp close
|
jmp close
|
||||||
;------------------------------------------------------------------------------
|
;------------------------------------------------------------------------------
|
||||||
draw_window_direct:
|
draw_window_direct:
|
||||||
mcall 12,1
|
mcall SF_REDRAW, SSF_BEGIN_DRAW
|
||||||
mcall 14
|
mcall SF_GET_SCREEN_SIZE
|
||||||
; eax = [xsize]*65536 + [ysize]
|
; eax = [xsize]*65536 + [ysize]
|
||||||
mov ebx,eax
|
mov ebx,eax
|
||||||
shr ebx,17
|
shr ebx,17
|
||||||
@ -195,13 +174,12 @@ draw_window_direct:
|
|||||||
sub ecx,50
|
sub ecx,50
|
||||||
shl ecx,16
|
shl ecx,16
|
||||||
mov cx,100
|
mov cx,100
|
||||||
xor eax,eax
|
|
||||||
xor esi,esi
|
xor esi,esi
|
||||||
mcall ,,,0x34ffffff,,grab_text
|
mcall SF_CREATE_WINDOW,,,0x34ffffff,,grab_text
|
||||||
|
|
||||||
mcall 4,<10,30>,0x90000000,saving
|
mcall SF_DRAW_TEXT, <10,30>,0x90000000,saving
|
||||||
|
|
||||||
mcall 12,2
|
mcall SF_REDRAW, SSF_END_DRAW
|
||||||
ret
|
ret
|
||||||
;------------------------------------------------------------------------------
|
;------------------------------------------------------------------------------
|
||||||
no_boot:
|
no_boot:
|
||||||
@ -221,17 +199,10 @@ key:
|
|||||||
jmp still
|
jmp still
|
||||||
@@:
|
@@:
|
||||||
; key_edit_boxes editboxes,editboxes_end
|
; key_edit_boxes editboxes,editboxes_end
|
||||||
; push dword edit1
|
; stdcall [edit_box_key], edit1
|
||||||
; call [edit_box_key]
|
stdcall [edit_box_key], edit2
|
||||||
|
stdcall [edit_box_key], edit3
|
||||||
push dword edit2
|
stdcall [edit_box_key], edit4
|
||||||
call [edit_box_key]
|
|
||||||
|
|
||||||
push dword edit3
|
|
||||||
call [edit_box_key]
|
|
||||||
|
|
||||||
push dword edit4
|
|
||||||
call [edit_box_key]
|
|
||||||
|
|
||||||
jmp still
|
jmp still
|
||||||
button:
|
button:
|
||||||
@ -245,30 +216,12 @@ mouse:
|
|||||||
cmp eax,[slot_n]
|
cmp eax,[slot_n]
|
||||||
jne still
|
jne still
|
||||||
;----------------------------------
|
;----------------------------------
|
||||||
; push dword edit1
|
; stdcall [edit_box_mouse], edit1
|
||||||
; call [edit_box_mouse]
|
stdcall [edit_box_mouse], edit2
|
||||||
push dword edit2
|
stdcall [edit_box_mouse], edit3
|
||||||
call [edit_box_mouse]
|
stdcall [edit_box_mouse], edit4
|
||||||
push dword edit3
|
|
||||||
call [edit_box_mouse]
|
|
||||||
push dword edit4
|
|
||||||
call [edit_box_mouse]
|
|
||||||
;----------------------------------
|
;----------------------------------
|
||||||
checkboxes_mouse2 check_boxes,check_boxes_end
|
checkboxes_mouse2 check_boxes,check_boxes_end
|
||||||
; push dword ch1
|
|
||||||
; call [check_box_mouse]
|
|
||||||
; push dword ch2
|
|
||||||
; call [check_box_mouse]
|
|
||||||
; push dword ch3
|
|
||||||
; call [check_box_mouse]
|
|
||||||
; push dword ch4
|
|
||||||
; call [check_box_mouse]
|
|
||||||
; push dword ch5
|
|
||||||
; call [check_box_mouse]
|
|
||||||
; push dword ch6
|
|
||||||
; call [check_box_mouse]
|
|
||||||
; push dword use_rect
|
|
||||||
; call [check_box_mouse]
|
|
||||||
;-----------------------------------
|
;-----------------------------------
|
||||||
; mouse_check_boxes check_boxes,check_boxes_end
|
; mouse_check_boxes check_boxes,check_boxes_end
|
||||||
; mouse_edit_boxes editboxes,editboxes_end
|
; mouse_edit_boxes editboxes,editboxes_end
|
||||||
@ -301,10 +254,7 @@ p_close:
|
|||||||
|
|
||||||
bt dword [flags],3
|
bt dword [flags],3
|
||||||
jnc @f
|
jnc @f
|
||||||
mov eax,18
|
mcall SF_SYSTEM, SSF_TERMINATE_THREAD_ID, [set_rect_window_pid]
|
||||||
mov ebx,eax
|
|
||||||
mov ecx,[set_rect_window_pid]
|
|
||||||
mcall
|
|
||||||
@@:
|
@@:
|
||||||
|
|
||||||
close:
|
close:
|
||||||
@ -313,7 +263,7 @@ close:
|
|||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
draw_PathShow:
|
draw_PathShow:
|
||||||
pusha
|
pusha
|
||||||
mcall 13,<4,302>,<35,15>,0xffffff
|
mcall SF_DRAW_RECT, <4,302>, <35,15>, 0xffffff
|
||||||
; draw for PathShow
|
; draw for PathShow
|
||||||
push dword PathShow_data_1
|
push dword PathShow_data_1
|
||||||
call [PathShow_draw]
|
call [PathShow_draw]
|
||||||
@ -326,7 +276,6 @@ draw_window:
|
|||||||
start_draw_window ; ç «® ¯¥à¥à¨á®¢ª¨
|
start_draw_window ; ç «® ¯¥à¥à¨á®¢ª¨
|
||||||
; ®¯à¥¤¥«ï¥¬ ®ª®
|
; ®¯à¥¤¥«ï¥¬ ®ª®
|
||||||
get_skin_height
|
get_skin_height
|
||||||
mov ebx,100*65536+320
|
|
||||||
mov ecx,100*65536+220
|
mov ecx,100*65536+220
|
||||||
add cx,ax
|
add cx,ax
|
||||||
mov edx,[sc.work]
|
mov edx,[sc.work]
|
||||||
@ -334,31 +283,25 @@ start_draw_window ;
|
|||||||
xor esi,esi
|
xor esi,esi
|
||||||
;xor edi,edi
|
;xor edi,edi
|
||||||
mov edi,grab_text
|
mov edi,grab_text
|
||||||
xor eax,eax
|
mcall SF_CREATE_WINDOW, 100*65536+320
|
||||||
mcall
|
|
||||||
|
|
||||||
mov eax,47 ; ¢ë¢®¤¨¬ ç¨á« ¢ ®ª®
|
; ¢ë¢®¤¨¬ ç¨á« ¢ ®ª®
|
||||||
mov bx,4
|
mov ebx,4 shl 16
|
||||||
shl ebx,16
|
|
||||||
movsx ecx,word [scr.width] ; è¨à¨ íªà
|
movsx ecx,word [scr.width] ; è¨à¨ íªà
|
||||||
mov dx,95
|
mov edx,95 shl 16
|
||||||
shl edx,16
|
|
||||||
mov dx,[label1.top]
|
mov dx,[label1.top]
|
||||||
push dx
|
push dx
|
||||||
mov esi,[sc.work_text]
|
mov esi,[sc.work_text]
|
||||||
mcall
|
mcall SF_DRAW_NUMBER
|
||||||
movsx ecx,word [scr.height] ; ¢ëá®â íªà
|
movsx ecx,word [scr.height] ; ¢ëá®â íªà
|
||||||
mov dx,[label2.top]
|
mov dx,[label2.top]
|
||||||
mcall
|
mcall
|
||||||
mov bx,2
|
mov ebx,2 shl 16
|
||||||
shl ebx,16
|
|
||||||
movsx ecx,word [scr.bitspp] ; ¡¨â ¯¨ªá¥«ì
|
movsx ecx,word [scr.bitspp] ; ¡¨â ¯¨ªá¥«ì
|
||||||
mov dx,240
|
mov edx,240 shl 16
|
||||||
shl edx,16
|
|
||||||
pop dx
|
pop dx
|
||||||
mcall
|
mcall
|
||||||
mov bx,6
|
mov ebx,6 shl 16
|
||||||
shl ebx,16
|
|
||||||
mov ecx,[scr.bytesps] ; ¡ ©â áâபã
|
mov ecx,[scr.bytesps] ; ¡ ©â áâபã
|
||||||
mov dx,[label2.top]
|
mov dx,[label2.top]
|
||||||
mcall
|
mcall
|
||||||
@ -369,14 +312,10 @@ start_draw_window ;
|
|||||||
draw_labels labels,labels_end ; ¬¥âª¨
|
draw_labels labels,labels_end ; ¬¥âª¨
|
||||||
; draw_edit_boxes editboxes,editboxes_end ; edit_box
|
; draw_edit_boxes editboxes,editboxes_end ; edit_box
|
||||||
;------ show check editbox -----------
|
;------ show check editbox -----------
|
||||||
; push dword edit1
|
; stdcall [edit_box_draw], edit1
|
||||||
; call [edit_box_draw]
|
stdcall [edit_box_draw], edit2
|
||||||
push dword edit2
|
stdcall [edit_box_draw], edit3
|
||||||
call [edit_box_draw]
|
stdcall [edit_box_draw], edit4
|
||||||
push dword edit3
|
|
||||||
call [edit_box_draw]
|
|
||||||
push dword edit4
|
|
||||||
call [edit_box_draw]
|
|
||||||
;------ end check all editbox -------
|
;------ end check all editbox -------
|
||||||
|
|
||||||
call draw_PathShow
|
call draw_PathShow
|
||||||
@ -384,20 +323,6 @@ start_draw_window ;
|
|||||||
draw_txt_buttons buttons,buttons_end ; ª®¯ª¨
|
draw_txt_buttons buttons,buttons_end ; ª®¯ª¨
|
||||||
; draw_check_boxes check_boxes,check_boxes_end ; ä« ¦ª¨
|
; draw_check_boxes check_boxes,check_boxes_end ; ä« ¦ª¨
|
||||||
;------ check all checkbox ---------
|
;------ check all checkbox ---------
|
||||||
; push dword ch1
|
|
||||||
; call [check_box_draw]
|
|
||||||
; push dword ch2
|
|
||||||
; call [check_box_draw]
|
|
||||||
; push dword ch3
|
|
||||||
; call [check_box_draw]
|
|
||||||
; push dword ch4
|
|
||||||
; call [check_box_draw]
|
|
||||||
; push dword ch5
|
|
||||||
; call [check_box_draw]
|
|
||||||
; push dword ch6
|
|
||||||
; call [check_box_draw]
|
|
||||||
; push dword use_rect
|
|
||||||
; call [check_box_draw]
|
|
||||||
|
|
||||||
checkboxes_draw2 check_boxes,check_boxes_end
|
checkboxes_draw2 check_boxes,check_boxes_end
|
||||||
|
|
||||||
@ -461,15 +386,13 @@ shoot:
|
|||||||
|
|
||||||
call [OpenDialog_data.draw_window]
|
call [OpenDialog_data.draw_window]
|
||||||
; invoke OpenDialog
|
; invoke OpenDialog
|
||||||
push dword OpenDialog_data
|
stdcall [OpenDialog_Start], OpenDialog_data
|
||||||
call [OpenDialog_Start]
|
|
||||||
cmp [OpenDialog_data.status],1
|
cmp [OpenDialog_data.status],1
|
||||||
je .1
|
je .1
|
||||||
ret
|
ret
|
||||||
.1:
|
.1:
|
||||||
; prepare for PathShow
|
; prepare for PathShow
|
||||||
push dword PathShow_data_1
|
stdcall [PathShow_prepare], PathShow_data_1
|
||||||
call [PathShow_prepare]
|
|
||||||
|
|
||||||
call [OpenDialog_data.draw_window]
|
call [OpenDialog_data.draw_window]
|
||||||
|
|
||||||
@ -488,10 +411,7 @@ ret
|
|||||||
;--- ¯®«ãç¨âì ¯ ¬ïâì ¤«ï ᨬª ---
|
;--- ¯®«ãç¨âì ¯ ¬ïâì ¤«ï ᨬª ---
|
||||||
get_mem_for_shoot:
|
get_mem_for_shoot:
|
||||||
;clean memory
|
;clean memory
|
||||||
mov ecx,dword [scr_buf.ptr]
|
mcall SF_SYS_MISC, SSF_MEM_FREE, [scr_buf.ptr]
|
||||||
mov ebx,13
|
|
||||||
mov eax,68
|
|
||||||
mcall
|
|
||||||
|
|
||||||
bt dword [use_rect.flags],1 ; ä®âª âì ®¡« áâì íªà
|
bt dword [use_rect.flags],1 ; ä®âª âì ®¡« áâì íªà
|
||||||
jc .use_area
|
jc .use_area
|
||||||
@ -506,9 +426,7 @@ get_mem_for_shoot:
|
|||||||
imul ecx,ebx
|
imul ecx,ebx
|
||||||
lea ecx,[ecx*3]
|
lea ecx,[ecx*3]
|
||||||
; add ecx,i_end
|
; add ecx,i_end
|
||||||
mov ebx,12
|
mcall SF_SYS_MISC, SSF_MEM_ALLOC
|
||||||
mov eax,68
|
|
||||||
mcall
|
|
||||||
mov [scr_buf.ptr],eax
|
mov [scr_buf.ptr],eax
|
||||||
add eax,ecx
|
add eax,ecx
|
||||||
mov [scr_buf.end_ptr],ecx
|
mov [scr_buf.end_ptr],ecx
|
||||||
@ -519,12 +437,9 @@ show_scr_window:
|
|||||||
pusha
|
pusha
|
||||||
bt dword [flags],0
|
bt dword [flags],0
|
||||||
jnc @f
|
jnc @f
|
||||||
mov eax,51
|
|
||||||
xor ebx,ebx
|
xor ebx,ebx
|
||||||
inc ebx
|
inc ebx
|
||||||
mov ecx,scr_window
|
mcall SF_CREATE_THREAD,, scr_window, i_end_tread-512
|
||||||
mov edx,i_end_tread-512
|
|
||||||
mcall
|
|
||||||
@@:
|
@@:
|
||||||
popa
|
popa
|
||||||
ret
|
ret
|
||||||
@ -542,35 +457,26 @@ draw_number:
|
|||||||
mov edi,sign_n_input
|
mov edi,sign_n_input
|
||||||
call zstr_to_int
|
call zstr_to_int
|
||||||
mov [sign_n],al
|
mov [sign_n],al
|
||||||
mov eax,13
|
|
||||||
mov ebx,150*65536+96
|
|
||||||
mov cx,[label9.top]
|
mov cx,[label9.top]
|
||||||
shl ecx,16
|
shl ecx,16
|
||||||
mov cx,10
|
mov cx,10
|
||||||
mov edx,[sc.work]
|
mov edx,[sc.work]
|
||||||
mcall
|
mcall SF_DRAW_RECT, 150*65536+96
|
||||||
mov eax,47
|
|
||||||
movsx bx,byte [sign_n]
|
movsx bx,byte [sign_n]
|
||||||
shl ebx,16
|
shl ebx,16
|
||||||
mov ecx,[cur_number]
|
mov edx,150 shl 16
|
||||||
mov dx,150
|
|
||||||
shl edx,16
|
|
||||||
mov dx,[label9.top]
|
mov dx,[label9.top]
|
||||||
mov esi,[sc.work_text]
|
mov esi,[sc.work_text]
|
||||||
mcall
|
mcall SF_DRAW_NUMBER,, [cur_number]
|
||||||
ret
|
ret
|
||||||
|
|
||||||
;--- ¯à®æ¥¤ãà , § ¯ã᪠îé ï ¯®â®ª ¢â®áꥬª¨ ---
|
;--- ¯à®æ¥¤ãà , § ¯ã᪠îé ï ¯®â®ª ¢â®áꥬª¨ ---
|
||||||
start_autoshoot:
|
start_autoshoot:
|
||||||
bts dword [flags],1
|
bts dword [flags],1
|
||||||
jc @f
|
jc @f
|
||||||
mov eax,51
|
|
||||||
;mov ebx,1
|
|
||||||
xor ebx,ebx
|
xor ebx,ebx
|
||||||
inc ebx
|
inc ebx
|
||||||
mov ecx,autoshoot
|
mcall SF_CREATE_THREAD,, autoshoot, i_end_tread
|
||||||
mov edx,i_end_tread
|
|
||||||
mcall
|
|
||||||
@@:
|
@@:
|
||||||
ret
|
ret
|
||||||
|
|
||||||
@ -587,12 +493,8 @@ autoshoot:
|
|||||||
.next:
|
.next:
|
||||||
bt dword [flags],1
|
bt dword [flags],1
|
||||||
jnc close
|
jnc close
|
||||||
mov eax,60
|
|
||||||
mov ebx,2
|
|
||||||
mov ecx,[app.pid]
|
|
||||||
mov edx,messages.draw_number
|
|
||||||
mov esi,2
|
mov esi,2
|
||||||
mcall
|
mcall SF_IPC, SSF_SEND_MESSAGE, [app.pid], messages.draw_number
|
||||||
call shoot
|
call shoot
|
||||||
jmp autoshoot.next
|
jmp autoshoot.next
|
||||||
.close:
|
.close:
|
||||||
@ -601,17 +503,12 @@ autoshoot:
|
|||||||
;--- ¯à®æ¥¤ãà ¯à®à¨á®¢ª¨ áâப¨ á®áâ®ï¨ï ---
|
;--- ¯à®æ¥¤ãà ¯à®à¨á®¢ª¨ áâப¨ á®áâ®ï¨ï ---
|
||||||
; (¤®«¦ ¢ë§ë¢ âìáï ¯®â®ª®¬ £« ¢®£® ®ª )
|
; (¤®«¦ ¢ë§ë¢ âìáï ¯®â®ª®¬ £« ¢®£® ®ª )
|
||||||
dr_st:
|
dr_st:
|
||||||
mov eax,38 ; ®â१®ª
|
mcall SF_DRAW_LINE, 0*65536+310, 198*65536+198, [sc.work_graph]
|
||||||
mov ebx,0*65536+310
|
|
||||||
mov ecx,198*65536+198
|
|
||||||
mov edx,[sc.work_graph]
|
|
||||||
mcall
|
|
||||||
|
|
||||||
mov eax,13 ; ¯®«®áª
|
|
||||||
mov bx,310
|
mov bx,310
|
||||||
mov ecx,199*65536+15
|
mov ecx,199*65536+15
|
||||||
mov edx,[sc.work]
|
mov edx,[sc.work]
|
||||||
mcall
|
mcall SF_DRAW_RECT ; ¯®«®áª
|
||||||
|
|
||||||
mov edi,status
|
mov edi,status
|
||||||
call draw_label
|
call draw_label
|
||||||
@ -621,17 +518,15 @@ ret
|
|||||||
; ¢å®¤ ebx - ¡ãää¥à 1024 ¡ ©â
|
; ¢å®¤ ebx - ¡ãää¥à 1024 ¡ ©â
|
||||||
; ¢ë室 ecx - ®¬¥à á«®â
|
; ¢ë室 ecx - ®¬¥à á«®â
|
||||||
get_slot_n:
|
get_slot_n:
|
||||||
mov eax,9
|
|
||||||
xor ecx,ecx
|
xor ecx,ecx
|
||||||
dec ecx
|
dec ecx
|
||||||
mcall
|
mcall SF_THREAD_INFO
|
||||||
|
|
||||||
mov edx,[ebx+30]
|
mov edx,[ebx+30]
|
||||||
xor ecx,ecx
|
xor ecx,ecx
|
||||||
@@:
|
@@:
|
||||||
mov eax,9
|
|
||||||
inc ecx
|
inc ecx
|
||||||
mcall
|
mcall SF_THREAD_INFO
|
||||||
cmp [ebx+30],edx
|
cmp [ebx+30],edx
|
||||||
je @f
|
je @f
|
||||||
jmp @b
|
jmp @b
|
||||||
@ -646,15 +541,13 @@ one_shoot:
|
|||||||
;--- ¯à®æ¥¤à , § ¯ã᪠îé ï ¯®â®ª, á®åà ïî騩 ᨬ®ª ---
|
;--- ¯à®æ¥¤à , § ¯ã᪠îé ï ¯®â®ª, á®åà ïî騩 ᨬ®ª ---
|
||||||
save_shoot:
|
save_shoot:
|
||||||
; invoke OpenDialog
|
; invoke OpenDialog
|
||||||
push dword OpenDialog_data
|
stdcall [OpenDialog_Start], OpenDialog_data
|
||||||
call [OpenDialog_Start]
|
|
||||||
cmp [OpenDialog_data.status],1
|
cmp [OpenDialog_data.status],1
|
||||||
je .1
|
je .1
|
||||||
ret
|
ret
|
||||||
.1:
|
.1:
|
||||||
; prepare for PathShow
|
; prepare for PathShow
|
||||||
push dword PathShow_data_1
|
stdcall [PathShow_prepare], PathShow_data_1
|
||||||
call [PathShow_prepare]
|
|
||||||
|
|
||||||
call draw_PathShow
|
call draw_PathShow
|
||||||
|
|
||||||
@ -666,11 +559,9 @@ save_shoot:
|
|||||||
bt dword [flags],1
|
bt dword [flags],1
|
||||||
jc .running
|
jc .running
|
||||||
|
|
||||||
mov eax,51
|
|
||||||
;mov ebx,1
|
|
||||||
xor ebx,ebx
|
xor ebx,ebx
|
||||||
inc ebx
|
inc ebx
|
||||||
mcall
|
mcall SF_CREATE_THREAD
|
||||||
.running:
|
.running:
|
||||||
ret
|
ret
|
||||||
|
|
||||||
@ -680,12 +571,8 @@ one_shoot_thread:
|
|||||||
activ_window
|
activ_window
|
||||||
bt dword [ch1.flags],1 ; ¬¨¨¬¨§¨à®¢ âì ®ª® ?
|
bt dword [ch1.flags],1 ; ¬¨¨¬¨§¨à®¢ âì ®ª® ?
|
||||||
jnc @f
|
jnc @f
|
||||||
mov eax,60
|
|
||||||
mov ebx,2
|
|
||||||
mov ecx,[app.pid]
|
|
||||||
mov edx,messages.min_window
|
|
||||||
mov esi,2
|
mov esi,2
|
||||||
mcall
|
mcall SF_IPC, SSF_SEND_MESSAGE, [app.pid], messages.min_window
|
||||||
@@:
|
@@:
|
||||||
call shoot
|
call shoot
|
||||||
btr dword [flags],2
|
btr dword [flags],2
|
||||||
@ -694,12 +581,8 @@ one_shoot_thread:
|
|||||||
;--- ¯à®æ¥¤ãà , ®â¯à ¢«ïîé ï £« ¢®¬ã ®ªã á®®¡é¥¨¥ ® ¯¥à¥à¨á®¢ª¥
|
;--- ¯à®æ¥¤ãà , ®â¯à ¢«ïîé ï £« ¢®¬ã ®ªã á®®¡é¥¨¥ ® ¯¥à¥à¨á®¢ª¥
|
||||||
; áâப¨ á®áâ®ï¨ï ---
|
; áâப¨ á®áâ®ï¨ï ---
|
||||||
send_draw_status:
|
send_draw_status:
|
||||||
mov eax,60
|
|
||||||
mov ebx,2
|
|
||||||
mov ecx,[app.pid]
|
|
||||||
mov edx,messages.draw_status
|
|
||||||
mov esi,2
|
mov esi,2
|
||||||
mcall
|
mcall SF_IPC, SSF_SEND_MESSAGE, [app.pid], messages.draw_status
|
||||||
ret
|
ret
|
||||||
|
|
||||||
;--- ¯®â®ª, á®åà ï ä ©« ---
|
;--- ¯®â®ª, á®åà ï ä ©« ---
|
||||||
@ -714,34 +597,24 @@ save_shoot_thread:
|
|||||||
show_set_rect_window:
|
show_set_rect_window:
|
||||||
bts dword [flags],3
|
bts dword [flags],3
|
||||||
jc @f
|
jc @f
|
||||||
mov eax,51
|
|
||||||
xor ebx,ebx
|
xor ebx,ebx
|
||||||
inc ebx
|
inc ebx
|
||||||
mov ecx,set_rect_window
|
mcall SF_CREATE_THREAD,, set_rect_window, set_rect_window_esp
|
||||||
mov edx,set_rect_window_esp
|
|
||||||
mcall
|
|
||||||
|
|
||||||
mov [set_rect_window_pid],eax
|
mov [set_rect_window_pid],eax
|
||||||
ret
|
ret
|
||||||
|
|
||||||
@@:
|
@@:
|
||||||
mov eax,18
|
mcall SF_SYSTEM, SSF_TERMINATE_THREAD_ID, [set_rect_window_pid]
|
||||||
mov ebx,eax
|
|
||||||
mov ecx,[set_rect_window_pid]
|
|
||||||
mcall
|
|
||||||
btr dword [flags],3
|
btr dword [flags],3
|
||||||
ret
|
ret
|
||||||
|
|
||||||
;--- ¯®«ã票¥ ¨ä®à¬ 樨 ®¡ ªâ¨¢®¬ ®ª¥ ---
|
;--- ¯®«ã票¥ ¨ä®à¬ 樨 ®¡ ªâ¨¢®¬ ®ª¥ ---
|
||||||
get_active_window_info:
|
get_active_window_info:
|
||||||
mov eax,18
|
mcall SF_SYSTEM, SSF_GET_ACTIVE_WINDOW
|
||||||
mov ebx,7
|
|
||||||
mcall
|
|
||||||
|
|
||||||
mov ecx,eax
|
mov ecx,eax
|
||||||
mov eax,9
|
mcall SF_THREAD_INFO, active_app
|
||||||
mov ebx,active_app
|
|
||||||
mcall
|
|
||||||
ret
|
ret
|
||||||
|
|
||||||
;====================================================================
|
;====================================================================
|
||||||
@ -779,6 +652,9 @@ err_message_found_lib1, head_f_l, Box_lib_import, err_message_import1, head_f_i
|
|||||||
library02 l_libs system_dir_ProcLib+9, cur_dir_path, library_path, system_dir_ProcLib, \
|
library02 l_libs system_dir_ProcLib+9, cur_dir_path, library_path, system_dir_ProcLib, \
|
||||||
err_message_found_lib2, head_f_l, ProcLib_import, err_message_import2, head_f_i
|
err_message_found_lib2, head_f_l, ProcLib_import, err_message_import2, head_f_i
|
||||||
|
|
||||||
|
library03 l_libs system_dir_LibImg+9, cur_dir_path, library_path, system_dir_LibImg, \
|
||||||
|
err_message_found_lib3, head_f_l, import_libimg, err_message_import3, head_f_i
|
||||||
|
|
||||||
end_l_libs:
|
end_l_libs:
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
editboxes:
|
editboxes:
|
||||||
@ -958,11 +834,11 @@ communication_area_default_pach:
|
|||||||
Filter:
|
Filter:
|
||||||
dd Filter.end - Filter
|
dd Filter.end - Filter
|
||||||
.1:
|
.1:
|
||||||
db 'BMP',0
|
db 'PNG',0
|
||||||
.end:
|
.end:
|
||||||
db 0
|
db 0
|
||||||
|
|
||||||
start_temp_file_name: db '1.bmp',0
|
start_temp_file_name: db '1.png',0
|
||||||
|
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
sign_n_input:
|
sign_n_input:
|
||||||
@ -979,7 +855,7 @@ mouse_flag: dd 0x0
|
|||||||
align 4
|
align 4
|
||||||
|
|
||||||
ed_buffer:
|
ed_buffer:
|
||||||
.1: db '/sys/1.bmp',0
|
.1: db '/sys/1.png',0
|
||||||
;rb 287
|
;rb 287
|
||||||
.2:
|
.2:
|
||||||
db '100',0
|
db '100',0
|
||||||
@ -1061,26 +937,13 @@ set_rect_window_esp:
|
|||||||
mouse_dd rd 1
|
mouse_dd rd 1
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
align 4
|
align 4
|
||||||
cur_dir_path:
|
cur_dir_path rb 4096
|
||||||
rb 4096
|
library_path rb 4096
|
||||||
;---------------------------------------------------------------------
|
temp_dir_pach rb 4096
|
||||||
library_path:
|
text_work_area rb 1024
|
||||||
rb 4096
|
fname_buf rb 4096
|
||||||
;---------------------------------------------------------------------
|
procinfo rb 1024
|
||||||
temp_dir_pach:
|
filename_area rb 256
|
||||||
rb 4096
|
|
||||||
;---------------------------------------------------------------------
|
|
||||||
text_work_area:
|
|
||||||
rb 1024
|
|
||||||
;---------------------------------------------------------------------
|
|
||||||
fname_buf:
|
|
||||||
rb 4096
|
|
||||||
;---------------------------------------------------------------------
|
|
||||||
procinfo:
|
|
||||||
rb 1024
|
|
||||||
;---------------------------------------------------------------------
|
|
||||||
filename_area:
|
|
||||||
rb 256
|
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
rb 1024
|
rb 1024
|
||||||
i_end_tread:
|
i_end_tread:
|
||||||
|
@ -16,18 +16,10 @@ set_rect_window:
|
|||||||
.key:
|
.key:
|
||||||
get_key
|
get_key
|
||||||
|
|
||||||
push dword rect_input.left
|
stdcall [edit_box_key], rect_input.left
|
||||||
call [edit_box_key]
|
stdcall [edit_box_key], rect_input.top
|
||||||
|
stdcall [edit_box_key], rect_input.width
|
||||||
push dword rect_input.top
|
stdcall [edit_box_key], rect_input.height
|
||||||
call [edit_box_key]
|
|
||||||
|
|
||||||
push dword rect_input.width
|
|
||||||
call [edit_box_key]
|
|
||||||
|
|
||||||
push dword rect_input.height
|
|
||||||
call [edit_box_key]
|
|
||||||
; key_edit_boxes rect_input,rect_input_end
|
|
||||||
|
|
||||||
call read_rect
|
call read_rect
|
||||||
call draw_rect_on_screen
|
call draw_rect_on_screen
|
||||||
@ -50,57 +42,33 @@ set_rect_window:
|
|||||||
cmp eax,[set_rect_window_slot]
|
cmp eax,[set_rect_window_slot]
|
||||||
jne .still
|
jne .still
|
||||||
|
|
||||||
push dword rect_input.left
|
stdcall [edit_box_mouse], rect_input.left
|
||||||
call [edit_box_mouse]
|
stdcall [edit_box_mouse], rect_input.top
|
||||||
|
stdcall [edit_box_mouse], rect_input.width
|
||||||
push dword rect_input.top
|
stdcall [edit_box_mouse], rect_input.height
|
||||||
call [edit_box_mouse]
|
|
||||||
|
|
||||||
push dword rect_input.width
|
|
||||||
call [edit_box_mouse]
|
|
||||||
|
|
||||||
push dword rect_input.height
|
|
||||||
call [edit_box_mouse]
|
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;
|
||||||
push dword use_rect_active_window
|
stdcall [check_box_mouse], use_rect_active_window
|
||||||
call [check_box_mouse]
|
|
||||||
|
|
||||||
; mouse_edit_boxes rect_input,rect_input_end
|
|
||||||
; mouse_check_boxes riw_check_boxes,riw_check_boxes_end
|
|
||||||
|
|
||||||
jmp .still
|
jmp .still
|
||||||
|
|
||||||
.draw_window:
|
.draw_window:
|
||||||
start_draw_window
|
start_draw_window
|
||||||
|
|
||||||
xor eax,eax
|
|
||||||
mov ebx,100*65536+250
|
|
||||||
mov ecx,100*65536+130
|
|
||||||
mov edx,[sc.work]
|
mov edx,[sc.work]
|
||||||
add edx,0x33000000
|
add edx,0x33000000
|
||||||
mov edi,riw_grab_text
|
mov edi,riw_grab_text
|
||||||
xor esi,esi
|
xor esi,esi
|
||||||
mcall
|
mcall SF_CREATE_WINDOW, 100*65536+250, 100*65536+130
|
||||||
|
|
||||||
draw_labels rect_input_labels,rect_input_labels_end
|
draw_labels rect_input_labels,rect_input_labels_end
|
||||||
|
|
||||||
push dword rect_input.left
|
stdcall [edit_box_draw], rect_input.left
|
||||||
call [edit_box_draw]
|
stdcall [edit_box_draw], rect_input.top
|
||||||
|
stdcall [edit_box_draw], rect_input.width
|
||||||
push dword rect_input.top
|
stdcall [edit_box_draw], rect_input.height
|
||||||
call [edit_box_draw]
|
|
||||||
|
|
||||||
push dword rect_input.width
|
|
||||||
call [edit_box_draw]
|
|
||||||
|
|
||||||
push dword rect_input.height
|
|
||||||
call [edit_box_draw]
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;
|
||||||
push dword use_rect_active_window
|
stdcall [check_box_draw], use_rect_active_window
|
||||||
call [check_box_draw]
|
|
||||||
; draw_edit_boxes rect_input,rect_input_end
|
|
||||||
; draw_check_boxes riw_check_boxes,riw_check_boxes_end
|
|
||||||
|
|
||||||
call read_rect
|
call read_rect
|
||||||
call draw_rect_on_screen
|
call draw_rect_on_screen
|
||||||
@ -169,11 +137,8 @@ ret
|
|||||||
|
|
||||||
draw_rect_on_screen:
|
draw_rect_on_screen:
|
||||||
|
|
||||||
mov eax,13
|
|
||||||
mov ebx,150*65536+80
|
|
||||||
mov ecx,5*65536+60
|
|
||||||
xor edx,edx
|
xor edx,edx
|
||||||
mcall
|
mcall SF_DRAW_RECT, 150*65536+80, 5*65536+60
|
||||||
|
|
||||||
;movzx eax,word [rect.left]
|
;movzx eax,word [rect.left]
|
||||||
;mul word [scr.width]
|
;mul word [scr.width]
|
||||||
@ -214,9 +179,7 @@ draw_rect_on_screen:
|
|||||||
pop bx
|
pop bx
|
||||||
pop cx
|
pop cx
|
||||||
|
|
||||||
mov edx,0xffffff
|
mcall SF_DRAW_RECT,,,0xffffff
|
||||||
mov eax,13
|
|
||||||
mcall
|
|
||||||
ret
|
ret
|
||||||
|
|
||||||
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
||||||
@ -225,16 +188,33 @@ ret
|
|||||||
|
|
||||||
system_dir_Boxlib db '/sys/lib/box_lib.obj',0
|
system_dir_Boxlib db '/sys/lib/box_lib.obj',0
|
||||||
system_dir_ProcLib db '/sys/lib/proc_lib.obj',0
|
system_dir_ProcLib db '/sys/lib/proc_lib.obj',0
|
||||||
|
system_dir_LibImg db '/sys/lib/libimg.obj',0
|
||||||
|
|
||||||
|
if lang eq ru
|
||||||
|
head_f_i:
|
||||||
|
head_f_l db '‘¨á⥬ ï ®è¨¡ª ',0
|
||||||
|
|
||||||
|
err_message_found_lib1 db 'box_lib.obj - ¥ ©¤¥ !',0
|
||||||
|
err_message_found_lib2 db 'proc_lib.obj - ¥ ©¤¥ !',0
|
||||||
|
err_message_found_lib3 db 'libimg.obj - ¥ ©¤¥ !',0
|
||||||
|
|
||||||
|
err_message_import1 db 'box_lib.obj - ®è¨¡ª ¨¬¯®àâ !',0
|
||||||
|
err_message_import2 db 'proc_lib.obj - ®è¨¡ª ¨¬¯®àâ !',0
|
||||||
|
err_message_import3 db 'libimg.obj - ®è¨¡ª ¨¬¯®àâ !',0
|
||||||
|
|
||||||
|
else
|
||||||
|
|
||||||
head_f_i:
|
head_f_i:
|
||||||
head_f_l db 'System error',0
|
head_f_l db 'System error',0
|
||||||
|
|
||||||
err_message_found_lib1 db 'box_lib.obj - Not found!',0
|
err_message_found_lib1 db 'box_lib.obj - Not found!',0
|
||||||
err_message_found_lib2 db 'proc_lib.obj - Not found!',0
|
err_message_found_lib2 db 'proc_lib.obj - Not found!',0
|
||||||
|
err_message_found_lib3 db 'libimg.obj - Not found!',0
|
||||||
|
|
||||||
err_message_import1 db 'box_lib.obj - Wrong import!',0
|
err_message_import1 db 'box_lib.obj - Wrong import!',0
|
||||||
err_message_import2 db 'proc_lib.obj - Wrong import!',0
|
err_message_import2 db 'proc_lib.obj - Wrong import!',0
|
||||||
|
err_message_import3 db 'libimg.obj - Wrong import!',0
|
||||||
|
end if
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
align 4
|
align 4
|
||||||
ProcLib_import:
|
ProcLib_import:
|
||||||
@ -252,51 +232,24 @@ Box_lib_import:
|
|||||||
;init_lib dd a_init
|
;init_lib dd a_init
|
||||||
;version_lib dd a_version
|
;version_lib dd a_version
|
||||||
|
|
||||||
|
|
||||||
edit_box_draw dd aEdit_box_draw
|
edit_box_draw dd aEdit_box_draw
|
||||||
edit_box_key dd aEdit_box_key
|
edit_box_key dd aEdit_box_key
|
||||||
edit_box_mouse dd aEdit_box_mouse
|
edit_box_mouse dd aEdit_box_mouse
|
||||||
;version_ed dd aVersion_ed
|
;version_ed dd aVersion_ed
|
||||||
|
|
||||||
|
|
||||||
init_checkbox dd aInit_checkbox
|
init_checkbox dd aInit_checkbox
|
||||||
check_box_draw dd aCheck_box_draw
|
check_box_draw dd aCheck_box_draw
|
||||||
check_box_mouse dd aCheck_box_mouse
|
check_box_mouse dd aCheck_box_mouse
|
||||||
;version_ch dd aVersion_ch
|
;version_ch dd aVersion_ch
|
||||||
|
|
||||||
;check_box_draw dd aCheck_box_draw
|
|
||||||
;check_box_mouse dd aCheck_box_mouse
|
|
||||||
;version_ch dd aVersion_ch
|
|
||||||
|
|
||||||
option_box_draw dd aOption_box_draw
|
option_box_draw dd aOption_box_draw
|
||||||
option_box_mouse dd aOption_box_mouse
|
option_box_mouse dd aOption_box_mouse
|
||||||
;version_op dd aVersion_op
|
;version_op dd aVersion_op
|
||||||
|
|
||||||
;scrollbar_ver_draw dd aScrollbar_ver_draw
|
|
||||||
;scrollbar_ver_mouse dd aScrollbar_ver_mouse
|
|
||||||
;scrollbar_hor_draw dd aScrollbar_hor_draw
|
|
||||||
;scrollbar_hor_mouse dd aScrollbar_hor_mouse
|
|
||||||
;version_scrollbar dd aVersion_scrollbar
|
|
||||||
|
|
||||||
;dinamic_button_draw dd aDbutton_draw
|
|
||||||
;dinamic_button_mouse dd aDbutton_mouse
|
|
||||||
;version_dbutton dd aVersion_dbutton
|
|
||||||
|
|
||||||
;menu_bar_draw dd aMenu_bar_draw
|
|
||||||
;menu_bar_mouse dd aMenu_bar_mouse
|
|
||||||
;menu_bar_activate dd aMenu_bar_activate
|
|
||||||
;version_menu_bar dd aVersion_menu_bar
|
|
||||||
|
|
||||||
;FileBrowser_draw dd aFileBrowser_draw
|
|
||||||
;FileBrowser_mouse dd aFileBrowser_mouse
|
|
||||||
;FileBrowser_key dd aFileBrowser_key
|
|
||||||
;Version_FileBrowser dd aVersion_FileBrowser
|
|
||||||
|
|
||||||
PathShow_prepare dd sz_PathShow_prepare
|
PathShow_prepare dd sz_PathShow_prepare
|
||||||
PathShow_draw dd sz_PathShow_draw
|
PathShow_draw dd sz_PathShow_draw
|
||||||
;Version_path_show dd szVersion_path_show
|
;Version_path_show dd szVersion_path_show
|
||||||
dd 0
|
dd 0,0
|
||||||
dd 0
|
|
||||||
|
|
||||||
;a_init db 'lib_init',0
|
;a_init db 'lib_init',0
|
||||||
;a_version db 'version',0
|
;a_version db 'version',0
|
||||||
@ -312,69 +265,99 @@ aCheck_box_draw db 'check_box_draw2',0
|
|||||||
aCheck_box_mouse db 'check_box_mouse2',0
|
aCheck_box_mouse db 'check_box_mouse2',0
|
||||||
;aVersion_ch db 'version_ch2',0
|
;aVersion_ch db 'version_ch2',0
|
||||||
|
|
||||||
;aCheck_box_draw db 'check_box_draw',0
|
|
||||||
;aCheck_box_mouse db 'check_box_mouse',0
|
|
||||||
;aVersion_ch db 'version_ch',0
|
|
||||||
|
|
||||||
aOption_box_draw db 'option_box_draw',0
|
aOption_box_draw db 'option_box_draw',0
|
||||||
aOption_box_mouse db 'option_box_mouse',0
|
aOption_box_mouse db 'option_box_mouse',0
|
||||||
;aVersion_op db 'version_op',0
|
;aVersion_op db 'version_op',0
|
||||||
|
|
||||||
;aScrollbar_ver_draw db 'scrollbar_v_draw',0
|
|
||||||
;aScrollbar_ver_mouse db 'scrollbar_v_mouse',0
|
|
||||||
;aScrollbar_hor_draw db 'scrollbar_h_draw',0
|
|
||||||
;aScrollbar_hor_mouse db 'scrollbar_h_mouse',0
|
|
||||||
;aVersion_scrollbar db 'version_scrollbar',0
|
|
||||||
|
|
||||||
;aDbutton_draw db 'dbutton_draw',0
|
|
||||||
;aDbutton_mouse db 'dbutton_mouse',0
|
|
||||||
;aVersion_dbutton db 'version_dbutton',0
|
|
||||||
|
|
||||||
;aMenu_bar_draw db 'menu_bar_draw',0
|
|
||||||
;aMenu_bar_mouse db 'menu_bar_mouse',0
|
|
||||||
;aMenu_bar_activate db 'menu_bar_activate',0
|
|
||||||
;aVersion_menu_bar db 'version_menu_bar',0
|
|
||||||
|
|
||||||
;aFileBrowser_draw db 'FileBrowser_draw',0
|
|
||||||
;aFileBrowser_mouse db 'FileBrowser_mouse',0
|
|
||||||
;aFileBrowser_key db 'FileBrowser_key',0
|
|
||||||
;aVersion_FileBrowser db 'version_FileBrowser',0
|
|
||||||
|
|
||||||
sz_PathShow_prepare db 'PathShow_prepare',0
|
sz_PathShow_prepare db 'PathShow_prepare',0
|
||||||
sz_PathShow_draw db 'PathShow_draw',0
|
sz_PathShow_draw db 'PathShow_draw',0
|
||||||
;szVersion_path_show db 'version_PathShow',0
|
;szVersion_path_show db 'version_PathShow',0
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
|
align 4
|
||||||
|
import_libimg:
|
||||||
|
dd alib_init1
|
||||||
|
img_is_img dd aimg_is_img
|
||||||
|
img_info dd aimg_info
|
||||||
|
img_from_file dd aimg_from_file
|
||||||
|
img_to_file dd aimg_to_file
|
||||||
|
img_from_rgb dd aimg_from_rgb
|
||||||
|
img_to_rgb dd aimg_to_rgb
|
||||||
|
img_to_rgb2 dd aimg_to_rgb2
|
||||||
|
img_decode dd aimg_decode
|
||||||
|
img_encode dd aimg_encode
|
||||||
|
img_create dd aimg_create
|
||||||
|
img_destroy dd aimg_destroy
|
||||||
|
img_destroy_layer dd aimg_destroy_layer
|
||||||
|
img_count dd aimg_count
|
||||||
|
img_lock_bits dd aimg_lock_bits
|
||||||
|
img_unlock_bits dd aimg_unlock_bits
|
||||||
|
img_flip dd aimg_flip
|
||||||
|
img_flip_layer dd aimg_flip_layer
|
||||||
|
img_rotate dd aimg_rotate
|
||||||
|
img_rotate_layer dd aimg_rotate_layer
|
||||||
|
img_draw dd aimg_draw
|
||||||
|
dd 0,0
|
||||||
|
alib_init1 db 'lib_init',0
|
||||||
|
aimg_is_img db 'img_is_img',0
|
||||||
|
aimg_info db 'img_info',0
|
||||||
|
aimg_from_file db 'img_from_file',0
|
||||||
|
aimg_to_file db 'img_to_file',0
|
||||||
|
aimg_from_rgb db 'img_from_rgb',0
|
||||||
|
aimg_to_rgb db 'img_to_rgb',0
|
||||||
|
aimg_to_rgb2 db 'img_to_rgb2',0
|
||||||
|
aimg_decode db 'img_decode',0
|
||||||
|
aimg_encode db 'img_encode',0
|
||||||
|
aimg_create db 'img_create',0
|
||||||
|
aimg_destroy db 'img_destroy',0
|
||||||
|
aimg_destroy_layer db 'img_destroy_layer',0
|
||||||
|
aimg_count db 'img_count',0
|
||||||
|
aimg_lock_bits db 'img_lock_bits',0
|
||||||
|
aimg_unlock_bits db 'img_unlock_bits',0
|
||||||
|
aimg_flip db 'img_flip',0
|
||||||
|
aimg_flip_layer db 'img_flip_layer',0
|
||||||
|
aimg_rotate db 'img_rotate',0
|
||||||
|
aimg_rotate_layer db 'img_rotate_layer',0
|
||||||
|
aimg_draw db 'img_draw',0
|
||||||
|
;---------------------------------------------------------------------
|
||||||
;width,left,top,color,shift_color,focus_border_color,\
|
;width,left,top,color,shift_color,focus_border_color,\
|
||||||
; blur_border_color,text_color,max,text,mouse_variable,flags,size,pos
|
; blur_border_color,text_color,max,text,mouse_variable,flags,size,pos
|
||||||
|
|
||||||
rect_input:
|
rect_input:
|
||||||
.left edit_box 35,95,5, cl_white,0,0,0,5,rect_input_buffer.left,mouse_dd1,ed_figure_only+ed_focus
|
.left edit_box 35,95,5, cl_white,0,0,0,5,rect_input_buffer.left, mouse_dd1,ed_figure_only+ed_focus
|
||||||
.top edit_box 35,95,25,cl_white,0,0,0,5,rect_input_buffer.top,mouse_dd1,ed_figure_only
|
.top edit_box 35,95,25,cl_white,0,0,0,5,rect_input_buffer.top, mouse_dd1,ed_figure_only
|
||||||
.width edit_box 35,95,45,cl_white,0,0,0,5,rect_input_buffer.width,mouse_dd1,ed_figure_only
|
.width edit_box 35,95,45,cl_white,0,0,0,5,rect_input_buffer.width, mouse_dd1,ed_figure_only
|
||||||
.height edit_box 35,95,65,cl_white,0,0,0,5,rect_input_buffer.height,mouse_dd1,ed_figure_only
|
.height edit_box 35,95,65,cl_white,0,0,0,5,rect_input_buffer.height,mouse_dd1,ed_figure_only
|
||||||
rect_input_end:
|
rect_input_end:
|
||||||
mouse_dd1 rd 1
|
mouse_dd1 rd 1
|
||||||
rect_input_labels:
|
rect_input_labels:
|
||||||
.left label 10,10,0,rect_input_labels_text.left
|
.left label 10,10,0,rect_input_labels_text.left
|
||||||
.top label 10,30,0,rect_input_labels_text.top
|
.top label 10,30,0,rect_input_labels_text.top
|
||||||
.width label 10,50,0,rect_input_labels_text.width
|
.width label 10,50,0,rect_input_labels_text.width
|
||||||
.height label 10,70,0,rect_input_labels_text.height
|
.height label 10,70,0,rect_input_labels_text.height
|
||||||
rect_input_labels_end:
|
rect_input_labels_end:
|
||||||
|
|
||||||
rect_input_labels_text:
|
rect_input_labels_text:
|
||||||
|
if lang eq ru
|
||||||
.left db 'Žâáâ㯠᫥¢ :',0
|
.left db 'Žâáâ㯠᫥¢ :',0
|
||||||
.top db 'Žâáâ㯠ᢥàåã:',0
|
.top db 'Žâáâ㯠ᢥàåã:',0
|
||||||
.width db '˜¨à¨ :',0
|
.width db '˜¨à¨ :',0
|
||||||
.height db '‚ëá®â :',0
|
.height db '‚ëá®â :',0
|
||||||
|
else
|
||||||
|
.left db 'Left:',0
|
||||||
|
.top db 'Top:',0
|
||||||
|
.width db 'Width:',0
|
||||||
|
.height db 'Height:',0
|
||||||
|
end if
|
||||||
|
|
||||||
riw_check_boxes:
|
riw_check_boxes:
|
||||||
use_rect_active_window check_box2 (10 shl 16)+10,(85 shl 16) +10,5,cl_white,0,0,\
|
use_rect_active_window check_box2 (10 shl 16)+10,(85 shl 16) +10,5,cl_white,0,0,\
|
||||||
riw_check_boxes_text, ch_flag_bottom
|
riw_check_boxes_text, ch_flag_bottom
|
||||||
riw_check_boxes_end:
|
riw_check_boxes_end:
|
||||||
|
|
||||||
riw_check_boxes_text:
|
if lang eq ru
|
||||||
db 'ˆá¯®«ì§®¢ âì ®¡« áâì ªâ¨¢®£® ®ª ',0
|
riw_check_boxes_text db 'ˆá¯®«ì§®¢ âì ®¡« áâì ªâ¨¢®£® ®ª ',0
|
||||||
|
riw_grab_text db 'Š®®à¤¨ âë ¨ à §¬¥àë ®¡« áâ¨:',0
|
||||||
|
else
|
||||||
riw_grab_text db 'Š®®à¤¨ âë ¨ à §¬¥àë ®¡« áâ¨:',0
|
riw_check_boxes_text db 'Use area of the active window',0
|
||||||
|
riw_grab_text db 'Coordinates and size of the field:',0
|
||||||
|
end if
|
Loading…
Reference in New Issue
Block a user