BuildCubeE/BootableMPW/Interfaces/CIncludes/Palettes.h
2018-11-16 09:50:16 +08:00

149 lines
4.3 KiB
C

/************************************************************
Created: Tuesday, September 17, 1991 at 2:56 PM
Palettes.h
C Interface to the Macintosh Libraries
Copyright Apple Computer, Inc. 1987-1991
All rights reserved
************************************************************/
#ifndef __PALETTES__
#define __PALETTES__
#ifndef __QUICKDRAW__
#include <Quickdraw.h>
#endif
#ifndef __WINDOWS__
#include <Windows.h>
#endif
enum {
pmCourteous = 0, /*Record use of color on each device touched.*/
pmTolerant = 0x0002, /*render ciRGB if ciTolerance is exceeded by best match.*/
pmAnimated = 0x0004, /*reserve an index on each device touched and render ciRGB.*/
pmExplicit = 0x0008, /*no reserve, no render, no record; stuff index into port.*/
pmWhite = 0x0010,
pmBlack = 0x0020,
pmInhibitG2 = 0x0100,
pmInhibitC2 = 0x0200,
pmInhibitG4 = 0x0400,
pmInhibitC4 = 0x0800,
pmInhibitG8 = 0x1000,
pmInhibitC8 = 0x2000,
/* NSetPalette Update Constants */
pmNoUpdates = 0x8000, /*no updates*/
pmBkUpdates = 0xA000, /*background updates only*/
pmFgUpdates = 0xC000, /*foreground updates only*/
pmAllUpdates = 0xE000 /*all updates*/
};
struct ColorInfo {
RGBColor ciRGB; /*true RGB values*/
short ciUsage; /*color usage*/
short ciTolerance; /*tolerance value*/
short ciDataFields[3]; /*private fields*/
};
typedef struct ColorInfo ColorInfo;
struct Palette {
short pmEntries; /*entries in pmTable*/
short pmDataFields[7]; /*private fields*/
ColorInfo pmInfo[1];
};
typedef struct Palette Palette;
typedef Palette *PalettePtr, **PaletteHandle;
#ifdef __cplusplus
extern "C" {
#endif
pascal void InitPalettes(void)
= 0xAA90;
pascal PaletteHandle NewPalette(short entries,CTabHandle srcColors,short srcUsage,
short srcTolerance)
= 0xAA91;
pascal PaletteHandle GetNewPalette(short PaletteID)
= 0xAA92;
pascal void DisposePalette(PaletteHandle srcPalette)
= 0xAA93;
pascal void ActivatePalette(WindowPtr srcWindow)
= 0xAA94;
pascal void SetPalette(WindowPtr dstWindow,PaletteHandle srcPalette,Boolean cUpdates)
= 0xAA95;
pascal void NSetPalette(WindowPtr dstWindow,PaletteHandle srcPalette,short nCUpdates)
= 0xAA95;
pascal PaletteHandle GetPalette(WindowPtr srcWindow)
= 0xAA96;
pascal void CopyPalette(PaletteHandle srcPalette,PaletteHandle dstPalette,
short srcEntry,short dstEntry,short dstLength)
= 0xAAA1;
pascal void PmForeColor(short dstEntry)
= 0xAA97;
pascal void PmBackColor(short dstEntry)
= 0xAA98;
pascal void AnimateEntry(WindowPtr dstWindow,short dstEntry,const RGBColor *srcRGB)
= 0xAA99;
pascal void AnimatePalette(WindowPtr dstWindow,CTabHandle srcCTab,short srcIndex,
short dstEntry,short dstLength)
= 0xAA9A;
pascal void GetEntryColor(PaletteHandle srcPalette,short srcEntry,RGBColor *dstRGB)
= 0xAA9B;
pascal void SetEntryColor(PaletteHandle dstPalette,short dstEntry,const RGBColor *srcRGB)
= 0xAA9C;
pascal void GetEntryUsage(PaletteHandle srcPalette,short srcEntry,short *dstUsage,
short *dstTolerance)
= 0xAA9D;
pascal void SetEntryUsage(PaletteHandle dstPalette,short dstEntry,short srcUsage,
short srcTolerance)
= 0xAA9E;
pascal void CTab2Palette(CTabHandle srcCTab,PaletteHandle dstPalette,short srcUsage,
short srcTolerance)
= 0xAA9F;
pascal void Palette2CTab(PaletteHandle srcPalette,CTabHandle dstCTab)
= 0xAAA0;
pascal long Entry2Index(short entry)
= {0x7000,0xAAA2};
pascal void RestoreDeviceClut(GDHandle gd)
= {0x7002,0xAAA2};
pascal void ResizePalette(PaletteHandle p,short size)
= {0x7003,0xAAA2};
pascal void SaveFore(ColorSpec *c)
= {0x303C,0x040D,0xAAA2};
pascal void SaveBack(ColorSpec *c)
= {0x303C,0x040E,0xAAA2};
pascal void RestoreFore(const ColorSpec *c)
= {0x303C,0x040F,0xAAA2};
pascal void RestoreBack(const ColorSpec *c)
= {0x303C,0x0410,0xAAA2};
pascal OSErr SetDepth(GDHandle gd,short depth,short whichFlags,short flags)
= {0x303C,0x0A13,0xAAA2};
pascal short HasDepth(GDHandle gd,short depth,short whichFlags,short flags)
= {0x303C,0x0A14,0xAAA2};
pascal short PMgrVersion(void)
= {0x7015,0xAAA2};
pascal void SetPaletteUpdates(PaletteHandle p,short updates)
= {0x303C,0x0616,0xAAA2};
pascal short GetPaletteUpdates(PaletteHandle p)
= {0x303C,0x0417,0xAAA2};
pascal Boolean GetGray(GDHandle device,const RGBColor *backGround,RGBColor *foreGround)
= {0x303C,0x0C19,0xAAA2};
#ifdef __cplusplus
}
#endif
#endif