void pinq_def_loc_data(
Pint ws_type, /* workstation type */ Pint device, /* logical device number */ Pstore store, /* handle for Store object */ Pint *error_ind, /* (out) error indicator */ Ppoint *loc_pos, /* (out) default locator position */ Pint_list **pets, /* (out) list of prompt/echo type */ Plimit *echo, /* (out) echo area */ Ploc_data **loc_data_rec /* (out) data record */
)
typedef void * Pstore;
typedef struct {
Pfloat x; /* x coordinate */
Pfloat y; /* y coordinate */
} Ppoint;
typedef struct {
Pint num_ints; /* number of Pints in list */
Pint *ints; /* list of integers */
} Pint_list;
typedef struct {
Pfloat x_min; /* minimum x */
Pfloat x_max; /* maximum x */
Pfloat y_min; /* minimum y */
Pfloat y_max; /* maximum y */
} Plimit;
typedef struct {
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 */
union Ploc_attrs {
Pline_attrs line_attrs; /* polyline attributes */
Pint_attrs int_attrs; /* interior attributes */
struct Ploc_fill_set {
Pint_attrs int_attrs; /* interior attributes */
Pedge_attrs edge_attrs; /* edge attributes */
} fill_set;
} attrs;
} pet_r5;
struct Ploc_pet_r6 {
Pint impl_dep;
} pet_r6;
Pint impl_dep;
} pets;
} Ploc_data;
The data is read from the workstation description table of type ws_type.
The memory referenced by *loc_data_rec is managed by store.