`
`Pad++
`
`EXHIBIT
`Petitioner - Motorola
`
`PX 1006
`
`Motorola PX 1006_1
`
`Motorola PX 1006_1
`
`
`
`
`
`
`
`P++ Reference Manual
`
`
`
`
`
`
`
`Motorola PX 1006_2
`
`
`
`Reference Guide
`
`Page 1 of 84
`
`Pad++ Reference Manual
`
`(Version 0.2.7)
`
`Introduction
`
`This reference manual describes the complete Tci API to Pad++. It describes how to create and modiry a pad widgct, and all the commands
`associated with a pad widget that allow you to create and modify items, attach event bindings to them, navigate within the pad widget. etc.
`
`This document in organized into the following sections:
`
`• Padwish synopsis
`• Tel synopsis
`• Widget-Specific Options
`• Widget Commands
`• Overview ofltem Types
`• Default Bindings
`• Global TCL Variables
`• KPL-I'ad++ Interface
`
`Each section contains all the relevant entries in alphabetical ordcr. Related commands and options are also grouped togcther here 10 show
`which commands are related. Every command and itemconfigure option are listed.
`
`Related Commands and Options
`
`Items
`
`lI110cimageill Allocate data for an image item
`
`CICeate il1l Create new items
`
`http://www.cs. umd.edulhcillpad++/documentationldoc-0.2. 7/reflreC whole/ref-whole-2.html 1/19/2012
`
`Motorola PX 1006_3
`
`
`
`Reference Gu ide
`
`Page 2 of84
`
`deletel..!.2l [)clete existing items
`
`HndQll Search for items by various keys
`
`freeilllage ll!..l Free data from an image item
`
`iteraconfigure1!!l. Configure existing items
`
`lower1!ll Push W1 item lower in the drawing order
`
`piel:ll.ll Find the item under a point
`
`popeoordframescil!l Pop a relative coordinate frame off of the stack
`
`pushcoordframell!l Add a new relative coordinate frame to the stack
`
`raisell1l Bring an item higher in the drawing order
`
`reutcoordrameJ!U Reset coordinate frame stack to empty
`
`setidil1l. Change the id of an item
`
`textl1.ll Modify text item
`
`type11lU Getthc type ofan item
`
`-urow l.TI!.I Some items only: Whether 10 draw arrow heads with this item
`
`-arrowshapellll Some items only: The shape of drawn arrow heads
`
`-di ther H1.I Some items only: Render with dithering
`
`-filell1l Some items only: File an item should be defined by
`
`-heightill Height ofan item. Normally computed automatically. but can be set
`
`-htllll!:Q1 Some items only: The HTML item associated with an htmlanehor
`
`-htmhnchoullil Some items only: The anchors associated with an HTML page
`
`-imageilll Some items only: Image data associated wilh item (allocated by allocimage)
`
`-infoill A place to store application-specific information with an ilem
`
`-ismapil!l Some items only: True if an htmlanchor is an image map
`
`-locl:ill Locks nn item so it can not be modified or deleted
`
`-,Ute.[!ll Somc items only: State of an item (such as visited. unvisited. etc.)
`
`-sticky l..!.±I Specifies if an item should stay put when the view changes
`
`-title.i1.2l Some items only: Title of an item
`
`-udl!!J. Some items only: 1be URL associated with an item
`
`-widthllll Width of Wl item. Normally computed automatically, but can be sct
`
`-1oomaction!lli A script thai gets evaluated when an item is scaled larger or snlBlIer than 8 SCI size
`
`Item Transformations
`
`bbox 121 Get the bounding box of an item
`
`http://www.cs. umd.edulhcil/pad++/documentationldoc-0.2.7/reflreCwhole/ref-whole-2.htmll I 19120 12
`
`Motorola PX 1006_4
`
`
`
`Reference Guide
`
`Page 3 of84
`
`eoor<ls.il.§.l Change the coordinates of an item
`
`qetshe 1J2l Get the Si7.e of an item (possibly within portals)
`
`seolle1!.U Change the size of an item relatively
`
`sli<le11!l Move an item relatively in (x, y)
`
`-anehorill lbe pan of the item that -place refers to
`
`- pbeel!ll Transfonnation of an item - Translation (x. y). and magnification (z)
`
`-xllll X componenent of -place transfonnation
`
`- yQ1l Y componenent of -place transfonnation
`
`- t.11a Z componene nt of -place transfonnalion
`
`View Transformations
`
`eenter.L!U Change the view so as 10 center an item
`
`eenter bboxil1l Change the view so as to center a bounding box
`
`qetview.1!ll Get the current view (possibly within portals)
`
`IDOvetoll!!l Change the view (possibly within portals)
`
`zoom l.&ll Zoom the view around 8 speci fied point
`
`- viewscript l.!21 A script that gets evaluated wherte\'er the view is changed
`
`- viewl1!l Some items only: Specifies the view this item sees
`
`- lookon.1!1l Some items only: Specifics thc pad widget this item sees
`
`Tags
`
`addtaq ill Add a tag to an item
`
`<lel eteug.1!ll [)clete a tag from an item
`
`<lug l..!.2l Synonym for ddetetag
`
`getugs.1!.2l G..::t the tags an item has
`
`haaug.i!!l. l)ctennine if an item has a particular tag
`
`-ugsl!ll List of tags associated with an item
`
`Events
`
`addmoclit'hrill Add a new user-defined modifier for future use
`
`bin<lil.!U Create. modify. access. or delete event bindings
`
`http://www.cs.umd.edulhc il/pad++/documentationldoc-0.2. 7/reflref _ whole/ref-whole-2.html 111 9/20 12
`
`Motorola PX 1006_5
`
`
`
`Reference Guide
`
`Page 4 of 84
`
`bindtags1!!l Specify whether events should go to the most-specific or most-general description
`
`deletemodifiergQl Delete a user-defined modifier
`
`focus1l.!:ti Set the focus for keyboard events
`
`getmodilier !Mil Get the current user-defined modifier
`
`setmodifierlill Make the specified user-defined modifier the current one
`
`-events HI True if item receives events, false otherwise
`
`Groups
`
`addgroupmeroberlll Add an item to a group
`
`getgroupilll Get the group an item belongs to
`
`removegroupmember~ Remove an item from a group
`
`-divisible IMil True if events go through a group to its members
`
`-membeullll The list ofmembcrs ora group
`
`Layout
`
`gridilll Layout pad items in a grid as with the Tk grid command
`
`tree 1111 Layout pad items with a dynamic graphical-fisheye view tree
`
`Rendering
`
`damage l.!1!l Specify that a group of items needs to be redrawn
`
`update.i22l Force any requested render requests to occur immediately
`
`-alwaysrender ill True if the item must be rendered, e\'cn if the system is slow and the item is small
`
`-borderll!.l Some items only: Specifics border color ofitem
`
`-borderwidth llll Some items only: SpeCifies width of border
`
`-capstylelill Some items only: Specifies how to draw line ends
`
`- faderangeill Range o\'cr which an item fades in or out
`
`-filll12..l Some items only: Specifies fill color of item
`
`-font Llll Some items only: Speci fics font to use for lext
`
`-joinsty lel2!l Some items only: Specifies how to draw the joints wilhin multi-poinllines
`
`-layerill The layer an item is on
`
`-noisedata ~ Some items only: Specifies parameters 10 render item with noise
`
`http://www.cs.umd.eduihcillpad++/documentationldoc-0.2.7/reflreCwhole/ref-whole-2.htmll / 19/20 12
`
`Motorola PX 1006_6
`
`
`
`Reference Guide
`
`Page 5 of 84
`
`-1NI>:shel!ill The maximum size an item is rendered it (absolute or relative to window size)
`
`- ra.inshe l!!l The minimum size an item is rendered it (absolute or relative to window si7..c)
`
`-pen lJ!ll Some items only: Specifies pen color of item
`
`-penwidth ~ Some items only: Specifies width of pen
`
`-relief.1!ll Some items only: Specifies how a border should be rendered
`
`- transpareneYil!l Tmnspareney of an item. 0 is completely transparent. I is completely opaque
`
`-vbiblelayersil!l. The layers that are visible within this view (just for ponals and pad surface. item Il l )
`
`File 1/0
`
`readil!J. Read a .pad file
`
`write.l!!ll Writc a .pad file (all the items on a widget)
`
`M iscellaneous
`
`configun.1!ll. Modify the pad widget
`
`infol!ll. Oct type-sped fie information about an item
`
`blinked ~ Determine if the top-level window that a pad widget is in has been mapped yet
`
`aetlanguagell!l. Set the language to be used for future caJback scripts
`
`settoplevel.l1ll Sel the language to be used by the lOp-level interpreter
`
`windowsh.pe..l.!ll Modi fy the shape of the lop-level window that a pad widget is in
`
`Uti lities
`
`clockil.!l. Create II clock to measure elapsed milliseconds
`
`getdne 1m Oct the current date in unix fonnat
`
`getpads Lll.l Gct a list of al! pad widgets currently defined
`
`line2.pline.1!ll Generate points for a spline that approximate a line
`
`nobeilll. Generate 'perlin' noise
`
`padxylll.l COO'Jen a window point (x, y) to pad coordinates
`
`.pline2Une11!l. Generate points for II line that approximate a spline
`
`urlfeteh1!Ql. Retrieve a URL over the internet in the background
`
`- doneseriptil!l Some items only: A seript to evaluate when a background action has completed
`
`-erroncript Q2 Some items only: A script to evaluate when a background action has an error
`
`-updateseript I..:ffi..I Some items only: A script to evaluate when a background action has made progress
`
`Re nderscripts
`
`http://v.'WW.cs.urnd.edu/hcil/pad++/documentation/doc·O.2. 7/re flreC whole/ref-whole·2.html 1/19/2012
`
`Motorola PX 1006_7
`
`
`
`Reference Guide
`
`Page 6 of84
`
`allocborderill Allocate a border for future rendering
`
`alloccol.or1:U Allocate a color for future rendering
`
`all.ocimage ill Allocate a image for future rendering
`
`dra wimage Ib!I Draw an image within a renderscript
`
`dra wlinel£!l Draw a line within a renderscript
`
`drawpolygon ~ Draw a polygon with in a renderscript
`
`drawtext l1fr.l Draw text within a renderscript
`
`freeborder l12l Free a border previously allocated
`
`fre ecolor ll.Ql Free a color previously allocated
`
`f reeirnageilll Free an image previously allocated
`
`getlevelll:!l Get the render level within a renderscript
`
`getmag~ Get the current magnification within a rendcrscript
`
`getporta19U!l Get the list of pon als being rendered within duri ng a renderscript
`
`ge ttextbboxliil Get the bounding box of a text string
`
`re nderi tem1!.Ql Render an item in a render cal lback
`
`s e tcaps t yle.!.m Specify how thc end caps of lines should be drawn
`
`s e tfont il..ll Specify the font to be used for renderscript drawing
`
`s e tfontheightl!!l Specify the font height 10 be used for renderscript drawing
`
`setjoinstylel§.!l Specify how the joints within multi-point lines should be drawn
`
`setlinewidth.12.Ql Specify the penwidth of lines when they arc drawn
`
`-rende ucriptl!..ll A script that gets evaluated every time an item is rendered
`
`- bb ~ A scri pt that gets cvaluated to specify the bounding box ofan item
`
`De bugging
`
`pt i nttreellU Print all the items on the pad surface in their internaltTCC structure
`
`E xte ns io ns
`
`addopt i on ill Create a new option for an existing type
`
`addt ype.ln Crealc a new item type
`
`Executables
`
`When Pad++ is built and installed correctly. there arc two executablc files that may be run. padwish runs a version of the Tel interpreter
`extended with the pad widget. This is a complete superset o f the standard Tk wish program. The pad command is the sole addition which is
`described below. In addition. the Pad++ distri bution comcs with an application wTi!!cn cntirely in Tcl called PadDraw. This application is a
`gcneral-purpose drawing and demo program that shows many capabili!ies of the pad widget. PadDraw is staned by running the pad script
`
`http://wwv.' .cs. umd.edulhcil/pad++/docum entationldoc-0.2. 7/ref/reC whole/ref-whole-2.html 1/ 19/2012
`
`Motorola PX 1006_8
`
`
`
`Reference Guide
`
`Page 7 of 84
`
`which automatically runs padwish and starts the Tel program. When running PadDraw by executing pad, the Tel interpreter is not available.
`
`Padwish Synopsis
`
`padwhh [options] [arg arg ... ]
`
`Valid options are:
`
`-d~splay display
`
`Display (and screen) on which to display window.
`
`-geometry geometry
`
`Initial gcometry to use for window.
`
`-name name
`
`Usc name as the title to be displayed in the window, and as the name oftllC interpreter for send commands.
`
`-sync
`
`Execute all X server commands synchronously. so that errors are reported immediately. This will result in much slower
`execution. but it is useful for debugging.
`
`-colormap col ormap
`
`Specifies the colormap that padwish should use. If colormap is "new". then a private colormap is allocated for padwish, so
`images will look nicer (although on some systems you get a distracting Oash when you move the pointer in and out ora
`PadDraw window and the global colormap is updated).
`
`-v~ s ual vis ual
`
`Specifies the visual type that padwish should use. The valid visuals depend on the X server you are running on. Some
`common useful ones are "truecolor 24" and "trucco]or 12", which speci fy 24 bit and 12 bit mode, respective ly.
`
`-language
`
`Specifies what scripting language the top-lcvel interpreter should use. Pad++ always suppons Tel, but can be compiled 10
`use the Elk version of Scheme also. In addition, I'ad++ provides a mechanism to support other imerpretcd scripting
`languages as well. Defaults 10 'tcl'.
`
`-sharedmeroo r y
`
`Specifies if Pad++ should try and use X shared memory. Some machines (notably a particular Solaris 5.4 machine) crashes
`and the X server dies when I'ad++ is used with shared memory. so it can be disabled if there is trouble. Defaults to I (true).
`
`http://www.cs. umd.edulhcillpad++/documentationldoc-0.2.7/reOreC whole/ref-whole-2. htm l
`
`l / 19120 12
`
`Motorola PX 1006_9
`
`
`
`Reference Guide
`
`-help
`
`Print a summary of the command-line options and exit.
`
`Page 8 of 84
`
`Pass aU remaining arguments through to the script's argv variable without interpreting them. This provides a mechanism for
`passing arguments such as -namc to a script instead oflmving padwish interpret them.
`
`TeL Synopsis
`
`pad [pa thName [opti ons I I
`
`The pad command creates a new window (given by the pathName argument) and makes it into a 1'00++ widgct. [fno pa thName is specified. a
`unique top-level window name will be generated. Additional options may be specified on the command (jue or in the option database to
`coufigure aspects of the Pad++. The pad command returns the name of the created window. At the time this command is invoked, there must
`not cxist a window named pa thName, but pa thName'S parent must exisl.
`
`Once a Pad++ widget is created. there are five ways of writing Tel code for it. They are:
`
`• Configuring the widget: Each widget has sevcral configuration options that control the widget as a whole. For example, - width and (cid:173)
`height cOnlrol the geometry ofthc widgct.
`• E.xecuting widget comm ands: Thcre are many commands associated with the widget. They are actually sub-commands of the primary
`widgct command. When a new pad widget is created, a command is also created whose name is the name of the widget. For instance,
`evaluating pad . pad creates a widget named . pad. and a command named. pad. For example, to find out what the current view on the
`pad widget is, use the get v:!.e ... command with: . pad 'letvie ....
`• Creating items on the widget: Each pad widget can contain many graphical items. such as lines, text. etc. These are all created with the
`create sub-command. For example, .pad create line 0 0 10 10 creates a line rrom the origin to the point(IO, 10).
`• Configuring those items: Once items have been created they can be modified with the itemconfigure sub-command. For examp[e,
`supposing that the previous line had an id of2, we could change its pen co[or and width with: . pad i temconfigure 2 -pen red -
`pen ... idth .')
`• Accessing globa l Pad variables: The pad widgct declares cenain global Tel variables that can be used by applications. For example, to
`see thc current version of Pad++, examine the Pad_Version variable.
`
`This version or Pad++ works only with TcI7.5f1'k4. I.
`
`Note that in this reference manual. optional paranleters are listed in square brackets, [ ... J, Whilc this is traditional for reference documentation,
`thc TclfT'k documentation uses ? .. . ? 10 denote optional paranlcters in order to avoid confusion with the meaning of[ .. ] in the Tcllanguage. We
`decided to risk the confusion with Tel for the increased clarity of squarc brackets.
`
`Widget-Specific Options
`
`Name: background
`
`Class: Background
`
`Command-Line Switch: -bac kground
`
`Specifies the normal background color to usc when displaying the widget.
`
`Example:
`
`http://www.cs.umd.edu/hci l/pad++/documentationldoc-O.2.7/Tef/Teewholelref-whole-2.html
`
`l/19/20 12
`
`Motorola PX 1006_10
`
`
`
`Reference Guide
`
`Page 9 of84
`
`.pad config -background gray50
`
`Name: closeEnough
`
`Class: CloseEnough
`
`Command-Line Switch: -closeEnough
`
`Specifies a noming-point value indicating how close the mouse cursor must be to an item before it is considered to be "Oll~ the
`item. Defaults to 3.0.
`
`Name: colorCubeSize
`
`Class: ColorCllheSiz e
`
`Command-Line Switch: -colorCubeSize
`
`Specifics how many colors to allocate for images. Whenever images are displayed, the system tries to allocate coiorCubeSizc3
`colors. For example, if colorCubeSize is 5, then 5·5·5 or 125 colors will allocated. IfunsuccessfuJ. smaller color cubes are tried
`successively. Default is 5.
`
`Name: cursor
`
`Class: Cur.!3or
`
`Command· Line Switch: -cursor
`
`Specifies the mouse cursor to be used for the widget. 1fie value may have any ofthc forms acceptable to l"k_GetCursor.
`
`Class: OebugBB
`
`Command-Line Switch: -debugBB
`
`Turns on and off display of bounding boxcs. Default is O.
`
`Name: debugEvent
`
`Class: OebugEvent
`
`Command-Line Switch: -debugEvent
`
`Turns on and off debugging of events. Default is O. When event debugging is turned on. pad outputs a description o f C\'en\
`handlers as they fire. In addition. if a break or event in a handler stops some events from firing, those events no\ fired are shown.
`By default, the event debugging output goes to stdou!. however, it ean be sent to a Tel variable with the .debugOw configure
`option. Also note that PadDraw comes with a graphical interface that cremes a GUI for seeing and examining events as they fire.
`This graphical event debugger can be used in othcr pad applications. See drm fldebugevenl.lcl.
`
`http://www.cs. umd.edulhcillpad++/documentationldoc-O.2. 7/refJreC whole/ref-whole-2.html 1/19/2012
`
`Motorola PX 1006_11
`
`
`
`Reference Guide
`
`Page 10 of84
`
`Name: debuqGen
`
`Class: PebuqGen
`
`Command-Line Switch: -debugGen
`
`Turns on and ofT general debugging. Default is O.
`
`Name: debugOut
`
`Class: DebuqOut
`
`Command-Line Switch: -debugOut
`
`Conlrols where debug outpul goes. By default. debug OUlPUI is senllO Sldoul. However. the -debugOIlI configure option can
`specify a Tel variable that all debug outpul will be appended 10. It is then possible to set a Tel trace on that variable to be notified
`whenever debug output is available. Currently, only -drbllgEvem uses the -debllgOut variable.
`
`Example: Evaluating" . pad confiq -debugOut too H will cause all future debug output 10 be appended to the Tel variable 'faa'.
`
`Name: debugRegion
`
`Class: DebugRegion
`
`Command-Line Switch: -debugRegion
`
`Turns on and ofT visual display of portion of the screen that actually gets re-rcndered, Used to debug region management. Default
`isO.
`
`Name: debug-sUt
`
`Class: PebugSta t
`
`Command-Line Switch: -debugstat
`
`Turns on and off status line on the Pad (for debugging). Default is O. The status line shows the total number of items on the pad
`surface, the number of items checked for rendering. and the number of items actually rendered during the most recent render.
`
`Name: dehultRenderLevel.
`
`Class: DefllultRenderLevel.
`
`Command-Line Switch: -defllultRenderLevel
`
`Specifies the default render level to use to display the Pad if no specific level is speCified. The render level is generally used for
`efficiency where render level 0 is the fastest and least pretty way to render the pad (texi is uglier. smaller items are not rendered.
`some items are rendered at a lower resolution). As the render level goes higher, the pad is rendered slower and prellier
`
`http://www.cs.umd.edulhcillpad++/docurnentationldoc-0.2.7/reflreCwhole/ref-whole-2.htmll 119/20 12
`
`Motorola PX 1006_12
`
`
`
`Reference Guide
`
`Page 11 of84
`
`Name; desiredFrameRate
`
`Class: DesiredFrameRate
`
`Command-Line Switch: -desiredFrameRate
`
`Specifies the desired frame rate (in frames per second). This number is used by the rad++ rendering engine to decide how to
`render the scene while animating. If a high frame rate is requested. small objects may not be rendercd (see -alwaysrender) flag,
`and some objects may be rendered at low resolution. The default is 20 frames/second.
`
`Name: dissolveSpeed
`
`Class: DissolveSpeed
`
`Command-Line Switch: -dissolveSpeed
`
`Specifics how quickly dissolves should occur upon refinement. When the pad widget refines, it uses a dissolve effect instead of a
`simple buffer swap. l"e dissolve is controlled by -dissolveSpeed. This option may vary between 0 and 3 where 0 is a simple buffer
`swap. I is a fast dissolve, and 3 is the slowest dissolve. The default is 2.
`
`Name: doubleBuffer
`
`Class: DoubleBuffer
`
`Command-Line Switch: -doubleBuffer
`
`Specifies if the system should use double buffering for rendering. If doubleBuffer is set to 0 (00). renclcring will be a little faster,
`but the screen will flash quite a bi!. Mostly useful for debugging. Default is I.
`
`Name: enableOpaque
`
`Class: EnableOpaque
`
`Command-Line Switch: -enableOpaque
`
`Nonnally, objects which are completely behind opaque objects are not rendered. Tum this flag off to !Urn ofT this efficiency
`mcthod. Default is 1.
`
`Name: fastPan
`
`Class: FastPan
`
`Command-Line Switch: -fastPan
`
`Pad++ nonnaHy does fast pans, i.e., copying the ponion of the screen that doesn't change, and re-rendering the new portion. This
`results in an approximation which can make the view be ofT by up to a half of a pixel. Fast panning can be disabled by setting this
`flag to 0 which results in slower but more accurate pans. Default is I.
`
`http://www.cs. umd.edulhcil/pad++/documentationldoc-O.2. 7/ref/reC whole/ref-whole-2.html 1/19/2012
`
`Motorola PX 1006_13
`
`
`
`Reference Guide
`
`Page 12 of 84
`
`Name: fontCacheSize
`
`Class: fontCacheSize
`
`Command-Line Switch: -fontCacheSize
`
`POO++ employs a simple caching mechanism when drawing text in Type I fonts, The caching mechanism remembers what si7..e,
`font and bitmap it used when it last drew a particular character. and if that character is drawn again at the same size and font,
`poo++ reuses the last bitmap image for that character rather than generating the bitmap for the character from its outline
`description. This greatly increases the speed of rendcring large quantities of tex\.
`
`You can configure thc caching mechanism using the -jomCacheSize option. The font cache size is measured in Kilobytes (rounded
`
`to the nearest lOOK). Setting -jonlCacheSize to ° turns off font caching. and characters are always drawn from their outl ine
`
`descriptions. The default value is I()() which produces significantly faster font rendering than using no font cache. Values above
`100 have a lesser impact on pcrfommnce. but may be effective for applications which usc a lot of text with different fonts and
`sizes.
`
`Name: ga"",,a
`
`Class: Gamma
`
`Command-Line Switch: -ganuna
`
`Specifies 'gamma' used for allocating colors for images. This number controls how light or dark an image appears to be. Larger
`numbers will make images appear lighter. Default is 1.0.
`
`Name: height
`
`Class: Height
`
`Command-Line Switch: -height
`
`Specifics the height of the Pad in pixels. Dcfaults to 400.
`
`Name: heightmmofscreen
`
`Class: HeightMMOfScreen
`
`Command-Line Switch: -heightmmofscreen
`
`Specifies the height of the physical screcn in millimeters. Normally, Ihis information is given by the X scrver. but sometimes it is
`incorrect (for example, on SOme laptops). If it is incorrect, coordinates on the Pad++ surface will be incorrect. If this valllC is sct to
`0, the X server information will be used. Defaults to O.
`
`Nanle: interruptible
`
`Class: int erruptible
`
`Command-Line Switch: -interruptible
`
`http://www.cs.umd.edulhcil/pad++/documentationldoc·0.2. 7/ref/reC whole/ref-who le-2.html 1/19/2012
`
`Motorola PX 1006_14
`
`
`
`Reference Guide
`
`Page 130f84
`
`If this flag is true (I), then animations and slow renders will be interrupted by events (mouse and keyboard). Defaults to true ( 1).
`
`Name: maxZoom
`
`Class: Hadoom
`
`Command-Line Switch: -max zoom
`
`This controls the maximum zoom (in and out) that any view is allowed. This way, it not possible to crash pad by zoonting in or out
`too far. It defaults to 100.000.000 which gives 16 orders of magnitude of zooming (8 in and 8 out). Note that the amount one can
`zoom in is detennined by the product of the (x, y) position and thc zoom. So, while you can zoom into the position (0, 0,
`100000000), you can only zoom into (1000. 1000. 100000). Selling -m{]);zoom to 0 disables the checking.
`
`Name: refinementDelay
`
`Class: RefinementDelay
`
`Command-Line Switch: -re£inementDelay
`
`Specifies the delay in milliseconds after the last X event to stan refinemcnt. Default is 1000.
`
`Name: sync
`
`Class: Sync
`
`Command-Line Switch: -sync
`
`Specifics if X event synchronization should be turned on. When it is on. the X server executes every command as it is exccuted
`rather than caching them and executing commands in groups. Generally useful just for debugging. Default is 0.
`
`Name: uni t s
`
`Class: Unit~
`
`Command-Line Switch: -uni ts
`
`Specifies unit dimensions for all coordinates used by Pad++. It can be any of "points". "mm". "inches". or "pixels". Defauh is
`points.
`
`Name: width
`
`Class: Width
`
`Command-Line Switch: -width
`
`Specifies the width of the Pad in pixels. Defaults 10 400.
`
`http://www.cs.umd.edulhciUpad++/documentationldoc-O.2.7/reflrefwhole/ref-whole-2.htmII119/20 12
`
`Motorola PX 1006_15
`
`
`
`Reference Guide
`
`Page 140f84
`
`Name: widthrnmofsc:reen
`
`Class: WidthMMOfScre e n
`
`Command-Line Switch: -widthnvnofscreen
`
`Specifies the width of the physical screen in millimeters. Nonnally. this information is given by the X server, but sometimes it is
`incorrect (for example, some laptops). If it is incorrect, coordinates on the Pad++ surface will be incorrect. If this value is set to 0,
`the X server information will be used. Defaults to O.
`
`Widget Commands
`
`The pad command creates a new Tel command whose name is p<lthNa me. This command may be used to invoke various operations on the
`widget. It has the following general form:
`
`pathName option [arg arg ... J
`
`Optioll and the args determine the exact behavior of the command. The following widget commands are possible for Pad++
`widgets:
`
`[II p athNa me addgroupmember [- no transformj tagOr l d groupTagOrld
`
`Add all items specified by togOr/d to the group specified by groZlpTogOrld. I fgroupTogOrld specifics more than one item. the
`first one is used. The items are added to the end of the group in the order specified by IOg0r/d. Groups automatically update their
`bounding boxes to enclose all of their members. Thus, they will grow and shrink as their members change.
`
`By default, items are transformed so they don't change their location when added 10 a group, even if the group has a
`transformation. This is implemented by transforming the item's transformation to be the inverse of the group's transformation. If
`the -llotralls/orm Oag is specified, this inverse transformation is not applied. and the item will move by the group's transformation
`when added. (Also see the removegroupme mbe r, and getgroup commands). Returns an empty string.
`
`Example ;
`
`sct idO [.pad create line 0 0 100 100]
`
`254
`
`sct id I l.pad create line -10 20 80 -60J
`
`255
`
`set gid l.pad create group -members "$idO Sid I"]
`
`256
`
`.pad ic $gid -members
`
`254255
`
`set id3 l.pad create rectangle -20 -20 130 40)
`
`http://www.cs.umd.edu/hci I/pad++/documentationldoc-0.2. 7/reflref wholelref·whole· 2.html 1/19/20 12
`
`Motorola PX 1006_16
`
`
`
`Reference Guide
`
`266
`
`Page 150f84
`
`.pad addgroupmember Sid3 $gid
`
`.pad ic $gid -members
`
`254255266
`
`; ........... j .. :
`
`I '<: I
`
`.pad removcgroupmembcr $idO Sgid
`
`.pad ic $gid -members
`
`255266
`
`/
`
`I 'x<
`
`I
`
`........... ':-.. ... ..
`
`. pad getgroup $id2
`
`256
`
`12] pathName addJoodifier modifier
`
`Define modifier to be a user-defined modifier that can be used in future event bindings. (Also see the delet;emodifier,
`set.modifier, getrnodifier. and bind commands).
`
`[3] pathName addoption [-nowritej typename optionname optionscript default
`
`Add a new option (named oplionname) 10 all objects of type typename. typenamc must either be a built-in type. a user(cid:173)
`defined type previously defined by addtype. or the special word "al!" which means that this option applics 10 all types.
`
`http://www .cs.umd.edulhci Vpad++/documentationldoc-O.2. 7lrefireC whole/ref-whole-2 .htrnl
`
`\/ 19/2012
`
`Motorola PX 1006_17
`
`
`
`Reference Guide
`
`Page 16 of84
`
`When option script is called, the following arguments will be added on to the end of the script:
`
`pathName: The name of the pad widget the item is on
`
`item: The id of the item being configured
`
`[value]: Optional value. If value is specified then the option must be sct to this value.
`
`optionscript must return the current (or new) value of the option. default specifies the dcfaul! value of this option. This is
`used to detennine if the option should be written OUI when the write command is executed. Note that the option will only be
`written out if the value is different than the default. If · nowrite is specified then this option won't be written out. Sec the
`section APPLI CA n ON· DEFINED ITEM TYPES AND OlyrrONS in the Programmer's Guide for more information. (Also
`see the add type command.)
`
`f4] pathName add tag- tag-ToAdd t ag-Orld
`
`For each item specified by the list oftagOrlds, add tagToAdd to the list of tags assoeimed with Ihe item ifit isn't already present on
`that list. It is possible that no items will be specifi ed by tagOrld, in which ease the command has noefTeet. This command returns
`an empty string.
`
`This command is designed to be used in conjunction with the find command. Notice the necessity of using eva l in this exanlple:
`too I . pad t i nd withtag bar]
`eval . pad addt<'lg-
`
`[5) pathName <'Iddtype typcname createscript
`
`Add typenanle to the list of allowed user defined Iypes. When a new object of type typenanle is ereated, the eremescript will
`be evaluated and it must return an object id. When createscript is evaluated the pad widget the object is being created on
`will be added on as an extra argument. followed by any parameters before the options. Sec the section APPLICATION·
`DEFINED ITEM TYPES AND OPTIONS in the Programmer's Guide for more infonnation. (Also see the addoption
`command.)
`
`[6J pathName a lloc:boICder color
`
`Allocates a border for future use by render callbacks. A border is a fake 3D border created by a slightly lighter and a slightly
`darker color than specified. Color may have any of the fonn s accepted by Tk_ GetColor. (Also see the t reeborder and
`du wboICdeIC commands).
`
`[7J pathName .. lloccol or color
`
`Allocates a color for future use by render callbacks. Color may have any of the fonns accepted by Tk_GetColor. (Also see
`the tree col or and setcolor commands).
`
`http://www.cs.wnd.edulhcil/pad++/documentationldoc-0.2.7/reflreCwhole/ref-whole-2.html l /19/20 12
`
`Motorola PX 1006_18
`
`
`
`Reference Guide
`
`Page 17 of 84
`
`[8) pathName allocimage file [-norgb]
`
`Allocates an image for future use by image objects and render callbacks. file specifies the name of a file containing an
`image. allocimage can always read gif file formats. In addition. if Pad++ is compiled with the appropriate libraries,
`a llocimage can also read jpeg and tifT image £ile fonnats, and will automatically determine the file type. Nonnally, images
`are stored internally with thcir full rgb colors in addition to a colormap index. This allows images to be rendered with
`dithering, but takes 5 bytes per pixel. If the -norgb option is specified, then the original rgb information is not stored with the
`image and the image can not be rendered with dithering. but only takes I byte per pixel. The image may have transparent
`pixels. This returns an image token which can be used by related commands. (Also see the freeirnage. drawimage, and
`info commands. and the description of imag e items.).
`
`[91 pathName bbox [-sticky] tagOrld [tagOrJd tagOrJd ... }
`
`Returns a list with four clements giving the bounding box for all the items named by the /agOrld argument(s). The list has
`the form "xl y I x2 y2" such Ihat the drawn areas of an the named clements arc within the region bounded by x I on the left,
`x2 on the right. y 1 on the bottom. and y2 on the lOp. If -sticky is specified, then the bounding box of the item in sticky
`coordinates. that is, the coordinates of a sticky item that would appear at the same location on the screen is ret urned. 1 fno
`items match any orthe /agOrJd arguments then an empty string is returned.
`
`I fthe item is sticky then bOOx returns Ihe bound