home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / include / Xm / SeparatoGP.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-06-30  |  3.6 KB  |  134 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: SeparatoGP.h,v $ $Revision: 10.1 $ $Date: 1994/02/03 15:49:46 $ */
  9. /*
  10. *  (c) Copyright 1987, 1988, 1989, 1990, 1991, 1992 HEWLETT-PACKARD COMPANY */
  11. #ifndef _XmSeparatorGadgetP_h
  12. #define _XmSeparatorGadgetP_h
  13.  
  14. #include <Xm/SeparatoG.h>
  15. #include <Xm/GadgetP.h>
  16. #include <Xm/ExtObjectP.h>
  17.  
  18. #ifdef __cplusplus
  19. extern "C" {
  20. #endif
  21.  
  22. /*****************************************************************/
  23. /* The Separator Gadget Cache Object's class and instance records*/
  24. /*****************************************************************/
  25.  
  26. typedef struct _XmSeparatorGCacheObjClassPart
  27. {
  28.     int foo;
  29. } XmSeparatorGCacheObjClassPart;
  30.  
  31.  
  32. typedef struct _XmSeparatorGCacheObjClassRec  /* separator cache class record */
  33. {
  34.     ObjectClassPart                     object_class;
  35.     XmExtClassPart                      ext_class;
  36.     XmSeparatorGCacheObjClassPart       separator_class_cache;
  37. } XmSeparatorGCacheObjClassRec;
  38.  
  39. externalref XmSeparatorGCacheObjClassRec xmSeparatorGCacheObjClassRec;
  40.  
  41.  
  42. /*  The Separator Gadget Cache instance record  */
  43.  
  44. typedef struct _XmSeparatorGCacheObjPart
  45. {
  46.    Dimension      margin;
  47.    unsigned char  orientation;
  48.    unsigned char  separator_type;
  49.    GC             separator_GC;
  50. } XmSeparatorGCacheObjPart;
  51.  
  52. typedef struct _XmSeparatorGCacheObjRec
  53. {
  54.   ObjectPart                object;
  55.   XmExtPart            ext;
  56.   XmSeparatorGCacheObjPart  separator_cache;
  57. } XmSeparatorGCacheObjRec;
  58.  
  59.  
  60. /*****************************************************/
  61. /*  The Separator Widget Class and instance records  */
  62. /*****************************************************/
  63.  
  64. typedef struct _XmSeparatorGadgetClassPart
  65. {
  66.    XtPointer               extension;
  67. } XmSeparatorGadgetClassPart;
  68.  
  69.  
  70. /*  Full class record declaration for Separator class  */
  71.  
  72. typedef struct _XmSeparatorGadgetClassRec
  73. {
  74.    RectObjClassPart            rect_class;
  75.    XmGadgetClassPart           gadget_class;
  76.    XmSeparatorGadgetClassPart  separator_class;
  77. } XmSeparatorGadgetClassRec;
  78.  
  79. externalref XmSeparatorGadgetClassRec xmSeparatorGadgetClassRec;
  80.  
  81. typedef struct _XmSeparatorGadgetPart
  82. {
  83.   XmSeparatorGCacheObjPart  *cache;
  84. } XmSeparatorGadgetPart;
  85.  
  86. /*  Full instance record declaration  */
  87.  
  88. typedef struct _XmSeparatorGadgetRec
  89. {
  90.    ObjectPart             object;
  91.    RectObjPart            rectangle;
  92.    XmGadgetPart           gadget;
  93.    XmSeparatorGadgetPart  separator;
  94. } XmSeparatorGadgetRec;
  95.  
  96. /* MACROS for accessing instance fields*/
  97. #define SEPG_Margin(w)            (((XmSeparatorGadget)(w))->   \
  98.                        separator.cache->margin)
  99. #define SEPG_Orientation(w)        (((XmSeparatorGadget)(w))->   \
  100.                        separator.cache->orientation)
  101. #define SEPG_SeparatorType(w)        (((XmSeparatorGadget)(w))->   \
  102.                        separator.cache->separator_type)
  103. #define SEPG_SeparatorGC(w)        (((XmSeparatorGadget)(w))->   \
  104.                        separator.cache->separator_GC)
  105.  
  106. /* Convenience Macros */
  107. #define SEPG_Cache(w)                    (((XmSeparatorGadget)(w))->\
  108.                        separator.cache)
  109. #define SEPG_ClassCachePart(w) \
  110.         (((XmSeparatorGadgetClass)xmSeparatorGadgetClass)->gadget_class.cache_part)
  111.  
  112.  
  113. /********    Private Function Declarations    ********/
  114. #ifdef _NO_PROTO
  115.  
  116. extern int _XmSeparatorCacheCompare() ;
  117.  
  118. #else
  119.  
  120. extern int _XmSeparatorCacheCompare( 
  121.                         XtPointer A,
  122.                         XtPointer B) ;
  123.  
  124. #endif /* _NO_PROTO */
  125. /********    End Private Function Declarations    ********/
  126.  
  127.  
  128. #ifdef __cplusplus
  129. }  /* Close scope of 'extern "C"' declaration which encloses file. */
  130. #endif
  131.  
  132. #endif /* _XmSeparatorGadgetP_h */
  133. /* DON'T ADD STUFF AFTER THIS #endif */
  134.