Build Fix -- compatibility issue with newer autoconf
[sxemacs] / src / ui / lwlib / xlwscrollbar.h
1 /* Implements a lightweight scrollbar widget.
2    Copyright (C) 1992, 1993, 1994 Lucid, Inc.
3
4 This file is part of the Lucid Widget Library.
5
6 The Lucid Widget Library is free software: you can redistribute it
7 and/or modify it under the terms of the GNU General Public License as
8 published by the Free Software Foundation, either version 3 of the
9 License, or (at your option) any later version.
10
11 The Lucid Widget Library is distributed in the hope that it will be
12 useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14 General Public License for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with this program.  If not, see <http://www.gnu.org/licenses/>. */
18
19 /* Created by Douglas Keller <dkeller@vnet.ibm.com> */
20
21 #ifndef INCLUDED_xlwscrollbar_h_
22 #define INCLUDED_xlwscrollbar_h_
23
24 #include <X11/Core.h>
25
26 /* Motif-compatible resource names */
27 #ifndef _XmStrDefs_h_
28
29 #define XmNbackground           "background"
30 #define XmNbottomShadowColor    "bottomShadowColor"
31 #define XmNbottomShadowPixmap   "bottomShadowPixmap"
32 #define XmNforeground           "foreground"
33 #define XmNincrement            "increment"
34 #define XmNinitialDelay         "initialDelay"
35 #define XmNmaximum              "maximum"
36 #define XmNminimum              "minimum"
37 #define XmNpageIncrement        "pageIncrement"
38 #define XmNrepeatDelay          "repeatDelay"
39 #define XmNshadowThickness      "shadowThickness"
40 #define XmNborderWidth          "borderWidth"
41 #define XmNshowArrows           "showArrows"
42 #define XmNsliderSize           "sliderSize"
43 #define XmNtopShadowColor       "topShadowColor"
44 #define XmNtopShadowPixmap      "topShadowPixmap"
45 #define XmNtroughColor          "troughColor"
46 #define XmNvalue                "value"
47 #define XmNvalueChangedCallback "valueChangedCallback"
48 #define XmNincrementCallback    "incrementCallback"
49 #define XmNdecrementCallback    "decrementCallback"
50 #define XmNpageIncrementCallback "pageIncrementCallback"
51 #define XmNpageDecrementCallback "pageDecrementCallback"
52 #define XmNtoTopCallback        "toTopCallback"
53 #define XmNtoBottomCallback     "toBottomCallback"
54 #define XmNdragCallback         "dragCallback"
55 #define XmNorientation          "orientation"
56
57 #define XmCBackground           "Background"
58 #define XmCBottomShadowColor    "BottomShadowColor"
59 #define XmCBottomShadowPixmap   "BottomShadowPixmap"
60 #define XmCTopShadowPixmap      "TopShadowPixmap"
61 #define XmCForeground           "Foreground"
62 #define XmCIncrement            "Increment"
63 #define XmCInitialDelay         "InitialDelay"
64 #define XmCMaximum              "Maximum"
65 #define XmCMinimum              "Minimum"
66 #define XmCPageIncrement        "PageIncrement"
67 #define XmCRepeatDelay          "RepeatDelay"
68 #define XmCShadowThickness      "ShadowThickness"
69 #define XmCBorderWidth          "BorderWidth"
70 #define XmCShowArrows           "ShowArrows"
71 #define XmCSliderSize           "SliderSize"
72 #define XmCTopShadowColor       "TopShadowColor"
73 #define XmCTroughColor          "TroughColor"
74 #define XmCValue                "Value"
75 #define XmCValueChangedCallback "ValueChangedCallback"
76 #define XmCIncrementCallback    "IncrementCallback"
77 #define XmCDecrementCallback    "DecrementCallback"
78 #define XmCPageIncrementCallback "PageIncrementCallback"
79 #define XmCPageDecrementCallback "PageDecrementCallback"
80 #define XmCToTopCallback        "ToTopCallback"
81 #define XmCToBottomCallback     "ToBottomCallback"
82 #define XmCDragCallback         "DragCallback"
83 #define XmCOrientation          "Orientation"
84
85 #endif                          /* _XmStrDefs_h_ */
86
87 /* New resources that Motif does not have.
88    Maybe we should use a different prefix. */
89
90 /* "knob" is obsolete; use "slider" instead. */
91 #define XmNknobStyle            "knobStyle"
92 #define XmCKnobStyle            "KnobStyle"
93
94 #define XmNsliderStyle          "sliderStyle"
95 #define XmCSliderStyle          "SliderStyle"
96
97 #define XmNarrowPosition        "arrowPosition"
98 #define XmCArrowPosition        "ArrowPosition"
99
100 #ifndef _Xm_h
101
102 enum {
103         XmCR_NONE,
104         XmCR_VALUE_CHANGED = 2,
105         XmCR_INCREMENT,
106         XmCR_DECREMENT,
107         XmCR_PAGE_INCREMENT,
108         XmCR_PAGE_DECREMENT,
109         XmCR_TO_TOP,
110         XmCR_TO_BOTTOM,
111         XmCR_DRAG
112 };
113
114 enum {
115         XmNO_ORIENTATION,
116         XmVERTICAL,
117         XmHORIZONTAL
118 };
119
120 #endif                          /* ! _Xm_h */
121
122 extern WidgetClass xlwScrollBarWidgetClass;
123
124 typedef struct _XlwScrollBarClassRec *XlwScrollBarWidgetClass;
125 typedef struct _XlwScrollBarRec *XlwScrollBarWidget;
126
127 typedef struct {
128         int reason;
129         XEvent *event;
130         int value;
131         int pixel;
132 } XlwScrollBarCallbackStruct;
133
134 void XlwScrollBarGetValues(Widget widget, int *value, int *sliderSize,
135                            int *increment, int *pageIncrement);
136
137 void XlwScrollBarSetValues(Widget widget, int value, int sliderSize,
138                            int increment, int pageIncrement, Boolean notify);
139
140 #endif                          /* INCLUDED_xlwscrollbar_h_ */