Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 6799 → Rev 6800

/kernel/trunk/kernel.asm
1871,20 → 1871,7
mov eax, [timer_ticks]
ret
;-----------------------------------------------------------------------------
iglobal
align 4
mousefn dd msscreen
dd mswin
dd msbutton
dd msbuttonExt
dd app_load_cursor
dd app_set_cursor
dd app_delete_cursor
dd msz
endg
;-----------------------------------------------------------------------------
readmousepos:
 
; eax=0 screen relative
; eax=1 window relative
; eax=2 buttons pressed
1893,12 → 1880,24
; eax=5 set cursor
; eax=6 delete cursor
; eax=7 get mouse_z
 
cmp ebx, 7
; eax=8 load cursor unicode
cmp ebx, 8
ja @f
jmp [mousefn+ebx*4]
jmp dword[.mousefn+ebx*4]
 
msscreen:
align 4
.mousefn:
dd .msscreen
dd .mswin
dd .msbutton
dd .msbuttonExt
dd .app_load_cursor
dd .app_set_cursor
dd .app_delete_cursor
dd .msz
dd .loadCursorUni
 
.msscreen:
mov eax, [MOUSE_X]
shl eax, 16
mov ax, [MOUSE_Y]
1906,7 → 1905,7
@@:
ret
 
mswin:
.mswin:
mov eax, [MOUSE_X]
shl eax, 16
mov ax, [MOUSE_Y]
1924,17 → 1923,17
mov [esp+36-4], eax
ret
 
msbutton:
.msbutton:
movzx eax, byte [BTN_DOWN]
mov [esp+36-4], eax
ret
 
msbuttonExt:
.msbuttonExt:
mov eax, [BTN_DOWN]
mov [esp+36-4], eax
ret
 
app_load_cursor:
.app_load_cursor:
cmp ecx, OS_BASE
jae @f
stdcall load_cursor, ecx, edx
1942,17 → 1941,35
@@:
ret
 
app_set_cursor:
.loadCursorUni:
cmp ecx, OS_BASE
jae @b
push ecx edx
stdcall kernel_alloc, maxPathLength
mov edi, eax
pop eax esi
push edi
call getFullPath
pop ebp
test eax, eax
jz @f
stdcall load_cursor, ebp, LOAD_FROM_FILE
mov [esp+32], eax
@@:
stdcall kernel_free, ebp
ret
 
.app_set_cursor:
stdcall set_cursor, ecx
mov [esp+36-4], eax
ret
 
app_delete_cursor:
.app_delete_cursor:
stdcall delete_cursor, ecx
mov [esp+36-4], eax
ret
 
msz:
.msz:
mov edi, [TASK_COUNT]
movzx edi, word [WIN_POS + edi*2]
cmp edi, [CURRENT_TASK]
2278,9 → 2295,8
movzx esi, word [WIN_STACK + ecx * 2]
lea esi, [WIN_POS + esi * 2]
call window._.window_deactivate
 
call syscall_display_settings._.calculate_whole_screen
call syscall_display_settings._.redraw_whole_screen
call syscall_display_settings.calculateScreen
call syscall_display_settings.redrawScreen
.nowindowdeactivate:
ret
;------------------------------------------------------------------------------