Retired Document
Important: This sample code may not represent best practices for current development. The project may use deprecated symbols and illustrate technologies and techniques that are no longer recommended.
Source/BitBlitz.h
/*-------------------------------------------------------------------------------------- |
// |
// File: BitBlitz.h |
// |
// Contents: Type definitions, global constants and variables, and routine declarations |
// used externally to the BitBlitz.c segment. |
// |
// |
// By Georgiann ("George") Delaney |
// ©Ê1989 - 1990, Apple Computer, Inc. |
// |
//--------------------------------------------------------------------------------------*/ |
/*--------------------------------------------------------------------------------------*/ |
/* Constants */ |
#define kClpRgn 0 /* Region ID constants */ |
#define kVisRgn 1 |
#define kMskRgn 2 |
#define kSrcWindow 0 /* Window ID constants */ |
#define kMskWindow 1 |
#define kDstWindow 2 |
#define kBitWindow 3 |
#define kCopyMask 0 /* Trap selection constants */ |
#define kCopyDeepMask 1 |
#define kCopyBits 2 |
/*--------------------------------------------------------------------------------------*/ |
/* Type definitions */ |
typedef struct { /* Struct which holds color information for */ |
short menuIndex; /* setting the FG, BK, OP, and Hilite colors. */ |
RGBColor rgb; |
} ColorAttributes; |
typedef struct { |
short type; |
RgnHandle rgn; |
} RgnAttributes; |
typedef struct { /* Definition of the window attributes record */ |
WindowPtr window; /* describing the contents/status of each of */ |
short bufferType; /* the 4 CopyMask windows */ |
short bufferDepth; |
union { |
GWorldPtr gworld; |
CGrafPtr pixmap; |
GrafPtr bitmap; |
} buffer; |
short contentType; |
union { |
short saturation; |
RGBColor RGB; |
PicHandle pictInfo; |
} content; |
} WindowAttributes; |
/*--------------------------------------------------------------------------------------*/ |
/* Global Variables */ |
RgnAttributes gRList[3]; |
WindowAttributes gWList[4]; /* Window list containing the 4 CopyMask Windows |
attribute records. */ |
short gCopyMode = srcCopy; /* The current copy mode that will be applied |
in the CopyMask() call. */ |
short gTrapSelect = kCopyMask; /* This global designates which of the two traps |
that the user wishes to test */ |
Boolean gColorAvail; /* Global variable designating that color QuickDraw is around */ |
Boolean gGWorldsAvail; /* Global variable designating that GWorlds are implemented/ */ |
Boolean gUseScreenBits = false; |
Boolean gDither = false; |
ColorAttributes gFGColor, |
gBKColor, |
gOPColor, |
gHiliteColor; |
RgnHandle gHoldVisRgn = nil; |
RgnHandle gHoldClpRgn = nil; |
/*--------------------------------------------------------------------------------------*/ |
/* Externally visible routines */ |
Boolean myTrapAvailable (theNumber,theType); |
void InitTestGlobals (void); |
void InitColorSettings (void); |
void InitRgnSettings (void); |
void UpdateRgnSettings (void); |
void DisposeRgnSettings (void); |
void InitTestWindowAttributes(void); |
Boolean CreateTestWindows (void); |
void DisposeTestWindows (void); |
Boolean ResizeTestWindow (Point *newDimen, short windowCode); |
Boolean ChangeWindowAttributes (short windowCode); |
void SelectFGColor (short theItem); |
void SelectBKColor (short theItem); |
void SelectOPColor (short theItem); |
void SelectHiliteColor (short theItem); |
void SelectRgn (short rgnCode, short rgnType); |
Boolean SelectTrap (void); |
void DrawBuffer (short windowCode); |
void DrawWindow (short windowCode); |
short CopyMode2ModeMenuItem (short theMode); |
short ModeMenuItem2CopyMode (short theItem); |
void NeedSystem7Dlog (void); |
void AboutBitBlitz (void); |
Copyright © 2003 Apple Computer, Inc. All Rights Reserved. Terms of Use | Privacy Policy | Updated: 2003-10-10