|
|
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.