home *** CD-ROM | disk | FTP | other *** search
- /*
- * ImageFX Development Header File
- * Copyright © 1991-1995 Nova Design, Inc.
- * Written by Thomas Krehbiel
- *
- * Drawing Definitions
- *
- */
-
- #ifndef SCAN_DRAW_H
-
-
- /*
- * Drawing Tool types (active drawing tool):
- *
- */
- enum Tool_Tag
- {
- DT_NONE = 0, /* No drawing */
- DT_LINE, /* Standard line */
- DT_FREEHAND1, /* Free hand, dotted line */
- DT_FREEHAND2, /* Free hand, solid line */
- DT_BOX, /* Empty box */
- DT_FILLEDBOX, /* Filled box */
- DT_OVAL, /* Empty oval */
- DT_FILLEDOVAL, /* Filled Oval */
- DT_POLY, /* Polygon */
- DT_FILLEDPOLY, /* Filled polygon */
- DT_TEXT, /* Text (obsolete) */
- DT_BRUSH, /* Rectangular Brush */
- DT_FREEBRUSH, /* Freehand Brush */
- DT_POLYBRUSH, /* Polygon Brush */
- DT_FREEFILL, /* Filled Freehand */
- DT_AIRBRUSH, /* Airbrush */
- DT_FLOOD, /* Floodfill */
- DT_CURVE, /* Curve */
- DT_MAGICWAND, /* "Magic Wand" brush pickup */
-
- /*
- * Private tools:
- */
- DT_HANDLE, /* Set brush handle */
- DT_STRETCH, /* Stretch brush (NOT USED) */
- DT_ROTATE /* Rotate brush (NOT USED) */
- };
-
-
- /*
- * Drawing Modes (OBSOLETE AS OF 2.0):
- *
- */
- enum DMode_Tag
- {
- DM_NORMAL = 0, /* Standard Matte */
- DM_DARKEN, /* Darken */
- DM_LIGHTEN, /* Lighten */
- DM_COLOR, /* Color Only */
- DM_GRADIENT, /* Gradient Fill */
- DM_COLORIZE, /* Colorize greyscale */
- DM_HUE, /* Hue Only */
- DM_SATURATION, /* Saturation Only */
- DM_VALUE, /* Value Only */
- DM_BLUR, /* Blur Area */
- DM_RUBTHRU, /* Rubthrough to Swap */
- DM_TRACE, /* Trace through to other buffer */
- DM_ADD, /* Add */
- DM_PANTOGRAPH, /* PantoGraph mode */
- };
-
- #define DM_TINT DM_HUE /* Ancient compatibility, do not use */
- #define DM_LUMA DM_VALUE /* Ancient compatibility, do not use */
-
- /*
- * Fill Mode Types:
- *
- */
- enum Fill_Tags
- {
- FM_SOLID = 0, /* Solid Fill */
- FM_VERT, /* Vertical Gradient */
- FM_HORIZ, /* Horizontal Gradient */
- FM_RADIAL, /* Radial Gradient */
- FM_WHEEL, /* Wheel Gradient (2.0) */
- FM_DIAGLR, /* Diagonal LR Gradient */
- FM_DIAGRL, /* Diagonal RL Gradient */
- FM_CROSS, /* Two Diagonal Patterns (UNUSED) */
- FM_PATTERN, /* Horizontal + Vertical Pattern (UNUSED) */
- FM_BRUSH, /* Tile with Brush */
- FM_BRUSHWARP, /* Warp brush into shape */
- FM_BRICK, /* Brick tile with Brush (2.0) */
- };
-
- /*
- * Edge Mode Types:
- *
- */
- enum Edge_Tag
- {
- EM_NORMAL = 0, /* Normal edge mode */
- EM_ANTIALIAS, /* Anti-alias edges */
- EM_FEATHERIN, /* "Feather" edges inward */
- EM_FEATHEROUT, /* "Feather" edges outward */
- EM_FEATHERBOTH, /* "Feather" edges both in and out (NOT USED) */
- EM_RESTRICT /* Restrict operations to edges (NOT USED) */
- };
-
- /*
- * Region Types:
- *
- */
- enum Area_Tag
- {
- AT_FULL = 0, /* Entire image */
- AT_BOX, /* Rectangular Region */
- AT_OVAL, /* Oval Region (2.0) */
- AT_POLY, /* Polygon Region */
- AT_FREE, /* Freehand Region */
- AT_FLOOD, /* Flood region */
- AT_BRUSH /* Brush only */
- };
-
- #define AT_WAND AT_FLOOD /* Ancient compatibility - do not use */
-
- /*
- * POINT:
- *
- * Internally used to keep track of polygons and freehand drawing.
- *
- */
- typedef struct _POINT
- {
- struct _POINT *Next; /* Next point */
- short Y, X; /* This point's location */
- short Z; /* Normally indicates pressure (ie. tablet) */
- short pad;
- } POINT;
-
-
- #define SCAN_DRAW_H
- #endif
-