Graphics Environment: 8.6 Graphics Strings: Editing GStrings Dynamically

Up: GEOS SDK TechDocs| Up | Prev: 8.5 Drawing and Scanning | Next: 8.7 Parsing GStrings
GrEditGString(), GrDeleteGStringElement()

Applications may find cause to dynamically alter an existing GString. You might create a sort of template GString and want to fill in some parts at a later time. If you will draw several similar GStrings, it might be nice to use a single GString, but change only certain parts before drawing each time.

GrEditGString() allows you to edit an existing GString. It only works with VM-based GStrings. Calling GrEditGString() allocates a new GState and associates it with the GString. Any drawing commands to this GState will be appended to the GString. You may use GrDrawGString() (along with appropriate GSControl values) and GrSetGStringPos() to change position within the GString, allowing you to insert new commands into the middle of the GString.

The GrDeleteGStringElement() routine allows you to delete any number of GString elements. The elements deleted will be taken starting at your position in the GString. This command only works while editing the GString, and you must pass the GString's editing GState handle to this routine.


Up: GEOS SDK TechDocs| Up | Prev: 8.5 Drawing and Scanning | Next: 8.7 Parsing GStrings