/////////////////////////////////////////////////////////////////////////////// // Copyright (C) 2002-2025, Open Design Alliance (the "Alliance"). // All rights reserved. // // This software and its documentation and related materials are owned by // the Alliance. The software may only be incorporated into application // programs owned by members of the Alliance, subject to a signed // Membership Agreement and Supplemental Software License Agreement with the // Alliance. The structure and organization of this software are the valuable // trade secrets of the Alliance and its suppliers. The software is also // protected by copyright law and international treaty provisions. Application // programs incorporating this software must include the following statement // with their copyright notices: // // This application incorporates Open Design Alliance software pursuant to a license // agreement with Open Design Alliance. // Open Design Alliance Copyright (C) 2002-2025 by Open Design Alliance. // All rights reserved. // // By use of this software, its documentation or related materials, you // acknowledge and accept the above terms. /////////////////////////////////////////////////////////////////////////////// #ifndef TNW_PLOT_ENUMS_H_ #define TNW_PLOT_ENUMS_H_ /** \details Contains definitions of 2D arc sweep direction types. */ namespace NwPlotArcSweepDirection { /** \details Defines data property value types. */ enum Enum { /**Clockwise.*/ NW_PLOT_ARC_SWEEP_CLOCKWISE, /**Counter clockwise.*/ NW_PLOT_ARC_SWEEP_COUNTERCLOCKWISE }; } /** \details Contains definitions of 2D brush tile mode. */ namespace NwPlotBrushTileMode { /** \details Defines data property value types. */ enum Enum { /**None.*/ NW_PLOT_BRUSH_TILE_MODE_NONE, /**Tile.*/ NW_PLOT_BRUSH_TILE_MODE_TILE, /**Flip X.*/ NW_PLOT_BRUSH_TILE_MODE_FLIP_X, /**Flip Y.*/ NW_PLOT_BRUSH_TILE_MODE_FLIP_Y, /**Flip XY.*/ NW_PLOT_BRUSH_TILE_MODE_FLIP_XY }; } /** \details Contains definitions of 2D gradient brush method. */ namespace NwPlotGradientBrushMethod { /** \details Defines data property value types. */ enum Enum { /**Pad.*/ NW_PLOT_GRADIENT_BRUSH_SPREAD_METHOD_PAD, /**Reflect.*/ NW_PLOT_GRADIENT_BRUSH_SPREAD_METHOD_REFLECT, /**Repeat.*/ NW_PLOT_GRADIENT_BRUSH_SPREAD_METHOD_REPEAT }; } /** \details Contains definitions of 2D paper units. */ namespace NwPlotPaperUnits { /** \details Defines data property value types. */ enum Enum { /**Millimeters.*/ NW_PLOT_PAPER_UNITS_MILLIMETERS, /**Inches.*/ NW_PLOT_PAPER_UNITS_INCHES, /**Unknown.*/ NW_PLOT_PAPER_UNITS_UNKNOWN }; } /** \details Contains definitions of 2D polyline connection rules. */ namespace NwPlotPolyLineConnectRule { /** \details Defines data property value types. */ enum Enum { /**Line strip.*/ NW_PLOT_POLYLINE_CONNECT_RULE_LINE_STRIP, /**Line list.*/ NW_PLOT_POLYLINE_CONNECT_RULE_LINE_LIST }; } /** \details Contains definitions of 2D path fill rules. */ namespace NwPlotPathFillRule { /** \details Defines data property value types. */ enum Enum { /**Even odd.*/ NW_PLOT_PATH_FILL_RULE_EVEN_ODD, /**Non zero.*/ NW_PLOT_PATH_FILL_RULE_NON_ZERO, /**None.*/ NW_PLOT_PATH_FILL_RULE_NONE }; } /** \details Contains definitions of 2D stroke cap type. */ namespace NwPlotStrokeCap { /** \details Defines data property value types. */ enum Enum { /**Butt.*/ NW_PLOT_STROKE_CAP_BUTT, /**Square.*/ NW_PLOT_STROKE_CAP_SQUARE, /**Round.*/ NW_PLOT_STROKE_CAP_ROUND, /**Triangle.*/ NW_PLOT_STROKE_CAP_TRIANGLE }; } /** \details Contains definitions of 2D stroke join type. */ namespace NwPlotStrokeJoin { /** \details Defines data property value types. */ enum Enum { /**None.*/ NW_PLOT_STROKE_JOIN_NONE, /**Miter.*/ NW_PLOT_STROKE_JOIN_MITER, /**Bevel.*/ NW_PLOT_STROKE_JOIN_BEVEL, /**Round.*/ NW_PLOT_STROKE_JOIN_ROUND, /**Diamond.*/ NW_PLOT_STROKE_JOIN_DIAMOND }; } /** \details Contains definitions of 2D text horizontal alignment types. */ namespace NwPlotTextHorizontalAlignment { /** \details Defines data property value types. */ enum Enum { /**Left.*/ NW_PLOT_TEXT_LEFT, /**Center.*/ NW_PLOT_TEXT_CENTER, /**Right.*/ NW_PLOT_TEXT_RIGHT }; } /** \details Contains definitions of 2D text vertical alignment types. */ namespace NwPlotTextVerticalAlignment { /** \details Defines data property value types. */ enum Enum { /**Bottom.*/ NW_PLOT_TEXT_BOTTOM, /**Base.*/ NW_PLOT_TEXT_BASE, /**Middle.*/ NW_PLOT_TEXT_MIDDLE, /**Cap.*/ NW_PLOT_TEXT_CAP, /**Top.*/ NW_PLOT_TEXT_TOP }; } /** \details Contains definitions of 2D line pattern types. */ namespace NwPlotLinePattern { /** \details Defines data property value types. */ enum Enum { /**Invalid.*/ NW_PLOT_LINE_PATTERN_INVALID, /**Solid.*/ NW_PLOT_LINE_PATTERN_SOLID, /**Dashed.*/ NW_PLOT_LINE_PATTERN_DASHED, /**Dotted.*/ NW_PLOT_LINE_PATTERN_DOTTED, /**Dash-dot.*/ NW_PLOT_LINE_PATTERN_DASH_DOT, /**Short dash.*/ NW_PLOT_LINE_PATTERN_SHORT_DASH, /**Medium dash.*/ NW_PLOT_LINE_PATTERN_MEDIUM_DASH, /**Long dash.*/ NW_PLOT_LINE_PATTERN_LONG_DASH, /**Short dash x2.*/ NW_PLOT_LINE_PATTERN_SHORT_DASH_X2, /**Medium dash x2.*/ NW_PLOT_LINE_PATTERN_MEDIUM_DASH_X2, /**Long dash x2.*/ NW_PLOT_LINE_PATTERN_LONG_DASH_X2, /**Medium long dash.*/ NW_PLOT_LINE_PATTERN_MEDIUM_LONG_DASH, /**Medium dash - short dash - short dash.*/ NW_PLOT_LINE_PATTERN_MEDIUM_DASH_SHORT_DASH_SHORT_DASH, /**Medium long dash - short dash.*/ NW_PLOT_LINE_PATTERN_LONG_DASH_SHORT_DASH, /**Medium long dash - dot - dot.*/ NW_PLOT_LINE_PATTERN_LONG_DASH_DOT_DOT, /**Medium long dash - dot.*/ NW_PLOT_LINE_PATTERN_LONG_DASH_DOT, /**Medium long dash - dot - short dash - dot.*/ NW_PLOT_LINE_PATTERN_MEDIUM_DASH_DOT_SHORT_DASH_DOT, /**Sparse dot.*/ NW_PLOT_LINE_PATTERN_SPARSE_DOT, /**ISO dash.*/ NW_PLOT_LINE_PATTERN_ISO_DASH, /**ISO dash - space.*/ NW_PLOT_LINE_PATTERN_ISO_DASH_SPACE, /**ISO dash - long dash - dot.*/ NW_PLOT_LINE_PATTERN_ISO_LONG_DASH_DOT, /**ISO dash - long dash - double dot.*/ NW_PLOT_LINE_PATTERN_ISO_LONG_DASH_DOUBLE_DOT, /**ISO dash - long dash - triple dot.*/ NW_PLOT_LINE_PATTERN_ISO_LONG_DASH_TRIPLE_DOT, /**ISO dot.*/ NW_PLOT_LINE_PATTERN_ISO_DOT, /**ISO long dash - short dash.*/ NW_PLOT_LINE_PATTERN_ISO_LONG_DASH_SHORT_DASH, /**ISO long dash - double short dash.*/ NW_PLOT_LINE_PATTERN_ISO_LONG_DASH_DOUBLE_SHORT_DASH, /**ISO dash - dot.*/ NW_PLOT_LINE_PATTERN_ISO_DASH_DOT, /**ISO double dash - dot.*/ NW_PLOT_LINE_PATTERN_ISO_DOUBLE_DASH_DOT, /**ISO dash - double dot.*/ NW_PLOT_LINE_PATTERN_ISO_DASH_DOUBLE_DOT, /**ISO double dash - double dot.*/ NW_PLOT_LINE_PATTERN_ISO_DOUBLE_DASH_DOUBLE_DOT, /**ISO dash - triple dot.*/ NW_PLOT_LINE_PATTERN_ISO_DASH_TRIPLE_DOT, /**ISO double dash - triple dot.*/ NW_PLOT_LINE_PATTERN_ISO_DOUBLE_DASH_TRIPLE_DOT, /**Decorated tracks.*/ NW_PLOT_LINE_PATTERN_DECORATED_TRACKS, /**Wide tracks.*/ NW_PLOT_LINE_PATTERN_DECORATED_WIDE_TRACKS, /**Circle fence.*/ NW_PLOT_LINE_PATTERN_DECORATED_CIRCLE_FENCE, /**Square fence.*/ NW_PLOT_LINE_PATTERN_DECORATED_SQUARE_FENCE, }; } /** \details Contains definitions of 2D font style character traits type. */ namespace NwPlotFontStyleCharacterTraits { /** \details Defines data property value types. */ enum Enum { /**Italic.*/ NW_PLOT_FONT_ITALIC = 0x01, /**Underline.*/ NW_PLOT_FONT_UNDERLINE = 0x02, /**Strikeout.*/ NW_PLOT_FONT_STRIKEOUT = 0x04, /**Overline.*/ NW_PLOT_FONT_OVERLINE = 0x08, /**Bold.*/ NW_PLOT_FONT_BOLD = 0x10 }; } /** \details Contains definitions of 2D font character set types. */ namespace NwPlotFontStyleCharacterSet { /** \details Defines data property value types. */ enum Enum { /**ANSI.*/ NW_PLOT_FONT_CHARSET_ANSI = 0, /**Default.*/ NW_PLOT_FONT_CHARSET_DEFAULT = 1, /**Symbol.*/ NW_PLOT_FONT_CHARSET_SYMBOL = 2, /**Mac.*/ NW_PLOT_FONT_CHARSET_MAC = 77, /**Unicode.*/ NW_PLOT_FONT_CHARSET_UNICODE = 87, /**Shift JIS.*/ NW_PLOT_FONT_CHARSET_SHIFTJIS = 128, /**Hangul.*/ NW_PLOT_FONT_CHARSET_HANGUL = 129, /**Jonab.*/ NW_PLOT_FONT_CHARSET_JOHAB = 130, /**GB 2312.*/ NW_PLOT_FONT_CHARSET_GB2312 = 134, /**Chinese Big5.*/ NW_PLOT_FONT_CHARSET_CHINESEBIG5 = 136, /**Greek.*/ NW_PLOT_FONT_CHARSET_GREEK = 161, /**Turkish.*/ NW_PLOT_FONT_CHARSET_TURKISH = 162, /**Vietnamese.*/ NW_PLOT_FONT_CHARSET_VIETNAMESE = 163, /**Hebrew.*/ NW_PLOT_FONT_CHARSET_HEBREW = 177, /**Arabic.*/ NW_PLOT_FONT_CHARSET_ARABIC = 178, /**Baltic.*/ NW_PLOT_FONT_CHARSET_BALTIC = 186, /**Russian.*/ NW_PLOT_FONT_CHARSET_RUSSIAN = 204, /**Thai.*/ NW_PLOT_FONT_CHARSET_THAI = 222, /**Eash Europe.*/ NW_PLOT_FONT_CHARSET_EASTEUROPE = 238, /**OEM.*/ NW_PLOT_FONT_CHARSET_OEM = 255 }; } /** \details Contains definitions of 2D font sytle weight types. */ namespace NwPlotFontStyleWeight { /** \details Defines data property value types. */ enum Enum { /**Default.*/ NW_PLOT_FONT_WEIGHT_DEFAULT = 0, /**Thin.*/ NW_PLOT_FONT_WEIGHT_THIN = 100, /**Extra light.*/ NW_PLOT_FONT_WEIGHT_EXTRALIGHT = 200, /**Light.*/ NW_PLOT_FONT_WEIGHT_LIGHT = 300, /**Normal.*/ NW_PLOT_FONT_WEIGHT_NORMAL = 400, /**Medium.*/ NW_PLOT_FONT_WEIGHT_MEDIUM = 500, /**Semi bold.*/ NW_PLOT_FONT_WEIGHT_SEMIBOLD = 600, /**Bold.*/ NW_PLOT_FONT_WEIGHT_BOLD = 700, /**Extra bold.*/ NW_PLOT_FONT_WEIGHT_EXTRABOLD = 800, /**Heavy.*/ NW_PLOT_FONT_WEIGHT_HEAVY = 900 }; } /** \details Contains definitions of 2D font pitch types. */ namespace NwPlotFontPitch { /** \details Defines data property value types. */ enum Enum { /**Default.*/ NW_PLOT_FONT_PITCH_DEFAULT = 0, /**Fixed.*/ NW_PLOT_FONT_PITCH_FIXED = 1, /**Variable.*/ NW_PLOT_FONT_PITCH_VARIABLE = 2 }; } /** \details Contains definitions of 2D font family types. */ namespace NwPlotFontFamily { /** \details Defines data property value types. */ enum Enum { /**Don't care.*/ NW_PLOT_FONT_DONTCARE = 0, /**Roman.*/ NW_PLOT_FONT_ROMAN = 0x010, /**Swiss.*/ NW_PLOT_FONT_SWISS = 0x020, /**Modern.*/ NW_PLOT_FONT_MODERN = 0x030, /**Script.*/ NW_PLOT_FONT_SCRIPT = 0x040, /**Decorative.*/ NW_PLOT_FONT_DECORATIVE = 0x050 }; } /** \details Contains definitions of 2D embedded font request. */ namespace NwPlotEmbeddedFontRequest { /** \details Defines data property value types. */ enum Enum { /**Raw.*/ NW_PLOT_TTEMBED_RAW = 0x00000000, /**Subset.*/ NW_PLOT_TTEMBED_SUBSET = 0x00000001, /**TT Compressed.*/ NW_PLOT_TTEMBED_TTCOMPRESSED = 0x00000004, /**Fail if variations simulated.*/ NW_PLOT_TTEMBED_FAILIFVARIATIONSIMULATED = 0x00000010, /**Embed EUDC.*/ NW_PLOT_TTEMBED_EMBEDEUDC = 0x00000020, /**Validation Tests.*/ NW_PLOT_TTEMBED_VALIDATIONTESTS = 0x00000040, /**WEB Object.*/ NW_PLOT_TTEMBED_WEBOBJECT = 0x00000080, /**Encrypt data.*/ NW_PLOT_TTEMBED_ENCRYPTDATA = 0x10000000 }; } /** \details Contains definitions of 2D embedded font privelege. */ namespace NwPlotEmbeddedFontPrivilege { /** \details Defines data property value types. */ enum Enum { /**Preview print.*/ NW_PLOT_EMBED_PREVIEWPRINT = 1, /**Editable.*/ NW_PLOT_EMBED_EDITABLE = 2, /**Installabe.*/ NW_PLOT_EMBED_INSTALLABLE = 3, /**No embedding.*/ NW_PLOT_EMBED_NOEMBEDDING = 4 }; } /** \details Contains definitions of 2D embedded font character code. */ namespace NwPlotEmbeddedFontCharacterCode { /** \details Defines data property value types. */ enum Enum { /**Unicode.*/ NW_PLOT_CHARSET_UNICODE = 1, /**Symbol.*/ NW_PLOT_CHARSET_SYMBOL = 2, /**Gliph index.*/ NW_PLOT_CHARSET_GLYPHIDX = 3, /**Default.*/ NW_PLOT_CHARSET_DEFAULT = NW_PLOT_CHARSET_UNICODE }; } /** \details Contains definitions of 2D segment type. */ namespace NwPlotSegmentType { /** \details Defines data property value types. */ enum Enum { /**None.*/ NW_PLOT_SEGMENT_TYPE_NONE = 0, /**Point list.*/ NW_PLOT_SEGMENT_TYPE_POINTLIST = 1, /**Polyline.*/ NW_PLOT_SEGMENT_TYPE_POLY_LINE = 2, /**Poly Bezier.*/ NW_PLOT_SEGMENT_TYPE_POLY_BEZIER = 3, /**Quadratic Bezier.*/ NW_PLOT_SEGMENT_TYPE_QUADRATIC_BEZIER = 4, /**Circle.*/ NW_PLOT_SEGMENT_TYPE_CIRCLE = 5, /**Ellipse.*/ NW_PLOT_SEGMENT_TYPE_ELLIPSE = 6, /**Arc.*/ NW_PLOT_SEGMENT_TYPE_ARC = 7, /**Poly triangle.*/ NW_PLOT_SEGMENT_TYPE_POLY_TRIANGLE = 8 }; } #endif // TNW_PLOT_ENUMS_H_