Rev 7786 | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 7786 | Rev 8346 | ||
---|---|---|---|
1 | ;In this file content a macros need for compilation the scrshoot |
1 | ;In this file content a macros need for compilation the scrshoot |
2 | evm_redraw equ 1 |
2 | evm_redraw equ 1 |
3 | evm_key equ 10b |
3 | evm_key equ 10b |
4 | evm_button equ 100b |
4 | evm_button equ 100b |
5 | evm_mouse equ 100000b |
5 | evm_mouse equ 100000b |
6 | evm_ipc equ 1000000b |
6 | evm_ipc equ 1000000b |
7 | 7 | ||
8 | ;--- ñîîáùèòü ñèñòåìå î íà÷àëå ïåðåðèñîâêè îêíà --- |
8 | ;--- ñîîáùèòü ñèñòåìå î íà÷àëå ïåðåðèñîâêè îêíà --- |
9 | macro draw_status text_ptr |
9 | macro draw_status text_ptr |
10 | { |
10 | { |
11 | mov [status.text],dword text_ptr |
11 | mov [status.text],dword text_ptr |
12 | call send_draw_status |
12 | call send_draw_status |
13 | } |
13 | } |
14 | 14 | ||
15 | macro start_draw_window |
15 | macro start_draw_window |
16 | { |
16 | { |
17 | ;mov eax,12 |
- | |
18 | push 12 |
- | |
19 | pop eax |
- | |
20 | xor ebx,ebx |
17 | xor ebx,ebx |
21 | inc ebx |
18 | inc ebx |
22 | mcall |
19 | mcall SF_REDRAW |
23 | } |
20 | } |
24 | 21 | ||
25 | ;--- ñîîáùèòü ñèñòåìå î çàâåðøåíèè ïåðåðèñîâêè îêíà --- |
22 | ;--- ñîîáùèòü ñèñòåìå î çàâåðøåíèè ïåðåðèñîâêè îêíà --- |
26 | macro stop_draw_window |
23 | macro stop_draw_window |
27 | { |
24 | { |
28 | ;mov eax,12 |
25 | mcall SF_REDRAW, SSF_END_DRAW |
29 | push 12 |
- | |
30 | pop eax |
- | |
31 | ;mov ebx,2 |
- | |
32 | push 2 |
- | |
33 | pop ebx |
- | |
34 | mcall |
- | |
35 | } |
26 | } |
36 | 27 | ||
37 | ;--- óñòàíîâèòü ìàñêó îæèäàåìûõ ñîáûòèé --- |
28 | ;--- óñòàíîâèòü ìàñêó îæèäàåìûõ ñîáûòèé --- |
38 | 29 | ||
39 | ;--- îæèäàòü ñîáûòèÿ --- |
30 | ;--- îæèäàòü ñîáûòèÿ --- |
40 | macro wait_event redraw,key,button,mouse,ipc,other |
31 | macro wait_event redraw,key,button,mouse,ipc,other |
41 | { |
32 | { |
42 | mov eax,10 |
33 | mcall SF_WAIT_EVENT |
43 | mcall |
- | |
44 | dec ax |
34 | dec ax |
45 | if redraw eq |
35 | if redraw eq |
46 | else |
36 | else |
47 | jz redraw |
37 | jz redraw |
48 | end if |
38 | end if |
49 | dec ax |
39 | dec ax |
50 | if key eq |
40 | if key eq |
51 | else |
41 | else |
52 | jz key |
42 | jz key |
53 | end if |
43 | end if |
54 | dec ax |
44 | dec ax |
55 | if button eq |
45 | if button eq |
56 | else |
46 | else |
57 | jz button |
47 | jz button |
58 | end if |
48 | end if |
59 | dec ax |
49 | dec ax |
60 | dec ax |
50 | dec ax |
61 | dec ax |
51 | dec ax |
62 | if mouse eq |
52 | if mouse eq |
63 | else |
53 | else |
64 | jz mouse |
54 | jz mouse |
65 | end if |
55 | end if |
66 | if ipc eq |
56 | if ipc eq |
67 | else |
57 | else |
68 | dec ax |
58 | dec ax |
69 | jz ipc |
59 | jz ipc |
70 | end if |
60 | end if |
71 | if other eq |
61 | if other eq |
72 | jmp still |
62 | jmp still |
73 | else |
63 | else |
74 | jmp other |
64 | jmp other |
75 | end if |
65 | end if |
76 | } |
66 | } |
77 | ;--- óñòàíîâèòü ìàñêó îæèäàåìûõ ñîáûòèé --- |
67 | ;--- óñòàíîâèòü ìàñêó îæèäàåìûõ ñîáûòèé --- |
78 | macro set_events_mask mask |
68 | macro set_events_mask mask |
79 | { |
69 | { |
80 | ;mov eax,40 |
- | |
81 | push 40 |
- | |
82 | pop eax |
- | |
83 | ;mov ebx,mask |
70 | mcall SF_SET_EVENTS_MASK, mask |
84 | push mask |
- | |
85 | pop ebx |
- | |
86 | mcall |
- | |
87 | } |
71 | } |
88 | - | ||
89 | ;macro check_boxes_set_sys_color start,end,color_table |
- | |
90 | ;{ |
- | |
91 | ;ch_left equ [edi] ;êîîðäèíàòà íà÷àëà ðèñîâàíèÿ ïî õ |
- | |
92 | ;ch_top equ [edi+4] ;êîîðäèíàòà íà÷àëà ðèñîâàíèÿ ïî ó |
- | |
93 | ;ch_text_margin equ [edi+8] ;=4 ðàññòîÿíèå îò ïðÿìîóãîëüíèêà ÷åê áîêñà äî íàäïèñè |
- | |
94 | ;ch_size equ [edi+8] ;12 ðàçìåð êâàäðàòà ÷åê áîêñà |
- | |
95 | ;ch_color equ [edi+12] ;öâåò âíóòðè checkbox |
- | |
96 | ;ch_border_color equ [edi+16] ; or [edi+4] ;öâåò ðàìêè checkbox åå ìîæíî çàäàòü ñàìîñòîÿòåëüíî |
- | |
97 | ;ch_text_color equ [edi+20];[edi+4] ;öâåò òåêñòà |
- | |
98 | ;ch_text_ptr equ [edi+24] ;óêàçàòåëü íà íà÷àëî òåêñòîâîé ñòðîêè |
- | |
99 | ;ch_text_length equ [edi+28] |
- | |
100 | ;ch_flags equ [edi+32] ;ôëàãè |
- | |
101 | - | ||
102 | - | ||
103 | ;ch_left equ [edi] ;êîîðäèíàòà íà÷àëà ðèñîâàíèÿ ïî õ |
- | |
104 | ;ch_top equ [edi+2] ;êîîðäèíàòà íà÷àëà ðèñîâàíèÿ ïî ó |
- | |
105 | ;ch_color equ [edi+4] ;öâåò âíóòðè checkbox |
- | |
106 | ;ch_border_color equ [edi+8] ;öâåò ðàìêè checkbox |
- | |
107 | ;ch_text_color equ [edi+12] ;öâåò òåêñòà |
- | |
108 | ;ch_text_ptr equ [edi+16] ;óêàçàòåëü íà íà÷àëî òåêñòîâîé ñòðîêè |
- | |
109 | ;ch_text_length equ [edi+20] ;äëèíà íàäïèñè (2^64 òàêîé äëèíû ìîæåò áûòü òåêñò) |
- | |
110 | ;ch_flags equ [edi+24] ;ôëàãè |
- | |
111 | - | ||
112 | ; mov edi,start |
- | |
113 | ; mov ecx,((end-start)/ch_struc_size) |
- | |
114 | ; mov esi,color_table |
- | |
115 | ;@@: |
- | |
116 | ; push dword [esi+32] |
- | |
117 | ; pop dword ch_text_color |
- | |
118 | ; push dword [esi+36] |
- | |
119 | ; pop dword ch_border_color |
- | |
120 | ; add edi,ch_struc_size |
- | |
121 | ; loop @b |
- | |
122 | ;} |
72 | |
123 | macro get_key |
73 | macro get_key |
124 | { |
- | |
125 | ;mov eax,2 |
74 | { |
126 | push 2 |
- | |
127 | pop eax |
- | |
128 | mcall |
75 | mcall SF_GET_KEY |
129 | } |
76 | } |
130 | ;--- ïîëó÷èòü êîä íàæàòîé êíîïêè --- |
77 | ;--- ïîëó÷èòü êîä íàæàòîé êíîïêè --- |
131 | macro get_pressed_button |
78 | macro get_pressed_button |
132 | { |
79 | { |
133 | ;mov eax,17 |
- | |
134 | push 17 |
- | |
135 | pop eax |
80 | mcall SF_GET_BUTTON |
136 | mcall |
- | |
137 | } |
81 | } |
138 | macro get_active_window |
82 | macro get_active_window |
139 | { |
83 | { |
140 | mov eax,18 |
84 | mcall SF_SYSTEM,SSF_GET_ACTIVE_WINDOW |
141 | mov ebx,7 |
- | |
142 | mcall |
- | |
143 | } |
85 | } |
144 | ;--- ¯®«ãç¨âì ¨ä®à¬ æ¨î ® ¯à®æ¥áᥠ--- |
86 | ;--- ïîëó÷èòü èíôîðìàöèþ î ïðîöåññå --- |
145 | macro get_procinfo proc_inf_buf,slot_num |
87 | macro get_procinfo proc_inf_buf,slot_num |
146 | { |
88 | { |
147 | ;mov eax,9 |
- | |
148 | push 9 |
- | |
149 | pop eax |
- | |
150 | ;mov ebx,proc_inf_buf |
89 | ;mov ebx,proc_inf_buf |
151 | push proc_inf_buf |
90 | push proc_inf_buf |
152 | pop ebx |
91 | pop ebx |
153 | if slot_num eq |
92 | if slot_num eq |
154 | xor ecx,ecx |
93 | xor ecx,ecx |
155 | dec ecx |
94 | dec ecx |
156 | else |
95 | else |
157 | ;mov ecx,slot_num |
96 | ;mov ecx,slot_num |
158 | push slot_num |
97 | push slot_num |
159 | pop ecx |
98 | pop ecx |
160 | end if |
99 | end if |
161 | mcall |
100 | mcall SF_THREAD_INFO |
162 | } |
101 | } |
163 | macro get_screen_prop struc_ptr |
102 | macro get_screen_prop struc_ptr |
164 | { |
103 | { |
165 | mov eax,61 |
104 | mov eax,SF_GET_GRAPHICAL_PARAMS |
166 | push eax eax |
105 | push eax eax |
167 | xor ebx,ebx |
106 | xor ebx,ebx |
168 | inc ebx |
107 | inc ebx |
169 | mcall |
108 | mcall |
170 | mov [struc_ptr],eax |
109 | mov [struc_ptr],eax |
171 | pop eax |
110 | pop eax |
172 | inc ebx |
111 | inc ebx |
173 | mcall |
112 | mcall |
174 | mov [struc_ptr+4],ax |
113 | mov [struc_ptr+4],ax |
175 | pop eax |
114 | pop eax |
176 | inc ebx |
115 | inc ebx |
177 | mcall |
116 | mcall |
178 | mov [struc_ptr+6],eax |
117 | mov [struc_ptr+6],eax |
179 | } |
118 | } |
180 | macro min_window |
119 | macro min_window |
181 | { |
120 | { |
182 | mov eax,18 |
- | |
183 | mov ebx,10 |
121 | mcall SF_SYSTEM,SSF_MINIMIZE_WINDOW |
184 | mcall |
- | |
185 | } |
122 | } |
186 | macro app_close |
123 | macro app_close |
187 | { |
124 | { |
188 | or eax,-1 |
125 | mcall SF_TERMINATE_PROCESS |
189 | mcall |
- | |
190 | } |
126 | } |
191 | macro get_skin_height |
127 | macro get_skin_height |
192 | { |
128 | { |
193 | mov eax,48 |
129 | mcall SF_STYLE_SETTINGS,SSF_GET_SKIN_HEIGHT |
194 | mov ebx,4 |
- | |
195 | mcall |
- | |
196 | } |
130 | } |
197 | macro delay time |
131 | macro delay time |
198 | { |
132 | { |
199 | mov eax,5 |
- | |
200 | if time eq |
133 | if time eq |
201 | else |
134 | else |
202 | mov ebx,time |
135 | mov ebx,time |
203 | end if |
136 | end if |
204 | mcall |
137 | mcall SF_SLEEP |
205 | } |
138 | } |
206 | macro activ_window slot_n |
139 | macro activ_window slot_n |
207 | { |
140 | { |
208 | mov eax,18 |
- | |
209 | mov ebx,3 |
- | |
210 | if slot_n eq |
141 | if slot_n eq |
211 | else |
142 | else |
212 | mov ecx,slot_n |
143 | mov ecx,slot_n |
213 | end if |
144 | end if |
214 | mcall |
145 | mcall SF_SYSTEM,SSF_FOCUS_WINDOW |
215 | } |
146 | } |
216 | struc screen_prop |
147 | struc screen_prop |
217 | { |
148 | { |
218 | .height: dw ? ;+0 |
149 | .height: dw ? ;+0 |
219 | .width: dw ? ;+2 |
150 | .width: dw ? ;+2 |
220 | .bitspp: dw ? ;+4 |
151 | .bitspp: dw ? ;+4 |
221 | .bytesps: dd ?;+6 |
152 | .bytesps: dd ?;+6 |
222 | } |
153 | } |
223 | struc sys_color_table |
154 | struc sys_color_table |
224 | { |
155 | { |
225 | .frames: dd ? ;+0 |
156 | .frames: dd ? ;+0 |
226 | .grab: dd ? ;+4 |
157 | .grab: dd ? ;+4 |
227 | .work_dark: dd ? ;+8 |
158 | .work_dark: dd ? ;+8 |
228 | .work_light: dd ? ;+12 |
159 | .work_light: dd ? ;+12 |
229 | .grab_text: dd ? ;+16 |
160 | .grab_text: dd ? ;+16 |
230 | .work: dd ? ;+20 |
161 | .work: dd ? ;+20 |
231 | .work_button: dd ?;+24 |
162 | .work_button: dd ?;+24 |
232 | .work_button_text: dd ? ;+28 |
163 | .work_button_text: dd ? ;+28 |
233 | .work_text: dd ? ;+32 |
164 | .work_text: dd ? ;+32 |
234 | .work_graph: dd ? ;+36 |
165 | .work_graph: dd ? ;+36 |
235 | } |
166 | } |
236 | struc procinfo |
167 | struc procinfo |
237 | { |
168 | { |
238 | .takts_per_second: dd ? |
169 | .takts_per_second: dd ? |
239 | .window_stack_pos: dw ? |
170 | .window_stack_pos: dw ? |
240 | .slot_number: dw ? |
171 | .slot_number: dw ? |
241 | dw ? |
172 | dw ? |
242 | .name: rb 11 |
173 | .name: rb 11 |
243 | .align: db ? |
174 | .align: db ? |
244 | .addres: dd ? |
175 | .addres: dd ? |
245 | .use_mem: dd ? |
176 | .use_mem: dd ? |
246 | .pid: dd ? |
177 | .pid: dd ? |
247 | .left: dd ? |
178 | .left: dd ? |
248 | .top: dd ? |
179 | .top: dd ? |
249 | .width: dd ? |
180 | .width: dd ? |
250 | .height: dd ? |
181 | .height: dd ? |
251 | .slot_state: dw ? |
182 | .slot_state: dw ? |
252 | rb (1024-56) |
183 | rb (1024-56) |
253 | } |
184 | } |
254 | 185 | ||
255 | 186 | ||
256 | 187 | ||
257 | struc ipc_buffer size |
188 | struc ipc_buffer size |
258 | { |
189 | { |
259 | .block: dd ? |
190 | .block: dd ? |
260 | .in_use: dd ? |
191 | .in_use: dd ? |
261 | .messages: rb size |
192 | .messages: rb size |
262 | } |
193 | } |
263 | 194 | ||
264 | ;--- 梥â --- |
195 | ;--- öâåòà --- |
265 | cl_white=0xffffff |
196 | cl_white=0xffffff |
266 | cl_black=0x000000 |
197 | cl_black=0x000000 |
267 | 198 | ||
268 | ch_struc_size=36 |
199 | ch_struc_size=36 |