Subversion Repositories Kolibri OS

Rev

Rev 3014 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3014 Rev 8236
1
use32
1
use32
2
	org 0x0
2
	org 0
3
	db 'MENUET01' ;¨¤¥­â¨ä. ¨á¯®«­ï¥¬®£® ä ©«  ¢á¥£¤  8 ¡ ©â
-
 
4
	dd 0x1
3
	db 'MENUET01'
5
	dd start
-
 
6
	dd i_end ;à §¬¥à ¯à¨«®¦¥­¨ï
4
	dd 1,start,i_end,mem,stacktop,0,cur_dir_path
7
	dd mem,stacktop
-
 
8
	dd 0,sys_path
-
 
-
 
5
 
9
 
6
include '../../../../../KOSfuncs.inc'
10
include '../../../../../macros.inc'
7
include '../../../../../macros.inc'
11
include '../../../../../proc32.inc'
8
include '../../../../../proc32.inc'
12
include '../../../../../develop/libraries/box_lib/load_lib.mac'
9
include '../../../../../load_lib.mac'
13
include '../../../../../dll.inc'
10
include '../../../../../dll.inc'
14
 
11
 
15
@use_library_mem mem.Alloc,mem.Free,mem.ReAlloc, dll.Load
12
@use_library mem.Alloc,mem.Free,mem.ReAlloc, dll.Load
16
 
13
 
17
struct FileInfoBlock
14
struct FileInfoBlock
18
	Function dd ?
15
	Function dd ?
19
	Position dd ?
16
	Position dd ?
20
	Flags	 dd ?
17
	Flags	 dd ?
21
	Count	 dd ?
18
	Count	 dd ?
22
	Buffer	 dd ?
19
	Buffer	 dd ?
23
		db ?
20
		db ?
24
	FileName dd ?
21
	FileName dd ?
25
ends
22
ends
26
 
23
 
27
IMAGE_FILE0_SIZE equ 640*480*3 ;à §¬¥à ä ©«  á ¨§®¡à ¦¥­¨¥¬ 640 x 480
24
IMAGE_FILE0_SIZE equ 640*480*3 ;à §¬¥à ä ©«  á ¨§®¡à ¦¥­¨¥¬ 640 x 480
28
IMAGE_FILE1_SIZE equ 200*186*3 ;à §¬¥à ä ©«  á ¨§®¡à ¦¥­¨¥¬ 200 x 100
25
IMAGE_FILE1_SIZE equ 200*186*3 ;à §¬¥à ä ©«  á ¨§®¡à ¦¥­¨¥¬ 200 x 100
29
fn_foto db 'foto.jpg',0
26
fn_foto db 'foto.jpg',0
30
 
27
 
31
macro load_image_file path,buf,size { ;¬ ªà®á ¤«ï § £à㧪¨ ¨§®¡à ¦¥­¨©
28
macro load_image_file path,buf,size { ;¬ ªà®á ¤«ï § £à㧪¨ ¨§®¡à ¦¥­¨©
32
	;path - ¬®¦¥â ¡ëâì ¯¥à¥¬¥­­®© ¨«¨ áâப®¢ë¬ ¯ à ¬¥â஬
29
	;path - ¬®¦¥â ¡ëâì ¯¥à¥¬¥­­®© ¨«¨ áâப®¢ë¬ ¯ à ¬¥â஬
33
	if path eqtype '' ;¯à®¢¥à塞 § ¤ ­ «¨ áâப®© ¯ à ¬¥âà path
30
	if path eqtype '' ;¯à®¢¥à塞 § ¤ ­ «¨ áâப®© ¯ à ¬¥âà path
34
		jmp @f
31
		jmp @f
35
			local .path_str
32
			local .path_str
36
			.path_str db path ;ä®à¬¨à㥬 «®ª «ì­ãî ¯¥à¥¬¥­­ãî
33
			.path_str db path ;ä®à¬¨à㥬 «®ª «ì­ãî ¯¥à¥¬¥­­ãî
37
			db 0
34
			db 0
38
		@@:
35
		@@:
39
		;32 - áâ ­¤ àâ­ë©  ¤à¥á ¯® ª®â®à®¬ã ¤®«¦¥­ ¡ëâì ¡ãä¥à á á¨á⥬­ë¬ ¯ã⥬
36
		;32 - áâ ­¤ àâ­ë©  ¤à¥á ¯® ª®â®à®¬ã ¤®«¦¥­ ¡ëâì ¡ãä¥à á á¨á⥬­ë¬ ¯ã⥬
40
		copy_path .path_str,[32],file_name,0x0
37
		copy_path .path_str,[32],file_name,0x0
41
	else
38
	else
42
		copy_path path,[32],file_name,0x0 ;ä®à¬¨à㥬 ¯®«­ë© ¯ãâì ª ä ©«ã ¨§®¡à ¦¥­¨ï, ¯®¤à §ã¬¥¢ ¥¬ çâ® ®­ ¢ ®¤­®© ¯ ¯ª¥ á ¯à®£à ¬¬®©
39
		copy_path path,[32],file_name,0x0 ;ä®à¬¨à㥬 ¯®«­ë© ¯ãâì ª ä ©«ã ¨§®¡à ¦¥­¨ï, ¯®¤à §ã¬¥¢ ¥¬ çâ® ®­ ¢ ®¤­®© ¯ ¯ª¥ á ¯à®£à ¬¬®©
43
	end if
40
	end if
44
 
41
 
45
	stdcall mem.Alloc, dword size ;¢ë¤¥«ï¥¬ ¯ ¬ïâì ¤«ï ¨§®¡à ¦¥­¨ï
42
	stdcall mem.Alloc, dword size ;¢ë¤¥«ï¥¬ ¯ ¬ïâì ¤«ï ¨§®¡à ¦¥­¨ï
46
	mov [buf],eax
43
	mov [buf],eax
47
 
44
 
48
	mov eax,70 ;70-ï äã­ªæ¨ï à ¡®â  á ä ©« ¬¨
45
	mov eax,70 ;70-ï äã­ªæ¨ï à ¡®â  á ä ©« ¬¨
49
	mov [run_file_70.Function], 0
46
	mov [run_file_70.Function], 0
50
	mov [run_file_70.Position], 0
47
	mov [run_file_70.Position], 0
51
	mov [run_file_70.Flags], 0
48
	mov [run_file_70.Flags], 0
52
	mov [run_file_70.Count], dword size
49
	mov [run_file_70.Count], dword size
53
	m2m [run_file_70.Buffer], [buf]
50
	m2m [run_file_70.Buffer], [buf]
54
	mov byte[run_file_70+20], 0
51
	mov byte[run_file_70+20], 0
55
	mov [run_file_70.FileName], file_name
52
	mov [run_file_70.FileName], file_name
56
	mov ebx,run_file_70
53
	mov ebx,run_file_70
57
	int 0x40 ;§ £à㦠¥¬ ä ©« ¨§®¡à ¦¥­¨ï
54
	int 0x40 ;§ £à㦠¥¬ ä ©« ¨§®¡à ¦¥­¨ï
58
	cmp ebx,0xffffffff
55
	cmp ebx,0xffffffff
59
	je @f
56
	je @f
60
		;®¯à¥¤¥«ï¥¬ ¢¨¤ ¨§®¡à ¦¥­¨ï ¨ ¯¥à¥¢®¤¨¬ ¥£® ¢® ¢à¥¬¥­­ë© ¡ãä¥à image_data
57
		;®¯à¥¤¥«ï¥¬ ¢¨¤ ¨§®¡à ¦¥­¨ï ¨ ¯¥à¥¢®¤¨¬ ¥£® ¢® ¢à¥¬¥­­ë© ¡ãä¥à image_data
61
		stdcall dword[img_decode], dword[buf],ebx,0
58
		stdcall [img_decode], [buf],ebx,0
62
		mov dword[image_data],eax
59
		mov [image_data],eax
63
		;¯à¥®¡à §ã¥¬ ¨§®¡à ¦¥­¨¥ ª ä®à¬ âã rgb
60
		;¯à¥®¡à §ã¥¬ ¨§®¡à ¦¥­¨¥ ª ä®à¬ âã rgb
64
		stdcall dword[img_to_rgb2], dword[image_data],dword[buf]
61
		stdcall [img_to_rgb2], [image_data],[buf]
65
		;㤠«ï¥¬ ¢à¥¬¥­­ë© ¡ãä¥à image_data
62
		;㤠«ï¥¬ ¢à¥¬¥­­ë© ¡ãä¥à image_data
66
		stdcall dword[img_destroy], dword[image_data]
63
		stdcall [img_destroy], [image_data]
67
	@@:
64
	@@:
68
}
65
}
69
 
66
 
70
align 4
67
align 4
71
start:
68
start:
72
	load_libraries l_libs_start,load_lib_end
69
	load_libraries l_libs_start,load_lib_end
73
 
70
 
74
	;¯à®¢¥àª  ­  ᪮«ìª® 㤠筮 § £ã§¨« áì ­ è  «¨¡ 
71
	;¯à®¢¥àª  ­  ᪮«ìª® 㤠筮 § £ã§¨« áì ­ è  «¨¡ 
75
	mov	ebp,lib0
72
	mov	ebp,lib0
76
	cmp	dword [ebp+ll_struc_size-4],0
73
	cmp	dword [ebp+ll_struc_size-4],0
77
	jz	@f
74
	jz	@f
78
		mcall -1 ;exit not correct
75
		mcall -1 ;exit not correct
79
	@@:
76
	@@:
80
	mov	ebp,lib1
77
	mov	ebp,lib1
81
	cmp	dword [ebp+ll_struc_size-4],0
78
	cmp	dword [ebp+ll_struc_size-4],0
82
	jz	@f
79
	jz	@f
83
		mcall -1 ;exit not correct
80
		mcall -1 ;exit not correct
84
	@@:
81
	@@:
85
 
82
 
86
	mcall 40,0x27
83
	mcall 40,0x27
87
	mcall 48,3,sc,sizeof.system_colors ;¯®«ãç ¥¬ á¨á⥬­ë¥ 梥â 
84
	mcall 48,3,sc,sizeof.system_colors ;¯®«ãç ¥¬ á¨á⥬­ë¥ 梥â 
88
 
85
 
89
	load_image_file fn_foto, image_data_foto,IMAGE_FILE0_SIZE
86
	load_image_file fn_foto, image_data_foto,IMAGE_FILE0_SIZE
90
	stdcall [buf2d_create_f_img], buf_0,[image_data_foto] ;ᮧ¤ ¥¬ ¡ãä¥à
87
	stdcall [buf2d_create_f_img], buf_0,[image_data_foto] ;ᮧ¤ ¥¬ ¡ãä¥à
91
	stdcall mem.Free,[image_data_foto] ;®á¢®¡®¦¤ ¥¬ ¯ ¬ïâì
88
	stdcall mem.Free,[image_data_foto] ;®á¢®¡®¦¤ ¥¬ ¯ ¬ïâì
92
 
89
 
93
	load_image_file 'img0.png',image_data_gray,IMAGE_FILE1_SIZE
90
	load_image_file 'img0.png',image_data_gray,IMAGE_FILE1_SIZE
94
	stdcall [buf2d_create_f_img], buf_1,[image_data_gray] ;ᮧ¤ ¥¬ ¡ãä¥à
91
	stdcall [buf2d_create_f_img], buf_1,[image_data_gray] ;ᮧ¤ ¥¬ ¡ãä¥à
95
	stdcall mem.Free,[image_data_gray] ;®á¢®¡®¦¤ ¥¬ ¯ ¬ïâì
92
	stdcall mem.Free,[image_data_gray] ;®á¢®¡®¦¤ ¥¬ ¯ ¬ïâì
96
 
93
 
97
	load_image_file 'img1.png',image_data_rgb, IMAGE_FILE1_SIZE
94
	load_image_file 'img1.png',image_data_rgb, IMAGE_FILE1_SIZE
98
	stdcall [buf2d_create_f_img], buf_2,[image_data_rgb] ;ᮧ¤ ¥¬ ¡ãä¥à
95
	stdcall [buf2d_create_f_img], buf_2,[image_data_rgb] ;ᮧ¤ ¥¬ ¡ãä¥à
99
	stdcall mem.Free,[image_data_rgb] ;®á¢®¡®¦¤ ¥¬ ¯ ¬ïâì
96
	stdcall mem.Free,[image_data_rgb] ;®á¢®¡®¦¤ ¥¬ ¯ ¬ïâì
100
 
97
 
101
	stdcall [buf2d_conv_24_to_8], buf_1,1 ;¤¥« ¥¬ ¡ãä¥à ¯à®§à ç­®á⨠8¡¨â
98
	stdcall [buf2d_conv_24_to_8], buf_1,1 ;¤¥« ¥¬ ¡ãä¥à ¯à®§à ç­®á⨠8¡¨â
102
	stdcall [buf2d_conv_24_to_32],buf_2,buf_1 ;¤¥« ¥¬ ¡ãä¥à rgba 32¡¨â
99
	stdcall [buf2d_conv_24_to_32],buf_2,buf_1 ;¤¥« ¥¬ ¡ãä¥à rgba 32¡¨â
103
 
100
 
104
	stdcall [buf2d_bit_blt], buf_0, 10,170, buf_2 ;à¨á㥬 ¨§®¡à ¦¥­¨¥ ­  ä®â®£à ä¨¨
101
	stdcall [buf2d_bit_blt], buf_0, 10,170, buf_2 ;à¨á㥬 ¨§®¡à ¦¥­¨¥ ­  ä®â®£à ä¨¨
105
	stdcall [buf2d_bit_blt_transp], buf_0, 210,270, buf_2 ;à¨á㥬 ¯à®§à ç­®¥ ¨§®¡à ¦¥­¨¥ ­  ä®â®£à ä¨¨
102
	stdcall [buf2d_bit_blt_transp], buf_0, 210,270, buf_2 ;à¨á㥬 ¯à®§à ç­®¥ ¨§®¡à ¦¥­¨¥ ­  ä®â®£à ä¨¨
106
	stdcall [buf2d_bit_blt_alpha], buf_0, 410,170, buf_1,0xff8080 ;à¨á㥬 ª®­âãàë ¨§®¡à ¦¥­¨ï ­  ä®â®£à ä¨¨
103
	stdcall [buf2d_bit_blt_alpha], buf_0, 410,170, buf_1,0xff8080 ;à¨á㥬 ª®­âãàë ¨§®¡à ¦¥­¨ï ­  ä®â®£à ä¨¨
107
 
104
 
108
align 4
105
align 4
109
red_win:
106
red_win:
110
	call draw_window
107
	call draw_window
111
 
108
 
112
align 4
109
align 4
113
still: ;£« ¢­ë© 横«
110
still: ;£« ¢­ë© 横«
114
	mcall 10
111
	mcall 10
115
 
112
 
116
	cmp al,0x1 ;¨§¬¥­¨«®áì ¯®«®¦¥­¨¥ ®ª­ 
113
	cmp al,0x1 ;¨§¬¥­¨«®áì ¯®«®¦¥­¨¥ ®ª­ 
117
	jz red_win
114
	jz red_win
118
	cmp al,0x2
115
	cmp al,0x2
119
	jz key
116
	jz key
120
	cmp al,0x3
117
	cmp al,0x3
121
	jz button
118
	jz button
122
 
119
 
123
	jmp still
120
	jmp still
124
 
121
 
125
align 4
122
align 4
126
key:
123
key:
127
	push eax ebx
124
	push eax ebx
128
	mcall 2
125
	mcall 2
129
;...
126
;...
130
	pop ebx eax
127
	pop ebx eax
131
	jmp still
128
	jmp still
132
 
129
 
133
 
130
 
134
align 4
131
align 4
135
draw_window:
132
draw_window:
136
	pushad
133
	pushad
137
	mcall 12,1
134
	mcall 12,1
138
 
135
 
139
	mov edx,[sc.work]
136
	mov edx,[sc.work]
140
	or  edx,0x33000000
137
	or  edx,0x33000000
141
	mcall 0,(20 shl 16)+670,(20 shl 16)+520,,,caption ;ᮧ¤ ­¨¥ ®ª­ 
138
	mcall 0,(20 shl 16)+670,(20 shl 16)+520,,,caption ;ᮧ¤ ­¨¥ ®ª­ 
142
 
139
 
143
	stdcall [buf2d_draw], buf_0
140
	stdcall [buf2d_draw], buf_0
144
	
141
	
145
	mcall 12,2
142
	mcall 12,2
146
	popad
143
	popad
147
	ret
144
	ret
148
 
-
 
149
head_f_i:
-
 
150
head_f_l  db '‘¨á⥬­ ï ®è¨¡ª ',0
145
 
151
 
146
 
152
system_dir0 db '/sys/lib/'
147
system_dir0 db '/sys/lib/'
153
name_buf2d db 'buf2d.obj',0
148
name_buf2d db 'buf2d.obj',0
154
err_message_found_lib0 db '¥ 㤠«®áì ­ ©â¨ ¡¨¡«¨®â¥ªã buf2d.obj',0
-
 
155
err_message_import0 db 'Žè¨¡ª  ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ buf2d.obj',0
-
 
156
 
149
 
157
system_dir1 db '/sys/lib/'
150
system_dir1 db '/sys/lib/'
158
name_libimg db 'libimg.obj',0
151
name_libimg db 'libimg.obj',0
159
err_message_found_lib1 db '¥ 㤠«®áì ­ ©â¨ ¡¨¡«¨®â¥ªã libimg.obj',0
-
 
160
err_message_import1 db 'Žè¨¡ª  ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ libimg.obj',0
-
 
161
 
152
 
162
;library structures
153
;library structures
163
l_libs_start:
154
l_libs_start:
164
	lib0 l_libs name_buf2d,  sys_path, file_name, system_dir0, err_message_found_lib0, head_f_l, import_buf2d_lib, err_message_import0, head_f_i
155
	lib0 l_libs name_buf2d,  file_name, system_dir0, import_buf2d_lib
165
	lib1 l_libs name_libimg, sys_path, file_name, system_dir1, err_message_found_lib1, head_f_l, import_libimg, err_message_import1, head_f_i
156
	lib1 l_libs name_libimg, file_name, system_dir1, import_libimg
166
load_lib_end:
157
load_lib_end:
167
 
158
 
168
align 4
159
align 4
169
button:
160
button:
170
	mcall 17 ;¯®«ãç¨âì ª®¤ ­ ¦ â®© ª­®¯ª¨
161
	mcall 17 ;¯®«ãç¨âì ª®¤ ­ ¦ â®© ª­®¯ª¨
171
	cmp ah,1
162
	cmp ah,1
172
	jne still
163
	jne still
173
.exit:
164
.exit:
174
	stdcall [buf2d_delete],buf_0 ;㤠«ï¥¬ ¡ãä¥à
165
	stdcall [buf2d_delete],buf_0 ;㤠«ï¥¬ ¡ãä¥à
175
	stdcall [buf2d_delete],buf_1 ;㤠«ï¥¬ ¡ãä¥à
166
	stdcall [buf2d_delete],buf_1 ;㤠«ï¥¬ ¡ãä¥à
176
	stdcall [buf2d_delete],buf_2 ;㤠«ï¥¬ ¡ãä¥à
167
	stdcall [buf2d_delete],buf_2 ;㤠«ï¥¬ ¡ãä¥à
177
	mcall -1 ;¢ë室 ¨§ ¯à®£à ¬¬ë
168
	mcall -1 ;¢ë室 ¨§ ¯à®£à ¬¬ë
178
 
169
 
179
image_data dd 0 ;¯ ¬ïâì ¤«ï ¯à¥®¡à §®¢ ­¨ï ª à⨭ª¨ äã­ªæ¨ï¬¨ libimg
170
image_data dd 0 ;¯ ¬ïâì ¤«ï ¯à¥®¡à §®¢ ­¨ï ª à⨭ª¨ äã­ªæ¨ï¬¨ libimg
180
image_data_gray dd 0 ;¯ ¬ïâì á ¯à¥®¡à §®¢ ­­ë¬ ¨§®¡à ¦¥­¨¥¬ ¢ ä®à¬ â¥ 8-bit
171
image_data_gray dd 0 ;¯ ¬ïâì á ¯à¥®¡à §®¢ ­­ë¬ ¨§®¡à ¦¥­¨¥¬ ¢ ä®à¬ â¥ 8-bit
181
image_data_rgb dd 0 ;¯ ¬ïâì á ¯à¥®¡à §®¢ ­­ë¬ ¨§®¡à ¦¥­¨¥¬ ¢ ä®à¬ â¥ rgb
172
image_data_rgb dd 0 ;¯ ¬ïâì á ¯à¥®¡à §®¢ ­­ë¬ ¨§®¡à ¦¥­¨¥¬ ¢ ä®à¬ â¥ rgb
182
image_data_foto dd 0
173
image_data_foto dd 0
183
 
174
 
184
run_file_70 FileInfoBlock
175
run_file_70 FileInfoBlock
185
caption db 'Draw images 13.09.11',0 ;¯®¤¯¨áì ®ª­ 
176
caption db 'Draw images 13.09.11',0 ;¯®¤¯¨áì ®ª­ 
186
sc system_colors  ;á¨á⥬­ë¥ 梥â 
177
sc system_colors  ;á¨á⥬­ë¥ 梥â 
187
 
178
 
188
align 4
179
align 4
189
buf_0:
180
buf_0:
190
	dd 0 ;㪠§ â¥«ì ­  ¡ãä¥à ¨§®¡à ¦¥­¨ï
181
	dd 0 ;㪠§ â¥«ì ­  ¡ãä¥à ¨§®¡à ¦¥­¨ï
191
	dw 5 ;+4 left
182
	dw 5 ;+4 left
192
	dw 5 ;+6 top
183
	dw 5 ;+6 top
193
	dd 640 ;+8 w
184
	dd 640 ;+8 w
194
	dd 480 ;+12 h
185
	dd 480 ;+12 h
195
	dd 0xffffff ;+16 color
186
	dd 0xffffff ;+16 color
196
	db 24 ;+20 bit in pixel
187
	db 24 ;+20 bit in pixel
197
 
188
 
198
align 4
189
align 4
199
buf_1:
190
buf_1:
200
	dd 0 ;㪠§ â¥«ì ­  ¡ãä¥à ¨§®¡à ¦¥­¨ï
191
	dd 0 ;㪠§ â¥«ì ­  ¡ãä¥à ¨§®¡à ¦¥­¨ï
201
	dw 25 ;+4 left
192
	dw 25 ;+4 left
202
	dw 25 ;+6 top
193
	dw 25 ;+6 top
203
	dd 200 ;+8 w
194
	dd 200 ;+8 w
204
	dd 186 ;+12 h
195
	dd 186 ;+12 h
205
	dd 0 ;+16 color
196
	dd 0 ;+16 color
206
	db 24 ;+20 bit in pixel
197
	db 24 ;+20 bit in pixel
207
 
198
 
208
align 4
199
align 4
209
buf_2:
200
buf_2:
210
	dd 0 ;㪠§ â¥«ì ­  ¡ãä¥à ¨§®¡à ¦¥­¨ï
201
	dd 0 ;㪠§ â¥«ì ­  ¡ãä¥à ¨§®¡à ¦¥­¨ï
211
	dw 235 ;+4 left
202
	dw 235 ;+4 left
212
	dw 25 ;+6 top
203
	dw 25 ;+6 top
213
	dd 200 ;+8 w
204
	dd 200 ;+8 w
214
	dd 186 ;+12 h
205
	dd 186 ;+12 h
215
	dd 0 ;+16 color
206
	dd 0 ;+16 color
216
	db 24 ;+20 bit in pixel
207
	db 24 ;+20 bit in pixel
217
 
208
 
218
align 4
209
align 4
219
import_libimg:
210
import_libimg:
220
	dd alib_init1
211
	dd alib_init1
221
	img_is_img  dd aimg_is_img
212
	img_is_img  dd aimg_is_img
222
	img_info    dd aimg_info
213
	img_info    dd aimg_info
223
	img_from_file dd aimg_from_file
214
	img_from_file dd aimg_from_file
224
	img_to_file dd aimg_to_file
215
	img_to_file dd aimg_to_file
225
	img_from_rgb dd aimg_from_rgb
216
	img_from_rgb dd aimg_from_rgb
226
	img_to_rgb  dd aimg_to_rgb
217
	img_to_rgb  dd aimg_to_rgb
227
	img_to_rgb2 dd aimg_to_rgb2
218
	img_to_rgb2 dd aimg_to_rgb2
228
	img_decode  dd aimg_decode
219
	img_decode  dd aimg_decode
229
	img_encode  dd aimg_encode
220
	img_encode  dd aimg_encode
230
	img_create  dd aimg_create
221
	img_create  dd aimg_create
231
	img_destroy dd aimg_destroy
222
	img_destroy dd aimg_destroy
232
	img_destroy_layer dd aimg_destroy_layer
223
	img_destroy_layer dd aimg_destroy_layer
233
	img_count   dd aimg_count
224
	img_count   dd aimg_count
234
	img_lock_bits dd aimg_lock_bits
225
	img_lock_bits dd aimg_lock_bits
235
	img_unlock_bits dd aimg_unlock_bits
226
	img_unlock_bits dd aimg_unlock_bits
236
	img_flip    dd aimg_flip
227
	img_flip    dd aimg_flip
237
	img_flip_layer dd aimg_flip_layer
228
	img_flip_layer dd aimg_flip_layer
238
	img_rotate  dd aimg_rotate
229
	img_rotate  dd aimg_rotate
239
	img_rotate_layer dd aimg_rotate_layer
230
	img_rotate_layer dd aimg_rotate_layer
240
	img_draw    dd aimg_draw
231
	img_draw    dd aimg_draw
241
 
232
 
242
	dd 0,0
233
	dd 0,0
243
	alib_init1   db 'lib_init',0
234
	alib_init1   db 'lib_init',0
244
	aimg_is_img  db 'img_is_img',0 ;®¯à¥¤¥«ï¥â ¯® ¤ ­­ë¬, ¬®¦¥â «¨ ¡¨¡«¨®â¥ª  ᤥ« âì ¨§ ­¨å ¨§®¡à ¦¥­¨¥
235
	aimg_is_img  db 'img_is_img',0 ;®¯à¥¤¥«ï¥â ¯® ¤ ­­ë¬, ¬®¦¥â «¨ ¡¨¡«¨®â¥ª  ᤥ« âì ¨§ ­¨å ¨§®¡à ¦¥­¨¥
245
	aimg_info    db 'img_info',0
236
	aimg_info    db 'img_info',0
246
	aimg_from_file db 'img_from_file',0
237
	aimg_from_file db 'img_from_file',0
247
	aimg_to_file db 'img_to_file',0
238
	aimg_to_file db 'img_to_file',0
248
	aimg_from_rgb db 'img_from_rgb',0
239
	aimg_from_rgb db 'img_from_rgb',0
249
	aimg_to_rgb  db 'img_to_rgb',0 ;¯à¥®¡à §®¢ ­¨¥ ¨§®¡à ¦¥­¨ï ¢ ¤ ­­ë¥ RGB
240
	aimg_to_rgb  db 'img_to_rgb',0 ;¯à¥®¡à §®¢ ­¨¥ ¨§®¡à ¦¥­¨ï ¢ ¤ ­­ë¥ RGB
250
	aimg_to_rgb2 db 'img_to_rgb2',0
241
	aimg_to_rgb2 db 'img_to_rgb2',0
251
	aimg_decode  db 'img_decode',0 ; ¢â®¬ â¨ç¥áª¨ ®¯à¥¤¥«ï¥â ä®à¬ â £à ä¨ç¥áª¨å ¤ ­­ëå
242
	aimg_decode  db 'img_decode',0 ; ¢â®¬ â¨ç¥áª¨ ®¯à¥¤¥«ï¥â ä®à¬ â £à ä¨ç¥áª¨å ¤ ­­ëå
252
	aimg_encode  db 'img_encode',0
243
	aimg_encode  db 'img_encode',0
253
	aimg_create  db 'img_create',0
244
	aimg_create  db 'img_create',0
254
	aimg_destroy db 'img_destroy',0
245
	aimg_destroy db 'img_destroy',0
255
	aimg_destroy_layer db 'img_destroy_layer',0
246
	aimg_destroy_layer db 'img_destroy_layer',0
256
	aimg_count   db 'img_count',0
247
	aimg_count   db 'img_count',0
257
	aimg_lock_bits db 'img_lock_bits',0
248
	aimg_lock_bits db 'img_lock_bits',0
258
	aimg_unlock_bits db 'img_unlock_bits',0
249
	aimg_unlock_bits db 'img_unlock_bits',0
259
	aimg_flip    db 'img_flip',0
250
	aimg_flip    db 'img_flip',0
260
	aimg_flip_layer db 'img_flip_layer',0
251
	aimg_flip_layer db 'img_flip_layer',0
261
	aimg_rotate  db 'img_rotate',0
252
	aimg_rotate  db 'img_rotate',0
262
	aimg_rotate_layer db 'img_rotate_layer',0
253
	aimg_rotate_layer db 'img_rotate_layer',0
263
	aimg_draw    db 'img_draw',0
254
	aimg_draw    db 'img_draw',0
264
 
255
 
265
align 4
256
align 4
266
import_buf2d_lib:
257
import_buf2d_lib:
267
	dd sz_lib_init
258
	dd sz_lib_init
268
	buf2d_create dd sz_buf2d_create
259
	buf2d_create dd sz_buf2d_create
269
	buf2d_create_f_img dd sz_buf2d_create_f_img
260
	buf2d_create_f_img dd sz_buf2d_create_f_img
270
	buf2d_clear dd sz_buf2d_clear
261
	buf2d_clear dd sz_buf2d_clear
271
	buf2d_draw dd sz_buf2d_draw
262
	buf2d_draw dd sz_buf2d_draw
272
	buf2d_delete dd sz_buf2d_delete
263
	buf2d_delete dd sz_buf2d_delete
273
	buf2d_line dd sz_buf2d_line
264
	buf2d_line dd sz_buf2d_line
274
	buf2d_circle dd sz_buf2d_circle
265
	buf2d_circle dd sz_buf2d_circle
275
	buf2d_img_hdiv2 dd sz_buf2d_img_hdiv2
266
	buf2d_img_hdiv2 dd sz_buf2d_img_hdiv2
276
	buf2d_img_wdiv2 dd sz_buf2d_img_wdiv2
267
	buf2d_img_wdiv2 dd sz_buf2d_img_wdiv2
277
	buf2d_conv_24_to_8 dd sz_buf2d_conv_24_to_8
268
	buf2d_conv_24_to_8 dd sz_buf2d_conv_24_to_8
278
	buf2d_conv_24_to_32 dd sz_buf2d_conv_24_to_32
269
	buf2d_conv_24_to_32 dd sz_buf2d_conv_24_to_32
279
	buf2d_bit_blt dd sz_buf2d_bit_blt
270
	buf2d_bit_blt dd sz_buf2d_bit_blt
280
	buf2d_bit_blt_transp dd sz_buf2d_bit_blt_transp
271
	buf2d_bit_blt_transp dd sz_buf2d_bit_blt_transp
281
	buf2d_bit_blt_alpha dd sz_buf2d_bit_blt_alpha
272
	buf2d_bit_blt_alpha dd sz_buf2d_bit_blt_alpha
282
	buf2d_curve_bezier dd sz_buf2d_curve_bezier
273
	buf2d_curve_bezier dd sz_buf2d_curve_bezier
283
	buf2d_convert_text_matrix dd sz_buf2d_convert_text_matrix
274
	buf2d_convert_text_matrix dd sz_buf2d_convert_text_matrix
284
	buf2d_draw_text dd sz_buf2d_draw_text
275
	buf2d_draw_text dd sz_buf2d_draw_text
285
	dd 0,0
276
	dd 0,0
286
	sz_lib_init db 'lib_init',0
277
	sz_lib_init db 'lib_init',0
287
	sz_buf2d_create db 'buf2d_create',0
278
	sz_buf2d_create db 'buf2d_create',0
288
	sz_buf2d_create_f_img db 'buf2d_create_f_img',0
279
	sz_buf2d_create_f_img db 'buf2d_create_f_img',0
289
	sz_buf2d_clear db 'buf2d_clear',0
280
	sz_buf2d_clear db 'buf2d_clear',0
290
	sz_buf2d_draw db 'buf2d_draw',0
281
	sz_buf2d_draw db 'buf2d_draw',0
291
	sz_buf2d_delete db 'buf2d_delete',0
282
	sz_buf2d_delete db 'buf2d_delete',0
292
	sz_buf2d_line db 'buf2d_line',0
283
	sz_buf2d_line db 'buf2d_line',0
293
	sz_buf2d_circle db 'buf2d_circle',0 ;à¨á®¢ ­¨¥ ®ªà㦭®áâ¨
284
	sz_buf2d_circle db 'buf2d_circle',0 ;à¨á®¢ ­¨¥ ®ªà㦭®áâ¨
294
	sz_buf2d_img_hdiv2 db 'buf2d_img_hdiv2',0
285
	sz_buf2d_img_hdiv2 db 'buf2d_img_hdiv2',0
295
	sz_buf2d_img_wdiv2 db 'buf2d_img_wdiv2',0
286
	sz_buf2d_img_wdiv2 db 'buf2d_img_wdiv2',0
296
	sz_buf2d_conv_24_to_8 db 'buf2d_conv_24_to_8',0
287
	sz_buf2d_conv_24_to_8 db 'buf2d_conv_24_to_8',0
297
	sz_buf2d_conv_24_to_32 db 'buf2d_conv_24_to_32',0
288
	sz_buf2d_conv_24_to_32 db 'buf2d_conv_24_to_32',0
298
	sz_buf2d_bit_blt db 'buf2d_bit_blt',0
289
	sz_buf2d_bit_blt db 'buf2d_bit_blt',0
299
	sz_buf2d_bit_blt_transp db 'buf2d_bit_blt_transp',0
290
	sz_buf2d_bit_blt_transp db 'buf2d_bit_blt_transp',0
300
	sz_buf2d_bit_blt_alpha db 'buf2d_bit_blt_alpha',0
291
	sz_buf2d_bit_blt_alpha db 'buf2d_bit_blt_alpha',0
301
	sz_buf2d_curve_bezier db 'buf2d_curve_bezier',0
292
	sz_buf2d_curve_bezier db 'buf2d_curve_bezier',0
302
	sz_buf2d_convert_text_matrix db 'buf2d_convert_text_matrix',0
293
	sz_buf2d_convert_text_matrix db 'buf2d_convert_text_matrix',0
303
	sz_buf2d_draw_text db 'buf2d_draw_text',0
294
	sz_buf2d_draw_text db 'buf2d_draw_text',0
304
 
295
 
305
i_end:
296
i_end:
306
	rb 1024
297
	rb 1024
307
stacktop:
298
stacktop:
308
	sys_path rb 4096
299
	sys_path rb 4096
309
	file_name:
300
	file_name:
310
		rb 4096
301
		rb 4096
311
	plugin_path:
302
	plugin_path:
312
		rb 4096
303
		rb 4096
313
	openfile_path:
304
	openfile_path:
314
		rb 4096
305
		rb 4096
315
	filename_area:
306
	filename_area:
316
		rb 256
307
		rb 256
317
mem:
308
mem: