Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 10:15:28

0001 /* 
0002  * Motif
0003  *
0004  * Copyright (c) 1987-2012, The Open Group. All rights reserved.
0005  *
0006  * These libraries and programs are free software; you can
0007  * redistribute them and/or modify them under the terms of the GNU
0008  * Lesser General Public License as published by the Free Software
0009  * Foundation; either version 2 of the License, or (at your option)
0010  * any later version.
0011  *
0012  * These libraries and programs are distributed in the hope that
0013  * they will be useful, but WITHOUT ANY WARRANTY; without even the
0014  * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
0015  * PURPOSE. See the GNU Lesser General Public License for more
0016  * details.
0017  *
0018  * You should have received a copy of the GNU Lesser General Public
0019  * License along with these librararies and programs; if not, write
0020  * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
0021  * Floor, Boston, MA 02110-1301 USA
0022 */ 
0023 #ifndef _XmSeparatorGadgetP_h
0024 #define _XmSeparatorGadgetP_h
0025 
0026 #include <Xm/SeparatoG.h>
0027 #include <Xm/GadgetP.h>
0028 #include <Xm/ExtObjectP.h>
0029 
0030 #ifdef __cplusplus
0031 extern "C" {
0032 #endif
0033 
0034 /*****************************************************************/
0035 /* The Separator Gadget Cache Object's class and instance records*/
0036 /*****************************************************************/
0037 
0038 typedef struct _XmSeparatorGCacheObjClassPart
0039 {
0040     int foo;
0041 } XmSeparatorGCacheObjClassPart;
0042 
0043 
0044 /* separator cache class record */
0045 typedef struct _XmSeparatorGCacheObjClassRec
0046 {
0047     ObjectClassPart                     object_class;
0048     XmExtClassPart                      ext_class;
0049     XmSeparatorGCacheObjClassPart       separator_class_cache;
0050 } XmSeparatorGCacheObjClassRec;
0051 
0052 externalref XmSeparatorGCacheObjClassRec xmSeparatorGCacheObjClassRec;
0053 
0054 
0055 /*  The Separator Gadget Cache instance record  */
0056 
0057 typedef struct _XmSeparatorGCacheObjPart
0058 {
0059    Dimension      margin;
0060    unsigned char  orientation;
0061    unsigned char  separator_type;
0062    GC             separator_GC;
0063    
0064    GC               background_GC;
0065    GC               top_shadow_GC;
0066    GC               bottom_shadow_GC;
0067    
0068    Pixel            foreground;
0069    Pixel            background;
0070    
0071    Pixel            top_shadow_color;
0072    Pixmap           top_shadow_pixmap;
0073    
0074    Pixel            bottom_shadow_color;
0075    Pixmap           bottom_shadow_pixmap;
0076 } XmSeparatorGCacheObjPart;
0077 
0078 typedef struct _XmSeparatorGCacheObjRec
0079 {
0080   ObjectPart                object;
0081   XmExtPart         ext;
0082   XmSeparatorGCacheObjPart  separator_cache;
0083 } XmSeparatorGCacheObjRec;
0084 
0085 
0086 /*****************************************************/
0087 /*  The Separator Widget Class and instance records  */
0088 /*****************************************************/
0089 
0090 typedef struct _XmSeparatorGadgetClassPart
0091 {
0092    XtPointer               extension;
0093 } XmSeparatorGadgetClassPart;
0094 
0095 
0096 /*  Full class record declaration for Separator class  */
0097 
0098 typedef struct _XmSeparatorGadgetClassRec
0099 {
0100    RectObjClassPart            rect_class;
0101    XmGadgetClassPart           gadget_class;
0102    XmSeparatorGadgetClassPart  separator_class;
0103 } XmSeparatorGadgetClassRec;
0104 
0105 externalref XmSeparatorGadgetClassRec xmSeparatorGadgetClassRec;
0106 
0107 typedef struct _XmSeparatorGadgetPart
0108 {
0109   XmSeparatorGCacheObjPart  *cache;
0110   Boolean fill_bg_box;
0111 } XmSeparatorGadgetPart;
0112 
0113 /*  Full instance record declaration  */
0114 
0115 typedef struct _XmSeparatorGadgetRec
0116 {
0117    ObjectPart             object;
0118    RectObjPart            rectangle;
0119    XmGadgetPart           gadget;
0120    XmSeparatorGadgetPart  separator;
0121 } XmSeparatorGadgetRec;
0122 
0123 
0124 /* MACROS for accessing instance fields*/
0125 #define SEPG_Margin(w)      \
0126     (((XmSeparatorGadget)(w))->separator.cache->margin)
0127 #define SEPG_Orientation(w) \
0128     (((XmSeparatorGadget)(w))->separator.cache->orientation)
0129 #define SEPG_SeparatorType(w)   \
0130     (((XmSeparatorGadget)(w))->separator.cache->separator_type)
0131 #define SEPG_SeparatorGC(w) \
0132     (((XmSeparatorGadget)(w))->separator.cache->separator_GC)
0133 #define SEPG_BackgroundGC(w)    \
0134     (((XmSeparatorGadget)(w))->separator.cache->background_GC)
0135 #define SEPG_TopShadowGC(w) \
0136     (((XmSeparatorGadget)(w))->separator.cache->top_shadow_GC)
0137 #define SEPG_BottomShadowGC(w)  \
0138     (((XmSeparatorGadget)(w))->separator.cache->bottom_shadow_GC)
0139 #define SEPG_Foreground(w)  \
0140     (((XmSeparatorGadget)(w))->separator.cache->foreground)
0141 #define SEPG_Background(w)  \
0142     (((XmSeparatorGadget)(w))->separator.cache->background)
0143 #define SEPG_TopShadowColor(w)  \
0144     (((XmSeparatorGadget)(w))->separator.cache->top_shadow_color)
0145 #define SEPG_TopShadowPixmap(w) \
0146     (((XmSeparatorGadget)(w))->separator.cache->top_shadow_pixmap)
0147 #define SEPG_BottomShadowColor(w)   \
0148     (((XmSeparatorGadget)(w))->separator.cache->bottom_shadow_color)
0149 #define SEPG_BottomShadowPixmap(w)  \
0150     (((XmSeparatorGadget)(w))->separator.cache->bottom_shadow_pixmap)
0151 
0152 /* Convenience Macros */
0153 #define SEPG_Cache(w)       \
0154     (((XmSeparatorGadget)(w))->separator.cache)
0155 #define SEPG_ClassCachePart(w) \
0156         (((XmSeparatorGadgetClass)xmSeparatorGadgetClass)->gadget_class.cache_part)
0157 
0158 
0159 #ifdef __cplusplus
0160 }  /* Close scope of 'extern "C"' declaration which encloses file. */
0161 #endif
0162 
0163 #endif /* _XmSeparatorGadgetP_h */
0164 /* DON'T ADD STUFF AFTER THIS #endif */