1 #ifndef GRAPHICS_GFXMACROS_H
    2 #define GRAPHICS_GFXMACROS_H
    3 
    4 /*
    5 	graphics macro definitions
    6 
    7 	Copyright © 2002 The MorphOS Development Team, All Rights Reserved.
    8 */
    9 
   10 #ifndef EXEC_TYPES_H
   11 # include <exec/types.h>
   12 #endif
   13 
   14 #ifndef  GRAPHICS_RASTPORT_H
   15 # include <graphics/rastport.h>
   16 #endif
   17 
   18 #ifndef  GRAPHICS_GFXBASE_H
   19 # include <graphics/gfxbase.h>
   20 #endif
   21 
   22 #ifndef  HARDWARE_CUSTOM_H
   23 # include <hardware/custom.h>
   24 #endif
   25 
   26 #ifndef  HARDWARE_DMABITS_H
   27 # include <hardware/dmabits.h>
   28 #endif
   29 
   30 
   31 #ifdef OLD_GRAPHICS_GFXMACROS_H
   32 
   33 #define ON_DISPLAY              custom.dmacon = BITSET | DMAF_RASTER;
   34 #define OFF_DISPLAY             custom.dmacon = BITCLR | DMAF_RASTER;
   35 #define ON_SPRITE               custom.dmacon = BITSET | DMAF_SPRITE;
   36 #define OFF_SPRITE              custom.dmacon = BITCLR | DMAF_SPRITE;
   37 
   38 #define ON_VBLANK               custom.intena = BITSET | INTF_VERTB;
   39 #define OFF_VBLANK              custom.intena = BITCLR | INTF_VERTB;
   40 
   41 #define SetDrPt(w,p)            { (w)->LinePtrn = p; (w)->Flags |= FRST_DOT; (w)->linpatcnt = 15; }
   42 #define SetAfPt(w,p,n)          { (w)->AreaPtrn = p; (w)->AreaPtSz = n; }
   43 
   44 #define SetOPen(w,c)            { (w)->AOlPen = c; (w)->Flags |= AREAOUTLINE; }
   45 #define SetWrMsk(w,m)           { (w)->Mask = m; }
   46 
   47 #define SafeSetOutlinePen(w,c)  { if (GfxBase->LibNode.lib_Version<39) { (w)->AOlPen = c; (w)->Flags |= AREAOUTLINE; } else SetOutlinePen(w,c); }
   48 #define SafeSetWriteMask(w,m)   { if (GfxBase->LibNode.lib_Version<39) { (w)->Mask = (m); } else SetWriteMask(w,m); }
   49 
   50 #define GetOPen(rp)             GetOutlinePen(rp)
   51 
   52 #define BNDRYOFF(w)             { (w)->Flags &= ~AREAOUTLINE; }
   53 
   54 #define CINIT(c,n)              UCopperListInit(c,n);
   55 #define CMOVE(c,a,b)            { CMove(c,&a,b); CBump(c); }
   56 #define CWAIT(c,a,b)            { CWait(c,a,b); CBump(c); }
   57 #define CEND(c)                 { CWAIT(c,10000,255); }
   58 
   59 #define DrawCircle(rp,cx,cy,r)  DrawEllipse(rp,cx,cy,r,r);
   60 #define AreaCircle(rp,cx,cy,r)  AreaEllipse(rp,cx,cy,r,r);
   61 
   62 #else /* OLD_GRAPHICS_GFXMACROS_H */
   63 
   64 #define ON_DISPLAY              custom.dmacon = BITSET | DMAF_RASTER
   65 #define OFF_DISPLAY             custom.dmacon = BITCLR | DMAF_RASTER
   66 #define ON_SPRITE               custom.dmacon = BITSET | DMAF_SPRITE
   67 #define OFF_SPRITE              custom.dmacon = BITCLR | DMAF_SPRITE
   68 
   69 #define ON_VBLANK               custom.intena = BITSET | INTF_VERTB
   70 #define OFF_VBLANK              custom.intena = BITCLR | INTF_VERTB
   71 
   72 
   73 #define SetDrPt(w,p)            do { (w)->LinePtrn = (p); (w)->Flags |= FRST_DOT; (w)->linpatcnt = 15; } while (0)
   74 #define SetAfPt(w,p,n)          do { (w)->AreaPtrn = p; (w)->AreaPtSz = n; } while (0)
   75 
   76 #define SetOPen(w,c)            do { (w)->AOlPen = c; (w)->Flags |= AREAOUTLINE; } while (0)
   77 #define SetWrMsk(w,m)           do { (w)->Mask = m; } while (0)
   78 
   79 #define SafeSetOutlinePen(w,c)  do { if (GfxBase->LibNode.lib_Version < 39) SetOPen(w,c); else SetOutlinePen(w,c); } while (0)
   80 #define SafeSetWriteMask(w,m)   do { if (GfxBase->LibNode.lib_Version < 39) SetWrMsk(w,m); else SetWriteMask(w,m); } while (0)
   81 
   82 #define GetOPen(rp)             GetOutlinePen(rp)
   83 
   84 #define BNDRYOFF(w)             do { (w)->Flags &= ~AREAOUTLINE; } while (0)
   85 
   86 #define CINIT(c,n)              UCopperListInit(c,n)
   87 #define CMOVE(c,a,b)            do { CMove(c,&a,b); CBump(c); } while (0)
   88 #define CWAIT(c,a,b)            do { CWait(c,a,b); CBump(c); } while (0)
   89 #define CEND(c)                 do { CWAIT(c,10000,255); } while (0)
   90 
   91 #define DrawCircle(rp,cx,cy,r)  DrawEllipse(rp,cx,cy,r,r)
   92 #define AreaCircle(rp,cx,cy,r)  AreaEllipse(rp,cx,cy,r,r)
   93 
   94 #endif /* OLD_GRAPHICS_GFXMACROS_H */
   95 
   96 
   97 #endif /* GRAPHICS_GFXMACROS_H */