ImageReader.st
changeset 3955 6f48b9693fe5
parent 3933 10147dc53aef
child 3957 ffe8a76fae45
equal deleted inserted replaced
3954:192ecfed736f 3955:6f48b9693fe5
    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 ! !