Build Fix -- compatibility issue with newer autoconf
[sxemacs] / src / ui / lwlib / xlwscrollbarP.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 _XlwScrollBarP_h
22 #define _XlwScrollBarP_h
23
24 /*
25 ** Widget class
26 */
27 typedef struct {
28         int dummy_field;        /* keep compiler happy */
29 } XlwScrollBarClassPart;
30
31 typedef struct _XlwScrollbarClassRec {
32         CoreClassPart core_class;
33         XlwScrollBarClassPart scrollbar_class;
34 } XlwScrollBarClassRec;
35
36 enum XlwScrollbarArm {
37         ARM_NONE,
38         ARM_SLIDER,
39         ARM_UP,
40         ARM_DOWN,
41         ARM_PAGEUP,
42         ARM_PAGEDOWN
43 };
44
45 enum XlwScrollbarForcedScroll {
46         FORCED_SCROLL_NONE,
47         FORCED_SCROLL_DOWNRIGHT,
48         FORCED_SCROLL_UPLEFT
49 };
50
51 /*
52 ** Widget instance
53 */
54 typedef struct {
55         /* resources */
56         XtCallbackList valueChangedCBL;
57         XtCallbackList incrementCBL;
58         XtCallbackList decrementCBL;
59         XtCallbackList pageIncrementCBL;
60         XtCallbackList pageDecrementCBL;
61         XtCallbackList toTopCBL;
62         XtCallbackList toBottomCBL;
63         XtCallbackList dragCBL;
64
65         Pixel foreground;
66
67         Pixel topShadowColor;
68         Pixel bottomShadowColor;
69
70         Pixel troughColor;
71
72         Pixel armColor;
73         Pixel armTopShadowColor;
74         Pixel armBottomShadowColor;
75
76         Pixmap topShadowPixmap;
77         Pixmap bottomShadowPixmap;
78
79         int shadowThickness;
80
81         Boolean showArrows;
82
83         int minimum;
84         int maximum;
85         int sliderSize;
86         int value;
87         int pageIncrement;
88         int increment;
89
90         int initialDelay;
91         int repeatDelay;
92
93         unsigned char orientation;
94
95         char *sliderStyle;
96         char *knobStyle;
97         char *arrowPosition;
98
99         /* private */
100         Pixmap grayPixmap;
101
102         GC backgroundGC;
103         GC topShadowGC;
104         GC bottomShadowGC;
105
106         int above, ss, below;
107         int lastY;
108
109         enum XlwScrollbarArm armed;
110
111         enum XlwScrollbarForcedScroll forced_scroll;
112
113         int savedValue;
114
115         Boolean fullRedrawNext;
116
117         Boolean timerActive;
118         XtIntervalId timerId;
119
120 } XlwScrollBarPart;
121
122 typedef struct _XlwScrollBarRec {
123         CorePart core;
124         XlwScrollBarPart sb;
125 } XlwScrollBarRec;
126
127 #endif                          /* _XlwScrollBarP_h */