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