Added missing properties.
[AROS.git] / rom / graphics / graphics.conf
blob55cdc6a2817e6d51ba41908c7f80ec764f41b685
1 ##begin config
2 version 41.4
3 libbase GfxBase
4 libbasetype struct GfxBase_intern
5 sysbase_field gfxbase.ExecBase
6 libbasetypeextern struct GfxBase
7 residentpri 65
8 options noexpunge
9 ##end config
11 ##begin cdef
12 #include <graphics/gfx.h>
13 #include <graphics/displayinfo.h>
14 #include <graphics/gels.h>
15 #include <graphics/rastport.h>
16 #include <graphics/view.h>
17 #include <graphics/copper.h>
18 #include <graphics/clip.h>
19 #include <graphics/regions.h>
20 #include <graphics/sprite.h>
21 #include <graphics/text.h>
22 #include <graphics/scale.h>
23 #include <hardware/blit.h>
25 #include <utility/tagitem.h>
27 __BEGIN_DECLS
29 ULONG BestModeID(Tag, ...);
31 __END_DECLS
33 ##end cdef
35 ##begin cdefprivate
36 #include "graphics_intern.h"
37 ##end cdefprivate
39 ##begin functionlist
40 LONG BltBitMap(struct BitMap *srcBitMap, WORD xSrc, WORD ySrc, struct BitMap *destBitMap, WORD xDest, WORD yDest, WORD xSize, WORD ySize, ULONG minterm, ULONG mask, PLANEPTR tempA) (A0, D0, D1, A1, D2, D3, D4, D5, D6, D7, A2)
41 void BltTemplate(PLANEPTR source, WORD xSrc, WORD srcMod, struct RastPort *destRP, WORD xDest, WORD yDest, WORD xSize, WORD ySize) (A0, D0, D1, A1, D2, D3, D4, D5)
42 void ClearEOL(struct RastPort *rp) (A1)
43 void ClearScreen(struct RastPort *rp) (A1)
44 WORD TextLength(struct RastPort *rp, CONST_STRPTR string, ULONG count) (A1, A0, D0)
45 void Text(struct RastPort *rp, CONST_STRPTR string, ULONG count) (A1, A0, D0)
46 void SetFont(struct RastPort *rp, struct TextFont *textFont) (A1, A0)
47 struct TextFont *OpenFont(const struct TextAttr *textAttr) (A0)
48 void CloseFont(struct TextFont *textFont) (A1)
49 ULONG AskSoftStyle(struct RastPort *rp) (A1)
50 ULONG SetSoftStyle(struct RastPort *rp, ULONG style, ULONG enable) (A1, D0, D1)
51 void AddBob(struct Bob *bob, struct RastPort *rp) (A0, A1)
52 void AddVSprite(struct VSprite *vs, struct RastPort *rp) (A0, A1)
53 void DoCollision(struct RastPort *rp) (A1)
54 void DrawGList(struct RastPort *rp, struct ViewPort *vp) (A1, A0)
55 void InitGels(struct VSprite *head, struct VSprite *tail, struct GelsInfo *GInfo) (A0, A1, A2)
56 void InitMasks(struct VSprite *vs) (A0)
57 void RemIBob(struct Bob *bob, struct RastPort *rp, struct ViewPort *vp) (A0, A1, A2)
58 void RemVSprite(struct VSprite *vs) (A0)
59 void SetCollision(ULONG num, VOID_FUNC routine, struct GelsInfo *GInfo) (D0, A0, A1)
60 void SortGList(struct RastPort *rp) (A1)
61 void AddAnimOb(struct AnimOb *anOb, struct AnimOb **anKey, struct RastPort *rp) (A0, A1, A2)
62 void Animate(struct AnimOb **anKey, struct RastPort *rp) (A0, A1)
63 BOOL GetGBuffers(struct AnimOb *anOb, struct RastPort *rp, BOOL db) (A0, A1, D0)
64 void InitGMasks(struct AnimOb *anOb) (A0)
65 void DrawEllipse(struct RastPort *rp, WORD xCenter, WORD yCenter, WORD a, WORD b) (A1, D0, D1, D2, D3)
66 ULONG AreaEllipse(struct RastPort *rp, WORD cx, WORD cy, WORD a, WORD b) (A1, D0, D1, D2, D3)
67 void LoadRGB4(struct ViewPort *vp, UWORD *colors, WORD count) (A0, A1, D0)
68 void InitRastPort(struct RastPort *rp) (A1)
69 void InitVPort(struct ViewPort *vp) (A0)
70 ULONG MrgCop(struct View *view) (A1)
71 ULONG MakeVPort(struct View *view, struct ViewPort *viewport) (A0, A1)
72 void LoadView(struct View *view) (A1)
73 void WaitBlit() ()
74 void SetRast(struct RastPort *rp, ULONG pen) (A1, D0)
75 void Move(struct RastPort *rp, WORD x, WORD y) (A1, D0, D1)
76 void Draw(struct RastPort *rp, WORD x, WORD y) (A1, D0, D1)
77 ULONG AreaMove(struct RastPort *rp, WORD x, WORD y) (A1, D0, D1)
78 ULONG AreaDraw(struct RastPort *rp, WORD x, WORD y) (A1, D0, D1)
79 LONG AreaEnd(struct RastPort *rp) (A1)
80 void WaitTOF() ()
81 void QBlit(struct bltnode *bn) (A1)
82 void InitArea(struct AreaInfo *areainfo, void *buffer, WORD maxvectors) (A0, A1, D0)
83 void SetRGB4(struct ViewPort *vp, ULONG n, ULONG r, ULONG g, ULONG b) (A0, D0, D1, D2, D3)
84 void QBSBlit(struct bltnode *bn) (A1)
85 void BltClear(void *memBlock, ULONG bytecount, ULONG flags) (A1, D0, D1)
86 void RectFill(struct RastPort *rp, WORD xMin, WORD yMin, WORD xMax, WORD yMax) (A1, D0, D1, D2, D3)
87 void BltPattern(struct RastPort *rp, PLANEPTR mask, WORD xMin, WORD yMin, WORD xMax, WORD yMax, ULONG byteCnt) (A1, A0, D0, D1, D2, D3, D4)
88 LONG ReadPixel(struct RastPort *rp, WORD x, WORD y) (A1, D0, D1)
89 LONG WritePixel(struct RastPort *rp, WORD x, WORD y) (A1, D0, D1)
90 BOOL Flood(struct RastPort *rp, ULONG mode, WORD x, WORD y) (A1, D2, D0, D1)
91 void PolyDraw(struct RastPort *rp, LONG count, WORD *polyTable) (A1, D0, A0)
92 void SetAPen(struct RastPort *rp, ULONG pen) (A1, D0)
93 void SetBPen(struct RastPort *rp, ULONG pen) (A1, D0)
94 void SetDrMd(struct RastPort *rp, ULONG drawMode) (A1, D0)
95 void InitView(struct View *view) (A1)
96 void CBump(struct UCopList *ucl) (A1)
97 void CMove(struct UCopList *ucl, void *reg, WORD value) (A1, D0, D1)
98 void CWait(struct UCopList *ucl, WORD v, WORD h) (A1, D0, D1)
99 LONG VBeamPos() ()
100 void InitBitMap(struct BitMap *bm, BYTE depth, UWORD width, UWORD height) (A0, D0, D1, D2)
101 void ScrollRaster(struct RastPort *rp, WORD dx, WORD dy, WORD xMin, WORD yMin, WORD xMax, WORD yMax) (A1, D0, D1, D2, D3, D4, D5)
102 void WaitBOVP(struct ViewPort *vp) (A0)
103 WORD GetSprite(struct SimpleSprite *sprite, WORD pick) (A0, D0)
104 void FreeSprite(WORD pick) (D0)
105 void ChangeSprite(struct ViewPort *vp, struct SimpleSprite *s, void *newdata) (A0, A1, A2)
106 void MoveSprite(struct ViewPort *vp, struct SimpleSprite *sprite, WORD x, WORD y) (A0, A1, D0, D1)
107 void LockLayerRom(struct Layer *l) (A5)
108 void UnlockLayerRom(struct Layer *l) (A5)
109 void SyncSBitMap(struct Layer *l) (A0)
110 void CopySBitMap(struct Layer *l) (A0)
111 void OwnBlitter() ()
112 void DisownBlitter() ()
113 struct TmpRas *InitTmpRas(struct TmpRas *tmpras, void *buffer, ULONG size) (A0, A1, D0)
114 void AskFont(struct RastPort *rp, struct TextAttr *textAttr) (A1, A0)
115 void AddFont(struct TextFont *textFont) (A1)
116 void RemFont(struct TextFont *textFont) (A1)
117 PLANEPTR AllocRaster(UWORD width, UWORD height) (D0, D1)
118 void FreeRaster(PLANEPTR p, UWORD width, UWORD height) (A0, D0, D1)
119 void AndRectRegion(struct Region *Reg, struct Rectangle *Rect) (A0, A1)
120 BOOL OrRectRegion(struct Region *Reg, struct Rectangle *Rect) (A0, A1)
121 struct Region *NewRegion() ()
122 BOOL ClearRectRegion(struct Region *Reg, struct Rectangle *Rect) (A0, A1)
123 void ClearRegion(struct Region *region) (A0)
124 void DisposeRegion(struct Region *region) (A0)
125 void FreeVPortCopLists(struct ViewPort *vp) (A0)
126 void FreeCopList(struct CopList *coplist) (A0)
127 void ClipBlit(struct RastPort *srcRP, WORD xSrc, WORD ySrc, struct RastPort *destRP, WORD xDest, WORD yDest, WORD xSize, WORD ySize, UBYTE minterm) (A0, D0, D1, A1, D2, D3, D4, D5, D6)
128 BOOL XorRectRegion(struct Region *Reg, struct Rectangle *Rect) (A0, A1)
129 void FreeCprList(struct cprlist *cprList) (A0)
130 struct ColorMap *GetColorMap(ULONG entries) (D0)
131 void FreeColorMap(struct ColorMap *colormap) (A0)
132 ULONG GetRGB4(struct ColorMap *colormap, LONG entry) (A0, D0)
133 void ScrollVPort(struct ViewPort *vp) (A0)
134 struct CopList *UCopperListInit(struct UCopList *ucl, WORD n) (A0, D0)
135 void FreeGBuffers(struct AnimOb *anOb, struct RastPort *rp, BOOL db) (A0, A1, D0)
136 void BltBitMapRastPort(struct BitMap *srcBitMap, WORD xSrc, WORD ySrc, struct RastPort *destRP, WORD xDest, WORD yDest, WORD xSize, WORD ySize, ULONG minterm) (A0, D0, D1, A1, D2, D3, D4, D5, D6)
137 BOOL OrRegionRegion(struct Region *R1, struct Region *R2) (A0, A1)
138 BOOL XorRegionRegion(struct Region *R1, struct Region *R2) (A0, A1)
139 BOOL AndRegionRegion(struct Region *R1, struct Region *R2) (A0, A1)
140 void SetRGB4CM(struct ColorMap *cm, WORD n, UBYTE r, UBYTE g, UBYTE b) (A0, D0, D1, D2, D3)
141 void BltMaskBitMapRastPort(struct BitMap *srcBitMap, WORD xSrc, WORD ySrc, struct RastPort *destRP, WORD xDest, WORD yDest, WORD xSize, WORD ySize, ULONG minterm, PLANEPTR bltMask) (A0, D0, D1, A1, D2, D3, D4, D5, D6, A2)
142 # *** Two AROS-specific functions, placed in never used area ***
143 LONG AddDisplayDriverA(APTR gfxhidd, struct TagItem *attrs, const struct TagItem *tags) (A0, A1, A2)
144 void SetDisplayDriverCallback(APTR callback, APTR userdata) (A0, A1)
145 BOOL AttemptLockLayerRom(struct Layer *l) (A5)
146 .version 36
147 struct ExtendedNode *GfxNew(ULONG node_type) (D0)
148 void GfxFree(struct ExtendedNode *node) (A0)
149 void GfxAssociate(void *pointer, struct ExtendedNode *node) (A0, A1)
150 void BitMapScale(struct BitScaleArgs *bitScaleArgs) (A0)
151 UWORD ScalerDiv(UWORD factor, UWORD numerator, UWORD denominator) (D0, D1, D2)
152 void TextExtent(struct RastPort *rp, CONST_STRPTR string, ULONG count, struct TextExtent *textExtent) (A1, A0, D0, A2)
153 ULONG TextFit(struct RastPort *rp, CONST_STRPTR string, ULONG strLen, struct TextExtent *textExtent, struct TextExtent *constrainingExtent, LONG strDirection, ULONG constrainingBitWidth, ULONG constrainingBitHeight) (A1, A0, D0, A2, A3, D1, D2, D3)
154 struct ExtendedNode *GfxLookUp(void *pointer) (A0)
155 ULONG VideoControl(struct ColorMap *cm, struct TagItem *tags) (A0, A1)
156 struct MonitorSpec *OpenMonitor(STRPTR monitor_name, ULONG display_id) (A1, D0)
157 LONG CloseMonitor(struct MonitorSpec *monitor_spec) (A0)
158 DisplayInfoHandle FindDisplayInfo(ULONG ID) (D0)
159 ULONG NextDisplayInfo(ULONG last_ID) (D0)
160 ULONG AddDisplayData(APTR displayInfoRecord) (A0)
161 .private
162 ULONG AddDisplayInfoData(DisplayInfoHandle handle, UBYTE *buf, ULONG size, ULONG tagID, ULONG ID) (A0, A1, D0, D1, D2)
163 .private
164 ULONG SetDisplayInfoData(DisplayInfoHandle handle, UBYTE *buf, ULONG size, ULONG tagID, ULONG ID) (A0, A1, D0, D1, D2)
165 .private
166 ULONG GetDisplayInfoData(DisplayInfoHandle handle, UBYTE *buf, ULONG size, ULONG tagID, ULONG ID) (A0, A1, D0, D1, D2)
167 void FontExtent(struct TextFont *font, struct TextExtent *fontExtent) (A0, A1)
168 LONG ReadPixelLine8(struct RastPort *rp, WORD xstart, WORD ystart, WORD width, UBYTE *array, struct RastPort *tempRP) (A0, D0, D1, D2, A2, A1)
169 LONG WritePixelLine8(struct RastPort *rp, WORD xstart, WORD ystart, WORD width, UBYTE *array, struct RastPort *tempRP) (A0, D0, D1, D2, A2, A1)
170 WORD ReadPixelArray8(struct RastPort *rp, WORD xstart, WORD ystart, WORD xstop, WORD ystop, UBYTE *array, struct RastPort *temprp) (A0, D0, D1, D2, D3, A2, A1)
171 LONG WritePixelArray8(struct RastPort *rp, WORD xstart, WORD ystart, WORD xstop, WORD ystop, UBYTE *array, struct RastPort *temprp) (A0, D0, D1, D2, D3, A2, A1)
172 ULONG GetVPModeID(struct ViewPort *vp) (A0)
173 ULONG ModeNotAvailable(ULONG modeID) (D0)
174 WORD WeighTAMatch(const struct TextAttr *reqTextAttr, const struct TextAttr *targetTextAttr, struct TagItem *targetTags) (A0, A1, A2)
175 void EraseRect(struct RastPort *rp, WORD xMin, WORD yMin, WORD xMax, WORD yMax) (A1, D0, D1, D2, D3)
176 ULONG ExtendFont(struct TextFont *font, struct TagItem *fontTags) (A0, A1)
177 void StripFont(struct TextFont *font) (A0)
178 .version 39
179 UWORD CalcIVG(struct View *View, struct ViewPort *ViewPort) (A0, A1)
180 LONG AttachPalExtra(struct ColorMap *cm, struct ViewPort *vp) (A0, A1)
181 LONG ObtainBestPenA(struct ColorMap *cm, ULONG r, ULONG g, ULONG b, struct TagItem *tags) (A0, D1, D2, D3, A1)
182 .skip 1
183 void SetRGB32(struct ViewPort *vp, ULONG n, ULONG r, ULONG g, ULONG b) (A0, D0, D1, D2, D3)
184 ULONG GetAPen(struct RastPort *rp) (A0)
185 ULONG GetBPen(struct RastPort *rp) (A0)
186 ULONG GetDrMd(struct RastPort *rp) (A0)
187 ULONG GetOutlinePen(struct RastPort *rp) (A0)
188 void LoadRGB32(struct ViewPort *vp, const ULONG *table) (A0, A1)
189 ULONG SetChipRev(ULONG ChipRev) (D0)
190 void SetABPenDrMd(struct RastPort *rp, ULONG apen, ULONG bpen, ULONG drawMode) (A1, D0, D1, D2)
191 void GetRGB32(struct ColorMap *cm, ULONG firstcolor, ULONG ncolors, ULONG *table) (A0, D0, D1, A1)
192 .skip 1 # v39 internal GfxSpare1()
193 .skip 1 # v39 internal SetDefaultMonitor()
194 struct BitMap *AllocBitMap(UWORD sizex, UWORD sizey, ULONG depth, ULONG flags, struct BitMap *friend_bitmap) (D0, D1, D2, D3, A0)
195 void FreeBitMap(struct BitMap *bm) (A0)
196 LONG GetExtSpriteA(struct ExtSprite *sprite, struct TagItem *tags) (A2, A1)
197 ULONG CoerceMode(struct ViewPort *RealViewPort, ULONG MonitorID, ULONG Flags) (A0, D0, D1)
198 void ChangeVPBitMap(struct ViewPort *vp, struct BitMap *bm, struct DBufInfo *db) (A0, A1, A2)
199 void ReleasePen(struct ColorMap *cm, ULONG n) (A0, D0)
200 LONG ObtainPen(struct ColorMap *cm, ULONG n, ULONG r, ULONG g, ULONG b, ULONG flags) (A0, D0, D1, D2, D3, D4)
201 IPTR GetBitMapAttr(struct BitMap *bitmap, ULONG attribute) (A0, D1)
202 struct DBufInfo *AllocDBufInfo(struct ViewPort *vp) (A0)
203 void FreeDBufInfo(struct DBufInfo *db) (A1)
204 ULONG SetOutlinePen(struct RastPort *rp, ULONG pen) (A0, D0)
205 ULONG SetWriteMask(struct RastPort *rp, ULONG mask) (A0, D0)
206 void SetMaxPen(struct RastPort *rp, ULONG maxpen) (A0, D0)
207 void SetRGB32CM(struct ColorMap *cm, ULONG n, ULONG r, ULONG g, ULONG b) (A0, D0, D1, D2, D3)
208 void ScrollRasterBF(struct RastPort *rp, WORD dx, WORD dy, WORD xMin, WORD yMin, WORD xMax, WORD yMax) (A1, D0, D1, D2, D3, D4, D5)
209 ULONG FindColor(struct ColorMap *cm, ULONG r, ULONG g, ULONG b, ULONG maxpen) (A3, D1, D2, D3, D4)
210 .skip 1 # v39 internal GfxSpare2()
211 struct ExtSprite *AllocSpriteDataA(struct BitMap *bitmap, struct TagItem *tagList) (A2, A1)
212 LONG ChangeExtSpriteA(struct ViewPort *vp, struct ExtSprite *oldsprite, struct ExtSprite *newsprite, struct TagItem *tags) (A0, A1, A2, A3)
213 void FreeSpriteData(struct ExtSprite *extsp) (A2)
214 void SetRPAttrsA(struct RastPort *rp, struct TagItem *tags) (A0, A1)
215 void GetRPAttrsA(struct RastPort *rp, struct TagItem *tags) (A0, A1)
216 ULONG BestModeIDA(struct TagItem *TagItems) (A0)
217 .version 40
218 void WriteChunkyPixels(struct RastPort *rp, WORD xstart, WORD ystart, WORD xstop, WORD ystop, UBYTE *array, LONG bytesperrow) (A0, D0, D1, D2, D3, A2, D4)
219 .skip 1 # MorphOS: OpenFontTagList(struct TextAttr *textAttr, struct TagItem *tags) (A0, A1)
220 # *** AROS-specific extensions follow. Placed in MorphOS private space (20 slots). We use 13 of them. ###
221 .skip 3
222 BOOL SetRegion(struct Region *src, struct Region *dest) (A0, A1)
223 BOOL ClearRegionRegion(struct Region *R1, struct Region *R2) (A0, A1)
224 BOOL AreRegionsEqual(struct Region *R1, struct Region *R2) (A0, A1)
225 BOOL IsPointInRegion(struct Region *Reg, WORD x, WORD y) (A0, D0, D1)
226 BOOL ScrollRegion(struct Region *region, struct Rectangle *rect, WORD dx, WORD dy) (A0, A1, D0, D1)
227 struct Region *AndRectRegionND(struct Region *Reg, struct Rectangle *Rect) (A0, A1)
228 struct Region *AndRegionRegionND(struct Region *R1, struct Region *R2) (A0, A1)
229 struct Region *OrRectRegionND(struct Region *Reg, struct Rectangle *Rect) (A0, A1)
230 struct Region *OrRegionRegionND(struct Region *R1, struct Region *R2) (A0, A1)
231 struct Region *XorRectRegionND(struct Region *Reg, struct Rectangle *Rect) (A0, A1)
232 struct Region *XorRegionRegionND(struct Region *R1, struct Region *R2) (A0, A1)
233 struct Region *ClearRectRegionND(struct Region *Reg, struct Rectangle *Rect) (A0, A1)
234 struct Region *ClearRegionRegionND(struct Region *R1, struct Region *R2) (A0, A1)
235 .skip 3
236 # The following are private low-level support functions for cybergraphics.library.
237 # Do not use, can be moved at any moment!
238 LONG WritePixels8(struct RastPort *rp, UBYTE *array, ULONG modulo, WORD xstart, WORD ystart, WORD xstop, WORD ystop, APTR pixlut, BOOL do_update) (A0, A1, D0, D1, D2, D3, D4, A2, D5)
239 LONG FillRectPenDrMd(struct RastPort *rp, WORD x1, WORD y1, WORD x2, WORD y2, ULONG pix, IPTR drmd, BOOL do_update) (A0, D0, D1, D2, D3, D4, D5, D6)
240 LONG DoRenderFunc(struct RastPort *rp, Point *src, struct Rectangle *rr, APTR render_func, APTR funcdata, BOOL do_update) (A0, A1, A2, A3, A4, D0)
241 LONG DoPixelFunc(struct RastPort *rp, WORD x, WORD y, APTR render_func, APTR funcdata, BOOL do_update) (A0, D0, D1, A1, A2, D2)
242 void UpdateBitMap(struct BitMap *bitmap, UWORD x, UWORD y, UWORD width, UWORD height) (A0, D0, D1, D2, D3)
243 ##end functionlist