Properties of figure objects (see figure):

Categories:
...........

Appearance | Callback Execution | Creation/Deletion | Display | Keyboard Interaction | Mouse Interaction | Object Identification | Object Position | Parent/Children | Printing/Saving | Unused

Appearance
..........

alphamap: def. 64-by-1 double
     Transparency is not yet implemented for figure objects.  alphamap is unused.

color: colorspec, def. [1   1   1]
     Color of the figure background.  See colorspec.

colormap: N-by-3 matrix, def. 64-by-3 double
     A matrix containing the RGB color map for the current axes.

graphicssmoothing: "off" | {"on"}
     Use smoothing techniques to reduce the appearance of jagged lines.

name: string, def. ""
     Name to be displayed in the figure title bar.  The name is displayed to the right of any title determined by the numbertitle property.

numbertitle: "off" | {"on"}
     Display "Figure" followed by the numerical figure handle value in the figure title bar.

Callback Execution
..................

busyaction: "cancel" | {"queue"}
     Define how Octave handles the execution of this object's callback properties when it is unable to interrupt another object's executing callback.  This is only relevant when the currently executing callback object has its interruptible property set to "off".  The busyaction property of the interrupting callback object indicates whether the interrupting callback is queued ("queue" (default)) or discarded ("cancel"). See Callbacks section.

interruptible: "off" | {"on"}
     Specify whether this object's callback functions may be interrupted by other callbacks.  By default interruptible is "on" and callbacks that make use of drawnow, figure, waitfor, getframe or pause functions are eventually interrupted. See Callbacks section.

Creation/Deletion
.................

beingdeleted: {"off"} | "on"
     Property indicating that a function has initiated deletion of the object.  beingdeleted is set to true until the object no longer exists.

closerequestfcn: string | function handle, def. "closereq"
     Function that is executed when a figure is deleted.  See closereq function.

     For information on how to write graphics listener functions see Callbacks section.

createfcn: string | function handle, def. [](0x0)
     Callback function executed immediately after figure has been created.  Function is set by using default property on root object, e.g., set (groot, "defaultfigurecreatefcn", 'disp ("figure created!")').

     For information on how to write graphics listener functions see Callbacks section.

deletefcn: string | function handle, def. [](0x0)
     Callback function executed immediately before figure is deleted.

     For information on how to write graphics listener functions see Callbacks section.

Display
.......

visible: "off" | {"on"}
     If visible is "off", the figure is not rendered on screen.

windowstate: "fullscreen" | "maximized" | "minimized" | {"normal"}
     Window state adjustment is not yet implemented for figure objects.  windowstate is unused.

windowstyle: "docked" | "modal" | {"normal"}
     The window style of a figure.  One of the following values:

     normal
          The window may be unselected and other windows may be shown in front of the window.

     modal
          The window will stay on top of all normal figures until it is dismissed.

     docked
          Unimplemented.

     Changing modes of a visible figure may cause the figure to close and reopen.

Keyboard Interaction
....................

keypressfcn: string | function handle, def. [](0x0)
     Callback function executed when a keystroke event happens while the figure has focus.  The actual key that was pressed can be retrieved using the second argument 'evt' of the function.

     For information on how to write graphics listener functions see Callbacks section.

keyreleasefcn: string | function handle, def. [](0x0)
     With keypressfcn, the keyboard callback functions.  These callback functions are called when a key is pressed/released respectively.  The functions are called with two input arguments.  The first argument holds the handle of the calling figure.  The second argument holds an event structure which has the following members:

     Character:
          The ASCII value of the key

     Key:
          Lowercase value of the key

     Modifier:
          A cell array containing strings representing the modifiers pressed with the key.

     For information on how to write graphics listener functions see Callbacks section.

windowkeypressfcn: string | function handle, def. [](0x0)
     Function that is executed when a key is pressed and the figure has focus.

     For information on how to write graphics listener functions see Callbacks section.

windowkeyreleasefcn: string | function handle, def. [](0x0)
     Function that is executed when a key is released and the figure has focus.

     For information on how to write graphics listener functions see Callbacks section.

Mouse Interaction
.................

buttondownfcn: string | function handle, def. [](0x0)
     For information on how to write graphics listener functions see Callbacks section.

contextmenu: graphics handle, def. [](0x0)
     Graphics handle of the uicontextmenu object that is currently associated to this figure object.

currentpoint (read-only): two-element vector, def. [0;    0]
     A 1-by-2 vector which holds the coordinates of the point over which the mouse pointer was when a mouse event occurred.  The X and Y coordinates are in units defined by the figure's units property and their origin is the lower left corner of the plotting area.

     Events which set currentpoint are

     A mouse button was pressed
          always

     A mouse button was released
          only if the figure's callback windowbuttonupfcn is defined

     The pointer was moved while pressing the mouse button (drag)
          only if the figure's callback windowbuttonmotionfcn is defined

hittest: "off" | {"on"}
     Specify whether figure processes mouse events or passes them to ancestors of the object.  When enabled, the object may respond to mouse clicks by evaluating the "buttondownfcn", showing the uicontextmenu, and eventually becoming the root "currentobject".  This property is only relevant when the object can accept mouse clicks which is determined by the "pickableparts" property.  See pickableparts property.

menubar: {"figure"} | "none"
     Control the display of the figure menu bar at the top of the figure.

pointer: {"arrow"} | "botl" | "botr" | "bottom" | "circle" | "cross" | "crosshair" | "custom" | "fleur" | "hand" | "ibeam" | "left" | "right" | "top" | "topl" | "topr" | "watch"
     Name of the mouse pointer shape associated with the canvas of the figure.  When pointer is "custom", the shape is determined by the pointershapecdata property.

     pointer has no effect when the figure is in zoom, pan, or rotate mode.  In this case, Octave automatically uses a pointer shape appropriate to the mode.

pointershapecdata: 16-by-16 or 32-by-32 Matrix, def. 16-by-16 double
     m-by-m matrix defining a custom pointer.  Each element defines a pixel with the element (1,1) representing the top-left pixel.  A value of 1 is colored black, a value of 2 is colored white, and all other values are rendered as transparent.

pointershapehotspot: two-element vector, def. [1   1]
     For custom pointers only pointershapehotspot defines the row and column of the pixel in pointershapecdata that is used as the pointer location.

resize: "off" | {"on"}
     Control whether the figure can be resized by dragging the window borders and corners using a mouse.  When resize is "off" mouse interactions are disabled but the figure can still be resized by changing its "position" property.

resizefcn: string | function handle, def. [](0x0)
     resizefcn is deprecated.  Use sizechangedfcn instead.

selected: {"off"} | "on"
     Property indicates whether this figure is selected.

selectionhighlight: "off" | {"on"}
     If selectionhighlight is "on", then the figure's selection state is visually highlighted.

selectiontype: "alt" | "extend" | {"normal"} | "open"
     Selection type of the latest mouse click.

     selectiontype may take different values depending on the combination of mouse button and keyboard modifier that were used:

     normal:
          Left-click.

     alt:
          Right-click or Ctrl+Left-click.

     extend:
          Shift+Left-click, Middle click, or combined Left-click and Right-click.

     open:
          Double Left-click.

sizechangedfcn: string | function handle, def. [](0x0)
     Callback triggered when the figure window size is changed.

     For information on how to write graphics listener functions see Callbacks section.

toolbar: {"auto"} | "figure" | "none"
     Control the display of the toolbar (along the bottom of the menubar) and the status bar.  When set to "auto", the display is based on the value of the "menubar" property.

windowbuttondownfcn: string | function handle, def. [](0x0)
     See windowbuttonupfcn property.

windowbuttonmotionfcn: string | function handle, def. [](0x0)
     See windowbuttonupfcn property.

windowbuttonupfcn: string | function handle, def. [](0x0)
     With windowbuttondownfcn and windowbuttonmotionfcn, the mouse callback functions.  These callback functions are called when a mouse button is pressed, dragged, or released respectively.  When these callback functions are executed, the currentpoint property holds the current coordinates of the cursor.

     For information on how to write graphics listener functions see Callbacks section.

windowscrollwheelfcn: string | function handle, def. [](0x0)
     Function that is executed when a user manipulates the mouse wheel over this figure.  The function is called with two input arguments.  The first argument holds the handle of the calling figure.  The second argument holds an event structure which has the following members:

     VerticalScrollCount:
          The number of wheel steps, typically 1 when scrolling down and -1 when scrolling up.

     VerticalScrollAmount:
          The number of lines a wheel step should scroll.  This value is always 3.

     EventName:
          The event name which is "WindowScrollWheel".

     For information on how to write graphics listener functions see Callbacks section.

Object Identification
.....................

currentaxes: graphics handle, def. [](0x0)
     Handle to the graphics object of the current axes.

currentcharacter (read-only): def. ""
     Tracking of the last key pressed is not yet implemented for figure objects.  currentcharacter is unused.

currentobject (read-only): graphics handle, def. [](0x0)
     Handle to the most recently active graphics object in the figure.

integerhandle: "off" | {"on"}
     Assign the next lowest unused integer as the Figure number.

nextplot: {"add"} | "new" | "replace" | "replacechildren"
     nextplot is used by high level plotting functions to decide what to do with axes already present in the figure.  See newplot function.

number (read-only): double
     Number of the current figure.

tag: string, def. ""
     A user-defined string to label the graphics object.

type (read-only): string
     Class name of the graphics object.  type is always "figure".

userdata: Any Octave data, def. [](0x0)
     User-defined data to associate with the graphics object.

Object Position
...............

dockcontrols: "off" | {"on"}
     Interactive figure docking is not yet implemented for figure objects.  dockcontrols is unused.

innerposition: four-element vector, def. [300   200   560   420]
     The "innerposition" property is the same as the "position" property.

outerposition: four-element vector, def. [-1  -1  -1  -1]
     Specify the position and size of the figure including the top menubar and the bottom status bar.  The four elements of the vector are the coordinates of the lower left corner and width and height of the figure.  See units property.

position: four-element vector, def. [300   200   560   420]
     Specify the position and size of the figure canvas.  The four elements of the vector are the coordinates of the lower left corner and width and height of the figure.  See units property.

units: "centimeters" | "characters" | "inches" | "normalized" | {"pixels"} | "points"
     The unit used to compute the position and outerposition properties.

Parent/Children
...............

children (read-only): vector of graphics handles, def. [](0x1)
     Graphics handles of the figure's children.

handlevisibility: "callback" | "off" | {"on"}
     If handlevisibility is "off", the figure's handle is not visible in its parent's "children" property.

parent: graphics handle, def. 0
     Handle of the parent graphics object.

Printing/Saving
...............

filename: string, def. ""
     The filename used when saving the plot figure.

inverthardcopy: "off" | {"on"}
     Replace the figure and axes background color with white when printing.

paperorientation: "landscape" | {"portrait"}
     The value for the papersize, and paperposition properties depends upon paperorientation.  The horizontal and vertical values for papersize and paperposition reverse order when paperorientation is switched between "portrait" and "landscape".

paperposition: four-element vector, def. [1.3422   3.3191   5.8156   4.3617]
     Vector [left bottom width height] defining the position and size of the figure (in paperunits units) on the printed page.  The position [left bottom] defines the lower left corner of the figure on the page, and the size is defined by [width height].  For output formats not implicitly rendered on paper, width and height define the size of the image and the position information is ignored.  Setting paperposition also forces the paperpositionmode property to be set to "manual".

paperpositionmode: {"auto"} | "manual"
     If paperpositionmode is set to "auto", the paperposition property is automatically computed: the printed figure will have the same size as the on-screen figure and will be centered on the output page.  Setting the paperpositionmode to "auto" does not modify the value of the paperposition property.

papersize: two-element vector, def. [8.5000   11.0000]
     Vector [width height] defining the size of the paper for printing.  Setting the papersize property to a value, not associated with one of the defined papertypes and consistent with the setting for paperorientation, forces the papertype property to the value "<custom>".  If papersize is set to a value associated with a supported papertype and consistent with the paperorientation, the papertype value is modified to the associated value.

papertype: "<custom>" | "a" | "a0" | "a1" | "a2" | "a3" | "a4" | "a5" | "arch-a" | "arch-b" | "arch-c" | "arch-d" | "arch-e" | "b" | "b0" | "b1" | "b2" | "b3" | "b4" | "b5" | "c" | "d" | "e" | "tabloid" | "uslegal" | {"usletter"}
     Name of the paper used for printed output.  Setting papertype also changes papersize, while maintaining consistency with the paperorientation property.

paperunits: "centimeters" | {"inches"} | "normalized" | "points"
     The unit used to compute the paperposition property.  The conversion from physical units (e.g., "inches") is dependent on the screenpixelsperinch property of the root object.

renderer: {"opengl"} | "painters"
     Rendering engine used for printing when renderermode is "manual".  Setting renderer also forces the renderermode property to be set to "manual".

renderermode: {"auto"} | "manual"
     Control whether the rendering engine used for printing is chosen automatically or specified by the renderer property.  See print function.

Unused
......

clipping: "off" | {"on"}
     clipping is unused.

pickableparts (read-only): "all" | "none" | {"visible"}
     pickableparts is unused.