/kernel/trunk/video/blitter.inc |
---|
212,10 → 212,11 |
sub esp, .local_vars_size |
mov [esp+.flags], ebx |
mov eax, [TASK_BASE] |
mov ebx, [eax-twdw + WDATA.box.width] |
mov edx, [eax-twdw + WDATA.box.height] |
mov eax, [current_slot_idx] |
shl eax, 5 ; sizeof.WDATA |
mov ebx, [eax + window_data + WDATA.box.width] |
mov edx, [eax + window_data + WDATA.box.height] |
inc ebx |
inc edx |
259,12 → 260,13 |
call blit_clip |
jc .L57 |
mov eax, [TASK_BASE] |
mov eax, [current_slot_idx] |
shl eax, 5 ; sizeof.WDATA |
mov ebx, [esp+BLITTER.dst_x] |
mov ebp, [esp+BLITTER.dst_y] |
add ebx, [eax-twdw + WDATA.box.left] |
add ebp, [eax-twdw + WDATA.box.top] |
add ebx, [eax + window_data + WDATA.box.left] |
add ebp, [eax + window_data + WDATA.box.top] |
test [esp+.flags], BLIT_CLIENT_RELATIVE |
jz .no_client_relative |
/kernel/trunk/video/cursors.inc |
---|
423,8 → 423,10 |
push edi |
mov eax, [current_slot_idx] |
shl eax, 5 |
mov eax, [TASK_TABLE+eax+4] |
;shl eax, 5 |
;mov eax, [TASK_TABLE+eax+TASKDATA.pid] |
shl eax, 8 |
mov eax, [eax + SLOT_BASE + APPDATA.tid] |
mov ebx, [src] |
mov ecx, [flags] |
call create_cursor ;eax, ebx, ecx |
460,8 → 462,10 |
jne .fail |
mov ebx, [current_slot_idx] |
shl ebx, 5 |
mov ebx, [TASK_TABLE+ebx+4] |
;shl ebx, 5 |
;mov ebx, [TASK_TABLE+ebx+4] |
shl ebx, 8 |
mov ebx, [ebx + SLOT_BASE + APPDATA.tid] |
cmp ebx, [esi+CURSOR.pid] |
jne .fail |
/kernel/trunk/video/vesa12.inc |
---|
398,9 → 398,13 |
push ebx |
push ecx |
push edx |
mov ecx, [TASK_BASE] |
add eax, [ecx-twdw+WDATA.box.left] |
add ebx, [ecx-twdw+WDATA.box.top] |
;mov ecx, [TASK_BASE] |
;add eax, [ecx-twdw+WDATA.box.left] |
;add ebx, [ecx-twdw+WDATA.box.top] |
mov ecx, [current_slot_idx] |
shl ecx, 5 |
add eax, [ecx + window_data + WDATA.box.left] |
add ebx, [ecx + window_data + WDATA.box.top] |
push eax |
mov eax, ebx ; y |
mov ebx, [BytesPerScanLine] |
765,9 → 769,13 |
push edx |
movzx eax, word [esp+2] |
movzx ebx, word [esp+0] |
mov ecx, [TASK_BASE] |
add eax, [ecx-twdw+WDATA.box.left] |
add ebx, [ecx-twdw+WDATA.box.top] |
;mov ecx, [TASK_BASE] |
;add eax, [ecx-twdw+WDATA.box.left] |
;add ebx, [ecx-twdw+WDATA.box.top] |
mov ecx, [current_slot_idx] |
shl ecx, 5 |
add eax, [ecx + window_data + WDATA.box.left] |
add ebx, [ecx + window_data + WDATA.box.top] |
push eax |
mov eax, ebx ; y |
mul dword [BytesPerScanLine] |
/kernel/trunk/video/vesa20.inc |
---|
189,15 → 189,17 |
mov [putimg.image_cx], eax |
mov [putimg.image_cy], edx |
; calculate absolute (i.e. screen) coordinates |
mov eax, [TASK_BASE] |
mov ebx, [eax-twdw + WDATA.box.left] |
;mov eax, [TASK_BASE] |
mov eax, [current_slot_idx] |
shl eax, 5 ; sizeof.WDATA |
mov ebx, [eax + window_data + WDATA.box.left] |
add ebx, [putimg.image_cx] |
mov [putimg.abs_cx], ebx |
mov ebx, [eax-twdw + WDATA.box.top] |
mov ebx, [eax +window_data + WDATA.box.top] |
add ebx, [putimg.image_cy] |
mov [putimg.abs_cy], ebx |
; real_sx = MIN(wnd_sx-image_cx, image_sx); |
mov ebx, [eax-twdw + WDATA.box.width] ; ebx = wnd_sx |
mov ebx, [eax + window_data + WDATA.box.width] ; ebx = wnd_sx |
inc ebx ; WDATA.box.width is one pixel less than real window x-size |
sub ebx, [putimg.image_cx] |
ja @f |
212,7 → 214,7 |
.end_x: |
mov [putimg.real_sx], ebx |
; init real_sy |
mov ebx, [eax-twdw + WDATA.box.height] ; ebx = wnd_sy |
mov ebx, [eax + window_data + WDATA.box.height] ; ebx = wnd_sy |
inc ebx |
sub ebx, [putimg.image_cy] |
ja @f |
1401,13 → 1403,15 |
mov [drbar.bar_sx], ecx |
mov [drbar.bar_cx], eax |
mov [drbar.bar_cy], ebx |
mov edi, [TASK_BASE] |
add eax, [edi-twdw + WDATA.box.left] ; win_cx |
add ebx, [edi-twdw + WDATA.box.top] ; win_cy |
;mov edi, [TASK_BASE] |
mov edi, [current_slot_idx] |
shl edi, 5 ; sizeof.WDATA |
add eax, [edi + window_data + WDATA.box.left] ; win_cx |
add ebx, [edi + window_data + WDATA.box.top] ; win_cy |
mov [drbar.abs_cx], eax |
mov [drbar.abs_cy], ebx |
; real_sx = MIN(wnd_sx-bar_cx, bar_sx); |
mov ebx, [edi-twdw + WDATA.box.width] ; ebx = wnd_sx |
mov ebx, [edi + window_data + WDATA.box.width] ; ebx = wnd_sx |
inc ebx ; WDATA.box.width is one pixel less than real window x-size |
sub ebx, [drbar.bar_cx] |
ja @f |
1424,7 → 1428,7 |
.end_x: |
mov [drbar.real_sx], ebx |
; real_sy = MIN(wnd_sy-bar_cy, bar_sy); |
mov ebx, [edi-twdw + WDATA.box.height] ; ebx = wnd_sy |
mov ebx, [edi + window_data + WDATA.box.height] ; ebx = wnd_sy |
inc ebx |
sub ebx, [drbar.bar_cy] |
ja @f |