Tk Source Code

Changes On Branch core-8-1-0-synthetic
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Changes In Branch core-8-1-0-synthetic Excluding Merge-Ins

This is equivalent to a diff from 0447cf26 to 437b0c3b

1999-04-24
01:50
merged 8.1.0 changes into mainline check-in: 14df4a4c user: stanton tags: trunk
1999-04-21
21:53
Created branch core-8-1-0-synthetic Closed-Leaf check-in: 437b0c3b user: cvs2fossil tags: core-8-1-0-synthetic, core-8-1-0
21:53
Merged 8-1-0 into mainline. check-in: 0447cf26 user: rjohnson tags: trunk
20:11
merge with 8.1.0 branch check-in: 17ceb230 user: redman tags: trunk

Changes to ChangeLog.


































1
2
3
4
5
6
7

































1999-04-20    <[email protected]>

	* xlib/X11/Xlib.h: changed definition of Status type to use a
	typedef instead of a #define to avoid conflicting with the cygwin
	win32 headers [Bug 1804]

1999-04-15    <[email protected]>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







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
1999-04-27    <[email protected]>

	* generic/tkDecls.h: 
	* generic/tkIntDecls.h: 
	* generic/tkIntPlatDecls.h: 
	* generic/tkIntXlibDecls.h: 
	* generic/tkPlatDecls.h: 
	* generic/tkStubInit.c: Changed to avoid the need for forward
	declarations in stub initializers.  Added extern "C" blocks around
	stub table pointer declarations so the stubs can be used from C++
	code. [Bug: 1934]

1999-04-23    <[email protected]>

	* generic/tkInt.decls: Added TkClipBox, XDrawSegments, and
	XForceScreenSaver to stubs.

	* generic/tkStubLib.c: Reordered declarations to avoid
	circularities and forward references.

	* generic/tkStubInit.c: Added includes for Mac.

	* generic/tkMenubutton.c: lint

	* generic/tkEntry.c: Fixed bad option table entry.

1999-04-22    <[email protected]>

	* generic/tkImgBmap.c:
	* generic/tkImgPPM.c:
	* generic/tkImgPhoto.c: Set the -translation and -encoding options
	to binary for image files. (reported by Marco Gazzetta)
	
1999-04-20    <[email protected]>

	* xlib/X11/Xlib.h: changed definition of Status type to use a
	typedef instead of a #define to avoid conflicting with the cygwin
	win32 headers [Bug 1804]

1999-04-15    <[email protected]>

Changes to README.

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
README:  Tk

	Tk is maintained, enhanced, and distributed freely as a
	service to the Tcl community by Scriptics Corporation.


RCS: @(#) $Id: README,v 1.15 1999/04/21 21:53:20 rjohnson Exp $

Contents
--------
    1. Introduction
    2. Documentation
    3. Compiling and installing Tk
    4. Getting started
    5. Summary of changes in Tk 8.1
    6. Development tools
    7. Tcl newsgroup
    8. Tcl contributed archive
    9. Tcl Resource Center
    10. Mailing lists
    11. Support and bug fixes
    12. Tk version numbers

1. Introduction
---------------

This directory contains the sources and documentation for Tk, an X11
toolkit implemented with the Tcl scripting language.  The information
here corresponds to release 8.1.0, which is the final release for Tk
8.1.

The most important change in Tk 8.1 is that it supports the new
internationalization features in Tcl 8.1.  It also contains a new
library for handling configuration options some of the widgets have
been converted to use the Tcl object facilities.  For details on
features, incompatibilities, and potential problems with this release,
see the Tcl/Tk 8.1 Web page at

	http://www.scriptics.com/software/8.1.html

or refer to the "changes" file in this directory, which contains a
historical record of all changes to Tk.

Tk is a freely available open source package.  You can do virtually
anything you like with it, such as modifying it, redistributing it,
and selling it either in whole or in part.  See the file
"license.terms" for complete information.

2. Documentation
----------------

The best way to get started with Tk is to read about Tk on the
Scriptics Web site at:

	http://www.scriptics.com/scripting

Another good way to get started with Tcl is to read one of the
introductory books on Tcl:

    Practical Programming in Tcl and Tk, 2nd Edition, by Brent Welch,
    Prentice-Hall, 1997, ISBN 0-13-616830-2

    Tcl and the Tk Toolkit, by John Ousterhout,
    Addison-Wesley, 1994, ISBN 0-201-63337-X

    Exploring Expect, by Don Libes,
    O'Reilly and Associates, 1995, ISBN 1-56592-090-2

Other books are listed at
http://www.scriptics.com/resource/doc/books/

There is also an official home for Tcl and Tk on the Scriptics Web site:

	http://www.scriptics.com

These Web pages include information about the latest releases, products
related to Tcl and Tk, reports on bug fixes and porting issues, HTML
versions of the manual pages, and pointers to many other Tcl/Tk Web
pages at other sites.  Check them out!

If you are porting Tk 3.6 scripts to Tk 4.0 or later releases, you may
find the Postscript file doc/tk4.0.ps useful.  It is a porting guide
that summarizes the new features and discusses how to deal with the
changes in Tk 4.0 that are not backwards compatible.

2a. Unix Documentation
----------------------

The "doc" subdirectory in this release contains a complete set of
reference manual entries for Tk.  Files with extension ".1" are for
programs such as wish; files with extension ".3" are for C library
procedures; and files with extension ".n" describe Tcl commands.  To
print any of the manual entries, cd to the "doc" directory and invoke
your favorite variant of troff using the normal -man macros, for example

		ditroff -man wish.1

to print wish.1.  If Tk has been installed correctly and your "man"
program supports it, you should be able to access the Tcl manual entries
using the normal "man" mechanisms, such as

		man wish

2b. Windows Documentation
-------------------------

The "doc/help" subdirectory in this release contains a complete set of
Windows help files for TclPro.  Once you install this Tcl release, a
shortcut to the Windows help Tcl documentation will appear in the
"Start" menu:

	Start | Programs | Tk | Tk Help

3. Compiling and installing Tk
------------------------------

This release contains everything you should need to compile and run
Tk under UNIX, PCs (either Windows NT, Windows 95, or Win 3.1 with
Win32s), and Macintoshes.

Before trying to compile Tk you should do the following things:

    (a) Check for a binary release.  Pre-compiled binary releases are
        available now for PCs, Macintoshes, and several flavors of UNIX.
        Binary releases are much easier to install than source releases.
        To find out whether a binary release is available for your
        platform, check the Scriptics Tcl Resource Center
        (http://www.scriptics.com/resource).  Also, check in
        the FTP directory from which you retrieved the base
        distribution.

    (b) Make sure you have the most recent patch release.  Look in the
	FTP directory from which you retrieved this distribution to see
	if it has been updated with patches.  Patch releases fix bugs
	without changing any features, so you should normally use the
	latest patch release for the version of Tk that you want. 

Once you've done this, change to the "unix" subdirectory if you're
compiling under UNIX, "win" if you're compiling under Windows, or
"mac" if you're compiling on a Macintosh.  Then follow the instructions
in the README file in that directory for compiling Tk, installing it,
and running the test suite.

4. Getting started
------------------

The best way to get started with Tk is by reading one of the
introductory books.  See the documentation section above for more
details.

The subdirectory library/demos contains a number of pre-canned scripts
that demonstrate various features of Tk.  See the README file in the
directory for a description of what's available.  The file
library/demos/widget is a script that you can use to invoke many
individual demonstrations of Tk's facilities, see the code that
produced the demos, and modify the code to try out alternatives.

5. Summary of changes in Tk 8.1
-------------------------------

6. Development tools
--------------------

A high quality set of commercial development tools is now available to
accelerate your Tk application development.  Scriptics' TclPro
product provides a debugger, static code checker, packaging utility,
and bytecode compiler.  Visit the Scriptics Web site at:

	http://www.scriptics.com/tclpro

for more information on TclPro and for a free 30-day evaluation
download.

7. Tcl newsgroup
----------------

There is a network news group "comp.lang.tcl" intended for the
exchange of information about Tcl, Tk, and related applications.  The
newsgroup is a greata place to ask general information questions.  For
bug reports, please see the "Support and bug fixes" section below.

8. Tcl contributed archive
--------------------------

Many people have created exciting packages and applications based on Tcl
and/or Tk and made them freely available to the Tcl community.  An archive
of these contributions is kept on the machine ftp.neosoft.com.  You
can access the archive using anonymous FTP;  the Tcl contributed archive is
in the directory "/pub/tcl".  The archive also contains several FAQ
("frequently asked questions") documents that provide solutions to problems
that are commonly encountered by TCL newcomers.

9. Tcl Resource Center
----------------------

Visit http://www.scriptics.com/resource/ to see an annotated index of
many Tcl resources available on the World Wide Web.  This includes
papers, books, and FAQs, as well as development tools, extensions,
applications, binary releases, and patches.  You can also recommend
additional URLs for the resource center using the forms labeled "Add a
Resource".

10. Mailing lists
-----------------

A couple of  Mailing List have been set up to discuss Macintosh or
Windows related Tcl issues.  To subscribe send a message to:
	
	[email protected]
	[email protected]
	
In the body of the message (the subject will be ignored) put:
	
	subscribe mactcl Joe Smith
	
Replacing Joe Smith with your real name, of course.  (Use wintcl
instead of mactcl if your interested in the Windows list.)  If you
would just like to receive more information about the list without
subscribing put the line:

	information mactcl
	
in the body instead (or wintcl).

11. Support and bug fixes
-------------------------

Scriptics is very interested in receiving bug reports, patches, and
suggestions for improvements.  We prefer that you send this
information to us via the bug form on the Scriptics Web site, rather
than emailing us directly.  The bug form is at:

	http://www.scriptics.com/support/bugForm.html

The bug form was designed to give uniform structure to bug reports as
well as to solicit enough information to minimize followup questions.
The bug form also includes an option to automatically post your report
on comp.lang.tcl.  We strongly recommend that you select this option
because someone else who reads comp.lang.tcl may be able to offer a
solution.

When reporting bugs, please provide full information about the Tcl/Tk
version and the platform on which you are running Tcl/Tk.  Also,
please include a short wish script that we can use to reproduce the
bug.  Make sure that the script runs with a bare-bones wish and
doesn't depend on any extensions or other programs, particularly those
that exist only at your site.  Also, please include three additional
pieces of information with the script:

    (a) how do we use the script to make the problem happen (e.g.
	what things do we click on, in what order)?
    (b) what happens when you do these things (presumably this is
        undesirable)?
    (c) what did you expect to happen instead?

We will log and follow-up on each bug, although we cannot promise a
specific turn-around time.  Enhancements may take longer and may not
happen at all unless there is widespread support for them (we're
trying to slow the rate at which Tcl/Tk turns into a kitchen sink).
It's very difficult to make incompatible changes to Tcl/Tk at this
point, due to the size of the installed base.

The Tcl community is too large for us to provide much individual
support for users.  If you need help we suggest that you post
questions to comp.lang.tcl.  We read the newsgroup and will attempt to
answer esoteric questions for which no-one else is likely to know the
answer.  In addition, Tcl/Tk support and training are available
commercially from Scriptics at:

	http://www.scriptics.com/training

Also see the following Web site for links to other organizations that
offer Tcl/Tk training:

	http://www.scriptics.com/resource/commercial/training

12. Tk version numbers
----------------------

You can test the current version of Tk by examining the
tk_version and tk_patchLevel variables.  The tk_patchLevel
variable follows the naming rules outlined below (e.g., 8.0.5).
The tk_version just has the major.minor numbers in it (e.g., 8.0)

Each Tk release is identified by two numbers separated by a dot, e.g.
3.6 or 4.0.  If a new release contains changes that are likely to break
existing C code or Tcl scripts then the major release number increments
and the minor number resets to zero: 3.0, 4.0, etc.  If a new release
contains only bug fixes and compatible changes, then the minor number
increments without changing the major number, e.g. 4.1, 4.2, etc.  If
you have C code or Tcl scripts that work with release X.Y, then they
should also work with any release X.Z as long as Z > Y.

Alpha and beta releases have an additional suffix of the form a2 or
b1.  For example, Tk 4.0b1 is the first beta release of Tk version
4.0, Tk 4.0b2 is the second beta release, and so on.  A beta release
is an initial version of a new release, used to fix bugs and bad
features before declaring the release stable.  An alpha release is
like a beta release, except it's likely to need even more work before
it's "ready for prime time".  New releases are normally preceded by
one or more alpha and beta releases.  We hope that lots of people will
try out the alpha and beta releases and report problems.  We'll make
new alpha/beta releases to fix the problems, until eventually there is
a beta release that appears to be stable.  Once this occurs we'll make
the final release.

We can't promise to maintain compatibility among alpha and beta releases.
For example, release 4.1b2 may not be backward compatible with 4.1b1, even
though the final 4.1 release will be backward compatible with 4.0.  This
allows us to change new features as we find problems during beta testing.
We'll try to minimize incompatibilities between beta releases, but if
a major problem turns up then we'll fix it even if it introduces an
incompatibility.  Once the official release is made then there won't
be any more incompatibilities until the next release with a new major
version number.

(Note: This compatibility is true for Tcl scripts, but historically
the Tcl C APIs have changed enough between releases that you may need
to work a bit to upgrade extensions.)

Patch releases now have a suffix such as ".4" or ".5".  Prior to
version 8.0.3, patch releases had the suffix "p1" or "p2".  So, the
8.0 release went to 8.0p1, 8.0p2, 8.0.3, 8.0.4, and 8.0.5.  The alphas
and betas continue to use the 'a' and 'b' letters in their
tk_patchLevel.  Patch releases normally contain bug fixes only.  A
patch release (e.g Tk 8.0.5) should be completely compatible with the
base release from which it is derived (e.g. Tk 8.0), and you should
normally use the highest available patch release.

Note: with Tk 8.0 the Tk version number skipped from 4.2 to 8.0. The
jump was made in order to synchronize the Tcl and Tk version numbers.

13. Thank You
-------------

We'd like to express our thanks to the Tcl community for all the
helpful suggestions, bug reports, and patches we have received.
Tcl/Tk has improved vastly and will continue to do so with your help.




>

|
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<









<
<
<
<
|
|











<
<
|
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<


<
<
|
<
<
|
<
|
<
|
<
<
<
<

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






















































































































README:  Tk

	Tk is maintained, enhanced, and distributed freely as a
	service to the Tcl community by Scriptics Corporation.
	http://www.scriptics.com/

RCS: @(#) $Id: README,v 1.15.2.1 1999/04/22 23:05:56 welch Exp $
















1. Introduction
---------------

This directory contains the sources and documentation for Tk, an X11
toolkit implemented with the Tcl scripting language.  The information
here corresponds to release 8.1.0, which is the final release for Tk
8.1.





For details on features, incompatibilities, and potential problems with
this release, see the Tcl/Tk 8.1 Web page at

	http://www.scriptics.com/software/8.1.html

or refer to the "changes" file in this directory, which contains a
historical record of all changes to Tk.

Tk is a freely available open source package.  You can do virtually
anything you like with it, such as modifying it, redistributing it,
and selling it either in whole or in part.  See the file
"license.terms" for complete information.



2. See Tcl README
























































































































































-----------------



Please see the README file that comes with the associated Tcl release


for more information.  There are pointers there to extensive

documentation.  In addition, there are additional README files

in the subdirectories of this distribution.



























































































































Changes to changes.

1
2
3
4
5
6
7
8
9
10
11
12
This file summarizes all changes made to Tk since version 1.0 was
released on March 13, 1991.  Changes that aren't backward compatible
are marked specially.

RCS: @(#) $Id: changes,v 1.32 1999/04/16 01:51:07 stanton Exp $

3/16/91 (bug fix) Modified tkWindow.c to remove Tk's Tcl commands from
the interpreter when the main window is deleted (otherwise there will
be dangling pointers to the non-existent window).

3/16/91 (bug fix) Modified tkColor.c not to free black or white colors:
some X servers get upset at this.




|







1
2
3
4
5
6
7
8
9
10
11
12
This file summarizes all changes made to Tk since version 1.0 was
released on March 13, 1991.  Changes that aren't backward compatible
are marked specially.

RCS: @(#) $Id: changes,v 1.32.4.1 1999/04/28 21:20:43 welch Exp $

3/16/91 (bug fix) Modified tkWindow.c to remove Tk's Tcl commands from
the interpreter when the main window is deleted (otherwise there will
be dangling pointers to the non-existent window).

3/16/91 (bug fix) Modified tkColor.c not to free black or white colors:
some X servers get upset at this.
4578
4579
4580
4581
4582
4583
4584














4/5/99 (feature change) Cut and paste to an entry widget returns the
selection instead of the widget contents, which can be different if the
-show option is used to hide the display. (stanton)

--------------- Released 8.1b3, April 6, 1999 ----------------------





















>
>
>
>
>
>
>
>
>
>
>
>
>
4578
4579
4580
4581
4582
4583
4584
4585
4586
4587
4588
4589
4590
4591
4592
4593
4594
4595
4596
4597

4/5/99 (feature change) Cut and paste to an entry widget returns the
selection instead of the widget contents, which can be different if the
-show option is used to hide the display. (stanton)

--------------- Released 8.1b3, April 6, 1999 ----------------------

4/20/99 (compiler fix) changed definition of Status type to use a
typedef instead of a #define to avoid conflicting with the cygwin win32
headers. (redman)

4/22/99 (bug fix) Set the -translation and -encoding options to binary
for image files. (redman)

4/27 (bug fix) Changed to avoid the need for forward declarations in
stub initializers.  Added extern "C" blocks around stub table pointer
declarations so the stubs can be used from C++ code. (stanton)

--------------- Released 8.1 final, April 29, 1999 ----------------------

Added doc/InitStubs.3.



























































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
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
'\"
'\" Copyright (c) 1999 Scriptics Corportation
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\" 
'\" RCS: @(#) $Id: InitStubs.3,v 1.1.2.2 1999/04/29 02:19:11 stanton Exp $
'\" 
.so man.macros
.TH Tk_InitStubs 3 8.1 Tk "Tk Library Procedures"
.BS
.SH NAME
Tk_InitStubs \- initialize the Tk stubs mechanism
.SH SYNOPSIS
.nf
\fB#include <tk.h>\fR
.sp
char *
\fBTk_InitStubs\fR(\fIinterp, version, exact\fR)
.SH ARGUMENTS
.AS Tcl_Interp *interp in
.AP Tcl_Interp *interp in
Tcl interpreter handle.
.AP char *version in
A version string consisting of one or more decimal numbers
separated by dots.
.AP int exact in
Non-zero means that only the particular Tk version specified by
\fIversion\fR is acceptable.
Zero means that versions newer than \fIversion\fR are also
acceptable as long as they have the same major version number
as \fIversion\fR.
.BE
.SH INTRODUCTION
.PP
The Tcl stubs mechanism defines a way to dynamically bind
extensions to a particular Tcl implementation at run time.
the stubs mechanism requires no changes to applications
incoporating Tcl/Tk interpreters.  Only developers creating
C-based Tcl/Tk extensions need to take steps to use the
stubs mechanism with their extensions.
See the \fBTcl_InitStubs\fR page for more information.
.PP
Enabling the stubs mechanism for a Tcl/Tk extension requires the following
steps:
.IP 1) 5
Call \fBTcl_InitStubs\fR in the extension before calling any other
Tcl functions.
.IP 2) 5
Call \fBTk_InitStubs\fR if the extension before calling any other
Tk functions.
.IP 2) 5
Define the USE_TCL_STUBS symbol.  Typically, you would include the
-DUSE_TCL_STUBS flag when compiling the extension.
.IP 3) 5
Link the extension with the Tcl and Tk stubs libraries instead of
the standard Tcl and Tk libraries.  On Unix platforms, the library
names are \fIlibtclstub8.1.a\fR and \fIlibtkstub8.1.a\fR; on Windows
platforms, the library names are
\fItclstub81.lib\fR and \fItkstub81.lib\fR.
.SH DESCRIPTION
\fBTk_InitStubs\fR attempts to initialize the Tk stub table pointers
and ensure that the correct version of Tk is loaded.  In addition
to an interpreter handle, it accepts as arguments a version number
and a Boolean flag indicating whether the extension requires
an exact version match or not.  If \fIexact\fR is 0, then the
extension is indicating that newer versions of Tk are acceptable
as long as they have the same major version number as \fIversion\fR;
non-zero means that only the specified \fIversion\fR is acceptable.
\fBTcl_InitStubs\fR returns a string containing the actual version
of Tk satisfying the request, or NULL if the Tk version is not
acceptable, does not support the stubs mechansim, or any other
error condition occurred.
.SH "SEE ALSO"
\fBTcl_InitStubs\fR
.SH KEYWORDS
stubs

Changes to generic/tkDecls.h.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/*
 * tkDecls.h --
 *
 *	Declarations of functions in the platform independent public Tcl API.
 *
 * Copyright (c) 1998-1999 by Scriptics Corporation.
 *
 * See the file "license.terms" for information on usage and redistribution
 * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
 *
 * RCS: @(#) $Id: tkDecls.h,v 1.3 1999/04/16 01:51:13 stanton Exp $
 */

#ifndef _TKDECLS
#define _TKDECLS

#ifdef BUILD_tk
#undef TCL_STORAGE_CLASS










|







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/*
 * tkDecls.h --
 *
 *	Declarations of functions in the platform independent public Tcl API.
 *
 * Copyright (c) 1998-1999 by Scriptics Corporation.
 *
 * See the file "license.terms" for information on usage and redistribution
 * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
 *
 * RCS: @(#) $Id: tkDecls.h,v 1.3.4.1 1999/04/27 21:09:41 stanton Exp $
 */

#ifndef _TKDECLS
#define _TKDECLS

#ifdef BUILD_tk
#undef TCL_STORAGE_CLASS
967
968
969
970
971
972
973



974



975
976
977
978
979
980
981
    int (*tk_GetScrollInfoObj) _ANSI_ARGS_((Tcl_Interp * interp, int objc, Tcl_Obj *CONST objv[], double * dblPtr, int * intPtr)); /* 210 */
    int (*tk_InitOptions) _ANSI_ARGS_((Tcl_Interp * interp, char * recordPtr, Tk_OptionTable optionToken, Tk_Window tkwin)); /* 211 */
    void (*tk_MainEx) _ANSI_ARGS_((int argc, char ** argv, Tcl_AppInitProc * appInitProc, Tcl_Interp * interp)); /* 212 */
    void (*tk_RestoreSavedOptions) _ANSI_ARGS_((Tk_SavedOptions * savePtr)); /* 213 */
    int (*tk_SetOptions) _ANSI_ARGS_((Tcl_Interp * interp, char * recordPtr, Tk_OptionTable optionTable, int objc, Tcl_Obj *CONST objv[], Tk_Window tkwin, Tk_SavedOptions * savePtr, int * maskPtr)); /* 214 */
} TkStubs;




extern TkStubs *tkStubsPtr;




#if defined(USE_TK_STUBS) && !defined(USE_TK_STUB_PROCS)

/*
 * Inline function declarations:
 */








>
>
>

>
>
>







967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
    int (*tk_GetScrollInfoObj) _ANSI_ARGS_((Tcl_Interp * interp, int objc, Tcl_Obj *CONST objv[], double * dblPtr, int * intPtr)); /* 210 */
    int (*tk_InitOptions) _ANSI_ARGS_((Tcl_Interp * interp, char * recordPtr, Tk_OptionTable optionToken, Tk_Window tkwin)); /* 211 */
    void (*tk_MainEx) _ANSI_ARGS_((int argc, char ** argv, Tcl_AppInitProc * appInitProc, Tcl_Interp * interp)); /* 212 */
    void (*tk_RestoreSavedOptions) _ANSI_ARGS_((Tk_SavedOptions * savePtr)); /* 213 */
    int (*tk_SetOptions) _ANSI_ARGS_((Tcl_Interp * interp, char * recordPtr, Tk_OptionTable optionTable, int objc, Tcl_Obj *CONST objv[], Tk_Window tkwin, Tk_SavedOptions * savePtr, int * maskPtr)); /* 214 */
} TkStubs;

#ifdef __cplusplus
extern "C" {
#endif
extern TkStubs *tkStubsPtr;
#ifdef __cplusplus
}
#endif

#if defined(USE_TK_STUBS) && !defined(USE_TK_STUB_PROCS)

/*
 * Inline function declarations:
 */

Changes to generic/tkEntry.c.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/* 
 * tkEntry.c --
 *
 *	This module implements entry widgets for the Tk
 *	toolkit.  An entry displays a string and allows
 *	the string to be edited.
 *
 * Copyright (c) 1990-1994 The Regents of the University of California.
 * Copyright (c) 1994-1997 Sun Microsystems, Inc.
 *
 * See the file "license.terms" for information on usage and redistribution
 * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
 *
 * RCS: @(#) $Id: tkEntry.c,v 1.3 1999/04/16 01:51:13 stanton Exp $
 */

#include "tkInt.h"
#include "default.h"

/*
 * A data structure of the following type is kept for each entry













|







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/* 
 * tkEntry.c --
 *
 *	This module implements entry widgets for the Tk
 *	toolkit.  An entry displays a string and allows
 *	the string to be edited.
 *
 * Copyright (c) 1990-1994 The Regents of the University of California.
 * Copyright (c) 1994-1997 Sun Microsystems, Inc.
 *
 * See the file "license.terms" for information on usage and redistribution
 * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
 *
 * RCS: @(#) $Id: tkEntry.c,v 1.3.4.1 1999/04/24 00:10:49 stanton Exp $
 */

#include "tkInt.h"
#include "default.h"

/*
 * A data structure of the following type is kept for each entry
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
    {TK_OPTION_PIXELS, "-selectborderwidth", "selectBorderWidth", 
        "BorderWidth", DEF_ENTRY_SELECT_BD_COLOR, -1, 
        Tk_Offset(Entry, selBorderWidth), 
        0, (ClientData) DEF_ENTRY_SELECT_BD_MONO, 0},
    {TK_OPTION_COLOR, "-selectforeground", "selectForeground", "Background",
	DEF_ENTRY_SELECT_FG_COLOR, -1, Tk_Offset(Entry, selFgColorPtr),
	0, (ClientData) DEF_ENTRY_SELECT_FG_MONO, 0},
    {TK_CONFIG_STRING, "-show", "show", "Show",
        DEF_ENTRY_SHOW, -1, Tk_Offset(Entry, showChar), 
        TK_OPTION_NULL_OK, 0, 0},
    {TK_OPTION_STRING_TABLE, "-state", "state", "State",
	DEF_ENTRY_STATE, -1, Tk_Offset(Entry, state), 
        0, (ClientData) stateStrings, 0},
    {TK_OPTION_STRING, "-takefocus", "takeFocus", "TakeFocus",
	DEF_ENTRY_TAKE_FOCUS, -1, Tk_Offset(Entry, takeFocus), 







|







267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
    {TK_OPTION_PIXELS, "-selectborderwidth", "selectBorderWidth", 
        "BorderWidth", DEF_ENTRY_SELECT_BD_COLOR, -1, 
        Tk_Offset(Entry, selBorderWidth), 
        0, (ClientData) DEF_ENTRY_SELECT_BD_MONO, 0},
    {TK_OPTION_COLOR, "-selectforeground", "selectForeground", "Background",
	DEF_ENTRY_SELECT_FG_COLOR, -1, Tk_Offset(Entry, selFgColorPtr),
	0, (ClientData) DEF_ENTRY_SELECT_FG_MONO, 0},
    {TK_OPTION_STRING, "-show", "show", "Show",
        DEF_ENTRY_SHOW, -1, Tk_Offset(Entry, showChar), 
        TK_OPTION_NULL_OK, 0, 0},
    {TK_OPTION_STRING_TABLE, "-state", "state", "State",
	DEF_ENTRY_STATE, -1, Tk_Offset(Entry, state), 
        0, (ClientData) stateStrings, 0},
    {TK_OPTION_STRING, "-takefocus", "takeFocus", "TakeFocus",
	DEF_ENTRY_TAKE_FOCUS, -1, Tk_Offset(Entry, takeFocus), 

Changes to generic/tkImgBmap.c.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/* 
 * tkImgBmap.c --
 *
 *	This procedure implements images of type "bitmap" for Tk.
 *
 * Copyright (c) 1994 The Regents of the University of California.
 * Copyright (c) 1994-1997 Sun Microsystems, Inc.
 * Copyright (c) 1999 by Scriptics Corporation.
 *
 * See the file "license.terms" for information on usage and redistribution
 * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
 *
 * RCS: @(#) $Id: tkImgBmap.c,v 1.8 1999/04/21 21:53:26 rjohnson Exp $
 */

#include "tkInt.h"
#include "tkPort.h"

/*
 * The following data structure represents the master for a bitmap












|







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/* 
 * tkImgBmap.c --
 *
 *	This procedure implements images of type "bitmap" for Tk.
 *
 * Copyright (c) 1994 The Regents of the University of California.
 * Copyright (c) 1994-1997 Sun Microsystems, Inc.
 * Copyright (c) 1999 by Scriptics Corporation.
 *
 * See the file "license.terms" for information on usage and redistribution
 * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
 *
 * RCS: @(#) $Id: tkImgBmap.c,v 1.8.2.1 1999/04/23 16:16:49 redman Exp $
 */

#include "tkInt.h"
#include "tkPort.h"

/*
 * The following data structure represents the master for a bitmap
508
509
510
511
512
513
514









515
516
517
518
519
520
521
		Tcl_ResetResult(interp);
		Tcl_AppendResult(interp, "couldn't read bitmap file \"",
			fileName, "\": ", Tcl_PosixError(interp),
			(char *) NULL);
	    }
	    return NULL;
	}









    } else {
	pi.chan = NULL;
    }

    /*
     * Parse the lines that define the dimensions of the bitmap,
     * plus the first line that defines the bitmap data (it declares







>
>
>
>
>
>
>
>
>







508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
		Tcl_ResetResult(interp);
		Tcl_AppendResult(interp, "couldn't read bitmap file \"",
			fileName, "\": ", Tcl_PosixError(interp),
			(char *) NULL);
	    }
	    return NULL;
	}
	
        if (Tcl_SetChannelOption(interp, pi.chan, "-translation", "binary")
		!= TCL_OK) {
            return NULL;
        }
        if (Tcl_SetChannelOption(interp, pi.chan, "-encoding", "binary")
		!= TCL_OK) {
            return NULL;
        }
    } else {
	pi.chan = NULL;
    }

    /*
     * Parse the lines that define the dimensions of the bitmap,
     * plus the first line that defines the bitmap data (it declares

Changes to generic/tkImgPPM.c.

9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 * See the file "license.terms" for information on usage and redistribution
 * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
 *
 * Author: Paul Mackerras ([email protected]),
 *	   Department of Computer Science,
 *	   Australian National University.
 *
 * RCS: @(#) $Id: tkImgPPM.c,v 1.3 1999/04/16 01:51:15 stanton Exp $
 */

#include "tkInt.h"
#include "tkPort.h"

/*
 * The maximum amount of memory to allocate for data read from the







|







9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 * See the file "license.terms" for information on usage and redistribution
 * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
 *
 * Author: Paul Mackerras ([email protected]),
 *	   Department of Computer Science,
 *	   Australian National University.
 *
 * RCS: @(#) $Id: tkImgPPM.c,v 1.3.4.1 1999/04/23 16:16:49 redman Exp $
 */

#include "tkInt.h"
#include "tkPort.h"

/*
 * The maximum amount of memory to allocate for data read from the
265
266
267
268
269
270
271









272
273
274
275
276
277
278
    char header[16 + TCL_INTEGER_SPACE * 2];

    chan = Tcl_OpenFileChannel(interp, fileName, "w", 0666);
    if (chan == NULL) {
	return TCL_ERROR;
    }










    sprintf(header, "P6\n%d %d\n255\n", blockPtr->width, blockPtr->height);
    Tcl_Write(chan, header, -1);
	
    pixLinePtr = blockPtr->pixelPtr + blockPtr->offset[0];
    greenOffset = blockPtr->offset[1] - blockPtr->offset[0];
    blueOffset = blockPtr->offset[2] - blockPtr->offset[0];








>
>
>
>
>
>
>
>
>







265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
    char header[16 + TCL_INTEGER_SPACE * 2];

    chan = Tcl_OpenFileChannel(interp, fileName, "w", 0666);
    if (chan == NULL) {
	return TCL_ERROR;
    }

    if (Tcl_SetChannelOption(interp, chan, "-translation", "binary")
	    != TCL_OK) {
	return TCL_ERROR;
    }
    if (Tcl_SetChannelOption(interp, chan, "-encoding", "binary")
	    != TCL_OK) {
	return TCL_ERROR;
    }
    
    sprintf(header, "P6\n%d %d\n255\n", blockPtr->width, blockPtr->height);
    Tcl_Write(chan, header, -1);
	
    pixLinePtr = blockPtr->pixelPtr + blockPtr->offset[0];
    greenOffset = blockPtr->offset[1] - blockPtr->offset[0];
    blueOffset = blockPtr->offset[2] - blockPtr->offset[0];

Changes to generic/tkImgPhoto.c.

11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 * See the file "license.terms" for information on usage and redistribution
 * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
 *
 * Author: Paul Mackerras ([email protected]),
 *	   Department of Computer Science,
 *	   Australian National University.
 *
 * RCS: @(#) $Id: tkImgPhoto.c,v 1.6 1999/04/16 01:51:15 stanton Exp $
 */

#include "tkInt.h"
#include "tkPort.h"
#include "tclMath.h"
#include <ctype.h>








|







11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 * See the file "license.terms" for information on usage and redistribution
 * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
 *
 * Author: Paul Mackerras ([email protected]),
 *	   Department of Computer Science,
 *	   Australian National University.
 *
 * RCS: @(#) $Id: tkImgPhoto.c,v 1.6.4.1 1999/04/23 16:16:50 redman Exp $
 */

#include "tkInt.h"
#include "tkPort.h"
#include "tclMath.h"
#include <ctype.h>

847
848
849
850
851
852
853





854
855
856
857
858
859
860
	if (chan == NULL) {
	    return TCL_ERROR;
	}
        if (Tcl_SetChannelOption(interp, chan, "-translation", "binary")
		!= TCL_OK) {
            return TCL_ERROR;
        }





	if (MatchFileFormat(interp, chan, options.name, options.format,
		&imageFormat, &imageWidth, &imageHeight) != TCL_OK) {
	    Tcl_Close(NULL, chan);
	    return TCL_ERROR;
	}

	/*







>
>
>
>
>







847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
	if (chan == NULL) {
	    return TCL_ERROR;
	}
        if (Tcl_SetChannelOption(interp, chan, "-translation", "binary")
		!= TCL_OK) {
            return TCL_ERROR;
        }
        if (Tcl_SetChannelOption(interp, chan, "-encoding", "binary")
		!= TCL_OK) {
            return TCL_ERROR;
        }
    
	if (MatchFileFormat(interp, chan, options.name, options.format,
		&imageFormat, &imageWidth, &imageHeight) != TCL_OK) {
	    Tcl_Close(NULL, chan);
	    return TCL_ERROR;
	}

	/*
1359
1360
1361
1362
1363
1364
1365




1366
1367
1368
1369
1370
1371
1372
	chan = Tcl_OpenFileChannel(interp, masterPtr->fileString, "r", 0);
	if (chan == NULL) {
	    return TCL_ERROR;
	}
        if (Tcl_SetChannelOption(interp, chan, "-translation", "binary")
		!= TCL_OK) {
            return TCL_ERROR;




        }
	if (MatchFileFormat(interp, chan, masterPtr->fileString,
		masterPtr->format, &imageFormat, &imageWidth,
		&imageHeight) != TCL_OK) {
	    Tcl_Close(NULL, chan);
	    return TCL_ERROR;
	}







>
>
>
>







1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
	chan = Tcl_OpenFileChannel(interp, masterPtr->fileString, "r", 0);
	if (chan == NULL) {
	    return TCL_ERROR;
	}
        if (Tcl_SetChannelOption(interp, chan, "-translation", "binary")
		!= TCL_OK) {
            return TCL_ERROR;
        }
        if (Tcl_SetChannelOption(interp, chan, "-encoding", "binary")
		!= TCL_OK) {
            return TCL_ERROR;
        }
	if (MatchFileFormat(interp, chan, masterPtr->fileString,
		masterPtr->format, &imageFormat, &imageWidth,
		&imageHeight) != TCL_OK) {
	    Tcl_Close(NULL, chan);
	    return TCL_ERROR;
	}

Changes to generic/tkInt.decls.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
	# tkInt.decls --
#
#	This file contains the declarations for all unsupported
#	functions that are exported by the Tk library.  This file
#	is used to generate the tkIntDecls.h, tkIntPlatDecls.h,
#	tkIntStub.c, and tkPlatStub.c files.
#
# Copyright (c) 1998-1999 by Scriptics Corporation.
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
# 
# RCS: @(#) $Id: tkInt.decls,v 1.5 1999/04/16 01:51:15 stanton Exp $

library tk

# Define the unsupported generic interfaces.

interface tkInt












|







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
	# tkInt.decls --
#
#	This file contains the declarations for all unsupported
#	functions that are exported by the Tk library.  This file
#	is used to generate the tkIntDecls.h, tkIntPlatDecls.h,
#	tkIntStub.c, and tkPlatStub.c files.
#
# Copyright (c) 1998-1999 by Scriptics Corporation.
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
# 
# RCS: @(#) $Id: tkInt.decls,v 1.5.4.2 1999/04/24 01:14:19 stanton Exp $

library tk

# Define the unsupported generic interfaces.

interface tkInt

520
521
522
523
524
525
526




























































527
528
529
530
531
532
533
    Tcl_Obj * TkpGetSystemDefault (Tk_Window tkwin, \
	    char *dbName, char *className)
}

declare 112 generic {
    void TkpMenuThreadInit (void)
}





























































##############################################################################

# Define the platform specific internal Tcl interface. These functions are
# only available on the designated platform.

interface tkIntPlat







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
    Tcl_Obj * TkpGetSystemDefault (Tk_Window tkwin, \
	    char *dbName, char *className)
}

declare 112 generic {
    void TkpMenuThreadInit (void)
}

declare 113 win {
    void TkClipBox (TkRegion rgn, XRectangle* rect_return)
}

declare 113 mac {
    void TkClipBox (TkRegion rgn, XRectangle* rect_return)
}

declare 114 win {
    TkRegion TkCreateRegion (void)
}

declare 114 mac {
    TkRegion TkCreateRegion (void)
}

declare 115 win {
    void TkDestroyRegion (TkRegion rgn)
}

declare 115 mac {
    void TkDestroyRegion (TkRegion rgn)
}

declare 116 win {
    void TkIntersectRegion (TkRegion sra, TkRegion srcb, TkRegion dr_return)
}

declare 116 mac {
    void TkIntersectRegion (TkRegion sra, TkRegion srcb, TkRegion dr_return)
}

declare 117 win {
    int TkRectInRegion (TkRegion rgn, int x, int y, unsigned int width, \
	    unsigned int height)
}

declare 117 mac {
    int TkRectInRegion (TkRegion rgn, int x, int y, unsigned int width, \
	    unsigned int height)
}

declare 118 win {
    void TkSetRegion (Display* display, GC gc, TkRegion rgn)
}

declare 118 mac {
    void TkSetRegion (Display* display, GC gc, TkRegion rgn)
}

declare 119 win {
    void TkUnionRectWithRegion (XRectangle* rect, \
	    TkRegion src, TkRegion dr_return)
}

declare 119 mac {
    void TkUnionRectWithRegion (XRectangle* rect, \
	    TkRegion src, TkRegion dr_return)
}

##############################################################################

# Define the platform specific internal Tcl interface. These functions are
# only available on the designated platform.

interface tkIntPlat
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
}

declare 2 unix {
    void TkInitXId (TkDisplay *dispPtr)
}

declare 3 unix {
    int TkpCmapStressed (Tk_Window tkwin, Colormap colormap)}


declare 4 unix {
    void TkpSync (Display *display)
}

declare 5 unix {
    Window TkUnixContainerId (TkWindow *winPtr)







|
|







604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
}

declare 2 unix {
    void TkInitXId (TkDisplay *dispPtr)
}

declare 3 unix {
    int TkpCmapStressed (Tk_Window tkwin, Colormap colormap)
}

declare 4 unix {
    void TkpSync (Display *display)
}

declare 5 unix {
    Window TkUnixContainerId (TkWindow *winPtr)
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
############################
# Windows specific functions

declare 0 win {
    char * TkAlignImageData (XImage *image, int alignment, int bitOrder)
}

declare 1 win {
    void TkClipBox (TkRegion rgn, XRectangle* rect_return)
}

declare 2 win {
    TkRegion TkCreateRegion (void)
}

declare 3 win {
    void TkDestroyRegion (TkRegion rgn)
}

declare 4 win {
    void TkGenerateActivateEvents (TkWindow *winPtr, int active)
}

declare 5 win {
    void TkIntersectRegion (TkRegion sra, TkRegion srcb, TkRegion dr_return)
}

declare 6 win {
    unsigned long TkpGetMS (void)
}

declare 7 win {
    void TkPointerDeadWindow (TkWindow *winPtr)
}

declare 8 win {
    void TkpPrintWindowId (char *buf, Window window)
}

declare 9 win {
    int TkpScanWindowId (Tcl_Interp *interp, char *string, int *idPtr)
}

declare 10 win {
    void TkpSetCapture (TkWindow *winPtr)
}

declare 11 win {
    void TkpSetCursor (TkpCursor cursor)
}

declare 12 win {
    void TkpWmSetState (TkWindow *winPtr, int state)
}

declare 13 win {
    int TkRectInRegion (TkRegion rgn, int x, int y, unsigned int width, \
	    unsigned int height)
}

declare 14 win {
    void TkSetPixmapColormap (Pixmap pixmap, Colormap colormap)
}

declare 15 win {
    void TkSetRegion (Display* display, GC gc, TkRegion rgn)
}

declare 16 win {
    void TkUnionRectWithRegion (XRectangle* rect, \
	    TkRegion src, TkRegion dr_return)
}

declare 17 win {
    void  TkWinCancelMouseTimer (void)
}

declare 18 win {
    void  TkWinClipboardRender (TkDisplay *dispPtr, UINT format)
}

declare 19 win {
    LRESULT  TkWinEmbeddedEventProc (HWND hwnd, UINT message, \
	    WPARAM wParam, LPARAM lParam)
}

declare 20 win {
    void  TkWinFillRect (HDC dc, int x, int y, int width, int height, \
	    int pixel)
}

declare 21 win {
    COLORREF  TkWinGetBorderPixels (Tk_Window tkwin, Tk_3DBorder border, \
	    int which)
}

declare 22 win {
    HDC  TkWinGetDrawableDC (Display *display, Drawable d, TkWinDCState* state)
}

declare 23 win {
    int  TkWinGetModifierState (void)
}

declare 24 win {
    HPALETTE  TkWinGetSystemPalette (void)
}

declare 25 win {
    HWND  TkWinGetWrapperWindow (Tk_Window tkwin)
}

declare 26 win {
    int  TkWinHandleMenuEvent (HWND *phwnd, \
	    UINT *pMessage, WPARAM *pwParam, LPARAM *plParam, \
	    LRESULT *plResult)
}

declare 27 win {
    int  TkWinIndexOfColor (XColor *colorPtr)
}

declare 28 win {
    void  TkWinReleaseDrawableDC (Drawable d, HDC hdc, TkWinDCState* state)
}

declare 29 win {
    LRESULT  TkWinResendEvent (WNDPROC wndproc, HWND hwnd, XEvent *eventPtr)
}

declare 30 win {
    HPALETTE  TkWinSelectPalette (HDC dc, Colormap colormap)
}

declare 31 win {
    void  TkWinSetMenu (Tk_Window tkwin, HMENU hMenu)
}

declare 32 win {
    void  TkWinSetWindowPos (HWND hwnd, HWND siblingHwnd, int pos)
}

declare 33 win {
    void  TkWinWmCleanup (HINSTANCE hInstance)
}

declare 34 win {
    void  TkWinXCleanup (HINSTANCE hInstance)
}

declare 35 win {
    void   TkWinXInit (HINSTANCE hInstance)
}

# new for 8.1

declare 36 win {
    void TkWinSetForegroundWindow (TkWindow *winPtr)
}

declare 37 win {
    void TkWinDialogDebug (int debug)
}

declare 38 win {
    Tcl_Obj * TkWinGetMenuSystemDefault (Tk_Window tkwin, \
	    char *dbName, char *className)
}

declare 39 win {
    int TkWinGetPlatformId(void)
}

########################
# Mac specific functions

declare 0 mac {
    void TkClipBox (TkRegion rgn, XRectangle* rect_return)
}

declare 1 mac {
    TkRegion TkCreateRegion (void)
}

declare 2 mac {
    void TkDestroyRegion (TkRegion rgn)
}

declare 3 mac {
    void TkGenerateActivateEvents (TkWindow *winPtr, int active)
}

declare 4 mac {
    void TkIntersectRegion (TkRegion sra, TkRegion srcb, TkRegion dr_return)
}

declare 5 mac {
    Pixmap TkpCreateNativeBitmap (Display *display, char * source)
}

declare 6 mac {
    void TkpDefineNativeBitmaps (void)
}

declare 7 mac {
    unsigned long TkpGetMS (void)
}

declare 8 mac {
    Pixmap TkpGetNativeAppBitmap (Display *display, \
	    char *name, int *width, int *height)
}

declare 9 mac {
    void TkPointerDeadWindow (TkWindow *winPtr)
}

declare 10 mac {
    void TkpSetCapture (TkWindow *winPtr)
}

declare 11 mac {
    void TkpSetCursor (TkpCursor cursor)
}

declare 12 mac {
    void TkpWmSetState (TkWindow *winPtr, int state)
}

declare 13 mac {
    int TkRectInRegion (TkRegion rgn, int x, int y, unsigned int width, \
	    unsigned int height)
}

declare 14 mac {
    void TkSetRegion (Display* display, GC gc, TkRegion rgn)
}

declare 15 mac {
    void TkUnionRectWithRegion (XRectangle* rect, \
	    TkRegion src, TkRegion dr_return)
}

declare 16 mac {
    int  HandleWMEvent (EventRecord *theEvent)
}

declare 17 mac {
    void   TkAboutDlg (void)
}

declare 18 mac {
    void  TkCreateMacEventSource (void)
}

declare 19 mac {
    void   TkFontList (Tcl_Interp *interp, Display *display)
}

declare 20 mac {
    Window  TkGetTransientMaster (TkWindow *winPtr)
}

declare 21 mac {
    int  TkGenerateButtonEvent (int x, int y, \
	    Window window, unsigned int state)
}

declare 22 mac {
    int   TkGetCharPositions (XFontStruct *font_struct, char *string, \
	    int count, short *buffer)
}

declare 23 mac {
    void  TkGenWMDestroyEvent (Tk_Window tkwin)
}

declare 24 mac {
    void  TkGenWMConfigureEvent (Tk_Window tkwin, int x, int y, \
	    int width, int height, int flags)
}

declare 25 mac {
    unsigned int TkMacButtonKeyState (void)
}

declare 26 mac {
    void  TkMacClearMenubarActive (void)
}

declare 27 mac {
    int  TkMacConvertEvent (EventRecord *eventPtr)
}

declare 28 mac {
    int  TkMacDispatchMenuEvent (int menuID, int index)
}

declare 29 mac {
    void  TkMacInstallCursor (int resizeOverride)
}

declare 30 mac {
    int  TkMacConvertTkEvent (EventRecord *eventPtr, Window window)
}

declare 31 mac {
    void  TkMacHandleTearoffMenu (void)
}

declare 32 mac {
    void  tkMacInstallMWConsole (Tcl_Interp *interp)
}

declare 33 mac {
    void  TkMacInvalClipRgns (TkWindow *winPtr)
}

declare 34 mac {
    void  TkMacDoHLEvent (EventRecord *theEvent)
}

declare 35 mac {
    void   TkMacFontInfo (Font fontId, short *family, \
	    short *style, short *size)
}

declare 36 mac {
    Time  TkMacGenerateTime (void)
}

declare 37 mac {
    GWorldPtr  TkMacGetDrawablePort (Drawable drawable)
}

declare 38 mac {
    TkWindow *  TkMacGetScrollbarGrowWindow (TkWindow *winPtr)
}

declare 39 mac {
    Window   TkMacGetXWindow (WindowRef macWinPtr)
}

declare 40 mac {
    int  TkMacGrowToplevel (WindowRef whichWindow, Point start)
}

declare 41 mac {
    void   TkMacHandleMenuSelect (long mResult, int optionKeyPressed)
}

declare 42 mac {
    int  TkMacHaveAppearance (void)
}

declare 43 mac {
    void  TkMacInitAppleEvents (Tcl_Interp *interp)
}

declare 44 mac {
    void   TkMacInitMenus (Tcl_Interp  *interp)
}

declare 45 mac {
    void  TkMacInvalidateWindow (MacDrawable *macWin, int flag)
}

declare 46 mac {
    int  TkMacIsCharacterMissing (Tk_Font tkfont, unsigned int searchChar)
}

declare 47 mac {
    void  TkMacMakeRealWindowExist (TkWindow *winPtr)
}

declare 48 mac {
    BitMapPtr TkMacMakeStippleMap(Drawable d1, Drawable d2)
}

declare 49 mac {
    void  TkMacMenuClick (void)
}

declare 50 mac {
    void  TkMacRegisterOffScreenWindow (Window window, GWorldPtr portPtr)
}

declare 51 mac {
    int  TkMacResizable (TkWindow *winPtr)
}

declare 52 mac {
    void  TkMacSetEmbedRgn (TkWindow *winPtr, RgnHandle rgn)
}

declare 53 mac {
    void  TkMacSetHelpMenuItemCount (void)
}

declare 54 mac {
    void  TkMacSetScrollbarGrow (TkWindow *winPtr, int flag)
}

declare 55 mac {
    void  TkMacSetUpClippingRgn (Drawable drawable)
}

declare 56 mac {
    void  TkMacSetUpGraphicsPort (GC gc)
}

declare 57 mac {
    void   TkMacUpdateClipRgn (TkWindow *winPtr)
}

declare 58 mac {
    void  TkMacUnregisterMacWindow (GWorldPtr portPtr)
}

declare 59 mac {
    int  TkMacUseMenuID (short macID)
}

declare 60 mac {
    RgnHandle  TkMacVisableClipRgn (TkWindow *winPtr)
}

declare 61 mac {
    void  TkMacWinBounds (TkWindow *winPtr, Rect *geometry)
}

declare 62 mac {
    void  TkMacWindowOffset (WindowRef wRef, int *xOffset, int *yOffset)
}

declare 63 mac {
    void  TkResumeClipboard (void)
}

declare 64 mac {
    int   TkSetMacColor (unsigned long pixel, RGBColor *macColor)
}

declare 65 mac {
    void   TkSetWMName (TkWindow *winPtr, Tk_Uid titleUid)
}

declare 66 mac {
    void  TkSuspendClipboard (void)
}

declare 67 mac {
    int  TkWMGrowToplevel (WindowRef whichWindow, Point start)
}

declare 68 mac {
    int  TkMacZoomToplevel (WindowPtr whichWindow, Point where, short zoomPart)
}

declare 69 mac {
    Tk_Window Tk_TopCoordsToWindow (Tk_Window tkwin, \
	    int rootX, int rootY, int *newX, int *newY)
}

declare 70 mac {
    MacDrawable * TkMacContainerId (TkWindow *winPtr)
}

declare 71 mac {
    MacDrawable * TkMacGetHostToplevel  (TkWindow *winPtr)
}


##############################################################################

# Define the platform specific internal Xlib interfaces. These functions are







|
<
<
|
<
<



|



|



|



|



|



|



|



|



<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<



|



|




|




|




|



|



|



|



|





|



|



|



|



|



|



|



|



|





|



|



|




|







|



|



|



<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<



|




|



|



|



|



|
<
<
<
<
<
<
<
<
<
<
<
<
<
<



|



|



|



|



|




|




|



|




|



|



|



|



|



|



|



|



|



|



|




|



|



|



|



|



|



|



|



|



|



|



|



|



|



|



|



|



|



|



|



|



|



|



|



|



|



|



|



|



|



|



|



|



|




|



|







632
633
634
635
636
637
638
639


640


641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675


























676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
















791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815














816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
############################
# Windows specific functions

declare 0 win {
    char * TkAlignImageData (XImage *image, int alignment, int bitOrder)
}

declare 2 win {


    void TkGenerateActivateEvents (TkWindow *winPtr, int active)


}

declare 3 win {
    unsigned long TkpGetMS (void)
}

declare 4 win {
    void TkPointerDeadWindow (TkWindow *winPtr)
}

declare 5 win {
    void TkpPrintWindowId (char *buf, Window window)
}

declare 6 win {
    int TkpScanWindowId (Tcl_Interp *interp, char *string, int *idPtr)
}

declare 7 win {
    void TkpSetCapture (TkWindow *winPtr)
}

declare 8 win {
    void TkpSetCursor (TkpCursor cursor)
}

declare 9 win {
    void TkpWmSetState (TkWindow *winPtr, int state)
}

declare 10 win {
    void TkSetPixmapColormap (Pixmap pixmap, Colormap colormap)
}

declare 11 win {


























    void  TkWinCancelMouseTimer (void)
}

declare 12 win {
    void  TkWinClipboardRender (TkDisplay *dispPtr, UINT format)
}

declare 13 win {
    LRESULT  TkWinEmbeddedEventProc (HWND hwnd, UINT message, \
	    WPARAM wParam, LPARAM lParam)
}

declare 14 win {
    void  TkWinFillRect (HDC dc, int x, int y, int width, int height, \
	    int pixel)
}

declare 15 win {
    COLORREF  TkWinGetBorderPixels (Tk_Window tkwin, Tk_3DBorder border, \
	    int which)
}

declare 16 win {
    HDC  TkWinGetDrawableDC (Display *display, Drawable d, TkWinDCState* state)
}

declare 17 win {
    int  TkWinGetModifierState (void)
}

declare 18 win {
    HPALETTE  TkWinGetSystemPalette (void)
}

declare 19 win {
    HWND  TkWinGetWrapperWindow (Tk_Window tkwin)
}

declare 20 win {
    int  TkWinHandleMenuEvent (HWND *phwnd, \
	    UINT *pMessage, WPARAM *pwParam, LPARAM *plParam, \
	    LRESULT *plResult)
}

declare 21 win {
    int  TkWinIndexOfColor (XColor *colorPtr)
}

declare 22 win {
    void  TkWinReleaseDrawableDC (Drawable d, HDC hdc, TkWinDCState* state)
}

declare 23 win {
    LRESULT  TkWinResendEvent (WNDPROC wndproc, HWND hwnd, XEvent *eventPtr)
}

declare 24 win {
    HPALETTE  TkWinSelectPalette (HDC dc, Colormap colormap)
}

declare 25 win {
    void  TkWinSetMenu (Tk_Window tkwin, HMENU hMenu)
}

declare 26 win {
    void  TkWinSetWindowPos (HWND hwnd, HWND siblingHwnd, int pos)
}

declare 27 win {
    void  TkWinWmCleanup (HINSTANCE hInstance)
}

declare 28 win {
    void  TkWinXCleanup (HINSTANCE hInstance)
}

declare 29 win {
    void   TkWinXInit (HINSTANCE hInstance)
}

# new for 8.1

declare 30 win {
    void TkWinSetForegroundWindow (TkWindow *winPtr)
}

declare 31 win {
    void TkWinDialogDebug (int debug)
}

declare 32 win {
    Tcl_Obj * TkWinGetMenuSystemDefault (Tk_Window tkwin, \
	    char *dbName, char *className)
}

declare 33 win {
    int TkWinGetPlatformId(void)
}

########################
# Mac specific functions

declare 0 mac {
    void TkGenerateActivateEvents (TkWindow *winPtr, int active)
}

declare 1 mac {
    Pixmap TkpCreateNativeBitmap (Display *display, char * source)
}

declare 2 mac {
    void TkpDefineNativeBitmaps (void)
}

declare 3 mac {
















    unsigned long TkpGetMS (void)
}

declare 4 mac {
    Pixmap TkpGetNativeAppBitmap (Display *display, \
	    char *name, int *width, int *height)
}

declare 5 mac {
    void TkPointerDeadWindow (TkWindow *winPtr)
}

declare 6 mac {
    void TkpSetCapture (TkWindow *winPtr)
}

declare 7 mac {
    void TkpSetCursor (TkpCursor cursor)
}

declare 8 mac {
    void TkpWmSetState (TkWindow *winPtr, int state)
}

declare 9 mac {














    int  HandleWMEvent (EventRecord *theEvent)
}

declare 10 mac {
    void   TkAboutDlg (void)
}

declare 11 mac {
    void  TkCreateMacEventSource (void)
}

declare 12 mac {
    void   TkFontList (Tcl_Interp *interp, Display *display)
}

declare 13 mac {
    Window  TkGetTransientMaster (TkWindow *winPtr)
}

declare 14 mac {
    int  TkGenerateButtonEvent (int x, int y, \
	    Window window, unsigned int state)
}

declare 15 mac {
    int   TkGetCharPositions (XFontStruct *font_struct, char *string, \
	    int count, short *buffer)
}

declare 16 mac {
    void  TkGenWMDestroyEvent (Tk_Window tkwin)
}

declare 17 mac {
    void  TkGenWMConfigureEvent (Tk_Window tkwin, int x, int y, \
	    int width, int height, int flags)
}

declare 18 mac {
    unsigned int TkMacButtonKeyState (void)
}

declare 19 mac {
    void  TkMacClearMenubarActive (void)
}

declare 20 mac {
    int  TkMacConvertEvent (EventRecord *eventPtr)
}

declare 21 mac {
    int  TkMacDispatchMenuEvent (int menuID, int index)
}

declare 22 mac {
    void  TkMacInstallCursor (int resizeOverride)
}

declare 23 mac {
    int  TkMacConvertTkEvent (EventRecord *eventPtr, Window window)
}

declare 24 mac {
    void  TkMacHandleTearoffMenu (void)
}

declare 25 mac {
    void  tkMacInstallMWConsole (Tcl_Interp *interp)
}

declare 26 mac {
    void  TkMacInvalClipRgns (TkWindow *winPtr)
}

declare 27 mac {
    void  TkMacDoHLEvent (EventRecord *theEvent)
}

declare 28 mac {
    void   TkMacFontInfo (Font fontId, short *family, \
	    short *style, short *size)
}

declare 29 mac {
    Time  TkMacGenerateTime (void)
}

declare 30 mac {
    GWorldPtr  TkMacGetDrawablePort (Drawable drawable)
}

declare 31 mac {
    TkWindow *  TkMacGetScrollbarGrowWindow (TkWindow *winPtr)
}

declare 32 mac {
    Window   TkMacGetXWindow (WindowRef macWinPtr)
}

declare 33 mac {
    int  TkMacGrowToplevel (WindowRef whichWindow, Point start)
}

declare 34 mac {
    void   TkMacHandleMenuSelect (long mResult, int optionKeyPressed)
}

declare 35 mac {
    int  TkMacHaveAppearance (void)
}

declare 36 mac {
    void  TkMacInitAppleEvents (Tcl_Interp *interp)
}

declare 37 mac {
    void   TkMacInitMenus (Tcl_Interp  *interp)
}

declare 38 mac {
    void  TkMacInvalidateWindow (MacDrawable *macWin, int flag)
}

declare 39 mac {
    int  TkMacIsCharacterMissing (Tk_Font tkfont, unsigned int searchChar)
}

declare 40 mac {
    void  TkMacMakeRealWindowExist (TkWindow *winPtr)
}

declare 41 mac {
    BitMapPtr TkMacMakeStippleMap(Drawable d1, Drawable d2)
}

declare 42 mac {
    void  TkMacMenuClick (void)
}

declare 43 mac {
    void  TkMacRegisterOffScreenWindow (Window window, GWorldPtr portPtr)
}

declare 44 mac {
    int  TkMacResizable (TkWindow *winPtr)
}

declare 45 mac {
    void  TkMacSetEmbedRgn (TkWindow *winPtr, RgnHandle rgn)
}

declare 46 mac {
    void  TkMacSetHelpMenuItemCount (void)
}

declare 47 mac {
    void  TkMacSetScrollbarGrow (TkWindow *winPtr, int flag)
}

declare 48 mac {
    void  TkMacSetUpClippingRgn (Drawable drawable)
}

declare 49 mac {
    void  TkMacSetUpGraphicsPort (GC gc)
}

declare 50 mac {
    void   TkMacUpdateClipRgn (TkWindow *winPtr)
}

declare 51 mac {
    void  TkMacUnregisterMacWindow (GWorldPtr portPtr)
}

declare 52 mac {
    int  TkMacUseMenuID (short macID)
}

declare 53 mac {
    RgnHandle  TkMacVisableClipRgn (TkWindow *winPtr)
}

declare 54 mac {
    void  TkMacWinBounds (TkWindow *winPtr, Rect *geometry)
}

declare 55 mac {
    void  TkMacWindowOffset (WindowRef wRef, int *xOffset, int *yOffset)
}

declare 56 mac {
    void  TkResumeClipboard (void)
}

declare 57 mac {
    int   TkSetMacColor (unsigned long pixel, RGBColor *macColor)
}

declare 58 mac {
    void   TkSetWMName (TkWindow *winPtr, Tk_Uid titleUid)
}

declare 59 mac {
    void  TkSuspendClipboard (void)
}

declare 60 mac {
    int  TkWMGrowToplevel (WindowRef whichWindow, Point start)
}

declare 61 mac {
    int  TkMacZoomToplevel (WindowPtr whichWindow, Point where, short zoomPart)
}

declare 62 mac {
    Tk_Window Tk_TopCoordsToWindow (Tk_Window tkwin, \
	    int rootX, int rootY, int *newX, int *newY)
}

declare 63 mac {
    MacDrawable * TkMacContainerId (TkWindow *winPtr)
}

declare 64 mac {
    MacDrawable * TkMacGetHostToplevel  (TkWindow *winPtr)
}


##############################################################################

# Define the platform specific internal Xlib interfaces. These functions are
1877
1878
1879
1880
1881
1882
1883







    void XSetWMClientMachine(Display* display, Window w, XTextProperty* text_prop)
}

declare 79 mac {
    Status XStringListToTextProperty(char** list, int count, \
	    XTextProperty* text_prop_return)
}














>
>
>
>
>
>
>
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
    void XSetWMClientMachine(Display* display, Window w, XTextProperty* text_prop)
}

declare 79 mac {
    Status XStringListToTextProperty(char** list, int count, \
	    XTextProperty* text_prop_return)
}
declare 80 mac {
    void XDrawSegments(Display *display, Drawable  d, GC gc, \
          XSegment *segments, int  nsegments)
}
declare 81 mac {
    void  XForceScreenSaver(Display* display, int mode)
}

Changes to generic/tkIntDecls.h.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/*
 * tkIntDecls.h --
 *
 *	This file contains the declarations for all unsupported
 *	functions that are exported by the Tk library.  These
 *	interfaces are not guaranteed to remain the same between
 *	versions.  Use at your own risk.
 *
 * Copyright (c) 1998-1999 by Scriptics Corporation.
 *
 * See the file "license.terms" for information on usage and redistribution
 * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
 *
 * RCS: @(#) $Id: tkIntDecls.h,v 1.3 1999/04/16 01:51:16 stanton Exp $
 */

#ifndef _TKINTDECLS
#define _TKINTDECLS

#ifdef BUILD_tk
#undef TCL_STORAGE_CLASS













|







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/*
 * tkIntDecls.h --
 *
 *	This file contains the declarations for all unsupported
 *	functions that are exported by the Tk library.  These
 *	interfaces are not guaranteed to remain the same between
 *	versions.  Use at your own risk.
 *
 * Copyright (c) 1998-1999 by Scriptics Corporation.
 *
 * See the file "license.terms" for information on usage and redistribution
 * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
 *
 * RCS: @(#) $Id: tkIntDecls.h,v 1.3.4.3 1999/04/27 21:09:41 stanton Exp $
 */

#ifndef _TKINTDECLS
#define _TKINTDECLS

#ifdef BUILD_tk
#undef TCL_STORAGE_CLASS
366
367
368
369
370
371
372




































































373
374
375
376
377
378
379
EXTERN void		TkpGetSubFonts _ANSI_ARGS_((Tcl_Interp * interp, 
				Tk_Font tkfont));
/* 111 */
EXTERN Tcl_Obj *	TkpGetSystemDefault _ANSI_ARGS_((Tk_Window tkwin, 
				char * dbName, char * className));
/* 112 */
EXTERN void		TkpMenuThreadInit _ANSI_ARGS_((void));





































































typedef struct TkIntStubs {
    int magic;
    struct TkIntStubHooks *hooks;

    TkWindow * (*tkAllocWindow) _ANSI_ARGS_((TkDisplay * dispPtr, int screenNum, TkWindow * parentPtr)); /* 0 */
    void (*tkBezierPoints) _ANSI_ARGS_((double control[], int numSteps, double * coordPtr)); /* 1 */







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







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
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
EXTERN void		TkpGetSubFonts _ANSI_ARGS_((Tcl_Interp * interp, 
				Tk_Font tkfont));
/* 111 */
EXTERN Tcl_Obj *	TkpGetSystemDefault _ANSI_ARGS_((Tk_Window tkwin, 
				char * dbName, char * className));
/* 112 */
EXTERN void		TkpMenuThreadInit _ANSI_ARGS_((void));
#ifdef __WIN32__
/* 113 */
EXTERN void		TkClipBox _ANSI_ARGS_((TkRegion rgn, 
				XRectangle* rect_return));
#endif /* __WIN32__ */
#ifdef MAC_TCL
/* 113 */
EXTERN void		TkClipBox _ANSI_ARGS_((TkRegion rgn, 
				XRectangle* rect_return));
#endif /* MAC_TCL */
#ifdef __WIN32__
/* 114 */
EXTERN TkRegion		TkCreateRegion _ANSI_ARGS_((void));
#endif /* __WIN32__ */
#ifdef MAC_TCL
/* 114 */
EXTERN TkRegion		TkCreateRegion _ANSI_ARGS_((void));
#endif /* MAC_TCL */
#ifdef __WIN32__
/* 115 */
EXTERN void		TkDestroyRegion _ANSI_ARGS_((TkRegion rgn));
#endif /* __WIN32__ */
#ifdef MAC_TCL
/* 115 */
EXTERN void		TkDestroyRegion _ANSI_ARGS_((TkRegion rgn));
#endif /* MAC_TCL */
#ifdef __WIN32__
/* 116 */
EXTERN void		TkIntersectRegion _ANSI_ARGS_((TkRegion sra, 
				TkRegion srcb, TkRegion dr_return));
#endif /* __WIN32__ */
#ifdef MAC_TCL
/* 116 */
EXTERN void		TkIntersectRegion _ANSI_ARGS_((TkRegion sra, 
				TkRegion srcb, TkRegion dr_return));
#endif /* MAC_TCL */
#ifdef __WIN32__
/* 117 */
EXTERN int		TkRectInRegion _ANSI_ARGS_((TkRegion rgn, int x, 
				int y, unsigned int width, 
				unsigned int height));
#endif /* __WIN32__ */
#ifdef MAC_TCL
/* 117 */
EXTERN int		TkRectInRegion _ANSI_ARGS_((TkRegion rgn, int x, 
				int y, unsigned int width, 
				unsigned int height));
#endif /* MAC_TCL */
#ifdef __WIN32__
/* 118 */
EXTERN void		TkSetRegion _ANSI_ARGS_((Display* display, GC gc, 
				TkRegion rgn));
#endif /* __WIN32__ */
#ifdef MAC_TCL
/* 118 */
EXTERN void		TkSetRegion _ANSI_ARGS_((Display* display, GC gc, 
				TkRegion rgn));
#endif /* MAC_TCL */
#ifdef __WIN32__
/* 119 */
EXTERN void		TkUnionRectWithRegion _ANSI_ARGS_((XRectangle* rect, 
				TkRegion src, TkRegion dr_return));
#endif /* __WIN32__ */
#ifdef MAC_TCL
/* 119 */
EXTERN void		TkUnionRectWithRegion _ANSI_ARGS_((XRectangle* rect, 
				TkRegion src, TkRegion dr_return));
#endif /* MAC_TCL */

typedef struct TkIntStubs {
    int magic;
    struct TkIntStubHooks *hooks;

    TkWindow * (*tkAllocWindow) _ANSI_ARGS_((TkDisplay * dispPtr, int screenNum, TkWindow * parentPtr)); /* 0 */
    void (*tkBezierPoints) _ANSI_ARGS_((double control[], int numSteps, double * coordPtr)); /* 1 */
484
485
486
487
488
489
490































































491
492



493



494
495
496
497
498
499
500
    TkDisplay * (*tkGetDisplayList) _ANSI_ARGS_((void)); /* 106 */
    TkMainInfo * (*tkGetMainInfoList) _ANSI_ARGS_((void)); /* 107 */
    int (*tkGetWindowFromObj) _ANSI_ARGS_((Tcl_Interp * interp, Tk_Window tkwin, Tcl_Obj * objPtr, Tk_Window * windowPtr)); /* 108 */
    char * (*tkpGetString) _ANSI_ARGS_((TkWindow * winPtr, XEvent * eventPtr, Tcl_DString * dsPtr)); /* 109 */
    void (*tkpGetSubFonts) _ANSI_ARGS_((Tcl_Interp * interp, Tk_Font tkfont)); /* 110 */
    Tcl_Obj * (*tkpGetSystemDefault) _ANSI_ARGS_((Tk_Window tkwin, char * dbName, char * className)); /* 111 */
    void (*tkpMenuThreadInit) _ANSI_ARGS_((void)); /* 112 */































































} TkIntStubs;




extern TkIntStubs *tkIntStubsPtr;




#if defined(USE_TK_STUBS) && !defined(USE_TK_STUB_PROCS)

/*
 * Inline function declarations:
 */








>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>


>
>
>

>
>
>







552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
    TkDisplay * (*tkGetDisplayList) _ANSI_ARGS_((void)); /* 106 */
    TkMainInfo * (*tkGetMainInfoList) _ANSI_ARGS_((void)); /* 107 */
    int (*tkGetWindowFromObj) _ANSI_ARGS_((Tcl_Interp * interp, Tk_Window tkwin, Tcl_Obj * objPtr, Tk_Window * windowPtr)); /* 108 */
    char * (*tkpGetString) _ANSI_ARGS_((TkWindow * winPtr, XEvent * eventPtr, Tcl_DString * dsPtr)); /* 109 */
    void (*tkpGetSubFonts) _ANSI_ARGS_((Tcl_Interp * interp, Tk_Font tkfont)); /* 110 */
    Tcl_Obj * (*tkpGetSystemDefault) _ANSI_ARGS_((Tk_Window tkwin, char * dbName, char * className)); /* 111 */
    void (*tkpMenuThreadInit) _ANSI_ARGS_((void)); /* 112 */
#if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */
    void *reserved113;
#endif /* UNIX */
#ifdef __WIN32__
    void (*tkClipBox) _ANSI_ARGS_((TkRegion rgn, XRectangle* rect_return)); /* 113 */
#endif /* __WIN32__ */
#ifdef MAC_TCL
    void (*tkClipBox) _ANSI_ARGS_((TkRegion rgn, XRectangle* rect_return)); /* 113 */
#endif /* MAC_TCL */
#if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */
    void *reserved114;
#endif /* UNIX */
#ifdef __WIN32__
    TkRegion (*tkCreateRegion) _ANSI_ARGS_((void)); /* 114 */
#endif /* __WIN32__ */
#ifdef MAC_TCL
    TkRegion (*tkCreateRegion) _ANSI_ARGS_((void)); /* 114 */
#endif /* MAC_TCL */
#if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */
    void *reserved115;
#endif /* UNIX */
#ifdef __WIN32__
    void (*tkDestroyRegion) _ANSI_ARGS_((TkRegion rgn)); /* 115 */
#endif /* __WIN32__ */
#ifdef MAC_TCL
    void (*tkDestroyRegion) _ANSI_ARGS_((TkRegion rgn)); /* 115 */
#endif /* MAC_TCL */
#if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */
    void *reserved116;
#endif /* UNIX */
#ifdef __WIN32__
    void (*tkIntersectRegion) _ANSI_ARGS_((TkRegion sra, TkRegion srcb, TkRegion dr_return)); /* 116 */
#endif /* __WIN32__ */
#ifdef MAC_TCL
    void (*tkIntersectRegion) _ANSI_ARGS_((TkRegion sra, TkRegion srcb, TkRegion dr_return)); /* 116 */
#endif /* MAC_TCL */
#if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */
    void *reserved117;
#endif /* UNIX */
#ifdef __WIN32__
    int (*tkRectInRegion) _ANSI_ARGS_((TkRegion rgn, int x, int y, unsigned int width, unsigned int height)); /* 117 */
#endif /* __WIN32__ */
#ifdef MAC_TCL
    int (*tkRectInRegion) _ANSI_ARGS_((TkRegion rgn, int x, int y, unsigned int width, unsigned int height)); /* 117 */
#endif /* MAC_TCL */
#if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */
    void *reserved118;
#endif /* UNIX */
#ifdef __WIN32__
    void (*tkSetRegion) _ANSI_ARGS_((Display* display, GC gc, TkRegion rgn)); /* 118 */
#endif /* __WIN32__ */
#ifdef MAC_TCL
    void (*tkSetRegion) _ANSI_ARGS_((Display* display, GC gc, TkRegion rgn)); /* 118 */
#endif /* MAC_TCL */
#if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */
    void *reserved119;
#endif /* UNIX */
#ifdef __WIN32__
    void (*tkUnionRectWithRegion) _ANSI_ARGS_((XRectangle* rect, TkRegion src, TkRegion dr_return)); /* 119 */
#endif /* __WIN32__ */
#ifdef MAC_TCL
    void (*tkUnionRectWithRegion) _ANSI_ARGS_((XRectangle* rect, TkRegion src, TkRegion dr_return)); /* 119 */
#endif /* MAC_TCL */
} TkIntStubs;

#ifdef __cplusplus
extern "C" {
#endif
extern TkIntStubs *tkIntStubsPtr;
#ifdef __cplusplus
}
#endif

#if defined(USE_TK_STUBS) && !defined(USE_TK_STUB_PROCS)

/*
 * Inline function declarations:
 */

946
947
948
949
950
951
952




















































































953
954
955
956
957
958
959
960
961
962
#define TkpGetSystemDefault \
	(tkIntStubsPtr->tkpGetSystemDefault) /* 111 */
#endif
#ifndef TkpMenuThreadInit
#define TkpMenuThreadInit \
	(tkIntStubsPtr->tkpMenuThreadInit) /* 112 */
#endif





















































































#endif /* defined(USE_TK_STUBS) && !defined(USE_TK_STUB_PROCS) */

/* !END!: Do not edit above this line. */

#undef TCL_STORAGE_CLASS
#define TCL_STORAGE_CLASS DLLIMPORT

#endif /* _TKINTDECLS */








>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>










1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
#define TkpGetSystemDefault \
	(tkIntStubsPtr->tkpGetSystemDefault) /* 111 */
#endif
#ifndef TkpMenuThreadInit
#define TkpMenuThreadInit \
	(tkIntStubsPtr->tkpMenuThreadInit) /* 112 */
#endif
#ifdef __WIN32__
#ifndef TkClipBox
#define TkClipBox \
	(tkIntStubsPtr->tkClipBox) /* 113 */
#endif
#endif /* __WIN32__ */
#ifdef MAC_TCL
#ifndef TkClipBox
#define TkClipBox \
	(tkIntStubsPtr->tkClipBox) /* 113 */
#endif
#endif /* MAC_TCL */
#ifdef __WIN32__
#ifndef TkCreateRegion
#define TkCreateRegion \
	(tkIntStubsPtr->tkCreateRegion) /* 114 */
#endif
#endif /* __WIN32__ */
#ifdef MAC_TCL
#ifndef TkCreateRegion
#define TkCreateRegion \
	(tkIntStubsPtr->tkCreateRegion) /* 114 */
#endif
#endif /* MAC_TCL */
#ifdef __WIN32__
#ifndef TkDestroyRegion
#define TkDestroyRegion \
	(tkIntStubsPtr->tkDestroyRegion) /* 115 */
#endif
#endif /* __WIN32__ */
#ifdef MAC_TCL
#ifndef TkDestroyRegion
#define TkDestroyRegion \
	(tkIntStubsPtr->tkDestroyRegion) /* 115 */
#endif
#endif /* MAC_TCL */
#ifdef __WIN32__
#ifndef TkIntersectRegion
#define TkIntersectRegion \
	(tkIntStubsPtr->tkIntersectRegion) /* 116 */
#endif
#endif /* __WIN32__ */
#ifdef MAC_TCL
#ifndef TkIntersectRegion
#define TkIntersectRegion \
	(tkIntStubsPtr->tkIntersectRegion) /* 116 */
#endif
#endif /* MAC_TCL */
#ifdef __WIN32__
#ifndef TkRectInRegion
#define TkRectInRegion \
	(tkIntStubsPtr->tkRectInRegion) /* 117 */
#endif
#endif /* __WIN32__ */
#ifdef MAC_TCL
#ifndef TkRectInRegion
#define TkRectInRegion \
	(tkIntStubsPtr->tkRectInRegion) /* 117 */
#endif
#endif /* MAC_TCL */
#ifdef __WIN32__
#ifndef TkSetRegion
#define TkSetRegion \
	(tkIntStubsPtr->tkSetRegion) /* 118 */
#endif
#endif /* __WIN32__ */
#ifdef MAC_TCL
#ifndef TkSetRegion
#define TkSetRegion \
	(tkIntStubsPtr->tkSetRegion) /* 118 */
#endif
#endif /* MAC_TCL */
#ifdef __WIN32__
#ifndef TkUnionRectWithRegion
#define TkUnionRectWithRegion \
	(tkIntStubsPtr->tkUnionRectWithRegion) /* 119 */
#endif
#endif /* __WIN32__ */
#ifdef MAC_TCL
#ifndef TkUnionRectWithRegion
#define TkUnionRectWithRegion \
	(tkIntStubsPtr->tkUnionRectWithRegion) /* 119 */
#endif
#endif /* MAC_TCL */

#endif /* defined(USE_TK_STUBS) && !defined(USE_TK_STUB_PROCS) */

/* !END!: Do not edit above this line. */

#undef TCL_STORAGE_CLASS
#define TCL_STORAGE_CLASS DLLIMPORT

#endif /* _TKINTDECLS */

Changes to generic/tkIntPlatDecls.h.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/*
 * tkIntPlatDecls.h --
 *
 *	This file contains the declarations for all platform dependent
 *	unsupported functions that are exported by the Tk library.  These
 *	interfaces are not guaranteed to remain the same between
 *	versions.  Use at your own risk.
 *
 * Copyright (c) 1998-1999 by Scriptics Corporation.
 * All rights reserved.
 *
 * RCS: @(#) $Id: tkIntPlatDecls.h,v 1.3 1999/04/16 01:51:16 stanton Exp $
 */

#ifndef _TKINTPLATDECLS
#define _TKINTPLATDECLS

#ifdef BUILD_tk
#undef TCL_STORAGE_CLASS











|







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/*
 * tkIntPlatDecls.h --
 *
 *	This file contains the declarations for all platform dependent
 *	unsupported functions that are exported by the Tk library.  These
 *	interfaces are not guaranteed to remain the same between
 *	versions.  Use at your own risk.
 *
 * Copyright (c) 1998-1999 by Scriptics Corporation.
 * All rights reserved.
 *
 * RCS: @(#) $Id: tkIntPlatDecls.h,v 1.3.4.3 1999/04/27 21:09:42 stanton Exp $
 */

#ifndef _TKINTPLATDECLS
#define _TKINTPLATDECLS

#ifdef BUILD_tk
#undef TCL_STORAGE_CLASS
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
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483



484



485
486
487
488
489
490
491
EXTERN void		TkUnixSetMenubar _ANSI_ARGS_((Tk_Window tkwin, 
				Tk_Window menubar));
#endif /* UNIX */
#ifdef __WIN32__
/* 0 */
EXTERN char *		TkAlignImageData _ANSI_ARGS_((XImage * image, 
				int alignment, int bitOrder));
/* 1 */
EXTERN void		TkClipBox _ANSI_ARGS_((TkRegion rgn, 
				XRectangle* rect_return));
/* 2 */
EXTERN TkRegion		TkCreateRegion _ANSI_ARGS_((void));
/* 3 */
EXTERN void		TkDestroyRegion _ANSI_ARGS_((TkRegion rgn));
/* 4 */
EXTERN void		TkGenerateActivateEvents _ANSI_ARGS_((
				TkWindow * winPtr, int active));
/* 5 */
EXTERN void		TkIntersectRegion _ANSI_ARGS_((TkRegion sra, 
				TkRegion srcb, TkRegion dr_return));
/* 6 */
EXTERN unsigned long	TkpGetMS _ANSI_ARGS_((void));
/* 7 */
EXTERN void		TkPointerDeadWindow _ANSI_ARGS_((TkWindow * winPtr));
/* 8 */
EXTERN void		TkpPrintWindowId _ANSI_ARGS_((char * buf, 
				Window window));
/* 9 */
EXTERN int		TkpScanWindowId _ANSI_ARGS_((Tcl_Interp * interp, 
				char * string, int * idPtr));
/* 10 */
EXTERN void		TkpSetCapture _ANSI_ARGS_((TkWindow * winPtr));
/* 11 */
EXTERN void		TkpSetCursor _ANSI_ARGS_((TkpCursor cursor));
/* 12 */
EXTERN void		TkpWmSetState _ANSI_ARGS_((TkWindow * winPtr, 
				int state));
/* 13 */
EXTERN int		TkRectInRegion _ANSI_ARGS_((TkRegion rgn, int x, 
				int y, unsigned int width, 
				unsigned int height));
/* 14 */
EXTERN void		TkSetPixmapColormap _ANSI_ARGS_((Pixmap pixmap, 
				Colormap colormap));
/* 15 */
EXTERN void		TkSetRegion _ANSI_ARGS_((Display* display, GC gc, 
				TkRegion rgn));
/* 16 */
EXTERN void		TkUnionRectWithRegion _ANSI_ARGS_((XRectangle* rect, 
				TkRegion src, TkRegion dr_return));
/* 17 */
EXTERN void		TkWinCancelMouseTimer _ANSI_ARGS_((void));
/* 18 */
EXTERN void		TkWinClipboardRender _ANSI_ARGS_((
				TkDisplay * dispPtr, UINT format));
/* 19 */
EXTERN LRESULT		TkWinEmbeddedEventProc _ANSI_ARGS_((HWND hwnd, 
				UINT message, WPARAM wParam, LPARAM lParam));
/* 20 */
EXTERN void		TkWinFillRect _ANSI_ARGS_((HDC dc, int x, int y, 
				int width, int height, int pixel));
/* 21 */
EXTERN COLORREF		TkWinGetBorderPixels _ANSI_ARGS_((Tk_Window tkwin, 
				Tk_3DBorder border, int which));
/* 22 */
EXTERN HDC		TkWinGetDrawableDC _ANSI_ARGS_((Display * display, 
				Drawable d, TkWinDCState* state));
/* 23 */
EXTERN int		TkWinGetModifierState _ANSI_ARGS_((void));
/* 24 */
EXTERN HPALETTE		TkWinGetSystemPalette _ANSI_ARGS_((void));
/* 25 */
EXTERN HWND		TkWinGetWrapperWindow _ANSI_ARGS_((Tk_Window tkwin));
/* 26 */
EXTERN int		TkWinHandleMenuEvent _ANSI_ARGS_((HWND * phwnd, 
				UINT * pMessage, WPARAM * pwParam, 
				LPARAM * plParam, LRESULT * plResult));
/* 27 */
EXTERN int		TkWinIndexOfColor _ANSI_ARGS_((XColor * colorPtr));
/* 28 */
EXTERN void		TkWinReleaseDrawableDC _ANSI_ARGS_((Drawable d, 
				HDC hdc, TkWinDCState* state));
/* 29 */
EXTERN LRESULT		TkWinResendEvent _ANSI_ARGS_((WNDPROC wndproc, 
				HWND hwnd, XEvent * eventPtr));
/* 30 */
EXTERN HPALETTE		TkWinSelectPalette _ANSI_ARGS_((HDC dc, 
				Colormap colormap));
/* 31 */
EXTERN void		TkWinSetMenu _ANSI_ARGS_((Tk_Window tkwin, 
				HMENU hMenu));
/* 32 */
EXTERN void		TkWinSetWindowPos _ANSI_ARGS_((HWND hwnd, 
				HWND siblingHwnd, int pos));
/* 33 */
EXTERN void		TkWinWmCleanup _ANSI_ARGS_((HINSTANCE hInstance));
/* 34 */
EXTERN void		TkWinXCleanup _ANSI_ARGS_((HINSTANCE hInstance));
/* 35 */
EXTERN void		TkWinXInit _ANSI_ARGS_((HINSTANCE hInstance));
/* 36 */
EXTERN void		TkWinSetForegroundWindow _ANSI_ARGS_((
				TkWindow * winPtr));
/* 37 */
EXTERN void		TkWinDialogDebug _ANSI_ARGS_((int debug));
/* 38 */
EXTERN Tcl_Obj *	TkWinGetMenuSystemDefault _ANSI_ARGS_((
				Tk_Window tkwin, char * dbName, 
				char * className));
/* 39 */
EXTERN int		TkWinGetPlatformId _ANSI_ARGS_((void));
#endif /* __WIN32__ */
#ifdef MAC_TCL
/* 0 */
EXTERN void		TkClipBox _ANSI_ARGS_((TkRegion rgn, 
				XRectangle* rect_return));
/* 1 */
EXTERN TkRegion		TkCreateRegion _ANSI_ARGS_((void));
/* 2 */
EXTERN void		TkDestroyRegion _ANSI_ARGS_((TkRegion rgn));
/* 3 */
EXTERN void		TkGenerateActivateEvents _ANSI_ARGS_((
				TkWindow * winPtr, int active));
/* 4 */
EXTERN void		TkIntersectRegion _ANSI_ARGS_((TkRegion sra, 
				TkRegion srcb, TkRegion dr_return));
/* 5 */
EXTERN Pixmap		TkpCreateNativeBitmap _ANSI_ARGS_((Display * display, 
				char * source));
/* 6 */
EXTERN void		TkpDefineNativeBitmaps _ANSI_ARGS_((void));
/* 7 */
EXTERN unsigned long	TkpGetMS _ANSI_ARGS_((void));
/* 8 */
EXTERN Pixmap		TkpGetNativeAppBitmap _ANSI_ARGS_((Display * display, 
				char * name, int * width, int * height));
/* 9 */
EXTERN void		TkPointerDeadWindow _ANSI_ARGS_((TkWindow * winPtr));
/* 10 */
EXTERN void		TkpSetCapture _ANSI_ARGS_((TkWindow * winPtr));
/* 11 */
EXTERN void		TkpSetCursor _ANSI_ARGS_((TkpCursor cursor));
/* 12 */
EXTERN void		TkpWmSetState _ANSI_ARGS_((TkWindow * winPtr, 
				int state));
/* 13 */
EXTERN int		TkRectInRegion _ANSI_ARGS_((TkRegion rgn, int x, 
				int y, unsigned int width, 
				unsigned int height));
/* 14 */
EXTERN void		TkSetRegion _ANSI_ARGS_((Display* display, GC gc, 
				TkRegion rgn));
/* 15 */
EXTERN void		TkUnionRectWithRegion _ANSI_ARGS_((XRectangle* rect, 
				TkRegion src, TkRegion dr_return));
/* 16 */
EXTERN int		HandleWMEvent _ANSI_ARGS_((EventRecord * theEvent));
/* 17 */
EXTERN void		TkAboutDlg _ANSI_ARGS_((void));
/* 18 */
EXTERN void		TkCreateMacEventSource _ANSI_ARGS_((void));
/* 19 */
EXTERN void		TkFontList _ANSI_ARGS_((Tcl_Interp * interp, 
				Display * display));
/* 20 */
EXTERN Window		TkGetTransientMaster _ANSI_ARGS_((TkWindow * winPtr));
/* 21 */
EXTERN int		TkGenerateButtonEvent _ANSI_ARGS_((int x, int y, 
				Window window, unsigned int state));
/* 22 */
EXTERN int		TkGetCharPositions _ANSI_ARGS_((
				XFontStruct * font_struct, char * string, 
				int count, short * buffer));
/* 23 */
EXTERN void		TkGenWMDestroyEvent _ANSI_ARGS_((Tk_Window tkwin));
/* 24 */
EXTERN void		TkGenWMConfigureEvent _ANSI_ARGS_((Tk_Window tkwin, 
				int x, int y, int width, int height, 
				int flags));
/* 25 */
EXTERN unsigned int	TkMacButtonKeyState _ANSI_ARGS_((void));
/* 26 */
EXTERN void		TkMacClearMenubarActive _ANSI_ARGS_((void));
/* 27 */
EXTERN int		TkMacConvertEvent _ANSI_ARGS_((
				EventRecord * eventPtr));
/* 28 */
EXTERN int		TkMacDispatchMenuEvent _ANSI_ARGS_((int menuID, 
				int index));
/* 29 */
EXTERN void		TkMacInstallCursor _ANSI_ARGS_((int resizeOverride));
/* 30 */
EXTERN int		TkMacConvertTkEvent _ANSI_ARGS_((
				EventRecord * eventPtr, Window window));
/* 31 */
EXTERN void		TkMacHandleTearoffMenu _ANSI_ARGS_((void));
/* 32 */
EXTERN void		tkMacInstallMWConsole _ANSI_ARGS_((
				Tcl_Interp * interp));
/* 33 */
EXTERN void		TkMacInvalClipRgns _ANSI_ARGS_((TkWindow * winPtr));
/* 34 */
EXTERN void		TkMacDoHLEvent _ANSI_ARGS_((EventRecord * theEvent));
/* 35 */
EXTERN void		TkMacFontInfo _ANSI_ARGS_((Font fontId, 
				short * family, short * style, short * size));
/* 36 */
EXTERN Time		TkMacGenerateTime _ANSI_ARGS_((void));
/* 37 */
EXTERN GWorldPtr	TkMacGetDrawablePort _ANSI_ARGS_((Drawable drawable));
/* 38 */
EXTERN TkWindow *	TkMacGetScrollbarGrowWindow _ANSI_ARGS_((
				TkWindow * winPtr));
/* 39 */
EXTERN Window		TkMacGetXWindow _ANSI_ARGS_((WindowRef macWinPtr));
/* 40 */
EXTERN int		TkMacGrowToplevel _ANSI_ARGS_((WindowRef whichWindow, 
				Point start));
/* 41 */
EXTERN void		TkMacHandleMenuSelect _ANSI_ARGS_((long mResult, 
				int optionKeyPressed));
/* 42 */
EXTERN int		TkMacHaveAppearance _ANSI_ARGS_((void));
/* 43 */
EXTERN void		TkMacInitAppleEvents _ANSI_ARGS_((
				Tcl_Interp * interp));
/* 44 */
EXTERN void		TkMacInitMenus _ANSI_ARGS_((Tcl_Interp * interp));
/* 45 */
EXTERN void		TkMacInvalidateWindow _ANSI_ARGS_((
				MacDrawable * macWin, int flag));
/* 46 */
EXTERN int		TkMacIsCharacterMissing _ANSI_ARGS_((Tk_Font tkfont, 
				unsigned int searchChar));
/* 47 */
EXTERN void		TkMacMakeRealWindowExist _ANSI_ARGS_((
				TkWindow * winPtr));
/* 48 */
EXTERN BitMapPtr	TkMacMakeStippleMap _ANSI_ARGS_((Drawable d1, 
				Drawable d2));
/* 49 */
EXTERN void		TkMacMenuClick _ANSI_ARGS_((void));
/* 50 */
EXTERN void		TkMacRegisterOffScreenWindow _ANSI_ARGS_((
				Window window, GWorldPtr portPtr));
/* 51 */
EXTERN int		TkMacResizable _ANSI_ARGS_((TkWindow * winPtr));
/* 52 */
EXTERN void		TkMacSetEmbedRgn _ANSI_ARGS_((TkWindow * winPtr, 
				RgnHandle rgn));
/* 53 */
EXTERN void		TkMacSetHelpMenuItemCount _ANSI_ARGS_((void));
/* 54 */
EXTERN void		TkMacSetScrollbarGrow _ANSI_ARGS_((TkWindow * winPtr, 
				int flag));
/* 55 */
EXTERN void		TkMacSetUpClippingRgn _ANSI_ARGS_((Drawable drawable));
/* 56 */
EXTERN void		TkMacSetUpGraphicsPort _ANSI_ARGS_((GC gc));
/* 57 */
EXTERN void		TkMacUpdateClipRgn _ANSI_ARGS_((TkWindow * winPtr));
/* 58 */
EXTERN void		TkMacUnregisterMacWindow _ANSI_ARGS_((
				GWorldPtr portPtr));
/* 59 */
EXTERN int		TkMacUseMenuID _ANSI_ARGS_((short macID));
/* 60 */
EXTERN RgnHandle	TkMacVisableClipRgn _ANSI_ARGS_((TkWindow * winPtr));
/* 61 */
EXTERN void		TkMacWinBounds _ANSI_ARGS_((TkWindow * winPtr, 
				Rect * geometry));
/* 62 */
EXTERN void		TkMacWindowOffset _ANSI_ARGS_((WindowRef wRef, 
				int * xOffset, int * yOffset));
/* 63 */
EXTERN void		TkResumeClipboard _ANSI_ARGS_((void));
/* 64 */
EXTERN int		TkSetMacColor _ANSI_ARGS_((unsigned long pixel, 
				RGBColor * macColor));
/* 65 */
EXTERN void		TkSetWMName _ANSI_ARGS_((TkWindow * winPtr, 
				Tk_Uid titleUid));
/* 66 */
EXTERN void		TkSuspendClipboard _ANSI_ARGS_((void));
/* 67 */
EXTERN int		TkWMGrowToplevel _ANSI_ARGS_((WindowRef whichWindow, 
				Point start));
/* 68 */
EXTERN int		TkMacZoomToplevel _ANSI_ARGS_((WindowPtr whichWindow, 
				Point where, short zoomPart));
/* 69 */
EXTERN Tk_Window	Tk_TopCoordsToWindow _ANSI_ARGS_((Tk_Window tkwin, 
				int rootX, int rootY, int * newX, int * newY));
/* 70 */
EXTERN MacDrawable *	TkMacContainerId _ANSI_ARGS_((TkWindow * winPtr));
/* 71 */
EXTERN MacDrawable *	TkMacGetHostToplevel _ANSI_ARGS_((TkWindow * winPtr));
#endif /* MAC_TCL */

typedef struct TkIntPlatStubs {
    int magic;
    struct TkIntPlatStubHooks *hooks;

#if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */
    void (*tkCreateXEventSource) _ANSI_ARGS_((void)); /* 0 */
    void (*tkFreeWindowId) _ANSI_ARGS_((TkDisplay * dispPtr, Window w)); /* 1 */
    void (*tkInitXId) _ANSI_ARGS_((TkDisplay * dispPtr)); /* 2 */
    int (*tkpCmapStressed) _ANSI_ARGS_((Tk_Window tkwin, Colormap colormap)); /* 3 */
    void (*tkpSync) _ANSI_ARGS_((Display * display)); /* 4 */
    Window (*tkUnixContainerId) _ANSI_ARGS_((TkWindow * winPtr)); /* 5 */
    int (*tkUnixDoOneXEvent) _ANSI_ARGS_((Tcl_Time * timePtr)); /* 6 */
    void (*tkUnixSetMenubar) _ANSI_ARGS_((Tk_Window tkwin, Tk_Window menubar)); /* 7 */
#endif /* UNIX */
#ifdef __WIN32__
    char * (*tkAlignImageData) _ANSI_ARGS_((XImage * image, int alignment, int bitOrder)); /* 0 */
    void (*tkClipBox) _ANSI_ARGS_((TkRegion rgn, XRectangle* rect_return)); /* 1 */
    TkRegion (*tkCreateRegion) _ANSI_ARGS_((void)); /* 2 */
    void (*tkDestroyRegion) _ANSI_ARGS_((TkRegion rgn)); /* 3 */
    void (*tkGenerateActivateEvents) _ANSI_ARGS_((TkWindow * winPtr, int active)); /* 4 */
    void (*tkIntersectRegion) _ANSI_ARGS_((TkRegion sra, TkRegion srcb, TkRegion dr_return)); /* 5 */
    unsigned long (*tkpGetMS) _ANSI_ARGS_((void)); /* 6 */
    void (*tkPointerDeadWindow) _ANSI_ARGS_((TkWindow * winPtr)); /* 7 */
    void (*tkpPrintWindowId) _ANSI_ARGS_((char * buf, Window window)); /* 8 */
    int (*tkpScanWindowId) _ANSI_ARGS_((Tcl_Interp * interp, char * string, int * idPtr)); /* 9 */
    void (*tkpSetCapture) _ANSI_ARGS_((TkWindow * winPtr)); /* 10 */
    void (*tkpSetCursor) _ANSI_ARGS_((TkpCursor cursor)); /* 11 */
    void (*tkpWmSetState) _ANSI_ARGS_((TkWindow * winPtr, int state)); /* 12 */
    int (*tkRectInRegion) _ANSI_ARGS_((TkRegion rgn, int x, int y, unsigned int width, unsigned int height)); /* 13 */
    void (*tkSetPixmapColormap) _ANSI_ARGS_((Pixmap pixmap, Colormap colormap)); /* 14 */
    void (*tkSetRegion) _ANSI_ARGS_((Display* display, GC gc, TkRegion rgn)); /* 15 */
    void (*tkUnionRectWithRegion) _ANSI_ARGS_((XRectangle* rect, TkRegion src, TkRegion dr_return)); /* 16 */
    void (*tkWinCancelMouseTimer) _ANSI_ARGS_((void)); /* 17 */
    void (*tkWinClipboardRender) _ANSI_ARGS_((TkDisplay * dispPtr, UINT format)); /* 18 */
    LRESULT (*tkWinEmbeddedEventProc) _ANSI_ARGS_((HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)); /* 19 */
    void (*tkWinFillRect) _ANSI_ARGS_((HDC dc, int x, int y, int width, int height, int pixel)); /* 20 */
    COLORREF (*tkWinGetBorderPixels) _ANSI_ARGS_((Tk_Window tkwin, Tk_3DBorder border, int which)); /* 21 */
    HDC (*tkWinGetDrawableDC) _ANSI_ARGS_((Display * display, Drawable d, TkWinDCState* state)); /* 22 */
    int (*tkWinGetModifierState) _ANSI_ARGS_((void)); /* 23 */
    HPALETTE (*tkWinGetSystemPalette) _ANSI_ARGS_((void)); /* 24 */
    HWND (*tkWinGetWrapperWindow) _ANSI_ARGS_((Tk_Window tkwin)); /* 25 */
    int (*tkWinHandleMenuEvent) _ANSI_ARGS_((HWND * phwnd, UINT * pMessage, WPARAM * pwParam, LPARAM * plParam, LRESULT * plResult)); /* 26 */
    int (*tkWinIndexOfColor) _ANSI_ARGS_((XColor * colorPtr)); /* 27 */
    void (*tkWinReleaseDrawableDC) _ANSI_ARGS_((Drawable d, HDC hdc, TkWinDCState* state)); /* 28 */
    LRESULT (*tkWinResendEvent) _ANSI_ARGS_((WNDPROC wndproc, HWND hwnd, XEvent * eventPtr)); /* 29 */
    HPALETTE (*tkWinSelectPalette) _ANSI_ARGS_((HDC dc, Colormap colormap)); /* 30 */
    void (*tkWinSetMenu) _ANSI_ARGS_((Tk_Window tkwin, HMENU hMenu)); /* 31 */
    void (*tkWinSetWindowPos) _ANSI_ARGS_((HWND hwnd, HWND siblingHwnd, int pos)); /* 32 */
    void (*tkWinWmCleanup) _ANSI_ARGS_((HINSTANCE hInstance)); /* 33 */
    void (*tkWinXCleanup) _ANSI_ARGS_((HINSTANCE hInstance)); /* 34 */
    void (*tkWinXInit) _ANSI_ARGS_((HINSTANCE hInstance)); /* 35 */
    void (*tkWinSetForegroundWindow) _ANSI_ARGS_((TkWindow * winPtr)); /* 36 */
    void (*tkWinDialogDebug) _ANSI_ARGS_((int debug)); /* 37 */
    Tcl_Obj * (*tkWinGetMenuSystemDefault) _ANSI_ARGS_((Tk_Window tkwin, char * dbName, char * className)); /* 38 */
    int (*tkWinGetPlatformId) _ANSI_ARGS_((void)); /* 39 */
#endif /* __WIN32__ */
#ifdef MAC_TCL
    void (*tkClipBox) _ANSI_ARGS_((TkRegion rgn, XRectangle* rect_return)); /* 0 */
    TkRegion (*tkCreateRegion) _ANSI_ARGS_((void)); /* 1 */
    void (*tkDestroyRegion) _ANSI_ARGS_((TkRegion rgn)); /* 2 */
    void (*tkGenerateActivateEvents) _ANSI_ARGS_((TkWindow * winPtr, int active)); /* 3 */
    void (*tkIntersectRegion) _ANSI_ARGS_((TkRegion sra, TkRegion srcb, TkRegion dr_return)); /* 4 */
    Pixmap (*tkpCreateNativeBitmap) _ANSI_ARGS_((Display * display, char * source)); /* 5 */
    void (*tkpDefineNativeBitmaps) _ANSI_ARGS_((void)); /* 6 */
    unsigned long (*tkpGetMS) _ANSI_ARGS_((void)); /* 7 */
    Pixmap (*tkpGetNativeAppBitmap) _ANSI_ARGS_((Display * display, char * name, int * width, int * height)); /* 8 */
    void (*tkPointerDeadWindow) _ANSI_ARGS_((TkWindow * winPtr)); /* 9 */
    void (*tkpSetCapture) _ANSI_ARGS_((TkWindow * winPtr)); /* 10 */
    void (*tkpSetCursor) _ANSI_ARGS_((TkpCursor cursor)); /* 11 */
    void (*tkpWmSetState) _ANSI_ARGS_((TkWindow * winPtr, int state)); /* 12 */
    int (*tkRectInRegion) _ANSI_ARGS_((TkRegion rgn, int x, int y, unsigned int width, unsigned int height)); /* 13 */
    void (*tkSetRegion) _ANSI_ARGS_((Display* display, GC gc, TkRegion rgn)); /* 14 */
    void (*tkUnionRectWithRegion) _ANSI_ARGS_((XRectangle* rect, TkRegion src, TkRegion dr_return)); /* 15 */
    int (*handleWMEvent) _ANSI_ARGS_((EventRecord * theEvent)); /* 16 */
    void (*tkAboutDlg) _ANSI_ARGS_((void)); /* 17 */
    void (*tkCreateMacEventSource) _ANSI_ARGS_((void)); /* 18 */
    void (*tkFontList) _ANSI_ARGS_((Tcl_Interp * interp, Display * display)); /* 19 */
    Window (*tkGetTransientMaster) _ANSI_ARGS_((TkWindow * winPtr)); /* 20 */
    int (*tkGenerateButtonEvent) _ANSI_ARGS_((int x, int y, Window window, unsigned int state)); /* 21 */
    int (*tkGetCharPositions) _ANSI_ARGS_((XFontStruct * font_struct, char * string, int count, short * buffer)); /* 22 */
    void (*tkGenWMDestroyEvent) _ANSI_ARGS_((Tk_Window tkwin)); /* 23 */
    void (*tkGenWMConfigureEvent) _ANSI_ARGS_((Tk_Window tkwin, int x, int y, int width, int height, int flags)); /* 24 */
    unsigned int (*tkMacButtonKeyState) _ANSI_ARGS_((void)); /* 25 */
    void (*tkMacClearMenubarActive) _ANSI_ARGS_((void)); /* 26 */
    int (*tkMacConvertEvent) _ANSI_ARGS_((EventRecord * eventPtr)); /* 27 */
    int (*tkMacDispatchMenuEvent) _ANSI_ARGS_((int menuID, int index)); /* 28 */
    void (*tkMacInstallCursor) _ANSI_ARGS_((int resizeOverride)); /* 29 */
    int (*tkMacConvertTkEvent) _ANSI_ARGS_((EventRecord * eventPtr, Window window)); /* 30 */
    void (*tkMacHandleTearoffMenu) _ANSI_ARGS_((void)); /* 31 */
    void (*tkMacInstallMWConsole) _ANSI_ARGS_((Tcl_Interp * interp)); /* 32 */
    void (*tkMacInvalClipRgns) _ANSI_ARGS_((TkWindow * winPtr)); /* 33 */
    void (*tkMacDoHLEvent) _ANSI_ARGS_((EventRecord * theEvent)); /* 34 */
    void (*tkMacFontInfo) _ANSI_ARGS_((Font fontId, short * family, short * style, short * size)); /* 35 */
    Time (*tkMacGenerateTime) _ANSI_ARGS_((void)); /* 36 */
    GWorldPtr (*tkMacGetDrawablePort) _ANSI_ARGS_((Drawable drawable)); /* 37 */
    TkWindow * (*tkMacGetScrollbarGrowWindow) _ANSI_ARGS_((TkWindow * winPtr)); /* 38 */
    Window (*tkMacGetXWindow) _ANSI_ARGS_((WindowRef macWinPtr)); /* 39 */
    int (*tkMacGrowToplevel) _ANSI_ARGS_((WindowRef whichWindow, Point start)); /* 40 */
    void (*tkMacHandleMenuSelect) _ANSI_ARGS_((long mResult, int optionKeyPressed)); /* 41 */
    int (*tkMacHaveAppearance) _ANSI_ARGS_((void)); /* 42 */
    void (*tkMacInitAppleEvents) _ANSI_ARGS_((Tcl_Interp * interp)); /* 43 */
    void (*tkMacInitMenus) _ANSI_ARGS_((Tcl_Interp * interp)); /* 44 */
    void (*tkMacInvalidateWindow) _ANSI_ARGS_((MacDrawable * macWin, int flag)); /* 45 */
    int (*tkMacIsCharacterMissing) _ANSI_ARGS_((Tk_Font tkfont, unsigned int searchChar)); /* 46 */
    void (*tkMacMakeRealWindowExist) _ANSI_ARGS_((TkWindow * winPtr)); /* 47 */
    BitMapPtr (*tkMacMakeStippleMap) _ANSI_ARGS_((Drawable d1, Drawable d2)); /* 48 */
    void (*tkMacMenuClick) _ANSI_ARGS_((void)); /* 49 */
    void (*tkMacRegisterOffScreenWindow) _ANSI_ARGS_((Window window, GWorldPtr portPtr)); /* 50 */
    int (*tkMacResizable) _ANSI_ARGS_((TkWindow * winPtr)); /* 51 */
    void (*tkMacSetEmbedRgn) _ANSI_ARGS_((TkWindow * winPtr, RgnHandle rgn)); /* 52 */
    void (*tkMacSetHelpMenuItemCount) _ANSI_ARGS_((void)); /* 53 */
    void (*tkMacSetScrollbarGrow) _ANSI_ARGS_((TkWindow * winPtr, int flag)); /* 54 */
    void (*tkMacSetUpClippingRgn) _ANSI_ARGS_((Drawable drawable)); /* 55 */
    void (*tkMacSetUpGraphicsPort) _ANSI_ARGS_((GC gc)); /* 56 */
    void (*tkMacUpdateClipRgn) _ANSI_ARGS_((TkWindow * winPtr)); /* 57 */
    void (*tkMacUnregisterMacWindow) _ANSI_ARGS_((GWorldPtr portPtr)); /* 58 */
    int (*tkMacUseMenuID) _ANSI_ARGS_((short macID)); /* 59 */
    RgnHandle (*tkMacVisableClipRgn) _ANSI_ARGS_((TkWindow * winPtr)); /* 60 */
    void (*tkMacWinBounds) _ANSI_ARGS_((TkWindow * winPtr, Rect * geometry)); /* 61 */
    void (*tkMacWindowOffset) _ANSI_ARGS_((WindowRef wRef, int * xOffset, int * yOffset)); /* 62 */
    void (*tkResumeClipboard) _ANSI_ARGS_((void)); /* 63 */
    int (*tkSetMacColor) _ANSI_ARGS_((unsigned long pixel, RGBColor * macColor)); /* 64 */
    void (*tkSetWMName) _ANSI_ARGS_((TkWindow * winPtr, Tk_Uid titleUid)); /* 65 */
    void (*tkSuspendClipboard) _ANSI_ARGS_((void)); /* 66 */
    int (*tkWMGrowToplevel) _ANSI_ARGS_((WindowRef whichWindow, Point start)); /* 67 */
    int (*tkMacZoomToplevel) _ANSI_ARGS_((WindowPtr whichWindow, Point where, short zoomPart)); /* 68 */
    Tk_Window (*tk_TopCoordsToWindow) _ANSI_ARGS_((Tk_Window tkwin, int rootX, int rootY, int * newX, int * newY)); /* 69 */
    MacDrawable * (*tkMacContainerId) _ANSI_ARGS_((TkWindow * winPtr)); /* 70 */
    MacDrawable * (*tkMacGetHostToplevel) _ANSI_ARGS_((TkWindow * winPtr)); /* 71 */
#endif /* MAC_TCL */
} TkIntPlatStubs;




extern TkIntPlatStubs *tkIntPlatStubsPtr;




#if defined(USE_TK_STUBS) && !defined(USE_TK_STUB_PROCS)

/*
 * Inline function declarations:
 */








|
<
<

<
<
<
<


|
<
<
<

|

|


|


|

|

|


|
<
<
<
<


|
<
<
<
<
<
<

|


|


|


|


|


|

|

|

|



|

|


|


|


|


|


|

|

|

|


|

|



|




<
<
<
<
<
<
<


|
<
<
<


|

|

|


|

|

|

|


|
<
<
<
<
<
<
<
<
<
<

|

|

|


|

|


|



|

|



|

|

|


|


|

|


|

|


|

|

|


|

|

|


|

|


|


|

|


|

|


|


|


|


|

|


|

|


|

|


|

|

|

|


|

|

|


|


|

|


|


|

|


|


|


|

|



















<
<
|
|
<
|
|
|
|
|
|
|
<
|
<
<
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|


<
<
<
|
<
|
|
|
|
|
|
|
|
<
<
<
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|



>
>
>

>
>
>







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
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
EXTERN void		TkUnixSetMenubar _ANSI_ARGS_((Tk_Window tkwin, 
				Tk_Window menubar));
#endif /* UNIX */
#ifdef __WIN32__
/* 0 */
EXTERN char *		TkAlignImageData _ANSI_ARGS_((XImage * image, 
				int alignment, int bitOrder));
/* Slot 1 is reserved */


/* 2 */




EXTERN void		TkGenerateActivateEvents _ANSI_ARGS_((
				TkWindow * winPtr, int active));
/* 3 */



EXTERN unsigned long	TkpGetMS _ANSI_ARGS_((void));
/* 4 */
EXTERN void		TkPointerDeadWindow _ANSI_ARGS_((TkWindow * winPtr));
/* 5 */
EXTERN void		TkpPrintWindowId _ANSI_ARGS_((char * buf, 
				Window window));
/* 6 */
EXTERN int		TkpScanWindowId _ANSI_ARGS_((Tcl_Interp * interp, 
				char * string, int * idPtr));
/* 7 */
EXTERN void		TkpSetCapture _ANSI_ARGS_((TkWindow * winPtr));
/* 8 */
EXTERN void		TkpSetCursor _ANSI_ARGS_((TkpCursor cursor));
/* 9 */
EXTERN void		TkpWmSetState _ANSI_ARGS_((TkWindow * winPtr, 
				int state));
/* 10 */




EXTERN void		TkSetPixmapColormap _ANSI_ARGS_((Pixmap pixmap, 
				Colormap colormap));
/* 11 */






EXTERN void		TkWinCancelMouseTimer _ANSI_ARGS_((void));
/* 12 */
EXTERN void		TkWinClipboardRender _ANSI_ARGS_((
				TkDisplay * dispPtr, UINT format));
/* 13 */
EXTERN LRESULT		TkWinEmbeddedEventProc _ANSI_ARGS_((HWND hwnd, 
				UINT message, WPARAM wParam, LPARAM lParam));
/* 14 */
EXTERN void		TkWinFillRect _ANSI_ARGS_((HDC dc, int x, int y, 
				int width, int height, int pixel));
/* 15 */
EXTERN COLORREF		TkWinGetBorderPixels _ANSI_ARGS_((Tk_Window tkwin, 
				Tk_3DBorder border, int which));
/* 16 */
EXTERN HDC		TkWinGetDrawableDC _ANSI_ARGS_((Display * display, 
				Drawable d, TkWinDCState* state));
/* 17 */
EXTERN int		TkWinGetModifierState _ANSI_ARGS_((void));
/* 18 */
EXTERN HPALETTE		TkWinGetSystemPalette _ANSI_ARGS_((void));
/* 19 */
EXTERN HWND		TkWinGetWrapperWindow _ANSI_ARGS_((Tk_Window tkwin));
/* 20 */
EXTERN int		TkWinHandleMenuEvent _ANSI_ARGS_((HWND * phwnd, 
				UINT * pMessage, WPARAM * pwParam, 
				LPARAM * plParam, LRESULT * plResult));
/* 21 */
EXTERN int		TkWinIndexOfColor _ANSI_ARGS_((XColor * colorPtr));
/* 22 */
EXTERN void		TkWinReleaseDrawableDC _ANSI_ARGS_((Drawable d, 
				HDC hdc, TkWinDCState* state));
/* 23 */
EXTERN LRESULT		TkWinResendEvent _ANSI_ARGS_((WNDPROC wndproc, 
				HWND hwnd, XEvent * eventPtr));
/* 24 */
EXTERN HPALETTE		TkWinSelectPalette _ANSI_ARGS_((HDC dc, 
				Colormap colormap));
/* 25 */
EXTERN void		TkWinSetMenu _ANSI_ARGS_((Tk_Window tkwin, 
				HMENU hMenu));
/* 26 */
EXTERN void		TkWinSetWindowPos _ANSI_ARGS_((HWND hwnd, 
				HWND siblingHwnd, int pos));
/* 27 */
EXTERN void		TkWinWmCleanup _ANSI_ARGS_((HINSTANCE hInstance));
/* 28 */
EXTERN void		TkWinXCleanup _ANSI_ARGS_((HINSTANCE hInstance));
/* 29 */
EXTERN void		TkWinXInit _ANSI_ARGS_((HINSTANCE hInstance));
/* 30 */
EXTERN void		TkWinSetForegroundWindow _ANSI_ARGS_((
				TkWindow * winPtr));
/* 31 */
EXTERN void		TkWinDialogDebug _ANSI_ARGS_((int debug));
/* 32 */
EXTERN Tcl_Obj *	TkWinGetMenuSystemDefault _ANSI_ARGS_((
				Tk_Window tkwin, char * dbName, 
				char * className));
/* 33 */
EXTERN int		TkWinGetPlatformId _ANSI_ARGS_((void));
#endif /* __WIN32__ */
#ifdef MAC_TCL
/* 0 */







EXTERN void		TkGenerateActivateEvents _ANSI_ARGS_((
				TkWindow * winPtr, int active));
/* 1 */



EXTERN Pixmap		TkpCreateNativeBitmap _ANSI_ARGS_((Display * display, 
				char * source));
/* 2 */
EXTERN void		TkpDefineNativeBitmaps _ANSI_ARGS_((void));
/* 3 */
EXTERN unsigned long	TkpGetMS _ANSI_ARGS_((void));
/* 4 */
EXTERN Pixmap		TkpGetNativeAppBitmap _ANSI_ARGS_((Display * display, 
				char * name, int * width, int * height));
/* 5 */
EXTERN void		TkPointerDeadWindow _ANSI_ARGS_((TkWindow * winPtr));
/* 6 */
EXTERN void		TkpSetCapture _ANSI_ARGS_((TkWindow * winPtr));
/* 7 */
EXTERN void		TkpSetCursor _ANSI_ARGS_((TkpCursor cursor));
/* 8 */
EXTERN void		TkpWmSetState _ANSI_ARGS_((TkWindow * winPtr, 
				int state));
/* 9 */










EXTERN int		HandleWMEvent _ANSI_ARGS_((EventRecord * theEvent));
/* 10 */
EXTERN void		TkAboutDlg _ANSI_ARGS_((void));
/* 11 */
EXTERN void		TkCreateMacEventSource _ANSI_ARGS_((void));
/* 12 */
EXTERN void		TkFontList _ANSI_ARGS_((Tcl_Interp * interp, 
				Display * display));
/* 13 */
EXTERN Window		TkGetTransientMaster _ANSI_ARGS_((TkWindow * winPtr));
/* 14 */
EXTERN int		TkGenerateButtonEvent _ANSI_ARGS_((int x, int y, 
				Window window, unsigned int state));
/* 15 */
EXTERN int		TkGetCharPositions _ANSI_ARGS_((
				XFontStruct * font_struct, char * string, 
				int count, short * buffer));
/* 16 */
EXTERN void		TkGenWMDestroyEvent _ANSI_ARGS_((Tk_Window tkwin));
/* 17 */
EXTERN void		TkGenWMConfigureEvent _ANSI_ARGS_((Tk_Window tkwin, 
				int x, int y, int width, int height, 
				int flags));
/* 18 */
EXTERN unsigned int	TkMacButtonKeyState _ANSI_ARGS_((void));
/* 19 */
EXTERN void		TkMacClearMenubarActive _ANSI_ARGS_((void));
/* 20 */
EXTERN int		TkMacConvertEvent _ANSI_ARGS_((
				EventRecord * eventPtr));
/* 21 */
EXTERN int		TkMacDispatchMenuEvent _ANSI_ARGS_((int menuID, 
				int index));
/* 22 */
EXTERN void		TkMacInstallCursor _ANSI_ARGS_((int resizeOverride));
/* 23 */
EXTERN int		TkMacConvertTkEvent _ANSI_ARGS_((
				EventRecord * eventPtr, Window window));
/* 24 */
EXTERN void		TkMacHandleTearoffMenu _ANSI_ARGS_((void));
/* 25 */
EXTERN void		tkMacInstallMWConsole _ANSI_ARGS_((
				Tcl_Interp * interp));
/* 26 */
EXTERN void		TkMacInvalClipRgns _ANSI_ARGS_((TkWindow * winPtr));
/* 27 */
EXTERN void		TkMacDoHLEvent _ANSI_ARGS_((EventRecord * theEvent));
/* 28 */
EXTERN void		TkMacFontInfo _ANSI_ARGS_((Font fontId, 
				short * family, short * style, short * size));
/* 29 */
EXTERN Time		TkMacGenerateTime _ANSI_ARGS_((void));
/* 30 */
EXTERN GWorldPtr	TkMacGetDrawablePort _ANSI_ARGS_((Drawable drawable));
/* 31 */
EXTERN TkWindow *	TkMacGetScrollbarGrowWindow _ANSI_ARGS_((
				TkWindow * winPtr));
/* 32 */
EXTERN Window		TkMacGetXWindow _ANSI_ARGS_((WindowRef macWinPtr));
/* 33 */
EXTERN int		TkMacGrowToplevel _ANSI_ARGS_((WindowRef whichWindow, 
				Point start));
/* 34 */
EXTERN void		TkMacHandleMenuSelect _ANSI_ARGS_((long mResult, 
				int optionKeyPressed));
/* 35 */
EXTERN int		TkMacHaveAppearance _ANSI_ARGS_((void));
/* 36 */
EXTERN void		TkMacInitAppleEvents _ANSI_ARGS_((
				Tcl_Interp * interp));
/* 37 */
EXTERN void		TkMacInitMenus _ANSI_ARGS_((Tcl_Interp * interp));
/* 38 */
EXTERN void		TkMacInvalidateWindow _ANSI_ARGS_((
				MacDrawable * macWin, int flag));
/* 39 */
EXTERN int		TkMacIsCharacterMissing _ANSI_ARGS_((Tk_Font tkfont, 
				unsigned int searchChar));
/* 40 */
EXTERN void		TkMacMakeRealWindowExist _ANSI_ARGS_((
				TkWindow * winPtr));
/* 41 */
EXTERN BitMapPtr	TkMacMakeStippleMap _ANSI_ARGS_((Drawable d1, 
				Drawable d2));
/* 42 */
EXTERN void		TkMacMenuClick _ANSI_ARGS_((void));
/* 43 */
EXTERN void		TkMacRegisterOffScreenWindow _ANSI_ARGS_((
				Window window, GWorldPtr portPtr));
/* 44 */
EXTERN int		TkMacResizable _ANSI_ARGS_((TkWindow * winPtr));
/* 45 */
EXTERN void		TkMacSetEmbedRgn _ANSI_ARGS_((TkWindow * winPtr, 
				RgnHandle rgn));
/* 46 */
EXTERN void		TkMacSetHelpMenuItemCount _ANSI_ARGS_((void));
/* 47 */
EXTERN void		TkMacSetScrollbarGrow _ANSI_ARGS_((TkWindow * winPtr, 
				int flag));
/* 48 */
EXTERN void		TkMacSetUpClippingRgn _ANSI_ARGS_((Drawable drawable));
/* 49 */
EXTERN void		TkMacSetUpGraphicsPort _ANSI_ARGS_((GC gc));
/* 50 */
EXTERN void		TkMacUpdateClipRgn _ANSI_ARGS_((TkWindow * winPtr));
/* 51 */
EXTERN void		TkMacUnregisterMacWindow _ANSI_ARGS_((
				GWorldPtr portPtr));
/* 52 */
EXTERN int		TkMacUseMenuID _ANSI_ARGS_((short macID));
/* 53 */
EXTERN RgnHandle	TkMacVisableClipRgn _ANSI_ARGS_((TkWindow * winPtr));
/* 54 */
EXTERN void		TkMacWinBounds _ANSI_ARGS_((TkWindow * winPtr, 
				Rect * geometry));
/* 55 */
EXTERN void		TkMacWindowOffset _ANSI_ARGS_((WindowRef wRef, 
				int * xOffset, int * yOffset));
/* 56 */
EXTERN void		TkResumeClipboard _ANSI_ARGS_((void));
/* 57 */
EXTERN int		TkSetMacColor _ANSI_ARGS_((unsigned long pixel, 
				RGBColor * macColor));
/* 58 */
EXTERN void		TkSetWMName _ANSI_ARGS_((TkWindow * winPtr, 
				Tk_Uid titleUid));
/* 59 */
EXTERN void		TkSuspendClipboard _ANSI_ARGS_((void));
/* 60 */
EXTERN int		TkWMGrowToplevel _ANSI_ARGS_((WindowRef whichWindow, 
				Point start));
/* 61 */
EXTERN int		TkMacZoomToplevel _ANSI_ARGS_((WindowPtr whichWindow, 
				Point where, short zoomPart));
/* 62 */
EXTERN Tk_Window	Tk_TopCoordsToWindow _ANSI_ARGS_((Tk_Window tkwin, 
				int rootX, int rootY, int * newX, int * newY));
/* 63 */
EXTERN MacDrawable *	TkMacContainerId _ANSI_ARGS_((TkWindow * winPtr));
/* 64 */
EXTERN MacDrawable *	TkMacGetHostToplevel _ANSI_ARGS_((TkWindow * winPtr));
#endif /* MAC_TCL */

typedef struct TkIntPlatStubs {
    int magic;
    struct TkIntPlatStubHooks *hooks;

#if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */
    void (*tkCreateXEventSource) _ANSI_ARGS_((void)); /* 0 */
    void (*tkFreeWindowId) _ANSI_ARGS_((TkDisplay * dispPtr, Window w)); /* 1 */
    void (*tkInitXId) _ANSI_ARGS_((TkDisplay * dispPtr)); /* 2 */
    int (*tkpCmapStressed) _ANSI_ARGS_((Tk_Window tkwin, Colormap colormap)); /* 3 */
    void (*tkpSync) _ANSI_ARGS_((Display * display)); /* 4 */
    Window (*tkUnixContainerId) _ANSI_ARGS_((TkWindow * winPtr)); /* 5 */
    int (*tkUnixDoOneXEvent) _ANSI_ARGS_((Tcl_Time * timePtr)); /* 6 */
    void (*tkUnixSetMenubar) _ANSI_ARGS_((Tk_Window tkwin, Tk_Window menubar)); /* 7 */
#endif /* UNIX */
#ifdef __WIN32__
    char * (*tkAlignImageData) _ANSI_ARGS_((XImage * image, int alignment, int bitOrder)); /* 0 */


    void *reserved1;
    void (*tkGenerateActivateEvents) _ANSI_ARGS_((TkWindow * winPtr, int active)); /* 2 */

    unsigned long (*tkpGetMS) _ANSI_ARGS_((void)); /* 3 */
    void (*tkPointerDeadWindow) _ANSI_ARGS_((TkWindow * winPtr)); /* 4 */
    void (*tkpPrintWindowId) _ANSI_ARGS_((char * buf, Window window)); /* 5 */
    int (*tkpScanWindowId) _ANSI_ARGS_((Tcl_Interp * interp, char * string, int * idPtr)); /* 6 */
    void (*tkpSetCapture) _ANSI_ARGS_((TkWindow * winPtr)); /* 7 */
    void (*tkpSetCursor) _ANSI_ARGS_((TkpCursor cursor)); /* 8 */
    void (*tkpWmSetState) _ANSI_ARGS_((TkWindow * winPtr, int state)); /* 9 */

    void (*tkSetPixmapColormap) _ANSI_ARGS_((Pixmap pixmap, Colormap colormap)); /* 10 */


    void (*tkWinCancelMouseTimer) _ANSI_ARGS_((void)); /* 11 */
    void (*tkWinClipboardRender) _ANSI_ARGS_((TkDisplay * dispPtr, UINT format)); /* 12 */
    LRESULT (*tkWinEmbeddedEventProc) _ANSI_ARGS_((HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)); /* 13 */
    void (*tkWinFillRect) _ANSI_ARGS_((HDC dc, int x, int y, int width, int height, int pixel)); /* 14 */
    COLORREF (*tkWinGetBorderPixels) _ANSI_ARGS_((Tk_Window tkwin, Tk_3DBorder border, int which)); /* 15 */
    HDC (*tkWinGetDrawableDC) _ANSI_ARGS_((Display * display, Drawable d, TkWinDCState* state)); /* 16 */
    int (*tkWinGetModifierState) _ANSI_ARGS_((void)); /* 17 */
    HPALETTE (*tkWinGetSystemPalette) _ANSI_ARGS_((void)); /* 18 */
    HWND (*tkWinGetWrapperWindow) _ANSI_ARGS_((Tk_Window tkwin)); /* 19 */
    int (*tkWinHandleMenuEvent) _ANSI_ARGS_((HWND * phwnd, UINT * pMessage, WPARAM * pwParam, LPARAM * plParam, LRESULT * plResult)); /* 20 */
    int (*tkWinIndexOfColor) _ANSI_ARGS_((XColor * colorPtr)); /* 21 */
    void (*tkWinReleaseDrawableDC) _ANSI_ARGS_((Drawable d, HDC hdc, TkWinDCState* state)); /* 22 */
    LRESULT (*tkWinResendEvent) _ANSI_ARGS_((WNDPROC wndproc, HWND hwnd, XEvent * eventPtr)); /* 23 */
    HPALETTE (*tkWinSelectPalette) _ANSI_ARGS_((HDC dc, Colormap colormap)); /* 24 */
    void (*tkWinSetMenu) _ANSI_ARGS_((Tk_Window tkwin, HMENU hMenu)); /* 25 */
    void (*tkWinSetWindowPos) _ANSI_ARGS_((HWND hwnd, HWND siblingHwnd, int pos)); /* 26 */
    void (*tkWinWmCleanup) _ANSI_ARGS_((HINSTANCE hInstance)); /* 27 */
    void (*tkWinXCleanup) _ANSI_ARGS_((HINSTANCE hInstance)); /* 28 */
    void (*tkWinXInit) _ANSI_ARGS_((HINSTANCE hInstance)); /* 29 */
    void (*tkWinSetForegroundWindow) _ANSI_ARGS_((TkWindow * winPtr)); /* 30 */
    void (*tkWinDialogDebug) _ANSI_ARGS_((int debug)); /* 31 */
    Tcl_Obj * (*tkWinGetMenuSystemDefault) _ANSI_ARGS_((Tk_Window tkwin, char * dbName, char * className)); /* 32 */
    int (*tkWinGetPlatformId) _ANSI_ARGS_((void)); /* 33 */
#endif /* __WIN32__ */
#ifdef MAC_TCL



    void (*tkGenerateActivateEvents) _ANSI_ARGS_((TkWindow * winPtr, int active)); /* 0 */

    Pixmap (*tkpCreateNativeBitmap) _ANSI_ARGS_((Display * display, char * source)); /* 1 */
    void (*tkpDefineNativeBitmaps) _ANSI_ARGS_((void)); /* 2 */
    unsigned long (*tkpGetMS) _ANSI_ARGS_((void)); /* 3 */
    Pixmap (*tkpGetNativeAppBitmap) _ANSI_ARGS_((Display * display, char * name, int * width, int * height)); /* 4 */
    void (*tkPointerDeadWindow) _ANSI_ARGS_((TkWindow * winPtr)); /* 5 */
    void (*tkpSetCapture) _ANSI_ARGS_((TkWindow * winPtr)); /* 6 */
    void (*tkpSetCursor) _ANSI_ARGS_((TkpCursor cursor)); /* 7 */
    void (*tkpWmSetState) _ANSI_ARGS_((TkWindow * winPtr, int state)); /* 8 */



    int (*handleWMEvent) _ANSI_ARGS_((EventRecord * theEvent)); /* 9 */
    void (*tkAboutDlg) _ANSI_ARGS_((void)); /* 10 */
    void (*tkCreateMacEventSource) _ANSI_ARGS_((void)); /* 11 */
    void (*tkFontList) _ANSI_ARGS_((Tcl_Interp * interp, Display * display)); /* 12 */
    Window (*tkGetTransientMaster) _ANSI_ARGS_((TkWindow * winPtr)); /* 13 */
    int (*tkGenerateButtonEvent) _ANSI_ARGS_((int x, int y, Window window, unsigned int state)); /* 14 */
    int (*tkGetCharPositions) _ANSI_ARGS_((XFontStruct * font_struct, char * string, int count, short * buffer)); /* 15 */
    void (*tkGenWMDestroyEvent) _ANSI_ARGS_((Tk_Window tkwin)); /* 16 */
    void (*tkGenWMConfigureEvent) _ANSI_ARGS_((Tk_Window tkwin, int x, int y, int width, int height, int flags)); /* 17 */
    unsigned int (*tkMacButtonKeyState) _ANSI_ARGS_((void)); /* 18 */
    void (*tkMacClearMenubarActive) _ANSI_ARGS_((void)); /* 19 */
    int (*tkMacConvertEvent) _ANSI_ARGS_((EventRecord * eventPtr)); /* 20 */
    int (*tkMacDispatchMenuEvent) _ANSI_ARGS_((int menuID, int index)); /* 21 */
    void (*tkMacInstallCursor) _ANSI_ARGS_((int resizeOverride)); /* 22 */
    int (*tkMacConvertTkEvent) _ANSI_ARGS_((EventRecord * eventPtr, Window window)); /* 23 */
    void (*tkMacHandleTearoffMenu) _ANSI_ARGS_((void)); /* 24 */
    void (*tkMacInstallMWConsole) _ANSI_ARGS_((Tcl_Interp * interp)); /* 25 */
    void (*tkMacInvalClipRgns) _ANSI_ARGS_((TkWindow * winPtr)); /* 26 */
    void (*tkMacDoHLEvent) _ANSI_ARGS_((EventRecord * theEvent)); /* 27 */
    void (*tkMacFontInfo) _ANSI_ARGS_((Font fontId, short * family, short * style, short * size)); /* 28 */
    Time (*tkMacGenerateTime) _ANSI_ARGS_((void)); /* 29 */
    GWorldPtr (*tkMacGetDrawablePort) _ANSI_ARGS_((Drawable drawable)); /* 30 */
    TkWindow * (*tkMacGetScrollbarGrowWindow) _ANSI_ARGS_((TkWindow * winPtr)); /* 31 */
    Window (*tkMacGetXWindow) _ANSI_ARGS_((WindowRef macWinPtr)); /* 32 */
    int (*tkMacGrowToplevel) _ANSI_ARGS_((WindowRef whichWindow, Point start)); /* 33 */
    void (*tkMacHandleMenuSelect) _ANSI_ARGS_((long mResult, int optionKeyPressed)); /* 34 */
    int (*tkMacHaveAppearance) _ANSI_ARGS_((void)); /* 35 */
    void (*tkMacInitAppleEvents) _ANSI_ARGS_((Tcl_Interp * interp)); /* 36 */
    void (*tkMacInitMenus) _ANSI_ARGS_((Tcl_Interp * interp)); /* 37 */
    void (*tkMacInvalidateWindow) _ANSI_ARGS_((MacDrawable * macWin, int flag)); /* 38 */
    int (*tkMacIsCharacterMissing) _ANSI_ARGS_((Tk_Font tkfont, unsigned int searchChar)); /* 39 */
    void (*tkMacMakeRealWindowExist) _ANSI_ARGS_((TkWindow * winPtr)); /* 40 */
    BitMapPtr (*tkMacMakeStippleMap) _ANSI_ARGS_((Drawable d1, Drawable d2)); /* 41 */
    void (*tkMacMenuClick) _ANSI_ARGS_((void)); /* 42 */
    void (*tkMacRegisterOffScreenWindow) _ANSI_ARGS_((Window window, GWorldPtr portPtr)); /* 43 */
    int (*tkMacResizable) _ANSI_ARGS_((TkWindow * winPtr)); /* 44 */
    void (*tkMacSetEmbedRgn) _ANSI_ARGS_((TkWindow * winPtr, RgnHandle rgn)); /* 45 */
    void (*tkMacSetHelpMenuItemCount) _ANSI_ARGS_((void)); /* 46 */
    void (*tkMacSetScrollbarGrow) _ANSI_ARGS_((TkWindow * winPtr, int flag)); /* 47 */
    void (*tkMacSetUpClippingRgn) _ANSI_ARGS_((Drawable drawable)); /* 48 */
    void (*tkMacSetUpGraphicsPort) _ANSI_ARGS_((GC gc)); /* 49 */
    void (*tkMacUpdateClipRgn) _ANSI_ARGS_((TkWindow * winPtr)); /* 50 */
    void (*tkMacUnregisterMacWindow) _ANSI_ARGS_((GWorldPtr portPtr)); /* 51 */
    int (*tkMacUseMenuID) _ANSI_ARGS_((short macID)); /* 52 */
    RgnHandle (*tkMacVisableClipRgn) _ANSI_ARGS_((TkWindow * winPtr)); /* 53 */
    void (*tkMacWinBounds) _ANSI_ARGS_((TkWindow * winPtr, Rect * geometry)); /* 54 */
    void (*tkMacWindowOffset) _ANSI_ARGS_((WindowRef wRef, int * xOffset, int * yOffset)); /* 55 */
    void (*tkResumeClipboard) _ANSI_ARGS_((void)); /* 56 */
    int (*tkSetMacColor) _ANSI_ARGS_((unsigned long pixel, RGBColor * macColor)); /* 57 */
    void (*tkSetWMName) _ANSI_ARGS_((TkWindow * winPtr, Tk_Uid titleUid)); /* 58 */
    void (*tkSuspendClipboard) _ANSI_ARGS_((void)); /* 59 */
    int (*tkWMGrowToplevel) _ANSI_ARGS_((WindowRef whichWindow, Point start)); /* 60 */
    int (*tkMacZoomToplevel) _ANSI_ARGS_((WindowPtr whichWindow, Point where, short zoomPart)); /* 61 */
    Tk_Window (*tk_TopCoordsToWindow) _ANSI_ARGS_((Tk_Window tkwin, int rootX, int rootY, int * newX, int * newY)); /* 62 */
    MacDrawable * (*tkMacContainerId) _ANSI_ARGS_((TkWindow * winPtr)); /* 63 */
    MacDrawable * (*tkMacGetHostToplevel) _ANSI_ARGS_((TkWindow * winPtr)); /* 64 */
#endif /* MAC_TCL */
} TkIntPlatStubs;

#ifdef __cplusplus
extern "C" {
#endif
extern TkIntPlatStubs *tkIntPlatStubsPtr;
#ifdef __cplusplus
}
#endif

#if defined(USE_TK_STUBS) && !defined(USE_TK_STUB_PROCS)

/*
 * Inline function declarations:
 */

524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
#endif
#endif /* UNIX */
#ifdef __WIN32__
#ifndef TkAlignImageData
#define TkAlignImageData \
	(tkIntPlatStubsPtr->tkAlignImageData) /* 0 */
#endif
#ifndef TkClipBox
#define TkClipBox \
	(tkIntPlatStubsPtr->tkClipBox) /* 1 */
#endif
#ifndef TkCreateRegion
#define TkCreateRegion \
	(tkIntPlatStubsPtr->tkCreateRegion) /* 2 */
#endif
#ifndef TkDestroyRegion
#define TkDestroyRegion \
	(tkIntPlatStubsPtr->tkDestroyRegion) /* 3 */
#endif
#ifndef TkGenerateActivateEvents
#define TkGenerateActivateEvents \
	(tkIntPlatStubsPtr->tkGenerateActivateEvents) /* 4 */
#endif
#ifndef TkIntersectRegion
#define TkIntersectRegion \
	(tkIntPlatStubsPtr->tkIntersectRegion) /* 5 */
#endif
#ifndef TkpGetMS
#define TkpGetMS \
	(tkIntPlatStubsPtr->tkpGetMS) /* 6 */
#endif
#ifndef TkPointerDeadWindow
#define TkPointerDeadWindow \
	(tkIntPlatStubsPtr->tkPointerDeadWindow) /* 7 */
#endif
#ifndef TkpPrintWindowId
#define TkpPrintWindowId \
	(tkIntPlatStubsPtr->tkpPrintWindowId) /* 8 */
#endif
#ifndef TkpScanWindowId
#define TkpScanWindowId \
	(tkIntPlatStubsPtr->tkpScanWindowId) /* 9 */
#endif
#ifndef TkpSetCapture
#define TkpSetCapture \
	(tkIntPlatStubsPtr->tkpSetCapture) /* 10 */
#endif
#ifndef TkpSetCursor
#define TkpSetCursor \
	(tkIntPlatStubsPtr->tkpSetCursor) /* 11 */
#endif
#ifndef TkpWmSetState
#define TkpWmSetState \
	(tkIntPlatStubsPtr->tkpWmSetState) /* 12 */
#endif
#ifndef TkRectInRegion
#define TkRectInRegion \
	(tkIntPlatStubsPtr->tkRectInRegion) /* 13 */
#endif
#ifndef TkSetPixmapColormap
#define TkSetPixmapColormap \
	(tkIntPlatStubsPtr->tkSetPixmapColormap) /* 14 */
#endif
#ifndef TkSetRegion
#define TkSetRegion \
	(tkIntPlatStubsPtr->tkSetRegion) /* 15 */
#endif
#ifndef TkUnionRectWithRegion
#define TkUnionRectWithRegion \
	(tkIntPlatStubsPtr->tkUnionRectWithRegion) /* 16 */
#endif
#ifndef TkWinCancelMouseTimer
#define TkWinCancelMouseTimer \
	(tkIntPlatStubsPtr->tkWinCancelMouseTimer) /* 17 */
#endif
#ifndef TkWinClipboardRender
#define TkWinClipboardRender \
	(tkIntPlatStubsPtr->tkWinClipboardRender) /* 18 */
#endif
#ifndef TkWinEmbeddedEventProc
#define TkWinEmbeddedEventProc \
	(tkIntPlatStubsPtr->tkWinEmbeddedEventProc) /* 19 */
#endif
#ifndef TkWinFillRect
#define TkWinFillRect \
	(tkIntPlatStubsPtr->tkWinFillRect) /* 20 */
#endif
#ifndef TkWinGetBorderPixels
#define TkWinGetBorderPixels \
	(tkIntPlatStubsPtr->tkWinGetBorderPixels) /* 21 */
#endif
#ifndef TkWinGetDrawableDC
#define TkWinGetDrawableDC \
	(tkIntPlatStubsPtr->tkWinGetDrawableDC) /* 22 */
#endif
#ifndef TkWinGetModifierState
#define TkWinGetModifierState \
	(tkIntPlatStubsPtr->tkWinGetModifierState) /* 23 */
#endif
#ifndef TkWinGetSystemPalette
#define TkWinGetSystemPalette \
	(tkIntPlatStubsPtr->tkWinGetSystemPalette) /* 24 */
#endif
#ifndef TkWinGetWrapperWindow
#define TkWinGetWrapperWindow \
	(tkIntPlatStubsPtr->tkWinGetWrapperWindow) /* 25 */
#endif
#ifndef TkWinHandleMenuEvent
#define TkWinHandleMenuEvent \
	(tkIntPlatStubsPtr->tkWinHandleMenuEvent) /* 26 */
#endif
#ifndef TkWinIndexOfColor
#define TkWinIndexOfColor \
	(tkIntPlatStubsPtr->tkWinIndexOfColor) /* 27 */
#endif
#ifndef TkWinReleaseDrawableDC
#define TkWinReleaseDrawableDC \
	(tkIntPlatStubsPtr->tkWinReleaseDrawableDC) /* 28 */
#endif
#ifndef TkWinResendEvent
#define TkWinResendEvent \
	(tkIntPlatStubsPtr->tkWinResendEvent) /* 29 */
#endif
#ifndef TkWinSelectPalette
#define TkWinSelectPalette \
	(tkIntPlatStubsPtr->tkWinSelectPalette) /* 30 */
#endif
#ifndef TkWinSetMenu
#define TkWinSetMenu \
	(tkIntPlatStubsPtr->tkWinSetMenu) /* 31 */
#endif
#ifndef TkWinSetWindowPos
#define TkWinSetWindowPos \
	(tkIntPlatStubsPtr->tkWinSetWindowPos) /* 32 */
#endif
#ifndef TkWinWmCleanup
#define TkWinWmCleanup \
	(tkIntPlatStubsPtr->tkWinWmCleanup) /* 33 */
#endif
#ifndef TkWinXCleanup
#define TkWinXCleanup \
	(tkIntPlatStubsPtr->tkWinXCleanup) /* 34 */
#endif
#ifndef TkWinXInit
#define TkWinXInit \
	(tkIntPlatStubsPtr->tkWinXInit) /* 35 */
#endif
#ifndef TkWinSetForegroundWindow
#define TkWinSetForegroundWindow \
	(tkIntPlatStubsPtr->tkWinSetForegroundWindow) /* 36 */
#endif
#ifndef TkWinDialogDebug
#define TkWinDialogDebug \
	(tkIntPlatStubsPtr->tkWinDialogDebug) /* 37 */
#endif
#ifndef TkWinGetMenuSystemDefault
#define TkWinGetMenuSystemDefault \
	(tkIntPlatStubsPtr->tkWinGetMenuSystemDefault) /* 38 */
#endif
#ifndef TkWinGetPlatformId
#define TkWinGetPlatformId \
	(tkIntPlatStubsPtr->tkWinGetPlatformId) /* 39 */
#endif
#endif /* __WIN32__ */
#ifdef MAC_TCL
#ifndef TkClipBox
#define TkClipBox \
	(tkIntPlatStubsPtr->tkClipBox) /* 0 */
#endif
#ifndef TkCreateRegion
#define TkCreateRegion \
	(tkIntPlatStubsPtr->tkCreateRegion) /* 1 */
#endif
#ifndef TkDestroyRegion
#define TkDestroyRegion \
	(tkIntPlatStubsPtr->tkDestroyRegion) /* 2 */
#endif
#ifndef TkGenerateActivateEvents
#define TkGenerateActivateEvents \
	(tkIntPlatStubsPtr->tkGenerateActivateEvents) /* 3 */
#endif
#ifndef TkIntersectRegion
#define TkIntersectRegion \
	(tkIntPlatStubsPtr->tkIntersectRegion) /* 4 */
#endif
#ifndef TkpCreateNativeBitmap
#define TkpCreateNativeBitmap \
	(tkIntPlatStubsPtr->tkpCreateNativeBitmap) /* 5 */
#endif
#ifndef TkpDefineNativeBitmaps
#define TkpDefineNativeBitmaps \
	(tkIntPlatStubsPtr->tkpDefineNativeBitmaps) /* 6 */
#endif
#ifndef TkpGetMS
#define TkpGetMS \
	(tkIntPlatStubsPtr->tkpGetMS) /* 7 */
#endif
#ifndef TkpGetNativeAppBitmap
#define TkpGetNativeAppBitmap \
	(tkIntPlatStubsPtr->tkpGetNativeAppBitmap) /* 8 */
#endif
#ifndef TkPointerDeadWindow
#define TkPointerDeadWindow \
	(tkIntPlatStubsPtr->tkPointerDeadWindow) /* 9 */
#endif
#ifndef TkpSetCapture
#define TkpSetCapture \
	(tkIntPlatStubsPtr->tkpSetCapture) /* 10 */
#endif
#ifndef TkpSetCursor
#define TkpSetCursor \
	(tkIntPlatStubsPtr->tkpSetCursor) /* 11 */
#endif
#ifndef TkpWmSetState
#define TkpWmSetState \
	(tkIntPlatStubsPtr->tkpWmSetState) /* 12 */
#endif
#ifndef TkRectInRegion
#define TkRectInRegion \
	(tkIntPlatStubsPtr->tkRectInRegion) /* 13 */
#endif
#ifndef TkSetRegion
#define TkSetRegion \
	(tkIntPlatStubsPtr->tkSetRegion) /* 14 */
#endif
#ifndef TkUnionRectWithRegion
#define TkUnionRectWithRegion \
	(tkIntPlatStubsPtr->tkUnionRectWithRegion) /* 15 */
#endif
#ifndef HandleWMEvent
#define HandleWMEvent \
	(tkIntPlatStubsPtr->handleWMEvent) /* 16 */
#endif
#ifndef TkAboutDlg
#define TkAboutDlg \
	(tkIntPlatStubsPtr->tkAboutDlg) /* 17 */
#endif
#ifndef TkCreateMacEventSource
#define TkCreateMacEventSource \
	(tkIntPlatStubsPtr->tkCreateMacEventSource) /* 18 */
#endif
#ifndef TkFontList
#define TkFontList \
	(tkIntPlatStubsPtr->tkFontList) /* 19 */
#endif
#ifndef TkGetTransientMaster
#define TkGetTransientMaster \
	(tkIntPlatStubsPtr->tkGetTransientMaster) /* 20 */
#endif
#ifndef TkGenerateButtonEvent
#define TkGenerateButtonEvent \
	(tkIntPlatStubsPtr->tkGenerateButtonEvent) /* 21 */
#endif
#ifndef TkGetCharPositions
#define TkGetCharPositions \
	(tkIntPlatStubsPtr->tkGetCharPositions) /* 22 */
#endif
#ifndef TkGenWMDestroyEvent
#define TkGenWMDestroyEvent \
	(tkIntPlatStubsPtr->tkGenWMDestroyEvent) /* 23 */
#endif
#ifndef TkGenWMConfigureEvent
#define TkGenWMConfigureEvent \
	(tkIntPlatStubsPtr->tkGenWMConfigureEvent) /* 24 */
#endif
#ifndef TkMacButtonKeyState
#define TkMacButtonKeyState \
	(tkIntPlatStubsPtr->tkMacButtonKeyState) /* 25 */
#endif
#ifndef TkMacClearMenubarActive
#define TkMacClearMenubarActive \
	(tkIntPlatStubsPtr->tkMacClearMenubarActive) /* 26 */
#endif
#ifndef TkMacConvertEvent
#define TkMacConvertEvent \
	(tkIntPlatStubsPtr->tkMacConvertEvent) /* 27 */
#endif
#ifndef TkMacDispatchMenuEvent
#define TkMacDispatchMenuEvent \
	(tkIntPlatStubsPtr->tkMacDispatchMenuEvent) /* 28 */
#endif
#ifndef TkMacInstallCursor
#define TkMacInstallCursor \
	(tkIntPlatStubsPtr->tkMacInstallCursor) /* 29 */
#endif
#ifndef TkMacConvertTkEvent
#define TkMacConvertTkEvent \
	(tkIntPlatStubsPtr->tkMacConvertTkEvent) /* 30 */
#endif
#ifndef TkMacHandleTearoffMenu
#define TkMacHandleTearoffMenu \
	(tkIntPlatStubsPtr->tkMacHandleTearoffMenu) /* 31 */
#endif
#ifndef tkMacInstallMWConsole
#define tkMacInstallMWConsole \
	(tkIntPlatStubsPtr->tkMacInstallMWConsole) /* 32 */
#endif
#ifndef TkMacInvalClipRgns
#define TkMacInvalClipRgns \
	(tkIntPlatStubsPtr->tkMacInvalClipRgns) /* 33 */
#endif
#ifndef TkMacDoHLEvent
#define TkMacDoHLEvent \
	(tkIntPlatStubsPtr->tkMacDoHLEvent) /* 34 */
#endif
#ifndef TkMacFontInfo
#define TkMacFontInfo \
	(tkIntPlatStubsPtr->tkMacFontInfo) /* 35 */
#endif
#ifndef TkMacGenerateTime
#define TkMacGenerateTime \
	(tkIntPlatStubsPtr->tkMacGenerateTime) /* 36 */
#endif
#ifndef TkMacGetDrawablePort
#define TkMacGetDrawablePort \
	(tkIntPlatStubsPtr->tkMacGetDrawablePort) /* 37 */
#endif
#ifndef TkMacGetScrollbarGrowWindow
#define TkMacGetScrollbarGrowWindow \
	(tkIntPlatStubsPtr->tkMacGetScrollbarGrowWindow) /* 38 */
#endif
#ifndef TkMacGetXWindow
#define TkMacGetXWindow \
	(tkIntPlatStubsPtr->tkMacGetXWindow) /* 39 */
#endif
#ifndef TkMacGrowToplevel
#define TkMacGrowToplevel \
	(tkIntPlatStubsPtr->tkMacGrowToplevel) /* 40 */
#endif
#ifndef TkMacHandleMenuSelect
#define TkMacHandleMenuSelect \
	(tkIntPlatStubsPtr->tkMacHandleMenuSelect) /* 41 */
#endif
#ifndef TkMacHaveAppearance
#define TkMacHaveAppearance \
	(tkIntPlatStubsPtr->tkMacHaveAppearance) /* 42 */
#endif
#ifndef TkMacInitAppleEvents
#define TkMacInitAppleEvents \
	(tkIntPlatStubsPtr->tkMacInitAppleEvents) /* 43 */
#endif
#ifndef TkMacInitMenus
#define TkMacInitMenus \
	(tkIntPlatStubsPtr->tkMacInitMenus) /* 44 */
#endif
#ifndef TkMacInvalidateWindow
#define TkMacInvalidateWindow \
	(tkIntPlatStubsPtr->tkMacInvalidateWindow) /* 45 */
#endif
#ifndef TkMacIsCharacterMissing
#define TkMacIsCharacterMissing \
	(tkIntPlatStubsPtr->tkMacIsCharacterMissing) /* 46 */
#endif
#ifndef TkMacMakeRealWindowExist
#define TkMacMakeRealWindowExist \
	(tkIntPlatStubsPtr->tkMacMakeRealWindowExist) /* 47 */
#endif
#ifndef TkMacMakeStippleMap
#define TkMacMakeStippleMap \
	(tkIntPlatStubsPtr->tkMacMakeStippleMap) /* 48 */
#endif
#ifndef TkMacMenuClick
#define TkMacMenuClick \
	(tkIntPlatStubsPtr->tkMacMenuClick) /* 49 */
#endif
#ifndef TkMacRegisterOffScreenWindow
#define TkMacRegisterOffScreenWindow \
	(tkIntPlatStubsPtr->tkMacRegisterOffScreenWindow) /* 50 */
#endif
#ifndef TkMacResizable
#define TkMacResizable \
	(tkIntPlatStubsPtr->tkMacResizable) /* 51 */
#endif
#ifndef TkMacSetEmbedRgn
#define TkMacSetEmbedRgn \
	(tkIntPlatStubsPtr->tkMacSetEmbedRgn) /* 52 */
#endif
#ifndef TkMacSetHelpMenuItemCount
#define TkMacSetHelpMenuItemCount \
	(tkIntPlatStubsPtr->tkMacSetHelpMenuItemCount) /* 53 */
#endif
#ifndef TkMacSetScrollbarGrow
#define TkMacSetScrollbarGrow \
	(tkIntPlatStubsPtr->tkMacSetScrollbarGrow) /* 54 */
#endif
#ifndef TkMacSetUpClippingRgn
#define TkMacSetUpClippingRgn \
	(tkIntPlatStubsPtr->tkMacSetUpClippingRgn) /* 55 */
#endif
#ifndef TkMacSetUpGraphicsPort
#define TkMacSetUpGraphicsPort \
	(tkIntPlatStubsPtr->tkMacSetUpGraphicsPort) /* 56 */
#endif
#ifndef TkMacUpdateClipRgn
#define TkMacUpdateClipRgn \
	(tkIntPlatStubsPtr->tkMacUpdateClipRgn) /* 57 */
#endif
#ifndef TkMacUnregisterMacWindow
#define TkMacUnregisterMacWindow \
	(tkIntPlatStubsPtr->tkMacUnregisterMacWindow) /* 58 */
#endif
#ifndef TkMacUseMenuID
#define TkMacUseMenuID \
	(tkIntPlatStubsPtr->tkMacUseMenuID) /* 59 */
#endif
#ifndef TkMacVisableClipRgn
#define TkMacVisableClipRgn \
	(tkIntPlatStubsPtr->tkMacVisableClipRgn) /* 60 */
#endif
#ifndef TkMacWinBounds
#define TkMacWinBounds \
	(tkIntPlatStubsPtr->tkMacWinBounds) /* 61 */
#endif
#ifndef TkMacWindowOffset
#define TkMacWindowOffset \
	(tkIntPlatStubsPtr->tkMacWindowOffset) /* 62 */
#endif
#ifndef TkResumeClipboard
#define TkResumeClipboard \
	(tkIntPlatStubsPtr->tkResumeClipboard) /* 63 */
#endif
#ifndef TkSetMacColor
#define TkSetMacColor \
	(tkIntPlatStubsPtr->tkSetMacColor) /* 64 */
#endif
#ifndef TkSetWMName
#define TkSetWMName \
	(tkIntPlatStubsPtr->tkSetWMName) /* 65 */
#endif
#ifndef TkSuspendClipboard
#define TkSuspendClipboard \
	(tkIntPlatStubsPtr->tkSuspendClipboard) /* 66 */
#endif
#ifndef TkWMGrowToplevel
#define TkWMGrowToplevel \
	(tkIntPlatStubsPtr->tkWMGrowToplevel) /* 67 */
#endif
#ifndef TkMacZoomToplevel
#define TkMacZoomToplevel \
	(tkIntPlatStubsPtr->tkMacZoomToplevel) /* 68 */
#endif
#ifndef Tk_TopCoordsToWindow
#define Tk_TopCoordsToWindow \
	(tkIntPlatStubsPtr->tk_TopCoordsToWindow) /* 69 */
#endif
#ifndef TkMacContainerId
#define TkMacContainerId \
	(tkIntPlatStubsPtr->tkMacContainerId) /* 70 */
#endif
#ifndef TkMacGetHostToplevel
#define TkMacGetHostToplevel \
	(tkIntPlatStubsPtr->tkMacGetHostToplevel) /* 71 */
#endif
#endif /* MAC_TCL */

#endif /* defined(USE_TK_STUBS) && !defined(USE_TK_STUB_PROCS) */

/* !END!: Do not edit above this line. */

#undef TCL_STORAGE_CLASS
#define TCL_STORAGE_CLASS DLLIMPORT

#endif /* _TKINTPLATDECLS */







<
<
|
<
<
<
<
<
<
<
<
<


|
<
<
<
<



|



|



|



|



|



|



|
<
<
<
<



|
<
<
<
<
<
<
<
<



|



|



|



|



|



|



|



|



|



|



|



|



|



|



|



|



|



|



|



|



|



|



|



<
<
<
<
<
<
<
<
<
<
<
<


|
<
<
<
<



|



|



|



|



|



|



|



|
<
<
<
<
<
<
<
<
<
<
<
<



|



|



|



|



|



|



|



|



|



|



|



|



|



|



|



|



|



|



|



|



|



|



|



|



|



|



|



|



|



|



|



|



|



|



|



|



|



|



|



|



|



|



|



|



|



|



|



|



|



|



|



|



|



|



|



|











478
479
480
481
482
483
484


485









486
487
488




489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516




517
518
519
520








521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615












616
617
618




619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650












651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
#endif
#endif /* UNIX */
#ifdef __WIN32__
#ifndef TkAlignImageData
#define TkAlignImageData \
	(tkIntPlatStubsPtr->tkAlignImageData) /* 0 */
#endif


/* Slot 1 is reserved */









#ifndef TkGenerateActivateEvents
#define TkGenerateActivateEvents \
	(tkIntPlatStubsPtr->tkGenerateActivateEvents) /* 2 */




#endif
#ifndef TkpGetMS
#define TkpGetMS \
	(tkIntPlatStubsPtr->tkpGetMS) /* 3 */
#endif
#ifndef TkPointerDeadWindow
#define TkPointerDeadWindow \
	(tkIntPlatStubsPtr->tkPointerDeadWindow) /* 4 */
#endif
#ifndef TkpPrintWindowId
#define TkpPrintWindowId \
	(tkIntPlatStubsPtr->tkpPrintWindowId) /* 5 */
#endif
#ifndef TkpScanWindowId
#define TkpScanWindowId \
	(tkIntPlatStubsPtr->tkpScanWindowId) /* 6 */
#endif
#ifndef TkpSetCapture
#define TkpSetCapture \
	(tkIntPlatStubsPtr->tkpSetCapture) /* 7 */
#endif
#ifndef TkpSetCursor
#define TkpSetCursor \
	(tkIntPlatStubsPtr->tkpSetCursor) /* 8 */
#endif
#ifndef TkpWmSetState
#define TkpWmSetState \
	(tkIntPlatStubsPtr->tkpWmSetState) /* 9 */




#endif
#ifndef TkSetPixmapColormap
#define TkSetPixmapColormap \
	(tkIntPlatStubsPtr->tkSetPixmapColormap) /* 10 */








#endif
#ifndef TkWinCancelMouseTimer
#define TkWinCancelMouseTimer \
	(tkIntPlatStubsPtr->tkWinCancelMouseTimer) /* 11 */
#endif
#ifndef TkWinClipboardRender
#define TkWinClipboardRender \
	(tkIntPlatStubsPtr->tkWinClipboardRender) /* 12 */
#endif
#ifndef TkWinEmbeddedEventProc
#define TkWinEmbeddedEventProc \
	(tkIntPlatStubsPtr->tkWinEmbeddedEventProc) /* 13 */
#endif
#ifndef TkWinFillRect
#define TkWinFillRect \
	(tkIntPlatStubsPtr->tkWinFillRect) /* 14 */
#endif
#ifndef TkWinGetBorderPixels
#define TkWinGetBorderPixels \
	(tkIntPlatStubsPtr->tkWinGetBorderPixels) /* 15 */
#endif
#ifndef TkWinGetDrawableDC
#define TkWinGetDrawableDC \
	(tkIntPlatStubsPtr->tkWinGetDrawableDC) /* 16 */
#endif
#ifndef TkWinGetModifierState
#define TkWinGetModifierState \
	(tkIntPlatStubsPtr->tkWinGetModifierState) /* 17 */
#endif
#ifndef TkWinGetSystemPalette
#define TkWinGetSystemPalette \
	(tkIntPlatStubsPtr->tkWinGetSystemPalette) /* 18 */
#endif
#ifndef TkWinGetWrapperWindow
#define TkWinGetWrapperWindow \
	(tkIntPlatStubsPtr->tkWinGetWrapperWindow) /* 19 */
#endif
#ifndef TkWinHandleMenuEvent
#define TkWinHandleMenuEvent \
	(tkIntPlatStubsPtr->tkWinHandleMenuEvent) /* 20 */
#endif
#ifndef TkWinIndexOfColor
#define TkWinIndexOfColor \
	(tkIntPlatStubsPtr->tkWinIndexOfColor) /* 21 */
#endif
#ifndef TkWinReleaseDrawableDC
#define TkWinReleaseDrawableDC \
	(tkIntPlatStubsPtr->tkWinReleaseDrawableDC) /* 22 */
#endif
#ifndef TkWinResendEvent
#define TkWinResendEvent \
	(tkIntPlatStubsPtr->tkWinResendEvent) /* 23 */
#endif
#ifndef TkWinSelectPalette
#define TkWinSelectPalette \
	(tkIntPlatStubsPtr->tkWinSelectPalette) /* 24 */
#endif
#ifndef TkWinSetMenu
#define TkWinSetMenu \
	(tkIntPlatStubsPtr->tkWinSetMenu) /* 25 */
#endif
#ifndef TkWinSetWindowPos
#define TkWinSetWindowPos \
	(tkIntPlatStubsPtr->tkWinSetWindowPos) /* 26 */
#endif
#ifndef TkWinWmCleanup
#define TkWinWmCleanup \
	(tkIntPlatStubsPtr->tkWinWmCleanup) /* 27 */
#endif
#ifndef TkWinXCleanup
#define TkWinXCleanup \
	(tkIntPlatStubsPtr->tkWinXCleanup) /* 28 */
#endif
#ifndef TkWinXInit
#define TkWinXInit \
	(tkIntPlatStubsPtr->tkWinXInit) /* 29 */
#endif
#ifndef TkWinSetForegroundWindow
#define TkWinSetForegroundWindow \
	(tkIntPlatStubsPtr->tkWinSetForegroundWindow) /* 30 */
#endif
#ifndef TkWinDialogDebug
#define TkWinDialogDebug \
	(tkIntPlatStubsPtr->tkWinDialogDebug) /* 31 */
#endif
#ifndef TkWinGetMenuSystemDefault
#define TkWinGetMenuSystemDefault \
	(tkIntPlatStubsPtr->tkWinGetMenuSystemDefault) /* 32 */
#endif
#ifndef TkWinGetPlatformId
#define TkWinGetPlatformId \
	(tkIntPlatStubsPtr->tkWinGetPlatformId) /* 33 */
#endif
#endif /* __WIN32__ */
#ifdef MAC_TCL












#ifndef TkGenerateActivateEvents
#define TkGenerateActivateEvents \
	(tkIntPlatStubsPtr->tkGenerateActivateEvents) /* 0 */




#endif
#ifndef TkpCreateNativeBitmap
#define TkpCreateNativeBitmap \
	(tkIntPlatStubsPtr->tkpCreateNativeBitmap) /* 1 */
#endif
#ifndef TkpDefineNativeBitmaps
#define TkpDefineNativeBitmaps \
	(tkIntPlatStubsPtr->tkpDefineNativeBitmaps) /* 2 */
#endif
#ifndef TkpGetMS
#define TkpGetMS \
	(tkIntPlatStubsPtr->tkpGetMS) /* 3 */
#endif
#ifndef TkpGetNativeAppBitmap
#define TkpGetNativeAppBitmap \
	(tkIntPlatStubsPtr->tkpGetNativeAppBitmap) /* 4 */
#endif
#ifndef TkPointerDeadWindow
#define TkPointerDeadWindow \
	(tkIntPlatStubsPtr->tkPointerDeadWindow) /* 5 */
#endif
#ifndef TkpSetCapture
#define TkpSetCapture \
	(tkIntPlatStubsPtr->tkpSetCapture) /* 6 */
#endif
#ifndef TkpSetCursor
#define TkpSetCursor \
	(tkIntPlatStubsPtr->tkpSetCursor) /* 7 */
#endif
#ifndef TkpWmSetState
#define TkpWmSetState \
	(tkIntPlatStubsPtr->tkpWmSetState) /* 8 */












#endif
#ifndef HandleWMEvent
#define HandleWMEvent \
	(tkIntPlatStubsPtr->handleWMEvent) /* 9 */
#endif
#ifndef TkAboutDlg
#define TkAboutDlg \
	(tkIntPlatStubsPtr->tkAboutDlg) /* 10 */
#endif
#ifndef TkCreateMacEventSource
#define TkCreateMacEventSource \
	(tkIntPlatStubsPtr->tkCreateMacEventSource) /* 11 */
#endif
#ifndef TkFontList
#define TkFontList \
	(tkIntPlatStubsPtr->tkFontList) /* 12 */
#endif
#ifndef TkGetTransientMaster
#define TkGetTransientMaster \
	(tkIntPlatStubsPtr->tkGetTransientMaster) /* 13 */
#endif
#ifndef TkGenerateButtonEvent
#define TkGenerateButtonEvent \
	(tkIntPlatStubsPtr->tkGenerateButtonEvent) /* 14 */
#endif
#ifndef TkGetCharPositions
#define TkGetCharPositions \
	(tkIntPlatStubsPtr->tkGetCharPositions) /* 15 */
#endif
#ifndef TkGenWMDestroyEvent
#define TkGenWMDestroyEvent \
	(tkIntPlatStubsPtr->tkGenWMDestroyEvent) /* 16 */
#endif
#ifndef TkGenWMConfigureEvent
#define TkGenWMConfigureEvent \
	(tkIntPlatStubsPtr->tkGenWMConfigureEvent) /* 17 */
#endif
#ifndef TkMacButtonKeyState
#define TkMacButtonKeyState \
	(tkIntPlatStubsPtr->tkMacButtonKeyState) /* 18 */
#endif
#ifndef TkMacClearMenubarActive
#define TkMacClearMenubarActive \
	(tkIntPlatStubsPtr->tkMacClearMenubarActive) /* 19 */
#endif
#ifndef TkMacConvertEvent
#define TkMacConvertEvent \
	(tkIntPlatStubsPtr->tkMacConvertEvent) /* 20 */
#endif
#ifndef TkMacDispatchMenuEvent
#define TkMacDispatchMenuEvent \
	(tkIntPlatStubsPtr->tkMacDispatchMenuEvent) /* 21 */
#endif
#ifndef TkMacInstallCursor
#define TkMacInstallCursor \
	(tkIntPlatStubsPtr->tkMacInstallCursor) /* 22 */
#endif
#ifndef TkMacConvertTkEvent
#define TkMacConvertTkEvent \
	(tkIntPlatStubsPtr->tkMacConvertTkEvent) /* 23 */
#endif
#ifndef TkMacHandleTearoffMenu
#define TkMacHandleTearoffMenu \
	(tkIntPlatStubsPtr->tkMacHandleTearoffMenu) /* 24 */
#endif
#ifndef tkMacInstallMWConsole
#define tkMacInstallMWConsole \
	(tkIntPlatStubsPtr->tkMacInstallMWConsole) /* 25 */
#endif
#ifndef TkMacInvalClipRgns
#define TkMacInvalClipRgns \
	(tkIntPlatStubsPtr->tkMacInvalClipRgns) /* 26 */
#endif
#ifndef TkMacDoHLEvent
#define TkMacDoHLEvent \
	(tkIntPlatStubsPtr->tkMacDoHLEvent) /* 27 */
#endif
#ifndef TkMacFontInfo
#define TkMacFontInfo \
	(tkIntPlatStubsPtr->tkMacFontInfo) /* 28 */
#endif
#ifndef TkMacGenerateTime
#define TkMacGenerateTime \
	(tkIntPlatStubsPtr->tkMacGenerateTime) /* 29 */
#endif
#ifndef TkMacGetDrawablePort
#define TkMacGetDrawablePort \
	(tkIntPlatStubsPtr->tkMacGetDrawablePort) /* 30 */
#endif
#ifndef TkMacGetScrollbarGrowWindow
#define TkMacGetScrollbarGrowWindow \
	(tkIntPlatStubsPtr->tkMacGetScrollbarGrowWindow) /* 31 */
#endif
#ifndef TkMacGetXWindow
#define TkMacGetXWindow \
	(tkIntPlatStubsPtr->tkMacGetXWindow) /* 32 */
#endif
#ifndef TkMacGrowToplevel
#define TkMacGrowToplevel \
	(tkIntPlatStubsPtr->tkMacGrowToplevel) /* 33 */
#endif
#ifndef TkMacHandleMenuSelect
#define TkMacHandleMenuSelect \
	(tkIntPlatStubsPtr->tkMacHandleMenuSelect) /* 34 */
#endif
#ifndef TkMacHaveAppearance
#define TkMacHaveAppearance \
	(tkIntPlatStubsPtr->tkMacHaveAppearance) /* 35 */
#endif
#ifndef TkMacInitAppleEvents
#define TkMacInitAppleEvents \
	(tkIntPlatStubsPtr->tkMacInitAppleEvents) /* 36 */
#endif
#ifndef TkMacInitMenus
#define TkMacInitMenus \
	(tkIntPlatStubsPtr->tkMacInitMenus) /* 37 */
#endif
#ifndef TkMacInvalidateWindow
#define TkMacInvalidateWindow \
	(tkIntPlatStubsPtr->tkMacInvalidateWindow) /* 38 */
#endif
#ifndef TkMacIsCharacterMissing
#define TkMacIsCharacterMissing \
	(tkIntPlatStubsPtr->tkMacIsCharacterMissing) /* 39 */
#endif
#ifndef TkMacMakeRealWindowExist
#define TkMacMakeRealWindowExist \
	(tkIntPlatStubsPtr->tkMacMakeRealWindowExist) /* 40 */
#endif
#ifndef TkMacMakeStippleMap
#define TkMacMakeStippleMap \
	(tkIntPlatStubsPtr->tkMacMakeStippleMap) /* 41 */
#endif
#ifndef TkMacMenuClick
#define TkMacMenuClick \
	(tkIntPlatStubsPtr->tkMacMenuClick) /* 42 */
#endif
#ifndef TkMacRegisterOffScreenWindow
#define TkMacRegisterOffScreenWindow \
	(tkIntPlatStubsPtr->tkMacRegisterOffScreenWindow) /* 43 */
#endif
#ifndef TkMacResizable
#define TkMacResizable \
	(tkIntPlatStubsPtr->tkMacResizable) /* 44 */
#endif
#ifndef TkMacSetEmbedRgn
#define TkMacSetEmbedRgn \
	(tkIntPlatStubsPtr->tkMacSetEmbedRgn) /* 45 */
#endif
#ifndef TkMacSetHelpMenuItemCount
#define TkMacSetHelpMenuItemCount \
	(tkIntPlatStubsPtr->tkMacSetHelpMenuItemCount) /* 46 */
#endif
#ifndef TkMacSetScrollbarGrow
#define TkMacSetScrollbarGrow \
	(tkIntPlatStubsPtr->tkMacSetScrollbarGrow) /* 47 */
#endif
#ifndef TkMacSetUpClippingRgn
#define TkMacSetUpClippingRgn \
	(tkIntPlatStubsPtr->tkMacSetUpClippingRgn) /* 48 */
#endif
#ifndef TkMacSetUpGraphicsPort
#define TkMacSetUpGraphicsPort \
	(tkIntPlatStubsPtr->tkMacSetUpGraphicsPort) /* 49 */
#endif
#ifndef TkMacUpdateClipRgn
#define TkMacUpdateClipRgn \
	(tkIntPlatStubsPtr->tkMacUpdateClipRgn) /* 50 */
#endif
#ifndef TkMacUnregisterMacWindow
#define TkMacUnregisterMacWindow \
	(tkIntPlatStubsPtr->tkMacUnregisterMacWindow) /* 51 */
#endif
#ifndef TkMacUseMenuID
#define TkMacUseMenuID \
	(tkIntPlatStubsPtr->tkMacUseMenuID) /* 52 */
#endif
#ifndef TkMacVisableClipRgn
#define TkMacVisableClipRgn \
	(tkIntPlatStubsPtr->tkMacVisableClipRgn) /* 53 */
#endif
#ifndef TkMacWinBounds
#define TkMacWinBounds \
	(tkIntPlatStubsPtr->tkMacWinBounds) /* 54 */
#endif
#ifndef TkMacWindowOffset
#define TkMacWindowOffset \
	(tkIntPlatStubsPtr->tkMacWindowOffset) /* 55 */
#endif
#ifndef TkResumeClipboard
#define TkResumeClipboard \
	(tkIntPlatStubsPtr->tkResumeClipboard) /* 56 */
#endif
#ifndef TkSetMacColor
#define TkSetMacColor \
	(tkIntPlatStubsPtr->tkSetMacColor) /* 57 */
#endif
#ifndef TkSetWMName
#define TkSetWMName \
	(tkIntPlatStubsPtr->tkSetWMName) /* 58 */
#endif
#ifndef TkSuspendClipboard
#define TkSuspendClipboard \
	(tkIntPlatStubsPtr->tkSuspendClipboard) /* 59 */
#endif
#ifndef TkWMGrowToplevel
#define TkWMGrowToplevel \
	(tkIntPlatStubsPtr->tkWMGrowToplevel) /* 60 */
#endif
#ifndef TkMacZoomToplevel
#define TkMacZoomToplevel \
	(tkIntPlatStubsPtr->tkMacZoomToplevel) /* 61 */
#endif
#ifndef Tk_TopCoordsToWindow
#define Tk_TopCoordsToWindow \
	(tkIntPlatStubsPtr->tk_TopCoordsToWindow) /* 62 */
#endif
#ifndef TkMacContainerId
#define TkMacContainerId \
	(tkIntPlatStubsPtr->tkMacContainerId) /* 63 */
#endif
#ifndef TkMacGetHostToplevel
#define TkMacGetHostToplevel \
	(tkIntPlatStubsPtr->tkMacGetHostToplevel) /* 64 */
#endif
#endif /* MAC_TCL */

#endif /* defined(USE_TK_STUBS) && !defined(USE_TK_STUB_PROCS) */

/* !END!: Do not edit above this line. */

#undef TCL_STORAGE_CLASS
#define TCL_STORAGE_CLASS DLLIMPORT

#endif /* _TKINTPLATDECLS */

Changes to generic/tkIntXlibDecls.h.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/*
 * tkIntXlibDecls.h --
 *
 *	This file contains the declarations for all platform dependent
 *	unsupported functions that are exported by the Tk library.  These
 *	interfaces are not guaranteed to remain the same between
 *	versions.  Use at your own risk.
 *
 * Copyright (c) 1998-1999 by Scriptics Corporation.
 * All rights reserved.
 *
 * RCS: @(#) $Id: tkIntXlibDecls.h,v 1.5 1999/04/16 01:51:18 stanton Exp $
 */

#ifndef _TKINTXLIBDECLS
#define _TKINTXLIBDECLS

#include "X11/Xutil.h"












|







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/*
 * tkIntXlibDecls.h --
 *
 *	This file contains the declarations for all platform dependent
 *	unsupported functions that are exported by the Tk library.  These
 *	interfaces are not guaranteed to remain the same between
 *	versions.  Use at your own risk.
 *
 * Copyright (c) 1998-1999 by Scriptics Corporation.
 * All rights reserved.
 *
 * RCS: @(#) $Id: tkIntXlibDecls.h,v 1.5.4.2 1999/04/27 21:09:42 stanton Exp $
 */

#ifndef _TKINTXLIBDECLS
#define _TKINTXLIBDECLS

#include "X11/Xutil.h"

590
591
592
593
594
595
596







597
598
599
600
601
602
603
				int* nitems_return));
/* 78 */
EXTERN void		XSetWMClientMachine _ANSI_ARGS_((Display* display, 
				Window w, XTextProperty* text_prop));
/* 79 */
EXTERN Status		XStringListToTextProperty _ANSI_ARGS_((char** list, 
				int count, XTextProperty* text_prop_return));







#endif /* MAC_TCL */

typedef struct TkIntXlibStubs {
    int magic;
    struct TkIntXlibStubHooks *hooks;

#ifdef __WIN32__







>
>
>
>
>
>
>







590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
				int* nitems_return));
/* 78 */
EXTERN void		XSetWMClientMachine _ANSI_ARGS_((Display* display, 
				Window w, XTextProperty* text_prop));
/* 79 */
EXTERN Status		XStringListToTextProperty _ANSI_ARGS_((char** list, 
				int count, XTextProperty* text_prop_return));
/* 80 */
EXTERN void		XDrawSegments _ANSI_ARGS_((Display * display, 
				Drawable d, GC gc, XSegment * segments, 
				int nsegments));
/* 81 */
EXTERN void		XForceScreenSaver _ANSI_ARGS_((Display* display, 
				int mode));
#endif /* MAC_TCL */

typedef struct TkIntXlibStubs {
    int magic;
    struct TkIntXlibStubHooks *hooks;

#ifdef __WIN32__
783
784
785
786
787
788
789


790
791
792



793



794
795
796
797
798
799
800
    void (*xSetFunction) _ANSI_ARGS_((Display * display, GC gc, int function)); /* 73 */
    void (*xSetLineAttributes) _ANSI_ARGS_((Display * display, GC gc, unsigned int line_width, int line_style, int cap_style, int join_style)); /* 74 */
    int (*_XInitImageFuncPtrs) _ANSI_ARGS_((XImage * image)); /* 75 */
    XIC (*xCreateIC) _ANSI_ARGS_((void)); /* 76 */
    XVisualInfo * (*xGetVisualInfo) _ANSI_ARGS_((Display* display, long vinfo_mask, XVisualInfo* vinfo_template, int* nitems_return)); /* 77 */
    void (*xSetWMClientMachine) _ANSI_ARGS_((Display* display, Window w, XTextProperty* text_prop)); /* 78 */
    Status (*xStringListToTextProperty) _ANSI_ARGS_((char** list, int count, XTextProperty* text_prop_return)); /* 79 */


#endif /* MAC_TCL */
} TkIntXlibStubs;




extern TkIntXlibStubs *tkIntXlibStubsPtr;




#if defined(USE_TK_STUBS) && !defined(USE_TK_STUB_PROCS)

/*
 * Inline function declarations:
 */








>
>



>
>
>

>
>
>







790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
    void (*xSetFunction) _ANSI_ARGS_((Display * display, GC gc, int function)); /* 73 */
    void (*xSetLineAttributes) _ANSI_ARGS_((Display * display, GC gc, unsigned int line_width, int line_style, int cap_style, int join_style)); /* 74 */
    int (*_XInitImageFuncPtrs) _ANSI_ARGS_((XImage * image)); /* 75 */
    XIC (*xCreateIC) _ANSI_ARGS_((void)); /* 76 */
    XVisualInfo * (*xGetVisualInfo) _ANSI_ARGS_((Display* display, long vinfo_mask, XVisualInfo* vinfo_template, int* nitems_return)); /* 77 */
    void (*xSetWMClientMachine) _ANSI_ARGS_((Display* display, Window w, XTextProperty* text_prop)); /* 78 */
    Status (*xStringListToTextProperty) _ANSI_ARGS_((char** list, int count, XTextProperty* text_prop_return)); /* 79 */
    void (*xDrawSegments) _ANSI_ARGS_((Display * display, Drawable d, GC gc, XSegment * segments, int nsegments)); /* 80 */
    void (*xForceScreenSaver) _ANSI_ARGS_((Display* display, int mode)); /* 81 */
#endif /* MAC_TCL */
} TkIntXlibStubs;

#ifdef __cplusplus
extern "C" {
#endif
extern TkIntXlibStubs *tkIntXlibStubsPtr;
#ifdef __cplusplus
}
#endif

#if defined(USE_TK_STUBS) && !defined(USE_TK_STUB_PROCS)

/*
 * Inline function declarations:
 */

1524
1525
1526
1527
1528
1529
1530








1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
#define XSetWMClientMachine \
	(tkIntXlibStubsPtr->xSetWMClientMachine) /* 78 */
#endif
#ifndef XStringListToTextProperty
#define XStringListToTextProperty \
	(tkIntXlibStubsPtr->xStringListToTextProperty) /* 79 */
#endif








#endif /* MAC_TCL */

#endif /* defined(USE_TK_STUBS) && !defined(USE_TK_STUB_PROCS) */

/* !END!: Do not edit above this line. */

#undef TCL_STORAGE_CLASS
#define TCL_STORAGE_CLASS DLLIMPORT

#endif /* _TKINTXLIBDECLS */







>
>
>
>
>
>
>
>










1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
#define XSetWMClientMachine \
	(tkIntXlibStubsPtr->xSetWMClientMachine) /* 78 */
#endif
#ifndef XStringListToTextProperty
#define XStringListToTextProperty \
	(tkIntXlibStubsPtr->xStringListToTextProperty) /* 79 */
#endif
#ifndef XDrawSegments
#define XDrawSegments \
	(tkIntXlibStubsPtr->xDrawSegments) /* 80 */
#endif
#ifndef XForceScreenSaver
#define XForceScreenSaver \
	(tkIntXlibStubsPtr->xForceScreenSaver) /* 81 */
#endif
#endif /* MAC_TCL */

#endif /* defined(USE_TK_STUBS) && !defined(USE_TK_STUB_PROCS) */

/* !END!: Do not edit above this line. */

#undef TCL_STORAGE_CLASS
#define TCL_STORAGE_CLASS DLLIMPORT

#endif /* _TKINTXLIBDECLS */

Changes to generic/tkMenubutton.c.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/* 
 * tkMenubutton.c --
 *
 *	This module implements button-like widgets that are used
 *	to invoke pull-down menus.
 *
 * Copyright (c) 1990-1994 The Regents of the University of California.
 * Copyright (c) 1994-1997 Sun Microsystems, Inc.
 *
 * See the file "license.terms" for information on usage and redistribution
 * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
 *
 * RCS: @(#) $Id: tkMenubutton.c,v 1.3 1999/04/16 01:51:19 stanton Exp $
 */

#include "tkMenubutton.h"
#include "tkPort.h"
#include "default.h"

/*












|







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/* 
 * tkMenubutton.c --
 *
 *	This module implements button-like widgets that are used
 *	to invoke pull-down menus.
 *
 * Copyright (c) 1990-1994 The Regents of the University of California.
 * Copyright (c) 1994-1997 Sun Microsystems, Inc.
 *
 * See the file "license.terms" for information on usage and redistribution
 * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
 *
 * RCS: @(#) $Id: tkMenubutton.c,v 1.3.4.1 1999/04/24 00:10:55 stanton Exp $
 */

#include "tkMenubutton.h"
#include "tkPort.h"
#include "default.h"

/*
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
 */

static char *commandNames[] = {
    "cget", "configure", (char *) NULL
};

enum command {
    COMMAND_CGET, COMMAND_CONFIGURE, 
};

/*
 * Forward declarations for procedures defined later in this file:
 */

static void		MenuButtonCmdDeletedProc _ANSI_ARGS_((







|







144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
 */

static char *commandNames[] = {
    "cget", "configure", (char *) NULL
};

enum command {
    COMMAND_CGET, COMMAND_CONFIGURE
};

/*
 * Forward declarations for procedures defined later in this file:
 */

static void		MenuButtonCmdDeletedProc _ANSI_ARGS_((

Changes to generic/tkPlatDecls.h.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/*
 * tkPlatDecls.h --
 *
 *	Declarations of functions in the platform-specific public Tcl API.
 *
 * Copyright (c) 1998-1999 by Scriptics Corporation.
 *
 * See the file "license.terms" for information on usage and redistribution
 * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
 *
 * RCS: @(#) $Id: tkPlatDecls.h,v 1.3 1999/04/16 01:51:21 stanton Exp $
 */

#ifndef _TKPLATDECLS
#define _TKPLATDECLS

#ifdef BUILD_tk
#undef TCL_STORAGE_CLASS










|







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/*
 * tkPlatDecls.h --
 *
 *	Declarations of functions in the platform-specific public Tcl API.
 *
 * Copyright (c) 1998-1999 by Scriptics Corporation.
 *
 * See the file "license.terms" for information on usage and redistribution
 * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
 *
 * RCS: @(#) $Id: tkPlatDecls.h,v 1.3.4.1 1999/04/27 21:09:42 stanton Exp $
 */

#ifndef _TKPLATDECLS
#define _TKPLATDECLS

#ifdef BUILD_tk
#undef TCL_STORAGE_CLASS
107
108
109
110
111
112
113



114



115
116
117
118
119
120
121
    void (*tkGenWMConfigureEvent) _ANSI_ARGS_((Tk_Window tkwin, int x, int y, int width, int height, int flags)); /* 7 */
    void (*tkMacInvalClipRgns) _ANSI_ARGS_((TkWindow * winPtr)); /* 8 */
    int (*tkMacHaveAppearance) _ANSI_ARGS_((void)); /* 9 */
    GWorldPtr (*tkMacGetDrawablePort) _ANSI_ARGS_((Drawable drawable)); /* 10 */
#endif /* MAC_TCL */
} TkPlatStubs;




extern TkPlatStubs *tkPlatStubsPtr;




#if defined(USE_TK_STUBS) && !defined(USE_TK_STUB_PROCS)

/*
 * Inline function declarations:
 */








>
>
>

>
>
>







107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
    void (*tkGenWMConfigureEvent) _ANSI_ARGS_((Tk_Window tkwin, int x, int y, int width, int height, int flags)); /* 7 */
    void (*tkMacInvalClipRgns) _ANSI_ARGS_((TkWindow * winPtr)); /* 8 */
    int (*tkMacHaveAppearance) _ANSI_ARGS_((void)); /* 9 */
    GWorldPtr (*tkMacGetDrawablePort) _ANSI_ARGS_((Drawable drawable)); /* 10 */
#endif /* MAC_TCL */
} TkPlatStubs;

#ifdef __cplusplus
extern "C" {
#endif
extern TkPlatStubs *tkPlatStubsPtr;
#ifdef __cplusplus
}
#endif

#if defined(USE_TK_STUBS) && !defined(USE_TK_STUB_PROCS)

/*
 * Inline function declarations:
 */

Changes to generic/tkStubInit.c.

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
/* 
 * tkStubInit.c --
 *
 *	This file contains the initializers for the Tk stub vectors.
 *
 * Copyright (c) 1998-1999 by Scriptics Corporation.
 *
 * See the file "license.terms" for information on usage and redistribution
 * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
 *
 * RCS: @(#) $Id: tkStubInit.c,v 1.5 1999/04/16 01:51:22 stanton Exp $
 */

#include "tkInt.h"
#include "tkPort.h"

#ifdef __WIN32__
#include "tkWinInt.h"
#endif




#include "tkDecls.h"
#include "tkPlatDecls.h"
#include "tkIntDecls.h"
#include "tkIntPlatDecls.h"
#include "tkIntXlibDecls.h"

/*
 * Remove macros that will interfere with the definitions below.
 */

/*
 * WARNING: The contents of this file is automatically generated by the
 * tools/genStubs.tcl script. Any modifications to the function declarations
 * below should be made in the generic/tk.decls script.
 */

/* !BEGIN!: Do not edit below this line. */









































































































































































































































































































































































































































































































































static TkStubHooks tkStubHooks;






TkStubs tkStubs = {
    TCL_STUB_MAGIC,
    &tkStubHooks,
    Tk_MainLoop, /* 0 */
    Tk_3DBorderColor, /* 1 */
    Tk_3DBorderGC, /* 2 */










|








>
>
>



















>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
|
>
>
>
>
>







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
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
/* 
 * tkStubInit.c --
 *
 *	This file contains the initializers for the Tk stub vectors.
 *
 * Copyright (c) 1998-1999 by Scriptics Corporation.
 *
 * See the file "license.terms" for information on usage and redistribution
 * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
 *
 * RCS: @(#) $Id: tkStubInit.c,v 1.5.4.4 1999/04/27 21:09:43 stanton Exp $
 */

#include "tkInt.h"
#include "tkPort.h"

#ifdef __WIN32__
#include "tkWinInt.h"
#endif
#ifdef MAC_TCL
#include "tkMacInt.h"
#endif

#include "tkDecls.h"
#include "tkPlatDecls.h"
#include "tkIntDecls.h"
#include "tkIntPlatDecls.h"
#include "tkIntXlibDecls.h"

/*
 * Remove macros that will interfere with the definitions below.
 */

/*
 * WARNING: The contents of this file is automatically generated by the
 * tools/genStubs.tcl script. Any modifications to the function declarations
 * below should be made in the generic/tk.decls script.
 */

/* !BEGIN!: Do not edit below this line. */

TkIntStubs tkIntStubs = {
    TCL_STUB_MAGIC,
    NULL,
    TkAllocWindow, /* 0 */
    TkBezierPoints, /* 1 */
    TkBezierScreenPoints, /* 2 */
    TkBindDeadWindow, /* 3 */
    TkBindEventProc, /* 4 */
    TkBindFree, /* 5 */
    TkBindInit, /* 6 */
    TkChangeEventWindow, /* 7 */
    TkClipInit, /* 8 */
    TkComputeAnchor, /* 9 */
    TkCopyAndGlobalEval, /* 10 */
    TkCreateBindingProcedure, /* 11 */
    TkCreateCursorFromData, /* 12 */
    TkCreateFrame, /* 13 */
    TkCreateMainWindow, /* 14 */
    TkCurrentTime, /* 15 */
    TkDeleteAllImages, /* 16 */
    TkDoConfigureNotify, /* 17 */
    TkDrawInsetFocusHighlight, /* 18 */
    TkEventDeadWindow, /* 19 */
    TkFillPolygon, /* 20 */
    TkFindStateNum, /* 21 */
    TkFindStateString, /* 22 */
    TkFocusDeadWindow, /* 23 */
    TkFocusFilterEvent, /* 24 */
    TkFocusKeyEvent, /* 25 */
    TkFontPkgInit, /* 26 */
    TkFontPkgFree, /* 27 */
    TkFreeBindingTags, /* 28 */
    TkpFreeCursor, /* 29 */
    TkGetBitmapData, /* 30 */
    TkGetButtPoints, /* 31 */
    TkGetCursorByName, /* 32 */
    TkGetDefaultScreenName, /* 33 */
    TkGetDisplay, /* 34 */
    TkGetDisplayOf, /* 35 */
    TkGetFocusWin, /* 36 */
    TkGetInterpNames, /* 37 */
    TkGetMiterPoints, /* 38 */
    TkGetPointerCoords, /* 39 */
    TkGetServerInfo, /* 40 */
    TkGrabDeadWindow, /* 41 */
    TkGrabState, /* 42 */
    TkIncludePoint, /* 43 */
    TkInOutEvents, /* 44 */
    TkInstallFrameMenu, /* 45 */
    TkKeysymToString, /* 46 */
    TkLineToArea, /* 47 */
    TkLineToPoint, /* 48 */
    TkMakeBezierCurve, /* 49 */
    TkMakeBezierPostscript, /* 50 */
    TkOptionClassChanged, /* 51 */
    TkOptionDeadWindow, /* 52 */
    TkOvalToArea, /* 53 */
    TkOvalToPoint, /* 54 */
    TkpChangeFocus, /* 55 */
    TkpCloseDisplay, /* 56 */
    TkpClaimFocus, /* 57 */
    TkpDisplayWarning, /* 58 */
    TkpGetAppName, /* 59 */
    TkpGetOtherWindow, /* 60 */
    TkpGetWrapperWindow, /* 61 */
    TkpInit, /* 62 */
    TkpInitializeMenuBindings, /* 63 */
    TkpMakeContainer, /* 64 */
    TkpMakeMenuWindow, /* 65 */
    TkpMakeWindow, /* 66 */
    TkpMenuNotifyToplevelCreate, /* 67 */
    TkpOpenDisplay, /* 68 */
    TkPointerEvent, /* 69 */
    TkPolygonToArea, /* 70 */
    TkPolygonToPoint, /* 71 */
    TkPositionInTree, /* 72 */
    TkpRedirectKeyEvent, /* 73 */
    TkpSetMainMenubar, /* 74 */
    TkpUseWindow, /* 75 */
    TkpWindowWasRecentlyDeleted, /* 76 */
    TkQueueEventForAllChildren, /* 77 */
    TkReadBitmapFile, /* 78 */
    TkScrollWindow, /* 79 */
    TkSelDeadWindow, /* 80 */
    TkSelEventProc, /* 81 */
    TkSelInit, /* 82 */
    TkSelPropProc, /* 83 */
    TkSetClassProcs, /* 84 */
    TkSetWindowMenuBar, /* 85 */
    TkStringToKeysym, /* 86 */
    TkThickPolyLineToArea, /* 87 */
    TkWmAddToColormapWindows, /* 88 */
    TkWmDeadWindow, /* 89 */
    TkWmFocusToplevel, /* 90 */
    TkWmMapWindow, /* 91 */
    TkWmNewWindow, /* 92 */
    TkWmProtocolEventProc, /* 93 */
    TkWmRemoveFromColormapWindows, /* 94 */
    TkWmRestackToplevel, /* 95 */
    TkWmSetClass, /* 96 */
    TkWmUnmapWindow, /* 97 */
    TkDebugBitmap, /* 98 */
    TkDebugBorder, /* 99 */
    TkDebugCursor, /* 100 */
    TkDebugColor, /* 101 */
    TkDebugConfig, /* 102 */
    TkDebugFont, /* 103 */
    TkFindStateNumObj, /* 104 */
    TkGetBitmapPredefTable, /* 105 */
    TkGetDisplayList, /* 106 */
    TkGetMainInfoList, /* 107 */
    TkGetWindowFromObj, /* 108 */
    TkpGetString, /* 109 */
    TkpGetSubFonts, /* 110 */
    TkpGetSystemDefault, /* 111 */
    TkpMenuThreadInit, /* 112 */
#if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */
    NULL, /* 113 */
#endif /* UNIX */
#ifdef __WIN32__
    TkClipBox, /* 113 */
#endif /* __WIN32__ */
#ifdef MAC_TCL
    TkClipBox, /* 113 */
#endif /* MAC_TCL */
#if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */
    NULL, /* 114 */
#endif /* UNIX */
#ifdef __WIN32__
    TkCreateRegion, /* 114 */
#endif /* __WIN32__ */
#ifdef MAC_TCL
    TkCreateRegion, /* 114 */
#endif /* MAC_TCL */
#if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */
    NULL, /* 115 */
#endif /* UNIX */
#ifdef __WIN32__
    TkDestroyRegion, /* 115 */
#endif /* __WIN32__ */
#ifdef MAC_TCL
    TkDestroyRegion, /* 115 */
#endif /* MAC_TCL */
#if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */
    NULL, /* 116 */
#endif /* UNIX */
#ifdef __WIN32__
    TkIntersectRegion, /* 116 */
#endif /* __WIN32__ */
#ifdef MAC_TCL
    TkIntersectRegion, /* 116 */
#endif /* MAC_TCL */
#if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */
    NULL, /* 117 */
#endif /* UNIX */
#ifdef __WIN32__
    TkRectInRegion, /* 117 */
#endif /* __WIN32__ */
#ifdef MAC_TCL
    TkRectInRegion, /* 117 */
#endif /* MAC_TCL */
#if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */
    NULL, /* 118 */
#endif /* UNIX */
#ifdef __WIN32__
    TkSetRegion, /* 118 */
#endif /* __WIN32__ */
#ifdef MAC_TCL
    TkSetRegion, /* 118 */
#endif /* MAC_TCL */
#if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */
    NULL, /* 119 */
#endif /* UNIX */
#ifdef __WIN32__
    TkUnionRectWithRegion, /* 119 */
#endif /* __WIN32__ */
#ifdef MAC_TCL
    TkUnionRectWithRegion, /* 119 */
#endif /* MAC_TCL */
};

TkIntPlatStubs tkIntPlatStubs = {
    TCL_STUB_MAGIC,
    NULL,
#if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */
    TkCreateXEventSource, /* 0 */
    TkFreeWindowId, /* 1 */
    TkInitXId, /* 2 */
    TkpCmapStressed, /* 3 */
    TkpSync, /* 4 */
    TkUnixContainerId, /* 5 */
    TkUnixDoOneXEvent, /* 6 */
    TkUnixSetMenubar, /* 7 */
#endif /* UNIX */
#ifdef __WIN32__
    TkAlignImageData, /* 0 */
    NULL, /* 1 */
    TkGenerateActivateEvents, /* 2 */
    TkpGetMS, /* 3 */
    TkPointerDeadWindow, /* 4 */
    TkpPrintWindowId, /* 5 */
    TkpScanWindowId, /* 6 */
    TkpSetCapture, /* 7 */
    TkpSetCursor, /* 8 */
    TkpWmSetState, /* 9 */
    TkSetPixmapColormap, /* 10 */
    TkWinCancelMouseTimer, /* 11 */
    TkWinClipboardRender, /* 12 */
    TkWinEmbeddedEventProc, /* 13 */
    TkWinFillRect, /* 14 */
    TkWinGetBorderPixels, /* 15 */
    TkWinGetDrawableDC, /* 16 */
    TkWinGetModifierState, /* 17 */
    TkWinGetSystemPalette, /* 18 */
    TkWinGetWrapperWindow, /* 19 */
    TkWinHandleMenuEvent, /* 20 */
    TkWinIndexOfColor, /* 21 */
    TkWinReleaseDrawableDC, /* 22 */
    TkWinResendEvent, /* 23 */
    TkWinSelectPalette, /* 24 */
    TkWinSetMenu, /* 25 */
    TkWinSetWindowPos, /* 26 */
    TkWinWmCleanup, /* 27 */
    TkWinXCleanup, /* 28 */
    TkWinXInit, /* 29 */
    TkWinSetForegroundWindow, /* 30 */
    TkWinDialogDebug, /* 31 */
    TkWinGetMenuSystemDefault, /* 32 */
    TkWinGetPlatformId, /* 33 */
#endif /* __WIN32__ */
#ifdef MAC_TCL
    TkGenerateActivateEvents, /* 0 */
    TkpCreateNativeBitmap, /* 1 */
    TkpDefineNativeBitmaps, /* 2 */
    TkpGetMS, /* 3 */
    TkpGetNativeAppBitmap, /* 4 */
    TkPointerDeadWindow, /* 5 */
    TkpSetCapture, /* 6 */
    TkpSetCursor, /* 7 */
    TkpWmSetState, /* 8 */
    HandleWMEvent, /* 9 */
    TkAboutDlg, /* 10 */
    TkCreateMacEventSource, /* 11 */
    TkFontList, /* 12 */
    TkGetTransientMaster, /* 13 */
    TkGenerateButtonEvent, /* 14 */
    TkGetCharPositions, /* 15 */
    TkGenWMDestroyEvent, /* 16 */
    TkGenWMConfigureEvent, /* 17 */
    TkMacButtonKeyState, /* 18 */
    TkMacClearMenubarActive, /* 19 */
    TkMacConvertEvent, /* 20 */
    TkMacDispatchMenuEvent, /* 21 */
    TkMacInstallCursor, /* 22 */
    TkMacConvertTkEvent, /* 23 */
    TkMacHandleTearoffMenu, /* 24 */
    tkMacInstallMWConsole, /* 25 */
    TkMacInvalClipRgns, /* 26 */
    TkMacDoHLEvent, /* 27 */
    TkMacFontInfo, /* 28 */
    TkMacGenerateTime, /* 29 */
    TkMacGetDrawablePort, /* 30 */
    TkMacGetScrollbarGrowWindow, /* 31 */
    TkMacGetXWindow, /* 32 */
    TkMacGrowToplevel, /* 33 */
    TkMacHandleMenuSelect, /* 34 */
    TkMacHaveAppearance, /* 35 */
    TkMacInitAppleEvents, /* 36 */
    TkMacInitMenus, /* 37 */
    TkMacInvalidateWindow, /* 38 */
    TkMacIsCharacterMissing, /* 39 */
    TkMacMakeRealWindowExist, /* 40 */
    TkMacMakeStippleMap, /* 41 */
    TkMacMenuClick, /* 42 */
    TkMacRegisterOffScreenWindow, /* 43 */
    TkMacResizable, /* 44 */
    TkMacSetEmbedRgn, /* 45 */
    TkMacSetHelpMenuItemCount, /* 46 */
    TkMacSetScrollbarGrow, /* 47 */
    TkMacSetUpClippingRgn, /* 48 */
    TkMacSetUpGraphicsPort, /* 49 */
    TkMacUpdateClipRgn, /* 50 */
    TkMacUnregisterMacWindow, /* 51 */
    TkMacUseMenuID, /* 52 */
    TkMacVisableClipRgn, /* 53 */
    TkMacWinBounds, /* 54 */
    TkMacWindowOffset, /* 55 */
    TkResumeClipboard, /* 56 */
    TkSetMacColor, /* 57 */
    TkSetWMName, /* 58 */
    TkSuspendClipboard, /* 59 */
    TkWMGrowToplevel, /* 60 */
    TkMacZoomToplevel, /* 61 */
    Tk_TopCoordsToWindow, /* 62 */
    TkMacContainerId, /* 63 */
    TkMacGetHostToplevel, /* 64 */
#endif /* MAC_TCL */
};

TkIntXlibStubs tkIntXlibStubs = {
    TCL_STUB_MAGIC,
    NULL,
#ifdef __WIN32__
    NULL, /* 0 */
    XGetModifierMapping, /* 1 */
    XCreateImage, /* 2 */
    XGetImage, /* 3 */
    XGetAtomName, /* 4 */
    XKeysymToString, /* 5 */
    XCreateColormap, /* 6 */
    XCreatePixmapCursor, /* 7 */
    XCreateGlyphCursor, /* 8 */
    XGContextFromGC, /* 9 */
    XListHosts, /* 10 */
    XKeycodeToKeysym, /* 11 */
    XStringToKeysym, /* 12 */
    XRootWindow, /* 13 */
    XSetErrorHandler, /* 14 */
    XIconifyWindow, /* 15 */
    XWithdrawWindow, /* 16 */
    XGetWMColormapWindows, /* 17 */
    XAllocColor, /* 18 */
    XBell, /* 19 */
    XChangeProperty, /* 20 */
    XChangeWindowAttributes, /* 21 */
    XClearWindow, /* 22 */
    XConfigureWindow, /* 23 */
    XCopyArea, /* 24 */
    XCopyPlane, /* 25 */
    XCreateBitmapFromData, /* 26 */
    XDefineCursor, /* 27 */
    XDeleteProperty, /* 28 */
    XDestroyWindow, /* 29 */
    XDrawArc, /* 30 */
    XDrawLines, /* 31 */
    XDrawRectangle, /* 32 */
    XFillArc, /* 33 */
    XFillPolygon, /* 34 */
    XFillRectangles, /* 35 */
    XForceScreenSaver, /* 36 */
    XFreeColormap, /* 37 */
    XFreeColors, /* 38 */
    XFreeCursor, /* 39 */
    XFreeModifiermap, /* 40 */
    XGetGeometry, /* 41 */
    XGetInputFocus, /* 42 */
    XGetWindowProperty, /* 43 */
    XGetWindowAttributes, /* 44 */
    XGrabKeyboard, /* 45 */
    XGrabPointer, /* 46 */
    XKeysymToKeycode, /* 47 */
    XLookupColor, /* 48 */
    XMapWindow, /* 49 */
    XMoveResizeWindow, /* 50 */
    XMoveWindow, /* 51 */
    XNextEvent, /* 52 */
    XPutBackEvent, /* 53 */
    XQueryColors, /* 54 */
    XQueryPointer, /* 55 */
    XQueryTree, /* 56 */
    XRaiseWindow, /* 57 */
    XRefreshKeyboardMapping, /* 58 */
    XResizeWindow, /* 59 */
    XSelectInput, /* 60 */
    XSendEvent, /* 61 */
    XSetCommand, /* 62 */
    XSetIconName, /* 63 */
    XSetInputFocus, /* 64 */
    XSetSelectionOwner, /* 65 */
    XSetWindowBackground, /* 66 */
    XSetWindowBackgroundPixmap, /* 67 */
    XSetWindowBorder, /* 68 */
    XSetWindowBorderPixmap, /* 69 */
    XSetWindowBorderWidth, /* 70 */
    XSetWindowColormap, /* 71 */
    XTranslateCoordinates, /* 72 */
    XUngrabKeyboard, /* 73 */
    XUngrabPointer, /* 74 */
    XUnmapWindow, /* 75 */
    XWindowEvent, /* 76 */
    XDestroyIC, /* 77 */
    XFilterEvent, /* 78 */
    XmbLookupString, /* 79 */
    TkPutImage, /* 80 */
    NULL, /* 81 */
    XParseColor, /* 82 */
    XCreateGC, /* 83 */
    XFreeGC, /* 84 */
    XInternAtom, /* 85 */
    XSetBackground, /* 86 */
    XSetForeground, /* 87 */
    XSetClipMask, /* 88 */
    XSetClipOrigin, /* 89 */
    XSetTSOrigin, /* 90 */
    XChangeGC, /* 91 */
    XSetFont, /* 92 */
    XSetArcMode, /* 93 */
    XSetStipple, /* 94 */
    XSetFillRule, /* 95 */
    XSetFillStyle, /* 96 */
    XSetFunction, /* 97 */
    XSetLineAttributes, /* 98 */
    _XInitImageFuncPtrs, /* 99 */
    XCreateIC, /* 100 */
    XGetVisualInfo, /* 101 */
    XSetWMClientMachine, /* 102 */
    XStringListToTextProperty, /* 103 */
#endif /* __WIN32__ */
#ifdef MAC_TCL
    NULL, /* 0 */
    XGetModifierMapping, /* 1 */
    XCreateImage, /* 2 */
    XGetImage, /* 3 */
    XGetAtomName, /* 4 */
    XKeysymToString, /* 5 */
    XCreateColormap, /* 6 */
    XGContextFromGC, /* 7 */
    XKeycodeToKeysym, /* 8 */
    XStringToKeysym, /* 9 */
    XRootWindow, /* 10 */
    XSetErrorHandler, /* 11 */
    XAllocColor, /* 12 */
    XBell, /* 13 */
    XChangeProperty, /* 14 */
    XChangeWindowAttributes, /* 15 */
    XConfigureWindow, /* 16 */
    XCopyArea, /* 17 */
    XCopyPlane, /* 18 */
    XCreateBitmapFromData, /* 19 */
    XDefineCursor, /* 20 */
    XDestroyWindow, /* 21 */
    XDrawArc, /* 22 */
    XDrawLines, /* 23 */
    XDrawRectangle, /* 24 */
    XFillArc, /* 25 */
    XFillPolygon, /* 26 */
    XFillRectangles, /* 27 */
    XFreeColormap, /* 28 */
    XFreeColors, /* 29 */
    XFreeModifiermap, /* 30 */
    XGetGeometry, /* 31 */
    XGetWindowProperty, /* 32 */
    XGrabKeyboard, /* 33 */
    XGrabPointer, /* 34 */
    XKeysymToKeycode, /* 35 */
    XMapWindow, /* 36 */
    XMoveResizeWindow, /* 37 */
    XMoveWindow, /* 38 */
    XQueryPointer, /* 39 */
    XRaiseWindow, /* 40 */
    XRefreshKeyboardMapping, /* 41 */
    XResizeWindow, /* 42 */
    XSelectInput, /* 43 */
    XSendEvent, /* 44 */
    XSetIconName, /* 45 */
    XSetInputFocus, /* 46 */
    XSetSelectionOwner, /* 47 */
    XSetWindowBackground, /* 48 */
    XSetWindowBackgroundPixmap, /* 49 */
    XSetWindowBorder, /* 50 */
    XSetWindowBorderPixmap, /* 51 */
    XSetWindowBorderWidth, /* 52 */
    XSetWindowColormap, /* 53 */
    XUngrabKeyboard, /* 54 */
    XUngrabPointer, /* 55 */
    XUnmapWindow, /* 56 */
    TkPutImage, /* 57 */
    XParseColor, /* 58 */
    XCreateGC, /* 59 */
    XFreeGC, /* 60 */
    XInternAtom, /* 61 */
    XSetBackground, /* 62 */
    XSetForeground, /* 63 */
    XSetClipMask, /* 64 */
    XSetClipOrigin, /* 65 */
    XSetTSOrigin, /* 66 */
    XChangeGC, /* 67 */
    XSetFont, /* 68 */
    XSetArcMode, /* 69 */
    XSetStipple, /* 70 */
    XSetFillRule, /* 71 */
    XSetFillStyle, /* 72 */
    XSetFunction, /* 73 */
    XSetLineAttributes, /* 74 */
    _XInitImageFuncPtrs, /* 75 */
    XCreateIC, /* 76 */
    XGetVisualInfo, /* 77 */
    XSetWMClientMachine, /* 78 */
    XStringListToTextProperty, /* 79 */
    XDrawSegments, /* 80 */
    XForceScreenSaver, /* 81 */
#endif /* MAC_TCL */
};

TkPlatStubs tkPlatStubs = {
    TCL_STUB_MAGIC,
    NULL,
#ifdef __WIN32__
    Tk_AttachHWND, /* 0 */
    Tk_GetHINSTANCE, /* 1 */
    Tk_GetHWND, /* 2 */
    Tk_HWNDToWindow, /* 3 */
    Tk_PointerEvent, /* 4 */
    Tk_TranslateWinEvent, /* 5 */
#endif /* __WIN32__ */
#ifdef MAC_TCL
    Tk_MacSetEmbedHandler, /* 0 */
    Tk_MacTurnOffMenus, /* 1 */
    Tk_MacTkOwnsCursor, /* 2 */
    TkMacInitMenus, /* 3 */
    TkMacInitAppleEvents, /* 4 */
    TkMacConvertEvent, /* 5 */
    TkMacConvertTkEvent, /* 6 */
    TkGenWMConfigureEvent, /* 7 */
    TkMacInvalClipRgns, /* 8 */
    TkMacHaveAppearance, /* 9 */
    TkMacGetDrawablePort, /* 10 */
#endif /* MAC_TCL */
};

static TkStubHooks tkStubHooks = {
    &tkPlatStubs,
    &tkIntStubs,
    &tkIntPlatStubs,
    &tkIntXlibStubs
};

TkStubs tkStubs = {
    TCL_STUB_MAGIC,
    &tkStubHooks,
    Tk_MainLoop, /* 0 */
    Tk_3DBorderColor, /* 1 */
    Tk_3DBorderGC, /* 2 */
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
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
    Tk_GetReliefFromObj, /* 209 */
    Tk_GetScrollInfoObj, /* 210 */
    Tk_InitOptions, /* 211 */
    Tk_MainEx, /* 212 */
    Tk_RestoreSavedOptions, /* 213 */
    Tk_SetOptions, /* 214 */
};

TkIntStubs tkIntStubs = {
    TCL_STUB_MAGIC,
    NULL,
    TkAllocWindow, /* 0 */
    TkBezierPoints, /* 1 */
    TkBezierScreenPoints, /* 2 */
    TkBindDeadWindow, /* 3 */
    TkBindEventProc, /* 4 */
    TkBindFree, /* 5 */
    TkBindInit, /* 6 */
    TkChangeEventWindow, /* 7 */
    TkClipInit, /* 8 */
    TkComputeAnchor, /* 9 */
    TkCopyAndGlobalEval, /* 10 */
    TkCreateBindingProcedure, /* 11 */
    TkCreateCursorFromData, /* 12 */
    TkCreateFrame, /* 13 */
    TkCreateMainWindow, /* 14 */
    TkCurrentTime, /* 15 */
    TkDeleteAllImages, /* 16 */
    TkDoConfigureNotify, /* 17 */
    TkDrawInsetFocusHighlight, /* 18 */
    TkEventDeadWindow, /* 19 */
    TkFillPolygon, /* 20 */
    TkFindStateNum, /* 21 */
    TkFindStateString, /* 22 */
    TkFocusDeadWindow, /* 23 */
    TkFocusFilterEvent, /* 24 */
    TkFocusKeyEvent, /* 25 */
    TkFontPkgInit, /* 26 */
    TkFontPkgFree, /* 27 */
    TkFreeBindingTags, /* 28 */
    TkpFreeCursor, /* 29 */
    TkGetBitmapData, /* 30 */
    TkGetButtPoints, /* 31 */
    TkGetCursorByName, /* 32 */
    TkGetDefaultScreenName, /* 33 */
    TkGetDisplay, /* 34 */
    TkGetDisplayOf, /* 35 */
    TkGetFocusWin, /* 36 */
    TkGetInterpNames, /* 37 */
    TkGetMiterPoints, /* 38 */
    TkGetPointerCoords, /* 39 */
    TkGetServerInfo, /* 40 */
    TkGrabDeadWindow, /* 41 */
    TkGrabState, /* 42 */
    TkIncludePoint, /* 43 */
    TkInOutEvents, /* 44 */
    TkInstallFrameMenu, /* 45 */
    TkKeysymToString, /* 46 */
    TkLineToArea, /* 47 */
    TkLineToPoint, /* 48 */
    TkMakeBezierCurve, /* 49 */
    TkMakeBezierPostscript, /* 50 */
    TkOptionClassChanged, /* 51 */
    TkOptionDeadWindow, /* 52 */
    TkOvalToArea, /* 53 */
    TkOvalToPoint, /* 54 */
    TkpChangeFocus, /* 55 */
    TkpCloseDisplay, /* 56 */
    TkpClaimFocus, /* 57 */
    TkpDisplayWarning, /* 58 */
    TkpGetAppName, /* 59 */
    TkpGetOtherWindow, /* 60 */
    TkpGetWrapperWindow, /* 61 */
    TkpInit, /* 62 */
    TkpInitializeMenuBindings, /* 63 */
    TkpMakeContainer, /* 64 */
    TkpMakeMenuWindow, /* 65 */
    TkpMakeWindow, /* 66 */
    TkpMenuNotifyToplevelCreate, /* 67 */
    TkpOpenDisplay, /* 68 */
    TkPointerEvent, /* 69 */
    TkPolygonToArea, /* 70 */
    TkPolygonToPoint, /* 71 */
    TkPositionInTree, /* 72 */
    TkpRedirectKeyEvent, /* 73 */
    TkpSetMainMenubar, /* 74 */
    TkpUseWindow, /* 75 */
    TkpWindowWasRecentlyDeleted, /* 76 */
    TkQueueEventForAllChildren, /* 77 */
    TkReadBitmapFile, /* 78 */
    TkScrollWindow, /* 79 */
    TkSelDeadWindow, /* 80 */
    TkSelEventProc, /* 81 */
    TkSelInit, /* 82 */
    TkSelPropProc, /* 83 */
    TkSetClassProcs, /* 84 */
    TkSetWindowMenuBar, /* 85 */
    TkStringToKeysym, /* 86 */
    TkThickPolyLineToArea, /* 87 */
    TkWmAddToColormapWindows, /* 88 */
    TkWmDeadWindow, /* 89 */
    TkWmFocusToplevel, /* 90 */
    TkWmMapWindow, /* 91 */
    TkWmNewWindow, /* 92 */
    TkWmProtocolEventProc, /* 93 */
    TkWmRemoveFromColormapWindows, /* 94 */
    TkWmRestackToplevel, /* 95 */
    TkWmSetClass, /* 96 */
    TkWmUnmapWindow, /* 97 */
    TkDebugBitmap, /* 98 */
    TkDebugBorder, /* 99 */
    TkDebugCursor, /* 100 */
    TkDebugColor, /* 101 */
    TkDebugConfig, /* 102 */
    TkDebugFont, /* 103 */
    TkFindStateNumObj, /* 104 */
    TkGetBitmapPredefTable, /* 105 */
    TkGetDisplayList, /* 106 */
    TkGetMainInfoList, /* 107 */
    TkGetWindowFromObj, /* 108 */
    TkpGetString, /* 109 */
    TkpGetSubFonts, /* 110 */
    TkpGetSystemDefault, /* 111 */
    TkpMenuThreadInit, /* 112 */
};

TkIntPlatStubs tkIntPlatStubs = {
    TCL_STUB_MAGIC,
    NULL,
#if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */
    TkCreateXEventSource, /* 0 */
    TkFreeWindowId, /* 1 */
    TkInitXId, /* 2 */
    TkpCmapStressed, /* 3 */
    TkpSync, /* 4 */
    TkUnixContainerId, /* 5 */
    TkUnixDoOneXEvent, /* 6 */
    TkUnixSetMenubar, /* 7 */
#endif /* UNIX */
#ifdef __WIN32__
    TkAlignImageData, /* 0 */
    TkClipBox, /* 1 */
    TkCreateRegion, /* 2 */
    TkDestroyRegion, /* 3 */
    TkGenerateActivateEvents, /* 4 */
    TkIntersectRegion, /* 5 */
    TkpGetMS, /* 6 */
    TkPointerDeadWindow, /* 7 */
    TkpPrintWindowId, /* 8 */
    TkpScanWindowId, /* 9 */
    TkpSetCapture, /* 10 */
    TkpSetCursor, /* 11 */
    TkpWmSetState, /* 12 */
    TkRectInRegion, /* 13 */
    TkSetPixmapColormap, /* 14 */
    TkSetRegion, /* 15 */
    TkUnionRectWithRegion, /* 16 */
    TkWinCancelMouseTimer, /* 17 */
    TkWinClipboardRender, /* 18 */
    TkWinEmbeddedEventProc, /* 19 */
    TkWinFillRect, /* 20 */
    TkWinGetBorderPixels, /* 21 */
    TkWinGetDrawableDC, /* 22 */
    TkWinGetModifierState, /* 23 */
    TkWinGetSystemPalette, /* 24 */
    TkWinGetWrapperWindow, /* 25 */
    TkWinHandleMenuEvent, /* 26 */
    TkWinIndexOfColor, /* 27 */
    TkWinReleaseDrawableDC, /* 28 */
    TkWinResendEvent, /* 29 */
    TkWinSelectPalette, /* 30 */
    TkWinSetMenu, /* 31 */
    TkWinSetWindowPos, /* 32 */
    TkWinWmCleanup, /* 33 */
    TkWinXCleanup, /* 34 */
    TkWinXInit, /* 35 */
    TkWinSetForegroundWindow, /* 36 */
    TkWinDialogDebug, /* 37 */
    TkWinGetMenuSystemDefault, /* 38 */
    TkWinGetPlatformId, /* 39 */
#endif /* __WIN32__ */
#ifdef MAC_TCL
    TkClipBox, /* 0 */
    TkCreateRegion, /* 1 */
    TkDestroyRegion, /* 2 */
    TkGenerateActivateEvents, /* 3 */
    TkIntersectRegion, /* 4 */
    TkpCreateNativeBitmap, /* 5 */
    TkpDefineNativeBitmaps, /* 6 */
    TkpGetMS, /* 7 */
    TkpGetNativeAppBitmap, /* 8 */
    TkPointerDeadWindow, /* 9 */
    TkpSetCapture, /* 10 */
    TkpSetCursor, /* 11 */
    TkpWmSetState, /* 12 */
    TkRectInRegion, /* 13 */
    TkSetRegion, /* 14 */
    TkUnionRectWithRegion, /* 15 */
    HandleWMEvent, /* 16 */
    TkAboutDlg, /* 17 */
    TkCreateMacEventSource, /* 18 */
    TkFontList, /* 19 */
    TkGetTransientMaster, /* 20 */
    TkGenerateButtonEvent, /* 21 */
    TkGetCharPositions, /* 22 */
    TkGenWMDestroyEvent, /* 23 */
    TkGenWMConfigureEvent, /* 24 */
    TkMacButtonKeyState, /* 25 */
    TkMacClearMenubarActive, /* 26 */
    TkMacConvertEvent, /* 27 */
    TkMacDispatchMenuEvent, /* 28 */
    TkMacInstallCursor, /* 29 */
    TkMacConvertTkEvent, /* 30 */
    TkMacHandleTearoffMenu, /* 31 */
    tkMacInstallMWConsole, /* 32 */
    TkMacInvalClipRgns, /* 33 */
    TkMacDoHLEvent, /* 34 */
    TkMacFontInfo, /* 35 */
    TkMacGenerateTime, /* 36 */
    TkMacGetDrawablePort, /* 37 */
    TkMacGetScrollbarGrowWindow, /* 38 */
    TkMacGetXWindow, /* 39 */
    TkMacGrowToplevel, /* 40 */
    TkMacHandleMenuSelect, /* 41 */
    TkMacHaveAppearance, /* 42 */
    TkMacInitAppleEvents, /* 43 */
    TkMacInitMenus, /* 44 */
    TkMacInvalidateWindow, /* 45 */
    TkMacIsCharacterMissing, /* 46 */
    TkMacMakeRealWindowExist, /* 47 */
    TkMacMakeStippleMap, /* 48 */
    TkMacMenuClick, /* 49 */
    TkMacRegisterOffScreenWindow, /* 50 */
    TkMacResizable, /* 51 */
    TkMacSetEmbedRgn, /* 52 */
    TkMacSetHelpMenuItemCount, /* 53 */
    TkMacSetScrollbarGrow, /* 54 */
    TkMacSetUpClippingRgn, /* 55 */
    TkMacSetUpGraphicsPort, /* 56 */
    TkMacUpdateClipRgn, /* 57 */
    TkMacUnregisterMacWindow, /* 58 */
    TkMacUseMenuID, /* 59 */
    TkMacVisableClipRgn, /* 60 */
    TkMacWinBounds, /* 61 */
    TkMacWindowOffset, /* 62 */
    TkResumeClipboard, /* 63 */
    TkSetMacColor, /* 64 */
    TkSetWMName, /* 65 */
    TkSuspendClipboard, /* 66 */
    TkWMGrowToplevel, /* 67 */
    TkMacZoomToplevel, /* 68 */
    Tk_TopCoordsToWindow, /* 69 */
    TkMacContainerId, /* 70 */
    TkMacGetHostToplevel, /* 71 */
#endif /* MAC_TCL */
};

TkIntXlibStubs tkIntXlibStubs = {
    TCL_STUB_MAGIC,
    NULL,
#ifdef __WIN32__
    NULL, /* 0 */
    XGetModifierMapping, /* 1 */
    XCreateImage, /* 2 */
    XGetImage, /* 3 */
    XGetAtomName, /* 4 */
    XKeysymToString, /* 5 */
    XCreateColormap, /* 6 */
    XCreatePixmapCursor, /* 7 */
    XCreateGlyphCursor, /* 8 */
    XGContextFromGC, /* 9 */
    XListHosts, /* 10 */
    XKeycodeToKeysym, /* 11 */
    XStringToKeysym, /* 12 */
    XRootWindow, /* 13 */
    XSetErrorHandler, /* 14 */
    XIconifyWindow, /* 15 */
    XWithdrawWindow, /* 16 */
    XGetWMColormapWindows, /* 17 */
    XAllocColor, /* 18 */
    XBell, /* 19 */
    XChangeProperty, /* 20 */
    XChangeWindowAttributes, /* 21 */
    XClearWindow, /* 22 */
    XConfigureWindow, /* 23 */
    XCopyArea, /* 24 */
    XCopyPlane, /* 25 */
    XCreateBitmapFromData, /* 26 */
    XDefineCursor, /* 27 */
    XDeleteProperty, /* 28 */
    XDestroyWindow, /* 29 */
    XDrawArc, /* 30 */
    XDrawLines, /* 31 */
    XDrawRectangle, /* 32 */
    XFillArc, /* 33 */
    XFillPolygon, /* 34 */
    XFillRectangles, /* 35 */
    XForceScreenSaver, /* 36 */
    XFreeColormap, /* 37 */
    XFreeColors, /* 38 */
    XFreeCursor, /* 39 */
    XFreeModifiermap, /* 40 */
    XGetGeometry, /* 41 */
    XGetInputFocus, /* 42 */
    XGetWindowProperty, /* 43 */
    XGetWindowAttributes, /* 44 */
    XGrabKeyboard, /* 45 */
    XGrabPointer, /* 46 */
    XKeysymToKeycode, /* 47 */
    XLookupColor, /* 48 */
    XMapWindow, /* 49 */
    XMoveResizeWindow, /* 50 */
    XMoveWindow, /* 51 */
    XNextEvent, /* 52 */
    XPutBackEvent, /* 53 */
    XQueryColors, /* 54 */
    XQueryPointer, /* 55 */
    XQueryTree, /* 56 */
    XRaiseWindow, /* 57 */
    XRefreshKeyboardMapping, /* 58 */
    XResizeWindow, /* 59 */
    XSelectInput, /* 60 */
    XSendEvent, /* 61 */
    XSetCommand, /* 62 */
    XSetIconName, /* 63 */
    XSetInputFocus, /* 64 */
    XSetSelectionOwner, /* 65 */
    XSetWindowBackground, /* 66 */
    XSetWindowBackgroundPixmap, /* 67 */
    XSetWindowBorder, /* 68 */
    XSetWindowBorderPixmap, /* 69 */
    XSetWindowBorderWidth, /* 70 */
    XSetWindowColormap, /* 71 */
    XTranslateCoordinates, /* 72 */
    XUngrabKeyboard, /* 73 */
    XUngrabPointer, /* 74 */
    XUnmapWindow, /* 75 */
    XWindowEvent, /* 76 */
    XDestroyIC, /* 77 */
    XFilterEvent, /* 78 */
    XmbLookupString, /* 79 */
    TkPutImage, /* 80 */
    NULL, /* 81 */
    XParseColor, /* 82 */
    XCreateGC, /* 83 */
    XFreeGC, /* 84 */
    XInternAtom, /* 85 */
    XSetBackground, /* 86 */
    XSetForeground, /* 87 */
    XSetClipMask, /* 88 */
    XSetClipOrigin, /* 89 */
    XSetTSOrigin, /* 90 */
    XChangeGC, /* 91 */
    XSetFont, /* 92 */
    XSetArcMode, /* 93 */
    XSetStipple, /* 94 */
    XSetFillRule, /* 95 */
    XSetFillStyle, /* 96 */
    XSetFunction, /* 97 */
    XSetLineAttributes, /* 98 */
    _XInitImageFuncPtrs, /* 99 */
    XCreateIC, /* 100 */
    XGetVisualInfo, /* 101 */
    XSetWMClientMachine, /* 102 */
    XStringListToTextProperty, /* 103 */
#endif /* __WIN32__ */
#ifdef MAC_TCL
    NULL, /* 0 */
    XGetModifierMapping, /* 1 */
    XCreateImage, /* 2 */
    XGetImage, /* 3 */
    XGetAtomName, /* 4 */
    XKeysymToString, /* 5 */
    XCreateColormap, /* 6 */
    XGContextFromGC, /* 7 */
    XKeycodeToKeysym, /* 8 */
    XStringToKeysym, /* 9 */
    XRootWindow, /* 10 */
    XSetErrorHandler, /* 11 */
    XAllocColor, /* 12 */
    XBell, /* 13 */
    XChangeProperty, /* 14 */
    XChangeWindowAttributes, /* 15 */
    XConfigureWindow, /* 16 */
    XCopyArea, /* 17 */
    XCopyPlane, /* 18 */
    XCreateBitmapFromData, /* 19 */
    XDefineCursor, /* 20 */
    XDestroyWindow, /* 21 */
    XDrawArc, /* 22 */
    XDrawLines, /* 23 */
    XDrawRectangle, /* 24 */
    XFillArc, /* 25 */
    XFillPolygon, /* 26 */
    XFillRectangles, /* 27 */
    XFreeColormap, /* 28 */
    XFreeColors, /* 29 */
    XFreeModifiermap, /* 30 */
    XGetGeometry, /* 31 */
    XGetWindowProperty, /* 32 */
    XGrabKeyboard, /* 33 */
    XGrabPointer, /* 34 */
    XKeysymToKeycode, /* 35 */
    XMapWindow, /* 36 */
    XMoveResizeWindow, /* 37 */
    XMoveWindow, /* 38 */
    XQueryPointer, /* 39 */
    XRaiseWindow, /* 40 */
    XRefreshKeyboardMapping, /* 41 */
    XResizeWindow, /* 42 */
    XSelectInput, /* 43 */
    XSendEvent, /* 44 */
    XSetIconName, /* 45 */
    XSetInputFocus, /* 46 */
    XSetSelectionOwner, /* 47 */
    XSetWindowBackground, /* 48 */
    XSetWindowBackgroundPixmap, /* 49 */
    XSetWindowBorder, /* 50 */
    XSetWindowBorderPixmap, /* 51 */
    XSetWindowBorderWidth, /* 52 */
    XSetWindowColormap, /* 53 */
    XUngrabKeyboard, /* 54 */
    XUngrabPointer, /* 55 */
    XUnmapWindow, /* 56 */
    TkPutImage, /* 57 */
    XParseColor, /* 58 */
    XCreateGC, /* 59 */
    XFreeGC, /* 60 */
    XInternAtom, /* 61 */
    XSetBackground, /* 62 */
    XSetForeground, /* 63 */
    XSetClipMask, /* 64 */
    XSetClipOrigin, /* 65 */
    XSetTSOrigin, /* 66 */
    XChangeGC, /* 67 */
    XSetFont, /* 68 */
    XSetArcMode, /* 69 */
    XSetStipple, /* 70 */
    XSetFillRule, /* 71 */
    XSetFillStyle, /* 72 */
    XSetFunction, /* 73 */
    XSetLineAttributes, /* 74 */
    _XInitImageFuncPtrs, /* 75 */
    XCreateIC, /* 76 */
    XGetVisualInfo, /* 77 */
    XSetWMClientMachine, /* 78 */
    XStringListToTextProperty, /* 79 */
#endif /* MAC_TCL */
};

TkPlatStubs tkPlatStubs = {
    TCL_STUB_MAGIC,
    NULL,
#ifdef __WIN32__
    Tk_AttachHWND, /* 0 */
    Tk_GetHINSTANCE, /* 1 */
    Tk_GetHWND, /* 2 */
    Tk_HWNDToWindow, /* 3 */
    Tk_PointerEvent, /* 4 */
    Tk_TranslateWinEvent, /* 5 */
#endif /* __WIN32__ */
#ifdef MAC_TCL
    Tk_MacSetEmbedHandler, /* 0 */
    Tk_MacTurnOffMenus, /* 1 */
    Tk_MacTkOwnsCursor, /* 2 */
    TkMacInitMenus, /* 3 */
    TkMacInitAppleEvents, /* 4 */
    TkMacConvertEvent, /* 5 */
    TkMacConvertTkEvent, /* 6 */
    TkGenWMConfigureEvent, /* 7 */
    TkMacInvalClipRgns, /* 8 */
    TkMacHaveAppearance, /* 9 */
    TkMacGetDrawablePort, /* 10 */
#endif /* MAC_TCL */
};

static TkStubHooks tkStubHooks = {
    &tkPlatStubs,
    &tkIntStubs,
    &tkIntPlatStubs,
    &tkIntXlibStubs
};


/* !END!: Do not edit above this line. */








<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<

781
782
783
784
785
786
787
788




























































































































































































































































































































































































































































































789
    Tk_GetReliefFromObj, /* 209 */
    Tk_GetScrollInfoObj, /* 210 */
    Tk_InitOptions, /* 211 */
    Tk_MainEx, /* 212 */
    Tk_RestoreSavedOptions, /* 213 */
    Tk_SetOptions, /* 214 */
};





























































































































































































































































































































































































































































































/* !END!: Do not edit above this line. */

Changes to generic/tkStubLib.c.

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
/* 
 * tkStubLib.c --
 *
 *	Stub object that will be statically linked into extensions that wish
 *	to access Tk.
 *
 * Copyright (c) 1998 Paul Duffin.
 * Copyright (c) 1998-1999 by Scriptics Corporation.
 *
 * See the file "license.terms" for information on usage and redistribution
 * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
 *
 * RCS: @(#) $Id: tkStubLib.c,v 1.3 1999/04/16 01:51:22 stanton Exp $
 */

/*
 * We need to ensure that we use the stub macros so that this file contains
 * no references to any of the stub functions.  This will make it possible
 * to build an extension that references Tk_InitStubs but doesn't end up
 * including the rest of the stub functions.
 */


#ifndef USE_TCL_STUBS
#define USE_TCL_STUBS
#endif
#undef USE_TCL_STUB_PROCS

#ifndef USE_TK_STUBS
#define USE_TK_STUBS
#endif
#undef USE_TK_STUB_PROCS

#include "tkInt.h"
#include "tkPort.h"

#ifdef __WIN32__
#include "tkWinInt.h"
#endif




#include "tkDecls.h"
#include "tkIntDecls.h"
#include "tkPlatDecls.h"
#include "tkIntPlatDecls.h"
#include "tkIntXlibDecls.h"













|




















|
|




>
>
>







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
/* 
 * tkStubLib.c --
 *
 *	Stub object that will be statically linked into extensions that wish
 *	to access Tk.
 *
 * Copyright (c) 1998 Paul Duffin.
 * Copyright (c) 1998-1999 by Scriptics Corporation.
 *
 * See the file "license.terms" for information on usage and redistribution
 * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
 *
 * RCS: @(#) $Id: tkStubLib.c,v 1.3.4.1 1999/04/24 00:11:36 stanton Exp $
 */

/*
 * We need to ensure that we use the stub macros so that this file contains
 * no references to any of the stub functions.  This will make it possible
 * to build an extension that references Tk_InitStubs but doesn't end up
 * including the rest of the stub functions.
 */


#ifndef USE_TCL_STUBS
#define USE_TCL_STUBS
#endif
#undef USE_TCL_STUB_PROCS

#ifndef USE_TK_STUBS
#define USE_TK_STUBS
#endif
#undef USE_TK_STUB_PROCS

#include "tkPort.h"
#include "tkInt.h"

#ifdef __WIN32__
#include "tkWinInt.h"
#endif
#ifdef MAC_TCL
#include "tkMacInt.h"
#endif

#include "tkDecls.h"
#include "tkIntDecls.h"
#include "tkPlatDecls.h"
#include "tkIntPlatDecls.h"
#include "tkIntXlibDecls.h"

Changes to library/images/pwrdLogo100.gif.

cannot compute difference between binary files

Changes to library/images/pwrdLogo150.gif.

cannot compute difference between binary files

Changes to library/images/pwrdLogo175.gif.

cannot compute difference between binary files

Changes to library/images/pwrdLogo200.gif.

cannot compute difference between binary files

Changes to library/images/pwrdLogo75.gif.

cannot compute difference between binary files

Changes to mac/README.

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
Tk 8.1 for Macintosh

by Ray Johnson
Scriptics Corporation
[email protected]
with major help from
Jim Ingham
Cygnus Solutions
[email protected]

RCS: @(#) $Id: README,v 1.8 1999/04/16 01:51:29 stanton Exp $

1. Introduction
---------------

This is the README file for the Macintosh version of the Tk
extension for the Tcl scripting language.  The file consists of
information specific to the Macintosh version of Tcl and Tk.  For more
general information please read the README file in the main Tk
directory.

2. What's new?
-------------

All the widgets will now display internationalized text!

The widget configuration package has been changed to support the new object
model introduced with the 8.0 compiler.  For now the old configuration
package is retained, and in fact, only the menu and button widgets use
the new package.

3. Mac specific features
------------------------

There are several features or enhancements in Tk that are unique to 
the Macintosh version of Tk.  Here is a list of those features and
pointers to where you can find more information about the feature.

* The menu command has special rules for accessing the Macintosh
  Apple and Help menus.  See the menu.m man page for details.

* If you have the special Tcl function "tkAboutDialog" defined, it
  will be called instead of displaying the default About Box in the
  console or other parts of the Wish application.  See below for
  details.

* In addition to the standard X cursors, the Mac version of Tk will
  let you use any Mac cursor that is named and installed in your
  application.  See the GetCursor.3 man page for details.

* The wish application has a couple of hooks to know about the exit,
  "open document" and "Do Script"  Mac High Level events.  
  See below for details.

* The command unsupported1 will allow you to set the style of new
  toplevel windows on the Macintosh.  It is not really supported.
  See below for details.

* In addition to the standard built-in bitmaps that Tk supports, the
  Mac version of Tk allows you to use several Mac specific icons.  See
  the GetBitmap.3 man page for a complete list.

* The send command works among interpreters in the same application.  We hope to
  have the complete implementation available in Tk 8.1.

* The -use and -container options almost work. The focus bugs that
  were in Tk8.0 final have been fixed.  But there are still some
  known bugs that cause some major problems.  Be careful, if you
  decide to use these features.  (See bugs.doc for details.)

4. The Distribution
-------------------

Macintosh Tk is distributed in three different forms.  This 
should make it easier to only download what you need.  The 
packages are as follows:










|










<
<
<
<
<
<
<
<
<
<




|
<
|
<
<
|
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<







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
Tk 8.1 for Macintosh

by Ray Johnson
Scriptics Corporation
[email protected]
with major help from
Jim Ingham
Cygnus Solutions
[email protected]

RCS: @(#) $Id: README,v 1.8.4.1 1999/04/22 23:05:59 welch Exp $

1. Introduction
---------------

This is the README file for the Macintosh version of the Tk
extension for the Tcl scripting language.  The file consists of
information specific to the Macintosh version of Tcl and Tk.  For more
general information please read the README file in the main Tk
directory.











3. Mac specific features
------------------------

There are several features or enhancements in Tk that are unique to 
the Macintosh version of Tk.  The list of these features is

maintained at


	http://www.scriptics.com/mac/features.html





























4. The Distribution
-------------------

Macintosh Tk is distributed in three different forms.  This 
should make it easier to only download what you need.  The 
packages are as follows:
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
mactk-source-8.1.sea.hqx

    This release contains the complete source to Tk for the Macintosh
    In addition, Metrowerks CodeWarrior libraries and project files
    are included.  However, you must already have the More Files
    package to compile this code.

5. Documentation
----------------

There are now many books available for Tcl.  These two provide a good
introduction to the language.  It is a good way to get started
if you haven't used the language before:

    Title:			Tcl and the Tk Toolkit
    Author:			John K. Ousterhout
    Publisher:			Addison-Wesley
    ISBN:			0-201-63337-X

    Title:			Practical Programming in Tcl and Tk
    Author:			Brent Welch
    Publisher:			Prentice Hall
    ISBN:			0-13-182007-9

More books are listed at
    http://www.scriptics.com/resource/doc/books/

The "doc" subdirectory contains reference in documentation
in the "man" format found on most UNIX machines.  Unfortunately,
there is not a suitable way to view these pages on the Macintosh.  
A version suitable for viewing on the Macintosh has yet to be
developed.  We are working are having better documentation for
the Macintosh platform in the future.  However, if you have WWW 
access you may access the Man pages at the following URL:

	http://www.scriptics.com/man/tcl8.1/contents.html

Other documentation and sample Tcl scripts can be found at
the Tcl ftp site: 

	ftp://ftp.neosoft.com/tcl/

The internet news group comp.lang.tcl is also a valuable
source of information about Tcl.  A mailing list is also
available (see below).

6. Compiling Tk
---------------

In order to compile Macintosh Tk you must have the 
following items:

	CodeWarrior Pro 3 or higher
	Mac Tcl 8.1 (source)







<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
|







51
52
53
54
55
56
57







































58
59
60
61
62
63
64
65
mactk-source-8.1.sea.hqx

    This release contains the complete source to Tk for the Macintosh
    In addition, Metrowerks CodeWarrior libraries and project files
    are included.  However, you must already have the More Files
    package to compile this code.








































5. Compiling Tk
---------------

In order to compile Macintosh Tk you must have the 
following items:

	CodeWarrior Pro 3 or higher
	Mac Tcl 8.1 (source)
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
  to the menu system, though you have to have Appearance 1.0.1 or later
  installed for this to work.
  
* If you get the Unix tar file, it will untar into a directory tcl8.0.4.  However,
  the Macintosh project files expect the folder to be called tcl8.0.  You will need
  to rename the folder to tcl8.0, or change all the paths in the project files.


7. About Dialog
---------------

The prefered method for replacing the about dialog is to replace the
main menubar of the application, using the -menu option for the "."
window.  Then add a cascade called .mainMenu.apple to your mainMenu,
and you can put an about item in here WITH YOUR OWN LABEL!

8. Apple Events
---------------

Tcl/Tk currently doesn't have much in the way of support for Mac
Apple Events.  There is no way to send an apple event (although you
could write an extension to do this) and no general purpose way to
recieve apple events.  However, there are a couple of hooks for
dealing with some of the standard apple events.

    exit - Generally, Tcl cleans up after it self when you exit.
	However, your application may want to do application specifc
	cleanup like saving a users data.  To do this you can rename
	the exit command to something else.  Define your own exit
	command to do whatever clean up you like and then call the
	origional exit command.  For example,

		rename exit __exit
		proc exit {} {
		  # Do your clean up hear
		  __exit
		}

	Both incoming quit events and hitting the Quit menu item
	will call the exit command.  However, don't expect you can
	abort the exit.  Tk may exit anyway if the exit command it
	calls does not actually quit the application.

    open - The other apple event Tk supports is the open event.  The
	open event is sent to Tk if, for example, you drop a file on
	the Wish icon.  If you define a Tcl procedure with the name
	"tkOpenDocument" it will be invoked on any Open Document
	events that the application receives.  The a list of paths to
	the various documents will be passed to the Tcl function.
	Here is an example,

		proc tkOpenDocument args {
		  foreach file $args {
		    # Deal with passed in file path
		  }
		}

	Note: This isn't every thing you need to do to make your
	application dropable.  You must still define a FREF resource
	that makes sense for your application domain.  (Out of the
	box, you will not be able to drop files on the Wish
	application.  See the Inside Macintosh documentation for
	details about the FREF resource.
	
    do script - This is a way for external applications to drive MacTk, or
        to recieve information from it.  From AppleScript, you can say:
        
                tell application "Wish8.0"
	            do script "console hide
	                pack [button .b1 -text {Hello world} -command exit]"
                end tell
                
        which will get Tk to run the canonical hello world application.
                
8. unsupported1
---------------

The unsupported1 command is a short term hack we made available to
allow you to set the window style of a new toplevel window.  It works 
much like the "wm overrideredirect" and "wm transient" commands in
that it must be run before the window it's being applied to is mapped.

The syntax of the command is as follows:

	unsupported1 style <window> ?style?

The <window> must be a toplevel window.  If the style is not given
then the current style for the window is returned.  If you want to set
the style you must do so before the window gets mapped for the first
time.  The possible window styles include:

	documentProc, dBoxProc, plainDBox, altDBoxProc,
	movableDBoxProc, zoomDocProc, rDocProc, floatProc,
	floatZoomProc, floatSideProc, or floatSideZoomProc

NOTE: this is an unsupported command and it WILL go away in the
future.


If you have comments or Bug reports send them to:
Jim Ingham
[email protected]

or use our on-line bug form at

http://www.scriptics.com/support/bugForm.html









<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<








81
82
83
84
85
86
87
88



























































































89
90
91
92
93
94
95
96
  to the menu system, though you have to have Appearance 1.0.1 or later
  installed for this to work.
  
* If you get the Unix tar file, it will untar into a directory tcl8.0.4.  However,
  the Macintosh project files expect the folder to be called tcl8.0.  You will need
  to rename the folder to tcl8.0, or change all the paths in the project files.





























































































If you have comments or Bug reports send them to:
Jim Ingham
[email protected]

or use our on-line bug form at

http://www.scriptics.com/support/bugForm.html

Changes to unix/README.




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



This is the directory where you configure, compile, test, and install
UNIX versions of Tk.  This directory also contains source files for Tk
that are specific to UNIX.




The rest of this file contains instructions on how to do this.  The
release should compile and run either "out of the box" or with trivial
changes on any UNIX-like system that approximates POSIX, BSD, or System
V.  We know that it runs on workstations from Sun, H-P, DEC, IBM, and
SGI, as well as PCs running Linux, BSDI, and SCO UNIX.  To compile for
a PC running Windows, see the README file in the directory ../win.  To
compile for a Macintosh, see the README file in the directory ../mac.

RCS: @(#) $Id: README,v 1.4 1999/04/16 01:51:45 stanton Exp $

How To Compile And Install Tk:
------------------------------

(a) Make sure that the Tcl 8.1 release is present in the directory
    ../../tcl8.1a2 (or else use the "--with-tcl" switch described below). 
    This release of Tk will only work with Tcl 8.1. Also, be sure that
    you have configured Tcl before you configure Tk.

(b) Check for patches as described in ../README.

(c) If you have already compiled Tk once in this directory and are now
    preparing to compile again in the same directory but for a different
>
>
>




>
>
>








|





|







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
Tk UNIX README
--------------

This is the directory where you configure, compile, test, and install
UNIX versions of Tk.  This directory also contains source files for Tk
that are specific to UNIX.

The information in this file is maintained at:
    http://www.scriptics.com/support/howto/compile.html

The rest of this file contains instructions on how to do this.  The
release should compile and run either "out of the box" or with trivial
changes on any UNIX-like system that approximates POSIX, BSD, or System
V.  We know that it runs on workstations from Sun, H-P, DEC, IBM, and
SGI, as well as PCs running Linux, BSDI, and SCO UNIX.  To compile for
a PC running Windows, see the README file in the directory ../win.  To
compile for a Macintosh, see the README file in the directory ../mac.

RCS: @(#) $Id: README,v 1.4.4.1 1999/04/22 23:06:00 welch Exp $

How To Compile And Install Tk:
------------------------------

(a) Make sure that the Tcl 8.1 release is present in the directory
    ../../tcl8.1 (or else use the "--with-tcl" switch described below). 
    This release of Tk will only work with Tcl 8.1. Also, be sure that
    you have configured Tcl before you configure Tk.

(b) Check for patches as described in ../README.

(c) If you have already compiled Tk once in this directory and are now
    preparing to compile again in the same directory but for a different

Changes to unix/configure.in.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#! /bin/bash -norc
dnl	This file is an input file used by the GNU "autoconf" program to
dnl	generate the file "configure", which is run during Tk installation
dnl	to configure the system for the local environment.
AC_INIT(../generic/tk.h)
# RCS: @(#) $Id: configure.in,v 1.31 1999/04/21 21:53:31 rjohnson Exp $

TK_VERSION=8.1
TK_MAJOR_VERSION=8
TK_MINOR_VERSION=1
TK_PATCH_LEVEL=0
VERSION=${TK_VERSION}

if test "${prefix}" = "NONE"; then
    prefix=/usr/local
fi
if test "${exec_prefix}" = "NONE"; then
    exec_prefix=$prefix





|




|







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#! /bin/bash -norc
dnl	This file is an input file used by the GNU "autoconf" program to
dnl	generate the file "configure", which is run during Tk installation
dnl	to configure the system for the local environment.
AC_INIT(../generic/tk.h)
# RCS: @(#) $Id: configure.in,v 1.31.2.1 1999/04/29 16:38:40 stanton Exp $

TK_VERSION=8.1
TK_MAJOR_VERSION=8
TK_MINOR_VERSION=1
TK_PATCH_LEVEL=
VERSION=${TK_VERSION}

if test "${prefix}" = "NONE"; then
    prefix=/usr/local
fi
if test "${exec_prefix}" = "NONE"; then
    exec_prefix=$prefix

Changes to win/README.

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
Tk 8.1 for Windows

by Scott Stanton
Scriptics Corporation
[email protected]

RCS: @(#) $Id: README,v 1.9 1999/04/16 01:51:48 stanton Exp $

1. Introduction
---------------

This is the directory where you configure and compile the Windows
version of Tk.  This directory also contains source files for Tk
that are specific to Microsoft Windows.  The rest of this file
contains information specific to the Windows version of Tk.

2. Distribution notes
---------------------

Tk 8.1 for Windows is distributed in binary form in addition to the
common source release.  The binary distribution is a self-extracting
archive with a built-in installation script.

Look for the binary release in the same location as the source release
(ftp.scriptics.com:/pub/tcl/tcl8_1 or any of the mirror sites).  For most users,
the binary release will be much easier to install and use.  You only
need the source release if you plan to modify the core of Tcl, or if
you need to compile with a different compiler.  With the addition of
the dynamic loading interface, it is no longer necessary to have the
source distribution in order to build and use extensions.

3. Compiling Tk
----------------

In order to compile Tk for Windows, you need the following items:

	Tcl 8.1 Source Distribution (plus any patches)
	Tk 8.1 Source Distribution (plus any patches)

	The latest Win32 SDK header files

	Borland C++ 4.5 or later (32-bit compiler)
	  or
	Visual C++ 2.x or later

In practice, 8.1 was built with Visual C++ 5.0

In the "win" subdirectory of the source release, you will find two
files called "makefile.bc" and "makefile.vc".  These are the makefiles
for the Borland and Visual C++ compilers respectively.  You should
copy the appropriate one to "makefile" and update the paths at the top
of the file to reflect your system configuration.  Now you can use
"make" (or "nmake" for VC++) to build the tk libraries and the wish
executable.

In order to use the binaries generated by these makefiles, you will
need to place the Tk script library files someplace where Tk can
find them.  Tk looks in one of two places for the library files:

	1) The environment variable "TK_LIBRARY".

	2) In the lib\tk8.1 directory under the Tcl installation directory
	   as specified in the registry:

		    HKEY_LOCAL_MACHINE\SOFTWARE\Scriptics\Tcl\8.1\

	2) Relative to the directory containing the current .exe.
	    Tk will look for a directory "..\lib\tk8.1" relative to the
	    directory containing the currently running .exe.

Note that in order to run wish81.exe, you must ensure that tcl81.dll,
tclpip81.dll, and tk81.dll are on your path, in the system directory, 
or in the directory containing wish81.exe.

Note that Tk no longer supports Win32s.

4. Test suite
-------------

The Windows version of Tk does not pass many of the tests in the test
suite.  This is primarily due to dependencies in the test suite on the
size of particular X fonts, and other X related features as well as
problems with "exec".  We will be working to develop a more general
test suite for Tk under Windows, but for now, you will not be able to
pass many of the tests.

5. Known Bugs
-------------

Here is the current list of known bugs/missing features for the
Windows beta version of Tk:

- There is no support for custom cursors/application icons.  The core
  set of X cursors is supported, although you cannot change their color.
- Stippling of arcs isn't implemented yet.
- Some "wm" functions don't map to Windows and aren't implemented;
  others should map, but just aren't implemented.  The worst offenders
  are the icon manipulation routines.
- Color management on some displays doesn't work properly resulting in
  Tk switching to monochrome mode.
- Tk seems to fail to draw anything on some Matrox Millenium cards.
- Printing does not work for images (e.g. GIF) on a canvas.
- Tk_dialog appears in the upper left corner.  This is a symptom of a
  larger problem with "wm geometry" when applied to unmapped or
  iconified windows.
- PPM images are using the wrong translation mode for writing to
  files, resulting in CR/LF terminated PPM files.
- Tk crashes if the display depth changes while it is running.  Tk
  also doesn't consistently track changes in the system colors.

If you have comments or bug reports for the Windows version of Tk,
please use our on-line bug form at:

http://www.scriptics.com/support/bugForm.html

or post them to the newsgroup comp.lang.tcl.






|
<
<
<






<
<
|
<
<
<
|
<
<
<
<
<
<
<
|
<
<
|
<

<
<
|
<
|
<
<
<
|
<
|
<
<
<
<
<
<
<

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


Tk 8.1 for Windows

by Scott Stanton
Scriptics Corporation
[email protected]

RCS: @(#) $Id: README,v 1.9.4.1 1999/04/22 23:06:00 welch Exp $




This is the directory where you configure and compile the Windows
version of Tk.  This directory also contains source files for Tk
that are specific to Microsoft Windows.  The rest of this file
contains information specific to the Windows version of Tk.



Please see the README and win/README files that come with the



associated Tcl release for an extensive set of pointers to







documentation.  You will need to obtain and compile the


Tcl release before using the Tk source distrition.




If you install the Tk sources next to the Tcl sources, then

the Tk Makefiles (e.g., makefile.vc for VC++) will properly



locate the necessary Tcl files.  Otherwise you may need to

edit makefile.vc and adjust the path to Tcl accordingly.











Information about compiling for windows is maintained at:






















































    http://www.scriptics.com/support/howto/compile.html


Added win/makefile.bc.

















































































































































































































































































































































































































































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
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
# Borland C++ 4.5 makefile for Tk
#
# Copyright (c) 1995-1997 by Sun Microsystems, Inc.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#
# RCS: @(#) $Id: makefile.bc,v 1.9 1999/04/16 01:51:48 stanton Exp $


#
# Project directories
#
# ROOT = top of source tree
# TMPDIR = location where .obj files should be stored during build
# TCLDIR = location of top of Tcl source heirarchy
#

ROOT	= ..
TMPDIR	= .
TOOLS	= c:\bc45
TCLDIR	= ..\..\tcl8.1b3

# uncomment the following line to compile with symbols
#DEBUG=1

# uncomment the following line to compile with TCL_MEM_DEBUG
#DEBUGDEFINES	=TCL_MEM_DEBUG

#
# Borland C++ tools
#

BORLAND = $(TOOLS)
IMPLIB  = $(BORLAND)\bin\Implib
BCC32   = $(BORLAND)\bin\Bcc32
TLINK32 = $(BORLAND)\bin\tlink32
RC	= $(BORLAND)\bin\brcc32
CP      = copy
RM      = del

INCLUDES =	$(BORLAND)\include;$(ROOT)\generic;$(ROOT)\bitmaps;$(ROOT)\xlib;$(ROOT)\win;$(TCLDIR)\generic
LIBDIRS =	$(BORLAND)\lib;$(ROOT)\win
TCLLIBDIR =	$(TCLDIR)\win


!ifndef DEBUG

# these macros cause maximum optimization and no symbols
DEBUGLDFLAGS = 
DEBUGCCFLAGS = -v- -vi- -O2

!else

# these macros enable debugging
DEBUGLDFLAGS = -v
DEBUGCCFLAGS = -k -Od -v

!endif

DEFINES = MT;_RTLDLL;STRICT;$(DEBUGDEFINES)
PROJECTCCFLAGS= $(DEBUGCCFLAGS) -w-par -w-stu

LNFLAGS_exe = -Tpe -aa -c $(DEBUGLDFLAGS) $(BORLAND)\lib\c0w32
LNFLAGS_dll = -Tpd -aa -c $(DEBUGLDFLAGS) $(BORLAND)\lib\c0d32

LNLIBS_exe =	$(TKLIB) $(TCLLIBDIR)\$(TCLLIB) import32 cw32mti
LNLIBS_dll =	$(TCLLIBDIR)\$(TCLLIB) import32 cw32mti

# 
# Global makefile settings
#

.AUTODEPEND
.CACHEAUTODEPEND

.suffixes: .c .dll .lib .obj .exe

.path.c=$(ROOT)\win;$(ROOT)\generic;$(ROOT)\xlib;$(ROOT)\unix
.path.obj=$(TMPDIR)

WISHOBJS = \
	$(TMPDIR)\winMain.obj

TKTESTOBJS = \
	$(TMPDIR)\tkTest.obj \
	$(TMPDIR)\tkSquare.obj \
	$(TMPDIR)\testMain.obj

XLIBOBJS = \
	$(TMPDIR)\xcolors.obj \
	$(TMPDIR)\xdraw.obj \
	$(TMPDIR)\xgc.obj \
	$(TMPDIR)\ximage.obj \
	$(TMPDIR)\xutil.obj

TKOBJS = \
	$(TMPDIR)\tkConsole.obj \
	$(TMPDIR)\tkUnixMenubu.obj \
	$(TMPDIR)\tkUnixScale.obj \
	$(XLIBOBJS) \
	$(TMPDIR)\tkWin3d.obj \
	$(TMPDIR)\tkWin32Dll.obj \
	$(TMPDIR)\tkWinButton.obj \
	$(TMPDIR)\tkWinClipboard.obj \
	$(TMPDIR)\tkWinColor.obj \
	$(TMPDIR)\tkWinConfig.obj \
	$(TMPDIR)\tkWinCursor.obj \
	$(TMPDIR)\tkWinDialog.obj \
	$(TMPDIR)\tkWinDraw.obj \
	$(TMPDIR)\tkWinEmbed.obj \
	$(TMPDIR)\tkWinFont.obj \
	$(TMPDIR)\tkWinImage.obj \
	$(TMPDIR)\tkWinInit.obj \
	$(TMPDIR)\tkWinKey.obj \
	$(TMPDIR)\tkWinMenu.obj \
	$(TMPDIR)\tkWinPixmap.obj \
	$(TMPDIR)\tkWinPointer.obj \
	$(TMPDIR)\tkWinRegion.obj \
	$(TMPDIR)\tkWinScrlbr.obj \
	$(TMPDIR)\tkWinSend.obj \
	$(TMPDIR)\tkWinTest.obj \
	$(TMPDIR)\tkWinWindow.obj \
	$(TMPDIR)\tkWinWm.obj \
	$(TMPDIR)\tkWinX.obj \
	$(TMPDIR)\stubs.obj \
	$(TMPDIR)\tk3d.obj \
	$(TMPDIR)\tkArgv.obj \
	$(TMPDIR)\tkAtom.obj \
	$(TMPDIR)\tkBind.obj \
	$(TMPDIR)\tkBitmap.obj \
	$(TMPDIR)\tkButton.obj \
	$(TMPDIR)\tkCanvArc.obj \
	$(TMPDIR)\tkCanvBmap.obj \
	$(TMPDIR)\tkCanvImg.obj \
	$(TMPDIR)\tkCanvLine.obj \
	$(TMPDIR)\tkCanvPoly.obj \
	$(TMPDIR)\tkCanvPs.obj \
	$(TMPDIR)\tkCanvText.obj \
	$(TMPDIR)\tkCanvUtil.obj \
	$(TMPDIR)\tkCanvWind.obj \
	$(TMPDIR)\tkCanvas.obj \
	$(TMPDIR)\tkClipboard.obj \
	$(TMPDIR)\tkCmds.obj \
	$(TMPDIR)\tkColor.obj \
	$(TMPDIR)\tkConfig.obj \
	$(TMPDIR)\tkCursor.obj \
	$(TMPDIR)\tkEntry.obj \
	$(TMPDIR)\tkError.obj \
	$(TMPDIR)\tkEvent.obj \
	$(TMPDIR)\tkFileFilter.obj \
	$(TMPDIR)\tkFocus.obj \
	$(TMPDIR)\tkFont.obj \
	$(TMPDIR)\tkFrame.obj \
	$(TMPDIR)\tkGC.obj \
	$(TMPDIR)\tkGeometry.obj \
	$(TMPDIR)\tkGet.obj \
	$(TMPDIR)\tkGrab.obj \
	$(TMPDIR)\tkGrid.obj \
	$(TMPDIR)\tkImage.obj \
	$(TMPDIR)\tkImgBmap.obj \
	$(TMPDIR)\tkImgGIF.obj \
	$(TMPDIR)\tkImgPPM.obj \
	$(TMPDIR)\tkImgPhoto.obj \
	$(TMPDIR)\tkImgUtil.obj \
	$(TMPDIR)\tkListbox.obj \
	$(TMPDIR)\tkMacWinMenu.obj \
	$(TMPDIR)\tkMain.obj \
	$(TMPDIR)\tkMenu.obj \
	$(TMPDIR)\tkMenubutton.obj \
	$(TMPDIR)\tkMenuDraw.obj \
	$(TMPDIR)\tkMessage.obj \
	$(TMPDIR)\tkObj.obj \
	$(TMPDIR)\tkOldConfig.obj \
	$(TMPDIR)\tkOption.obj \
	$(TMPDIR)\tkPack.obj \
	$(TMPDIR)\tkPlace.obj \
	$(TMPDIR)\tkPointer.obj \
	$(TMPDIR)\tkRectOval.obj \
	$(TMPDIR)\tkScale.obj \
	$(TMPDIR)\tkScrollbar.obj \
	$(TMPDIR)\tkSelect.obj \
	$(TMPDIR)\tkText.obj \
	$(TMPDIR)\tkTextBTree.obj \
	$(TMPDIR)\tkTextDisp.obj \
	$(TMPDIR)\tkTextImage.obj \
	$(TMPDIR)\tkTextIndex.obj \
	$(TMPDIR)\tkTextMark.obj \
	$(TMPDIR)\tkTextTag.obj \
	$(TMPDIR)\tkTextWind.obj \
	$(TMPDIR)\tkTrig.obj \
	$(TMPDIR)\tkUtil.obj \
	$(TMPDIR)\tkVisual.obj \
	$(TMPDIR)\tkWindow.obj

TCLDLL = tcl81.dll
TCLLIB = tcl81.lib
TKDLL = tk81.dll
TKLIB = tk81.lib
WISH = wish81.exe
TKTEST = tktest.exe

#
# Targets
#

all: cfgdll $(TKDLL) cfgexe $(WISH) cfgcln
tktest: cfgdll $(TKDLL) cfgtest $(TKTEST) cfgcln

test: tktest
	$(TKTEST) &&|
		cd ../tests
		console show
		update
		source all
|

# Implicit Targets

.c.obj:
	@$(BCC32) {$< }

.dll.lib:
	$(IMPLIB) -c $@ $<

.rc.res:
	$(RC) -i$(INCLUDES) $<

#
# Special case object file targets
#

$(TMPDIR)\testMain.obj : $(ROOT)\win\winMain.c
	$(BCC32) -c -o$@ $(ROOT)\win\winMain.c

#
# Configuration file targets - these files are implicitly used by the compiler
#

cfgdll:
	@$(CP) &&|
		-n$(TMPDIR) -I$(INCLUDES) -c -WM
		-D$(DEFINES) -3 -d $(PROJECTCCFLAGS)
| bcc32.cfg >NUL

cfgexe:
	@$(CP) &&|
		-n$(TMPDIR) -I$(INCLUDES) -c -W
		-D$(DEFINES) -3 -d $(PROJECTCCFLAGS)
| bcc32.cfg >NUL

cfgtest:
	@$(CP) &&|
		-n$(TMPDIR) -I$(INCLUDES) -c -W
		-D$(DEFINES);TK_TEST -3 -d $(PROJECTCCFLAGS)
| bcc32.cfg >NUL

cfgcln:
	@$(RM) bcc32.cfg

#
# Executable targets
#

$(TKDLL): $(TKOBJS) tk.def rc\tk.res
	$(TLINK32) @&&|
$(LNFLAGS_dll) $(TKOBJS)
$@
-x
$(LNLIBS_dll)
tk.def
rc\tk.res
|

$(WISH): $(WISHOBJS) $(TKLIB) rc\wish.res
	$(TLINK32) @&&|
$(LNFLAGS_exe) $(WISHOBJS)
$@
-x
$(LNLIBS_exe)
|, &&|
EXETYPE WINDOWS
CODE PRELOAD MOVEABLE DISCARDABLE
DATA PRELOAD MOVEABLE MULTIPLE
|, rc\wish.res

$(TKTEST): $(TKTESTOBJS) $(TKLIB)
	$(TLINK32) $(LNFLAGS_exe) @&&|
$(TKTESTOBJS)
$@
-x
$(LNLIBS_exe)
|, &&|
EXETYPE WINDOWS
CODE PRELOAD MOVEABLE DISCARDABLE
DATA PRELOAD MOVEABLE MULTIPLE
|, 

# 
# Other dependencies
#

rc\wish.res: rc\wish.ico
rc\tk.res: rc\tk.ico rc\*.cur

# The following rule automatically generates a tk.def file containing
# an export entry for every public symbol in the $(TKDLL) library.

tk.def: $(TKOBJS)
	$(TCLLIBDIR)\dumpexts.exe -o $@ $(TKDLL) @&&|
		$(TKOBJS)
|

# rule to build library object files

# debugging rules, the .dll and .exe files must be in the same
# directory as the object files for debugging purposes

$(TMPDIR)\$(TKDLL): $(TKDLL)
	$(CP) $(TKDLL) $(TMPDIR)

$(TMPDIR)\$(TCLDLL): $(TCLLIBDIR)\$(TCLDLL)
	$(CP) $(TCLLIBDIR)\$(TCLDLL) $(TMPDIR)

$(TMPDIR)\$(WISH): $(WISH)
	$(CP) $(WISH) $(TMPDIR)

$(TMPDIR)\$(TKTEST): $(TKTEST)
	$(CP) $(TKTEST) $(TMPDIR)

debug: $(TMPDIR)\$(TKDLL) $(TMPDIR)\$(TCLDLL) $(TMPDIR)\$(TKTEST)


# remove all generated files

clean:
	$(RM) $(WISH)
	$(RM) $(TKTEST)
	$(RM) $(TKLIB) 
	$(RM) $(TKDLL)  
	$(RM) rc\*.res  
	$(RM) tk.def
	$(RM) $(TMPDIR)\*.obj
	$(RM) *.cfg

Changes to win/rc/tk.rc.

1
2
3
4
5
6
7
8
// RCS: @(#) $Id: tk.rc,v 1.3 1999/04/16 01:51:55 stanton Exp $
//
// Version
//

#include <windows.h>
#define RESOURCE_INCLUDED
#include <tk.h>
|







1
2
3
4
5
6
7
8
// RCS: @(#) $Id: tk.rc,v 1.3.4.1 1999/04/27 21:47:50 stanton Exp $
//
// Version
//

#include <windows.h>
#define RESOURCE_INCLUDED
#include <tk.h>
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
BEGIN
    BLOCK "StringFileInfo"
    BEGIN
        BLOCK "040904b0"
        BEGIN
            VALUE "FileDescription", "Tk DLL\0"
            VALUE "OriginalFilename", "tk" STRINGIFY(TK_MAJOR_VERSION) STRINGIFY(TK_MINOR_VERSION) ".dll\0"
            VALUE "CompanyName", "Sun Microsystems, Inc.\0"
            VALUE "FileVersion", TK_PATCH_LEVEL
            VALUE "LegalCopyright", "Copyright \251 1995-1996\0"
            VALUE "ProductName", "Tk " TK_VERSION " for Windows\0"
            VALUE "ProductVersion", TK_PATCH_LEVEL
        END
    END
    BLOCK "VarFileInfo"
    BEGIN
        VALUE "Translation", 0x409, 1200







|

|







21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
BEGIN
    BLOCK "StringFileInfo"
    BEGIN
        BLOCK "040904b0"
        BEGIN
            VALUE "FileDescription", "Tk DLL\0"
            VALUE "OriginalFilename", "tk" STRINGIFY(TK_MAJOR_VERSION) STRINGIFY(TK_MINOR_VERSION) ".dll\0"
            VALUE "CompanyName", "Scriptics Corporation\0"
            VALUE "FileVersion", TK_PATCH_LEVEL
            VALUE "LegalCopyright", "Copyright \251 1999 by Scriptics Corporation\0"
            VALUE "ProductName", "Tk " TK_VERSION " for Windows\0"
            VALUE "ProductVersion", TK_PATCH_LEVEL
        END
    END
    BLOCK "VarFileInfo"
    BEGIN
        VALUE "Translation", 0x409, 1200

Changes to win/rc/wish.rc.

1
2
3
4

5
6
7
8
9
10
11
// RCS: @(#) $Id: wish.rc,v 1.2 1998/09/14 18:24:02 stanton Exp $
//
// Version
//


#define RESOURCE_INCLUDED
#include <tk.h>

#define STRINGIFY1(x)       #x
#define STRINGIFY(x)        STRINGIFY1(x) 
 
|



>







1
2
3
4
5
6
7
8
9
10
11
12
// RCS: @(#) $Id: wish.rc,v 1.2.10.1 1999/04/27 21:47:50 stanton Exp $
//
// Version
//
#include <windows.h>

#define RESOURCE_INCLUDED
#include <tk.h>

#define STRINGIFY1(x)       #x
#define STRINGIFY(x)        STRINGIFY1(x) 
 
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
BEGIN
    BLOCK "StringFileInfo"
    BEGIN
        BLOCK "040904b0"
        BEGIN
            VALUE "FileDescription", "Wish Application\0"
            VALUE "OriginalFilename", "wish" STRINGIFY(TK_MAJOR_VERSION) STRINGIFY(TK_MINOR_VERSION) ".exe\0"
            VALUE "CompanyName", "Sun Microsystems, Inc.\0"
            VALUE "FileVersion", TK_PATCH_LEVEL
            VALUE "LegalCopyright", "Copyright \251 1995-1996\0"
            VALUE "ProductName", "Tk " TK_VERSION " for Windows\0"
            VALUE "ProductVersion", TK_PATCH_LEVEL
        END
    END
    BLOCK "VarFileInfo"
    BEGIN
        VALUE "Translation", 0x409, 1200







|

|







21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
BEGIN
    BLOCK "StringFileInfo"
    BEGIN
        BLOCK "040904b0"
        BEGIN
            VALUE "FileDescription", "Wish Application\0"
            VALUE "OriginalFilename", "wish" STRINGIFY(TK_MAJOR_VERSION) STRINGIFY(TK_MINOR_VERSION) ".exe\0"
            VALUE "CompanyName", "Scriptics Corporation\0"
            VALUE "FileVersion", TK_PATCH_LEVEL
            VALUE "LegalCopyright", "Copyright \251 1999 by Scriptics Corporation\0"
            VALUE "ProductName", "Tk " TK_VERSION " for Windows\0"
            VALUE "ProductVersion", TK_PATCH_LEVEL
        END
    END
    BLOCK "VarFileInfo"
    BEGIN
        VALUE "Translation", 0x409, 1200