/kernel/branches/kolibri_pe/gui/button.inc |
---|
227,7 → 227,7 |
button_no_draw: |
push edi |
mov edi, [BTN_ADDR] |
mov edi, [btn_addr] |
movzx eax, word [edi] |
cmp eax, max_buttons |
jge noaddbutt |
264,7 → 264,7 |
rnewba2: |
mov edi, [BTN_ADDR] |
mov edi, [btn_addr] |
mov eax, edi |
movzx ebx, word [edi] |
inc ebx |
429,7 → 429,7 |
checkbuttons: |
cmp [BTN_DOWN],byte 0 ; mouse buttons pressed |
cmp byte [btn_down], 0 ; mouse buttons pressed |
jnz @f |
;..................................... start 1/5 : modified by vhanla ............................. |
mov [bPressedMouseXY_B],0 |
439,7 → 439,7 |
pushad |
xor esi, esi |
mov edi, [BTN_ADDR] |
mov edi, [btn_addr] |
movzx edx, word [edi] |
test edx, edx |
jne @f |
449,7 → 449,7 |
@@: |
;..................................... start 2/5 : modified by vhanla ............................. |
;here i catch the coordinates when the mouse's button is clicked |
push ax |
push eax |
cmp [bPressedMouseXY_B],0;FALSE |
jnz @f |
mov [bPressedMouseXY_B],1;TRUE - it was already clicked |
458,7 → 458,7 |
mov ax,[MOUSE_Y] |
mov [my],ax |
@@: |
pop ax |
pop eax |
;and it is only refreshed after the mouse's button release |
;..................................... end 2/5 : modified by vhanla ............................. |
520,7 → 520,7 |
movzx edx,word [eax+4] ; button x start |
add edx,ecx |
;..................................... start 3/5 : modified by vhanla ............................. |
mov cx,[mx] ;mov cx,[MOUSE_X] |
mov cx,[mx] ;mov cx,[mouse_x] |
;..................................... end 3/5 : modified by vhanla ............................. |
cmp edx,ecx |
jg buttonnewcheck |
558,7 → 558,6 |
mov bx,[eax+2] ; button id : bits 00-16 |
push ebx |
mov [MOUSE_DOWN],byte 1 ; no mouse down checks |
call find_pressed_button_frames |
call negativebutton |
565,7 → 564,7 |
pushad |
; // Alver 22.06.2008 // { |
push eax |
mov al, byte [BTN_DOWN] |
mov al, byte [btn_down] |
mov byte [btn_down_determ], al |
pop eax |
; } \\ Alver \\ |
580,13 → 579,13 |
call stack_handler |
popad |
cmp [BTN_DOWN],byte 0 ; mouse buttons pressed ? |
cmp byte [btn_down], 0 ; mouse buttons pressed ? |
jnz cbwaitmouseup |
popad |
call negativebutton |
mov [MOUSE_BACKGROUND],byte 0 ; no mouse background |
mov [DONT_DRAW_MOUSE],byte 0 ; draw mouse |
mov [mouse_background], 0 ; no mouse background |
mov [dont_draw_mouse], 0 ; draw mouse |
;..................................... start 5/5 : modified by vhanla ............................. |
; check coordinates |
iglobal |
629,7 → 628,7 |
cmp ecx,edx |
jg no_on_button |
popa |
mov [BTN_COUNT],byte 1 ; no of buttons in buffer |
mov [BTN_COUNT], 1 ; no of buttons in buffer |
pop ebx |
mov [BTN_BUFF],ebx ; lets put the button id in buffer |
push ebx |
636,9 → 635,8 |
pusha |
jmp yes_on_button |
no_on_button: |
mov [BTN_COUNT],byte 0 ; no of buttons in buffer |
mov [BTN_COUNT], 0 ; no of buttons in buffer |
yes_on_button: |
mov [MOUSE_DOWN],byte 0 ; mouse down -> do not draw |
popa |
pop ebx |
popa |
/kernel/branches/kolibri_pe/gui/event.inc |
---|
507,12 → 507,12 |
.sendkey: |
pushf |
cli |
movzx eax, byte [KEY_COUNT] |
cmp al, 120 |
mov eax, [KEY_COUNT] |
cmp eax, 120 |
jae .overflow |
inc eax |
mov [KEY_COUNT], al |
mov [KEY_COUNT+eax], cl |
mov [KEY_COUNT], eax |
mov [KEY_BUFF+eax-1], cl |
jmp .ok |
.overflow: |
popf |
521,9 → 521,9 |
.sendbtn: |
pushf |
cli |
cmp byte [BTN_COUNT], 0 |
cmp [BTN_COUNT], 0 |
jnz .overflow |
mov byte [BTN_COUNT], 1 |
mov [BTN_COUNT], 1 |
mov [BTN_BUFF], ecx |
.ok: |
popf |
554,7 → 554,7 |
mov eax, [TASK_COUNT] |
cmp eax,edx |
jne no_eventoccur2x |
cmp [KEY_COUNT],byte 0 |
cmp [KEY_COUNT], 0 |
je no_eventoccur2x |
eventoccur2: |
popad |
573,7 → 573,7 |
;mov edi,[TASK_BASE] ; BUTTON IN BUFFER |
test [edi+TASKDATA.event_mask],dword 4 |
jz no_eventoccur3 |
cmp [BTN_COUNT],byte 0 |
cmp [BTN_COUNT], 0 |
je no_eventoccur3 |
mov ecx, [CURRENT_TASK] |
movzx edx, word [WIN_STACK+ecx*2] |
589,7 → 589,7 |
no_event_1: |
mov [window_minimize],1 |
mov [BTN_COUNT],byte 0 |
mov [BTN_COUNT], 0 |
xor eax, eax |
ret |
613,7 → 613,7 |
;mov edi,[TASK_BASE] ; DESKTOP BACKGROUND REDRAW |
test [edi+TASKDATA.event_mask], 16 |
jz no_eventoccur5 |
; cmp [REDRAW_BACKGROUND],byte 2 |
; cmp [redraw_background], 2 |
; jnz no_eventoccur5 |
test [eax+APPDATA.event_mask], 16 |
jz no_eventoccur5 |
/kernel/branches/kolibri_pe/gui/skincode.inc |
---|
379,7 → 379,7 |
jne no_skin_add_button |
;* close button |
mov edi,[BTN_ADDR] |
mov edi,[btn_addr] |
movzx eax,word [edi] |
cmp eax,1000 |
jge no_skin_add_button |
418,7 → 418,7 |
mov [eax],bx |
;* minimize button |
mov edi,[BTN_ADDR] |
mov edi,[btn_addr] |
movzx eax,word [edi] |
cmp eax,1000 |
jge no_skin_add_button |
/kernel/branches/kolibri_pe/gui/window.inc |
---|
629,8 → 629,8 |
cmp [new_window_starting],eax |
jb swml1 |
mov [MOUSE_BACKGROUND],byte 0 ; no mouse background |
mov [DONT_DRAW_MOUSE],byte 0 ; draw mouse |
mov [mouse_background], 0 ; no mouse background |
mov [dont_draw_mouse], 0 ; draw mouse |
mov [new_window_starting],eax |
957,10 → 957,10 |
mov [ebx*2 + WIN_POS], si |
jmp waloop2 |
wacont2: |
mov [KEY_COUNT], byte 0 ; empty keyboard buffer |
mov [BTN_COUNT], byte 0 ; empty button buffer |
mov [MOUSE_SCROLL_H], word 0 ; zero mouse z-index |
mov [MOUSE_SCROLL_V], word 0 ; zero mouse z-index |
mov [KEY_COUNT], 0 ; empty keyboard buffer |
mov [BTN_COUNT], 0 ; empty button buffer |
mov [mouse_scroll_h], 0 ; zero mouse z-index |
mov [mouse_scroll_v], 0 ; zero mouse z-index |
popad |
ret |
1056,7 → 1056,6 |
jz .do_not_draw |
popad |
mov [MOUSE_DOWN], byte 1 ; do draw mouse |
call windowactivate |
; update screen info |
1081,7 → 1080,6 |
popad |
mov [edi + WDATA.fl_redraw], 1 ; redraw flag for app |
mov [MOUSE_DOWN],byte 0 ; mouse down checks |
ret |
1090,9 → 1088,8 |
popad |
call windowactivate |
mov [MOUSE_DOWN],byte 0 ; mouse down checks |
mov [MOUSE_BACKGROUND],byte 0 ; no mouse background |
mov [DONT_DRAW_MOUSE],byte 0 ; draw mouse |
mov [mouse_background], 0 ; no mouse background |
mov [dont_draw_mouse], 0 ; draw mouse |
ret |
1159,7 → 1156,7 |
add edx, [edi+WDATA.box.height] |
call calculatescreen |
.done: |
mov [MOUSE_BACKGROUND],byte 0 ; no mouse under |
mov [mouse_background], 0 ; no mouse under |
.skip_redrawings: |
popfd |
ret |
1189,7 → 1186,7 |
.continue: |
.no_minimizing: |
cmp [BTN_DOWN],byte 0 ; mouse buttons pressed ? |
cmp byte [btn_down], 0 ; mouse buttons pressed ? |
jne .mouse_buttons_pressed |
;..................................... start 1/4 : modified by vhanla ................. |
mov [bPressedMouseXY_W],0 |
1206,7 → 1203,7 |
inc esi |
;..................................... start 3/4 : modified by vhanla ................. |
push ax |
push eax |
cmp [bPressedMouseXY_W],0 |
jnz @f |
mov [bPressedMouseXY_W],1 |
1215,7 → 1212,7 |
mov ax,[MOUSE_Y] |
mov [my],ax |
@@: |
pop ax |
pop eax |
;..................................... end 3/4 : modified by vhanla ................... |
cwloop: |
1236,7 → 1233,7 |
jnz cwloop |
;..................................... start 4/4 : modified by vhanla ................. |
movzx eax, word [mx]; movzx eax,word[MOUSE_X] |
movzx eax, word [mx]; movzx eax,word[mouse_x] |
movzx ebx, word [my]; movzx ebx,word[MOUSE_Y] |
;..................................... endt 4/4 : modified by vhanla .................. |
cmp ecx, eax |
1321,7 → 1318,7 |
mov [latest_window_touch], ecx |
mov [latest_window_touch_delta], edx |
mov cl, [BTN_DOWN] ; save for shade check |
mov cl, byte [btn_down] ; save for shade check |
mov [do_resize], cl |
no_emulation_righ_button: |
mov ecx, [edi + WDATA.box.left] |
1341,7 → 1338,7 |
sub eax, ecx |
sub ebx, edx |
mov esi, [MOUSE_X] |
mov esi, dword [MOUSE_X] |
mov [WIN_TEMP_XY], esi |
pushad ; wait for putimages to finish |
1369,19 → 1366,18 |
call drawwindowframes |
mov [reposition],0 |
mov [MOUSE_DOWN],byte 1 ; no reaction to mouse up/down |
; move window |
newchm: |
mov [DONT_DRAW_MOUSE],byte 1 |
mov [dont_draw_mouse], 1 |
call checkidle |
call checkVga_N13 |
mov [MOUSE_BACKGROUND],byte 0 |
mov [mouse_background], 0 |
call [draw_pointer] |
1390,7 → 1386,7 |
popad |
mov esi,[WIN_TEMP_XY] |
cmp esi,[MOUSE_X] |
cmp esi, dword [MOUSE_X] |
je cwb |
mov cx,[MOUSE_X] |
1403,8 → 1399,8 |
call drawwindowframes |
mov ax,[Screen_Max_X] |
mov bx,[Screen_Max_Y] |
mov ax, word [Screen_Max_X] |
mov bx, word [Screen_Max_Y] |
cmp [do_resize_from_corner],1 |
je no_new_position |
1477,14 → 1473,14 |
pop ax |
call drawwindowframes |
mov esi,[MOUSE_X] |
mov esi, dword [MOUSE_X] |
mov [WIN_TEMP_XY],esi |
cwb: |
cmp [BTN_DOWN],byte 0 |
cmp byte [btn_down], 0 |
jne newchm |
; new position done |
mov [DONT_DRAW_MOUSE],byte 1 |
mov [dont_draw_mouse], 1 |
mov cl,0 |
test [edi+WDATA.fl_wstate],WSTATE_MAXIMIZED |
jnz @f |
1637,7 → 1633,7 |
cmp [reposition],0 |
je retwm |
mov [DONT_DRAW_MOUSE],byte 1 ; no mouse |
mov [dont_draw_mouse], 1 ; no mouse |
push eax ebx ecx edx |
1666,7 → 1662,7 |
mov ecx,100 ; wait to avoid mouse residuals |
waitre2: |
mov [DONT_DRAW_MOUSE],byte 1 |
mov [dont_draw_mouse], 1 |
call checkidle |
cmp [edi+WDATA.fl_redraw],0 |
jz retwm |
1674,9 → 1670,8 |
retwm: |
mov [DONT_DRAW_MOUSE],byte 0 ; mouse pointer |
mov [MOUSE_BACKGROUND],byte 0 ; no mouse under |
mov [MOUSE_DOWN],byte 0 ; react to mouse up/down |
mov [dont_draw_mouse], 0 ; mouse pointer |
mov [mouse_background], 0 ; no mouse under |
mov esi,window_moved |
call sys_msg_board_str |