Alphabetically sorted list (button specific subroutines)
button
SUBROUTINE BUTTON(N,TEXT,MODE)
Input: N,TEXT,MODE
Input (COMMON): global variables in button.inc
Plot buttons and button text in different modes.
INTEGER N -> button number in the range of available buttons (which
runs from 1 to MAX_XBUTT x MAX_YBUTT)
CHARACTER*(*) TEXT -> the text that will appear in the button
INTEGER MODE -> determine the button mode:
MODE=-2,-3,...: only text is plotted with PGPLOT color=-NMODE-1
(i.e. 1,2,3...)
MODE=-1 erase the button
MODE=0 whole button is plotted (text in black)
MODE=1 only text is plotted (white)
MODE=2 only text is plotted (black)
MODE=3 only text is plotted (gray, button disabled)
MODE=4 whole button with reversed colors (text in black)
MODE=5 whole button with reversed colors (text in white)
buttqbr
SUBROUTINE BUTTQBR(X1,X2,Y1,Y2)
Output: X1,X2,Y1,Y2
Return the button region limits.
REAL X1 -> x-coordinate of the left hand edge of the button region viewport,
in normalized device coordinates
REAL X2 -> x-coordinate of the right hand edge of the button region viewport,
in normalized device coordinates
REAL Y1 -> y-coordinate of the bottom edge of the button region viewport,
in normalized device coordinates
REAL Y2 -> y-coordinate of the top edge of the button region viewport,
in normalized device coordinates
buttqcf
SUBROUTINE BUTTQCF(FONT)
Output: FONT
Return the current character font type in buttons.
INTEGER FONT -> the current font number (in range 1-4)
buttqch
SUBROUTINE BUTTQCH(SIZE)
Output: SIZE
Return the current character font size in buttons.
REAL SIZE -> the current font size (dimensionless multiple of the default
size)
buttqex
SUBROUTINE BUTTQEX(NBUT,LEXIST)
Input: NBUT
Output: LEXIST
Return whether the asked button is active (currently available) or not.
INTEGER NBUT -> button number
LOGICAL LEXIST -> .TRUE. if the button is active, .FALSE. otherwise
buttqit
SUBROUTINE BUTTQIT(LOUTSIDE)
Output: LOUTSIDE
Return whether tick marks are drawn outside the viewport instead of inside.
LOGICAL LOUTSIDE -> .TRUE. if ticks are drawn outside the viewport
buttqpr
SUBROUTINE BUTTQPR(X1,X2,Y1,Y2)
Output: X1,X2,Y1,Y2
Return the plot region limits.
REAL X1 -> x-coordinate of the left hand edge of the plot region viewport,
in normalized device coordinates
REAL X2 -> x-coordinate of the right hand edge of the plot region viewport,
in normalized device coordinates
REAL Y1 -> y-coordinate of the bottom edge of the plot region viewport,
in normalized device coordinates
REAL Y2 -> y-coordinate of the top edge of the plot region viewport,
in normalized device coordinates
buttqxb
SUBROUTINE BUTTQXB(NB)
Output: NB
Return MAX_XBUTT.
INTEGER NB -> = MAX_XBUTT
buttqyb
SUBROUTINE BUTTQYB(NB)
Output: NB
Return MAX_YBUTT.
INTEGER NB -> = MAX_YBUTT
buttqytext
SUBROUTINE BUTTQYTEXT(YTEXT)
Output: YTEXT
Return the current relative y-position of the text baseline in buttons
(from 0 to 1)
REAL YTEXT -> = YTEXT_BUTT
buttsbr
SUBROUTINE BUTTSBR(X1,X2,Y1,Y2)
Input: X1,X2,Y1,Y2
Set the button region limits.
REAL X1 -> x-coordinate of the left hand edge of the button region viewport,
in normalized device coordinates
REAL X2 -> x-coordinate of the right hand edge of the button region viewport,
in normalized device coordinates
REAL Y1 -> y-coordinate of the bottom edge of the button region viewport,
in normalized device coordinates
REAL Y2 -> y-coordinate of the top edge of the button region viewport,
in normalized device coordinates
buttscf
SUBROUTINE BUTTSCF(FONT)
Input : FONT
Set the character font type in buttons.
INTEGER FONT -> the current font number (in range 1-4)
buttsch
SUBROUTINE BUTTSCH(SIZE)
Input: SIZE
Set the character height in buttons.
REAL SIZE -> the current font size (dimensionless multiple of the default
size)
buttsex
SUBROUTINE BUTTSEX(NBUT,LEXIST)
Input: NBUT,LEXIST
Set whether the asked button is active (currently available) or not.
INTEGER NBUT -> button number
LOGICAL LEXIST -> .TRUE. if the button is active, .FALSE. otherwise
buttsit
SUBROUTINE BUTTSIT(LOUTSIDE)
Input: LOUTSIDE
Set whether tick marks are drawn outside the viewport instead of inside.
LOGICAL LOUTSIDE -> .TRUE. if ticks are drawn outside the viewport
buttspr
SUBROUTINE BUTTSPR(X1,X2,Y1,Y2)
Input: X1,X2,Y1,Y2
Set the plot region limits.
REAL X1 -> x-coordinate of the left hand edge of the plot region viewport,
in normalized device coordinates
REAL X2 -> x-coordinate of the right hand edge of the plot region viewport,
in normalized device coordinates
REAL Y1 -> y-coordinate of the bottom edge of the plot region viewport,
in normalized device coordinates
REAL Y2 -> y-coordinate of the top edge of the plot region viewport,
in normalized device coordinates
buttsxb
SUBROUTINE BUTTSXB(NB)
Input: NB
Set MAX_XBUTT.
INTEGER NB -> = MAX_XBUTT
buttsyb
SUBROUTINE BUTTSYB(NB)
Input: NB
Set MAX_YBUTT.
INTEGER NB -> = MAX_YBUTT
buttsytext
SUBROUTINE BUTTSYTEXT(YTEXT)
Input: YTEXT
Set the relative y-position of the text baseline in buttons (from 0 to 1)
REAL YTEXT -> = YTEXT_BUTT
ifbutton
SUBROUTINE IFBUTTON(XC,YC,NB)
Input: XC,YC
Output: NB
Determine whether any button has been selected.
REAL XC -> world x-coordinate of the cursor
REAL YC -> world y-coordinate of the cursor
INTEGER NB -> number of the selected button (if available). NB=0 if no
button has been selected.
rpgband
SUBROUTINE RPGBAND(MODE,POSN,XREF,YREF,XC,YC,CH)
Input: MODE,POSN,XREF,YREF
Output: XC,YC,CH
This routine is similar to PGBAND, but it also allows the utilization of
buttons in text mode.
INTEGER MODE -> display mode (see PGPLOT manual)
INTEGER POSN -> if POSN=1, the routine positions the cursor at the
position specified by XREF,YREF
REAL XREF -> reference position
REAL YREF -> reference position
REAL XC -> the world x-coordinate of the cursor
REAL YC -> the world y-coordinate of the cursor
CHARACTER*1 CH -> the character typed by the user
rpgbegin
SUBROUTINE RPGBEGIN(NTERM,IDN,LCOLOR)
Output: NTERM,IDN,LCOLOR
Output (COMMON): all global variables in button.inc
Open the graphic device(s) and assign the default values to the global
variables:
MAX_XBUTT=6
MAX_YBUTT=2
PGSCF_BUTT=2
PGSCH_BUTT=1.
YTEXT_BUTT=0.35
X1VPORT=0.1
X2VPORT=0.95
Y1VPORT=0.1
Y2VPORT=0.70
X3VPORT=0.05
X4VPORT=0.95
Y3VPORT=0.80
Y4VPORT=0.95
INTEGER NTERM -> number of opened graphic devices to be employed
simultaneously
INTEGER IDN(8) -> identifier of the openned graphic devices
(positive values returned by PGOPEN)
LOGICAL LCOLOR(8) -> determines whether color is available or not
in each opened graphic device
rpgbegok
SUBROUTINE RPGBEGOK(TTERM)
Output (COMMON): all global variables in button.inc
Open the graphic device TTERM and assign the default values to the global
variables:
MAX_XBUTT=6
MAX_YBUTT=2
PGSCF_BUTT=2
PGSCH_BUTT=1.
YTEXT_BUTT=0.35
X1VPORT=0.1
X2VPORT=0.95
Y1VPORT=0.1
Y2VPORT=0.70
X3VPORT=0.05
X4VPORT=0.95
Y3VPORT=0.80
Y4VPORT=0.95
CHARACTER*(*) TTERM -> graphic device to be opened
rpgenv
SUBROUTINE RPGENV(XMIN,XMAX,YMIN,YMAX,JUST,AXIS)
Input: XMIN,XMAX,YMIN,YMAX,JUST,AXIS
Input (COMMON): ITICKS_BUTT
Perform the same functions than PGENV, although the plot surface is
restricted to the rectangle defined by X1VPORT,X2VPORT,Y1VPORT,Y2VPORT.
Other important difference with PGENV is that RPGENV does not clear the
plot region of the new plot. A previous call to PGADVANCE, PGPAGE, PGERAS
(RPGERAS, RPGERASB or RPGERASW) is required. The arguments of this routine
are exactly the same than those in PGENV:
REAL XMIN -> the world x-coordinate at the bottom left corner of the
viewport
REAL XMAX -> the world x-coordinate at the top right corner of the
viewport
REAL YMIN -> the world y-coordinate at the bottom left corner of the
viewport
REAL YMAX -> the world y-coordinate at the top right corner of the
viewport
INTEGER JUST -> if JUST=1, the scales of the x and y axes (in world
coordinates per inch) will be equal, otherwise they will be
scaled independently
INTEGER AXIS -> controls the plotting of axes, tick marks, etc:
AXIS = -2: draw no box, axes or labels
AXIS = -1: draw box only
AXIS = 0: draw box and label it with coordinates
AXIS = 1: same as AXIS=0, but also draw the coordinate axes
AXIS = 2: same as AXIS=1, but also draw grid lines
AXIS = 10: draw box and label X-axis logarithmically
AXIS = 20: draw box and label Y-axis logarithmically
AXIS = 30: draw box and label both axes logarithmically
rpgeras
SUBROUTINE RPGERAS
Input (COMMON) : X1VPORT,X2VPORT,Y1VPORT,Y2VPORT
Clear the plot region (preserving the button region which does not overlap
with the plot region).
rpgerasb
SUBROUTINE RPGERASB
Input (COMMON) : X3VPORT,X4VPORT,Y3VPORT,Y4VPORT
Clear the button region (preserving the plot region which does not overlap
with the plot region).
rpgerasw
SUBROUTINE RPGERASW(X1,X2,Y1,Y2,NCOLOR)
Input: X1,X2,Y1,Y2,NCOLOR
Clear any rectangle defined by (X1,Y1) lower left corner
(X2,Y2) upper right corner
REAL X1 -> x-coordinate of the left hand edge of the rectangle to be
cleared,in normalized device coordinates
REAL X2 -> x-coordinate of the right hand edge of the rectangle to be
cleared,in normalized device coordinates
REAL Y1 -> y-coordinate of the bottom edge of the rectangle to be
cleared,in normalized device coordinates
REAL Y2 -> y-coordinate of the top edge of the rectangle to be
cleared,in normalized device coordinates
INTEGER NCOLOR -> background color
NOTE: this subroutine preserves the original viewport and window coordinate
systems