home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Source Code 1993 July / THE_SOURCE_CODE_CD_ROM.iso / X / mit / extensions / lib / PEX / include / phgretdata.h < prev    next >
Encoding:
C/C++ Source or Header  |  1991-02-15  |  5.4 KB  |  216 lines

  1. /* $XConsortium: phgretdata.h,v 5.1 91/02/16 09:49:09 rws Exp $ */
  2.  
  3. /***********************************************************
  4. Copyright 1989, 1990, 1991 by Sun Microsystems, Inc. and the X Consortium.
  5.  
  6.                         All Rights Reserved
  7.  
  8. Permission to use, copy, modify, and distribute this software and its 
  9. documentation for any purpose and without fee is hereby granted, 
  10. provided that the above copyright notice appear in all copies and that
  11. both that copyright notice and this permission notice appear in 
  12. supporting documentation, and that the names of Sun Microsystems,
  13. the X Consortium, and MIT not be used in advertising or publicity 
  14. pertaining to distribution of the software without specific, written 
  15. prior permission.  
  16.  
  17. SUN MICROSYSTEMS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, 
  18. INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT 
  19. SHALL SUN MICROSYSTEMS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL 
  20. DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
  21. WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
  22. ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
  23. SOFTWARE.
  24. ******************************************************************/
  25.  
  26. #ifndef PHGRETDATA_H_INCLUDED
  27. #define PHGRETDATA_H_INCLUDED
  28.  
  29. /* Return Data typedefs for the CP functions */
  30.  
  31. typedef struct {
  32.     Pelem_type    type;
  33.     Pint    size;
  34. } Phg_ret_el_type_size;
  35.  
  36. typedef struct {
  37.     Pevent        id;
  38.     Phg_inp_event_data    data;
  39. } Phg_ret_inp_event;
  40.  
  41. typedef union {
  42.     Pin_status    istat;
  43.     Pin_status    chstat;
  44.     Pin_status    pkstat;
  45. } Phg_ret_inp_req_stat;
  46.  
  47. typedef struct {
  48.     int                brake;    /* (sic),  !0 if break occurred */
  49.     Phg_ret_inp_req_stat    status;
  50.     Phg_ret_inp_event        event;
  51. } Phg_ret_inp_request;
  52.  
  53. typedef struct {
  54.     Pint_list    counts;
  55.     Pint    num_pairs;
  56.     Pelem_ref    *paths;
  57. } Phg_ret_hierarchy;
  58.  
  59. typedef struct {
  60.     Prect    rect;
  61.     Ppoint    offset;
  62. } Phg_ret_text_extent;
  63.  
  64. typedef struct {
  65.     Pupd_st        update_state;
  66.     /* Use indirection for the reps to keep Phg_ret small. */
  67.     Pview_rep3        *cur_rep;
  68.     Pview_rep3        *req_rep;
  69. } Phg_ret_view_rep;
  70.  
  71. typedef struct {
  72.     Pupd_st        update_state;
  73.     /* Use indirection for the reps to keep Phg_ret small. */
  74.     Pview_rep3        *cur_rep;
  75.     Pview_rep3        *req_rep;
  76. } Phg_ret_xview_rep;
  77.  
  78. typedef union {
  79.     Pline_bundle_plus    extlnrep;
  80.     Pmarker_bundle_plus    extmkrep;
  81.     Ptext_bundle_plus    exttxrep;
  82.     Pint_bundle_plus    extinterrep;
  83.     Pedge_bundle_plus    extedgerep;
  84.     Ppat_rep_plus    extptrep;
  85.     Pcolr_rep        corep;
  86.     Pdcue_bundle        dcuerep;
  87.     Plight_src_bundle   lightsrcrep;
  88.     Phg_colr_map_rep    colrmaprep;
  89. } Phg_ret_rep;
  90.  
  91. typedef struct {
  92.     Pdefer_mode        def_mode;
  93.     Pmod_mode        mod_mode;
  94.     Pdisp_surf_empty    display_surf;
  95.     Pvisual_st        state;
  96. } Phg_ret_update_state;
  97.  
  98. typedef struct {
  99.     int            length;    /* of choice string list */
  100.     char        *strings;
  101.     Pchoicest3        state;
  102. } Phg_ret_choice_state;
  103.  
  104. typedef struct {
  105.     int            length;    /* of string */
  106.     Pstringst3        state;
  107. } Phg_ret_string_state;
  108.  
  109. typedef union {
  110.     Plocst3            loc;
  111.     Ppickst3            pick;
  112.     Pstrokest3            stroke;
  113.     Pvalst3            val;
  114.     Phg_ret_choice_state    choice;
  115.     Phg_ret_string_state    string;
  116. } Phg_ret_inp_state;
  117.  
  118. typedef struct {
  119.     Pint_list    incl;
  120.     Pint_list    excl;
  121. } Phg_ret_filter;
  122.  
  123. typedef struct {
  124.     Pupd_st    state;
  125.     Pint    cur_mode;
  126.     Pint    req_mode;
  127. } Phg_ret_hlhsr_mode;
  128.  
  129. typedef struct {
  130.     Pdisp_space_size3    display_size;
  131. } Phg_ret_win_info;
  132.  
  133. typedef struct {
  134.     Psearch_status    status;
  135.     Pint        found_el;
  136. } Phg_ret_el_search;
  137.  
  138. typedef struct {
  139.     Pelem_ref_list    path;
  140. } Phg_ret_inc_spa_search;
  141.  
  142. typedef struct {
  143.     Display    *display;
  144.     XID         drawable_id;
  145.     XID         overlay_id;
  146.     char    *display_name;
  147. } Phg_ret_dpy_and_drawable;
  148.  
  149. typedef struct {
  150.     XID            drawable_id;
  151.     XID            overlay_id;    /* only if category is OUTIN */
  152.     Wst            *wstype;
  153.     char        *wst_buffer;
  154.     int            wst_buffer_size;
  155. } Phg_ret_open_ws;
  156.  
  157. typedef struct {
  158.     Pelem_type        op;
  159.     Phg_pex_oc        pex_oc;
  160. } Phg_ret_q_content;
  161.  
  162. typedef struct {
  163.     Pupd_st    state;    /* update state */
  164.     Plimit3    req_window;    /* requested workstation window */
  165.     Plimit3    cur_window;    /* current workstation window */
  166.     Plimit3    req_viewport;    /* requested workstation viewport */
  167.     Plimit3    cur_viewport;    /* current workstation viewport */
  168. } Phg_ret_ws_tran3;
  169.  
  170. typedef struct {
  171.     Pin_status        status;
  172.     Ppick_path        pick;
  173. } Phg_ret_drawable_pick;
  174.  
  175. typedef struct {
  176.     Pint        view_index;
  177.     Ppoint_list3    points;
  178. } Phg_ret_map_points;
  179.  
  180. typedef union {
  181.     Pint            idata;
  182.     Pfloat            fdata;
  183.     Pint_list            int_list;
  184.     Pposted_struct_list        postlist;
  185.     Phg_ret_open_ws        open_ws;
  186.     Phg_ret_ws_tran3        ws_xform;
  187.     Phg_ret_q_content        el_info;
  188.     Phg_ret_el_type_size    el_type_size;
  189.     Phg_ret_inp_request        inp_request;
  190.     Phg_ret_inp_event        inp_event;
  191.     Phg_ret_hierarchy        hierarchy;
  192.     Phg_ret_text_extent        text_extent;
  193.     Phg_ret_view_rep        view_rep;
  194.     Phg_ret_xview_rep        xview_rep;
  195.     Phg_ret_rep            rep;
  196.     Phg_ret_update_state    update_state;
  197.     Phg_ret_inp_state        inp_state;
  198.     Phg_ret_filter        filter;
  199.     Phg_ret_hlhsr_mode        hlhsr_mode;
  200.     Pevent               oflow_event;
  201.     Phg_ret_win_info        win_info;
  202.     Phg_ret_el_search        el_search;
  203.     Phg_ret_inc_spa_search    inc_spa_search;
  204.     Phg_ret_dpy_and_drawable    dpy_and_drawable;
  205.     Phg_ret_drawable_pick    drawable_pick;
  206.     Phg_ret_map_points        map_points;
  207. } Phg_ret_data;
  208.  
  209. typedef struct {
  210.     Pint        err;
  211.     Phg_ret_data    data;
  212. } Phg_ret;
  213.  
  214.  
  215. #endif
  216.