forked from KolibriOS/kolibrios
5504861649
* icon: corrected restart of all icons with 'Apply' git-svn-id: svn://kolibrios.org@633 a494cfbc-eb01-0410-851d-a64ba20cac60
99 lines
1.5 KiB
NASM
99 lines
1.5 KiB
NASM
; Detecting mouse right-clicks.
|
||
|
||
detect_start:
|
||
|
||
mov eax, 40
|
||
mov ebx, 00100000b
|
||
int 0x40
|
||
|
||
detect_still:
|
||
;mov eax, 10 ; <20> ¡®â ¥â ¥ ᮢᥬ ª®à४â®, ¯®ç¥¬ã å§.
|
||
mov eax, 23
|
||
mov ebx, 4
|
||
int 0x40
|
||
;cmp eax, 6
|
||
;jne detect_still
|
||
|
||
mov eax, 37
|
||
mov ebx, 2 ; Ž¯à 訢 ¥¬ ª®¯ª¨ ¬ëè¨
|
||
int 0x40
|
||
|
||
test eax, ebx ; test eax, 00000010b ˆâ¥à¥áã¥â ⮫쪮 ¯à ¢ ï ª®¯ª
|
||
jz detect_still ; <20>¥â - ? ‚®§¢à é ¥¬áï ¢ £« ¢ë© 横« ¯®â®ª
|
||
|
||
mouse_btn_up:
|
||
mov eax, 37
|
||
mov ebx, 2
|
||
int 0x40
|
||
|
||
test eax, ebx
|
||
jnz mouse_btn_up
|
||
|
||
mov eax, 37
|
||
xor ebx, ebx ; mov ebx, 0
|
||
int 0x40
|
||
|
||
mov ecx, [panel_y_pos]
|
||
shr ecx, 16
|
||
inc ecx
|
||
|
||
cmp ax, cx
|
||
jb detect_still
|
||
add ecx, 15
|
||
cmp ax, cx
|
||
ja detect_still
|
||
|
||
shr eax, 16
|
||
xor edx, edx ; mov edx, 1
|
||
inc edx
|
||
|
||
detect_button:
|
||
mov ebx, edx
|
||
imul ebx, 6 * 10
|
||
; // Alver 26.08.2007 // {
|
||
; add ebx, 4
|
||
add ebx, 64
|
||
; } \\ Alver \\
|
||
|
||
cmp eax, ebx
|
||
jb detect_still
|
||
|
||
add ebx, 60 - 1
|
||
cmp eax, ebx
|
||
ja @f
|
||
|
||
shl edx, 2
|
||
mov ecx, [app_list + edx - 4]
|
||
cmp ecx, -1
|
||
jz detect_still
|
||
|
||
mov [x_coord], ax
|
||
|
||
mov eax, 37
|
||
xor ebx, ebx ; mov ebx, 0
|
||
int 0x40
|
||
|
||
mov [y_coord], ax
|
||
|
||
mov [n_slot], ecx
|
||
|
||
mov eax, 9
|
||
mov ebx, procinfo_for_detect
|
||
int 0x40
|
||
|
||
mov eax, 51
|
||
mov ebx, 1
|
||
mov ecx, context_menu_start
|
||
mov edx, ctx_menu_stack
|
||
int 0x40
|
||
|
||
mov [ctx_menu_PID], eax
|
||
|
||
jmp detect_still
|
||
|
||
@@:
|
||
cmp edx, [max_applications]
|
||
jae detect_still
|
||
inc edx
|
||
jmp detect_button
|