Back to home page

EIC code displayed by LXR

 
 

    


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

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 _XmArrowGadgetP_h
0024 #define _XmArrowGadgetP_h
0025 
0026 #include <Xm/ArrowBG.h>
0027 #include <Xm/GadgetP.h>
0028 
0029 #ifdef __cplusplus
0030 extern "C" {
0031 #endif
0032 
0033 /*  Arrow class structure  */
0034 
0035 typedef struct _XmArrowButtonGadgetClassPart
0036 {
0037    XtPointer extension;
0038 } XmArrowButtonGadgetClassPart;
0039 
0040 
0041 /*  Full class record declaration for Arrow class  */
0042 
0043 typedef struct _XmArrowButtonGadgetClassRec
0044 {
0045   RectObjClassPart             rect_class;
0046   XmGadgetClassPart            gadget_class;
0047   XmArrowButtonGadgetClassPart arrow_button_class;
0048 } XmArrowButtonGadgetClassRec;
0049 
0050 externalref XmArrowButtonGadgetClassRec xmArrowButtonGadgetClassRec;
0051 
0052 /*  The Arrow instance record  */
0053 
0054 typedef struct _XmArrowButtonGadgetPart
0055 {
0056   XtCallbackList activate_callback;
0057   XtCallbackList arm_callback;
0058   XtCallbackList disarm_callback;
0059   unsigned char  direction; /* The direction the arrow is pointing. */
0060 
0061   Boolean    selected;
0062 
0063   short      top_count;
0064   short      cent_count;
0065   short      bot_count;
0066   XRectangle    *top;
0067   XRectangle    *cent;
0068   XRectangle    *bot;
0069 
0070   Position   old_x;
0071   Position   old_y;
0072 
0073   GC         arrow_GC;
0074   XtIntervalId   timer; 
0075   unsigned char  multiClick;    /* KEEP/DISCARD resource */
0076   int        click_count;
0077   GC         insensitive_GC;
0078 
0079    
0080   GC         background_GC;
0081   GC         top_shadow_GC;
0082   GC         bottom_shadow_GC;
0083   GC         highlight_GC;
0084    
0085   Pixel      foreground;
0086   Pixel      background;
0087    
0088   Pixel      top_shadow_color;
0089   Pixmap     top_shadow_pixmap;
0090    
0091   Pixel      bottom_shadow_color;
0092   Pixmap     bottom_shadow_pixmap;
0093    
0094   Pixel      highlight_color;
0095   Pixmap     highlight_pixmap;
0096 
0097   Boolean    fill_bg_box;
0098   Dimension detail_shadow_thickness ;
0099 } XmArrowButtonGadgetPart;
0100 
0101 
0102 /*  Full instance record declaration  */
0103 
0104 typedef struct _XmArrowButtonGadgetRec
0105 {
0106    ObjectPart              object;
0107    RectObjPart             rectangle;
0108    XmGadgetPart            gadget;
0109    XmArrowButtonGadgetPart arrowbutton;
0110 } XmArrowButtonGadgetRec;
0111 
0112 
0113 
0114 #define ArrowBG_BackgroundGC(w)     (((XmArrowButtonGadget)(w)) -> \
0115                                            arrowbutton. background_GC)
0116 #define ArrowBG_TopShadowGC(w)      (((XmArrowButtonGadget)(w)) -> \
0117                                            arrowbutton. top_shadow_GC)
0118 #define ArrowBG_BottomShadowGC(w)   (((XmArrowButtonGadget)(w)) -> \
0119                                            arrowbutton. bottom_shadow_GC)
0120 #define ArrowBG_HighlightGC(w)      (((XmArrowButtonGadget)(w)) -> \
0121                                            arrowbutton. highlight_GC)
0122 #define ArrowBG_Foreground(w)       (((XmArrowButtonGadget)(w)) -> \
0123                                            arrowbutton. foreground)
0124 #define ArrowBG_Background(w)       (((XmArrowButtonGadget)(w)) -> \
0125                                            arrowbutton. background)
0126 #define ArrowBG_TopShadowColor(w)   (((XmArrowButtonGadget)(w)) -> \
0127                                            arrowbutton. top_shadow_color)
0128 #define ArrowBG_TopShadowPixmap(w)  (((XmArrowButtonGadget)(w)) -> \
0129                                            arrowbutton. top_shadow_pixmap)
0130 #define ArrowBG_BottomShadowColor(w)    (((XmArrowButtonGadget)(w)) -> \
0131                                            arrowbutton. bottom_shadow_color)
0132 #define ArrowBG_BottomShadowPixmap(w)   (((XmArrowButtonGadget)(w)) -> \
0133                                            arrowbutton. bottom_shadow_pixmap)
0134 #define ArrowBG_HighlightColor(w)   (((XmArrowButtonGadget)(w)) -> \
0135                                            arrowbutton. highlight_color)
0136 #define ArrowBG_HighlightPixmap(w)  (((XmArrowButtonGadget)(w)) -> \
0137                                            arrowbutton. highlight_pixmap)
0138 
0139 /********    Private Function Declarations    ********/
0140 
0141 
0142 /********    End Private Function Declarations    ********/
0143 
0144 
0145 #ifdef __cplusplus
0146 }  /* Close scope of 'extern "C"' declaration which encloses file. */
0147 #endif
0148 
0149 #endif /* _XmArrowGadgetP_h */
0150 /* DON'T ADD ANYTHING AFTER THIS #endif */