Rev 8236 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 8236 | Rev 9520 | ||
---|---|---|---|
Line 11... | Line 11... | ||
11 | 11 | ||
Line 12... | Line 12... | ||
12 | @use_library mem.Alloc,mem.Free,mem.ReAlloc, 0 ;dll.Load |
12 | @use_library mem.Alloc,mem.Free,mem.ReAlloc, 0 ;dll.Load |
13 | 13 | ||
- | 14 | buf2d_l equ word[edi+4] ;®âáâ㯠᫥¢ |
|
- | 15 | buf2d_t equ word[edi+6] ;®âáâ㯠ᢥàåã |
|
14 | buf2d_l equ word[edi+4] ;®âáâ㯠᫥¢ |
16 | buf2d_w equ dword[edi+8] |
Line 15... | Line 17... | ||
15 | buf2d_t equ word[edi+6] ;®âáâ㯠ᢥàåã |
17 | buf2d_h equ dword[edi+12] |
16 | buf2d_color equ dword[edi+16] ;梥â ä® ¡ãä¥à |
18 | buf2d_color equ dword[edi+16] ;梥â ä® ¡ãä¥à |
17 | 19 | ||
18 | align 4 |
20 | align 4 |
19 | start: |
21 | start: |
Line 20... | Line 22... | ||
20 | load_library lib0_name, library_path, system_path, import_buf2d_lib |
22 | load_library lib0_name, library_path, system_path, import_buf2d_lib |
21 | cmp eax,-1 |
23 | cmp eax,-1 |
22 | jz button.exit |
24 | jz button.exit |
23 | 25 | ||
24 | mcall 40,0x27 |
26 | mcall SF_SET_EVENTS_MASK,0xC0000027 |
25 | stdcall [buf2d_create], buf_0 ;ᮧ¤ ¥¬ ¡ãä¥à |
27 | stdcall [buf2d_create], buf_0 ;ᮧ¤ ¥¬ ¡ãä¥à |
Line 32... | Line 34... | ||
32 | red_win: |
34 | red_win: |
33 | call draw_window |
35 | call draw_window |
Line 34... | Line 36... | ||
34 | 36 | ||
35 | align 4 |
37 | align 4 |
36 | still: |
38 | still: |
37 | mcall 10 |
39 | mcall SF_WAIT_EVENT |
38 | cmp al,1 ;¨§¬¥¨«®áì ¯®«®¦¥¨¥ ®ª |
40 | cmp al,1 ;¨§¬¥¨«®áì ¯®«®¦¥¨¥ ®ª |
39 | jz red_win |
41 | jz red_win |
40 | cmp al,2 |
42 | cmp al,2 |
41 | jz key |
43 | jz key |
Line 46... | Line 48... | ||
46 | jmp still |
48 | jmp still |
Line 47... | Line 49... | ||
47 | 49 | ||
48 | align 4 |
50 | align 4 |
49 | draw_window: |
51 | draw_window: |
50 | pushad |
52 | pushad |
Line 51... | Line 53... | ||
51 | mcall 12,1 |
53 | mcall SF_REDRAW,SSF_BEGIN_DRAW |
52 | 54 | ||
53 | ;mov edx,0x32000000 |
55 | ;mov edx,0x32000000 |
Line 54... | Line 56... | ||
54 | mov edx,0x33000000 |
56 | mov edx,0x33000000 |
Line 55... | Line 57... | ||
55 | mcall 0,(50 shl 16)+330,(30 shl 16)+275,,,caption |
57 | mcall SF_CREATE_WINDOW,(50 shl 16)+330,(30 shl 16)+275,,,caption |
56 | 58 | ||
57 | stdcall [buf2d_draw], buf_0 |
59 | stdcall [buf2d_draw], buf_0 |
Line 58... | Line 60... | ||
58 | 60 | ||
59 | mcall 12,2 |
61 | mcall SF_REDRAW,SSF_END_DRAW |
60 | popad |
62 | popad |
Line 61... | Line 63... | ||
61 | ret |
63 | ret |
62 | 64 | ||
Line 63... | Line 65... | ||
63 | align 4 |
65 | align 4 |
Line 64... | Line 66... | ||
64 | key: |
66 | key: |
65 | mcall 2 |
67 | mcall SF_GET_KEY |
66 | 68 | ||
67 | cmp ah,27 ;Esc |
69 | cmp ah,27 ;Esc |
68 | je button.exit |
70 | je button.exit |
69 | 71 | ||
70 | jmp still |
72 | jmp still |
71 | 73 | ||
Line 72... | Line 74... | ||
72 | align 4 |
74 | align 4 |
73 | button: |
75 | button: |
74 | mcall 17 ;¯®«ãç¨âì ª®¤ ¦ ⮩ ª®¯ª¨ |
76 | mcall SF_GET_BUTTON |
75 | cmp ah,1 |
77 | cmp ah,1 |
76 | jne still |
78 | jne still |
77 | .exit: |
79 | .exit: |
78 | stdcall [buf2d_delete],buf_0 ;㤠«ï¥¬ ¡ãä¥à |
80 | stdcall [buf2d_delete],buf_0 ;㤠«ï¥¬ ¡ãä¥à |
79 | mcall -1 ;¢ë室 ¨§ ¯à®£à ¬¬ë |
81 | mcall SF_TERMINATE_PROCESS |
80 | 82 | ||
81 | align 4 |
83 | align 4 |
82 | mouse: |
84 | mouse: |
83 | ;®¡à ¡ âë¢ ¥¬ ®ª® । ªâ®à |
85 | ;®¡à ¡ âë¢ ¥¬ ®ª® । ªâ®à |
- | 86 | mcall SF_MOUSE_GET,SSF_BUTTON |
|
- | 87 | cmp al,1 |
|
84 | mcall 37,2 ;get mouse buttons |
88 | jne @f |
- | 89 | mcall SF_MOUSE_GET,SSF_WINDOW_POSITION |
|
- | 90 | mov ebx,eax |
|
Line 85... | Line 91... | ||
85 | cmp al,1 |
91 | shr ebx,16 ;¢ eax ª®®à¤¨ â ¬¨è¨ ¯® ®á¨ 'x' |
86 | jne @f |
92 | and eax,0xffff ;¢ eax ª®®à¤¨ â ¬¨è¨ ¯® ®á¨ 'y' |
87 | mcall 37,1 ;get mouse coords |
93 | mov edi,buf_0 |
Line 162... | Line 168... | ||
162 | ;-------------------------------------------------- |
168 | ;-------------------------------------------------- |
163 | system_path db '/sys/lib/' |
169 | system_path db '/sys/lib/' |
164 | lib0_name db 'buf2d.obj',0 |
170 | lib0_name db 'buf2d.obj',0 |
165 | ;-------------------------------------------------- |
171 | ;-------------------------------------------------- |
Line -... | Line 172... | ||
- | 172 | ||
166 | 173 | align 16 |
|
167 | i_end: ;ª®¥æ ª®¤ |
174 | i_end: ;ª®¥æ ª®¤ |
168 | rb 1024 |
175 | rb 1024 |
169 | stacktop: |
176 | stacktop: |
170 | cur_dir_path: |
177 | cur_dir_path: |