/************************************************************ Created: Tuesday, July 23, 1991 at 2:53 PM PictUtil.h C Interface to the Macintosh Libraries Copyright Apple Computer, Inc. 1990-1991 All rights reserved This file is used in these builds: ROM System Change History (most recent first): <7> 7/23/91 JL Checked in File from database. Changed #defines to enums. Adjusted comments. Moved PictInfoID typedef to the beginning of the Type declarations to match Pascal file. <6> 1/16/91 JDR (dba) Renamed METHOD_SYSTEM to systemMethod, METHOD_POPULAR to popularMethod, and METHOD_MEDIAN to medianMethod <5> 10/9/90 JAL CPlusPlus compatibility. <4> 9/21/90 gbm (Actually DDG) Updating selectors to work with ProcHelper. <3> 9/19/90 DDG Name changes for some of the parameters for a few of the routines. <2> 9/18/90 DDG Fixed the header. <1> 9/18/90 DDG first checked in To Do: ************************************************************/ #ifndef __PICTUTIL__ #define __PICTUTIL__ #ifndef __TYPES__ #include #endif #ifndef __PALETTES__ #include #endif enum { /* verbs for the GetPictInfo, GetPixMapInfo, and NewPictInfo calls */ #define returnColorTable ((short) 0x0001) #define returnPalette ((short) 0x0002) #define recordComments ((short) 0x0004) #define recordFontInfo ((short) 0x0008) #define suppressBlackAndWhite ((short) 0x0010) /* color pick methods */ systemMethod = 0, /*system color pick method*/ popularMethod = 1, /*method that chooses the most popular set of colors*/ medianMethod = 2, /*method that chooses a good average mix of colors*/ /* color bank types */ ColorBankIsCustom = -1, ColorBankIsExactAnd555 = 0, ColorBankIs555 = 1 }; typedef long PictInfoID; struct CommentSpec { short count; /* number of occurrances of this comment ID */ short ID; /* ID for the comment in the picture */ }; typedef struct CommentSpec CommentSpec; typedef CommentSpec *CommentSpecPtr, **CommentSpecHandle; struct FontSpec { short pictFontID; /* ID of the font in the picture */ short sysFontID; /* ID of the same font in the current system file */ long size[4]; /* bit array of all the sizes found (1..127) (bit 0 means > 127) */ short style; /* combined style of all occurrances of the font */ long nameOffset; /* offset into the fontNamesHdl handle for the fontŐs name */ }; typedef struct FontSpec FontSpec; typedef FontSpec *FontSpecPtr, **FontSpecHandle; struct PictInfo { short version; /* this is always zero, for now */ long uniqueColors; /* the number of actual colors in the picture(s)/pixmap(s) */ PaletteHandle thePalette; /* handle to the palette information */ CTabHandle theColorTable; /* handle to the color table */ Fixed hRes; /* maximum horizontal resolution for all the pixmaps */ Fixed vRes; /* maximum vertical resolution for all the pixmaps */ short depth; /* maximum depth for all the pixmaps (in the picture) */ Rect sourceRect; /* the picture frame rectangle (this contains the entire picture) */ long textCount; /* total number of text strings in the picture */ long lineCount; /* total number of lines in the picture */ long rectCount; /* total number of rectangles in the picture */ long rRectCount; /* total number of round rectangles in the picture */ long ovalCount; /* total number of ovals in the picture */ long arcCount; /* total number of arcs in the picture */ long polyCount; /* total number of polygons in the picture */ long regionCount; /* total number of regions in the picture */ long bitMapCount; /* total number of bitmaps in the picture */ long pixMapCount; /* total number of pixmaps in the picture */ long commentCount; /* total number of comments in the picture */ long uniqueComments; /* the number of unique comments in the picture */ CommentSpecHandle commentHandle; /* handle to all the comment information */ long uniqueFonts; /* the number of unique fonts in the picture */ FontSpecHandle fontHandle; /* handle to the FontSpec information */ Handle fontNamesHandle; /* handle to the font names */ long reserved1; long reserved2; }; typedef struct PictInfo PictInfo; typedef PictInfo *PictInfoPtr, **PictInfoHandle; #ifdef __cplusplus extern "C" { #endif pascal OSErr GetPictInfo(PicHandle thePictHandle, PictInfo *thePictInfo, short verb, short colorsRequested, short colorPickMethod, short version) = {0x303C,0x0800,0xA831}; pascal OSErr GetPixMapInfo(PixMapHandle thePixMapHandle, PictInfo *thePictInfo, short verb, short colorsRequested, short colorPickMethod, short version) = {0x303C,0x0801,0xA831}; pascal OSErr NewPictInfo(PictInfoID *thePictInfoID, short verb, short colorsRequested, short colorPickMethod, short version) = {0x303C,0x0602,0xA831}; pascal OSErr RecordPictInfo(PictInfoID thePictInfoID, PicHandle thePictHandle) = {0x303C,0x0403,0xA831}; pascal OSErr RecordPixMapInfo(PictInfoID thePictInfoID, PixMapHandle thePixMapHandle) = {0x303C,0x0404,0xA831}; pascal OSErr RetrievePictInfo(PictInfoID thePictInfoID, PictInfo *thePictInfo, short colorsRequested) = {0x303C,0x0505,0xA831}; pascal OSErr DisposPictInfo(PictInfoID thePictInfoID) = {0x303C,0x0206,0xA831}; #ifdef __cplusplus } #endif #endif