home *** CD-ROM | disk | FTP | other *** search
- #ifndef EGS_EGSBLIT_H
- #define EGS_EGSBLIT_H
-
- /***************************************************************************\
- *
- * $
- * $ FILE : egsblit.h
- * $ VERSION : 1
- * $ REVISION : 4
- * $ DATE : 08-Dec-93 12:45
- * $
- * $ Author : mvk
- * $
- *
- *****************************************************************************
- * *
- * (c) Copyright 1990/94 VIONA Development *
- * All Rights Reserved *
- * *
- \***************************************************************************/
-
- #ifndef EXEC_TYPES_H
- #include <exec/types.h>
- #endif
- #ifndef EXEC_PORTS_H
- #include <exec/ports.h>
- #endif
- #ifndef EGS_EGS_H
- #include <egs/egs.h>
- #endif
-
-
- /*
- * This library offers basic drawing functions. These are especially func-
- * tions that might later be implemented by a blitter in some future
- * version of a graphic boards.
- *
- * Therefore these functions should be used whenever possible.
- *
- * Moreover, the library forms the base for other libraries such as EGSLayers,
- * EGSGfx and EGSIntui. If the library is implemented for any other graphic
- * boards, the other libraries will run without change.
- *
- * Programs that abide by this convention face a safe future.
- *
- * In favour of speed, the library neglects heavier management. Most func-
- * tions are contained in one version with and one version without clipping.
- * That clipping is rather rudimentary since it supports only one rectangle.
- *
- */
-
-
-
- /*
- * ClipRect, ClipRectPtr
- *
- * Definition of a clipping rectangle. The values are inclusive, i.e. they
- * are located inside the rectangle.
- * The "Next" field is ignored by EGSBlit but used by EGSLayers.
- *
- */
-
- typedef struct EB_ClipRect *EB_ClipRectPtr;
-
- struct EB_ClipRect {
-
- EB_ClipRectPtr Next;
- WORD Left, Top, Right, Bottom;
- };
-
-
-
- /*
- * ColorTable, Image
- *
- * Many times you use predefined images for icons. As video organization is
- * different in different video modes, images are stored in a general, bit-
- * plane oriented way and can be inflated on need to different bit depths.
- *
- * To achieve this an array must be specified containing the color values
- * that are wanted for the image.
- */
-
- /*
- * Note:
- * Differing from the Cluster .def file, ColorTable is defined as the
- * type contained in the color table instead of the array itself. Thus
- * ColorTablePtr is declared differently, either.
- *
- */
-
- typedef ULONG EB_ColorTable;
- typedef EB_ColorTable *EB_ColorTablePtr;
-
- typedef struct EB_Image *EB_ImagePtr;
-
- struct EB_Image {
-
- WORD Width, Height, Depth;
- WORD Pad_1;
- APTR Planes [8];
- };
-
-
-
- /*
- * ColorDes, ColorDesPtr
- *
- * Descriptor for text output.
- *
- * ColorDes
- * .Front : Front pen color.
- * .Back : Back pen color if transparent = FALSE.
- * .Transparent : if TRUE the background shines through
- * (thru for US guys) "holes".
- */
-
- typedef struct EB_ColorDes *EB_ColorDesPtr;
-
- struct EB_ColorDes {
-
- ULONG Front, Back;
- UBYTE Transparent;
- UBYTE Pad_1, Pad_2, Pad_3;
- };
-
-
- /*
- * ImageDesPtr, ImageDes
- *
- * Object description for "FillMask".
- *
- * ImageDes
- * .Colors : Filling colors.
- * .Left,
- * .Top,
- * .Width,
- * .Height : Borders of the object.
- */
-
- typedef struct EB_ImageDes *EB_ImageDesPtr;
-
- struct EB_ImageDes {
-
- struct EB_ColorDes Colors;
- WORD Left, Top, Width, Height;
- };
-
- /*
- * Polygon, PolygonPtr
- *
- * Description of a polygon for PolygonFill. The array size is not limited.
- */
-
- struct EB_Polygon {
- WORD X, Y;
- };
-
- typedef struct EB_Polygon *EB_PolygonPtr;
-
- #endif /* EGS_EGSBLIT_H */
-
-