buf2d examples clean code

git-svn-id: svn://kolibrios.org@9675 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
IgorA
2022-01-28 21:05:17 +00:00
parent 2edd1b82f9
commit fdc6bbf450
6 changed files with 152 additions and 63 deletions

View File

@@ -20,8 +20,8 @@ start:
cmp eax,-1
jz button.exit
mcall 40,0x27
mcall 48,3,sc,sizeof.system_colors ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
mcall SF_SET_EVENTS_MASK, 0x27
mcall SF_STYLE_SETTINGS, SSF_GET_COLORS,sc,sizeof.system_colors ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
stdcall [buf2d_create], buf_0 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
align 4
@@ -30,55 +30,55 @@ red_win:
align 4
still:
mcall 10
cmp al,0x1 ;<3B><><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
mcall SF_WAIT_EVENT
cmp al,1 ;<3B><><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
jz red_win
cmp al,0x2
cmp al,2
jz key
cmp al,0x3
cmp al,3
jz button
cmp al,0x6
cmp al,6
jz mouse
jmp still
align 4
draw_window:
pushad
mcall 12,1
mcall SF_REDRAW, SSF_BEGIN_DRAW
mov edx,[sc.work]
or edx,0x33000000
mcall 0,(50 shl 16)+500,(30 shl 16)+370,,,caption
mcall SF_CREATE_WINDOW, (50 shl 16)+500,(30 shl 16)+370,,,caption
stdcall [buf2d_draw], buf_0
mcall 12,2
mcall SF_REDRAW, SSF_END_DRAW
popad
ret
align 4
key:
mcall 2
mcall SF_GET_KEY
; cmp ah,27 ;Esc
; je button.exit
jmp still
align 4
button:
mcall 17 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
mcall SF_GET_BUTTON
cmp ah,1
jne still
.exit:
stdcall [buf2d_delete],buf_0 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
mcall -1 ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
mcall SF_TERMINATE_PROCESS
align 4
mouse:
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
mcall 37,2 ;get mouse buttons
mcall SF_MOUSE_GET, SSF_BUTTON ;get mouse buttons
cmp al,1
jne @f
mcall 37,1 ;get mouse coords
mcall SF_MOUSE_GET, SSF_WINDOW_POSITION ;get mouse coords
mov ebx,eax
shr ebx,16 ;<3B> eax <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> 'x'
and eax,0xffff ;<3B> eax <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> 'y'
@@ -173,9 +173,6 @@ lib0_name db 'buf2d.obj',0
i_end: ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
rb 2*4096
stacktop:
cur_dir_path:
rb 4096
library_path:
rb 4096
cur_dir_path rb 4096
library_path rb 4096
mem: