topical media & game development
lib-of-vs-libs-QTDevWin-CIncludes-Palettes.h / h
/*
File: Palettes.h
Contains: Palette Manager Interfaces.
Version: Technology: Mac OS 8
Release: QuickTime 6.0.2
Copyright: (c) 1987-2001 by Apple Computer, Inc., all rights reserved
Bugs?: For bug reports, consult the following page on
the World Wide Web:
http://developer.apple.com/bugreporter/
*/
ifndef __PALETTES__
define __PALETTES__
ifndef __QUICKDRAW__
include <Quickdraw.h>
endif
if PRAGMA_ONCE
#pragma once
endif
ifdef __cplusplus
extern "C" {
endif
if PRAGMA_IMPORT
#pragma import on
endif
if PRAGMA_STRUCT_ALIGN
#pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
#pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
#pragma pack(2)
endif
enum {
pmCourteous = 0, /*Record use of color on each device touched.*/
pmDithered = 0x0001,
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;
typedef ColorInfo * ColorInfoPtr;
typedef ColorInfoPtr * ColorInfoHandle;
struct Palette {
short pmEntries; /*entries in pmTable*/
short pmDataFields[7]; /*private fields*/
ColorInfo pmInfo[1];
};
typedef struct Palette Palette;
typedef Palette * PalettePtr;
typedef PalettePtr * PaletteHandle;
EXTERN_API( void )
InitPalettes (void) ONEWORDINLINE(0xAA90);
EXTERN_API( PaletteHandle )
NewPalette (short entries,
CTabHandle srcColors,
short srcUsage,
short srcTolerance) ONEWORDINLINE(0xAA91);
EXTERN_API( PaletteHandle )
GetNewPalette (short PaletteID) ONEWORDINLINE(0xAA92);
EXTERN_API( void )
DisposePalette (PaletteHandle srcPalette) ONEWORDINLINE(0xAA93);
EXTERN_API( void )
ActivatePalette (WindowPtr srcWindow) ONEWORDINLINE(0xAA94);
EXTERN_API( void )
SetPalette (WindowPtr dstWindow,
PaletteHandle srcPalette,
Boolean cUpdates) ONEWORDINLINE(0xAA95);
EXTERN_API( void )
NSetPalette (WindowPtr dstWindow,
PaletteHandle srcPalette,
short nCUpdates) ONEWORDINLINE(0xAA95);
EXTERN_API( PaletteHandle )
GetPalette (WindowPtr srcWindow) ONEWORDINLINE(0xAA96);
EXTERN_API( void )
CopyPalette (PaletteHandle srcPalette,
PaletteHandle dstPalette,
short srcEntry,
short dstEntry,
short dstLength) ONEWORDINLINE(0xAAA1);
EXTERN_API( void )
PmForeColor (short dstEntry) ONEWORDINLINE(0xAA97);
EXTERN_API( void )
PmBackColor (short dstEntry) ONEWORDINLINE(0xAA98);
EXTERN_API( void )
AnimateEntry (WindowPtr dstWindow,
short dstEntry,
const RGBColor * srcRGB) ONEWORDINLINE(0xAA99);
if TARGET_OS_MAC
#define MacAnimatePalette AnimatePalette
endif
EXTERN_API( void )
MacAnimatePalette (WindowPtr dstWindow,
CTabHandle srcCTab,
short srcIndex,
short dstEntry,
short dstLength) ONEWORDINLINE(0xAA9A);
EXTERN_API( void )
GetEntryColor (PaletteHandle srcPalette,
short srcEntry,
RGBColor * dstRGB) ONEWORDINLINE(0xAA9B);
EXTERN_API( void )
SetEntryColor (PaletteHandle dstPalette,
short dstEntry,
const RGBColor * srcRGB) ONEWORDINLINE(0xAA9C);
EXTERN_API( void )
GetEntryUsage (PaletteHandle srcPalette,
short srcEntry,
short * dstUsage,
short * dstTolerance) ONEWORDINLINE(0xAA9D);
EXTERN_API( void )
SetEntryUsage (PaletteHandle dstPalette,
short dstEntry,
short srcUsage,
short srcTolerance) ONEWORDINLINE(0xAA9E);
EXTERN_API( void )
CTab2Palette (CTabHandle srcCTab,
PaletteHandle dstPalette,
short srcUsage,
short srcTolerance) ONEWORDINLINE(0xAA9F);
EXTERN_API( void )
Palette2CTab (PaletteHandle srcPalette,
CTabHandle dstCTab) ONEWORDINLINE(0xAAA0);
EXTERN_API( long )
Entry2Index (short entry) TWOWORDINLINE(0x7000, 0xAAA2);
EXTERN_API( void )
RestoreDeviceClut (GDHandle gd) TWOWORDINLINE(0x7002, 0xAAA2);
if TARGET_OS_MAC
#define MacResizePalette ResizePalette
endif
EXTERN_API( void )
MacResizePalette (PaletteHandle p,
short size) TWOWORDINLINE(0x7003, 0xAAA2);
EXTERN_API( void )
SaveFore (ColorSpec * c) THREEWORDINLINE(0x303C, 0x040D, 0xAAA2);
EXTERN_API( void )
SaveBack (ColorSpec * c) THREEWORDINLINE(0x303C, 0x040E, 0xAAA2);
EXTERN_API( void )
RestoreFore (const ColorSpec * c) THREEWORDINLINE(0x303C, 0x040F, 0xAAA2);
EXTERN_API( void )
RestoreBack (const ColorSpec * c) THREEWORDINLINE(0x303C, 0x0410, 0xAAA2);
EXTERN_API( OSErr )
SetDepth (GDHandle gd,
short depth,
short whichFlags,
short flags) THREEWORDINLINE(0x303C, 0x0A13, 0xAAA2);
EXTERN_API( short )
HasDepth (GDHandle gd,
short depth,
short whichFlags,
short flags) THREEWORDINLINE(0x303C, 0x0A14, 0xAAA2);
EXTERN_API( short )
PMgrVersion (void) TWOWORDINLINE(0x7015, 0xAAA2);
EXTERN_API( void )
SetPaletteUpdates (PaletteHandle p,
short updates) THREEWORDINLINE(0x303C, 0x0616, 0xAAA2);
EXTERN_API( short )
GetPaletteUpdates (PaletteHandle p) THREEWORDINLINE(0x303C, 0x0417, 0xAAA2);
EXTERN_API( Boolean )
GetGray (GDHandle device,
const RGBColor * backGround,
RGBColor * foreGround) THREEWORDINLINE(0x303C, 0x0C19, 0xAAA2);
if PRAGMA_STRUCT_ALIGN
#pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
#pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
#pragma pack()
endif
ifdef PRAGMA_IMPORT_OFF
#pragma import off
#elif PRAGMA_IMPORT
#pragma import reset
endif
ifdef __cplusplus
}
endif
endif /* __PALETTES__ */
(C) Æliens
04/09/2009
You may not copy or print any of this material without explicit permission of the author or the publisher.
In case of other copyright issues, contact the author.