|
|
1.1 root 1: /*
2: * $Source: /u1/X/xterm/RCS/scrollbar.h,v $
3: * $Header: scrollbar.h,v 10.100 86/12/01 14:40:30 jg Rel $
4: */
5:
6: /* @(#)scrollbar.h X10/6.6B 12/26/86 */
7: #define BARSTART (2 * BUTTONHEIGHT)
8: #define BUTTONHEIGHT SCROLLBARWIDTH
9: #define HILITED 1
10: #define MINSCROLLBARHEIGHT (BARSTART + 32)
11: #define NBUTTONBITMAPS (BUTTON_NORMAL / 2 + 1)
12: #define NSAVESTATES 2
13: #define PAUSETIME (1000000L / 5)
14: #define SAVELINES 64
15: #define SCROLLBARWIDTH 20
16: #define STEPTIME (1000000L / 10)
17:
18: /*
19: * the first four must be consecutive and at the bottom
20: */
21: #define BUTTON_UPLINE 0
22: #define BUTTON_UPLINEHI (BUTTON_UPLINE | HILITED)
23: #define BUTTON_DOWNLINE (BUTTON_UPLINE + 2)
24: #define BUTTON_DOWNLINEHI (BUTTON_DOWNLINE | HILITED)
25: #define BUTTON_UPPAGE (BUTTON_DOWNLINE + 2)
26: #define BUTTON_UPPAGEHI (BUTTON_UPPAGE | HILITED)
27: #define BUTTON_DOWNPAGE (BUTTON_UPPAGE + 2)
28: #define BUTTON_DOWNPAGEHI (BUTTON_DOWNPAGE | HILITED)
29: #define BUTTON_TOP (BUTTON_DOWNPAGE + 2)
30: #define BUTTON_TOPHI (BUTTON_TOP | HILITED)
31: #define BUTTON_BOTTOM (BUTTON_TOP + 2)
32: #define BUTTON_BOTTOMHI (BUTTON_BOTTOM | HILITED)
33: #define BUTTON_NORMAL (BUTTON_BOTTOM + 2)
34:
35: #define SAVE_OFF 0
36: #define SAVE_ON 1
37:
38: #define HIDE 1
39: #define NONE 0
40: #define SHOW 2
41:
42: #define GetButtonState(sb) (sb->buttonset)
43: #define GetSaveState(sb) (sb->saveset)
44: #define GetScrollBarBottom(sb) (sb->set.bottomvalue)
45: #define GetScrollBarRegion(sb) (sb->set.regionheight)
46: #define GetScrollBarTop(sb) (sb->set.topvalue)
47: #define GetScrollBarValue(sb) (sb->set.value)
48: #define SetScrollBarBottom(sb,bot) sb->set.bottomvalue = (bot)
49: #define SetScrollBarRegion(sb,reg) sb->set.regionheight = (reg)
50: #define SetScrollBarTop(sb,top) sb->set.topvalue = (top)
51: #define SetScrollBarValue(sb,val) sb->set.value = (val)
52:
53: struct scroll_region {
54: int value; /* value at top of region */
55: int regionheight; /* region height below value */
56: int topvalue; /* of scroll area */
57: int bottomvalue; /* of scroll area */
58: int height; /* of scroll area */
59: int y; /* y position of region */
60: int pixelheight; /* height in pixel of region */
61: };
62:
63: typedef struct scroll_bar {
64: int visible; /* scrollbar visible */
65: int buttonstate; /* current button state */
66: int buttonset; /* requested button state */
67: int savestate; /* current save state */
68: int saveset; /* requested save state */
69: int regionvisible; /* region visible */
70: int action; /* state is changing */
71: Window bar; /* main scrollbar window */
72: Window button; /* button window */
73: Window save; /* save state window */
74: Window region; /* region window */
75: Cursor cursor; /* scrollbar cursor */
76: short *buttonbits[NBUTTONBITMAPS]; /* button state bitmaps */
77: short *savebits[NSAVESTATES]; /* save state bitmaps */
78: int fg; /* foreground color */
79: int bg; /* background color */
80: struct scroll_region state; /* current region state */
81: struct scroll_region set; /* requested region state */
82: } ScrollBar;
83:
84: ScrollBar *CreateScrollBar();
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.