Up: GEOS SDK TechDocs | Up | Prev: GeoWorksVisContentGCNListType ... | Next: GStringErrorType ...

GStringElement

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 .

See Also: GOC_POINT, GOC_SW.


Up: GEOS SDK TechDocs | Up | Prev: GeoWorksVisContentGCNListType ... | Next: GStringErrorType ...