1 #ifndef _INLINE_MCPGFX_H
2 #define _INLINE_MCPGFX_H
4 #ifndef CLIB_MCPGFX_PROTOS_H
5 #define CLIB_MCPGFX_PROTOS_H
8 #ifndef __INLINE_MACROS_H
9 #include <inline/macros.h>
13 #include <exec/types.h>
15 #ifndef LIBRARIES_MCPGFX_H
16 #include <libraries/mcpgfx.h>
18 #ifndef GRAPHICS_RASTPORT_H
19 #include <graphics/rastport.h>
21 #ifndef INTUITION_SCREENS_H
22 #include <intuition/screens.h>
24 #ifndef UTILITY_TAGITEM_H
25 #include <utility/tagitem.h>
28 #ifndef MCPGFX_BASE_NAME
29 #define MCPGFX_BASE_NAME MCPGfxBase
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, \
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, \
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);})
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, \
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);})
54 #define mcpGetExtDrawInfo(screen, drawInfo) \
55 LP2(0x30, struct ExtDrawInfo *, mcpGetExtDrawInfo, struct Screen *, screen, a0, struct DrawInfo *, drawInfo, a1, \
58 #define mcpGetFrameSize(drawInfo, frameType) \
59 LP2(0x36, struct FrameSize *, mcpGetFrameSize, struct DrawInfo *, drawInfo, a0, LONG, frameType, d0, \
62 #define mcpSetGFXAttrsA(tagList) \
63 LP1NR(0x3c, mcpSetGFXAttrsA, struct TagItem *, tagList, a0, \
66 #ifndef NO_INLINE_STDARG
67 #define mcpSetGFXAttrs(tags...) \
68 ({ULONG _tags[] = {tags}; mcpSetGFXAttrsA((struct TagItem *) _tags);})
71 #endif /* _INLINE_MCPGFX_H */