Subversion Repositories Kolibri OS

Rev

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: