PESC(3g) — Subroutines
Name
PESC − Invokes the specified escape function.
Operating States: PHOP, ∗, ∗, ∗
PHIGS standard function
Syntax
PESC (FCTID, LIDR, IDR, MLODR, LODR, ODR)
Argument Data Type Access Description
---------------------------------------------------------------------------
FCTID Integer Read Escape function identifier.
LIDR Integer Read Dimension of input data record array.
IDR(LIDR) Character ∗80 Read Input data record. Use PPREC to
create the data record.
MLODR Integer Read Maximum length of output data record.
LODR Integer Write Number of array elements occupied
in ODR.
ODR(MLODR) Character ∗80 Write Output data record. Use PUREC to
create an array of elements from the
data record.
---------------------------------------------------------------------------
Description
PESC invokes the specified escape function. The form of the escape data record is function-dependent.
This function provides a method for individual Digital PHIGS implementations to access capabilities of a specific workstation that are not fully utilized by other functions. The form of the escape data record is function-dependent. Each of the device specific chapters in the Device Specifics Reference Manual for DEC GKS and DEC PHIGS explains the requirements for the data records. Note that a specific workstation type will support a subset of available escape functions. Use the phigs_predef sample program to determine which escape functions your workstation supports.
Escape Data Records
When you call the ESCAPE function, you may need to pass a data record. See PPREC and Packing and Unpacking Data Records for information on packing data records.
After performing a task, some escape functions pass information back to you through an output data record. Use the PUREC function to access the information in the output data record.
If you use an escape function and need to determine the size required by the entire output data record buffer, you can pass the value 0 to the output record buffer size (the MLODR argument). When you pass the value 0 as this argument, ESCAPE does not perform the escape, but instead returns the size of the output data record to argument LODR. In this manner, you can be sure that you declared an output data record buffer large enough to hold the entire data record.
You must use the PHIGS$ binding entry point "phigs$escape" instead of the Fortran PESC function for the following escapes:
--304 Inquire Window Identifiers
--307 Inquire Pasteboard Identifier
--308 Inquire Menu Bar Identifier
--309 Inquire Shell Identifier
--501 Set Background Pixmap
--502 Inquire Double Buffer Pixmap
--503 Inquire Background Pixmap
--511 Set Plane Mask
--512 Set Marker Pattern
--513 Inquire Double Buffer Buffers
--516 Inquire Closest Color
To use the PHIGS$ entry point for the escape function, you must include the file phigs_defs.f in your application and use %LOC to determine the address of the escape information. See the phigs_defs.f file for the syntax of the phigs$escape function.
See Also
PPREC
PUREC