Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ pinq_stroke_st3(3g) — PHIGS 5.1

Media Vault

Software Library

Restoration Projects

Artifacts Sought

pinq_stroke_st3(3g)  —  Subroutines

Name

pinq_stroke_st3 − Returns information about the stroke device state. 

Operating States: PHOP, WSOP, ∗, ∗
PHIGS standard function

Syntax

void pinq_stroke_st3 (
  Pint             wsid,            /∗ (I) Workstation identifier. ∗/
  Pint             dev_num,         /∗ (I) Stroke 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 ∗init_stroke and
                                           ∗stroke_data. ∗/
  Pint            ∗error_ind,       /∗ (O) Error indicator. ∗/
  Pop_mode        ∗op_mode,         /∗ (O) Operating mode. ∗/
  Pecho_switch    ∗echo,            /∗ (O) Echo switch. ∗/
  Pint            ∗init_view_index, /∗ (O) Initial view index .∗/
  Ppoint_list3   ∗∗init_stroke,     /∗ (O) Initial stroke. ∗/
  Pint            ∗pet,             /∗ (O) Prompt and echo type. ∗/
  Plimit3         ∗echo_vol,        /∗ (O) Echo volume, in device
                                           coordinates. ∗/
  Pstroke_data3  ∗∗stroke_data      /∗ (O) 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 {
        Pint      num_points;   /∗ number of Ppoint3s in the list ∗/
        Ppoint3  ∗points;       /∗ list of points ∗/
    } Ppoint_list3;
        typedef struct {
            Pfloat     x;   /∗ x coordinate ∗/
            Pfloat     y;   /∗ y coordinate ∗/
            Pfloat     z;   /∗ z coordinate ∗/
        } Ppoint3;
typedef struct {
    Pfloat    x_min;    /∗ x minimum ∗/
    Pfloat    x_max;    /∗ x maximum ∗/
    Pfloat    y_min;    /∗ y minimum ∗/
    Pfloat    y_max;    /∗ y maximum ∗/
    Pfloat    z_min;    /∗ z minimum ∗/
    Pfloat    z_max;    /∗ z maximum ∗/
} Plimit3;
typedef struct { /∗ stroke data record ∗/
    Pint    in_buf_size;    /∗ input buffer size ∗/
    Pint    init_pos;       /∗ initial editing position ∗/
    Pfloat  x_interval;     /∗ x interval ∗/
    Pfloat  y_interval;     /∗ y interval ∗/
    Pfloat  z_interval;     /∗ z interval ∗/
    Pfloat  time_interval;  /∗ time interval ∗/
    union Pstroke3_pets {
        struct Pstroke3_pet_r1 {
            Pint     impl_dep;
        } pet_r1;
        struct Pstroke3_pet_r2 {
            Pint     impl_dep;
        } pet_r2;
        struct Pstroke3_pet_r3 {
            Pmarker_attrs   marker_attrs;   /∗ marker attributes ∗/
        } pet_r3;
    } pets;
} Pstroke_data3;
    typedef struct {
        Pasf            type_asf;       /∗ marker type asf ∗/
        Pasf            size_asf;       /∗ marker style asf ∗/
        Pasf            colr_ind_asf;   /∗ marker color index asf ∗/
        Pint            ind;            /∗ marker index ∗/
        Pmarker_bundle  bundle;         /∗ marker bundle ∗/
    } Pmarker_attrs;
        typedef enum {
            PASF_BUNDLED,    /∗ bundled attributes ∗/
            PASF_INDIV       /∗ individual attributes ∗/
        } Pasf;
            typedef struct {
                Pint      type;       /∗ marker type ∗/
                Pfloat    size;       /∗ marker size scale factor ∗/
                Pint      colr_ind;   /∗ color index ∗/
            } Pmarker_bundle;

Constants

Data Structure Constants      Constant                Description
---------------------------------------------------------------------------
Marker type                   PMARKER_DOT             Dot marker
                              PMARKER_PLUS            Plus marker
                              PMARKER_ASTERISK        Asterisk marker
                              PMARKER_CIRCLE          Circle marker
                              PMARKER_CROSS           Diagonal cross
                                                      marker
                              PMARKER_SOLID_CIRCLE    Solid circle marker
                              PMARKER_TRIANGLE_UP     Hollow up triangle
                                                      marker
                              PMARKER_SOLID_TRI_UP    Solid up triangle
                                                      marker
                              PMARKER_TRIANGLE_DN     Hollow down triangle
                                                      marker
                              PMARKER_SOLID_TRI_DN    Solid down triangle
                                                      marker
                              PMARKER_SQUARE          Hollow square marker
                              PMARKER_SOLID_SQUARE    Solid square marker
                              PMARKER_BOWTIE          Hollow bow tie marker
                              PMARKER_SOLID_BOWTIE    Solid bow tie marker
                              PMARKER_HOURGLASS       Hollow hourglass
                                                      marker
                              PMARKER_SOLID_HGLASS    Solid hourglass
                                                      marker
                              PMARKER_DIAMOND         Hollow diamond marker
                              PMARKER_SOLID_DIAMON    Solid diamond marker
Line 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_stroke_st3 queries the workstation state list and returns values for the following:

•Operating mode value

•Echo switch value

•List of initial stroke points in world coordinates

•Prompt and echo type

•Echo volume in device coordinates

•Stroke data record

See Also

pcreate_store
pdel_store
pinit_stroke3
pinq_stroke_st
pset_stroke_mode

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