1 #ifndef CLIB_CYBERGRAPHICS_H
    2 #define CLIB_CYBERGRAPHICS_H
    3 
    4 #ifndef UTILITY_TAGITEM_H
    5 #include <utility/tagitem.h>
    6 #endif
    7 
    8 #ifndef UTILITY_HOOKS_H
    9 #include <utility/hooks.h>
   10 #endif
   11 
   12 #ifndef GRAPHICS_RASTPORT_H
   13 #include <graphics/rastport.h>
   14 #endif
   15 
   16 #ifndef GRAPHICS_VIEW_H
   17 #include <graphics/view.h>
   18 #endif
   19 
   20 
   21 #ifdef __cplusplus
   22 extern "C" {
   23 #endif /* __cplusplus */
   24 
   25 struct List *AllocCModeListTagList(struct TagItem *);
   26 #if !defined(USE_INLINE_STDARG)
   27 struct List *AllocCModeListTags(Tag, ...);
   28 #endif
   29 ULONG        BestCModeIDTagList(struct TagItem *);
   30 #if !defined(USE_INLINE_STDARG)
   31 ULONG        BestCModeIDTags(Tag, ...);
   32 #endif
   33 ULONG        CModeRequestTagList(APTR, struct TagItem *);
   34 #if !defined(USE_INLINE_STDARG)
   35 ULONG        CModeRequestTags(APTR, Tag, ...);
   36 #endif
   37 void         CVideoCtrlTagList(struct ViewPort *, struct TagItem *);
   38 #if !defined(USE_INLINE_STDARG)
   39 void         CVideoCtrlTags(struct ViewPort *, Tag tag1, ...);
   40 #endif
   41 void         DoCDrawMethodTagList(struct Hook *, struct RastPort *, struct TagItem *);
   42 #if !defined(USE_INLINE_STDARG)
   43 void         DoCDrawMethodTags(struct Hook *, struct RastPort *, Tag, ...);
   44 #endif
   45 ULONG        ExtractColor(struct RastPort *,struct BitMap *,ULONG,ULONG,ULONG,ULONG,ULONG);
   46 ULONG        FillPixelArray(struct RastPort *, UWORD, UWORD, UWORD, UWORD, ULONG);
   47 void         FreeCModeList(struct List *);
   48 ULONG        GetCyberIDAttr(ULONG, ULONG);
   49 ULONG        GetCyberMapAttr(struct BitMap *, ULONG);
   50 ULONG        InvertPixelArray(struct RastPort *, UWORD, UWORD, UWORD, UWORD);
   51 BOOL         IsCyberModeID(ULONG);
   52 APTR         LockBitMapTagList(APTR,struct TagItem *);
   53 #if !defined(USE_INLINE_STDARG)
   54 APTR         LockBitMapTags(APTR, Tag, ...);
   55 #endif
   56 ULONG        MovePixelArray(UWORD, UWORD, struct RastPort *, UWORD, UWORD, UWORD,
   57 							UWORD);
   58 ULONG        ReadPixelArray(APTR, UWORD, UWORD, UWORD, struct RastPort *, UWORD,
   59 							UWORD, UWORD, UWORD, UBYTE);
   60 ULONG        ReadRGBPixel(struct RastPort *, UWORD, UWORD);
   61 LONG         ScalePixelArray(APTR,UWORD,UWORD,UWORD,struct RastPort *,UWORD,
   62 							 UWORD,UWORD,UWORD,UBYTE);
   63 void         UnLockBitMap(APTR);
   64 ULONG        WritePixelArray(APTR, UWORD, UWORD, UWORD, struct RastPort *, UWORD,
   65 							 UWORD, UWORD, UWORD, UBYTE);
   66 ULONG        WriteLUTPixelArray(APTR, UWORD, UWORD, UWORD, struct RastPort *, APTR,
   67 								UWORD, UWORD, UWORD, UWORD, UBYTE);
   68 LONG         WriteRGBPixel(struct RastPort *, UWORD, UWORD, ULONG);
   69 void         UnLockBitMapTagList(APTR, struct TagItem *);
   70 #if !defined(USE_INLINE_STDARG)
   71 void         UnLockBitMapTags(APTR, Tag, ...);
   72 #endif
   73 
   74 /*** V43 ***/
   75 
   76 ULONG        WritePixelArrayAlpha(APTR, UWORD, UWORD, UWORD, struct RastPort *, UWORD,
   77 								  UWORD, UWORD, UWORD, ULONG);
   78 void         BltTemplateAlpha(UBYTE *, LONG, LONG, struct RastPort *, LONG, LONG, LONG, LONG );
   79 void         ProcessPixelArray(struct RastPort *,ULONG,ULONG,ULONG,ULONG,ULONG,LONG,struct TagItem *);
   80 
   81 /*** V50 ***/
   82 
   83 ULONG        BltBitMapAlpha(struct BitMap *, WORD, WORD, struct BitMap *, WORD, WORD, WORD, WORD, struct TagItem *);
   84 ULONG        BltBitMapRastPortAlpha(struct BitMap *, WORD, WORD, struct RastPort *, WORD, WORD, WORD, WORD, struct TagItem *);
   85 
   86 
   87 /*** V51 ***/
   88 
   89 LONG         ScalePixelArrayAlpha(APTR,UWORD,UWORD,UWORD,struct RastPort *,UWORD,
   90 							 UWORD,UWORD,UWORD,ULONG);
   91 /*** V52 ***/
   92 
   93 LONG         ScaleMapRastPortAlpha(struct BitMap *,ULONG,ULONG,ULONG,ULONG,struct RastPort *,ULONG,
   94 							 ULONG,ULONG,ULONG,struct TagItem *);
   95 
   96 
   97 #ifdef __cplusplus
   98 }
   99 #endif /* __cplusplus */
  100 
  101 
  102 #endif /* CLIB_CYBERGRAPHICS_H */