Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | Download | RSS feed

  1. mouse_local:
  2.     ;.................................................................................................
  3.     ; Ïîëó÷àåì êîîðäèíàòû ìûøè îòíîñèòåëüíî îêíà
  4.     ;.................................................................................................
  5.     mov     eax,37                        ; Ôóíêöèÿ 37 - ðàáîòà ñ ìûøüþ
  6.     mov     ebx,1                         ; íàì íóæíû ãëîáàëüíûå êîîðäèíàòû
  7.     int     0x40                          ; eax = x*65536 + y, (x,y)=êîîðäèíàòû êóðñîðà ìûøè
  8.     mov     ecx,eax                       ;
  9.     shr     ecx,16                        ; ecx = x+1
  10.     movzx   edx,ax                        ; edx = y+1
  11.     dec     ecx                           ; ecx = x
  12.     dec     edx                           ; edx = y
  13.     mov     [mouse_x],ecx                 ; mouse_x = x
  14.     mov     [mouse_y],edx                 ; mouse_y = y
  15.     ret                                   ; Âîçâðàùàåì óïðàâëåíèå
  16. ;end_mouse_local
  17.  
  18. mouse_left:
  19.     pusha
  20.     xor     ecx,ecx
  21.     mov     eax,37
  22.     mov     ebx,2
  23.     int     0x40
  24.     cmp     al,1
  25.     jne     @f
  26.     mov     ecx,1
  27.   @@:
  28.     mov     [mouse_l],ecx
  29.     popa
  30.     ret
  31. ;end