Subversion Repositories Kolibri OS

Rev

Rev 6879 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 6879 Rev 6906
Line 1... Line 1...
1
;
1
;
2
; Œ ªà®á ¤«ï § £à㧪¨ ¨§®¡à ¦¥­¨© ç१ ä㭪樨 ¡¨¡«¨®â¥ª¨ libimg.
2
; Œ ªà®áë ¤«ï ¤¥ª®¤¨à®¢ ­¨ï ¨§®¡à ¦¥­¨© ç१ ä㭪樨 ¡¨¡«¨®â¥ª¨ libimg.
-
 
3
;
3
; „¥©áâ¢¨ï ª®â®àë¥ ¤¥« ¥â ¬ ªà®á load_image_file:
4
; (1) ¬ ªà®á load_image_file:
4
;
5
;
5
; à®¢¥àï¥â à §¬¥à ¯®«ã祭­®£® ä ©«  á ¨§®¡à ¦¥­¨¥¬.
6
; à®¢¥àï¥â à §¬¥à ¯®«ã祭­®£® ä ©«  á ¨§®¡à ¦¥­¨¥¬.
6
; ‚뤥«ï¥â ¯®¤ ­¥£® ¯ ¬ïâì ¨ § £à㦠¥â â㤠 ä ©«.
7
; ‚뤥«ï¥â ¯®¤ ­¥£® ¯ ¬ïâì ¨ § £à㦠¥â â㤠 ä ©«.
7
; Ž¯à¥¤¥«ï¥â à §¬¥à ¯ ¬ï⨠­¥®¡å®¤¨¬®© ¤«ï à á¯ ª®¢ª¨ ¨§®¡à ¦¥­¨ï.
8
; Ž¯à¥¤¥«ï¥â à §¬¥à ¯ ¬ï⨠­¥®¡å®¤¨¬®© ¤«ï à á¯ ª®¢ª¨ ¨§®¡à ¦¥­¨ï.
8
; ¥à¥¢ë¤¥«ï¥â ¯ ¬ïâì, ¨ à á¯ ª®¢ë¢ ¥â ¨§®¡à ¦¥­¨¥ ¨§ ä®à¬ â®¢ jpg, png, ...
9
; ¥à¥¢ë¤¥«ï¥â ¯ ¬ïâì, ¨ à á¯ ª®¢ë¢ ¥â ¨§®¡à ¦¥­¨¥ ¨§ ä®à¬ â®¢ jpg, png, ...
Line 11... Line 12...
11
;    ¨å ¤ «ì­¥©è¥£® ¨á¯®«ì§®¢ ­¨ï ¢ ¯à®£à ¬¬¥.
12
;    ¨å ¤ «ì­¥©è¥£® ¨á¯®«ì§®¢ ­¨ï ¢ ¯à®£à ¬¬¥.
12
;
13
;
13
; ‚ ¨á¯®«ì§ãî饩 ¯à®£à ¬¬¥ ¤®«¦­  ¡ëâì ¯®¤ª«î祭  ¡¨¡«¨®â¥ª  libimg,
14
; ‚ ¨á¯®«ì§ãî饩 ¯à®£à ¬¬¥ ¤®«¦­  ¡ëâì ¯®¤ª«î祭  ¡¨¡«¨®â¥ª  libimg,
14
;    ®¡ê¥­  ¯¥à¥¬¥­­ ï file_name à §¬¥à®¬ ®ª®«® 4096 ¡ ©â,
15
;    ®¡ê¥­  ¯¥à¥¬¥­­ ï file_name à §¬¥à®¬ ®ª®«® 4096 ¡ ©â,
15
;      â ª¦¥ áâàãªâãà  run_file_70 ⨯  FileInfoBlock.
16
;      â ª¦¥ áâàãªâãà  run_file_70 ⨯  FileInfoBlock.
-
 
17
;
-
 
18
; (2) ¬ ªà®á include_image_file:
-
 
19
;
-
 
20
; ‚­¥¤àï¥â ¨§®¡à ¦¥­¨¥ ¢ ä ©« ¯à®£à ¬¬ë.
-
 
21
; Ž¯à¥¤¥«ï¥â à §¬¥à ¯ ¬ï⨠­¥®¡å®¤¨¬®© ¤«ï à á¯ ª®¢ª¨ ¨§®¡à ¦¥­¨ï.
-
 
22
; ‚뤥«ï¥â ¯ ¬ïâì, ¨ à á¯ ª®¢ë¢ ¥â ¨§®¡à ¦¥­¨¥ ¨§ ä®à¬ â®¢ jpg, png, ...
-
 
23
;    ¢ ä®à¬ â rgb ª®â®àë© ¬®¦­® ¢ë¢®¤¨âì ­  íªà ­ ç¥à¥§ á¨áâ. äã­ªæ¨î.
-
 
24
; à¨ ­¥®¡å®¤¨¬®á⨠¬®¦­® â ª¦¥ ¯®«ãç¨âì à §¬¥àë ¢­¥¤à¥­­®£® ¨§®¡à ¦¥­¨ï ¤«ï
-
 
25
;    ¨å ¤ «ì­¥©è¥£® ¨á¯®«ì§®¢ ­¨ï ¢ ¯à®£à ¬¬¥.
Line 16... Line 26...
16
 
26
 
17
; ¯®¤ª«î祭¨¥ ­¥ª®â®àëå ­¥®¡å®¤¨¬ëå ä ©«®¢:
27
; ¯®¤ª«î祭¨¥ ­¥ª®â®àëå ­¥®¡å®¤¨¬ëå ä ©«®¢:
18
include 'dll.inc'
28
include 'dll.inc'
19
include 'develop/libraries/box_lib/load_lib.mac'
29
include 'develop/libraries/box_lib/load_lib.mac'
Line 124... Line 134...
124
			mov dword[txt_err_img_file.f+4],eax
134
		mov dword[txt_err_img_file.f+4],eax
125
			mov byte[txt_err_img_file.f+7],0
135
		mov byte[txt_err_img_file.f+7],0
126
			notify_window_run txt_err_img_file
136
		notify_window_run txt_err_img_file
127
        .end_open:
137
	.end_open:
128
}
138
}
-
 
139
 
-
 
140
 
-
 
141
 
-
 
142
; path - ¨¬ï ¢ª«îç ¥¬®£® ä ©« 
-
 
143
; buf - ¯¥à¥¬¥­­ ï ªã¤  ¡ã¤¥â § ¯¨á ­ 㪠§ â¥«ì ­  ¨§®¡à ¦¥­¨¥ ¢ ä®à¬ â¥ rgb
-
 
144
; img_w, img_h - ¯¥à¥¬¥­­ë¥ ªã¤  ¡ã¤ãâ § ¯¨á ­ë à §¬¥àë ¨§®¡à ¦¥­¨ï,
-
 
145
;    ­¥ ®¡ï§ â¥«ì­ë¥ ¯ à ¬¥âàë
-
 
146
; bytes_p_p - ᪮«ìª® ¡ ©â ¯ ¬ï⨠¡à âì ­  ¯¨ªá¥«ì, ­¥ ®¡ï§ â¥«ì­ë© ¯ à ¬¥âà
-
 
147
;    ¥á«¨ ­¥ 㪠§ ­ ¡¥à¥âáï 3. Œ¨­¨¬ «ì­®¥ §­ ç¥­¨¥ ¤®«¦­® ¡ëâì ­¥ ¬¥­ìè¥ 3.
-
 
148
macro include_image_file path, buf, img_w, img_h, bytes_p_p
-
 
149
{
-
 
150
local .beg_file
-
 
151
local .end_file
-
 
152
 
-
 
153
jmp .end_file
-
 
154
align 4
-
 
155
.beg_file:
-
 
156
	file path
-
 
157
.end_file:
-
 
158
 
-
 
159
	;®¯à¥¤¥«ï¥¬ ¢¨¤ ¨§®¡à ¦¥­¨ï ¨ ¯¨è¥¬ ¥£® ¯ à ¬¥âàë
-
 
160
	stdcall [img_decode], .beg_file,.end_file-.beg_file,0
-
 
161
	mov ebx,eax
-
 
162
	;®¯à¥¤¥«ï¥¬ à §¬¥à ¤¥ª®¤¨à®¢ ­­®£® ¨§®¡à ¦¥­¨ï
-
 
163
	mov ecx,[eax+4] ;+4 = image width
-
 
164
if img_w eq
-
 
165
else
-
 
166
	mov dword[img_w],ecx
-
 
167
end if
-
 
168
if img_h eq
-
 
169
	imul ecx,[eax+8] ;+8 = image height
-
 
170
else
-
 
171
	mov eax,[eax+8] ;+8 = image height
-
 
172
	mov dword[img_h],eax
-
 
173
	imul ecx,eax
-
 
174
end if
-
 
175
if bytes_p_p eq
-
 
176
	imul ecx,3 ;need for r,g,b
-
 
177
else
-
 
178
	imul ecx,bytes_p_p
-
 
179
end if
-
 
180
	stdcall mem.Alloc,ecx ;¨§¬¥­ï¥¬ à §¬¥à ¤«ï ¡ãä¥à 
-
 
181
	mov [buf],eax
-
 
182
	stdcall [img_to_rgb2], ebx,[buf] ;¯à¥®¡à §ã¥¬ ¨§®¡à ¦¥­¨¥ ª ä®à¬ âã rgb
-
 
183
	stdcall [img_destroy], ebx ;㤠«ï¥¬ ¢à¥¬¥­­ë© ¡ãä¥à á ¯ à ¬¥âà ¬¨ ¨§®¡à ¦¥­¨ï
-
 
184
}
129
185