home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Elysian Archive
/
AmigaElysianArchive.iso
/
prog
/
c
/
gcc233.lha
/
os-include
/
inline
/
layers.h
< prev
next >
Wrap
C/C++ Source or Header
|
1992-12-29
|
15KB
|
474 lines
#ifndef _INLINE_LAYERS_H
#define _INLINE_LAYERS_H
#include <sys/cdefs.h>
#include <inline/stubs.h>
__BEGIN_DECLS
#ifndef BASE_EXT_DECL
#define BASE_EXT_DECL extern struct Library* LayersBase;
#endif
#ifndef BASE_PAR_DECL
#define BASE_PAR_DECL
#define BASE_PAR_DECL0 void
#endif
#ifndef BASE_NAME
#define BASE_NAME LayersBase
#endif
static __inline LONG
BeginUpdate (BASE_PAR_DECL struct Layer *l)
{
BASE_EXT_DECL
register LONG _res __asm("d0");
register struct Library* a6 __asm("a6") = BASE_NAME;
register struct Layer *a0 __asm("a0") = l;
__asm __volatile ("jsr a6@(-0x4e)"
: "=r" (_res)
: "r" (a6), "r" (a0)
: "a0","a1","d0","d1", "memory");
return _res;
}
static __inline LONG
BehindLayer (BASE_PAR_DECL long dummy,struct Layer *layer)
{
BASE_EXT_DECL
register LONG _res __asm("d0");
register struct Library* a6 __asm("a6") = BASE_NAME;
register long a0 __asm("a0") = dummy;
register struct Layer *a1 __asm("a1") = layer;
__asm __volatile ("jsr a6@(-0x36)"
: "=r" (_res)
: "r" (a6), "r" (a0), "r" (a1)
: "a0","a1","d0","d1", "memory");
return _res;
}
static __inline struct Layer *
CreateBehindHookLayer (BASE_PAR_DECL struct Layer_Info *li,struct BitMap *bm,long x0,long y0,long x1,long y1,long flags,struct Hook *hook,struct BitMap *bm2)
{
BASE_EXT_DECL
register struct Layer * _res __asm("d0");
register struct Library* a6 __asm("a6") = BASE_NAME;
register struct Layer_Info *a0 __asm("a0") = li;
register struct BitMap *a1 __asm("a1") = bm;
register long d0 __asm("d0") = x0;
register long d1 __asm("d1") = y0;
register long d2 __asm("d2") = x1;
register long d3 __asm("d3") = y1;
register long d4 __asm("d4") = flags;
register struct Hook *a3 __asm("a3") = hook;
register struct BitMap *a2 __asm("a2") = bm2;
__asm __volatile ("jsr a6@(-0xc0)"
: "=r" (_res)
: "r" (a6), "r" (a0), "r" (a1), "r" (d0), "r" (d1), "r" (d2), "r" (d3), "r" (d4), "r" (a3), "r" (a2)
: "a0","a1","a2","a3","d0","d1","d2","d3","d4", "memory");
return _res;
}
static __inline struct Layer *
CreateBehindLayer (BASE_PAR_DECL struct Layer_Info *li,struct BitMap *bm,long x0,long y0,long x1,long y1,long flags,struct BitMap *bm2)
{
BASE_EXT_DECL
register struct Layer * _res __asm("d0");
register struct Library* a6 __asm("a6") = BASE_NAME;
register struct Layer_Info *a0 __asm("a0") = li;
register struct BitMap *a1 __asm("a1") = bm;
register long d0 __asm("d0") = x0;
register long d1 __asm("d1") = y0;
register long d2 __asm("d2") = x1;
register long d3 __asm("d3") = y1;
register long d4 __asm("d4") = flags;
register struct BitMap *a2 __asm("a2") = bm2;
__asm __volatile ("jsr a6@(-0x2a)"
: "=r" (_res)
: "r" (a6), "r" (a0), "r" (a1), "r" (d0), "r" (d1), "r" (d2), "r" (d3), "r" (d4), "r" (a2)
: "a0","a1","a2","d0","d1","d2","d3","d4", "memory");
return _res;
}
static __inline struct Layer *
CreateUpfrontHookLayer (BASE_PAR_DECL struct Layer_Info *li,struct BitMap *bm,long x0,long y0,long x1,long y1,long flags,struct Hook *hook,struct BitMap *bm2)
{
BASE_EXT_DECL
register struct Layer * _res __asm("d0");
register struct Library* a6 __asm("a6") = BASE_NAME;
register struct Layer_Info *a0 __asm("a0") = li;
register struct BitMap *a1 __asm("a1") = bm;
register long d0 __asm("d0") = x0;
register long d1 __asm("d1") = y0;
register long d2 __asm("d2") = x1;
register long d3 __asm("d3") = y1;
register long d4 __asm("d4") = flags;
register struct Hook *a3 __asm("a3") = hook;
register struct BitMap *a2 __asm("a2") = bm2;
__asm __volatile ("jsr a6@(-0xba)"
: "=r" (_res)
: "r" (a6), "r" (a0), "r" (a1), "r" (d0), "r" (d1), "r" (d2), "r" (d3), "r" (d4), "r" (a3), "r" (a2)
: "a0","a1","a2","a3","d0","d1","d2","d3","d4", "memory");
return _res;
}
static __inline struct Layer *
CreateUpfrontLayer (BASE_PAR_DECL struct Layer_Info *li,struct BitMap *bm,long x0,long y0,long x1,long y1,long flags,struct BitMap *bm2)
{
BASE_EXT_DECL
register struct Layer * _res __asm("d0");
register struct Library* a6 __asm("a6") = BASE_NAME;
register struct Layer_Info *a0 __asm("a0") = li;
register struct BitMap *a1 __asm("a1") = bm;
register long d0 __asm("d0") = x0;
register long d1 __asm("d1") = y0;
register long d2 __asm("d2") = x1;
register long d3 __asm("d3") = y1;
register long d4 __asm("d4") = flags;
register struct BitMap *a2 __asm("a2") = bm2;
__asm __volatile ("jsr a6@(-0x24)"
: "=r" (_res)
: "r" (a6), "r" (a0), "r" (a1), "r" (d0), "r" (d1), "r" (d2), "r" (d3), "r" (d4), "r" (a2)
: "a0","a1","a2","d0","d1","d2","d3","d4", "memory");
return _res;
}
static __inline LONG
DeleteLayer (BASE_PAR_DECL long dummy,struct Layer *layer)
{
BASE_EXT_DECL
register LONG _res __asm("d0");
register struct Library* a6 __asm("a6") = BASE_NAME;
register long a0 __asm("a0") = dummy;
register struct Layer *a1 __asm("a1") = layer;
__asm __volatile ("jsr a6@(-0x5a)"
: "=r" (_res)
: "r" (a6), "r" (a0), "r" (a1)
: "a0","a1","d0","d1", "memory");
return _res;
}
static __inline void
DisposeLayerInfo (BASE_PAR_DECL struct Layer_Info *li)
{
BASE_EXT_DECL
register struct Library* a6 __asm("a6") = BASE_NAME;
register struct Layer_Info *a0 __asm("a0") = li;
__asm __volatile ("jsr a6@(-0x96)"
: /* no output */
: "r" (a6), "r" (a0)
: "a0","a1","d0","d1", "memory");
}
static __inline void
DoHookClipRects (BASE_PAR_DECL struct Hook *hook,struct RastPort *rport,struct Rectangle *rect)
{
BASE_EXT_DECL
register struct Library* a6 __asm("a6") = BASE_NAME;
register struct Hook *a0 __asm("a0") = hook;
register struct RastPort *a1 __asm("a1") = rport;
register struct Rectangle *a2 __asm("a2") = rect;
__asm __volatile ("jsr a6@(-0xd8)"
: /* no output */
: "r" (a6), "r" (a0), "r" (a1), "r" (a2)
: "a0","a1","a2","d0","d1", "memory");
}
static __inline void
EndUpdate (BASE_PAR_DECL struct Layer *layer,unsigned long flag)
{
BASE_EXT_DECL
register struct Library* a6 __asm("a6") = BASE_NAME;
register struct Layer *a0 __asm("a0") = layer;
register unsigned long d0 __asm("d0") = flag;
__asm __volatile ("jsr a6@(-0x54)"
: /* no output */
: "r" (a6), "r" (a0), "r" (d0)
: "a0","a1","d0","d1", "memory");
}
static __inline LONG
FattenLayerInfo (BASE_PAR_DECL struct Layer_Info *li)
{
BASE_EXT_DECL
register LONG _res __asm("d0");
register struct Library* a6 __asm("a6") = BASE_NAME;
register struct Layer_Info *a0 __asm("a0") = li;
__asm __volatile ("jsr a6@(-0x9c)"
: "=r" (_res)
: "r" (a6), "r" (a0)
: "a0","a1","d0","d1", "memory");
return _res;
}
static __inline void
InitLayers (BASE_PAR_DECL struct Layer_Info *li)
{
BASE_EXT_DECL
register struct Library* a6 __asm("a6") = BASE_NAME;
register struct Layer_Info *a0 __asm("a0") = li;
__asm __volatile ("jsr a6@(-0x1e)"
: /* no output */
: "r" (a6), "r" (a0)
: "a0","a1","d0","d1", "memory");
}
static __inline struct Region *
InstallClipRegion (BASE_PAR_DECL struct Layer *layer,struct Region *region)
{
BASE_EXT_DECL
register struct Region * _res __asm("d0");
register struct Library* a6 __asm("a6") = BASE_NAME;
register struct Layer *a0 __asm("a0") = layer;
register struct Region *a1 __asm("a1") = region;
__asm __volatile ("jsr a6@(-0xae)"
: "=r" (_res)
: "r" (a6), "r" (a0), "r" (a1)
: "a0","a1","d0","d1", "memory");
return _res;
}
static __inline struct Hook *
InstallLayerHook (BASE_PAR_DECL struct Layer *layer,struct Hook *hook)
{
BASE_EXT_DECL
register struct Hook * _res __asm("d0");
register struct Library* a6 __asm("a6") = BASE_NAME;
register struct Layer *a0 __asm("a0") = layer;
register struct Hook *a1 __asm("a1") = hook;
__asm __volatile ("jsr a6@(-0xc6)"
: "=r" (_res)
: "r" (a6), "r" (a0), "r" (a1)
: "a0","a1","d0","d1", "memory");
return _res;
}
static __inline struct Hook *
InstallLayerInfoHook (BASE_PAR_DECL struct Layer_Info *li,struct Hook *hook)
{
BASE_EXT_DECL
register struct Hook * _res __asm("d0");
register struct Library* a6 __asm("a6") = BASE_NAME;
register struct Layer_Info *a0 __asm("a0") = li;
register struct Hook *a1 __asm("a1") = hook;
__asm __volatile ("jsr a6@(-0xcc)"
: "=r" (_res)
: "r" (a6), "r" (a0), "r" (a1)
: "a0","a1","d0","d1", "memory");
return _res;
}
static __inline void
LockLayer (BASE_PAR_DECL long dummy,struct Layer *layer)
{
BASE_EXT_DECL
register struct Library* a6 __asm("a6") = BASE_NAME;
register long a0 __asm("a0") = dummy;
register struct Layer *a1 __asm("a1") = layer;
__asm __volatile ("jsr a6@(-0x60)"
: /* no output */
: "r" (a6), "r" (a0), "r" (a1)
: "a0","a1","d0","d1", "memory");
}
static __inline void
LockLayerInfo (BASE_PAR_DECL struct Layer_Info *li)
{
BASE_EXT_DECL
register struct Library* a6 __asm("a6") = BASE_NAME;
register struct Layer_Info *a0 __asm("a0") = li;
__asm __volatile ("jsr a6@(-0x78)"
: /* no output */
: "r" (a6), "r" (a0)
: "a0","a1","d0","d1", "memory");
}
static __inline void
LockLayers (BASE_PAR_DECL struct Layer_Info *li)
{
BASE_EXT_DECL
register struct Library* a6 __asm("a6") = BASE_NAME;
register struct Layer_Info *a0 __asm("a0") = li;
__asm __volatile ("jsr a6@(-0x6c)"
: /* no output */
: "r" (a6), "r" (a0)
: "a0","a1","d0","d1", "memory");
}
static __inline LONG
MoveLayer (BASE_PAR_DECL long dummy,struct Layer *layer,long dx,long dy)
{
BASE_EXT_DECL
register LONG _res __asm("d0");
register struct Library* a6 __asm("a6") = BASE_NAME;
register long a0 __asm("a0") = dummy;
register struct Layer *a1 __asm("a1") = layer;
register long d0 __asm("d0") = dx;
register long d1 __asm("d1") = dy;
__asm __volatile ("jsr a6@(-0x3c)"
: "=r" (_res)
: "r" (a6), "r" (a0), "r" (a1), "r" (d0), "r" (d1)
: "a0","a1","d0","d1", "memory");
return _res;
}
static __inline LONG
MoveLayerInFrontOf (BASE_PAR_DECL struct Layer *layer_to_move,struct Layer *other_layer)
{
BASE_EXT_DECL
register LONG _res __asm("d0");
register struct Library* a6 __asm("a6") = BASE_NAME;
register struct Layer *a0 __asm("a0") = layer_to_move;
register struct Layer *a1 __asm("a1") = other_layer;
__asm __volatile ("jsr a6@(-0xa8)"
: "=r" (_res)
: "r" (a6), "r" (a0), "r" (a1)
: "a0","a1","d0","d1", "memory");
return _res;
}
static __inline LONG
MoveSizeLayer (BASE_PAR_DECL struct Layer *layer,long dx,long dy,long dw,long dh)
{
BASE_EXT_DECL
register LONG _res __asm("d0");
register struct Library* a6 __asm("a6") = BASE_NAME;
register struct Layer *a0 __asm("a0") = layer;
register long d0 __asm("d0") = dx;
register long d1 __asm("d1") = dy;
register long d2 __asm("d2") = dw;
register long d3 __asm("d3") = dh;
__asm __volatile ("jsr a6@(-0xb4)"
: "=r" (_res)
: "r" (a6), "r" (a0), "r" (d0), "r" (d1), "r" (d2), "r" (d3)
: "a0","a1","d0","d1","d2","d3", "memory");
return _res;
}
static __inline struct Layer_Info *
NewLayerInfo (BASE_PAR_DECL0)
{
BASE_EXT_DECL
register struct Layer_Info * _res __asm("d0");
register struct Library* a6 __asm("a6") = BASE_NAME;
__asm __volatile ("jsr a6@(-0x90)"
: "=r" (_res)
: "r" (a6)
: "a0","a1","d0","d1", "memory");
return _res;
}
static __inline void
ScrollLayer (BASE_PAR_DECL long dummy,struct Layer *layer,long dx,long dy)
{
BASE_EXT_DECL
register struct Library* a6 __asm("a6") = BASE_NAME;
register long a0 __asm("a0") = dummy;
register struct Layer *a1 __asm("a1") = layer;
register long d0 __asm("d0") = dx;
register long d1 __asm("d1") = dy;
__asm __volatile ("jsr a6@(-0x48)"
: /* no output */
: "r" (a6), "r" (a0), "r" (a1), "r" (d0), "r" (d1)
: "a0","a1","d0","d1", "memory");
}
static __inline LONG
SizeLayer (BASE_PAR_DECL long dummy,struct Layer *layer,long dx,long dy)
{
BASE_EXT_DECL
register LONG _res __asm("d0");
register struct Library* a6 __asm("a6") = BASE_NAME;
register long a0 __asm("a0") = dummy;
register struct Layer *a1 __asm("a1") = layer;
register long d0 __asm("d0") = dx;
register long d1 __asm("d1") = dy;
__asm __volatile ("jsr a6@(-0x42)"
: "=r" (_res)
: "r" (a6), "r" (a0), "r" (a1), "r" (d0), "r" (d1)
: "a0","a1","d0","d1", "memory");
return _res;
}
static __inline void
SortLayerCR (BASE_PAR_DECL struct Layer *layer,long dx,long dy)
{
BASE_EXT_DECL
register struct Library* a6 __asm("a6") = BASE_NAME;
register struct Layer *a0 __asm("a0") = layer;
register long d0 __asm("d0") = dx;
register long d1 __asm("d1") = dy;
__asm __volatile ("jsr a6@(-0xd2)"
: /* no output */
: "r" (a6), "r" (a0), "r" (d0), "r" (d1)
: "a0","a1","d0","d1", "memory");
}
static __inline void
SwapBitsRastPortClipRect (BASE_PAR_DECL struct RastPort *rp,struct ClipRect *cr)
{
BASE_EXT_DECL
register struct Library* a6 __asm("a6") = BASE_NAME;
register struct RastPort *a0 __asm("a0") = rp;
register struct ClipRect *a1 __asm("a1") = cr;
__asm __volatile ("jsr a6@(-0x7e)"
: /* no output */
: "r" (a6), "r" (a0), "r" (a1)
: "a0","a1","d0","d1", "memory");
}
static __inline void
ThinLayerInfo (BASE_PAR_DECL struct Layer_Info *li)
{
BASE_EXT_DECL
register struct Library* a6 __asm("a6") = BASE_NAME;
register struct Layer_Info *a0 __asm("a0") = li;
__asm __volatile ("jsr a6@(-0xa2)"
: /* no output */
: "r" (a6), "r" (a0)
: "a0","a1","d0","d1", "memory");
}
static __inline void
UnlockLayer (BASE_PAR_DECL struct Layer *layer)
{
BASE_EXT_DECL
register struct Library* a6 __asm("a6") = BASE_NAME;
register struct Layer *a0 __asm("a0") = layer;
__asm __volatile ("jsr a6@(-0x66)"
: /* no output */
: "r" (a6), "r" (a0)
: "a0","a1","d0","d1", "memory");
}
static __inline void
UnlockLayerInfo (BASE_PAR_DECL struct Layer_Info *li)
{
BASE_EXT_DECL
register struct Library* a6 __asm("a6") = BASE_NAME;
register struct Layer_Info *a0 __asm("a0") = li;
__asm __volatile ("jsr a6@(-0x8a)"
: /* no output */
: "r" (a6), "r" (a0)
: "a0","a1","d0","d1", "memory");
}
static __inline void
UnlockLayers (BASE_PAR_DECL struct Layer_Info *li)
{
BASE_EXT_DECL
register struct Library* a6 __asm("a6") = BASE_NAME;
register struct Layer_Info *a0 __asm("a0") = li;
__asm __volatile ("jsr a6@(-0x72)"
: /* no output */
: "r" (a6), "r" (a0)
: "a0","a1","d0","d1", "memory");
}
static __inline LONG
UpfrontLayer (BASE_PAR_DECL long dummy,struct Layer *layer)
{
BASE_EXT_DECL
register LONG _res __asm("d0");
register struct Library* a6 __asm("a6") = BASE_NAME;
register long a0 __asm("a0") = dummy;
register struct Layer *a1 __asm("a1") = layer;
__asm __volatile ("jsr a6@(-0x30)"
: "=r" (_res)
: "r" (a6), "r" (a0), "r" (a1)
: "a0","a1","d0","d1", "memory");
return _res;
}
static __inline struct Layer *
WhichLayer (BASE_PAR_DECL struct Layer_Info *li,long x,long y)
{
BASE_EXT_DECL
register struct Layer * _res __asm("d0");
register struct Library* a6 __asm("a6") = BASE_NAME;
register struct Layer_Info *a0 __asm("a0") = li;
register long d0 __asm("d0") = x;
register long d1 __asm("d1") = y;
__asm __volatile ("jsr a6@(-0x84)"
: "=r" (_res)
: "r" (a6), "r" (a0), "r" (d0), "r" (d1)
: "a0","a1","d0","d1", "memory");
return _res;
}
#undef BASE_EXT_DECL
#undef BASE_PAR_DECL
#undef BASE_PAR_DECL0
#undef BASE_NAME
__END_DECLS
#endif /* _INLINE_LAYERS_H */