6.0
Table Of Contents
- PlanetPress Talk Basics
- PlanetPress Talk Editor
- Key Concepts
- Detailed Directions
- Enter a New Program in the Editor
- Import or Export a Program
- Save a Program
- Print a Program
- Exit the PlanetPress Talk Editor
- Show or Hide the Commands Area or Spy List
- Adjust the Sizes of the Commands Area, Code Area and Spy List
- Expand or Collapse Command Groups
- Enter Commands in the Editor
- Use Command and Variable Name Completion
- PlanetPress Talk Summary
- Variables
- Operators and Operator Functions
- Loop and Condition Structures
- Commands
- Add a Comment
- Work with Emulations
- Work with Data Pages
- Work with Database Records
- Select or Define a Data Value
- Execute Documents and Document Elements
- Work with PostScript
- Work with PPDs
- Save and Restore the Current Graphics State
- Work with Global Functions
- Define and Assign Values to Variables
- Work with Objects
- Work with Bar Codes
- Work with Images and Attachments
- Work with Text
- Work with Styles
- Work with Strings
- Work with Characters
- Work with Arrays and Color Arrays
- Draw
- Search
- Debug
- Language Reference
- Language Reference (Alphabetical)
- % (procedure)
- @ (function)
- @name (function/procedure)
- @page (procedure)
- $element (procedure)
- + (operator & function)
- - (operator)
- * (operator)
- / (operator)
- > (operator)
- >= (operator)
- < (operator)
- <= (operator)
- = (operator)
- := (operator)
- <> (operator)
- Add (function)
- And (Boolean operator function)
- Arc (procedure)
- ArcN (procedure)
- BeginParagraph … EndParagraph (procedure)
- BeginUTF8Paragraph … EndUTF8Paragraph (procedure)
- BitmapWidth/BitmapHeight (function)
- Breakpoint (procedure)
- C128 (function)
- CallPPD (procedure)
- Char (function)
- Ceil (function)
- ClearPage (procedure)
- ClosePath (procedure)
- Cos (function)
- CRLF (procedure)
- Current (system object)
- currentiteration (variable)
- CurToStr (function)
- CurveTo/RCurveTo (procedure)
- Date (function)
- Define (procedure)
- DefineData (procedure)
- DefineImageIndex (procedure)
- Directory
- Div (function)
- DoForm (procedure)
- &EOJob (system variable)
- EPSWidth/EPSHeight (function)
- Eq (function)
- ExecPage (procedure)
- Exit (procedure)
- Field (function)
- FieldCount (function)
- FieldName (function)
- Fill (procedure)
- Find (function)
- &FirstSide (system variable)
- FloatToInt (function)
- FloatToStr (function)
- For… EndFor (procedure)
- Function @name (procedure)
- GE (function)
- Get (function)
- GetBlack (function)
- GetCyan (function)
- GetMagenta (function)
- GetNextDataPage(procedure)
- GetYellow (function)
- GRestore (procedure)
- GSave (procedure)
- GT (function)
- &Height (system variable)
- If (function)
- If … ElseIf… EndIf (procedure)
- IntToFloat (function)
- IntToStr (function)
- InStream... EndInStream (procedure)
- IsNumber (function)
- IsPageEmpty (function)
- iterationcount (variable)
- LE (function)
- Left (function)
- Length (function)
- LineTo/RLineTo (procedure)
- LowerCase (function)
- LT (function)
- MapUTF8 (function)
- Margin (procedure)
- Mid (function)
- Mod (function & procedure)
- MoveTo/RMoveTo (procedure)
- Mul (function)
- NE (function)
- Neg (function)
- Not (Boolean operator function)
- Object $name()... EndObject (procedure)
- Or (Boolean operator function)
- Ord (function)
- OutputDebugString (procedure)
- PassThrough (procedure)
- PDFPageCount (function)
- PDFWidth/PDFHeight (function)
- Physical (system object)
- Pie (procedure)
- PixelHeight (function)
- PixelWidth (function)
- Pos (function)
- &PrinterMode (system variable)
- Put (procedure)
- Random (function)
- Rectangle (procedure)
- RectFill (procedure)
- RectFillStroke (procedure)
- RectStroke (procedure)
- Repeat... Until (procedure)
- ResourceType (function)
- Right (function)
- RunPS (procedure)
- Scale (procedure)
- Search … EndSearch (procedure)
- SelectMedia (procedure)
- Set (procedure)
- SetAngle (procedure)
- SetBodyText (procedure)
- SetDash(procedure)
- SetDataPage(procedure)
- SetEmailAddress (procedure)
- SetEmailSubject (procedure)
- SetEmulation(procedure)
- SetFaxInformation (procedure)
- SetFaxNumber (procedure)
- SetFillColor (procedure)
- SetStyle (procedure)
- SetStyleExt (procedure)
- SetImageIndex (procedure)
- SetLineWidth (procedure)
- SetLPP(procedure)
- SetPDFBookmark (procedure)
- SetStrokeColor (procedure)
- Show / ShowCenter / ShowRight (procedure)
- ShowBarCode (procedure)
- ShowBitmap (procedure)
- ShowEPS (procedure)
- ShowLeftRight (procedure)
- ShowPage (procedure)
- ShowPDF (procedure)
- ShowUTF8 (procedure)
- ShowUTF8Left / ShowUTF8Right / ShowUTF8Center (procedure)
- Sin (function)
- StopJob (procedure)
- Store (procedure)
- &Str (system variable)
- StringReplace (function)
- StringWidth (function)
- StringWidthUTF8 (function)
- Strip (function)
- Stroke (procedure)
- StrokeAndFill (procedure)
- StrToCur (function)
- StrToFloat (function)
- StrToInt (function)
- Sub (function)
- SubRecCount (function)
- System (system object)
- Time (function)
- Translate (procedure)
- Trim (function)
- TrimLeft (function)
- TrimRight (function)
- UpperCase (function)
- &Width (system variable)
- XOr (Boolean operator function)
- xmlCount()
- xmlGet()
- xmlResetRoot()
- xmlSetRoot()
- Language Reference (Alphabetical)
- Conversion Tables
- Index
103
GSave (procedure)
This command saves all current system parameters, which can later be restored using the grestore
command. By bracketing parts of your PlanetPress Talk programs with gsave/grestore commands, you
can make sure the current system state is preserved and remains unaffected by whatever operations your
program executes. For instance, each PlanetPress Design object, once converted to its PlanetPress Talk
scripting language equivalent, begins with a gsave command and ends with a grestore, thus ensuring
objects do not interfere with each other, or with the system.
The system parameters gsave saves include current line width, current stroke color, and current fill color.
Syntax
gsave()
Argument
None
Code Sample Example
In this example, the current position is set first and saved.
Note: gsave and grestore do not have to be issued in pairs. Issuing two consecutive gsave commands
without a call to grestore simply replaces the previously saved parameters on the stack, while issuing two
grestore commands simply restores the same stack of parameters twice.
Example
moveto( 1, 1 )
%Position is now 1,1
gsave()
%Save current state
lineto( 2, 1 )
%Position is now 2,1
lineto( 2, 2 )
%Position is now 2,2
grestore()
%Restore previous state: position is now 1,1










