Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ pinq_loc_st(3g) — PHIGS 5.1

Media Vault

Software Library

Restoration Projects

Artifacts Sought

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

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026