gui/mouse.inc:

+  new file for GUI-related mouse events handling (old mouse.inc renamed)
gui/button.inc and gui/window.inc:
  * refactoring in regards of new mouse.inc:
    * obsolete code eliminated
    * old'n'ugly `check_buttons` and `checkwindows` removed
    * events handlers added
gui/window.inc:
  * moved GUI-related syscalls and auxilary functions from kernel.asm
  * removed registers cross-ordering from syscall 67 (window move/resize)
+ more comments added
known bugs include:
  1. apps using syscall 67 (kfar etc.) may not redraw their old screen area leaving ghost images
  2. possibility of mouse cursor artefacts may have increased (this *really* has to be reworked)

git-svn-id: svn://kolibrios.org@1391 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
Mihail Semenyako (mike.dld)
2010-02-06 19:08:19 +00:00
parent e79fad8794
commit ddd29cc90f
8 changed files with 1896 additions and 1534 deletions

View File

@@ -368,11 +368,13 @@ sys_sendwindowmsg: ;; f72
cli
sub ecx,2
je .sendkey
loop .retf
dec ecx
jnz .retf
.sendbtn:
cmp byte[BTN_COUNT],1
jae .result ;overflow
inc byte[BTN_COUNT]
shl edx, 8
mov [BTN_BUFF],edx
jmp .result
.sendkey:
@@ -467,7 +469,9 @@ get_event_for_app: ;; used from f10,f11,f23
je .loop ; empty ???
cmp edx,[TASK_COUNT]
jne .loop ; not Top ???
cmp dword[BTN_BUFF],0xFFFF ;-ID for Minimize-Button of Form
mov edx, [BTN_BUFF]
shr edx, 8
cmp edx, 0xFFFF ;-ID for Minimize-Button of Form
jne .result
mov [window_minimize],1
dec byte[BTN_COUNT]