Initial import of Scalos. To decrease size I have
[AROS-Contrib.git] / scalos / main / std_includes / sfd / scalosgfx_lib.sfd
blob86a545388775740fadb556c6ef4c17bdcc4333c5
1 ==id $Id: scalosgfx_lib.sfd 230 2009-09-14 10:55:37Z jlachmann $
2 ==copyright ©2006 The Scalos Team
3 ==base _ScalosGfxBase
4 *==basetype struct Library *
5 *==libname scalosgfx.library
6 ==bias 30
7 ==public
8 ==include <intuition/classusr.h>
9 ==include <scalos/scalos.h>
10 ==include <graphics/gfx.h>
11 ==include <scalos/scalosgfx.h>
12 struct ScalosBitMapAndColor *ScalosGfxCreateEmptySAC() ()
13 struct ScalosBitMapAndColor *ScalosGfxCreateSAC(ULONG width, ULONG height, ULONG depth,
14         struct BitMap *friendBM, struct TagItem *tagList) (d0,d1,d2,a0,a1)
15 ==varargs
16 struct ScalosBitMapAndColor *ScalosGfxCreateSACTags(ULONG width, ULONG height, ULONG depth,
17         struct BitMap *friendBM, ULONG firstTag, ...) (d0,d1,d2,a0,a1)
18 VOID ScalosGfxFreeSAC(struct ScalosBitMapAndColor *sac) (a0)
19 struct gfxARGB *ScalosGfxCreateARGB(ULONG width, ULONG height, struct TagItem *tagList) (d0,d1,a0)
20 ==varargs
21 struct gfxARGB *ScalosGfxCreateARGBTags(ULONG width, ULONG height, ULONG firstTag, ...) (d0,d1,a0)
22 VOID ScalosGfxFreeARGB(struct gfxARGB **argb) (a0)
23 VOID ScalosGfxARGBSetAlpha(struct ARGBHeader *src, UBYTE alpha) (a0,d0)
24 VOID ScalosGfxARGBSetAlphaMask(struct ARGBHeader *argbh, PLANEPTR maskPlane) (a0,a1)
25 struct gfxARGB *ScalosGfxCreateARGBFromBitMap(struct BitMap *bm, ULONG width, ULONG height,
26         ULONG numberOfColors, const ULONG *colorTable, PLANEPTR maskPlane) (a0,d0,d1,d2,a1,a2)
27 VOID ScalosGfxFillARGBFromBitMap(struct ARGBHeader *argbh, struct BitMap *srcBM, PLANEPTR maskPlane) (a0,a1,a2)
28 VOID ScalosGfxWriteARGBToBitMap(struct ARGBHeader *argbh, struct BitMap *bm,
29         ULONG numberOfColors, const ULONG *colorTable) (a0,a1,d0,a2)
30 struct ScalosBitMapAndColor *ScalosGfxMedianCut(struct ARGBHeader *argbh,
31         ULONG depth, struct TagItem *tagList) (a0,d0,a1)
32 ==varargs
33 struct ScalosBitMapAndColor *ScalosGfxMedianCutTags(struct ARGBHeader *argbh,
34         ULONG depth, ULONG firstTag, ...) (a0,d0,a1)
35 struct gfxARGB *ScalosGfxScaleARGBArray(const struct ARGBHeader *src, ULONG *destWidth,
36         ULONG *destHeight, struct TagItem *tagList) (a0,a1,a2,a3)
37 ==varargs
38 struct gfxARGB *ScalosGfxScaleARGBArrayTags(const struct ARGBHeader *src, ULONG *destWidth,
39         ULONG *destHeight, ULONG firstTag, ...) (a0,a1,a2,a3)
40 struct BitMap *ScalosGfxScaleBitMap(struct ScaleBitMapArg *sbma, struct TagItem *tagList) (a0,a1)
41 ==varargs
42 struct BitMap *ScalosGfxScaleBitMapTags(struct ScaleBitMapArg *sbma, ULONG firstTag, ...) (a0,a1)
43 VOID ScalosGfxCalculateScaleAspect(ULONG sourceWidth, ULONG sourceHeight, ULONG *destWidth,
44         ULONG *destHeight) (d0,d1,a0,a1)
45 VOID ScalosGfxBlitARGB(struct ARGBHeader *destARGB, const struct ARGBHeader *srcARGB,
46         LONG destLeft, LONG destTop, LONG srcLeft, LONG srcTop, LONG width, LONG height) (a0,a1,d0,d1,d2,d3,d4,d5)
47 VOID ScalosGfxFillRectARGB(struct ARGBHeader *destARGB, const struct gfxARGB *fillARGB,
48         LONG left, LONG top, LONG width, LONG height) (a0,a1,d0,d1,d2,d3)
49 VOID ScalosGfxSetARGB(struct ARGBHeader *destARGB, const struct gfxARGB *fillARGB) (a0,a1)
50 BOOL ScalosGfxNewColorMap(struct ScalosBitMapAndColor *sac, const ULONG *colorMap, ULONG colorEntries) (a0,a1,d0)
51 VOID ScalosGfxARGBRectMult(struct RastPort *rp, const struct gfxARGB *numerator,
52         const struct gfxARGB *denominator, WORD xMin, WORD yMin, WORD xMax, WORD yMax) (a0,a1,a2,d0,d1,d2,d3)
53 VOID ScalosGfxBlitARGBAlpha (struct RastPort *rp, const struct ARGBHeader *srcH,
54         ULONG destLeft, ULONG destTop, ULONG srcLeft, ULONG srcTop, ULONG width, ULONG height) (a0,a1,d0,d1,d2,d3,d4,d5)
55 VOID ScalosGfxBlitARGBAlphaTagList(struct RastPort *rp, const struct ARGBHeader *srcH,
56         ULONG destLeft, ULONG destTop, const struct IBox *srcSize, struct TagItem *tagList) (a0,a1,d0,d1,a3,a2)
57 ==varargs
58 VOID ScalosGfxBlitARGBAlphaTags(struct RastPort *rp, const struct ARGBHeader *srcH,
59         ULONG destLeft, ULONG destTop, const struct IBox *srcSize, ULONG firstTag, ...) (a0,a1,d0,d1,a3,a2)
60 VOID ScalosGfxBlitIcon(struct RastPort *rpBackground, struct RastPort *rpIcon,
61         ULONG left, ULONG top, ULONG width, ULONG height, struct TagItem *tagList) (a0,a1,d0,d1,d2,d3,a2)
62 ==varargs
63 VOID ScalosGfxBlitIconTags(struct RastPort *rpBackground, struct RastPort *rpIcon,
64         ULONG left, ULONG top, ULONG width, ULONG height, ULONG firstTag, ...) (a0,a1,d0,d1,d2,d3,a2)
65 * --- function in v42 or higher
66 BOOL ScalosGfxDrawGradient(struct ARGBHeader *dest, LONG left, LONG top, LONG width, LONG height,
67         struct gfxARGB *start, struct gfxARGB *stop, ULONG gradType) (a0,d0,d1,d2,d3,a1,a2,d4)
68 BOOL ScalosGfxDrawGradientRastPort(struct RastPort *rp, LONG left, LONG top, LONG width,
69         LONG height, struct gfxARGB *start, struct gfxARGB *stop,
70         ULONG gradType) (a0,d0,d1,d2,d3,a1,a2,d4)
71 VOID ScalosGfxDrawLine(struct ARGBHeader *dest, LONG fromX, LONG fromY, LONG toX, LONG toY,
72         const struct gfxARGB *lineColor) (a0,d0,d1,d2,d3,a1)
73 VOID ScalosGfxDrawLineRastPort(struct RastPort *rp, LONG fromX, LONG fromY, LONG toX, LONG toY,
74         const struct gfxARGB *lineColor) (a0,d0,d1,d2,d3,a1)
75 VOID ScalosGfxDrawEllipse(struct ARGBHeader *dest, LONG xCenter, LONG yCenter, LONG radiusX,
76         LONG  radiusy, WORD segment, const struct gfxARGB *color1,
77         const struct gfxARGB *color2) (a0,d0,d1,d2,d3,d4,a1,a2)
78 VOID ScalosGfxDrawEllipseRastPort(struct RastPort *rp, LONG xCenter, LONG yCenter, LONG radiusX,
79         LONG  radiusy, WORD segment, const struct gfxARGB *color1,
80         const struct gfxARGB *color2) (a0,d0,d1,d2,d3,d4,a1,a2)
81 ==end