Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 8345 → Rev 8346

/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: