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
|
||
|
;---------------------------------------------------------------------
|