1 #ifndef CLIB_RENDER_H 2 #define CLIB_RENDER_H 3 /* 4 ** $VER: render_protos.h v29.1 (19.5.99) 5 ** 6 ** C prototype definitions 7 ** 8 ** © TEK neoscientists 9 */ 10 11 #ifndef GRAPHICS_GFX_H 12 #include <graphics/gfx.h> 13 #endif 14 15 #ifndef UTILITY_HOOKS_H 16 #include <utility/hooks.h> 17 #endif 18 19 #ifndef UTILITY_TAGITEM_H 20 #include <utility/tagitem.h> 21 #endif 22 23 #ifdef __cplusplus 24 extern "C" { 25 #endif /* __cplusplus */ 26 27 /* private functions: */ 28 29 void TurboFillMem( APTR,ULONG,UBYTE ); 30 void TurboCopyMem( APTR,APTR,ULONG ); 31 ULONG *CreateHistogramPointerArray( APTR ); 32 ULONG CountHistogram( APTR ); 33 ULONG GetPaletteAttrs( APTR, ULONG); 34 void RemapArrayA(UBYTE *source, UWORD width, UWORD height, UBYTE *dest, UBYTE *pentab, struct TagItem *); 35 void RemapArray(UBYTE *source, UWORD width, UWORD height, UBYTE *dest, UBYTE *pentab, Tag, ... ); 36 37 38 /* public functions: */ 39 40 APTR CreateRMHandlerA( struct TagItem * ); 41 APTR CreateRMHandler( Tag, ... ); 42 void DeleteRMHandler( APTR ); 43 APTR AllocRenderMem( APTR, ULONG ); 44 void FreeRenderMem( APTR, APTR, ULONG ); 45 APTR AllocRenderVec( APTR, ULONG ); 46 void FreeRenderVec( APTR ); 47 APTR AllocRenderVecClear( APTR, ULONG ); 48 49 APTR CreateHistogramA( struct TagItem * ); 50 APTR CreateHistogram( Tag, ... ); 51 void DeleteHistogram(APTR); 52 ULONG QueryHistogram( APTR, Tag ); 53 ULONG AddRGB( APTR, ULONG, ULONG ); 54 ULONG AddRGBImageA( APTR, ULONG *, UWORD, UWORD, struct TagItem * ); 55 ULONG AddRGBImage( APTR, ULONG *, UWORD, UWORD, Tag, ... ); 56 ULONG AddChunkyImageA( APTR, UBYTE *, UWORD, UWORD, APTR, struct TagItem * ); 57 ULONG AddChunkyImage( APTR, UBYTE *, UWORD, UWORD, APTR, Tag, ... ); 58 ULONG ExtractPaletteA( APTR, ULONG *, UWORD, struct TagItem * ); 59 ULONG ExtractPalette( APTR, ULONG *, UWORD, Tag, ... ); 60 ULONG RenderA( ULONG *, UWORD, UWORD, UBYTE *, APTR, struct TagItem * ); 61 ULONG Render( ULONG *, UWORD, UWORD, UBYTE *, APTR, Tag, ... ); 62 63 void Planar2ChunkyA( PLANEPTR *, UWORD, UWORD, UWORD, UWORD, UBYTE *, struct TagItem * ); 64 void Planar2Chunky( PLANEPTR *, UWORD, UWORD, UWORD, UWORD, UBYTE *, Tag, ... ); 65 ULONG Chunky2RGBA( UBYTE *, UWORD, UWORD, ULONG *, APTR, struct TagItem * ); 66 ULONG Chunky2RGB( UBYTE *, UWORD, UWORD, ULONG *, APTR, Tag, ... ); 67 void Chunky2BitMapA( UBYTE *, UWORD, UWORD, UWORD, UWORD, struct BitMap *, UWORD, UWORD, struct TagItem * ); 68 void Chunky2BitMap( UBYTE *, UWORD, UWORD, UWORD, UWORD, struct BitMap *, UWORD, UWORD, Tag, ... ); 69 70 APTR CreateScaleEngineA( UWORD, UWORD, UWORD, UWORD, struct TagItem * ); 71 APTR CreateScaleEngine( UWORD, UWORD, UWORD, UWORD, Tag, ... ); 72 void DeleteScaleEngine( APTR ); 73 ULONG ScaleA( APTR, APTR, APTR, struct TagItem * ); 74 ULONG Scale( APTR, APTR, APTR, Tag, ... ); 75 76 ULONG ConvertChunkyA( UBYTE *, APTR, UWORD, UWORD, UBYTE *, APTR, struct TagItem * ); 77 ULONG ConvertChunky( UBYTE *, APTR, UWORD, UWORD, UBYTE *, APTR, Tag, ... ); 78 void CreatePenTableA( UBYTE *, APTR, UWORD, UWORD, APTR, UBYTE *, struct TagItem * ); 79 void CreatePenTable( UBYTE *, APTR, UWORD, UWORD, APTR, UBYTE *, Tag, ... ); 80 81 APTR CreatePaletteA( struct TagItem * ); 82 APTR CreatePalette( Tag, ... ); 83 void DeletePalette( APTR ); 84 void ImportPaletteA( APTR, APTR, UWORD, struct TagItem * ); 85 void ImportPalette( APTR, APTR, UWORD, Tag, ... ); 86 void ExportPaletteA( APTR, APTR, struct TagItem * ); 87 void ExportPalette( APTR, APTR, Tag, ... ); 88 void FlushPalette( APTR ); 89 ULONG SortPaletteA( APTR, ULONG, struct TagItem * ); 90 ULONG SortPalette( APTR, ULONG, Tag, ... ); 91 92 ULONG CountRGB( APTR, ULONG ); 93 LONG BestPen( APTR, ULONG ); 94 95 ULONG AddHistogramA( APTR, APTR, struct TagItem * ); 96 ULONG AddHistogram( APTR, APTR, Tag, ... ); 97 98 UWORD ScaleOrdinate( UWORD, UWORD, UWORD ); 99 100 APTR CreateMapEngineA( APTR, struct TagItem * ); 101 APTR CreateMapEngine( APTR, Tag, ... ); 102 void DeleteMapEngine( APTR ); 103 ULONG MapRGBArrayA( APTR, ULONG *, UWORD, UWORD, UBYTE *, struct TagItem * ); 104 ULONG MapRGBArray( APTR, ULONG *, UWORD, UWORD, UBYTE *, Tag, ... ); 105 ULONG MapChunkyArrayA( APTR, UBYTE *, APTR, UWORD, UWORD, UBYTE *, struct TagItem * ); 106 ULONG MapChunkyArray( APTR, UBYTE *, APTR, UWORD, UWORD, UBYTE *, Tag, ... ); 107 108 LONG RGBArrayDiversityA(ULONG *, UWORD, UWORD, struct TagItem * ); 109 LONG RGBArrayDiversity(ULONG *, UWORD, UWORD, Tag, ... ); 110 111 LONG ChunkyArrayDiversityA(UBYTE *, APTR, UWORD, UWORD, struct TagItem *); 112 LONG ChunkyArrayDiversity(UBYTE *, APTR, UWORD, UWORD, Tag, ... ); 113 114 void InsertAlphaChannelA(UBYTE *, UWORD, UWORD, ULONG *, struct TagItem *); 115 void InsertAlphaChannel(UBYTE *, UWORD, UWORD, ULONG *, Tag, ... ); 116 void ExtractAlphaChannelA(ULONG *, UWORD, UWORD, UBYTE *, struct TagItem *); 117 void ExtractAlphaChannel(ULONG *, UWORD, UWORD, UBYTE *, Tag, ... ); 118 void ApplyAlphaChannelA(ULONG *, UWORD, UWORD, ULONG *, struct TagItem *); 119 void ApplyAlphaChannel(ULONG *, UWORD, UWORD, ULONG *, Tag, ... ); 120 void MixRGBArrayA(ULONG *, UWORD, UWORD, ULONG *, UWORD, struct TagItem *); 121 void MixRGBArray(ULONG *, UWORD, UWORD, ULONG *, UWORD, Tag, ... ); 122 void CreateAlphaArrayA(ULONG *, UWORD, UWORD, struct TagItem *); 123 void CreateAlphaArray(ULONG *, UWORD, UWORD, Tag, ... ); 124 void MixAlphaChannelA(ULONG *, ULONG *, UWORD, UWORD, ULONG *, struct TagItem *); 125 void MixAlphaChannel(ULONG *, ULONG *, UWORD, UWORD, ULONG *, Tag, ... ); 126 void TintRGBArrayA(ULONG *, UWORD, UWORD, ULONG, UWORD, ULONG *, struct TagItem *); 127 void TintRGBArray(ULONG *, UWORD, UWORD, ULONG, UWORD, ULONG *, Tag, ... ); 128 129 #ifdef __cplusplus 130 } 131 #endif /* __cplusplus */ 132 133 #endif