13 "{ Package: 'stx:libview' }" |
13 "{ Package: 'stx:libview' }" |
14 |
14 |
15 Object subclass:#ImageReader |
15 Object subclass:#ImageReader |
16 instanceVariableNames:'width height data byteOrder inStream outStream photometric |
16 instanceVariableNames:'width height data byteOrder inStream outStream photometric |
17 samplesPerPixel bitsPerSample colorMap mask maskPixel |
17 samplesPerPixel bitsPerSample colorMap mask maskPixel |
18 dimensionCallBack imageSequence' |
18 dimensionCallBack dimensionHolder progressHolder imageSequence' |
19 classVariableNames:'ReverseBits' |
19 classVariableNames:'ReverseBits' |
20 poolDictionaries:'' |
20 poolDictionaries:'' |
21 category:'Graphics-Images-Readers' |
21 category:'Graphics-Images-Readers' |
22 ! |
22 ! |
23 |
23 |
1920 ^ data |
1920 ^ data |
1921 |
1921 |
1922 "Modified: 22.4.1996 / 19:15:31 / cg" |
1922 "Modified: 22.4.1996 / 19:15:31 / cg" |
1923 ! |
1923 ! |
1924 |
1924 |
1925 dimensionCallBack:aBlock |
|
1926 "set the block, which is evaluated during the readProcess, as soon as |
|
1927 the images dimension is known. This is useful for background image reading, |
|
1928 if the size is need to be known (for example: for formatting purposes)" |
|
1929 |
|
1930 dimensionCallBack := aBlock |
|
1931 |
|
1932 "Created: 14.9.1996 / 17:10:58 / cg" |
|
1933 ! |
|
1934 |
|
1935 hasMultipleImages |
1925 hasMultipleImages |
1936 ^ imageSequence size > 1 |
1926 ^ imageSequence size > 1 |
1937 |
1927 |
1938 "Created: 4.4.1997 / 21:37:06 / cg" |
1928 "Created: 4.4.1997 / 21:37:06 / cg" |
1939 "Modified: 24.6.1997 / 15:33:43 / cg" |
1929 "Modified: 24.6.1997 / 15:33:43 / cg" |
2232 initialize |
2222 initialize |
2233 |
2223 |
2234 "Created: 18.2.1997 / 17:08:31 / cg" |
2224 "Created: 18.2.1997 / 17:08:31 / cg" |
2235 ! ! |
2225 ! ! |
2236 |
2226 |
|
2227 !ImageReader methodsFor:'progress reporting'! |
|
2228 |
|
2229 dimensionCallBack:aBlock |
|
2230 "set the block, which is evaluated during the readProcess, as soon as |
|
2231 the images dimension is known. This is useful for background image reading, |
|
2232 if the size is need to be known (for example: for formatting purposes). |
|
2233 Obsoleted by dimensionHolder." |
|
2234 |
|
2235 self obsoleteMethodWarning:'use dimensionHolder'. |
|
2236 dimensionCallBack := aBlock |
|
2237 |
|
2238 "Created: 14.9.1996 / 17:10:58 / cg" |
|
2239 ! |
|
2240 |
|
2241 dimensionHolder:aValueHolderOrBlock |
|
2242 "set the valueHolder or block, which is evaluated during the readProcess, |
|
2243 as soon as the images dimension is known. |
|
2244 Useful for background image reading, if the size is need to be known (for example: for formatting purposes)." |
|
2245 |
|
2246 dimensionHolder := aValueHolderOrBlock |
|
2247 ! |
|
2248 |
|
2249 progressHolder:aValueHolderOrBlock |
|
2250 "set the valueHolder or block, which is evaluated during the readProcess, |
|
2251 and set with progress information (0..100 percent). |
|
2252 Useful for user feedback" |
|
2253 |
|
2254 progressHolder := aValueHolderOrBlock |
|
2255 ! |
|
2256 |
|
2257 reportDimension |
|
2258 dimensionCallBack notNil ifTrue:[ |
|
2259 dimensionCallBack value:self |
|
2260 ]. |
|
2261 dimensionHolder notNil ifTrue:[ |
|
2262 dimensionHolder value:(width @ height) |
|
2263 ]. |
|
2264 ! |
|
2265 |
|
2266 reportProgress:percentage |
|
2267 progressHolder notNil ifTrue:[ |
|
2268 progressHolder value:percentage |
|
2269 ]. |
|
2270 ! ! |
|
2271 |
2237 !ImageReader class methodsFor:'documentation'! |
2272 !ImageReader class methodsFor:'documentation'! |
2238 |
2273 |
2239 version |
2274 version |
2240 ^ '$Header: /cvs/stx/stx/libview/ImageReader.st,v 1.83 2003-09-12 11:40:44 cg Exp $' |
2275 ^ '$Header: /cvs/stx/stx/libview/ImageReader.st,v 1.84 2003-11-19 15:27:48 cg Exp $' |
2241 ! ! |
2276 ! ! |