void pxpick(
Pint ws_id, /* workstation identifier (input) */ Pint pick_dev_num, /* pick device number (input) */ Pint depth, /* pick path depth (input) */ Ppoint *point, /* located point in DC (input) */ Pin_status *status, /* return status (output) */ Ppick_path *pick_path /* return pick path (output) */
)
typedef struct {
Pfloat x,y; /* coordinates */
} Ppoint;
typedef enum {
PIN_STATUS_NONE,
PIN_STATUS_OK,
PIN_STATUS_NO_IN
} Pin_status;
typedef struct {
Pint depth;
Ppick_path_elem *path_list;
} Ppick_path;
typedef struct {
Pint struct_id;
Pint pick_id;
Pint elem_pos;
} Ppick_path_elem;
Use of this function overcomes the differences in concept between an event-driven model ( MOTIF ) and the classic sequential model required for the use of PHIGS input.
point.y = window.height - ev.xbutton.y ;
where window.height is the height in pixels of the X window and ev.xbutton.y is the Y position acquired with the event.
Sample pick,, see psample_pick
Set pick filter, see pset_pick_filter
Pick and locator without interaction (ext), see pxpick_loc
Locator without interaction (ext), see pxlocator3