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