typedef ByteEnum GStringElement; /* The following elements are defined : (Miscellaneous GString opcodes:) GR_END_STRING,
GR_COMMENT, (data: variable (word (length of code), code)) GR_NULL_OP, GR_SET_GSTRING_BOUNDS, (data: 8 bytes (4 swords)) GR_LABEL, (data: 2 bytes (word)) GR_ESCAPE, (data: variable (word (size of code), code)) GR_NEW_PAGE, (Coordinate Transform opcodes:) GR_APPLY_ROTATION, (data: 4 bytes (WWFixed))
GR_APPLY_SCALE, (data: 8 bytes (2 WWFixed)) GR_APPLY_TRANSLATION, (data: 8 bytes (2 WWFixed)) GR_APPLY_TRANSFORM, (data: 26 bytes (4 WWFixed, 2 DWFixed)) GR_APPLY_TRANSLATION_DWORD, (data: 8 bytes (2 sdwords)) GR_SET_TRANSFORM, (data: 26 bytes (4 WWFixed, 2 DWFixed)) GR_SET_NULL_TRANSFORM, GR_SET_DEFAULT_TRANSFORM, GR_INIT_DEFAULT_TRANSFORM, GR_SAVE_TRANSFORM, GR_RESTORE_TRANSFORM, (Output opcodes:) GR_DRAW_LINE, (data: 8 bytes (4 swords)) GR_DRAW_LINE_TO, (data: 4 bytes (2 swords)) GR_DRAW_REL_LINE_TO (data: 8 bytes (2 WWFixed)) GR_DRAW_HLINE, (data: 6 bytes (3 swords)) GR_DRAW_HLINE_TO, (data: 2 bytes (sword)) GR_DRAW_VLINE, (data: 6 bytes (3 swords)) GR_DRAW_VLINE_TO, (data: 2 bytes (sword)) GR_DRAW_POLYLINE, (data: variable (word (# of points), points) GR_DRAW_ARC, (data: 14 bytes (ArcCloseType, 6 swords)) GR_DRAW_ARC_3POINT, (data: 14 bytes (ArcCloseType, 6 swords)) GR_DRAW_ARC_3POINT_TO, (data: 10 bytes (ArcCloseType, 4 swords)) GR_DRAW_REL_ARC_3POINT_TO, (data: 18 bytes (ArcCloseType, 4 WWFixed)) GR_DRAW_RECT, (data: 8 bytes (4 swords)) GR_DRAW_RECT_TO, (data: 4 bytes (2 swords)) GR_DRAW_ROUND_RECT, (data: 10 bytes (word, 4 swords)) GR_DRAW_ROUND_RECT_TO, (data: 6 bytes (word, 2 swords)) GR_DRAW_SPLINE, (data: variable (word (# of points), points)) GR_DRAW_SPLINE_TO, (data: variable (word (# of points), points)) GR_DRAW_CURVE, (data: 16 bytes (8 swords)) GR_DRAW_CURVE_TO, (data: 12 bytes (6 swords)) GR_DRAW_REL_CURVE_TO, (data: 24 bytes (6 WWFixed)) GR_DRAW_ELLIPSE, (data: 8 bytes (4 swords)) GR_DRAW_POLYGON, (data: variable (word (# of points), points)) GR_DRAW_POINT, (data: 4 bytes (2 words)) GR_DRAW_POINT_CP, GR_BRUSH_POLYLINE, (data: variable (word (# of points), 2 bytes, points))
GR_DRAW_CHAR, (data: 5 bytes) (Chars, 2 swords)) GR_DRAW_CHAR_CP, (data: 1 byte) (Chars)) GR_DRAW_TEXT, (data: variable (sword, sword, word (length of string), string (not null terminated)))
GR_DRAW_TEXT_CP, (data: variable (word (length of string), string (not null terminated)))
GR_DRAW_TEXT_PTR, (data: 6 bytes (2 swords, (char *))) GR_DRAW_TEXT_OPTR, (data: 6 bytes (2 swords, optr)) GR_DRAW_PATH, GR_FILL_RECT, (data: 8 bytes (4 swords)) GR_FILL_RECT_TO, (data: 4 bytes (2 swords)) GR_FILL_ROUND_RECT, (data: 10 bytes (4 swords, word)) GR_FILL_ROUND_RECT_TO, (data: 6 bytes (2 swords, word)) GR_FILL_ARC, (data: 14 bytes (ArcCloseType, 6 swords)) GR_FILL_POLYGON, (data: variable (word (# of points), RegionFillRule, points))
GR_FILL_ELLIPSE, (data: 8 bytes (2 swords)) GR_FILL_PATH, (data: 1 byte (RegionFillRule)) GR_FILL_ARC_3POINT, (data: 14 bytes (ArcCloseType, 6 swords)) GR_FILL_ARC_3POINT_TO (data: 10 bytes (ArcCloseType, 4 swords)) GR_FILL_BITMAP, (data: 6 bytes (2 swords, word)) GR_FILL_BITMAP_CP, (data: 2 bytes (word)) GR_FILL_BITMAP_OPTR, GR_DRAW_BITMAP, (data: 6 bytes (2 swords, word)) GR_DRAW_BITMAP_CP, (data: 2 bytes (word)) GR_DRAW_BITMAP_OPTR, (data: 6 bytes (2 swords, optr)) GR_DRAW_BITMAP_PTR, (data: 6 bytes (2 swords, *)) GSE_BITMAP_SLICE, (data: variable) (Drawing Attribute opcodes:) GR_SAVE_STATE, GR_RESTORE_STATE, GR_SET_MIX_MODE, (data: 1 byte (MixMode)) GR_MOVE_TO, (data: 4 bytes (2 swords)) GR_REL_MOVE_TO, (data: 8 bytes (2 WWFixed)) GR_CREATE_PALETTE, GR_DESTROY_PALETTE, GR_SET_PALETTE_ENTRY, (data: 4 bytes (Color, 3 bytes)) GR_SET_PALETTE, (data: variable (word (# of entries), entries (3 bytes each)))
GR_SET_LINE_COLOR, (data: 3 bytes (3 bytes)) GR_SET_LINE_MASK, (data: 1 byte (SysDrawMask)) GR_SET_LINE_COLOR_MAP, (data: 1 byte (ColorMapMode)) GR_SET_LINE_WIDTH, (data: 4 bytes (WWFixed)) GR_SET_LINE_JOIN, (data: 1 byte (LineJoin)) GR_SET_LINE_END, (data: 1 byte (LineEnd)) GR_SET_LINE_ATTR, (data: 9 bytes (CF_RGB, 3 bytes, SysDrawMask, ColorMapMode, LineEnd, LineJoin, LineStyle)
GR_SET_MITER_LIMIT, (data: 4 bytes (WWFixed)) GR_SET_LINE_STYLE, (data: 2 bytes (LineStyle, index)) GR_SET_LINE_COLOR_INDEX, (data: 1 byte (Color)) GR_SET_CUSTOM_LINE_MASK, (data: 8 bytes (8 bytes)) GR_SET_CUSTOM_LINE_STYLE, (data: variable (word (index), word (# of on-off dash pairs),
pairs (each pair is 2 bytes))) GR_SET_AREA_COLOR, (data: 3 bytes (3 bytes) GR_SET_AREA_MASK, (data: 1 byte (SysDrawMask)) GR_SET_AREA_COLOR_MAP, (data: 1 byte (ColorMapMode)) GR_SET_AREA_ATTR, (data: 6 bytes (CF_RGB, 3 bytes, SysDrawMask, ColorMapMode))
GR_SET_AREA_COLOR_INDEX, (data: 1 byte (Color)) GR_SET_CUSTOM_AREA_MASK, (data: 8 bytes (8 bytes)) GR_SET_AREA_PATTERN, (data: 2 bytes (GraphicPattern)) GR_SET_CUSTOM_AREA_PATTERN, (data: variable (GraphicPattern, word (size of data) pattern data))
GR_SET_TEXT_COLOR, (data: 3 bytes (3 bytes)) GR_SET_TEXT_MASK, (data: 1 byte (SysDrawMask)) GR_SET_TEXT_COLOR_MAP, (data: 1 byte (ColorMapMode)) GR_SET_TEXT_STYLE, (data: 2 bytes (2 TextStyles)) GR_SET_TEXT_MODE, (data: 2 bytes (2 TextModes)) GR_SET_TEXT_SPACE_PAD, (data: 3 bytes (WBFixed)) GR_SET_TEXT_ATTR, (data: 20 bytes (CF_RGB, 3 bytes, SysDrawMask, ColorMapMode, 2 TextStyles, 2 TextModes, WBFixed, FontID, word))
GR_SET_FONT, (data: 5 bytes (WBFixed, FontID)) GR_SET_TEXT_COLOR_INDEX, (data: 1 byte (Color)) GR_SET_CUSTOM_TEXT_MASK, (data: 8 bytes () GR_SET_TRACK_KERN, (data: 2 bytes (sword)) GR_SET_FONT_WEIGHT, (data: 2 bytes (FontWeight)) GR_SET_FONT_WIDTH, (data: 2 bytes (FontWidth)) GR_SET_SUPERSCRIPT_ATTR, (data: 2 bytes (position, scale)) GR_SET_SUBSCRIPT_ATTR, (data: 2 bytes (position, scale)) GR_SET_TEXT_PATTERN, (data: 2 bytes (GraphicPattern)) GR_SET_CUSTOM_TEXT_PATTERN, (data: variable (GraphicPattern, word (size of data), pattern data))
(Path opcodes:) GR_BEGIN_PATH, (data: 1 byte (PathCombineParam)) GR_END_PATH, GR_SET_CLIP_RECT, (data: 8 bytes (4 swords)) GR_SET_WIN_CLIP_RECT, (data: 8 bytes (4 swords)) GR_CLOSE_SUB_PATH, GR_SET_CLIP_PATH, (data: 1 byte (flags)) GR_SET_WIN_CLIP_PATH, (data: 1 byte (flags)) GR_SET_STROKE_PATH */
Each Graphics String Element consists of a
GStringElement
value specifying the type of element and the data associated with the element's operation. For instance, GR_DRAW_CHAR operations need six bytes of data: two bytes holding the
Chars
value of the character to draw, and two signed words specifying the drawing coordinates.
A good place to find out about the data associated with a particular
GStringElement
type is the
GS...()
macros defined in
gstring.h
.
GEOS SDK TechDocs
|
|
GeoWorksVisContentGCNListType ...
|
GStringErrorType ...