SunPHIGS 3.0 Extensions Reference Manual
  Search only this book
Download this book in PDF

NAME

INQUIRE PREDEFINED PATTERN REPRESENTATION PLUS - inquire for predefined extended pattern representation for specified workstation type

SYNOPSIS

C Syntax

void
pinq_pred_pat_rep_plus ( type, index, store, error_ind, rep )
Pint             type;         workstation type
Pint             index;        predefined index
Pstore           store;        handle to Store object
Pint             * error_ind;  OUT error indicator
Ppat_rep_plus    ** rep;       OUT predefined pattern representation

FORTRAN Syntax

SUBROUTINE pqpenr ( WKTYPE, INDEX, PSIZ, ERRIND, PBUF, ACTSIZ, PROWS, PCOLS, COLMOD, IPCOLR, PCOLR )
INTEGER             WKTYPE                         workstation type
INTEGER             INDEX                          predefined pattern index
INTEGER             PSIZ                           buffer size dimension
INTEGER             ERRIND                         OUT error indicator
CHARACTER* 80       PBUF(PSIZ)                     OUT pattern buffer
INTEGER             ACTSIZ                         OUT actual buffer size
INTEGER             PROWS                          OUT pattern dimensions
                                                   along y-axis
INTEGER             PCOLS                          OUT pattern dimensions
                                                   along x-axis
INTEGER             COLMOD                         OUT colour model
INTEGER             IPCOLR(PROWS* PCOLS)           OUT indirect colour
REAL                PCOLR(3,PROWS* PCOLS)          OUT array of colour

Required PHIGS Operating States

(PHOP, * ,* ,* )

DESCRIPTION

Purpose

INQUIRE PREDEFINED PATTERN REPRESENTATION PLUS inquires for a predefined extended pattern representation for a specified workstation type.
This is a SunPHIGS Extension function based on PHIGS PLUS and is not part of the PHIGS standard.

C Input Parameters

Applications using the C binding must create a buffer to be used by this function as memory space for storing data associated with the device state. This buffer is passed as the store argument.
The store buffer is a data area managed by PHIGS. While the application is responsible for creating the initial buffer through a call to CREATE STORE, PHIGS manages this area to provide sufficient memory for the specific inquiry. The data record within the store buffer is accessed by the pointer pointed to by rep.
type
The workstation type.
index
Index of the predefined entry to be returned.
store
The memory buffer PHIGS is to use for storing the information returned. This buffer must exist prior to calling this function (see CREATE STORE (3P)).

C Output Parameters

error_ind
A pointer to the location to store the error number of any error detected by this function.
rep
A pointer to a pointer to a Ppat_rep_plus structure that returns the requested representation. Ppat_rep_plus is defined in phigs.h as follows:
typedef struct {
Pint_size       dims;               /* pattern's dimensions * /
Pint            type;               /* colour type * /
Pcoval          * colr_array;       /* array of colours * /

} Ppat_rep_plus;
Pint_size is defined in phigs.h as follows:
typedef struct {
Pint
size_x;
Pint
size_y;
} Pint_size;
Pcoval is defined in phigs.h as follows:
typedef union {
Pint
ind;
/* index in workstation colour
bundle table * /
Pcolr_rep
direct;
/* direct colour components * /
} Pcoval;
Pcolr_rep is defined in phigs.h as follows:
typedef union {
Prgb
rgb;
/* Red Green Blue colour
specification * /
Pcieluv     cieluv;         /* CIE L* U* V* colour specification * /
Phls        hls;            /* Hue Lightness Saturation colour
                               specification * /
Phsv        hsv;            /* Hue Saturation Value colour
                               specification * /
Pdata       unsupp;         /* Colour in unsupported colour
                               model * /

} Pcolr_rep;
Prgb is defined in phigs.h as follows:
typedef struct {
Pfloat           red;            /* red, hue, and so on * /
Pfloat           green;          /* green, saturation, lightness,
                                   and so on * /
Pfloat           blue;           /* blue, value, saturation, and
                                   so on * /

} Prgb;
Pcieluv is defined in phigs.h as follows:
typedef struct {
Pfloat           cieluv_x;       /* x coefficient * /
Pfloat           cieluv_y;       /* y coefficient * /
Pfloat           cieluv_y_lum; /* y luminance * /

} Pcieluv;
Phsv is defined in phigs.h as follows:
typedef struct {
Pfloat           hue;            /* hue * /
Pfloat           satur;          /* saturation * /
Pfloat           value;          /* value * /

} Phsv;
Phls is defined in phigs.h as follows:
typedef struct {
Pfloat           hue;            /* hue * /
Pfloat           lightness;      /* lightness * /
Pfloat           satur;          /* saturation * /

} Phls;
Pdata is defined in phigs.h as follows:
typedef struct {
size_t          size;           /* size of data * /
char            * data          /* pointerto data * /

} Pdata;

FORTRAN Input Parameters

WKTYPE
The workstation type.
INDEX Index of the predefined entry to be returned.
PSIZ
The size, in number of bytes, of the application-supplied buffer in which the requested pattern representation is stored.

FORTRAN Output Parameters

ERRIND
The error number of any error detected by this function.
PBUF
A character array in which to return the requested pattern representation.
ACTSIZ The actual size, in bytes, filled in the pattern buffer PBUF.
PROWS The pattern dimensions along the y axis.
PCOLS The pattern dimensions along the x axis.
COLMOD
The colour model.
IPCOLR(PROWS* PCOLS)
An integer index into the workstation colour table for the pattern colour.
PCOLR(3,PROWS* PCOLS)
An array of reals containing the pattern colour.

Execution

If the inquired information is available, then the error indicator is returned as zero, and values are returned in the output parameters.
If the inquired information is not available, then the values returned in the output parameters are undefined, and the error indicator is set to one of the following error numbers to indicate the reason for nonavailability.
Since this is an inquiry function, ERROR HANDLING is not invoked when an error is detected by this function.

ERRORS

002
Ignoring function, function requires state (PHOP, * ,* ,* )
051
Ignoring function, this information unavailable for this workstation type
052
Ignoring function, workstation type not recognized by the implementation
062
Ignoring function, this information is not available for this MO workstation type
100
Ignoring function, the bundle index value is less than one
102
Ignoring function, the specified representation has not been predefined on this workstation

SEE ALSO

SET PATTERN REPRESENTATION PLUS (3PP)
INQUIRE PATTERN REPRESENTATION PLUS (3PP)
INQUIRE PREDEFINED PATTERN REPRESENTATION (3P)