libxml2: copy the xml2-config to the crosstoolsdir and patch the paths in the native...
[AROS-Contrib.git] / scalos / include / inline / mcpgfx.h
blobcc696f36ddfcb765d4aa657cef8034183fc50c25
1 #ifndef _INLINE_MCPGFX_H
2 #define _INLINE_MCPGFX_H
4 #ifndef CLIB_MCPGFX_PROTOS_H
5 #define CLIB_MCPGFX_PROTOS_H
6 #endif
8 #ifndef __INLINE_MACROS_H
9 #include <inline/macros.h>
10 #endif
12 #ifndef EXEC_TYPES_H
13 #include <exec/types.h>
14 #endif
15 #ifndef LIBRARIES_MCPGFX_H
16 #include <libraries/mcpgfx.h>
17 #endif
18 #ifndef GRAPHICS_RASTPORT_H
19 #include <graphics/rastport.h>
20 #endif
21 #ifndef INTUITION_SCREENS_H
22 #include <intuition/screens.h>
23 #endif
24 #ifndef UTILITY_TAGITEM_H
25 #include <utility/tagitem.h>
26 #endif
28 #ifndef MCPGFX_BASE_NAME
29 #define MCPGFX_BASE_NAME MCPGfxBase
30 #endif
32 #define mcpPaintSysIGad(sysImageObject, drawInfo, gadgetNumber, width, height) \
33 LP5NR(0x1e, mcpPaintSysIGad, APTR, sysImageObject, a0, struct DrawInfo *, drawInfo, a1, LONG, gadgetNumber, d0, LONG, width, d1, LONG, height, d2, \
34 , MCPGFX_BASE_NAME)
36 #define mcpRectFillA(rp, x1, y1, x2, y2, tagList) \
37 LP6NR(0x24, mcpRectFillA, struct RastPort *, rp, a0, LONG, x1, d0, LONG, y1, d1, LONG, x2, d2, LONG, y2, d3, CONST struct TagItem *, tagList, a1, \
38 , MCPGFX_BASE_NAME)
40 #ifndef NO_INLINE_STDARG
41 #define mcpRectFill(rp, x1, y1, x2, y2, tags...) \
42 ({ULONG _tags[] = {tags}; mcpRectFillA((rp), (x1), (y1), (x2), (y2), (CONST struct TagItem *) _tags);})
43 #endif
45 #define mcpDrawFrameA(rp, x1, y1, x2, y2, tagList) \
46 LP6NR(0x2a, mcpDrawFrameA, struct RastPort *, rp, a0, LONG, x1, d0, LONG, y1, d1, LONG, x2, d2, LONG, y2, d3, struct TagItem *, tagList, a1, \
47 , MCPGFX_BASE_NAME)
49 #ifndef NO_INLINE_STDARG
50 #define mcpDrawFrame(rp, x1, y1, x2, y2, tags...) \
51 ({ULONG _tags[] = {tags}; mcpDrawFrameA((rp), (x1), (y1), (x2), (y2), (struct TagItem *) _tags);})
52 #endif
54 #define mcpGetExtDrawInfo(screen, drawInfo) \
55 LP2(0x30, struct ExtDrawInfo *, mcpGetExtDrawInfo, struct Screen *, screen, a0, struct DrawInfo *, drawInfo, a1, \
56 , MCPGFX_BASE_NAME)
58 #define mcpGetFrameSize(drawInfo, frameType) \
59 LP2(0x36, struct FrameSize *, mcpGetFrameSize, struct DrawInfo *, drawInfo, a0, LONG, frameType, d0, \
60 , MCPGFX_BASE_NAME)
62 #define mcpSetGFXAttrsA(tagList) \
63 LP1NR(0x3c, mcpSetGFXAttrsA, struct TagItem *, tagList, a0, \
64 , MCPGFX_BASE_NAME)
66 #ifndef NO_INLINE_STDARG
67 #define mcpSetGFXAttrs(tags...) \
68 ({ULONG _tags[] = {tags}; mcpSetGFXAttrsA((struct TagItem *) _tags);})
69 #endif
71 #endif /* _INLINE_MCPGFX_H */