Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 887 → Rev 928

/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