@c DO NOT EDIT!  Generated automatically by genpropdoc.m.

@c Copyright (C) 2014-2022 The Octave Project Developers
@c
@c This file is part of Octave.
@c
@c Octave is free software: you can redistribute it and/or modify it
@c under the terms of the GNU General Public License as published by
@c the Free Software Foundation, either version 3 of the License, or
@c (at your option) any later version.
@c
@c Octave is distributed in the hope that it will be useful, but
@c WITHOUT ANY WARRANTY; without even the implied warranty of
@c MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
@c GNU General Public License for more details.
@c
@c You should have received a copy of the GNU General Public License
@c along with Octave; see the file COPYING.  If not, see
@c <https://www.gnu.org/licenses/>.

Properties of @code{figure} objects (@pxref{XREFfigure,,figure}):

@table @asis

@anchor{XREFfigurealphamap}
@prindex figure alphamap
@item @code{alphamap}: def. 64-by-1 double
Transparency is not yet implemented for figure objects.  @code{alphamap} is unused.


@anchor{XREFfigurebeingdeleted}
@prindex figure beingdeleted
@item @code{beingdeleted}: @{@qcode{"off"}@} | @qcode{"on"}



@anchor{XREFfigurebusyaction}
@prindex figure busyaction
@item @code{busyaction}: @qcode{"cancel"} | @{@qcode{"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 @code{interruptible} property set to @qcode{"off"}.  The @code{busyaction} property of the interrupting callback object indicates whether the interrupting callback is queued (@qcode{"queue"} (default)) or discarded (@qcode{"cancel"}).
@xref{Callbacks, , @w{Callbacks section}}.


@anchor{XREFfigurebuttondownfcn}
@prindex figure buttondownfcn
@item @code{buttondownfcn}: string | function handle, def. @code{[](0x0)}
For information on how to write graphics listener functions see @ref{Callbacks, , @w{Callbacks section}}.


@anchor{XREFfigurechildren}
@prindex figure children
@item @code{children} (read-only): vector of graphics handles, def. @code{[](0x1)}
Graphics handles of the figure's children.


@anchor{XREFfigureclipping}
@prindex figure clipping
@item @code{clipping}: @qcode{"off"} | @{@qcode{"on"}@}
@code{clipping} is unused.


@anchor{XREFfigurecloserequestfcn}
@prindex figure closerequestfcn
@item @code{closerequestfcn}: string | function handle, def. @qcode{"closereq"}
Function that is executed when a figure is deleted.  @xref{XREFclosereq, , closereq function}.

For information on how to write graphics listener functions see @ref{Callbacks, , @w{Callbacks section}}.


@anchor{XREFfigurecolor}
@prindex figure color
@item @code{color}: colorspec, def. @code{[1   1   1]}
Color of the figure background.  @xref{Colors, , colorspec}.


@anchor{XREFfigurecolormap}
@prindex figure colormap
@item @code{colormap}: N-by-3 matrix, def. 64-by-3 double
A matrix containing the RGB color map for the current axes.


@anchor{XREFfigurecontextmenu}
@prindex figure contextmenu
@item @code{contextmenu}: graphics handle, def. @code{[](0x0)}
Graphics handle of the uicontextmenu object that is currently associated to this figure object.


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

For information on how to write graphics listener functions see @ref{Callbacks, , @w{Callbacks section}}.


@anchor{XREFfigurecurrentaxes}
@prindex figure currentaxes
@item @code{currentaxes}: graphics handle, def. @code{[](0x0)}
Handle to the graphics object of the current axes.


@anchor{XREFfigurecurrentcharacter}
@prindex figure currentcharacter
@item @code{currentcharacter} (read-only): def. @qcode{""}
@code{currentcharacter} is unused.


@anchor{XREFfigurecurrentobject}
@prindex figure currentobject
@item @code{currentobject} (read-only): graphics handle, def. @code{[](0x0)}



@anchor{XREFfigurecurrentpoint}
@prindex figure currentpoint
@item @code{currentpoint} (read-only): two-element vector, def. @code{[0;    0]}
A 1-by-2 matrix 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 @code{units} property and their origin is the lower left corner of the plotting area.

Events which set @code{currentpoint} are
@table @asis
@item A mouse button was pressed
always
@item A mouse button was released
only if the figure's callback @code{windowbuttonupfcn} is defined
@item The pointer was moved while pressing the mouse button (drag)
only if the figure's callback @code{windowbuttonmotionfcn} is defined
@end table


@anchor{XREFfiguredeletefcn}
@prindex figure deletefcn
@item @code{deletefcn}: string | function handle, def. @code{[](0x0)}
Callback function executed immediately before figure is deleted.

For information on how to write graphics listener functions see @ref{Callbacks, , @w{Callbacks section}}.


@anchor{XREFfiguredockcontrols}
@prindex figure dockcontrols
@item @code{dockcontrols}: @{@qcode{"off"}@} | @qcode{"on"}
@code{dockcontrols} is unused.


@anchor{XREFfigurefilename}
@prindex figure filename
@item @code{filename}: string, def. @qcode{""}
The filename used when saving the plot figure.


@anchor{XREFfiguregraphicssmoothing}
@prindex figure graphicssmoothing
@item @code{graphicssmoothing}: @qcode{"off"} | @{@qcode{"on"}@}
Use smoothing techniques to reduce the appearance of jagged lines.


@anchor{XREFfigurehandlevisibility}
@prindex figure handlevisibility
@item @code{handlevisibility}: @qcode{"callback"} | @qcode{"off"} | @{@qcode{"on"}@}
If @code{handlevisibility} is @qcode{"off"}, the figure's handle is not visible in its parent's "children" property.


@anchor{XREFfigurehittest}
@prindex figure hittest
@item @code{hittest}: @qcode{"off"} | @{@qcode{"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 @qcode{"buttondownfcn"}, showing the uicontextmenu, and eventually becoming the root @qcode{"currentobject"}.  This property is only relevant when the object can accept mouse clicks which is determined by the @qcode{"pickableparts"} property.  @xref{XREFfigurepickableparts, , @w{pickableparts property}}.


@anchor{XREFfigureintegerhandle}
@prindex figure integerhandle
@item @code{integerhandle}: @qcode{"off"} | @{@qcode{"on"}@}
Assign the next lowest unused integer as the Figure number.


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


@anchor{XREFfigureinverthardcopy}
@prindex figure inverthardcopy
@item @code{inverthardcopy}: @qcode{"off"} | @{@qcode{"on"}@}
Replace the figure and axes background color with white when printing.


@anchor{XREFfigurekeypressfcn}
@prindex figure keypressfcn
@item @code{keypressfcn}: string | function handle, def. @code{[](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 @ref{Callbacks, , @w{Callbacks section}}.


@anchor{XREFfigurekeyreleasefcn}
@prindex figure keyreleasefcn
@item @code{keyreleasefcn}: string | function handle, def. @code{[](0x0)}
With @code{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:
@table @code
@item Character:
The ASCII value of the key
@item Key:
Lowercase value of the key
@item Modifier:
A cell array containing strings representing the modifiers pressed with the key.
@end table

For information on how to write graphics listener functions see @ref{Callbacks, , @w{Callbacks section}}.


@anchor{XREFfiguremenubar}
@prindex figure menubar
@item @code{menubar}: @{@qcode{"figure"}@} | @qcode{"none"}
Control the display of the figure menu bar at the top of the figure.


@anchor{XREFfigurename}
@prindex figure name
@item @code{name}: string, def. @qcode{""}
Name to be displayed in the figure title bar.  The name is displayed to the right of any title determined by the @code{numbertitle} property.


@anchor{XREFfigurenextplot}
@prindex figure nextplot
@item @code{nextplot}: @{@qcode{"add"}@} | @qcode{"new"} | @qcode{"replace"} | @qcode{"replacechildren"}
@code{nextplot} is used by high level plotting functions to decide what to do with axes already present in the figure.  @xref{XREFnewplot, , @w{newplot function}}.


@anchor{XREFfigurenumber}
@prindex figure number
@item @code{number} (read-only):



@anchor{XREFfigurenumbertitle}
@prindex figure numbertitle
@item @code{numbertitle}: @qcode{"off"} | @{@qcode{"on"}@}
Display "Figure" followed by the numerical figure handle value in the figure title bar.


@anchor{XREFfigureouterposition}
@prindex figure outerposition
@item @code{outerposition}: four-element vector, def. @code{[-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.  @xref{XREFfigureunits, , @w{units property}}.


@anchor{XREFfigurepaperorientation}
@prindex figure paperorientation
@item @code{paperorientation}: @qcode{"landscape"} | @{@qcode{"portrait"}@}
The value for the @code{papersize}, and @code{paperposition} properties depends upon @code{paperorientation}.  The horizontal and vertical values for @code{papersize} and @code{paperposition} reverse order when @code{paperorientation} is switched between @code{"portrait"} and @code{"landscape"}.


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


@anchor{XREFfigurepaperpositionmode}
@prindex figure paperpositionmode
@item @code{paperpositionmode}: @{@qcode{"auto"}@} | @qcode{"manual"}
If @code{paperpositionmode} is set to @qcode{"auto"}, the @code{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 @code{paperpositionmode} to @code{"auto"} does not modify the value of the @code{paperposition} property.


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


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


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


@anchor{XREFfigureparent}
@prindex figure parent
@item @code{parent}: graphics handle, def. @code{0}
Handle of the parent graphics object.


@anchor{XREFfigurepickableparts}
@prindex figure pickableparts
@item @code{pickableparts} (read-only): @qcode{"all"} | @qcode{"none"} | @{@qcode{"visible"}@}
@code{pickableparts} is unused.


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

@code{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.


@anchor{XREFfigurepointershapecdata}
@prindex figure pointershapecdata
@item @code{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.


@anchor{XREFfigurepointershapehotspot}
@prindex figure pointershapehotspot
@item @code{pointershapehotspot}: two-element vector, def. @code{[1   1]}
For custom pointers only @code{pointershapehotspot} defines the row and column of the pixel in @code{pointershapecdata} that is used as the pointer location.


@anchor{XREFfigureposition}
@prindex figure position
@item @code{position}: four-element vector, def. @code{[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.  @xref{XREFfigureunits, , @w{units property}}.


@anchor{XREFfigurerenderer}
@prindex figure renderer
@item @code{renderer}: @{@qcode{"opengl"}@} | @qcode{"painters"}
Rendering engine used for printing when @code{renderermode} is "manual".  Setting @code{renderer} also forces the @code{renderermode} property to be set to @qcode{"manual"}.


@anchor{XREFfigurerenderermode}
@prindex figure renderermode
@item @code{renderermode}: @{@qcode{"auto"}@} | @qcode{"manual"}
Control whether the rendering engine used for printing is chosen automatically or specified by the @code{renderer} property.  @xref{XREFprint, , @w{print function}}.


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


@anchor{XREFfigureresizefcn}
@prindex figure resizefcn
@item @code{resizefcn}: string | function handle, def. @code{[](0x0)}
@code{resizefcn} is deprecated.  Use @code{sizechangedfcn} instead.


@anchor{XREFfigureselected}
@prindex figure selected
@item @code{selected}: @{@qcode{"off"}@} | @qcode{"on"}



@anchor{XREFfigureselectionhighlight}
@prindex figure selectionhighlight
@item @code{selectionhighlight}: @qcode{"off"} | @{@qcode{"on"}@}



@anchor{XREFfigureselectiontype}
@prindex figure selectiontype
@item @code{selectiontype}: @qcode{"alt"} | @qcode{"extend"} | @{@qcode{"normal"}@} | @qcode{"open"}
Selection type of the latest mouse click.

@code{selectiontype} may take different values depending on the combination of mouse button and keyboard modifier that were used:
@table @code
@item normal:
Left-click.
@item alt:
Right-click or Ctrl+Left-click.
@item extend:
Shitf+Left-click, Middle click, or combined Left-click and Right-click.
@item open:
Double Left-click.
@end table


@anchor{XREFfiguresizechangedfcn}
@prindex figure sizechangedfcn
@item @code{sizechangedfcn}: string | function handle, def. @code{[](0x0)}
Callback triggered when the figure window size is changed.

For information on how to write graphics listener functions see @ref{Callbacks, , @w{Callbacks section}}.


@anchor{XREFfiguretag}
@prindex figure tag
@item @code{tag}: string, def. @qcode{""}
A user-defined string to label the graphics object.


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


@anchor{XREFfiguretype}
@prindex figure type
@item @code{type} (read-only): string
Class name of the graphics object.  @code{type} is always @qcode{"figure"}


@anchor{XREFfigureunits}
@prindex figure units
@item @code{units}: @qcode{"centimeters"} | @qcode{"characters"} | @qcode{"inches"} | @qcode{"normalized"} | @{@qcode{"pixels"}@} | @qcode{"points"}
The unit used to compute the @code{position} and @code{outerposition} properties.


@anchor{XREFfigureuserdata}
@prindex figure userdata
@item @code{userdata}: Any Octave data, def. @code{[](0x0)}
User-defined data to associate with the graphics object.


@anchor{XREFfigurevisible}
@prindex figure visible
@item @code{visible}: @qcode{"off"} | @{@qcode{"on"}@}
If @code{visible} is @qcode{"off"}, the figure is not rendered on screen.


@anchor{XREFfigurewindowbuttondownfcn}
@prindex figure windowbuttondownfcn
@item @code{windowbuttondownfcn}: string | function handle, def. @code{[](0x0)}
@xref{XREFfigurewindowbuttonupfcn, , @w{windowbuttonupfcn property}}.


@anchor{XREFfigurewindowbuttonmotionfcn}
@prindex figure windowbuttonmotionfcn
@item @code{windowbuttonmotionfcn}: string | function handle, def. @code{[](0x0)}
@xref{XREFfigurewindowbuttonupfcn, , @w{windowbuttonupfcn property}}.


@anchor{XREFfigurewindowbuttonupfcn}
@prindex figure windowbuttonupfcn
@item @code{windowbuttonupfcn}: string | function handle, def. @code{[](0x0)}
With @code{windowbuttondownfcn} and @code{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 @code{currentpoint} property holds the current coordinates of the cursor.

For information on how to write graphics listener functions see @ref{Callbacks, , @w{Callbacks section}}.


@anchor{XREFfigurewindowkeypressfcn}
@prindex figure windowkeypressfcn
@item @code{windowkeypressfcn}: string | function handle, def. @code{[](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 @ref{Callbacks, , @w{Callbacks section}}.


@anchor{XREFfigurewindowkeyreleasefcn}
@prindex figure windowkeyreleasefcn
@item @code{windowkeyreleasefcn}: string | function handle, def. @code{[](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 @ref{Callbacks, , @w{Callbacks section}}.


@anchor{XREFfigurewindowscrollwheelfcn}
@prindex figure windowscrollwheelfcn
@item @code{windowscrollwheelfcn}: string | function handle, def. @code{[](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:
@table @code
@item VerticalScrollCount:
The number of wheel steps, typically 1 when scrolling down and -1 when scrolling up.
@item VerticalScrollAmount:
The number of lines a wheel step should scroll.  This value is always 3.
@item EventName:
The event name which is "WindowScrollWheel".
@end table

For information on how to write graphics listener functions see @ref{Callbacks, , @w{Callbacks section}}.


@anchor{XREFfigurewindowstyle}
@prindex figure windowstyle
@item @code{windowstyle}: @qcode{"docked"} | @qcode{"modal"} | @{@qcode{"normal"}@}
The window style of a figure.  One of the following values:
@table @code
@item normal
Set the window style as non modal.
@item modal
Set the window as modal so that it will stay on top of all normal figures.
@item docked
Setting the window style as docked currently does not dock the window.
@end table

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

@end table