/kernel/trunk/gui/button.inc |
---|
172,12 → 172,13 |
sys_button: |
push edi |
mov edi,[current_slot] |
mov edi,[CURRENT_TASK] |
shl edi,8 |
rol eax,16 |
add ax,word[edi+APPDATA.wnd_clientbox.left] |
add ax,word[edi+SLOT_BASE+APPDATA.wnd_clientbox.left] |
rol eax,16 |
rol ebx,16 |
add bx,word[edi+APPDATA.wnd_clientbox.top] |
add bx,word[edi+SLOT_BASE+APPDATA.wnd_clientbox.top] |
rol ebx,16 |
pop edi |
.forced: |
/kernel/trunk/gui/event.inc |
---|
121,8 → 121,9 |
cld |
rep movsd |
@@: |
mov ecx, [current_slot] |
add ecx, APP_OBJ_OFFSET |
mov ecx, [CURRENT_TASK] |
shl ecx,8 |
add ecx, SLOT_BASE+APP_OBJ_OFFSET |
pushfd |
cli |
223,11 → 224,12 |
proc get_event_ex stdcall, p_ev:dword, timeout:dword |
.wait: |
mov edx,[current_slot] |
mov edx,[CURRENT_TASK] |
shl edx,8 |
; cmp [SLOT_BASE+edx+APPDATA.ev_count], 0 |
; je .switch |
add edx, APP_EV_OFFSET |
add edx, SLOT_BASE+APP_EV_OFFSET |
mov eax, [edx+APPOBJ.fd] |
cmp eax, edx |
305,7 → 307,9 |
test [eax+EVENT.state], MANUAL_RESET |
jnz .done |
mov edx,[current_slot] |
mov edx,[CURRENT_TASK] |
shl edx,8 |
add edx, SLOT_BASE |
pushfd |
cli ;remove event from events |
574,20 → 578,21 |
no_eventoccur3: |
;mov edi,[TASK_BASE] ; mouse event |
test [edi+TASKDATA.event_mask],dword 00100000b |
jz no_mouse_event |
mov eax, [CURRENT_TASK] |
shl eax, 8 |
test [eax+SLOT_BASE+APPDATA.event_mask],dword 00100000b |
jz no_mouse_event |
and [eax+SLOT_BASE+APPDATA.event_mask],dword (not 00100000b) |
and [eax+SLOT_BASE+APPDATA.event_mask],dword 0xffffffff-00100000b |
popad |
mov eax,6 |
ret |
no_mouse_event: |
;mov edi,[TASK_BASE] ; DESKTOP BACKGROUND REDRAW |
test [edi+TASKDATA.event_mask],dword 16 |
jz no_eventoccur5 |
611,6 → 616,7 |
ret |
no_ipc: |
;mov edi,[TASK_BASE] ; STACK |
test [edi+TASKDATA.event_mask],dword 10000000b |
jz no_stack_event |
/kernel/trunk/gui/skincode.inc |
---|
16,9 → 16,35 |
mov ebx,1 |
or ecx,-1 |
mov esi,12 |
call fileread |
; call fileread |
pushad |
push eax |
sub edx,std_application_base_address |
mov [skin_to_load.adr],edx |
;sub eax,std_application_base_address |
;mov [skin_to_load.stradr],eax |
mov [skin_to_load.stradr],_skin_file_default - std_application_base_address |
mov eax,skin_to_load - std_application_base_address |
call file_system_lfn |
;call fileread |
pop eax |
popad |
ret |
ret |
skin_to_load: |
dd 0,0,0 |
dd 64*1024 |
.adr dd 0 |
db 0 |
.stradr dd 0 |
struct SKIN_HEADER |
.ident dd ? |
.version dd ? |
/kernel/trunk/gui/skindata.inc |
---|
11,7 → 11,7 |
; |
iglobal |
_skin_file_default db 'DEFAULT SKN',0 |
_skin_file_default db '/rd/1/DEFAULT.SKN',0 |
endg |
struct SKIN_DATA |
/kernel/trunk/gui/window.inc |
---|
1781,14 → 1781,17 |
test eax, eax |
jne rsw_no_address |
mov eax,[current_slot] |
mov [eax+APPDATA.wnd_shape],ebx |
mov eax,[CURRENT_TASK] |
shl eax,8 |
mov [eax+SLOT_BASE+APPDATA.wnd_shape],ebx |
rsw_no_address: |
cmp eax,1 |
jne rsw_no_scale |
mov eax,[current_slot] |
mov byte [eax+APPDATA.wnd_shape_scale], bl |
mov eax,[CURRENT_TASK] |
shl eax,8 |
mov byte [eax+SLOT_BASE+APPDATA.wnd_shape_scale], bl |
rsw_no_scale: |
ret |