summaryrefslogtreecommitdiff
path: root/Master/tlpkg/tlperl/lib/Tk/X.pm
blob: f32ca93d325d6ae3c70ddd2349d34fe66bec61f9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
package Tk::X;

use strict;
use Carp;
use vars qw($VERSION @EXPORT $AUTOLOAD);
$VERSION = '4.005'; # $Id: //depot/Tkutf8/Xlib/X/X.pm#4 $
use Tk qw($XS_VERSION);

require Exporter;
require DynaLoader;
require AutoLoader;


use base  qw(Exporter DynaLoader);
# Items to export into callers namespace by default. Note: do not export
# names by default without a very good reason. Use EXPORT_OK instead.
# Do not simply export all your public functions/methods/constants.
@EXPORT = qw(
	Above
	AllTemporary
	AllocAll
	AllocNone
	AllowExposures
	AlreadyGrabbed
	Always
	AnyButton
	AnyKey
	AnyModifier
	AnyPropertyType
	ArcChord
	ArcPieSlice
	AsyncBoth
	AsyncKeyboard
	AsyncPointer
	AutoRepeatModeDefault
	AutoRepeatModeOff
	AutoRepeatModeOn
	BadAccess
	BadAlloc
	BadAtom
	BadColor
	BadCursor
	BadDrawable
	BadFont
	BadGC
	BadIDChoice
	BadImplementation
	BadLength
	BadMatch
	BadName
	BadPixmap
	BadRequest
	BadValue
	BadWindow
	Below
	BottomIf
	Button1
	Button1Mask
	Button1MotionMask
	Button2
	Button2Mask
	Button2MotionMask
	Button3
	Button3Mask
	Button3MotionMask
	Button4
	Button4Mask
	Button4MotionMask
	Button5
	Button5Mask
	Button5MotionMask
	ButtonMotionMask
	ButtonPress
	ButtonPressMask
	ButtonRelease
	ButtonReleaseMask
	CWBackPixel
	CWBackPixmap
	CWBackingPixel
	CWBackingPlanes
	CWBackingStore
	CWBitGravity
	CWBorderPixel
	CWBorderPixmap
	CWBorderWidth
	CWColormap
	CWCursor
	CWDontPropagate
	CWEventMask
	CWHeight
	CWOverrideRedirect
	CWSaveUnder
	CWSibling
	CWStackMode
	CWWidth
	CWWinGravity
	CWX
	CWY
	CapButt
	CapNotLast
	CapProjecting
	CapRound
	CenterGravity
	CirculateNotify
	CirculateRequest
	ClientMessage
	ClipByChildren
	ColormapChangeMask
	ColormapInstalled
	ColormapNotify
	ColormapUninstalled
	Complex
	ConfigureNotify
	ConfigureRequest
	ControlMapIndex
	ControlMask
	Convex
	CoordModeOrigin
	CoordModePrevious
	CopyFromParent
	CreateNotify
	CurrentTime
	CursorShape
	DefaultBlanking
	DefaultExposures
	DestroyAll
	DestroyNotify
	DirectColor
	DisableAccess
	DisableScreenInterval
	DisableScreenSaver
	DoBlue
	DoGreen
	DoRed
	DontAllowExposures
	DontPreferBlanking
	EastGravity
	EnableAccess
	EnterNotify
	EnterWindowMask
	EvenOddRule
	Expose
	ExposureMask
	FamilyChaos
	FamilyDECnet
	FamilyInternet
	FillOpaqueStippled
	FillSolid
	FillStippled
	FillTiled
	FirstExtensionError
	FocusChangeMask
	FocusIn
	FocusOut
	FontChange
	FontLeftToRight
	FontRightToLeft
	ForgetGravity
	GCArcMode
	GCBackground
	GCCapStyle
	GCClipMask
	GCClipXOrigin
	GCClipYOrigin
	GCDashList
	GCDashOffset
	GCFillRule
	GCFillStyle
	GCFont
	GCForeground
	GCFunction
	GCGraphicsExposures
	GCJoinStyle
	GCLastBit
	GCLineStyle
	GCLineWidth
	GCPlaneMask
	GCStipple
	GCSubwindowMode
	GCTile
	GCTileStipXOrigin
	GCTileStipYOrigin
	GXand
	GXandInverted
	GXandReverse
	GXclear
	GXcopy
	GXcopyInverted
	GXequiv
	GXinvert
	GXnand
	GXnoop
	GXnor
	GXor
	GXorInverted
	GXorReverse
	GXset
	GXxor
	GrabFrozen
	GrabInvalidTime
	GrabModeAsync
	GrabModeSync
	GrabNotViewable
	GrabSuccess
	GraphicsExpose
	GravityNotify
	GrayScale
	HostDelete
	HostInsert
	IncludeInferiors
	InputFocus
	InputOnly
	InputOutput
	IsUnmapped
	IsUnviewable
	IsViewable
	JoinBevel
	JoinMiter
	JoinRound
	KBAutoRepeatMode
	KBBellDuration
	KBBellPercent
	KBBellPitch
	KBKey
	KBKeyClickPercent
	KBLed
	KBLedMode
	KeyPress
	KeyPressMask
	KeyRelease
	KeyReleaseMask
	KeymapNotify
	KeymapStateMask
	LASTEvent
	LSBFirst
	LastExtensionError
	LeaveNotify
	LeaveWindowMask
	LedModeOff
	LedModeOn
	LineDoubleDash
	LineOnOffDash
	LineSolid
	LockMapIndex
	LockMask
	LowerHighest
	MSBFirst
	MapNotify
	MapRequest
	MappingBusy
	MappingFailed
	MappingKeyboard
	MappingModifier
	MappingNotify
	MappingPointer
	MappingSuccess
	Mod1MapIndex
	Mod1Mask
	Mod2MapIndex
	Mod2Mask
	Mod3MapIndex
	Mod3Mask
	Mod4MapIndex
	Mod4Mask
	Mod5MapIndex
	Mod5Mask
	MotionNotify
	NoEventMask
	NoExpose
	NoSymbol
	Nonconvex
	None
	NorthEastGravity
	NorthGravity
	NorthWestGravity
	NotUseful
	NotifyAncestor
	NotifyDetailNone
	NotifyGrab
	NotifyHint
	NotifyInferior
	NotifyNonlinear
	NotifyNonlinearVirtual
	NotifyNormal
	NotifyPointer
	NotifyPointerRoot
	NotifyUngrab
	NotifyVirtual
	NotifyWhileGrabbed
	Opposite
	OwnerGrabButtonMask
	ParentRelative
	PlaceOnBottom
	PlaceOnTop
	PointerMotionHintMask
	PointerMotionMask
	PointerRoot
	PointerWindow
	PreferBlanking
	PropModeAppend
	PropModePrepend
	PropModeReplace
	PropertyChangeMask
	PropertyDelete
	PropertyNewValue
	PropertyNotify
	PseudoColor
	RaiseLowest
	ReparentNotify
	ReplayKeyboard
	ReplayPointer
	ResizeRedirectMask
	ResizeRequest
	RetainPermanent
	RetainTemporary
	RevertToNone
	RevertToParent
	RevertToPointerRoot
	ScreenSaverActive
	ScreenSaverReset
	SelectionClear
	SelectionNotify
	SelectionRequest
	SetModeDelete
	SetModeInsert
	ShiftMapIndex
	ShiftMask
	SouthEastGravity
	SouthGravity
	SouthWestGravity
	StaticColor
	StaticGravity
	StaticGray
	StippleShape
	StructureNotifyMask
	SubstructureNotifyMask
	SubstructureRedirectMask
	Success
	SyncBoth
	SyncKeyboard
	SyncPointer
	TileShape
	TopIf
	TrueColor
	UnmapGravity
	UnmapNotify
	Unsorted
	VisibilityChangeMask
	VisibilityFullyObscured
	VisibilityNotify
	VisibilityPartiallyObscured
	VisibilityUnobscured
	WestGravity
	WhenMapped
	WindingRule
	XYBitmap
	XYPixmap
	X_H
	X_PROTOCOL
	X_PROTOCOL_REVISION
	YSorted
	YXBanded
	YXSorted
	ZPixmap
);

sub AUTOLOAD {
    # This AUTOLOAD is used to 'autoload' constants from the constant()
    # XS function.  If a constant is not found then control is passed
    # to the AUTOLOAD in AutoLoader.

    my $constname;
    ($constname = $AUTOLOAD) =~ s/.*:://;
    my $val = constant($constname, @_ ? $_[0] : 0);
    if ($! != 0) {
	if ($! =~ /Invalid/) {
	    $AutoLoader::AUTOLOAD = $AUTOLOAD;
	    goto &AutoLoader::AUTOLOAD;
	}
	else {
		croak "Your vendor has not defined X macro $constname";
	}
    }
    eval "sub $AUTOLOAD { $val }";
    goto &$AUTOLOAD;
}

bootstrap Tk::X;

1;
__END__