Rev 6169 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 6169 | Rev 6170 | ||
---|---|---|---|
1 | ;---------------------------------------------------------------------- |
1 | ;---------------------------------------------------------------------- |
2 | area: |
2 | area: |
3 | .x = 5 ;345 |
3 | .x = 5 ;345 |
4 | .y = 5 ;20 |
4 | .y = 5 ;20 |
5 | .width = 206 |
5 | .width = 206 |
6 | .height = 191 |
6 | .height = 191 |
7 | ;-------------------------------------- |
7 | ;-------------------------------------- |
8 | wnd1: |
- | |
9 | .x = area.x+49 |
- | |
10 | .y = area.y+5 |
- | |
11 | .width = 150 |
- | |
12 | .height = 90 |
- | |
13 | ;-------------------------------------- |
- | |
14 | wnd2: |
- | |
15 | .x = area.x+35 |
- | |
16 | .y = area.y+35 |
- | |
17 | .width = 150 |
- | |
18 | .height = 90 |
- | |
19 | ;-------------------------------------- |
- | |
20 | wnd3: |
8 | wnd3: |
21 | .x = area.x+21 |
9 | .x = area.x+32 |
22 | .y = area.y+65 |
10 | .y = area.y+35 |
23 | .width = 150 |
11 | .width = 160 |
24 | .height = 90 |
12 | .height = 100 |
25 | ;-------------------------------------- |
13 | ;-------------------------------------- |
26 | wnd4: |
14 | wnd4: |
27 | .x = area.x+7 |
15 | .x = area.x+15 |
28 | .y = area.y+95 |
16 | .y = area.y+70 |
29 | .width = 150 |
17 | .width = 160 |
30 | .height = 90 |
18 | .height = 100 |
31 | ;-------------------------------------- |
19 | ;-------------------------------------- |
32 | virtual at edi+SKIN_PARAMS.dtp.data |
20 | virtual at edi+SKIN_PARAMS.dtp.data |
33 | dtp system_colors |
21 | dtp system_colors |
34 | end virtual |
22 | end virtual |
35 | ;---------------------------------------------------------------------- |
23 | ;---------------------------------------------------------------------- |
36 | draw_skin: |
24 | draw_skin: |
37 | mcall 13, |
25 | mcall 13, |
38 | mov ebp,not_packed_area |
26 | mov ebp,not_packed_area |
39 | mov edi,[ebp+SKIN_HEADER.params] |
27 | mov edi,[ebp+SKIN_HEADER.params] |
40 | add edi,ebp |
28 | add edi,ebp |
41 | mpack ebx,wnd1.x,wnd1.width |
- | |
42 | mpack ecx,wnd1.y,wnd1.height |
- | |
43 | mov edx,[dtp.frame] |
- | |
44 | call draw_framerect |
- | |
45 | mcall 13, |
- | |
46 | mov eax,38 |
- | |
47 | mpack ebx,wnd1.x+1,wnd1.x+wnd1.width-2 |
- | |
48 | mpack ecx,wnd1.y+1,wnd1.y+1 |
- | |
49 | mov edx,[dtp.grab] |
- | |
50 | mov esi,20 |
- | |
51 | ;-------------------------------------- |
- | |
52 | @@: |
- | |
53 | mcall |
- | |
54 | call dec_edx |
- | |
55 | add ecx,0x00010001 |
- | |
56 | dec esi |
- | |
57 | jnz @b |
- | |
58 | - | ||
59 | mov edi,[ebp+SKIN_HEADER.params] |
- | |
60 | add edi,ebp |
- | |
61 | mcall 4, |
- | |
62 | mcall 8, |
- | |
63 | mcall 4, |
- | |
64 | ;---------------------------------------------------------------------- |
- | |
65 | mov edi,[ebp+SKIN_HEADER.params] |
- | |
66 | add edi,ebp |
- | |
67 | mpack ebx,wnd2.x,wnd2.width |
- | |
68 | mpack ecx,wnd2.y,wnd2.height |
- | |
69 | mov edx,[dtp.frame] |
- | |
70 | shr edx,1 |
- | |
71 | and edx,0x007F7F7F |
- | |
72 | call draw_framerect |
- | |
73 | mpack ebx,wnd2.x+4,wnd2.width-8 |
- | |
74 | mpack ecx,wnd2.y+4,wnd2.height-8 |
- | |
75 | call draw_framerect |
- | |
76 | mcall 13, |
- | |
77 | add ecx,(wnd2.height-5)*65536 |
- | |
78 | mcall |
- | |
79 | mcall , |
- | |
80 | add ebx,(wnd2.width-5)*65536 |
- | |
81 | mcall |
- | |
82 | mcall , |
- | |
83 | - | ||
84 | mov eax,38 |
- | |
85 | mpack ebx,wnd2.x+4,wnd2.x+wnd2.width-5 |
- | |
86 | mpack ecx,wnd2.y+4,wnd2.y+4 |
- | |
87 | mov edx,[dtp.grab] |
- | |
88 | mov esi,16 |
- | |
89 | ;-------------------------------------- |
- | |
90 | @@: |
- | |
91 | mcall |
- | |
92 | call dec_edx |
- | |
93 | add ecx,0x00010001 |
- | |
94 | dec esi |
- | |
95 | jnz @b |
- | |
96 | - | ||
97 | mov edi,[ebp+SKIN_HEADER.params] |
- | |
98 | add edi,ebp |
- | |
99 | mcall 4, |
- | |
100 | mcall 8, |
- | |
101 | mcall 4, |
- | |
102 | ;---------------------------------------------------------------------- |
- | |
103 | mov edi,[ebp+SKIN_HEADER.params] |
- | |
104 | add edi,ebp |
- | |
105 | mpack ebx,wnd3.x,wnd3.width |
29 | mpack ebx,wnd3.x,wnd3.width |
106 | mpack ecx,wnd3.y,wnd3.height |
30 | mpack ecx,wnd3.y,wnd3.height |
107 | mov edx,[edi+SKIN_PARAMS.colors_1.outer] |
31 | mov edx,[edi+SKIN_PARAMS.colors_1.outer] |
108 | call draw_framerect |
32 | call draw_framerect |
109 | mpack ebx,wnd3.x+4,wnd3.width-8 |
33 | mpack ebx,wnd3.x+4,wnd3.width-8 |
110 | mpack ecx,wnd3.y+4,wnd3.height-8 |
34 | mpack ecx,wnd3.y+4,wnd3.height-8 |
111 | mov edx,[edi+SKIN_PARAMS.colors_1.inner] |
35 | mov edx,[edi+SKIN_PARAMS.colors_1.inner] |
112 | call draw_framerect |
36 | call draw_framerect |
113 | mcall 13, |
37 | mcall 13, |
114 | add ecx,(wnd3.height-5)*65536 |
38 | add ecx,(wnd3.height-5)*65536 |
115 | mcall |
39 | mcall |
116 | mcall , |
40 | mcall , |
117 | add ebx,(wnd3.width-5)*65536 |
41 | add ebx,(wnd3.width-5)*65536 |
118 | mcall |
42 | mcall |
119 | mcall , |
43 | mcall , |
120 | 44 | ||
121 | mov eax,0x00000001 ; left, inactive |
45 | mov eax,0x00000001 ; left, inactive |
122 | call find_bitmap |
46 | call find_bitmap |
123 | mcall 7,,, |
47 | mcall 7,,, |
124 | 48 | ||
125 | pushd [ebx-8] |
49 | pushd [ebx-8] |
126 | mov eax,0x00000003 ; base, inactive |
50 | mov eax,0x00000003 ; base, inactive |
127 | call find_bitmap |
51 | call find_bitmap |
128 | pop edx |
52 | pop edx |
129 | mov esi,wnd3.x+wnd3.width-1 |
53 | mov esi,wnd3.x+wnd3.width-1 |
130 | sub esi,edx |
54 | sub esi,edx |
131 | shl edx,16 |
55 | shl edx,16 |
132 | add edx,wnd3.x*65536+wnd3.y |
56 | add edx,wnd3.x*65536+wnd3.y |
133 | mcall 7 |
57 | mcall 7 |
134 | ;-------------------------------------- |
58 | ;-------------------------------------- |
135 | @@: |
59 | @@: |
136 | rol edx,16 |
60 | rol edx,16 |
137 | add dx,[ebx-8] |
61 | add dx,[ebx-8] |
138 | cmp dx,si |
62 | cmp dx,si |
139 | ja @f |
63 | ja @f |
140 | 64 | ||
141 | rol edx,16 |
65 | rol edx,16 |
142 | mcall 7 |
66 | mcall 7 |
143 | jmp @b |
67 | jmp @b |
144 | ;-------------------------------------- |
68 | ;-------------------------------------- |
145 | @@: |
69 | @@: |
146 | mov eax,0x00000002 ; oper, inactive |
70 | mov eax,0x00000002 ; oper, inactive |
147 | call find_bitmap |
71 | call find_bitmap |
148 | mov edx,ecx |
72 | mov edx,ecx |
149 | shr edx,16 |
73 | shr edx,16 |
150 | neg edx |
74 | neg edx |
151 | shl edx,16 |
75 | shl edx,16 |
152 | add edx,(wnd3.x+wnd3.width)*65536+wnd3.y |
76 | add edx,(wnd3.x+wnd3.width)*65536+wnd3.y |
153 | mcall 7 |
77 | mcall 7 |
154 | 78 | ||
155 | mov ebp,not_packed_area |
79 | mov ebp,not_packed_area |
156 | mov edi,[ebp+SKIN_HEADER.params] |
80 | mov edi,[ebp+SKIN_HEADER.params] |
157 | add edi,ebp |
81 | add edi,ebp |
158 | mov eax,dword[edi+SKIN_PARAMS.margin.left-2] |
82 | mov eax,dword[edi+SKIN_PARAMS.margin.left-2] |
159 | mov ax,word[edi+SKIN_PARAMS.skin_height] |
83 | mov ax,word[edi+SKIN_PARAMS.skin_height] |
160 | sub ax,[edi+SKIN_PARAMS.margin.bottom] |
84 | sub ax,[edi+SKIN_PARAMS.margin.bottom] |
161 | shr ax,1 |
85 | shr ax,1 |
162 | add ax,[edi+SKIN_PARAMS.margin.top] |
86 | add ax,[edi+SKIN_PARAMS.margin.top] |
163 | add ax,-4 |
87 | add ax,-9 |
164 | push eax |
88 | push eax |
165 | lea ebx,[eax+wnd3.x*65536+wnd3.y] |
89 | lea ebx,[eax+wnd3.x*65536+wnd3.y] |
- | 90 | mov ecx,dword[dtp.grab_text] |
|
- | 91 | add ecx,0x10000000 |
|
166 | mcall 4,,dword[dtp.grab_text],caption_text,caption_text.size |
92 | mcall 4,,,caption_text,caption_text.size |
167 | ;--------------------------------------------------------- |
93 | ;--------------------------------------------------------- |
168 | mov edi,[ebp+SKIN_HEADER.params] |
94 | mov edi,[ebp+SKIN_HEADER.params] |
169 | add edi,ebp |
95 | add edi,ebp |
170 | mpack ebx,wnd4.x,wnd4.width |
96 | mpack ebx,wnd4.x,wnd4.width |
171 | mpack ecx,wnd4.y,wnd4.height |
97 | mpack ecx,wnd4.y,wnd4.height |
172 | mov edx,[edi+SKIN_PARAMS.colors.outer] |
98 | mov edx,[edi+SKIN_PARAMS.colors.outer] |
173 | call draw_framerect |
99 | call draw_framerect |
174 | mpack ebx,wnd4.x+4,wnd4.width-8 |
100 | mpack ebx,wnd4.x+4,wnd4.width-8 |
175 | mpack ecx,wnd4.y+4,wnd4.height-8 |
101 | mpack ecx,wnd4.y+4,wnd4.height-8 |
176 | mov edx,[edi+SKIN_PARAMS.colors.inner] |
102 | mov edx,[edi+SKIN_PARAMS.colors.inner] |
177 | call draw_framerect |
103 | call draw_framerect |
178 | mcall 13, |
104 | mcall 13, |
179 | add ecx,(wnd4.height-5)*65536 |
105 | add ecx,(wnd4.height-5)*65536 |
180 | mcall |
106 | mcall |
181 | mcall , |
107 | mcall , |
182 | add ebx,(wnd4.width-5)*65536 |
108 | add ebx,(wnd4.width-5)*65536 |
183 | mcall |
109 | mcall |
184 | mcall , |
110 | mcall , |
185 | 111 | ||
186 | mov eax,0x00010001 ; left, inactive |
112 | mov eax,0x00010001 ; left, inactive |
187 | call find_bitmap |
113 | call find_bitmap |
188 | mcall 7,,, |
114 | mcall 7,,, |
189 | 115 | ||
190 | pushd [ebx-8] |
116 | pushd [ebx-8] |
191 | mov eax,0x00010003 ; base, inactive |
117 | mov eax,0x00010003 ; base, inactive |
192 | call find_bitmap |
118 | call find_bitmap |
193 | pop edx |
119 | pop edx |
194 | mov esi,wnd4.x+wnd4.width-1 |
120 | mov esi,wnd4.x+wnd4.width-1 |
195 | sub esi,edx |
121 | sub esi,edx |
196 | shl edx,16 |
122 | shl edx,16 |
197 | add edx,wnd4.x*65536+wnd4.y |
123 | add edx,wnd4.x*65536+wnd4.y |
198 | mcall 7 |
124 | mcall 7 |
199 | ;-------------------------------------- |
125 | ;-------------------------------------- |
200 | @@: |
126 | @@: |
201 | rol edx,16 |
127 | rol edx,16 |
202 | add dx,[ebx-8] |
128 | add dx,[ebx-8] |
203 | cmp dx,si |
129 | cmp dx,si |
204 | ja @f |
130 | ja @f |
205 | 131 | ||
206 | rol edx,16 |
132 | rol edx,16 |
207 | mcall 7 |
133 | mcall 7 |
208 | jmp @b |
134 | jmp @b |
209 | ;-------------------------------------- |
135 | ;-------------------------------------- |
210 | @@: |
136 | @@: |
211 | mov eax,0x00010002 ; oper, inactive |
137 | mov eax,0x00010002 ; oper, inactive |
212 | call find_bitmap |
138 | call find_bitmap |
213 | mov edx,ecx |
139 | mov edx,ecx |
214 | shr edx,16 |
140 | shr edx,16 |
215 | neg edx |
141 | neg edx |
216 | shl edx,16 |
142 | shl edx,16 |
217 | add edx,(wnd4.x+wnd4.width)*65536+wnd4.y |
143 | add edx,(wnd4.x+wnd4.width)*65536+wnd4.y |
218 | mcall 7 |
144 | mcall 7 |
219 | 145 | ||
220 | mov ebp,not_packed_area |
146 | mov ebp,not_packed_area |
221 | mov edi,[ebp+SKIN_HEADER.params] |
147 | mov edi,[ebp+SKIN_HEADER.params] |
222 | add edi,ebp |
148 | add edi,ebp |
223 | pop eax |
149 | pop eax |
224 | lea ebx,[eax+wnd4.x*65536+wnd4.y] |
150 | lea ebx,[eax+wnd4.x*65536+wnd4.y] |
- | 151 | mov ecx,dword[dtp.grab_text] |
|
- | 152 | add ecx,0x10000000 |
|
225 | mcall 4,,dword[dtp.grab_text],caption_text,caption_text.size |
153 | mcall 4,,,caption_text,caption_text.size |
226 | ;---------------------------------------------------------------------- |
154 | ;---------------------------------------------------------------------- |
227 | mov edi,[ebp+SKIN_HEADER.buttons] |
155 | mov edi,[ebp+SKIN_HEADER.buttons] |
228 | add edi,ebp |
156 | add edi,ebp |
229 | ;-------------------------------------- |
157 | ;-------------------------------------- |
230 | .lp1: |
158 | .lp1: |
231 | cmp dword[edi],0 |
159 | cmp dword[edi],0 |
232 | je .lp2 |
160 | je .lp2 |
233 | 161 | ||
234 | mov ebx,dword[edi+SKIN_BUTTONS.left-2] |
162 | mov ebx,dword[edi+SKIN_BUTTONS.left-2] |
235 | mov bx,[edi+SKIN_BUTTONS.width] |
163 | mov bx,[edi+SKIN_BUTTONS.width] |
236 | mov ecx,dword[edi+SKIN_BUTTONS.top-2] |
164 | mov ecx,dword[edi+SKIN_BUTTONS.top-2] |
237 | mov cx,[edi+SKIN_BUTTONS.height] |
165 | mov cx,[edi+SKIN_BUTTONS.height] |
238 | add ebx,(wnd4.x+wnd4.width)*65536 |
166 | add ebx,(wnd4.x+wnd4.width)*65536 |
239 | add ecx,wnd4.y*65536 |
167 | add ecx,wnd4.y*65536 |
240 | dec ebx |
168 | dec ebx |
241 | dec ecx |
169 | dec ecx |
242 | mcall 8,,,0x40000000 |
170 | mcall 8,,,0x40000000 |
243 | add edi,12 |
171 | add edi,12 |
244 | jmp .lp1 |
172 | jmp .lp1 |
245 | ;-------------------------------------- |
173 | ;-------------------------------------- |
246 | .lp2: |
174 | .lp2: |
247 | mov edi,[ebp+SKIN_HEADER.params] |
175 | mov edi,[ebp+SKIN_HEADER.params] |
248 | add edi,ebp |
176 | add edi,ebp |
249 | mpack ebx,wnd4.x+10,wnd4.y+10 |
177 | mpack ebx,wnd4.x+10,wnd4.y+10 |
250 | add bx,word[edi+SKIN_PARAMS.skin_height] |
178 | add bx,word[edi+SKIN_PARAMS.skin_height] |
251 | mcall 4,,[dtp.work_text],window_text,window_text.size |
179 | mcall 4,,[dtp.work_text],window_text,window_text.size |
252 | 180 | ||
253 | mov ecx,[edi+SKIN_PARAMS.skin_height] |
181 | mov ecx,[edi+SKIN_PARAMS.skin_height] |
254 | shl ecx,16 |
182 | shl ecx,16 |
255 | add ecx,(wnd4.y+8)*65536+10 |
183 | add ecx,(wnd4.y+8)*65536+10 |
256 | mcall 13, |
184 | mcall 13, |
257 | (wnd4.x+window_text.size*6+20)>,,[dtp.work_graph] |
185 | (wnd4.x+window_text.size*6+20)>,,[dtp.work_graph] |
258 | 186 | ||
259 | add ecx,25*65536+8 |
187 | add ecx,25*65536+10 |
260 | mcall 8, |
188 | mcall 8, |
261 | button_text.size*6+11>,,0,[dtp.work_button] |
189 | button_text.size*6+11>,,0,[dtp.work_button] |
262 | 190 | ||
263 | shr ecx,16 |
191 | shr ecx,16 |
264 | mov bx,cx |
192 | mov bx,cx |
265 | add ebx,0x00060006 |
193 | add ebx,0x00060007 |
266 | mcall 4,,[dtp.work_button_text],button_text,button_text.size |
194 | mcall 4,,[dtp.work_button_text],button_text,button_text.size |
267 | ret |
195 | ret |
268 | ;--------------------------------------------------------------------- |
196 | ;--------------------------------------------------------------------- |
269 | find_bitmap: |
197 | find_bitmap: |
270 | mov edi,[ebp+SKIN_HEADER.bitmaps] |
198 | mov edi,[ebp+SKIN_HEADER.bitmaps] |
271 | add edi,ebp |
199 | add edi,ebp |
272 | xor ebx,ebx |
200 | xor ebx,ebx |
273 | ;-------------------------------------- |
201 | ;-------------------------------------- |
274 | .lp1: |
202 | .lp1: |
275 | cmp dword[edi],0 |
203 | cmp dword[edi],0 |
276 | je .lp2 |
204 | je .lp2 |
277 | 205 | ||
278 | cmp dword[edi+0],eax |
206 | cmp dword[edi+0],eax |
279 | jne @f |
207 | jne @f |
280 | ;-------------------------------------- |
208 | ;-------------------------------------- |
281 | mov ebx,[edi+SKIN_BITMAPS._data] |
209 | mov ebx,[edi+SKIN_BITMAPS._data] |
282 | add ebx,ebp |
210 | add ebx,ebp |
283 | mov ecx,[ebx-2] |
211 | mov ecx,[ebx-2] |
284 | mov cx,[ebx+4] |
212 | mov cx,[ebx+4] |
285 | add ebx,8 |
213 | add ebx,8 |
286 | ;-------------------------------------- |
214 | ;-------------------------------------- |
287 | .lp2: |
215 | .lp2: |
288 | ret |
216 | ret |
289 | ;-------------------------------------- |
217 | ;-------------------------------------- |
290 | @@: |
218 | @@: |
291 | add edi,8 |
219 | add edi,8 |
292 | jmp .lp1 |
220 | jmp .lp1 |
293 | ;---------------------------------------------------------------------- |
221 | ;---------------------------------------------------------------------- |
294 | dec_edx: |
222 | dec_edx: |
295 | sub dl,4 |
223 | sub dl,4 |
296 | jnc @f |
224 | jnc @f |
297 | 225 | ||
298 | xor dl,dl |
226 | xor dl,dl |
299 | ;-------------------------------------- |
227 | ;-------------------------------------- |
300 | @@: |
228 | @@: |
301 | sub dh,4 |
229 | sub dh,4 |
302 | jnc @f |
230 | jnc @f |
303 | 231 | ||
304 | xor dh,dh |
232 | xor dh,dh |
305 | ;-------------------------------------- |
233 | ;-------------------------------------- |
306 | @@: |
234 | @@: |
307 | rol edx,16 |
235 | rol edx,16 |
308 | sub dl,4 |
236 | sub dl,4 |
309 | jnc @f |
237 | jnc @f |
310 | 238 | ||
311 | xor dl,dl |
239 | xor dl,dl |
312 | ;-------------------------------------- |
240 | ;-------------------------------------- |
313 | @@: |
241 | @@: |
314 | rol edx,16 |
242 | rol edx,16 |
315 | ret |
243 | ret |
316 | ;--------------------------------------------------------------------- |
244 | ;--------------------------------------------------------------------- |
317 | draw_framerect: ; ebx,ecx |
245 | draw_framerect: ; ebx,ecx |
318 | push ebx ecx |
246 | push ebx ecx |
319 | add bx,[esp+6] |
247 | add bx,[esp+6] |
320 | mov cx,[esp+2] |
248 | mov cx,[esp+2] |
321 | dec ebx |
249 | dec ebx |
322 | mcall 38 |
250 | mcall 38 |
323 | add cx,[esp] |
251 | add cx,[esp] |
324 | rol ecx,16 |
252 | rol ecx,16 |
325 | add cx,[esp] |
253 | add cx,[esp] |
326 | sub ecx,0x00010001 |
254 | sub ecx,0x00010001 |
327 | mcall |
255 | mcall |
328 | mov ebx,[esp+4] |
256 | mov ebx,[esp+4] |
329 | mov ecx,[esp] |
257 | mov ecx,[esp] |
330 | mov bx,[esp+6] |
258 | mov bx,[esp+6] |
331 | add cx,[esp+2] |
259 | add cx,[esp+2] |
332 | dec ecx |
260 | dec ecx |
333 | mcall |
261 | mcall |
334 | add bx,[esp+4] |
262 | add bx,[esp+4] |
335 | rol ebx,16 |
263 | rol ebx,16 |
336 | add bx,[esp+4] |
264 | add bx,[esp+4] |
337 | sub ebx,0x00010001 |
265 | sub ebx,0x00010001 |
338 | mcall |
266 | mcall |
339 | add esp,8 |
267 | add esp,8 |
340 | ret |
268 | ret |
341 | ;---------------------------------------------------------------------- |
269 | ;---------------------------------------------------------------------- |
342 | > |
270 | > |
343 | > |
271 | > |