/programs/media/scrshoot/label.inc |
---|
8,13 → 8,8 |
mov ah,[edx+esi] |
inc esi |
test ah,ah |
jz @f |
jmp .check_next |
@@: |
mov eax,4 |
mov ebx,[edi] |
mov ecx,[edi+4] |
mcall |
jnz .check_next |
mcall SF_DRAW_TEXT,[edi],[edi+4] |
popa |
ret |
} |
/programs/media/scrshoot/scrshoot.asm |
---|
21,7 → 21,7 |
format binary as "" |
title equ 'Screenshooter v1.21' ; £®«®¢®ª ®ª |
include '../../develop/libraries/box_lib/load_lib.mac' |
include '../../load_lib.mac' |
include '../../develop/libraries/box_lib/trunk/box_lib.mac' |
include '../../config.inc' ;for nightbuild |
include '../../proc32.inc' |
34,21 → 34,15 |
include 'scrshoot.mac' |
use32 |
org 0x0 |
org 0 |
db 'MENUET01' |
dd 0x1 |
dd start |
dd IM_END |
dd i_end |
dd stacktop |
dd cmdstr |
dd cur_dir_path |
dd 1, start, IM_END, i_end, stacktop, cmdstr, cur_dir_path |
include 'lang.inc' |
include '../../dll.inc' |
align 4 |
@use_library_mem mem.Alloc,mem.Free,mem.ReAlloc,dll.Load |
@use_library mem.Alloc,mem.Free,mem.ReAlloc,dll.Load |
use_txt_button ; | |
use_label ; |-- GUI ª®¬¯®¥âë ¨ ¥ª®â®àë¥ ¯à®æ¥¤ãàë |
use_text_work ; / |
607,14 → 601,14 |
;--------------------------------------------------------------------- |
l_libs_start: |
library01 l_libs system_dir_Boxlib+9, cur_dir_path, library_path, system_dir_Boxlib, \ |
err_message_found_lib1, head_f_l, Box_lib_import, err_message_import1, head_f_i |
library01 l_libs system_dir_Boxlib+9, library_path, system_dir_Boxlib, \ |
Box_lib_import |
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 |
library02 l_libs system_dir_ProcLib+9, library_path, system_dir_ProcLib, \ |
ProcLib_import |
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 |
library03 l_libs system_dir_LibImg+9, library_path, system_dir_LibImg, \ |
import_libimg |
end_l_libs: |
;--------------------------------------------------------------------- |
/programs/media/scrshoot/scrshoot.mac |
---|
14,24 → 14,15 |
macro start_draw_window |
{ |
;mov eax,12 |
push 12 |
pop eax |
xor ebx,ebx |
inc ebx |
mcall |
mcall SF_REDRAW |
} |
;--- ñîîáùèòü ñèñòåìå î çàâåðøåíèè ïåðåðèñîâêè îêíà --- |
macro stop_draw_window |
{ |
;mov eax,12 |
push 12 |
pop eax |
;mov ebx,2 |
push 2 |
pop ebx |
mcall |
mcall SF_REDRAW, SSF_END_DRAW |
} |
;--- óñòàíîâèòü ìàñêó îæèäàåìûõ ñîáûòèé --- |
39,8 → 30,7 |
;--- îæèäàòü ñîáûòèÿ --- |
macro wait_event redraw,key,button,mouse,ipc,other |
{ |
mov eax,10 |
mcall |
mcall SF_WAIT_EVENT |
dec ax |
if redraw eq |
else |
77,76 → 67,25 |
;--- óñòàíîâèòü ìàñêó îæèäàåìûõ ñîáûòèé --- |
macro set_events_mask mask |
{ |
;mov eax,40 |
push 40 |
pop eax |
;mov ebx,mask |
push mask |
pop ebx |
mcall |
mcall SF_SET_EVENTS_MASK, mask |
} |
;macro check_boxes_set_sys_color start,end,color_table |
;{ |
;ch_left equ [edi] ;êîîðäèíàòà íà÷àëà ðèñîâàíèÿ ïî õ |
;ch_top equ [edi+4] ;êîîðäèíàòà íà÷àëà ðèñîâàíèÿ ïî ó |
;ch_text_margin equ [edi+8] ;=4 ðàññòîÿíèå îò ïðÿìîóãîëüíèêà ÷åê áîêñà äî íàäïèñè |
;ch_size equ [edi+8] ;12 ðàçìåð êâàäðàòà ÷åê áîêñà |
;ch_color equ [edi+12] ;öâåò âíóòðè checkbox |
;ch_border_color equ [edi+16] ; or [edi+4] ;öâåò ðàìêè checkbox åå ìîæíî çàäàòü ñàìîñòîÿòåëüíî |
;ch_text_color equ [edi+20];[edi+4] ;öâåò òåêñòà |
;ch_text_ptr equ [edi+24] ;óêàçàòåëü íà íà÷àëî òåêñòîâîé ñòðîêè |
;ch_text_length equ [edi+28] |
;ch_flags equ [edi+32] ;ôëàãè |
;ch_left equ [edi] ;êîîðäèíàòà íà÷àëà ðèñîâàíèÿ ïî õ |
;ch_top equ [edi+2] ;êîîðäèíàòà íà÷àëà ðèñîâàíèÿ ïî ó |
;ch_color equ [edi+4] ;öâåò âíóòðè checkbox |
;ch_border_color equ [edi+8] ;öâåò ðàìêè checkbox |
;ch_text_color equ [edi+12] ;öâåò òåêñòà |
;ch_text_ptr equ [edi+16] ;óêàçàòåëü íà íà÷àëî òåêñòîâîé ñòðîêè |
;ch_text_length equ [edi+20] ;äëèíà íàäïèñè (2^64 òàêîé äëèíû ìîæåò áûòü òåêñò) |
;ch_flags equ [edi+24] ;ôëàãè |
; mov edi,start |
; mov ecx,((end-start)/ch_struc_size) |
; mov esi,color_table |
;@@: |
; push dword [esi+32] |
; pop dword ch_text_color |
; push dword [esi+36] |
; pop dword ch_border_color |
; add edi,ch_struc_size |
; loop @b |
;} |
macro get_key |
{ |
;mov eax,2 |
push 2 |
pop eax |
mcall |
mcall SF_GET_KEY |
} |
;--- ïîëó÷èòü êîä íàæàòîé êíîïêè --- |
macro get_pressed_button |
{ |
;mov eax,17 |
push 17 |
pop eax |
mcall |
mcall SF_GET_BUTTON |
} |
macro get_active_window |
{ |
mov eax,18 |
mov ebx,7 |
mcall |
mcall SF_SYSTEM,SSF_GET_ACTIVE_WINDOW |
} |
;--- ¯®«ãç¨âì ¨ä®à¬ æ¨î ® ¯à®æ¥áᥠ--- |
;--- ïîëó÷èòü èíôîðìàöèþ î ïðîöåññå --- |
macro get_procinfo proc_inf_buf,slot_num |
{ |
;mov eax,9 |
push 9 |
pop eax |
;mov ebx,proc_inf_buf |
push proc_inf_buf |
pop ebx |
158,11 → 97,11 |
push slot_num |
pop ecx |
end if |
mcall |
mcall SF_THREAD_INFO |
} |
macro get_screen_prop struc_ptr |
{ |
mov eax,61 |
mov eax,SF_GET_GRAPHICAL_PARAMS |
push eax eax |
xor ebx,ebx |
inc ebx |
179,39 → 118,31 |
} |
macro min_window |
{ |
mov eax,18 |
mov ebx,10 |
mcall |
mcall SF_SYSTEM,SSF_MINIMIZE_WINDOW |
} |
macro app_close |
{ |
or eax,-1 |
mcall |
mcall SF_TERMINATE_PROCESS |
} |
macro get_skin_height |
{ |
mov eax,48 |
mov ebx,4 |
mcall |
mcall SF_STYLE_SETTINGS,SSF_GET_SKIN_HEIGHT |
} |
macro delay time |
{ |
mov eax,5 |
if time eq |
else |
mov ebx,time |
end if |
mcall |
mcall SF_SLEEP |
} |
macro activ_window slot_n |
{ |
mov eax,18 |
mov ebx,3 |
if slot_n eq |
else |
mov ecx,slot_n |
end if |
mcall |
mcall SF_SYSTEM,SSF_FOCUS_WINDOW |
} |
struc screen_prop |
{ |
261,7 → 192,7 |
.messages: rb size |
} |
;--- 梥â --- |
;--- öâåòà --- |
cl_white=0xffffff |
cl_black=0x000000 |
/programs/media/scrshoot/srectwin.inc |
---|
55,6 → 55,7 |
jmp .still |
align 4 |
.draw_window: |
start_draw_window |
130,8 → 131,9 |
call [edit_box_set_text] ;ecx,edi |
ret |
;-------------------------------------------------------------------- |
;--- ç¨âë¢ ¨¥ ®¡« ⨠---------------------------------------------- |
;--- ç¨âë¢ ¨¥ ®¡« á⨠--------------------------------------------- |
;-------------------------------------------------------------------- |
align 4 |
read_rect: |
bt dword [use_rect_active_window.flags],1 |
jc read_rect_from_active_window |
173,6 → 175,7 |
mov [rect.height],ax |
ret |
align 4 |
read_rect_from_active_window: |
call get_active_window_info |
188,6 → 191,7 |
mov [rect.height],ax |
ret |
align 4 |
draw_rect_on_screen: |
xor edx,edx |
237,37 → 241,11 |
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> |
;DATA ¤ ë¥ |
;ᥣ¤ ᮡ«î¤ âì ¯®á«¥¤®¢ ⥫ì®áâì ¢ ¨¬¥¨. |
system_dir_Boxlib db '/sys/lib/box_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_l db 'System error',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_lib3 db 'libimg.obj - Not found!',0 |
err_message_import1 db 'box_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 |
ProcLib_import: |