/kernel/branches/net/gui/button.inc |
---|
14,21 → 14,16 |
button.MAX_BUTTONS = 4095 |
struc SYS_BUTTON |
{ |
.pslot dw ? |
.id_lo dw ? |
.left dw ? |
.width dw ? |
.top dw ? |
.height dw ? |
.id_hi dw ? |
struct SYS_BUTTON |
pslot dw ? |
id_lo dw ? |
left dw ? |
width dw ? |
top dw ? |
height dw ? |
id_hi dw ? |
dw ? |
.sizeof: |
} |
virtual at 0 |
SYS_BUTTON SYS_BUTTON |
end virtual |
ends |
align 4 |
;------------------------------------------------------------------------------ |
216,18 → 211,18 |
mov edi, [BTN_ADDR] |
mov ebx, [edi] |
inc ebx |
imul esi, ebx, SYS_BUTTON.sizeof |
imul esi, ebx, sizeof.SYS_BUTTON |
add esi, edi |
xor ecx, ecx |
add ecx, -SYS_BUTTON.sizeof |
add esi, SYS_BUTTON.sizeof |
add ecx, -sizeof.SYS_BUTTON |
add esi, sizeof.SYS_BUTTON |
.next_button: |
dec ebx |
jz .exit |
add ecx, SYS_BUTTON.sizeof |
add esi, -SYS_BUTTON.sizeof |
add ecx, sizeof.SYS_BUTTON |
add esi, -sizeof.SYS_BUTTON |
; does it belong to our process? |
mov ax, [CURRENT_TASK] |
244,10 → 239,10 |
; okay, undefine it |
push ebx |
mov ebx, esi |
lea eax, [esi + SYS_BUTTON.sizeof] |
lea eax, [esi + sizeof.SYS_BUTTON] |
call memmove |
dec dword[edi] |
add ecx, -SYS_BUTTON.sizeof |
add ecx, -sizeof.SYS_BUTTON |
pop ebx |
jmp .next_button |
334,16 → 329,16 |
mov edi, [BTN_ADDR] |
mov ecx, [edi] |
imul esi, ecx, SYS_BUTTON.sizeof |
imul esi, ecx, sizeof.SYS_BUTTON |
add esi, edi |
inc ecx |
add esi, SYS_BUTTON.sizeof |
add esi, sizeof.SYS_BUTTON |
.next_button: |
dec ecx |
jz .not_found |
add esi, -SYS_BUTTON.sizeof |
add esi, -sizeof.SYS_BUTTON |
; does it belong to our process? |
cmp dx, [esi + SYS_BUTTON.pslot] |
/kernel/branches/net/gui/event.inc |
---|
25,7 → 25,7 |
; FreeEvents.fd=event_start è FreeEvents.bk=event_end |
align 4 |
init_events: ;; used from kernel.asm |
stdcall kernel_alloc, EV_SPACE*EVENT.size |
stdcall kernel_alloc, EV_SPACE*sizeof.EVENT |
or eax, eax |
jz .fail |
; eax - current event, ebx - previos event below |
36,7 → 36,7 |
mov [ebx+EVENT.fd], eax |
mov [eax+EVENT.bk], ebx |
mov ebx, eax ; previos <- current |
add eax, EVENT.size ; new current |
add eax, sizeof.EVENT ; new current |
loop @b |
pop eax ; âîò îíî êîíöîì è ñòàëî |
mov [ebx+EVENT.fd], eax |
100,7 → 100,7 |
or esi, esi |
jz RemoveEventTo |
lea edi, [eax+EVENT.code] |
mov ecx, EVENT.codesize/4 |
mov ecx, (sizeof.EVENT -EVENT.code)/4 |
cld |
rep movsd |
155,7 → 155,7 |
or esi, esi |
jz @f |
lea edi, [ebx+EVENT.code] |
mov ecx, EVENT.codesize/4 |
mov ecx, (sizeof.EVENT -EVENT.code)/4 |
cld |
rep movsd |
@@: |
299,10 → 299,10 |
mov edx, get_event_queue ; wait_test |
call Wait_events ; timeout ignored |
lea esi, [eax+EVENT.code] |
mov ecx, EVENT.codesize/4 |
mov ecx, (sizeof.EVENT-EVENT.code)/4 |
cld |
rep movsd |
mov [edi-EVENT.codesize+2], cl;clear priority field |
mov byte[edi-(sizeof.EVENT-EVENT.code)+2], cl;clear priority field |
wait_finish: |
test byte[eax+EVENT.state+3], MANUAL_RESET shr 24 |
jnz get_event_queue.ret ; RET |
/kernel/branches/net/gui/mouse.inc |
---|
568,16 → 568,16 |
; check if any process button contains cursor |
mov eax, [BTN_ADDR] |
mov ecx, [eax] |
imul esi, ecx, SYS_BUTTON.sizeof |
imul esi, ecx, sizeof.SYS_BUTTON |
add esi, eax |
inc ecx |
add esi, SYS_BUTTON.sizeof |
add esi, sizeof.SYS_BUTTON |
.next_button: |
dec ecx |
jz .not_found |
add esi, -SYS_BUTTON.sizeof |
add esi, -sizeof.SYS_BUTTON |
; does it belong to our process? |
cmp dx, [esi + SYS_BUTTON.pslot] |