forked from KolibriOS/kolibrios
kernel: remove Screen_Max_X and Screen_Max_Y variables
git-svn-id: svn://kolibrios.org@5350 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
7c2e2980d7
commit
5c0b9990c8
@ -1141,9 +1141,9 @@ proc set_app_params stdcall,slot:dword, params:dword,\
|
|||||||
xor eax, eax
|
xor eax, eax
|
||||||
mov [ecx+0], dword eax
|
mov [ecx+0], dword eax
|
||||||
mov [ecx+4], dword eax
|
mov [ecx+4], dword eax
|
||||||
mov eax, [Screen_Max_X]
|
mov eax, [screen_workarea.right]
|
||||||
mov [ecx+8], eax
|
mov [ecx+8], eax
|
||||||
mov eax, [Screen_Max_Y]
|
mov eax, [screen_workarea.bottom]
|
||||||
mov [ecx+12], eax
|
mov [ecx+12], eax
|
||||||
|
|
||||||
mov ebx, [pl0_stack]
|
mov ebx, [pl0_stack]
|
||||||
|
@ -379,8 +379,6 @@ _WinMapAddress rd 1
|
|||||||
_WinMapSize rd 1
|
_WinMapSize rd 1
|
||||||
|
|
||||||
LFBAddress dd ?
|
LFBAddress dd ?
|
||||||
Screen_Max_X dd ?
|
|
||||||
Screen_Max_Y dd ?
|
|
||||||
|
|
||||||
SCR_MODE rw 2
|
SCR_MODE rw 2
|
||||||
|
|
||||||
@ -425,8 +423,8 @@ cur_saved_base rd 1
|
|||||||
cur.lock rd 1 ;1 - lock update, 2- hide
|
cur.lock rd 1 ;1 - lock update, 2- hide
|
||||||
cur.left rd 1 ;cursor clip box
|
cur.left rd 1 ;cursor clip box
|
||||||
cur.top rd 1
|
cur.top rd 1
|
||||||
cur.right rd 1
|
;cur.right rd 1
|
||||||
cur.bottom rd 1
|
;cur.bottom rd 1
|
||||||
cur.w rd 1
|
cur.w rd 1
|
||||||
cur.h rd 1
|
cur.h rd 1
|
||||||
|
|
||||||
|
@ -394,9 +394,9 @@ mouse._.move_handler: ;////////////////////////////////////////////////////////
|
|||||||
mov [mouse.active_sys_window.new_box.left], eax
|
mov [mouse.active_sys_window.new_box.left], eax
|
||||||
@@:
|
@@:
|
||||||
add eax, [mouse.active_sys_window.new_box.width]
|
add eax, [mouse.active_sys_window.new_box.width]
|
||||||
cmp eax, [Screen_Max_X]
|
cmp eax, [_display.width]
|
||||||
jl @f
|
jl @f
|
||||||
sub eax, [Screen_Max_X]
|
sub eax, [_display.width]
|
||||||
sub [mouse.active_sys_window.new_box.left], eax
|
sub [mouse.active_sys_window.new_box.left], eax
|
||||||
@@:
|
@@:
|
||||||
mov eax, [mouse.active_sys_window.new_box.top]
|
mov eax, [mouse.active_sys_window.new_box.top]
|
||||||
@ -406,9 +406,9 @@ mouse._.move_handler: ;////////////////////////////////////////////////////////
|
|||||||
mov [mouse.active_sys_window.new_box.top], eax
|
mov [mouse.active_sys_window.new_box.top], eax
|
||||||
@@:
|
@@:
|
||||||
add eax, [mouse.active_sys_window.new_box.height]
|
add eax, [mouse.active_sys_window.new_box.height]
|
||||||
cmp eax, [Screen_Max_Y]
|
cmp eax, [_display.height]
|
||||||
jle .call_window_handler
|
jl .call_window_handler
|
||||||
sub eax, [Screen_Max_Y]
|
sub eax, [_display.height]
|
||||||
sub [mouse.active_sys_window.new_box.top], eax
|
sub [mouse.active_sys_window.new_box.top], eax
|
||||||
jmp .call_window_handler
|
jmp .call_window_handler
|
||||||
|
|
||||||
@ -458,14 +458,14 @@ mouse._.move_handler: ;////////////////////////////////////////////////////////
|
|||||||
mov [mouse.active_sys_window.new_box.height], eax
|
mov [mouse.active_sys_window.new_box.height], eax
|
||||||
@@:
|
@@:
|
||||||
add eax, [mouse.active_sys_window.new_box.top]
|
add eax, [mouse.active_sys_window.new_box.top]
|
||||||
cmp eax, [Screen_Max_Y]
|
cmp eax, [_display.height]
|
||||||
jle .check_resize_e
|
jl .check_resize_e
|
||||||
sub eax, [Screen_Max_Y]
|
sub eax, [_display.height]
|
||||||
neg eax
|
neg eax
|
||||||
add [mouse.active_sys_window.new_box.height], eax
|
add [mouse.active_sys_window.new_box.height], eax
|
||||||
mov ecx, [Screen_Max_Y]
|
mov ecx, [_display.height]
|
||||||
cmp ecx, eax
|
cmp ecx, eax
|
||||||
jge .check_resize_e
|
jg .check_resize_e
|
||||||
mov [mouse.active_sys_window.new_box.height], ecx
|
mov [mouse.active_sys_window.new_box.height], ecx
|
||||||
|
|
||||||
.check_resize_e:
|
.check_resize_e:
|
||||||
@ -484,14 +484,14 @@ mouse._.move_handler: ;////////////////////////////////////////////////////////
|
|||||||
mov [mouse.active_sys_window.new_box.width], eax
|
mov [mouse.active_sys_window.new_box.width], eax
|
||||||
@@:
|
@@:
|
||||||
add eax, [mouse.active_sys_window.new_box.left]
|
add eax, [mouse.active_sys_window.new_box.left]
|
||||||
cmp eax, [Screen_Max_X]
|
cmp eax, [_display.width]
|
||||||
jle .call_window_handler
|
jl .call_window_handler
|
||||||
sub eax, [Screen_Max_X]
|
sub eax, [_display.width]
|
||||||
neg eax
|
neg eax
|
||||||
add [mouse.active_sys_window.new_box.width], eax
|
add [mouse.active_sys_window.new_box.width], eax
|
||||||
mov ecx, [Screen_Max_X]
|
mov ecx, [_display.width]
|
||||||
cmp ecx, eax
|
cmp ecx, eax
|
||||||
jge .call_window_handler
|
jg .call_window_handler
|
||||||
mov [mouse.active_sys_window.new_box.width], ecx
|
mov [mouse.active_sys_window.new_box.width], ecx
|
||||||
|
|
||||||
.call_window_handler:
|
.call_window_handler:
|
||||||
|
@ -215,7 +215,8 @@ align 4
|
|||||||
syscall_display_settings.06:
|
syscall_display_settings.06:
|
||||||
xor esi, esi
|
xor esi, esi
|
||||||
|
|
||||||
mov edi, [Screen_Max_X]
|
mov edi, [_display.width]
|
||||||
|
dec edi
|
||||||
mov eax, ecx
|
mov eax, ecx
|
||||||
movsx ebx, ax
|
movsx ebx, ax
|
||||||
sar eax, 16
|
sar eax, 16
|
||||||
@ -239,7 +240,8 @@ align 4
|
|||||||
;--------------------------------------
|
;--------------------------------------
|
||||||
align 4
|
align 4
|
||||||
.check_horizontal:
|
.check_horizontal:
|
||||||
mov edi, [Screen_Max_Y]
|
mov edi, [_display.height]
|
||||||
|
dec edi
|
||||||
mov eax, edx
|
mov eax, edx
|
||||||
movsx ebx, ax
|
movsx ebx, ax
|
||||||
sar eax, 16
|
sar eax, 16
|
||||||
@ -300,8 +302,10 @@ align 4
|
|||||||
syscall_display_settings._.calculate_whole_screen:
|
syscall_display_settings._.calculate_whole_screen:
|
||||||
xor eax, eax
|
xor eax, eax
|
||||||
xor ebx, ebx
|
xor ebx, ebx
|
||||||
mov ecx, [Screen_Max_X]
|
mov ecx, [_display.width]
|
||||||
mov edx, [Screen_Max_Y]
|
mov edx, [_display.height]
|
||||||
|
dec ecx
|
||||||
|
dec edx
|
||||||
jmp calculatescreen
|
jmp calculatescreen
|
||||||
;------------------------------------------------------------------------------
|
;------------------------------------------------------------------------------
|
||||||
align 4
|
align 4
|
||||||
@ -309,9 +313,11 @@ syscall_display_settings._.redraw_whole_screen:
|
|||||||
xor eax, eax
|
xor eax, eax
|
||||||
mov [draw_limits.left], eax
|
mov [draw_limits.left], eax
|
||||||
mov [draw_limits.top], eax
|
mov [draw_limits.top], eax
|
||||||
mov eax, [Screen_Max_X]
|
mov eax, [_display.width]
|
||||||
|
dec eax
|
||||||
mov [draw_limits.right], eax
|
mov [draw_limits.right], eax
|
||||||
mov eax, [Screen_Max_Y]
|
mov eax, [_display.height]
|
||||||
|
dec eax
|
||||||
mov [draw_limits.bottom], eax
|
mov [draw_limits.bottom], eax
|
||||||
mov eax, window_data
|
mov eax, window_data
|
||||||
jmp redrawscreen
|
jmp redrawscreen
|
||||||
@ -590,12 +596,12 @@ align 4
|
|||||||
|
|
||||||
mov eax, [edi + WDATA.box.left]
|
mov eax, [edi + WDATA.box.left]
|
||||||
add eax, [edi + WDATA.box.width]
|
add eax, [edi + WDATA.box.width]
|
||||||
mov ebx, [Screen_Max_X]
|
mov ebx, [_display.width]
|
||||||
cmp eax, ebx
|
cmp eax, ebx
|
||||||
jle .fix_vertical
|
jl .fix_vertical
|
||||||
mov eax, [edi + WDATA.box.width]
|
mov eax, [edi + WDATA.box.width]
|
||||||
sub eax, ebx
|
sub eax, ebx
|
||||||
jle @f
|
jl @f
|
||||||
mov [edi + WDATA.box.width], ebx
|
mov [edi + WDATA.box.width], ebx
|
||||||
;--------------------------------------
|
;--------------------------------------
|
||||||
align 4
|
align 4
|
||||||
@ -607,12 +613,12 @@ align 4
|
|||||||
.fix_vertical:
|
.fix_vertical:
|
||||||
mov eax, [edi + WDATA.box.top]
|
mov eax, [edi + WDATA.box.top]
|
||||||
add eax, [edi + WDATA.box.height]
|
add eax, [edi + WDATA.box.height]
|
||||||
mov ebx, [Screen_Max_Y]
|
mov ebx, [_display.height]
|
||||||
cmp eax, ebx
|
cmp eax, ebx
|
||||||
jle .fix_client_box
|
jl .fix_client_box
|
||||||
mov eax, [edi + WDATA.box.height]
|
mov eax, [edi + WDATA.box.height]
|
||||||
sub eax, ebx
|
sub eax, ebx
|
||||||
jle @f
|
jl @f
|
||||||
mov [edi + WDATA.box.height], ebx
|
mov [edi + WDATA.box.height], ebx
|
||||||
;--------------------------------------
|
;--------------------------------------
|
||||||
align 4
|
align 4
|
||||||
@ -1718,9 +1724,9 @@ window._.check_window_position: ;//////////////////////////////////////////////
|
|||||||
mov ecx, [edi + WDATA.box.width]
|
mov ecx, [edi + WDATA.box.width]
|
||||||
mov edx, [edi + WDATA.box.height]
|
mov edx, [edi + WDATA.box.height]
|
||||||
|
|
||||||
mov esi, [Screen_Max_X]
|
mov esi, [_display.width]
|
||||||
cmp ecx, esi
|
cmp ecx, esi
|
||||||
ja .fix_width_high
|
jae .fix_width_high
|
||||||
;--------------------------------------
|
;--------------------------------------
|
||||||
align 4
|
align 4
|
||||||
.check_left:
|
.check_left:
|
||||||
@ -1728,13 +1734,13 @@ align 4
|
|||||||
jl .fix_left_low
|
jl .fix_left_low
|
||||||
add eax, ecx
|
add eax, ecx
|
||||||
cmp eax, esi
|
cmp eax, esi
|
||||||
jg .fix_left_high
|
jge .fix_left_high
|
||||||
;--------------------------------------
|
;--------------------------------------
|
||||||
align 4
|
align 4
|
||||||
.check_height:
|
.check_height:
|
||||||
mov esi, [Screen_Max_Y]
|
mov esi, [_display.height]
|
||||||
cmp edx, esi
|
cmp edx, esi
|
||||||
ja .fix_height_high
|
jae .fix_height_high
|
||||||
;--------------------------------------
|
;--------------------------------------
|
||||||
align 4
|
align 4
|
||||||
.check_top:
|
.check_top:
|
||||||
@ -1742,7 +1748,7 @@ align 4
|
|||||||
jl .fix_top_low
|
jl .fix_top_low
|
||||||
add ebx, edx
|
add ebx, edx
|
||||||
cmp ebx, esi
|
cmp ebx, esi
|
||||||
jg .fix_top_high
|
jge .fix_top_high
|
||||||
;--------------------------------------
|
;--------------------------------------
|
||||||
align 4
|
align 4
|
||||||
.exit:
|
.exit:
|
||||||
@ -1992,8 +1998,7 @@ align 4
|
|||||||
|
|
||||||
sub ebp, [ff_xsz]
|
sub ebp, [ff_xsz]
|
||||||
add ebp, [ff_x]
|
add ebp, [ff_x]
|
||||||
add ebp, [Screen_Max_X] ; screen.x
|
add ebp, [_display.width] ; screen.x
|
||||||
inc ebp
|
|
||||||
inc ebx
|
inc ebx
|
||||||
cmp ebx, [ff_ysz]
|
cmp ebx, [ff_ysz]
|
||||||
jb .ff_new_y
|
jb .ff_new_y
|
||||||
@ -2030,9 +2035,9 @@ window._.window_activate: ;////////////////////////////////////////////////////
|
|||||||
|
|
||||||
; if type of current active window is 3 or 4, it must be redrawn
|
; if type of current active window is 3 or 4, it must be redrawn
|
||||||
mov ebx, [TASK_COUNT]
|
mov ebx, [TASK_COUNT]
|
||||||
|
|
||||||
; DEBUGF 1, "K : TASK_COUNT (0x%x)\n", ebx
|
; DEBUGF 1, "K : TASK_COUNT (0x%x)\n", ebx
|
||||||
|
|
||||||
movzx ebx, word[WIN_POS + ebx * 2]
|
movzx ebx, word[WIN_POS + ebx * 2]
|
||||||
shl ebx, 5
|
shl ebx, 5
|
||||||
add eax, window_data
|
add eax, window_data
|
||||||
@ -2062,13 +2067,13 @@ align 4
|
|||||||
cmp eax, [TASK_COUNT]
|
cmp eax, [TASK_COUNT]
|
||||||
jae .move_self_up
|
jae .move_self_up
|
||||||
inc eax
|
inc eax
|
||||||
|
|
||||||
; push ebx
|
; push ebx
|
||||||
; xor ebx,ebx
|
; xor ebx,ebx
|
||||||
; mov bx,[WIN_STACK + eax * 2]
|
; mov bx,[WIN_STACK + eax * 2]
|
||||||
; DEBUGF 1, "K : DEC WIN_STACK (0x%x)\n",ebx
|
; DEBUGF 1, "K : DEC WIN_STACK (0x%x)\n",ebx
|
||||||
; pop ebx
|
; pop ebx
|
||||||
|
|
||||||
cmp [WIN_STACK + eax * 2], bx
|
cmp [WIN_STACK + eax * 2], bx
|
||||||
jbe .next_stack_window
|
jbe .next_stack_window
|
||||||
dec word[WIN_STACK + eax * 2]
|
dec word[WIN_STACK + eax * 2]
|
||||||
@ -2156,7 +2161,7 @@ align 4
|
|||||||
mov word[MOUSE_SCROLL_V], 0
|
mov word[MOUSE_SCROLL_V], 0
|
||||||
pop ebx eax
|
pop ebx eax
|
||||||
ret
|
ret
|
||||||
;------------------------------------------------------------------------------
|
;------------------------------------------------------------------------------
|
||||||
align 4
|
align 4
|
||||||
;------------------------------------------------------------------------------
|
;------------------------------------------------------------------------------
|
||||||
window._.check_window_draw: ;//////////////////////////////////////////////////
|
window._.check_window_draw: ;//////////////////////////////////////////////////
|
||||||
|
@ -501,9 +501,10 @@ proc set_mouse_data stdcall uses edx, BtnState:dword, XMoving:dword, YMoving:dwo
|
|||||||
mul edx
|
mul edx
|
||||||
shr eax, 15
|
shr eax, 15
|
||||||
.check_x:
|
.check_x:
|
||||||
cmp ax, word[Screen_Max_X]
|
cmp ax, word[_display.width]
|
||||||
jl .set_x
|
jl .set_x
|
||||||
mov ax, word[Screen_Max_X]
|
mov ax, word[_display.width]
|
||||||
|
dec ax
|
||||||
.set_x:
|
.set_x:
|
||||||
mov [MOUSE_X], ax
|
mov [MOUSE_X], ax
|
||||||
;--------------------------------------
|
;--------------------------------------
|
||||||
@ -522,9 +523,10 @@ proc set_mouse_data stdcall uses edx, BtnState:dword, XMoving:dword, YMoving:dwo
|
|||||||
mul edx
|
mul edx
|
||||||
shr eax, 15
|
shr eax, 15
|
||||||
.check_y:
|
.check_y:
|
||||||
cmp ax, word[Screen_Max_Y]
|
cmp ax, word[_display.height]
|
||||||
jl .set_y
|
jl .set_y
|
||||||
mov ax, word[Screen_Max_Y]
|
mov ax, word[_display.height]
|
||||||
|
dec ax
|
||||||
.set_y:
|
.set_y:
|
||||||
mov [MOUSE_Y], ax
|
mov [MOUSE_Y], ax
|
||||||
;--------------------------------------
|
;--------------------------------------
|
||||||
|
@ -444,13 +444,11 @@ high_code:
|
|||||||
mov [_display.width], eax
|
mov [_display.width], eax
|
||||||
mov [display_width_standard], eax
|
mov [display_width_standard], eax
|
||||||
dec eax
|
dec eax
|
||||||
mov [Screen_Max_X], eax
|
|
||||||
mov [screen_workarea.right], eax
|
mov [screen_workarea.right], eax
|
||||||
movzx eax, word [BOOT_VARS+BOOT_Y_RES]; Y max
|
movzx eax, word [BOOT_VARS+BOOT_Y_RES]; Y max
|
||||||
mov [_display.height], eax
|
mov [_display.height], eax
|
||||||
mov [display_height_standard], eax
|
mov [display_height_standard], eax
|
||||||
dec eax
|
dec eax
|
||||||
mov [Screen_Max_Y], eax
|
|
||||||
mov [screen_workarea.bottom], eax
|
mov [screen_workarea.bottom], eax
|
||||||
movzx eax, word [BOOT_VARS+BOOT_VESA_MODE] ; screen mode
|
movzx eax, word [BOOT_VARS+BOOT_VESA_MODE] ; screen mode
|
||||||
mov dword [SCR_MODE], eax
|
mov dword [SCR_MODE], eax
|
||||||
@ -2406,10 +2404,10 @@ sysfn_centermouse: ; 18.15 = mouse centered
|
|||||||
;* mouse centered - start code- Mario79
|
;* mouse centered - start code- Mario79
|
||||||
;mouse_centered:
|
;mouse_centered:
|
||||||
; push eax
|
; push eax
|
||||||
mov eax, [Screen_Max_X]
|
mov eax, [_display.width]
|
||||||
shr eax, 1
|
shr eax, 1
|
||||||
mov [MOUSE_X], ax
|
mov [MOUSE_X], ax
|
||||||
mov eax, [Screen_Max_Y]
|
mov eax, [_display.height]
|
||||||
shr eax, 1
|
shr eax, 1
|
||||||
mov [MOUSE_Y], ax
|
mov [MOUSE_Y], ax
|
||||||
call wakeup_osloop
|
call wakeup_osloop
|
||||||
@ -2451,11 +2449,11 @@ sysfn_mouse_acceleration: ; 18.19 = set/get mouse features
|
|||||||
; cmp ecx,4 ; set mouse pointer position
|
; cmp ecx,4 ; set mouse pointer position
|
||||||
dec ecx
|
dec ecx
|
||||||
jnz .set_mouse_button
|
jnz .set_mouse_button
|
||||||
cmp dx, word[Screen_Max_Y]
|
cmp dx, word[_display.height]
|
||||||
ja .end
|
jae .end
|
||||||
rol edx, 16
|
rol edx, 16
|
||||||
cmp dx, word[Screen_Max_X]
|
cmp dx, word[_display.width]
|
||||||
ja .end
|
jae .end
|
||||||
mov [MOUSE_X], edx
|
mov [MOUSE_X], edx
|
||||||
mov [mouse_active], 1
|
mov [mouse_active], 1
|
||||||
call wakeup_osloop
|
call wakeup_osloop
|
||||||
@ -2882,8 +2880,10 @@ nosb8:
|
|||||||
jnz nosb9
|
jnz nosb9
|
||||||
; ecx = [left]*65536 + [right]
|
; ecx = [left]*65536 + [right]
|
||||||
; edx = [top]*65536 + [bottom]
|
; edx = [top]*65536 + [bottom]
|
||||||
mov eax, [Screen_Max_X]
|
mov eax, [_display.width]
|
||||||
mov ebx, [Screen_Max_Y]
|
mov ebx, [_display.height]
|
||||||
|
dec eax
|
||||||
|
dec ebx
|
||||||
; check [right]
|
; check [right]
|
||||||
cmp cx, ax
|
cmp cx, ax
|
||||||
ja .exit
|
ja .exit
|
||||||
@ -2935,8 +2935,10 @@ force_redraw_background:
|
|||||||
and [draw_data+32 + RECT.left], 0
|
and [draw_data+32 + RECT.left], 0
|
||||||
and [draw_data+32 + RECT.top], 0
|
and [draw_data+32 + RECT.top], 0
|
||||||
push eax ebx
|
push eax ebx
|
||||||
mov eax, [Screen_Max_X]
|
mov eax, [_display.width]
|
||||||
mov ebx, [Screen_Max_Y]
|
mov ebx, [_display.height]
|
||||||
|
dec eax
|
||||||
|
dec ebx
|
||||||
mov [draw_data+32 + RECT.right], eax
|
mov [draw_data+32 + RECT.right], eax
|
||||||
mov [draw_data+32 + RECT.bottom], ebx
|
mov [draw_data+32 + RECT.bottom], ebx
|
||||||
pop ebx eax
|
pop ebx eax
|
||||||
@ -3298,9 +3300,11 @@ sys_redrawstat:
|
|||||||
add edx, draw_data - CURRENT_TASK
|
add edx, draw_data - CURRENT_TASK
|
||||||
mov [edx + RECT.left], 0
|
mov [edx + RECT.left], 0
|
||||||
mov [edx + RECT.top], 0
|
mov [edx + RECT.top], 0
|
||||||
mov eax, [Screen_Max_X]
|
mov eax, [_display.width]
|
||||||
|
dec eax
|
||||||
mov [edx + RECT.right], eax
|
mov [edx + RECT.right], eax
|
||||||
mov eax, [Screen_Max_Y]
|
mov eax, [_display.height]
|
||||||
|
dec eax
|
||||||
mov [edx + RECT.bottom], eax
|
mov [edx + RECT.bottom], eax
|
||||||
|
|
||||||
srl1:
|
srl1:
|
||||||
@ -4793,9 +4797,9 @@ endg
|
|||||||
jnz @f
|
jnz @f
|
||||||
mov word [msg_board_pos+2], (42*6)
|
mov word [msg_board_pos+2], (42*6)
|
||||||
add word [msg_board_pos], 10
|
add word [msg_board_pos], 10
|
||||||
mov ax, word [Screen_Max_Y]
|
mov ax, word [_display.width]
|
||||||
cmp word [msg_board_pos], ax
|
cmp word [msg_board_pos], ax
|
||||||
jbe @f
|
jb @f
|
||||||
mov word [msg_board_pos], 10
|
mov word [msg_board_pos], 10
|
||||||
@@:
|
@@:
|
||||||
; // end if
|
; // end if
|
||||||
@ -5012,10 +5016,9 @@ sys_gs: ; direct screen access
|
|||||||
|
|
||||||
|
|
||||||
.1: ; resolution
|
.1: ; resolution
|
||||||
mov eax, [Screen_Max_X]
|
mov eax, [_display.width]
|
||||||
shl eax, 16
|
shl eax, 16
|
||||||
mov ax, word [Screen_Max_Y]
|
mov ax, word [_display.height]
|
||||||
add eax, 0x00010001
|
|
||||||
mov [esp+32], eax
|
mov [esp+32], eax
|
||||||
ret
|
ret
|
||||||
.2: ; bits per pixel
|
.2: ; bits per pixel
|
||||||
@ -5100,9 +5103,11 @@ syscall_drawrect: ; DrawRect
|
|||||||
|
|
||||||
align 4
|
align 4
|
||||||
syscall_getscreensize: ; GetScreenSize
|
syscall_getscreensize: ; GetScreenSize
|
||||||
mov ax, word [Screen_Max_X]
|
mov ax, word [_display.width]
|
||||||
|
dec ax
|
||||||
shl eax, 16
|
shl eax, 16
|
||||||
mov ax, word [Screen_Max_Y]
|
mov ax, word [_display.height]
|
||||||
|
dec ax
|
||||||
mov [esp + 32], eax
|
mov [esp + 32], eax
|
||||||
ret
|
ret
|
||||||
;-----------------------------------------------------------------------------
|
;-----------------------------------------------------------------------------
|
||||||
@ -5178,10 +5183,10 @@ syscall_cdaudio:
|
|||||||
;-----------------------------------------------------------------------------
|
;-----------------------------------------------------------------------------
|
||||||
align 4
|
align 4
|
||||||
syscall_getpixel_WinMap: ; GetPixel WinMap
|
syscall_getpixel_WinMap: ; GetPixel WinMap
|
||||||
cmp ebx, [Screen_Max_X]
|
cmp ebx, [_display.width]
|
||||||
jbe @f
|
jb @f
|
||||||
cmp ecx, [Screen_Max_Y]
|
cmp ecx, [_display.height]
|
||||||
jbe @f
|
jb @f
|
||||||
xor eax, eax
|
xor eax, eax
|
||||||
jmp .store
|
jmp .store
|
||||||
;--------------------------------------
|
;--------------------------------------
|
||||||
@ -5198,8 +5203,7 @@ align 4
|
|||||||
;-----------------------------------------------------------------------------
|
;-----------------------------------------------------------------------------
|
||||||
align 4
|
align 4
|
||||||
syscall_getpixel: ; GetPixel
|
syscall_getpixel: ; GetPixel
|
||||||
mov ecx, [Screen_Max_X]
|
mov ecx, [_display.width]
|
||||||
inc ecx
|
|
||||||
xor edx, edx
|
xor edx, edx
|
||||||
mov eax, ebx
|
mov eax, ebx
|
||||||
div ecx
|
div ecx
|
||||||
@ -5444,8 +5448,6 @@ set_screen:
|
|||||||
pushfd
|
pushfd
|
||||||
cli
|
cli
|
||||||
|
|
||||||
mov [Screen_Max_X], eax
|
|
||||||
mov [Screen_Max_Y], edx
|
|
||||||
mov [_display.pitch], ecx
|
mov [_display.pitch], ecx
|
||||||
|
|
||||||
mov [screen_workarea.right], eax
|
mov [screen_workarea.right], eax
|
||||||
@ -5487,8 +5489,10 @@ set_screen:
|
|||||||
call repos_windows
|
call repos_windows
|
||||||
xor eax, eax
|
xor eax, eax
|
||||||
xor ebx, ebx
|
xor ebx, ebx
|
||||||
mov ecx, [Screen_Max_X]
|
mov ecx, [_display.width]
|
||||||
mov edx, [Screen_Max_Y]
|
mov edx, [_display.height]
|
||||||
|
dec ecx
|
||||||
|
dec edx
|
||||||
call calculatescreen
|
call calculatescreen
|
||||||
pop edi
|
pop edi
|
||||||
pop esi
|
pop esi
|
||||||
|
@ -305,7 +305,7 @@ align 4
|
|||||||
align 4
|
align 4
|
||||||
.end:
|
.end:
|
||||||
mov [redrawmouse_unconditional], 1
|
mov [redrawmouse_unconditional], 1
|
||||||
call __sys_draw_pointer
|
call __sys_draw_pointer
|
||||||
ret
|
ret
|
||||||
endp
|
endp
|
||||||
;------------------------------------------------------------------------------
|
;------------------------------------------------------------------------------
|
||||||
@ -656,25 +656,21 @@ proc move_cursor_24 stdcall, hcursor:dword, x:dword, y:dword
|
|||||||
add edx, eax
|
add edx, eax
|
||||||
mov [cur_saved_base], edx
|
mov [cur_saved_base], edx
|
||||||
|
|
||||||
cmp ebx, [Screen_Max_X]
|
cmp ebx, [_display.width]
|
||||||
jbe @F
|
jb @F
|
||||||
mov ebx, [Screen_Max_X]
|
mov ebx, [_display.width]
|
||||||
;--------------------------------------
|
;--------------------------------------
|
||||||
align 4
|
align 4
|
||||||
@@:
|
@@:
|
||||||
cmp edi, [Screen_Max_Y]
|
cmp edi, [_display.height]
|
||||||
jbe @F
|
jb @F
|
||||||
mov edi, [Screen_Max_Y]
|
mov edi, [_display.height]
|
||||||
;--------------------------------------
|
;--------------------------------------
|
||||||
align 4
|
align 4
|
||||||
@@:
|
@@:
|
||||||
mov [cur.right], ebx
|
|
||||||
mov [cur.bottom], edi
|
|
||||||
|
|
||||||
sub ebx, [x]
|
sub ebx, [x]
|
||||||
sub edi, [y]
|
sub edi, [y]
|
||||||
inc ebx
|
|
||||||
inc edi
|
|
||||||
sub ebx, [_dx]
|
sub ebx, [_dx]
|
||||||
sub edi, [_dy]
|
sub edi, [_dy]
|
||||||
|
|
||||||
@ -774,25 +770,20 @@ proc move_cursor_32 stdcall, hcursor:dword, x:dword, y:dword
|
|||||||
lea edx, [LFB_BASE+eax+ecx*4]
|
lea edx, [LFB_BASE+eax+ecx*4]
|
||||||
mov [cur_saved_base], edx
|
mov [cur_saved_base], edx
|
||||||
|
|
||||||
cmp ebx, [Screen_Max_X]
|
cmp ebx, [_display.width]
|
||||||
jbe @F
|
jb @F
|
||||||
mov ebx, [Screen_Max_X]
|
mov ebx, [_display.width]
|
||||||
;--------------------------------------
|
;--------------------------------------
|
||||||
align 4
|
align 4
|
||||||
@@:
|
@@:
|
||||||
cmp edi, [Screen_Max_Y]
|
cmp edi, [_display.height]
|
||||||
jbe @F
|
jb @F
|
||||||
mov edi, [Screen_Max_Y]
|
mov edi, [_display.height]
|
||||||
;--------------------------------------
|
;--------------------------------------
|
||||||
align 4
|
align 4
|
||||||
@@:
|
@@:
|
||||||
mov [cur.right], ebx
|
|
||||||
mov [cur.bottom], edi
|
|
||||||
|
|
||||||
sub ebx, [x]
|
sub ebx, [x]
|
||||||
sub edi, [y]
|
sub edi, [y]
|
||||||
inc ebx
|
|
||||||
inc edi
|
|
||||||
sub ebx, [_dx]
|
sub ebx, [_dx]
|
||||||
sub edi, [_dy]
|
sub edi, [_dy]
|
||||||
|
|
||||||
@ -889,25 +880,20 @@ proc move_cursor_16 stdcall, hcursor:dword, x:dword, y:dword
|
|||||||
lea edx, [LFB_BASE+eax+ecx*2]
|
lea edx, [LFB_BASE+eax+ecx*2]
|
||||||
mov [cur_saved_base], edx
|
mov [cur_saved_base], edx
|
||||||
|
|
||||||
cmp ebx, [Screen_Max_X]
|
cmp ebx, [_display.width]
|
||||||
jbe @F
|
jb @F
|
||||||
mov ebx, [Screen_Max_X]
|
mov ebx, [_display.width]
|
||||||
;--------------------------------------
|
;--------------------------------------
|
||||||
align 4
|
align 4
|
||||||
@@:
|
@@:
|
||||||
cmp edi, [Screen_Max_Y]
|
cmp edi, [_display.height]
|
||||||
jbe @F
|
jb @F
|
||||||
mov edi, [Screen_Max_Y]
|
mov edi, [_display.height]
|
||||||
;--------------------------------------
|
;--------------------------------------
|
||||||
align 4
|
align 4
|
||||||
@@:
|
@@:
|
||||||
mov [cur.right], ebx
|
|
||||||
mov [cur.bottom], edi
|
|
||||||
|
|
||||||
sub ebx, [x]
|
sub ebx, [x]
|
||||||
sub edi, [y]
|
sub edi, [y]
|
||||||
inc ebx
|
|
||||||
inc edi
|
|
||||||
sub ebx, [_dx]
|
sub ebx, [_dx]
|
||||||
sub edi, [_dy]
|
sub edi, [_dy]
|
||||||
|
|
||||||
|
@ -236,8 +236,7 @@ end virtual
|
|||||||
add eax, [putimg.arg_0]
|
add eax, [putimg.arg_0]
|
||||||
mov [putimg.line_increment], eax
|
mov [putimg.line_increment], eax
|
||||||
; winmap new line increment
|
; winmap new line increment
|
||||||
mov eax, [Screen_Max_X]
|
mov eax, [_display.width]
|
||||||
inc eax
|
|
||||||
sub eax, [putimg.real_sx]
|
sub eax, [putimg.real_sx]
|
||||||
mov [putimg.winmap_newline], eax
|
mov [putimg.winmap_newline], eax
|
||||||
; screen new line increment
|
; screen new line increment
|
||||||
@ -876,10 +875,10 @@ align 4
|
|||||||
__sys_putpixel:
|
__sys_putpixel:
|
||||||
|
|
||||||
pushad
|
pushad
|
||||||
cmp [Screen_Max_X], eax
|
cmp eax, [_display.width]
|
||||||
jb .exit
|
jge .exit
|
||||||
cmp [Screen_Max_Y], ebx
|
cmp ebx, [_display.height]
|
||||||
jb .exit
|
jge .exit
|
||||||
test edi, 1 ; force ?
|
test edi, 1 ; force ?
|
||||||
jnz .forced
|
jnz .forced
|
||||||
|
|
||||||
@ -1441,9 +1440,8 @@ end virtual
|
|||||||
.end_y:
|
.end_y:
|
||||||
mov [drbar.real_sy], ebx
|
mov [drbar.real_sy], ebx
|
||||||
; line_inc_map
|
; line_inc_map
|
||||||
mov eax, [Screen_Max_X]
|
mov eax, [_display.width]
|
||||||
sub eax, [drbar.real_sx]
|
sub eax, [drbar.real_sx]
|
||||||
inc eax
|
|
||||||
mov [drbar.line_inc_map], eax
|
mov [drbar.line_inc_map], eax
|
||||||
; line_inc_scr
|
; line_inc_scr
|
||||||
mov eax, [drbar.real_sx]
|
mov eax, [drbar.real_sx]
|
||||||
@ -2149,20 +2147,20 @@ vesa20_drawbackground_stretch:
|
|||||||
mov eax, [BgrDataWidth]
|
mov eax, [BgrDataWidth]
|
||||||
dec eax
|
dec eax
|
||||||
xor edx, edx
|
xor edx, edx
|
||||||
div dword [Screen_Max_X]
|
div dword [screen_workarea.right]
|
||||||
push eax ; high
|
push eax ; high
|
||||||
xor eax, eax
|
xor eax, eax
|
||||||
div dword [Screen_Max_X]
|
div dword [screen_workarea.right]
|
||||||
push eax ; low
|
push eax ; low
|
||||||
|
|
||||||
; the same for height
|
; the same for height
|
||||||
mov eax, [BgrDataHeight]
|
mov eax, [BgrDataHeight]
|
||||||
dec eax
|
dec eax
|
||||||
xor edx, edx
|
xor edx, edx
|
||||||
div dword [Screen_Max_Y]
|
div dword [screen_workarea.bottom]
|
||||||
push eax ; high
|
push eax ; high
|
||||||
xor eax, eax
|
xor eax, eax
|
||||||
div dword [Screen_Max_Y]
|
div dword [screen_workarea.bottom]
|
||||||
push eax ; low
|
push eax ; low
|
||||||
|
|
||||||
; External loop for all y from start to end
|
; External loop for all y from start to end
|
||||||
@ -2323,8 +2321,7 @@ vesa20_drawbackground_stretch:
|
|||||||
; advance edi, ebp to next scan line
|
; advance edi, ebp to next scan line
|
||||||
sub eax, [draw_data+32+RECT.left]
|
sub eax, [draw_data+32+RECT.left]
|
||||||
sub ebp, eax
|
sub ebp, eax
|
||||||
add ebp, [Screen_Max_X]
|
add ebp, [_display.width]
|
||||||
add ebp, 1
|
|
||||||
sub edi, eax
|
sub edi, eax
|
||||||
sub edi, eax
|
sub edi, eax
|
||||||
cmp byte [_display.bytes_per_pixel], 2
|
cmp byte [_display.bytes_per_pixel], 2
|
||||||
@ -2356,8 +2353,7 @@ vesa20_drawbackground_stretch:
|
|||||||
push edi
|
push edi
|
||||||
mov esi, bgr_next_line
|
mov esi, bgr_next_line
|
||||||
mov edi, bgr_cur_line
|
mov edi, bgr_cur_line
|
||||||
mov ecx, [Screen_Max_X]
|
mov ecx, [_display.width]
|
||||||
inc ecx
|
|
||||||
rep movsd
|
rep movsd
|
||||||
jmp bgr_resmooth1
|
jmp bgr_resmooth1
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user