typedef ByteFlags AppLaunchFlags; #define ALF_SEND_LAUNCH_REQUEST_TO_UI_TO_HANDLE 0x80 #define ALF_OPEN_IN_BACK 0x40
typedef ByteFlags ApplicationStates; #define AS_QUITTING 0x80 #define AS_DETACHING 0x40 #define AS_FOCUSABLE 0x20 #define AS_MODELABLE 0x10 #define AS_NOT_USER_INTERACTABLE 0x08 #define AS_RECEIVED_APP_OBJECT_DETACH 0x04 #define AS_ATTACHED_TO_STATE_FILE 0x02 #define AS_ATTACHING 0x01
typedef enum /* word */ {
ACT_OPEN,
ACT_CHORD,
ACT_PIE
} ArcCloseType;
This structure is used when filling arcs.
typedef struct {
byte AA_colorFlag;
RGBValue AA_color;
SysDrawMask AA_mask;
ColorMapMode AA_mapMode;
} AreaAttr;
typedef struct {
EvalStackArgumentType ASE_type;
EvalStackArgumentData ASE_data;
} ArgumentStackElement;
typedef struct {
byte BBF_frac;
byte BBF_int;
} BBFixed;
This structure represents an 8.8 fixed point number.
typedef struct {
word B_width; /* In bitmap pixels */
word B_height; /* In bitmap pixels */
byte B_compact; /* A BMCompact value */
byte B_type; /* A BMFormat | BMType value */
} Bitmap;
This data structure provides some information about a simple graphics bitmap. It normally acts as the header for a set of bitmap data.
The bitmap data itself is organized into scan lines. If the bitmap has a mask (if the BMT_MASK bit is set in the
B_type
field), the first information for the scan line will be its mask information. There will be one bit of mask information for each pixel in the scan line (i.e. a number of bits equal to the bitmap width). The actual bitmap data for the scan line starts at the next byte boundary. For each pixel there will be a number of bits of color data, said number depending on the
BMFormat
value in the
B_type
field. The data for the next scan line will begin at the next byte boundary.
Thus, a 7x7 bitmap depicting an inverse "x" might appear:
(Bitmap) {7, 7, BMC_UNCOMPACTED, BMF_MONO };
(byte)[] {0x82, /* 10000010 */
0x44, /* 01000100 */
0x28, /* 00101000 */
0x10, /* 00010000 */
0x28, /* 00101000 */
0x44, /* 01000100 */
0x82 }; /* 10000010 */
A 3x3 color "-" shape with a a "+" shaped mask might appear:
(Bitmap) { 3, 3, BMC_UNCOMPACTED,
(BMF_4BIT | BMT_MASK)};
(byte) [] {/* scan line 1: */
0x40, /* mask: 010 */
0, 0 /* data: 000 */
/* scan line 2: */
0xE0, /* mask: 111 */
0x43, 0x20, /* data: 432 */
/* scan line 3: */
0x40, /* mask: 010 */
0, 0 }; /* data: 000 */
If standard BMC_PACKBITS compression is used, then the mask (if any) and color data for the bitmap is compressed using the Macintosh PackBits standard. Under this system, to uncompress the data for a scan line, follow the loop:
Thus a 16x4 color "=" with a matching mask would appear:
(Bitmap) {15, 3, BMC_PACKBITS, BMF_4BIT | BMT_MASK } ;
(byte) [] {/* scan line 1: */
/* mask: 2 repetitions of 0xff */
0xff, 0xff,
/* data: 16 repetitions of 0x14 */
0xf0, 0x14,
/* scan line 2: */
/* mask: 2 repetitions of 0x00 */
/* data: 16 repetitions of 0x00 */
/* total: 18 repetitions of 0x00 */
0xee, 0x00,
/* scan line 3: */
/* mask: 2 repetitions of 0x00 */
/* data: 16 repetitions of 0x00 */
/* total: 18 repetitions of 0x00 */
0xee, 0x00,
/* scan line 4: */
/* mask: 2 repetitions of 0xff */
0xff, 0xff,
/* data: 16 repetitions of 0x14 */
0xf0, 0x14};
See Also: CBitmap.
GEOS SDK TechDocs|
|
AccessPointStandardProperty ... |
BitmapMode ...