.\" .\" $XConsortium: p197,v 5.2 94/04/17 20:56:42 rws Exp $ .\" .\" $XMCOPY .\" Copyright (c) 1990, 1991 by Sun Microsystems, Inc. and the X Consortium. .\" .\" All Rights Reserved .\" .\" Permission to use, copy, modify, and distribute this software and its .\" documentation for any purpose and without fee is hereby granted, .\" provided that the above copyright notice appear in all copies and that .\" both that copyright notice and this permission notice appear in .\" supporting documentation, and that the names of Sun Microsystems, .\" and the X Consortium not be used in advertising or publicity .\" pertaining to distribution of the software without specific, written .\" prior permission. .\" .\" SUN MICROSYSTEMS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO .\" EVENT SHALL SUN MICROSYSTEMS BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" 1. Substitute PHIGS Extension function name (in CAPS) for "PNAME" in line be.\"low: .ds pN INQUIRE PREDEFINED PATTERN REPRESENTATION PLUS .TH "\*(pN" 3P+ "29 February 1991" .SH NAME \*(pN \- inquire a predefined extended pattern representation for a specified workstation type .IX "PHIGS Extension Functions" "\*(pN" .IX "Pattern Fill" "INQUIRE PREDEFINED PATTERN REPRESENTATION PLUS" .IX "Inquiry functions" "INQUIRE PREDEFINED PATTERN REPRESENTATION PLUS" .SH SYNOPSIS .SS C Syntax .ft B .ta 1.5i 3.5i .nf void pinq_pred_pat_rep_plus ( type, index, store, error_ind, rep ) Pint type; \fIworkstation type\fP Pint index; \fIpredefined index\fP Pstore store; \fIhandle to Store object\fP Pint *error_ind; \fIOUT error indicator\fP Ppat_rep_plus **rep; \fIOUT predefined pattern rep\fP .fi .ft R .SS Required PHIGS Operating States (PHOP, *, *, *) .SH DESCRIPTION .SS Purpose \s-2INQUIRE PREDEFINED PATTERN REPRESENTATION PLUS\s+2 inquires a predefined extended pattern representation for a specified workstation type. .SS C Input Parameters Applications using the \s-2C\s+2 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 \fIstore\fP argument. .LP The store buffer is a data area managed by \s-2PHIGS\s+2. While the application is responsible for creating the inital buffer through a call to \s-2\CREATE STORE\s+2, \s-2PHIGS\s+2 manages this area such that there is sufficient memory for the specific inquiry. The data record within the store buffer is accessed by the pointer pointed to by \fIrep\fR. .\" All of the following data types are predefined in phigs.h. .IP \fItype\fP The workstation type. .IP \fIindex\fP Index of the predefined entry to be returned. .IP \fIstore\fP The memory buffer \s-2PHIGS\s+2 is to use for storing the information returned. This buffer must exist prior to calling this function (see \s-2CREATE STORE (3P)\s+2). .SS C Output Parameters .IP \fIerror_ind\fP A pointer to the location to store the error number of any error detected by this function. .IP \fIrep\fP 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: .nf .ta .5i +1i +1.25i .sp .4 typedef struct { .sp .2 Pint_size dims; /* pattern's dimensions */ Pint type; /* colour type */ Pcoval *colr_array; /* array of colours */ .sp .2 } Ppat_rep_plus; .sp .4 .fi Pint_size is definied in phigs.h as follows: .nf .ta .5i +1i +1.25i .sp .4 typedef struct { .sp .2 Pint size_x; Pint size_y; .sp .2 } Pint_size; .sp .4 .fi Pcoval is definied in phigs.h as follows: .nf .ta .5i +1i +1.25i .sp .4 typedef union { .sp .2 Pint ind; /* index in workstation colour bundle table */ Pcolr_rep direct; /* direct colour components */ .sp .2 } Pcoval; .sp .4 .fi .bp Pcolr_rep is defined in phigs.h as follows: .ta .5i +1i +1i .nf .sp .2 typedef union { .sp .2 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 */ .sp .2 } Pcolr_rep; .sp .2 .fi .IP Prgb is defined in phigs.h as follows: .nf .ta .5i +1i +1i .sp .2 typedef struct { .sp .2 Pfloat red; /* red, hue, etc */ Pfloat green; /* green, saturation, lightness, etc */ Pfloat blue; /* blue, value, saturation, etc */ .sp .2 } Prgb; .fi .IP Pcieluv is defined in phigs.h as follows: .nf .ta .5i +1i +1i .sp .2 typedef struct { .sp .2 Pfloat cieluv_x; /* x coefficient */ Pfloat cieluv_y; /* y coefficient */ Pfloat cieluv_y_lum; /* y luminance */ .sp .2 } Pcieluv; .fi .IP Phsv is defined in phigs.h as follows: .nf .ta .5i +1i +1i .sp .2 typedef struct { .sp .2 Pfloat hue; /* hue */ Pfloat satur; /* saturation */ Pfloat value; /* value */ .sp .2 } Phsv; .fi .IP Phls is defined in phigs.h as follows: .nf .ta .5i +1i +1i .sp .2 typedef struct { .sp .2 Pfloat hue; /* hue */ Pfloat lightness; /* lightness */ Pfloat satur; /* saturation */ .sp .2 } Phls; .fi .IP Pdata is defined in phigs.h as follows: .nf .ta .5i +1i +1i .sp .2 typedef struct { .sp .2 size_t size; /* size of data */ char *data /*pointer to data */ .sp .2 } Pdata; .fi .SS Execution .LP If the inquired information is available, the error indicator is returned as zero and values are returned in the output parameters. .LP If the inquired information is not available, 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. .LP Since this is an inquiry function, \s-2ERROR HANDLING\s+2 is not invoked when an error is detected by this function. .SH ERRORS .IP 002 Ignoring function, function requires state (\s-2PHOP, *, *, *\s+2) .IP 051 Ignoring function, this information unavailable for this workstation type .IP 052 Ignoring function, workstation type not recognized by the implementation .IP 059 Ignoring function, the specified workstation does not have output capability (i.e., the workstation category is neither \s-2OUTPUT\s+2, \s-2OUTIN\s+2, nor \s-2MO\s+2) .IP 062 Ignoring function, this information is not available for this \s-2MO\s+2 workstation type .IP 100 Ignoring function, the bundle index value is less than one .IP 102 Ignoring function, the specified representation has not been predefined on this workstation .SH SEE ALSO .nf .IP .ta 0.5i .SM "SET PATTERN REPRESENTATION PLUS (3P+)" .SM "INQUIRE PATTERN REPRESENTATION PLUS (3P+)" .SM "INQUIRE PREDEFINED PATTERN REPRESENTATION (3P)" .SM "CREATE STORE (3P)" .SM "DELETE STORE (3P)" .fi