pinq_loc_st(3g) — Subroutines
Name
pinq_loc_st − Returns information about the locator device state.
Operating States: PHOP, WSOP, ∗, ∗
PHIGS standard function
Syntax
void pinq_loc_st (
Pint wsid, /∗ (I) Workstation identifier. ∗/
Pint dev_num, /∗ (I) Locator device number. ∗/
Pinq_type return_type, /∗ (I) Type of the returned values. ∗/
Pstore store, /∗ (I) Handle to store the object. store
manages the memory referenced by
∗datarec. ∗/
Pint ∗error_ind, /∗ (O) Error indicator. ∗/
Pop_mode ∗mode, /∗ (O) Operating mode. ∗/
Pecho_switch ∗echo, /∗ (O) Echo switch. ∗/
Pint ∗init_index, /∗ (O) Initial view index. ∗/
Ppoint ∗init_pos, /∗ (O) Initial locator position. ∗/
Pint ∗pet, /∗ (O) Prompt and echo type. ∗/
Plimit ∗echo_area, /∗ (O) Echo area, in device coordinates. ∗/
Ploc_data ∗∗datarec /∗ (O) Locator data record. ∗/
)
Data Structures
typedef enum {
PINQ_SET, /∗ Use the exact state list values. ∗/
PINQ_REALIZED /∗ Use the values approximated by the graphics
handler. ∗/
} Pinq_type;
typedef void ∗Pstore;
typedef enum {
POP_REQ, /∗ request mode ∗/
POP_SAMPLE, /∗ sample mode ∗/
POP_EVENT /∗ event mode ∗/
} Pop_mode;
typedef enum {
PSWITCH_NO_ECHO, /∗ echo disabled ∗/
PSWITCH_ECHO /∗ echo enabled ∗/
} Pecho_switch;
typedef struct {
Pfloat x; /∗ x coordinate ∗/
Pfloat y; /∗ y coordinate ∗/
} Ppoint;
typedef struct {
Pfloat x_min; /∗ x minimum ∗/
Pfloat x_max; /∗ x maximum ∗/
Pfloat y_min; /∗ y minimum ∗/
Pfloat y_max; /∗ y maximum ∗/
} Plimit;
typedef struct { /∗ locator data record ∗/
union Ploc_pets {
struct Ploc_pet_r1 {
Pint impl_dep;
} pet_r1;
struct Ploc_pet_r2 {
Pint impl_dep;
} pet_r2;
struct Ploc_pet_r3 {
Pint impl_dep;
} pet_r3;
struct Ploc_pet_r4 {
Pline_attrs line_attrs; /∗ polyline attributes ∗/
} pet_r4;
struct Ploc_pet_r5 {
Pline_fill_ctrl_flag line_fill_ctrl_flag; /∗ control flag ∗/
Ploc_attrs attrs;
} pet_r5;
struct Ploc_pet_r6 {
char ∗title_string;
} pet_r6;
struct Ploc_pet_u1 {
Pfloat box_x; /∗ size of the box in x ∗/
Pfloat box_y; /∗ size of the box in y ∗/
} pet_u1;
struct Ploc_pet_u2 {
Pline_fill_ctrl_flag line_fill_ctrl_flag; /∗ control flag ∗/
Ploc_attrs attrs;
} pet_u2;
struct Ploc_pet_u3 {
Pline_attrs line_attrs; /∗ polyline attributes ∗/
Ppoint3 point1; /∗ point 1 for echo ∗/
Ppoint3 point2; /∗ point 2 for echo ∗/
} pet_u3;
struct Ploc_pet_u4 {
Pline_attrs line_attrs; /∗ polyline attributes ∗/
} pet_u4;
struct Ploc_pet_u5 {
Pline_attrs line_attrs; /∗ polyline attributes ∗/
} pet_u5;
struct Ploc_pet_u6 {
Pline_attrs line_attrs; /∗ polyline attributes ∗/
Ppoint3 point1; /∗ point 1 for echo ∗/
Ppoint3 point2; /∗ point 2 for echo ∗/
} pet_u6;
struct Ploc_pet_u7 {
Pline_attrs line_attrs; /∗ polyline attributes ∗/
Ppoint3 point1; /∗ point 1 for echo ∗/
Ppoint3 point2; /∗ point 2 for echo ∗/
} pet_u7;
struct Ploc_pet_u8 {
Pline_attrs line_attrs; /∗ polyline attributes ∗/
Ppoint3 point1; /∗ point 1 for echo ∗/
Ppoint3 point2; /∗ point 2 for echo ∗/
} pet_u8;
struct Ploc_pet_u9 {
Pline_attrs line_attrs; /∗ polyline attributes ∗/
} pet_u9;
struct Ploc_pet_u10 {
Pline_attrs line_attrs; /∗ polyline attributes ∗/
} pet_u10;
struct Ploc_pet_u11 {
Pint impl_dep; /∗ implementation-dependent ∗/
} pet_u11;
struct Ploc_pet_u12 {
Pline_attrs line_attrs; /∗ polyline attributes ∗/
} pet_u12;
} pets;
} Ploc_data;
typedef struct {
Pasf type_asf; /∗ line type asf ∗/
Pasf width_asf; /∗ line width asf ∗/
Pasf colr_ind_asf; /∗ line color index asf ∗/
Pint ind; /∗ line index ∗/
Pline_bundle bundle; /∗ line bundle ∗/
} Pline_attrs;
typedef enum {
PASF_BUNDLED, /∗ bundled attributes ∗/
PASF_INDIV /∗ individual attributes ∗/
} Pasf;
typedef struct {
Pint type; /∗ line type ∗/
Pfloat width; /∗ line width scale factor ∗/
Pint colr_ind; /∗ color index ∗/
} Pline_bundle;
typedef enum {
PFLAG_LINE, /∗ polyline ∗/
PFLAG_FILL, /∗ fill area ∗/
PFLAG_FILL_SET /∗ fill area set ∗/
} Pline_fill_ctrl_flag;
typedef union {
Pline_attrs line_attrs; /∗ polyline attributes ∗/
Pint_attrs int_attrs; /∗ interior attributes ∗/
Ploc_fill_set fill_set; /∗ fill area set attributes ∗/
} Ploc_attrs;
typedef struct {
Pasf style_asf; /∗ interior asf ∗/
Pasf style_ind_asf; /∗ interior style asf ∗/
Pasf colr_ind_asf; /∗ interior color index asf ∗/
Pint ind; /∗ interior index ∗/
Pint_bundle bundle; /∗ interior bundle ∗/
} Pint_attrs;
typedef struct {
Pint_style style; /∗ interior style ∗/
Pint style_ind; /∗ interior style index ∗/
Pint colr_ind; /∗ interior color index ∗/
} Pint_bundle;
typedef enum {
PSTYLE_HOLLOW, /∗ hollow interior ∗/
PSTYLE_SOLID, /∗ solid interior ∗/
PSTYLE_PAT, /∗ patterned interior ∗/
PSTYLE_HATCH, /∗ hatched interior ∗/
PSTYLE_EMPTY /∗ empty interior ∗/
} Pint_style;
typedef struct {
Pint_attrs int_attrs; /∗ interior attributes ∗/
Pedge_attrs edge_attrs; /∗ edge attributes ∗/
} Ploc_fill_set;
typedef struct {
Pasf flag_asf; /∗ edge flag asf ∗/
Pasf type_asf; /∗ edge type asf ∗/
Pasf width_asf; /∗ edge width asf ∗/
Pasf colr_ind_asf; /∗ edge color index asf ∗/
Pint ind; /∗ edge index ∗/
Pedge_bundle bundle; /∗ edge bundle ∗/
} Pedge_attrs;
typedef struct {
Pedge_flag flag; /∗ edge flag ∗/
Pint type; /∗ edge type ∗/
Pfloat width; /∗ edge width scale factor ∗/
Pint colr_ind; /∗ edge color index ∗/
} Pedge_bundle;
typedef enum {
PEDGE_OFF, /∗ edges off ∗/
PEDGE_ON /∗ edges on ∗/
} Pedge_flag;
Constants
Data Structure Constant Description
Constants
---------------------------------------------------------------------------
Line and edge types PLINE_SOLID Solid line
PLINE_DASH Dashed line
PLINE_DOT Dotted line
PLINE_DOTDASH Dashed-dotted line
PLINE_DASH_2_DOT Dash-2-dots line
PLINE_DASH_3_DOT Dash-3-dots line
PLINE_LONG_DASH Long dashed line
PLINE_LONG_SHORT_DAS Long-short dashed line
PLINE_SPACED_DASH Spaced dashed line
PLINE_SPACED_DOT Spaced dotted line
PLINE_DOUBLE_DOT Double-dotted line
PLINE_TRIPLE_DOT Triple-dotted line
PLINE_CENTER Long line, dash, long
line
PLINE_PHANTOM Long line, two dashes,
long line
---------------------------------------------------------------------------
Description
pinq_loc_st queries the workstation state list and returns values for the following:
•Operating mode
•Echo switch value
•Initial view index
•Initial locator position in world coordinates
•Prompt and echo type
•Values of the echo area in device coordinates
•Locator data record
See Also
pcreate_store
pdel_store
pinit_loc
pinq_loc_st3
pset_loc_mode