Initial import of Scalos. To decrease size I have
[AROS-Contrib.git] / scalos / include / libraries / mcpgfx.h
blob996180fc9ba5c1ab2adfb067eea78d465fe6c82f
1 #ifndef LIBRARIES_MCPGFX_H
2 #define LIBRARIES_MCPGFX_H
4 #ifndef EXEC_TYPES_H
5 #include <exec/types.h>
6 #endif
8 #ifndef UTILITY_TAGITEM_H
9 #include <utility/tagitem.h>
10 #endif
13 /* Types of frames available */
14 #define MF_FRAME_NONE 0 /* No frame */
15 #define MF_FRAME_BUTTON 1 /* Standard 3D frame used for buttons */
16 #define MF_FRAME_BORDER 2 /* Standard 2D frame used for */
17 #define MF_FRAME_STRING 3 /* String */
18 #define MF_FRAME_DROPBOX 4 /* Dropbox [String (with space)?] */
19 #define MF_FRAME_XEN 5 /* Standard XEN button */
20 #define MF_FRAME_MWB 6 /* Standard MWB */
21 #define MF_FRAME_THICK 7 /* Standard Thick */
22 #define MF_FRAME_XWIN 8 /* Standard XWIN */
23 #define MF_FRAME_MAXIMUM 9 /* Maximum number of frame types */
26 /* Sizes of frame egdes. Always in the order x1,y1,x2,y2,(recessed)x1,y1,x2,y2. */
27 struct FrameSize
29 WORD fs_Sizes[8];
33 /* Some constants for acessing the values from the FrameSize structure */
34 #define FRAMESIZE_LEFT 0 /* Normal left edge width */
35 #define FRAMESIZE_TOP 1 /* Normal top edge width */
36 #define FRAMESIZE_RIGHT 2 /* Normal right edge width */
37 #define FRAMESIZE_BOTTOM 3 /* Normal bottom edge width */
38 #define FRAMESIZE_RELEFT 4 /* Recessed left edge width */
39 #define FRAMESIZE_RETOP 5 /* Recessed top edge width */
40 #define FRAMESIZE_RERIGHT 6 /* Recessed right edge width */
41 #define FRAMESIZE_REBOTTOM 7 /* Recessed bottom edge width */
44 /* Tags for the various function in mcpgfx.library */
45 #define MCP_TagBase TAG_USER + 0x20000
47 #if 0
49 #define IA_Left MCP_TagBase + 0x01
50 #define IA_Top MCP_TagBase + 0x02
51 #define IA_Width MCP_TagBase + 0x03
52 #define IA_Height MCP_TagBase + 0x04
53 #define IA_FGPen MCP_TagBase + 0x05
54 #define IA_BGPen MCP_TagBase + 0x06
55 #define IA_Data MCP_TagBase + 0x07
56 #define IA_ShadowPen MCP_TagBase + 0x09
58 #endif
60 #define IA_ShinePen MCP_TagBase + 0x0a
62 #if 0
64 #define IA_APattern MCP_TagBase + 0x10
65 #define IA_APatSize MCP_TagBase + 0x11
66 #define IA_Mode MCP_TagBase + 0x12
67 #define IA_Recessed MCP_TagBase + 0x15
68 #define IA_DrawInfo MCP_TagBase + 0x18
69 #define IA_FrameType MCP_TagBase + 0x1b
71 #endif
74 #define IA_HalfShadowPen MCP_TagBase + 0x1c
75 #define IA_HalfShinePen MCP_TagBase + 0x1d
78 /* A little something */
79 struct ExtDrawInfo
81 struct DrawInfo edi_DrawInfo; /* Original screen DrawInfo (copy of) */
82 WORD *edi_Pens; /* Pointer to an array of pens to use for MWB colours */
83 ULONG edi_dunno[2]; /* like I say */
87 #endif /* LIBRARIES_MCPGFX_H */