forked from KolibriOS/kolibrios
51a64dc292
git-svn-id: svn://kolibrios.org@1101 a494cfbc-eb01-0410-851d-a64ba20cac60
89 lines
1.7 KiB
PHP
89 lines
1.7 KiB
PHP
;---------------------------------------------------------------------
|
|
thread3:
|
|
|
|
call draw_window3
|
|
|
|
still3:
|
|
|
|
mov eax,10 ; wait here for event
|
|
mcall
|
|
|
|
cmp eax,1 ; redraw request ?
|
|
je thread3
|
|
cmp eax,2 ; key in buffer ?
|
|
je key3
|
|
cmp eax,3 ; button in buffer ?
|
|
je button3
|
|
|
|
jmp still3
|
|
|
|
key3:
|
|
mcall
|
|
cmp ah,27
|
|
je close3
|
|
jmp still3
|
|
|
|
|
|
button3: ; button
|
|
mov eax,17 ; get id
|
|
mcall
|
|
|
|
cmp ah,1 ; button id=1 ?
|
|
je close3
|
|
cmp ah,2
|
|
jne noclose3
|
|
close3:
|
|
mov eax,-1 ; close this program
|
|
mcall
|
|
noclose3:
|
|
jmp still3
|
|
|
|
|
|
|
|
|
|
; *********************************************
|
|
; ******* WINDOW DEFINITIONS AND DRAW ********
|
|
; *********************************************
|
|
|
|
|
|
draw_window3:
|
|
|
|
|
|
mov eax,12 ; function 12:tell os about windowdraw
|
|
mov ebx,1 ; 1, start of draw
|
|
mcall
|
|
|
|
; DRAW WINDOW
|
|
xor eax,eax ; function 0 : define and draw window
|
|
mov ebx,100*65536+200 ; [x start] *65536 + [x size]
|
|
mov ecx,100*65536+100 ; [y start] *65536 + [y size]
|
|
mov edx,0x03eeeeee ; color of work area RRGGBB,8->color gl
|
|
mcall
|
|
|
|
mcall 4,<10,40>,0x80000000,header_1
|
|
|
|
mov ebx,70*65536+40
|
|
mov ecx,70*65536+20
|
|
mov edx,2
|
|
mov esi,0xdddddd
|
|
mcall 8
|
|
|
|
add ebx,15 shl 16
|
|
shr ecx,16
|
|
mov bx,cx
|
|
add ebx,6
|
|
|
|
mov ecx,0
|
|
mov edx, ok_btn
|
|
mov esi,2
|
|
mcall 4
|
|
|
|
; WINDOW LABEL
|
|
mcall 71,1, labelt3
|
|
|
|
mov eax,12 ; function 12:tell os about windowdraw
|
|
mov ebx,2 ; 2, end of draw
|
|
mcall
|
|
|
|
ret
|
|
;--------------------------------------------------------------------- |