home *** CD-ROM | disk | FTP | other *** search
/ OpenStep 4.2 / Openstep-4.2-Intel-Developer.iso / NextLibrary / Frameworks / AppKit.framework / Versions / B / Headers / NSBitmapImageRep.h < prev    next >
Text File  |  1996-10-17  |  3KB  |  84 lines

  1. /*
  2.     NSBitmapImageRep.h
  3.     Application Kit
  4.     Copyright (c) 1994-1996, NeXT Software, Inc.
  5.     All rights reserved.
  6. */
  7.  
  8. #import <AppKit/NSImageRep.h>
  9. #import <AppKit/NSGraphics.h>
  10.  
  11. typedef enum _NSTIFFCompression {
  12.     NSTIFFCompressionNone        = 1,
  13.     NSTIFFCompressionCCITTFAX3        = 3,        /* 1 bps only */
  14.     NSTIFFCompressionCCITTFAX4        = 4,        /* 1 bps only */
  15.     NSTIFFCompressionLZW        = 5,
  16.     NSTIFFCompressionJPEG        = 6,
  17.     NSTIFFCompressionNEXT        = 32766,    /* Input only */
  18.     NSTIFFCompressionPackBits        = 32773,
  19.     NSTIFFCompressionOldJPEG        = 32865        /* Input only */
  20. } NSTIFFCompression;
  21.  
  22.  
  23. @interface NSBitmapImageRep : NSImageRep {
  24.     struct __bitmapRepFlags {
  25.         unsigned int bitsPerPixel:8;    
  26.     unsigned int isPlanar:1;
  27.     unsigned int explicitPlanes:1;
  28.     unsigned int isUnpacked:1;
  29.     unsigned int dataLoaded:1;
  30.         unsigned int numColors:4;    /* Cache */
  31.         unsigned int memory:2;
  32.         unsigned int compressionFactor:14;
  33.         unsigned int imageNumber:12;
  34.     unsigned int compression:20;
  35.     } _moreRepFlags;
  36.     unsigned int _bytesPerRow;
  37.     unsigned char *_data;
  38.     NSData *_tiffData;
  39.     unsigned int _reserved;
  40. }
  41.  
  42. - (id)initWithFocusedViewRect:(NSRect)rect;
  43.  
  44. - (id)initWithBitmapDataPlanes:(unsigned char **)planes pixelsWide:(int)width pixelsHigh:(int)height bitsPerSample:(int)bps samplesPerPixel:(int)spp hasAlpha:(BOOL)alpha isPlanar:(BOOL)isPlanar colorSpaceName:(NSString *)colorSpaceName bytesPerRow:(int)rBytes bitsPerPixel:(int)pBits; 
  45.  
  46. + (NSArray *)imageRepsWithData:(NSData *)tiffData;    /* TIFFs can contain multiple images */
  47.  
  48. + (id)imageRepWithData:(NSData *)tiffData;    /* Convenience of initWithData: */
  49. - (id)initWithData:(NSData *)tiffData;
  50.  
  51. - (unsigned char *)bitmapData;
  52. - (void)getBitmapDataPlanes:(unsigned char **)data;
  53. - (BOOL)isPlanar;
  54. - (int)samplesPerPixel;
  55. - (int)bitsPerPixel;
  56. - (int)bytesPerRow;
  57. - (int)bytesPerPlane;
  58. - (int)numberOfPlanes;
  59.  
  60. - (void)getCompression:(NSTIFFCompression *)compression factor:(float *)factor;
  61. - (void)setCompression:(NSTIFFCompression)compression factor:(float)factor;
  62.  
  63. - (NSData *)TIFFRepresentation;
  64. - (NSData *)TIFFRepresentationUsingCompression:(NSTIFFCompression)comp factor:(float)factor;
  65.  
  66. + (NSData *)TIFFRepresentationOfImageRepsInArray:(NSArray *)array;
  67. + (NSData *)TIFFRepresentationOfImageRepsInArray:(NSArray *)array usingCompression:(NSTIFFCompression)comp factor:(float)factor;
  68.  
  69. + (void)getTIFFCompressionTypes:(const NSTIFFCompression **)list count:(int *)numTypes;
  70. + (NSString *)localizedNameForTIFFCompressionType:(NSTIFFCompression)compression;
  71. - (BOOL)canBeCompressedUsing:(NSTIFFCompression)compression;
  72.  
  73. @end
  74.  
  75. #if !defined(STRICT_OPENSTEP) && defined(WIN32)
  76.  
  77. @interface NSBitmapImageRep (NSWindowsExtensions)
  78. - (id)initWithIconHandle:(void * /* HICON */)icon;
  79. - (id)initWithBitmapHandle:(void * /* HBITMAP */)bitmap;
  80. @end
  81.  
  82. #endif
  83.  
  84.