home *** CD-ROM | disk | FTP | other *** search
/ NeXTSTEP 3.0 / NeXTSTEP3.0.iso / NextDeveloper / Headers / appkit / NXBitmapImageRep.h < prev    next >
Text File  |  1992-07-10  |  4KB  |  93 lines

  1. /*
  2.     NXBitmapImageRep.h
  3.     Application Kit, Release 2.0
  4.     Copyright (c) 1988, 1989, 1990, NeXT, Inc.  All rights reserved. 
  5. */
  6.  
  7. #import "NXImageRep.h"
  8. #import <objc/List.h>
  9. #import "graphics.h"
  10. #import <streams/streams.h>
  11. #import <objc/zone.h>
  12.  
  13. @interface NXBitmapImageRep : NXImageRep
  14. {
  15.     unsigned int        _bytesPerRow;
  16.     unsigned short      _imageNumber;
  17.     short        _colorSpace;
  18.     struct __bitmapRepFlags {
  19.     unsigned int isPlanar:1;
  20.     unsigned int explicitPlanes:1;
  21.     unsigned int bitsPerPixel:8;    
  22.     unsigned int unpackedOK:1;
  23.     unsigned int isUnpacked:1;
  24.     unsigned int memory:2;
  25.     unsigned int :0;
  26.     }                   _moreRepFlags;
  27.     unsigned short      _reservedB1;
  28.     char               *_fileName;
  29.     int            _reservedB2;
  30.     unsigned char      *_data;
  31.     char           *_otherName;
  32.     unsigned short      _compression;
  33.     unsigned short      _factor;
  34. }
  35.  
  36. - initFromSection:(const char *)fileName;
  37. - initFromFile:(const char *)fileName;
  38. - initFromStream:(NXStream *)stream;
  39. - initData:(unsigned char *)data fromRect:(const NXRect *)rect;
  40. - initData:(unsigned char *)data pixelsWide:(int)width pixelsHigh:(int)height bitsPerSample:(int)bps samplesPerPixel:(int)spp hasAlpha:(BOOL)alpha isPlanar:(BOOL)isPlanar colorSpace:(NXColorSpace)colorSpace bytesPerRow:(int)rBytes bitsPerPixel:(int)pBits;
  41. - initDataPlanes:(unsigned char **)planes pixelsWide:(int)width pixelsHigh:(int)height bitsPerSample:(int)bps samplesPerPixel:(int)spp hasAlpha:(BOOL)alpha isPlanar:(BOOL)isPlanar colorSpace:(NUDSorSpace)colorSpace bytesPerRow:(int)rBytes bitsPerPixel:(int)pBits;
  42.  
  43. +(int)sizeImage:(const NXRect *)rect;
  44. +(int)sizeImage:(const NXRect *)rect pixelsWide:(int *)width pixelsHigh:(int *)height bitsPerSample:(int *)bps samplesPerPixel:(int *)spp hasAlpha:(BOOL *)hasAlpha isPlanar:(BOOL *)isPlanar colorSpace:(NXColorSpace *)colorSpace;
  45.  
  46. + (List *)newListFromSection:(const char *)fileName;
  47. + (List *)newListFromFile:(const char *)fileName;
  48. + (List *)newListFromStream:(NXStream *)stream;
  49. + (List *)newListFromSection:(const char *)fileName zone:(NXZone *)zone;
  50. + (List *)newListFromFile:(const char *)fileName zone:(NXZone *)zone;
  51. + (List *)newListFromStream:(NXStream *)stream zone:(NXZone *)zone;
  52.  
  53. - (unsigned char *)data;
  54. - getDataPlanes:(unsigned char **)data;
  55. - (BOOL)isPlanar;
  56. - (int)samplesPerPixel;
  57. - (int)bitsPerPixel;
  58. - (int)bytesPerRow;
  59. - (int)bytesPerPlane;
  60. - (int)numPlanes;
  61. - (NXColorSpace)colorSpace;
  62. - (BOOL)drawIn:(const NXRect *)rect;
  63. - (BOOL)draw;
  64. - (void)getCompression:(int *)compression andFactor:(float *)factor;
  65. - (void)setCompression:(int)compression andFactor:(float)factor;
  66. - writeTIFF:(NXStream *)stream;
  67. - writeTIFF:(NXStream *)stream usingCompression:(int)compression;
  68. - writeTIFF:(NXStream *)stream usingCompression:(int)compression andFactor:(float)compressionFactor;
  69. + (void)getTIFFCompressionTypes:(const int **)list count:(int *)numTypes;
  70. + (const char *)localizedNameForTIFFCompressionType:(int)compression;
  71. - (BOOL)canBeCompressedUsing:(int)compression;
  72. + (void)setUnpackedImageDataAcceptable:(BOOL)flag;
  73. + (BOOL)isUnpackedImageDataAcceptable;
  74. - read:(NXTypedStream *)stream;
  75. - write:(NXTypedStream *)stream;
  76. - copyFromZone:(NXZone *)zone;
  77. - free;
  78.  
  79. /* 
  80.  * The following new... methods are now obsolete.  They remain in this  
  81.  * interface file for backward compatibility only.  Use Object's alloc method  
  82.  * and the init... methods defined in this class instead.
  83.  */
  84. + newFromSection:(const char *)fileName;
  85. + newFromFile:(const char *)fileName;
  86. + newFromStream:(NXStream *)stream;
  87. + newData:(unsigned char *)data pixelsWide:(int)width pixelsHigh:(int)height bitsPerSample:(int)bps samplesPerPixel:(int)spp hasAlpha:(BOOL)alpha isPlanar:(BOOL)isPlanar colorSpace:(NXColorSpace)colorSpace;
  88. + newData:(unsigned char *)data pixelsWide:(int)width pixelsHigh:(int)height bitsPerSample:(int)bps samplesPerPixel:(int)UDThasAlpha:(BOOL)alpha isPlanar:(BOOL)isPlanar colorSpace:(NXColorSpace)colorSpace bytesPerRow:(int)rBytes bitsPerPixel:(int)pBits;
  89. + newDataPlanes:(unsigned char **)planes pixelsWide:(int)width pixelsHigh:(int)height bitsPerSample:(int)bps samplesPerPixel:(int)spp hasAlpha:(BOOL)alpha isPlanar:(BOOL)isPlanar colorSpace:(NXColorSpace)colorSpace bytesPerRow:(int)rBytes bitsPerPixel:(int)pBits;
  90. + readImage:(const NXRect *)rect into:(unsigned char *)data;
  91.  
  92. @end
  93.