/kernel/trunk/gui/mouse.inc |
---|
187,6 → 187,11 |
.action db ? |
endg |
iglobal |
fl_moving db 0 |
rb 3 |
endg |
align 4 |
;----------------------------------------------------------------- |
mouse._.left_button_press_handler: |
306,6 → 311,7 |
.exit: |
and [mouse.active_sys_window.action], 0 |
mov [fl_moving], 0 |
ret |
mouse._.right_button_press_handler: |
480,6 → 486,19 |
pop esi |
je .exit |
test [fl_moving], 1 |
jnz @f |
mov [fl_moving], 1 |
push edi |
mov edi, esi |
shl edi, 5 |
add edi, WDATA.box + window_data |
call window._.draw_negative_box |
pop edi |
@@: |
mov [mouse.active_sys_window.last_ticks], 0 |
call sys_window_moving_handler |
/kernel/trunk/gui/window.inc |
---|
1386,6 → 1386,15 |
shl edi, 5 |
add edi, window_data |
test [fl_moving], 1 |
jz @f |
push edi |
mov edi, ebx |
call window._.draw_negative_box |
pop edi |
@@: |
mov eax, ebx |
mov bl, [edi + WDATA.fl_wstate] |
call window._.set_window_box |
1523,11 → 1532,6 |
call memmove |
mov eax, ebx |
mov ebx, esi |
push edi |
mov edi, eax |
call window._.draw_negative_box |
pop edi |
call window._.check_window_position |
call window._.set_window_clientbox |
call window._.invalidate_screen |
/kernel/trunk/kernel.asm |
---|
3841,6 → 3841,14 |
cmp ecx, 1 ; limit for background |
jz bgli |
mov eax, [esp+4] ;if upper in z-position - no redraw |
test eax, eax |
jz @f |
mov al, [eax + WDATA.z_modif] |
cmp [edi + WDATA.z_modif], al |
jg ricino |
@@: |
mov eax, [edi + WDATA.box.left] |
mov ebx, [edi + WDATA.box.top] |