Mercurial > hg > xemacs-beta
annotate lwlib/xlwscrollbar.h @ 5797:a1808d52a34a
If the position of a window's cached point is deleted, use buffer point instead
src/ChangeLog addition:
2014-06-17 Aidan Kehoe <kehoea@parhasard.net>
* extents.h:
* window.c:
* window.c (unshow_buffer):
* window.c (Fset_window_buffer):
Use extents, rather than markers, for the window buffer point
cache, so that when the text containing that window buffer point
is deleted, the window display code uses the buffer's actual point
instead of the position that the marker had been moved to.
Fixes Michael Heinrich's problem of
http://mid.gmane.org/6zr42uxtf5.fsf@elektra.science-computing.de ,
introduced by Ben's patch of
https://bitbucket.org/xemacs/xemacs/commits/047d37eb70d70f43803 .
author | Aidan Kehoe <kehoea@parhasard.net> |
---|---|
date | Tue, 17 Jun 2014 20:55:45 +0100 |
parents | ade4c7e2c6cb |
children |
rev | line source |
---|---|
428 | 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 | |
5422
ade4c7e2c6cb
Migrate lwlib/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
440
diff
changeset
|
6 The Lucid Widget Library is free software: you can redistribute it |
ade4c7e2c6cb
Migrate lwlib/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
440
diff
changeset
|
7 and/or modify it under the terms of the GNU General Public License as |
ade4c7e2c6cb
Migrate lwlib/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
440
diff
changeset
|
8 published by the Free Software Foundation, either version 3 of the |
ade4c7e2c6cb
Migrate lwlib/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
440
diff
changeset
|
9 License, or (at your option) any later version. |
428 | 10 |
5422
ade4c7e2c6cb
Migrate lwlib/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
440
diff
changeset
|
11 The Lucid Widget Library is distributed in the hope that it will be |
ade4c7e2c6cb
Migrate lwlib/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
440
diff
changeset
|
12 useful, but WITHOUT ANY WARRANTY; without even the implied warranty of |
ade4c7e2c6cb
Migrate lwlib/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
440
diff
changeset
|
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
ade4c7e2c6cb
Migrate lwlib/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
440
diff
changeset
|
14 General Public License for more details. |
428 | 15 |
16 You should have received a copy of the GNU General Public License | |
5422
ade4c7e2c6cb
Migrate lwlib/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
440
diff
changeset
|
17 along with the Lucid Widget Library. If not, see |
ade4c7e2c6cb
Migrate lwlib/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents:
440
diff
changeset
|
18 <http://www.gnu.org/licenses/>. */ |
428 | 19 |
20 /* Created by Douglas Keller <dkeller@vnet.ibm.com> */ | |
21 | |
440 | 22 #ifndef INCLUDED_xlwscrollbar_h_ |
23 #define INCLUDED_xlwscrollbar_h_ | |
428 | 24 |
25 #include <X11/Core.h> | |
26 | |
27 /* Motif-compatible resource names */ | |
28 #ifndef _XmStrDefs_h_ | |
29 | |
30 #define XmNbackground "background" | |
31 #define XmNbottomShadowColor "bottomShadowColor" | |
32 #define XmNbottomShadowPixmap "bottomShadowPixmap" | |
33 #define XmNforeground "foreground" | |
34 #define XmNincrement "increment" | |
35 #define XmNinitialDelay "initialDelay" | |
36 #define XmNmaximum "maximum" | |
37 #define XmNminimum "minimum" | |
38 #define XmNpageIncrement "pageIncrement" | |
39 #define XmNrepeatDelay "repeatDelay" | |
40 #define XmNshadowThickness "shadowThickness" | |
41 #define XmNborderWidth "borderWidth" | |
42 #define XmNshowArrows "showArrows" | |
43 #define XmNsliderSize "sliderSize" | |
44 #define XmNtopShadowColor "topShadowColor" | |
45 #define XmNtopShadowPixmap "topShadowPixmap" | |
46 #define XmNtroughColor "troughColor" | |
47 #define XmNvalue "value" | |
48 #define XmNvalueChangedCallback "valueChangedCallback" | |
49 #define XmNincrementCallback "incrementCallback" | |
50 #define XmNdecrementCallback "decrementCallback" | |
51 #define XmNpageIncrementCallback "pageIncrementCallback" | |
52 #define XmNpageDecrementCallback "pageDecrementCallback" | |
53 #define XmNtoTopCallback "toTopCallback" | |
54 #define XmNtoBottomCallback "toBottomCallback" | |
55 #define XmNdragCallback "dragCallback" | |
56 #define XmNorientation "orientation" | |
57 | |
58 #define XmCBackground "Background" | |
59 #define XmCBottomShadowColor "BottomShadowColor" | |
60 #define XmCBottomShadowPixmap "BottomShadowPixmap" | |
61 #define XmCTopShadowPixmap "TopShadowPixmap" | |
62 #define XmCForeground "Foreground" | |
63 #define XmCIncrement "Increment" | |
64 #define XmCInitialDelay "InitialDelay" | |
65 #define XmCMaximum "Maximum" | |
66 #define XmCMinimum "Minimum" | |
67 #define XmCPageIncrement "PageIncrement" | |
68 #define XmCRepeatDelay "RepeatDelay" | |
69 #define XmCShadowThickness "ShadowThickness" | |
70 #define XmCBorderWidth "BorderWidth" | |
71 #define XmCShowArrows "ShowArrows" | |
72 #define XmCSliderSize "SliderSize" | |
73 #define XmCTopShadowColor "TopShadowColor" | |
74 #define XmCTroughColor "TroughColor" | |
75 #define XmCValue "Value" | |
76 #define XmCValueChangedCallback "ValueChangedCallback" | |
77 #define XmCIncrementCallback "IncrementCallback" | |
78 #define XmCDecrementCallback "DecrementCallback" | |
79 #define XmCPageIncrementCallback "PageIncrementCallback" | |
80 #define XmCPageDecrementCallback "PageDecrementCallback" | |
81 #define XmCToTopCallback "ToTopCallback" | |
82 #define XmCToBottomCallback "ToBottomCallback" | |
83 #define XmCDragCallback "DragCallback" | |
84 #define XmCOrientation "Orientation" | |
85 | |
86 #endif /* _XmStrDefs_h_ */ | |
87 | |
88 /* New resources that Motif does not have. | |
89 Maybe we should use a different prefix. */ | |
90 | |
91 /* "knob" is obsolete; use "slider" instead. */ | |
92 #define XmNknobStyle "knobStyle" | |
93 #define XmCKnobStyle "KnobStyle" | |
94 | |
95 #define XmNsliderStyle "sliderStyle" | |
96 #define XmCSliderStyle "SliderStyle" | |
97 | |
98 #define XmNarrowPosition "arrowPosition" | |
99 #define XmCArrowPosition "ArrowPosition" | |
100 | |
101 #ifndef _Xm_h | |
102 | |
103 enum { | |
104 XmCR_NONE, | |
105 XmCR_VALUE_CHANGED = 2, | |
106 XmCR_INCREMENT, | |
107 XmCR_DECREMENT, | |
108 XmCR_PAGE_INCREMENT, | |
109 XmCR_PAGE_DECREMENT, | |
110 XmCR_TO_TOP, | |
111 XmCR_TO_BOTTOM, | |
112 XmCR_DRAG | |
113 }; | |
114 | |
115 enum { | |
116 XmNO_ORIENTATION, | |
117 XmVERTICAL, | |
118 XmHORIZONTAL | |
119 }; | |
120 | |
121 #endif /* ! _Xm_h */ | |
122 | |
123 extern WidgetClass xlwScrollBarWidgetClass; | |
124 | |
125 typedef struct _XlwScrollBarClassRec *XlwScrollBarWidgetClass; | |
126 typedef struct _XlwScrollBarRec *XlwScrollBarWidget; | |
127 | |
128 typedef struct | |
129 { | |
130 int reason; | |
131 XEvent * event; | |
132 int value; | |
133 int pixel; | |
134 } XlwScrollBarCallbackStruct; | |
135 | |
136 void XlwScrollBarGetValues(Widget widget, int *value, int *sliderSize, | |
137 int *increment, int *pageIncrement); | |
138 | |
139 void XlwScrollBarSetValues(Widget widget, int value, int sliderSize, | |
140 int increment, int pageIncrement, Boolean notify); | |
141 | |
440 | 142 #endif /* INCLUDED_xlwscrollbar_h_ */ |