Use TARGET_STRIP instead of STRIP. Needed on OS X.
[AROS.git] / compiler / include / graphics / gfx.h
blobb5ebb4f9d4bc8dad80a78f2752eee2d8f65c67b9
1 #ifndef GRAPHICS_GFX_H
2 #define GRAPHICS_GFX_H
4 /*
5 Copyright © 1995-2010, The AROS Development Team. All rights reserved.
6 $Id$
8 Desc: Graphic structures
9 Lang: english
12 #ifndef EXEC_TYPES_H
13 # include <exec/types.h>
14 #endif
16 typedef UBYTE * PLANEPTR;
17 typedef struct tPoint
19 WORD x;
20 WORD y;
21 } Point;
23 #define BITSET 0x8000
24 #define BITCLR 0
26 #define AGNUS
27 #ifdef AGNUS
28 #define TOBB(x) ((LONG)(x))
29 #else
30 #define TOBB(x) ((LONG)(x)>>1)
31 #endif
33 struct BitMap
35 UWORD BytesPerRow;
36 UWORD Rows;
37 UBYTE Flags;
38 UBYTE Depth;
39 UWORD pad;
40 PLANEPTR Planes[8];
43 #define RASSIZE(w,h) ( (h) * ( ((w)+15) >>3 & 0xFFFE ))
45 struct Rectangle
47 WORD MinX;
48 WORD MinY;
49 WORD MaxX;
50 WORD MaxY;
53 struct Rect32
55 LONG MinX;
56 LONG MinY;
57 LONG MaxX;
58 LONG MaxY;
61 #define BMB_CLEAR 0
62 #define BMF_CLEAR (1L<<0)
63 #define BMB_DISPLAYABLE 1
64 #define BMF_DISPLAYABLE (1L<<1)
65 #define BMB_INTERLEAVED 2
66 #define BMF_INTERLEAVED (1L<<2)
67 #define BMB_STANDARD 3
68 #define BMF_STANDARD (1L<<3)
69 #define BMB_MINPLANES 4
70 #define BMF_MINPLANES (1L<<4)
72 /* Cybergfx flag */
73 #define BMB_SPECIALFMT 7
74 #define BMF_SPECIALFMT (1L<<7)
76 #define BMB_PIXFMT_SHIFTUP 24
78 #define BMF_REQUESTVMEM (BMF_DISPLAYABLE|BMF_MINPLANES)
80 /* AmigaOS v4 flags*/
81 #define BMB_HIJACKED 7
82 #define BMF_HIJACKED (1L<<7)
83 #define BMB_RTGTAGS 8
84 #define BMF_RTGTAGS (1L<<8)
85 #define BMB_RTGCHECK 9
86 #define BMF_RTGCHECK (1L<<9)
87 #define BMB_FRIENDISTAG 10
88 #define BMF_FRIENDISTAG (1L<<10)
89 #define BMB_INVALID 11
90 #define BMF_INVALID (1L<<11)
92 #define BMF_CHECKVALUE (BMF_RTGTAGS|BMF_RTGCHECK|BMF_FRIENDISTAG)
93 #define BMF_CHECKMASK (BMF_HIJACKED|BMF_CHECKVALUE|BMF_INVALID)
95 #define BITMAPFLAGS_ARE_EXTENDED(f) ((f & BMF_CHECKMASK) == BMF_CHECKVALUE)
97 /* tags for AllocBitMap */
98 #define BMATags_Friend (TAG_USER + 0)
99 #define BMATags_Depth (TAG_USER + 1)
100 #define BMATags_RGBFormat (TAG_USER + 2)
101 #define BMATags_Clear (TAG_USER + 3)
102 #define BMATags_Displayable (TAG_USER + 4)
103 #define BMATags_Private1 (TAG_USER + 5)
104 #define BMATags_NoMemory (TAG_USER + 6)
105 #define BMATags_NoSprite (TAG_USER + 7)
106 #define BMATags_Private2 (TAG_USER + 8)
107 #define BMATags_Private3 (TAG_USER + 9)
108 #define BMATags_ModeWidth (TAG_USER + 10)
109 #define BMATags_ModeHeight (TAG_USER + 11)
110 #define BMATags_RenderFunc (TAG_USER + 12)
111 #define BMATags_SaveFunc (TAG_USER + 13)
112 #define BMATags_UserData (TAG_USER + 14)
113 #define BMATags_Alignment (TAG_USER + 15)
114 #define BMATags_ConstantBytesPerRow (TAG_USER + 16)
115 #define BMATags_UserPrivate (TAG_USER + 17)
116 #define BMATags_Private4 (TAG_USER + 18)
117 #define BMATags_Private5 (TAG_USER + 19)
118 #define BMATags_Private6 (TAG_USER + 20)
119 #define BMATags_Private7 (TAG_USER + 21)
120 #define BMATags_BitmapColors (TAG_USER + 0x29)
121 #define BMATags_DisplayID (TAG_USER + 0x32)
122 #define BMATags_BitmapInvisible (TAG_USER + 0x37)
123 #define BMATags_BitmapColors32 (TAG_USER + 0x43)
125 /* IDs for GetBitMapAttr() */
126 #define BMA_HEIGHT 0
127 #define BMA_DEPTH 4
128 #define BMA_WIDTH 8
129 #define BMA_FLAGS 12
131 #endif /* GRAPHICS_GFX_H */