home *** CD-ROM | disk | FTP | other *** search
/ IRIS Development Option 6.2 / IRIS_Development_Option_6.2_814-0478-001.iso / dist / dev.idb / usr / include / abi / Xm / PrimitiveP.h.z / PrimitiveP.h
C/C++ Source or Header  |  1996-03-14  |  6KB  |  210 lines

  1. /* 
  2.  * (c) Copyright 1989, 1990, 1991, 1992 OPEN SOFTWARE FOUNDATION, INC. 
  3.  * ALL RIGHTS RESERVED 
  4. */ 
  5. /* 
  6.  * Motif Release 1.2.1
  7. */ 
  8. /*   $RCSfile: PrimitiveP.h,v $ $Revision: 1.2 $ $Date: 1994/04/20 01:36:51 $ */
  9. /*
  10. *  (c) Copyright 1987, 1988, 1989, 1990, 1991, 1992 HEWLETT-PACKARD COMPANY */
  11. /*
  12. *  (c) Copyright 1989, 1990 DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS. */
  13. /*
  14. *  (c) Copyright 1988 MASSACHUSETTS INSTITUTE OF TECHNOLOGY  */
  15. #ifndef _XmPrimitiveP_h
  16. #define _XmPrimitiveP_h
  17.  
  18. #ifndef _XmNO_BC_INCL
  19. #define _XmNO_BC_INCL
  20. #endif
  21.  
  22. #include <Xm/XmP.h>
  23.  
  24. #ifdef __cplusplus
  25. extern "C" {
  26. #endif
  27.  
  28.  
  29. /* Access Macros */
  30.  
  31. #define Prim_ShadowThickness(w) (((XmPrimitiveWidget)(w))->primitive.shadow_thickness)
  32. #define Prim_HaveTraversal(w) (((XmPrimitiveWidget)(w))->primitive.have_traversal)
  33.  
  34. #define PCEPTR(wc)  ((XmPrimitiveClassExt *)(&(((XmPrimitiveWidgetClass)(wc))->primitive_class.extension)))
  35. #define _XmGetPrimitiveClassExtPtr(wc, owner) \
  36.   ((*PCEPTR(wc) && (((*PCEPTR(wc))->record_type) == owner))\
  37.    ? PCEPTR(wc) \
  38.    :((XmPrimitiveClassExt *) _XmGetClassExtensionPtr(((XmGenericClassExt *)PCEPTR(wc)), owner)))
  39.  
  40.  
  41. #define XmPrimitiveClassExtVersion 1L
  42.  
  43.  
  44. typedef struct _XmPrimitiveClassExtRec{
  45.     XtPointer           next_extension;
  46.     XrmQuark            record_type;
  47.     long                version;
  48.     Cardinal            record_size;
  49.     XmWidgetBaselineProc widget_baseline;
  50.     XmWidgetDisplayRectProc  widget_display_rect;
  51.     XmWidgetMarginsProc widget_margins;
  52. }XmPrimitiveClassExtRec, *XmPrimitiveClassExt;
  53.  
  54. typedef struct _XmPrimitiveClassPart
  55. {
  56.    XtWidgetProc         border_highlight;
  57.    XtWidgetProc         border_unhighlight;
  58.    String               translations;
  59.    XtActionProc         arm_and_activate;
  60.    XmSyntheticResource * syn_resources;   
  61.    int                  num_syn_resources;   
  62.    XtPointer            extension;
  63. } XmPrimitiveClassPart;
  64.  
  65. typedef struct _XmPrimitiveClassRec
  66. {
  67.     CoreClassPart        core_class;
  68.     XmPrimitiveClassPart primitive_class;
  69. } XmPrimitiveClassRec;
  70.  
  71. #ifndef PRIMITIVE
  72. externalref XmPrimitiveClassRec xmPrimitiveClassRec;
  73. #endif
  74.  
  75.  
  76. /*  The Primitive instance record  */
  77.  
  78. typedef struct _XmPrimitivePart
  79. {
  80.    Pixel   foreground;
  81.  
  82.    Dimension   shadow_thickness;
  83.    Pixel   top_shadow_color;
  84.    Pixmap  top_shadow_pixmap;
  85.    Pixel   bottom_shadow_color;
  86.    Pixmap  bottom_shadow_pixmap;
  87.  
  88.    Dimension   highlight_thickness;
  89.    Pixel   highlight_color;
  90.    Pixmap  highlight_pixmap;
  91.  
  92.    XtCallbackList help_callback;
  93.    XtPointer      user_data;
  94.  
  95.    Boolean traversal_on;
  96.    Boolean highlight_on_enter;
  97.    Boolean have_traversal;
  98.  
  99.    unsigned char unit_type;
  100.    XmNavigationType navigation_type;
  101.  
  102.    Boolean highlight_drawn;
  103.    Boolean highlighted;
  104.  
  105.    GC      highlight_GC;
  106.    GC      top_shadow_GC;
  107.    GC      bottom_shadow_GC;
  108. } XmPrimitivePart;
  109.  
  110. typedef struct _XmPrimitiveRec
  111. {
  112.    CorePart        core;
  113.    XmPrimitivePart primitive;
  114. } XmPrimitiveRec;
  115.  
  116.  
  117. /********    Private Function Declarations    ********/
  118. #ifdef _NO_PROTO
  119.  
  120. extern void _XmTraverseLeft() ;
  121. extern void _XmTraverseRight() ;
  122. extern void _XmTraverseUp() ;
  123. extern void _XmTraverseDown() ;
  124. extern void _XmTraverseNext() ;
  125. extern void _XmTraversePrev() ;
  126. extern void _XmTraverseHome() ;
  127. extern void _XmTraverseNextTabGroup() ;
  128. extern void _XmTraversePrevTabGroup() ;
  129. extern void _XmPrimitiveHelp() ;
  130. extern void _XmPrimitiveParentActivate() ;
  131. extern void _XmPrimitiveParentCancel() ;
  132. extern Boolean _XmDifferentBackground() ;
  133.  
  134. #else
  135.  
  136. extern void _XmTraverseLeft( 
  137.                         Widget w,
  138.                         XEvent *event,
  139.                         String *params,
  140.                         Cardinal *num_params) ;
  141. extern void _XmTraverseRight( 
  142.                         Widget w,
  143.                         XEvent *event,
  144.                         String *params,
  145.                         Cardinal *num_params) ;
  146. extern void _XmTraverseUp( 
  147.                         Widget w,
  148.                         XEvent *event,
  149.                         String *params,
  150.                         Cardinal *num_params) ;
  151. extern void _XmTraverseDown( 
  152.                         Widget w,
  153.                         XEvent *event,
  154.                         String *params,
  155.                         Cardinal *num_params) ;
  156. extern void _XmTraverseNext( 
  157.                         Widget w,
  158.                         XEvent *event,
  159.                         String *params,
  160.                         Cardinal *num_params) ;
  161. extern void _XmTraversePrev( 
  162.                         Widget w,
  163.                         XEvent *event,
  164.                         String *params,
  165.                         Cardinal *num_params) ;
  166. extern void _XmTraverseHome( 
  167.                         Widget w,
  168.                         XEvent *event,
  169.                         String *params,
  170.                         Cardinal *num_params) ;
  171. extern void _XmTraverseNextTabGroup( 
  172.                         Widget w,
  173.                         XEvent *event,
  174.                         String *params,
  175.                         Cardinal *num_params) ;
  176. extern void _XmTraversePrevTabGroup( 
  177.                         Widget w,
  178.                         XEvent *event,
  179.                         String *params,
  180.                         Cardinal *num_params) ;
  181. extern void _XmPrimitiveHelp( 
  182.                         Widget wid,
  183.                         XEvent *event,
  184.                         String *params,
  185.                         Cardinal *num_params) ;
  186. extern void _XmPrimitiveParentActivate( 
  187.                         Widget pw,
  188.                         XEvent *event,
  189.                         String *params,
  190.                         Cardinal *num_params) ;
  191. extern void _XmPrimitiveParentCancel( 
  192.                         Widget pw,
  193.                         XEvent *event,
  194.                         String *params,
  195.                         Cardinal *num_params) ;
  196. extern Boolean _XmDifferentBackground( 
  197.                         Widget w,
  198.                         Widget parent) ;
  199.  
  200. #endif /* _NO_PROTO */
  201. /********    End Private Function Declarations    ********/
  202.  
  203.  
  204. #ifdef __cplusplus
  205. }  /* Close scope of 'extern "C"' declaration which encloses file. */
  206. #endif
  207.  
  208. #endif /* _XmPrimitiveP_h */
  209. /* DON'T ADD ANYTHING AFTER THIS #endif */
  210.