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 _XmScrollBarP_h
0024 #define _XmScrollBarP_h
0025 
0026 
0027 #include <Xm/ScrollBar.h>
0028 #include <Xm/PrimitiveP.h>
0029 
0030 #ifdef __cplusplus
0031 extern "C" {
0032 #endif
0033 
0034 /*  Minimum slider width or height  */
0035 
0036 #define MIN_SLIDER_THICKNESS    1
0037 #define MIN_SLIDER_LENGTH   6
0038 #define DEFAULT_ROUND_MARK_RADIUS 3
0039 #define THERMO_MARK_OFFSET 10
0040 
0041 /*  ScrollBar class structure  */
0042 
0043 typedef struct _XmScrollBarClassPart
0044 {
0045    XtPointer extension;   /* Pointer to extension record */
0046 } XmScrollBarClassPart;
0047 
0048 
0049 /*  Full class record declaration for CheckBox class  */
0050 
0051 typedef struct _XmScrollBarClassRec
0052 {
0053    CoreClassPart        core_class;
0054    XmPrimitiveClassPart primitive_class;
0055    XmScrollBarClassPart scrollBar_class;
0056 } XmScrollBarClassRec;
0057 
0058 externalref XmScrollBarClassRec xmScrollBarClassRec;
0059 
0060 
0061 /*  The ScrollBar instance record  */
0062 
0063 typedef struct _XmScrollBarPart
0064 {
0065    int value;
0066    int minimum;
0067    int maximum;
0068    int slider_size;
0069 
0070    unsigned char orientation;
0071    unsigned char processing_direction;
0072    XtEnum show_arrows;
0073 
0074    int increment;
0075    int page_increment;
0076 
0077    int initial_delay;
0078    int repeat_delay;
0079 
0080    XtCallbackList value_changed_callback;
0081    XtCallbackList increment_callback;
0082    XtCallbackList decrement_callback;
0083    XtCallbackList page_increment_callback;
0084    XtCallbackList page_decrement_callback;
0085    XtCallbackList to_top_callback;
0086    XtCallbackList to_bottom_callback;
0087    XtCallbackList drag_callback;
0088 
0089    /* obsolete */
0090    GC unhighlight_GC;
0091    /* Change the logical name of this one in 2.0 */
0092 
0093    GC foreground_GC;
0094    Pixel trough_color;
0095 
0096    Drawable pixmap;
0097    Boolean  sliding_on;
0098    int saved_value;
0099 
0100    XtEnum  etched_slider;
0101    /* we used a #define slider_visual to referenced this field in 
0102       the c file, etched_slider is not a good name anymore, */
0103    XtEnum slider_mark;
0104  
0105    unsigned char flags;
0106 /* Values for the XmScrollBarPart flags field */
0107 
0108 #define FIRST_SCROLL_FLAG (1<<0)
0109 #define VALUE_SET_FLAG    (1<<1)
0110 #define END_TIMER         (1<<2)
0111 #define ARROW1_AVAILABLE  (1<<3)
0112 #define ARROW2_AVAILABLE  (1<<4)
0113 #define SLIDER_AVAILABLE  (1<<5)
0114 #define KEYBOARD_GRABBED  (1<<6)
0115 #define OPERATION_CANCELLED  (1<<7)  /* last field */
0116 
0117    unsigned char add_flags;
0118 /* Values for the additionnal flags field */
0119 #define SNAPPED_OUT         (1<<0)
0120 
0121 
0122    unsigned char change_type;
0123    XtIntervalId timer;
0124 
0125    short initial_x;
0126    short initial_y;
0127    short separation_x;
0128    short separation_y;
0129 
0130    short slider_x;
0131    short slider_y;
0132    short slider_width;
0133    short slider_height;
0134 
0135    short slider_area_x;
0136    short slider_area_y;
0137    short slider_area_width;
0138    short slider_area_height;
0139 
0140    short arrow1_x;
0141    short arrow1_y;
0142    unsigned char arrow1_orientation;
0143    Boolean arrow1_selected;
0144 
0145    short arrow2_x;
0146    short arrow2_y;
0147    unsigned char arrow2_orientation;
0148    Boolean arrow2_selected;
0149 
0150    short arrow_width;
0151    short arrow_height;
0152 
0153    /*  Obsolete fields as 1.2.0 */
0154    short arrow1_top_count;
0155    short arrow1_cent_count;
0156    short arrow1_bot_count;
0157 
0158    XRectangle * arrow1_top;
0159    XRectangle * arrow1_cent;
0160    XRectangle * arrow1_bot;
0161 
0162    short arrow2_top_count;
0163    short arrow2_cent_count;
0164    short arrow2_bot_count;
0165 
0166    XRectangle * arrow2_top;
0167    XRectangle * arrow2_cent;
0168    XRectangle * arrow2_bot;
0169    /***********/
0170 
0171    /* new for 1.2 */
0172    GC   unavailable_GC;
0173 
0174    /* new for 2.0 */
0175    unsigned short snap_back_multiple;
0176    XtEnum sliding_mode;
0177    Boolean editable;
0178 
0179    Mask dimMask ;  /* for the navigator trait */
0180 } XmScrollBarPart;
0181 
0182 
0183 
0184 
0185 /*  Full instance record declaration  */
0186 
0187 typedef struct _XmScrollBarRec
0188 {
0189    CorePart    core;
0190    XmPrimitivePart primitive;
0191    XmScrollBarPart scrollBar;
0192 } XmScrollBarRec;
0193 
0194 
0195 /********    Private Function Declarations    ********/
0196 
0197 /********    End Private Function Declarations    ********/
0198 
0199 #ifdef __cplusplus
0200 }  /* Close scope of 'extern "C"' declaration which encloses file. */
0201 #endif
0202 
0203 #endif /* _XmScrollBarP_h */
0204 /* DON'T ADD ANYTHING AFTER THIS #endif */