Rev 6035 | Rev 8869 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 6035 | Rev 6044 | ||
---|---|---|---|
Line 4... | Line 4... | ||
4 | ;; Copyright (C) MenuetOS 2000-2004 Ville Mikael Turjanmaa ;; |
4 | ;; Copyright (C) MenuetOS 2000-2004 Ville Mikael Turjanmaa ;; |
5 | ;; Distributed under terms of the GNU General Public License ;; |
5 | ;; Distributed under terms of the GNU General Public License ;; |
6 | ;; ;; |
6 | ;; ;; |
7 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
7 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
Line 8... | Line 8... | ||
8 | 8 | ||
Line 9... | Line 9... | ||
9 | $Revision: 6035 $ |
9 | $Revision: 6044 $ |
Line 10... | Line 10... | ||
10 | 10 | ||
11 | button.MAX_BUTTONS = 4095 |
11 | button.MAX_BUTTONS = 4095 |
Line 291... | Line 291... | ||
291 | mov eax, esi |
291 | mov eax, esi |
292 | pop edi esi edx ecx |
292 | pop edi esi edx ecx |
293 | mov ebx, dword[eax + SYS_BUTTON.id_hi - 2] |
293 | mov ebx, dword[eax + SYS_BUTTON.id_hi - 2] |
Line 294... | Line 294... | ||
294 | 294 | ||
295 | ; display button border on press? |
295 | ; display button border on press? |
296 | test ebx, 0x20000000 |
296 | bt ebx, 29 |
Line 297... | Line 297... | ||
297 | jnz .exit |
297 | jc .exit |
298 | 298 | ||
299 | ; invert system button border |
299 | ; invert system button border |
- | 300 | pushad |
|
300 | pushad |
301 | mov esi, eax |
301 | mov esi, eax |
302 | mov edi, ebx |
302 | movzx ecx, [esi + SYS_BUTTON.pslot] |
303 | movzx ecx, [esi + SYS_BUTTON.pslot] |
303 | shl ecx, 5 |
304 | shl ecx, 5 |
304 | add ecx, window_data |
305 | add ecx, window_data |
305 | mov eax, dword[esi + SYS_BUTTON.left] |
306 | mov eax, dword[esi + SYS_BUTTON.left] |
306 | mov ebx, dword[esi + SYS_BUTTON.top] |
307 | mov ebx, dword[esi + SYS_BUTTON.top] |
307 | add eax, [ecx + WDATA.box.left] |
308 | add eax, [ecx + WDATA.box.left] |
308 | add ebx, [ecx + WDATA.box.top] |
309 | add ebx, [ecx + WDATA.box.top] |
- | 310 | mov ecx, eax |
|
- | 311 | mov edx, ebx |
|
309 | mov ecx, eax |
312 | bt edi, 30 |
310 | mov edx, ebx |
313 | jc @f |
- | 314 | inc ax |
|
- | 315 | inc bx |
|
- | 316 | dec cx |
|
311 | inc ax |
317 | dec dx |
312 | inc bx |
318 | @@: |
313 | rol eax, 16 |
319 | rol eax, 16 |
314 | rol ebx, 16 |
320 | rol ebx, 16 |
315 | add ax, cx |
- | |
316 | add bx, dx |
- | |
317 | dec ax |
321 | add ax, cx |
318 | dec bx |
322 | add bx, dx |
319 | mov esi, 1000000h |
323 | mov esi, 1000000h |
320 | call draw_rectangle.forced |
324 | call draw_rectangle.forced |
321 | popad |
325 | popad |