From bdf40fef98dfb3fb7491470570081e5675c67532 Mon Sep 17 00:00:00 2001 From: cvs2fossil Date: Wed, 21 Apr 1999 21:53:20 +0000 Subject: Created branch core-8-1-0-synthetic --- ChangeLog | 33 ++ README | 318 +----------------- changes | 15 +- doc/InitStubs.3 | 77 +++++ generic/tkDecls.h | 8 +- generic/tkEntry.c | 4 +- generic/tkImgBmap.c | 11 +- generic/tkImgPPM.c | 11 +- generic/tkImgPhoto.c | 11 +- generic/tkInt.decls | 323 +++++++++--------- generic/tkIntDecls.h | 223 ++++++++++++- generic/tkIntPlatDecls.h | 699 +++++++++++++++++---------------------- generic/tkIntXlibDecls.h | 25 +- generic/tkMenubutton.c | 4 +- generic/tkPlatDecls.h | 8 +- generic/tkStubInit.c | 720 ++++++++++++++++++++++------------------- generic/tkStubLib.c | 7 +- library/images/pwrdLogo100.gif | Bin 1612 -> 1615 bytes library/images/pwrdLogo150.gif | Bin 2415 -> 2489 bytes library/images/pwrdLogo175.gif | Bin 2841 -> 2981 bytes library/images/pwrdLogo200.gif | Bin 3223 -> 3491 bytes library/images/pwrdLogo75.gif | Bin 1169 -> 1171 bytes mac/README | 181 +---------- unix/README | 10 +- unix/configure.in | 4 +- win/README | 113 +------ win/makefile.bc | 344 ++++++++++++++++++++ win/rc/tk.rc | 6 +- win/rc/wish.rc | 7 +- 29 files changed, 1659 insertions(+), 1503 deletions(-) create mode 100644 doc/InitStubs.3 create mode 100644 win/makefile.bc diff --git a/ChangeLog b/ChangeLog index 56c8a64..f28c352 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,36 @@ +1999-04-27 + + * 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 + + * 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 + + * 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 * xlib/X11/Xlib.h: changed definition of Status type to use a diff --git a/README b/README index 4e9839f..647b6a3 100644 --- a/README +++ b/README @@ -2,23 +2,9 @@ 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 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 +RCS: @(#) $Id: README,v 1.15.2.1 1999/04/22 23:05:56 welch Exp $ 1. Introduction --------------- @@ -28,12 +14,8 @@ 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 +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 @@ -45,293 +27,11 @@ 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 +2. See Tcl README ----------------- -A couple of Mailing List have been set up to discuss Macintosh or -Windows related Tcl issues. To subscribe send a message to: - - wintcl-request@tclconsortium.org - mactcl-request@tclconsortium.org - -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 -------------- +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. -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. diff --git a/changes b/changes index 4c7d01e..be6261f 100644 --- a/changes +++ b/changes @@ -2,7 +2,7 @@ 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 $ +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 @@ -4582,3 +4582,16 @@ selection instead of the widget contents, which can be different if the --------------- 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 ---------------------- + diff --git a/doc/InitStubs.3 b/doc/InitStubs.3 new file mode 100644 index 0000000..43d03a2 --- /dev/null +++ b/doc/InitStubs.3 @@ -0,0 +1,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 \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 diff --git a/generic/tkDecls.h b/generic/tkDecls.h index f0bf66f..45ddfe0 100644 --- a/generic/tkDecls.h +++ b/generic/tkDecls.h @@ -8,7 +8,7 @@ * 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 $ + * RCS: @(#) $Id: tkDecls.h,v 1.3.4.1 1999/04/27 21:09:41 stanton Exp $ */ #ifndef _TKDECLS @@ -971,7 +971,13 @@ typedef struct TkStubs { 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) diff --git a/generic/tkEntry.c b/generic/tkEntry.c index 855d22d..7228ed4 100644 --- a/generic/tkEntry.c +++ b/generic/tkEntry.c @@ -11,7 +11,7 @@ * 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 $ + * RCS: @(#) $Id: tkEntry.c,v 1.3.4.1 1999/04/24 00:10:49 stanton Exp $ */ #include "tkInt.h" @@ -271,7 +271,7 @@ static Tk_OptionSpec optionSpecs[] = { {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", + {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", diff --git a/generic/tkImgBmap.c b/generic/tkImgBmap.c index 0f23407..7afffa1 100644 --- a/generic/tkImgBmap.c +++ b/generic/tkImgBmap.c @@ -10,7 +10,7 @@ * 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 $ + * RCS: @(#) $Id: tkImgBmap.c,v 1.8.2.1 1999/04/23 16:16:49 redman Exp $ */ #include "tkInt.h" @@ -512,6 +512,15 @@ TkGetBitmapData(interp, string, fileName, widthPtr, heightPtr, } 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; } diff --git a/generic/tkImgPPM.c b/generic/tkImgPPM.c index 7482692..47584c0 100644 --- a/generic/tkImgPPM.c +++ b/generic/tkImgPPM.c @@ -13,7 +13,7 @@ * Department of Computer Science, * Australian National University. * - * RCS: @(#) $Id: tkImgPPM.c,v 1.3 1999/04/16 01:51:15 stanton Exp $ + * RCS: @(#) $Id: tkImgPPM.c,v 1.3.4.1 1999/04/23 16:16:49 redman Exp $ */ #include "tkInt.h" @@ -269,6 +269,15 @@ FileWritePPM(interp, fileName, formatString, blockPtr) 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); diff --git a/generic/tkImgPhoto.c b/generic/tkImgPhoto.c index 9fb74e6..6870a7c 100644 --- a/generic/tkImgPhoto.c +++ b/generic/tkImgPhoto.c @@ -15,7 +15,7 @@ * Department of Computer Science, * Australian National University. * - * RCS: @(#) $Id: tkImgPhoto.c,v 1.6 1999/04/16 01:51:15 stanton Exp $ + * RCS: @(#) $Id: tkImgPhoto.c,v 1.6.4.1 1999/04/23 16:16:50 redman Exp $ */ #include "tkInt.h" @@ -851,6 +851,11 @@ ImgPhotoCmd(clientData, interp, argc, argv) != 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); @@ -1364,6 +1369,10 @@ ImgPhotoConfigureMaster(interp, masterPtr, argc, argv, flags) != 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) { diff --git a/generic/tkInt.decls b/generic/tkInt.decls index edb69f2..f44a46a 100644 --- a/generic/tkInt.decls +++ b/generic/tkInt.decls @@ -9,7 +9,7 @@ # 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 $ +# RCS: @(#) $Id: tkInt.decls,v 1.5.4.2 1999/04/24 01:14:19 stanton Exp $ library tk @@ -525,6 +525,66 @@ 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 @@ -548,8 +608,8 @@ declare 2 unix { } declare 3 unix { - int TkpCmapStressed (Tk_Window tkwin, Colormap colormap)} - + int TkpCmapStressed (Tk_Window tkwin, Colormap colormap) +} declare 4 unix { void TkpSync (Display *display) @@ -576,169 +636,139 @@ 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 { +declare 3 win { unsigned long TkpGetMS (void) } -declare 7 win { +declare 4 win { void TkPointerDeadWindow (TkWindow *winPtr) } -declare 8 win { +declare 5 win { void TkpPrintWindowId (char *buf, Window window) } -declare 9 win { +declare 6 win { int TkpScanWindowId (Tcl_Interp *interp, char *string, int *idPtr) } -declare 10 win { +declare 7 win { void TkpSetCapture (TkWindow *winPtr) } -declare 11 win { +declare 8 win { void TkpSetCursor (TkpCursor cursor) } -declare 12 win { +declare 9 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 { +declare 10 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 { +declare 11 win { void TkWinCancelMouseTimer (void) } -declare 18 win { +declare 12 win { void TkWinClipboardRender (TkDisplay *dispPtr, UINT format) } -declare 19 win { +declare 13 win { LRESULT TkWinEmbeddedEventProc (HWND hwnd, UINT message, \ WPARAM wParam, LPARAM lParam) } -declare 20 win { +declare 14 win { void TkWinFillRect (HDC dc, int x, int y, int width, int height, \ int pixel) } -declare 21 win { +declare 15 win { COLORREF TkWinGetBorderPixels (Tk_Window tkwin, Tk_3DBorder border, \ int which) } -declare 22 win { +declare 16 win { HDC TkWinGetDrawableDC (Display *display, Drawable d, TkWinDCState* state) } -declare 23 win { +declare 17 win { int TkWinGetModifierState (void) } -declare 24 win { +declare 18 win { HPALETTE TkWinGetSystemPalette (void) } -declare 25 win { +declare 19 win { HWND TkWinGetWrapperWindow (Tk_Window tkwin) } -declare 26 win { +declare 20 win { int TkWinHandleMenuEvent (HWND *phwnd, \ UINT *pMessage, WPARAM *pwParam, LPARAM *plParam, \ LRESULT *plResult) } -declare 27 win { +declare 21 win { int TkWinIndexOfColor (XColor *colorPtr) } -declare 28 win { +declare 22 win { void TkWinReleaseDrawableDC (Drawable d, HDC hdc, TkWinDCState* state) } -declare 29 win { +declare 23 win { LRESULT TkWinResendEvent (WNDPROC wndproc, HWND hwnd, XEvent *eventPtr) } -declare 30 win { +declare 24 win { HPALETTE TkWinSelectPalette (HDC dc, Colormap colormap) } -declare 31 win { +declare 25 win { void TkWinSetMenu (Tk_Window tkwin, HMENU hMenu) } -declare 32 win { +declare 26 win { void TkWinSetWindowPos (HWND hwnd, HWND siblingHwnd, int pos) } -declare 33 win { +declare 27 win { void TkWinWmCleanup (HINSTANCE hInstance) } -declare 34 win { +declare 28 win { void TkWinXCleanup (HINSTANCE hInstance) } -declare 35 win { +declare 29 win { void TkWinXInit (HINSTANCE hInstance) } # new for 8.1 -declare 36 win { +declare 30 win { void TkWinSetForegroundWindow (TkWindow *winPtr) } -declare 37 win { +declare 31 win { void TkWinDialogDebug (int debug) } -declare 38 win { +declare 32 win { Tcl_Obj * TkWinGetMenuSystemDefault (Tk_Window tkwin, \ char *dbName, char *className) } -declare 39 win { +declare 33 win { int TkWinGetPlatformId(void) } @@ -746,298 +776,268 @@ declare 39 win { # 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 { +declare 1 mac { Pixmap TkpCreateNativeBitmap (Display *display, char * source) } -declare 6 mac { +declare 2 mac { void TkpDefineNativeBitmaps (void) } -declare 7 mac { +declare 3 mac { unsigned long TkpGetMS (void) } -declare 8 mac { +declare 4 mac { Pixmap TkpGetNativeAppBitmap (Display *display, \ char *name, int *width, int *height) } -declare 9 mac { +declare 5 mac { void TkPointerDeadWindow (TkWindow *winPtr) } -declare 10 mac { +declare 6 mac { void TkpSetCapture (TkWindow *winPtr) } -declare 11 mac { +declare 7 mac { void TkpSetCursor (TkpCursor cursor) } -declare 12 mac { +declare 8 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 { +declare 9 mac { int HandleWMEvent (EventRecord *theEvent) } -declare 17 mac { +declare 10 mac { void TkAboutDlg (void) } -declare 18 mac { +declare 11 mac { void TkCreateMacEventSource (void) } -declare 19 mac { +declare 12 mac { void TkFontList (Tcl_Interp *interp, Display *display) } -declare 20 mac { +declare 13 mac { Window TkGetTransientMaster (TkWindow *winPtr) } -declare 21 mac { +declare 14 mac { int TkGenerateButtonEvent (int x, int y, \ Window window, unsigned int state) } -declare 22 mac { +declare 15 mac { int TkGetCharPositions (XFontStruct *font_struct, char *string, \ int count, short *buffer) } -declare 23 mac { +declare 16 mac { void TkGenWMDestroyEvent (Tk_Window tkwin) } -declare 24 mac { +declare 17 mac { void TkGenWMConfigureEvent (Tk_Window tkwin, int x, int y, \ int width, int height, int flags) } -declare 25 mac { +declare 18 mac { unsigned int TkMacButtonKeyState (void) } -declare 26 mac { +declare 19 mac { void TkMacClearMenubarActive (void) } -declare 27 mac { +declare 20 mac { int TkMacConvertEvent (EventRecord *eventPtr) } -declare 28 mac { +declare 21 mac { int TkMacDispatchMenuEvent (int menuID, int index) } -declare 29 mac { +declare 22 mac { void TkMacInstallCursor (int resizeOverride) } -declare 30 mac { +declare 23 mac { int TkMacConvertTkEvent (EventRecord *eventPtr, Window window) } -declare 31 mac { +declare 24 mac { void TkMacHandleTearoffMenu (void) } -declare 32 mac { +declare 25 mac { void tkMacInstallMWConsole (Tcl_Interp *interp) } -declare 33 mac { +declare 26 mac { void TkMacInvalClipRgns (TkWindow *winPtr) } -declare 34 mac { +declare 27 mac { void TkMacDoHLEvent (EventRecord *theEvent) } -declare 35 mac { +declare 28 mac { void TkMacFontInfo (Font fontId, short *family, \ short *style, short *size) } -declare 36 mac { +declare 29 mac { Time TkMacGenerateTime (void) } -declare 37 mac { +declare 30 mac { GWorldPtr TkMacGetDrawablePort (Drawable drawable) } -declare 38 mac { +declare 31 mac { TkWindow * TkMacGetScrollbarGrowWindow (TkWindow *winPtr) } -declare 39 mac { +declare 32 mac { Window TkMacGetXWindow (WindowRef macWinPtr) } -declare 40 mac { +declare 33 mac { int TkMacGrowToplevel (WindowRef whichWindow, Point start) } -declare 41 mac { +declare 34 mac { void TkMacHandleMenuSelect (long mResult, int optionKeyPressed) } -declare 42 mac { +declare 35 mac { int TkMacHaveAppearance (void) } -declare 43 mac { +declare 36 mac { void TkMacInitAppleEvents (Tcl_Interp *interp) } -declare 44 mac { +declare 37 mac { void TkMacInitMenus (Tcl_Interp *interp) } -declare 45 mac { +declare 38 mac { void TkMacInvalidateWindow (MacDrawable *macWin, int flag) } -declare 46 mac { +declare 39 mac { int TkMacIsCharacterMissing (Tk_Font tkfont, unsigned int searchChar) } -declare 47 mac { +declare 40 mac { void TkMacMakeRealWindowExist (TkWindow *winPtr) } -declare 48 mac { +declare 41 mac { BitMapPtr TkMacMakeStippleMap(Drawable d1, Drawable d2) } -declare 49 mac { +declare 42 mac { void TkMacMenuClick (void) } -declare 50 mac { +declare 43 mac { void TkMacRegisterOffScreenWindow (Window window, GWorldPtr portPtr) } -declare 51 mac { +declare 44 mac { int TkMacResizable (TkWindow *winPtr) } -declare 52 mac { +declare 45 mac { void TkMacSetEmbedRgn (TkWindow *winPtr, RgnHandle rgn) } -declare 53 mac { +declare 46 mac { void TkMacSetHelpMenuItemCount (void) } -declare 54 mac { +declare 47 mac { void TkMacSetScrollbarGrow (TkWindow *winPtr, int flag) } -declare 55 mac { +declare 48 mac { void TkMacSetUpClippingRgn (Drawable drawable) } -declare 56 mac { +declare 49 mac { void TkMacSetUpGraphicsPort (GC gc) } -declare 57 mac { +declare 50 mac { void TkMacUpdateClipRgn (TkWindow *winPtr) } -declare 58 mac { +declare 51 mac { void TkMacUnregisterMacWindow (GWorldPtr portPtr) } -declare 59 mac { +declare 52 mac { int TkMacUseMenuID (short macID) } -declare 60 mac { +declare 53 mac { RgnHandle TkMacVisableClipRgn (TkWindow *winPtr) } -declare 61 mac { +declare 54 mac { void TkMacWinBounds (TkWindow *winPtr, Rect *geometry) } -declare 62 mac { +declare 55 mac { void TkMacWindowOffset (WindowRef wRef, int *xOffset, int *yOffset) } -declare 63 mac { +declare 56 mac { void TkResumeClipboard (void) } -declare 64 mac { +declare 57 mac { int TkSetMacColor (unsigned long pixel, RGBColor *macColor) } -declare 65 mac { +declare 58 mac { void TkSetWMName (TkWindow *winPtr, Tk_Uid titleUid) } -declare 66 mac { +declare 59 mac { void TkSuspendClipboard (void) } -declare 67 mac { +declare 60 mac { int TkWMGrowToplevel (WindowRef whichWindow, Point start) } -declare 68 mac { +declare 61 mac { int TkMacZoomToplevel (WindowPtr whichWindow, Point where, short zoomPart) } -declare 69 mac { +declare 62 mac { Tk_Window Tk_TopCoordsToWindow (Tk_Window tkwin, \ int rootX, int rootY, int *newX, int *newY) } -declare 70 mac { +declare 63 mac { MacDrawable * TkMacContainerId (TkWindow *winPtr) } -declare 71 mac { +declare 64 mac { MacDrawable * TkMacGetHostToplevel (TkWindow *winPtr) } @@ -1881,3 +1881,10 @@ 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) +} diff --git a/generic/tkIntDecls.h b/generic/tkIntDecls.h index 2ca0147..4225487 100644 --- a/generic/tkIntDecls.h +++ b/generic/tkIntDecls.h @@ -11,7 +11,7 @@ * 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 $ + * RCS: @(#) $Id: tkIntDecls.h,v 1.3.4.3 1999/04/27 21:09:41 stanton Exp $ */ #ifndef _TKINTDECLS @@ -370,6 +370,74 @@ 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; @@ -488,9 +556,78 @@ typedef struct TkIntStubs { 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) @@ -950,6 +1087,90 @@ extern TkIntStubs *tkIntStubsPtr; #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) */ diff --git a/generic/tkIntPlatDecls.h b/generic/tkIntPlatDecls.h index a767f68..e20f963 100644 --- a/generic/tkIntPlatDecls.h +++ b/generic/tkIntPlatDecls.h @@ -9,7 +9,7 @@ * 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 $ + * RCS: @(#) $Id: tkIntPlatDecls.h,v 1.3.4.3 1999/04/27 21:09:42 stanton Exp $ */ #ifndef _TKINTPLATDECLS @@ -57,295 +57,256 @@ EXTERN void TkUnixSetMenubar _ANSI_ARGS_((Tk_Window tkwin, /* 0 */ EXTERN char * TkAlignImageData _ANSI_ARGS_((XImage * image, int alignment, int bitOrder)); -/* 1 */ -EXTERN void TkClipBox _ANSI_ARGS_((TkRegion rgn, - XRectangle* rect_return)); +/* Slot 1 is reserved */ /* 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 */ +/* 3 */ EXTERN unsigned long TkpGetMS _ANSI_ARGS_((void)); -/* 7 */ +/* 4 */ EXTERN void TkPointerDeadWindow _ANSI_ARGS_((TkWindow * winPtr)); -/* 8 */ +/* 5 */ EXTERN void TkpPrintWindowId _ANSI_ARGS_((char * buf, Window window)); -/* 9 */ +/* 6 */ EXTERN int TkpScanWindowId _ANSI_ARGS_((Tcl_Interp * interp, char * string, int * idPtr)); -/* 10 */ +/* 7 */ EXTERN void TkpSetCapture _ANSI_ARGS_((TkWindow * winPtr)); -/* 11 */ +/* 8 */ EXTERN void TkpSetCursor _ANSI_ARGS_((TkpCursor cursor)); -/* 12 */ +/* 9 */ 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 */ +/* 10 */ 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 */ +/* 11 */ EXTERN void TkWinCancelMouseTimer _ANSI_ARGS_((void)); -/* 18 */ +/* 12 */ EXTERN void TkWinClipboardRender _ANSI_ARGS_(( TkDisplay * dispPtr, UINT format)); -/* 19 */ +/* 13 */ EXTERN LRESULT TkWinEmbeddedEventProc _ANSI_ARGS_((HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)); -/* 20 */ +/* 14 */ EXTERN void TkWinFillRect _ANSI_ARGS_((HDC dc, int x, int y, int width, int height, int pixel)); -/* 21 */ +/* 15 */ EXTERN COLORREF TkWinGetBorderPixels _ANSI_ARGS_((Tk_Window tkwin, Tk_3DBorder border, int which)); -/* 22 */ +/* 16 */ EXTERN HDC TkWinGetDrawableDC _ANSI_ARGS_((Display * display, Drawable d, TkWinDCState* state)); -/* 23 */ +/* 17 */ EXTERN int TkWinGetModifierState _ANSI_ARGS_((void)); -/* 24 */ +/* 18 */ EXTERN HPALETTE TkWinGetSystemPalette _ANSI_ARGS_((void)); -/* 25 */ +/* 19 */ EXTERN HWND TkWinGetWrapperWindow _ANSI_ARGS_((Tk_Window tkwin)); -/* 26 */ +/* 20 */ EXTERN int TkWinHandleMenuEvent _ANSI_ARGS_((HWND * phwnd, UINT * pMessage, WPARAM * pwParam, LPARAM * plParam, LRESULT * plResult)); -/* 27 */ +/* 21 */ EXTERN int TkWinIndexOfColor _ANSI_ARGS_((XColor * colorPtr)); -/* 28 */ +/* 22 */ EXTERN void TkWinReleaseDrawableDC _ANSI_ARGS_((Drawable d, HDC hdc, TkWinDCState* state)); -/* 29 */ +/* 23 */ EXTERN LRESULT TkWinResendEvent _ANSI_ARGS_((WNDPROC wndproc, HWND hwnd, XEvent * eventPtr)); -/* 30 */ +/* 24 */ EXTERN HPALETTE TkWinSelectPalette _ANSI_ARGS_((HDC dc, Colormap colormap)); -/* 31 */ +/* 25 */ EXTERN void TkWinSetMenu _ANSI_ARGS_((Tk_Window tkwin, HMENU hMenu)); -/* 32 */ +/* 26 */ EXTERN void TkWinSetWindowPos _ANSI_ARGS_((HWND hwnd, HWND siblingHwnd, int pos)); -/* 33 */ +/* 27 */ EXTERN void TkWinWmCleanup _ANSI_ARGS_((HINSTANCE hInstance)); -/* 34 */ +/* 28 */ EXTERN void TkWinXCleanup _ANSI_ARGS_((HINSTANCE hInstance)); -/* 35 */ +/* 29 */ EXTERN void TkWinXInit _ANSI_ARGS_((HINSTANCE hInstance)); -/* 36 */ +/* 30 */ EXTERN void TkWinSetForegroundWindow _ANSI_ARGS_(( TkWindow * winPtr)); -/* 37 */ +/* 31 */ EXTERN void TkWinDialogDebug _ANSI_ARGS_((int debug)); -/* 38 */ +/* 32 */ EXTERN Tcl_Obj * TkWinGetMenuSystemDefault _ANSI_ARGS_(( Tk_Window tkwin, char * dbName, char * className)); -/* 39 */ +/* 33 */ 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 */ +/* 1 */ EXTERN Pixmap TkpCreateNativeBitmap _ANSI_ARGS_((Display * display, char * source)); -/* 6 */ +/* 2 */ EXTERN void TkpDefineNativeBitmaps _ANSI_ARGS_((void)); -/* 7 */ +/* 3 */ EXTERN unsigned long TkpGetMS _ANSI_ARGS_((void)); -/* 8 */ +/* 4 */ EXTERN Pixmap TkpGetNativeAppBitmap _ANSI_ARGS_((Display * display, char * name, int * width, int * height)); -/* 9 */ +/* 5 */ EXTERN void TkPointerDeadWindow _ANSI_ARGS_((TkWindow * winPtr)); -/* 10 */ +/* 6 */ EXTERN void TkpSetCapture _ANSI_ARGS_((TkWindow * winPtr)); -/* 11 */ +/* 7 */ EXTERN void TkpSetCursor _ANSI_ARGS_((TkpCursor cursor)); -/* 12 */ +/* 8 */ 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 */ +/* 9 */ EXTERN int HandleWMEvent _ANSI_ARGS_((EventRecord * theEvent)); -/* 17 */ +/* 10 */ EXTERN void TkAboutDlg _ANSI_ARGS_((void)); -/* 18 */ +/* 11 */ EXTERN void TkCreateMacEventSource _ANSI_ARGS_((void)); -/* 19 */ +/* 12 */ EXTERN void TkFontList _ANSI_ARGS_((Tcl_Interp * interp, Display * display)); -/* 20 */ +/* 13 */ EXTERN Window TkGetTransientMaster _ANSI_ARGS_((TkWindow * winPtr)); -/* 21 */ +/* 14 */ EXTERN int TkGenerateButtonEvent _ANSI_ARGS_((int x, int y, Window window, unsigned int state)); -/* 22 */ +/* 15 */ EXTERN int TkGetCharPositions _ANSI_ARGS_(( XFontStruct * font_struct, char * string, int count, short * buffer)); -/* 23 */ +/* 16 */ EXTERN void TkGenWMDestroyEvent _ANSI_ARGS_((Tk_Window tkwin)); -/* 24 */ +/* 17 */ EXTERN void TkGenWMConfigureEvent _ANSI_ARGS_((Tk_Window tkwin, int x, int y, int width, int height, int flags)); -/* 25 */ +/* 18 */ EXTERN unsigned int TkMacButtonKeyState _ANSI_ARGS_((void)); -/* 26 */ +/* 19 */ EXTERN void TkMacClearMenubarActive _ANSI_ARGS_((void)); -/* 27 */ +/* 20 */ EXTERN int TkMacConvertEvent _ANSI_ARGS_(( EventRecord * eventPtr)); -/* 28 */ +/* 21 */ EXTERN int TkMacDispatchMenuEvent _ANSI_ARGS_((int menuID, int index)); -/* 29 */ +/* 22 */ EXTERN void TkMacInstallCursor _ANSI_ARGS_((int resizeOverride)); -/* 30 */ +/* 23 */ EXTERN int TkMacConvertTkEvent _ANSI_ARGS_(( EventRecord * eventPtr, Window window)); -/* 31 */ +/* 24 */ EXTERN void TkMacHandleTearoffMenu _ANSI_ARGS_((void)); -/* 32 */ +/* 25 */ EXTERN void tkMacInstallMWConsole _ANSI_ARGS_(( Tcl_Interp * interp)); -/* 33 */ +/* 26 */ EXTERN void TkMacInvalClipRgns _ANSI_ARGS_((TkWindow * winPtr)); -/* 34 */ +/* 27 */ EXTERN void TkMacDoHLEvent _ANSI_ARGS_((EventRecord * theEvent)); -/* 35 */ +/* 28 */ EXTERN void TkMacFontInfo _ANSI_ARGS_((Font fontId, short * family, short * style, short * size)); -/* 36 */ +/* 29 */ EXTERN Time TkMacGenerateTime _ANSI_ARGS_((void)); -/* 37 */ +/* 30 */ EXTERN GWorldPtr TkMacGetDrawablePort _ANSI_ARGS_((Drawable drawable)); -/* 38 */ +/* 31 */ EXTERN TkWindow * TkMacGetScrollbarGrowWindow _ANSI_ARGS_(( TkWindow * winPtr)); -/* 39 */ +/* 32 */ EXTERN Window TkMacGetXWindow _ANSI_ARGS_((WindowRef macWinPtr)); -/* 40 */ +/* 33 */ EXTERN int TkMacGrowToplevel _ANSI_ARGS_((WindowRef whichWindow, Point start)); -/* 41 */ +/* 34 */ EXTERN void TkMacHandleMenuSelect _ANSI_ARGS_((long mResult, int optionKeyPressed)); -/* 42 */ +/* 35 */ EXTERN int TkMacHaveAppearance _ANSI_ARGS_((void)); -/* 43 */ +/* 36 */ EXTERN void TkMacInitAppleEvents _ANSI_ARGS_(( Tcl_Interp * interp)); -/* 44 */ +/* 37 */ EXTERN void TkMacInitMenus _ANSI_ARGS_((Tcl_Interp * interp)); -/* 45 */ +/* 38 */ EXTERN void TkMacInvalidateWindow _ANSI_ARGS_(( MacDrawable * macWin, int flag)); -/* 46 */ +/* 39 */ EXTERN int TkMacIsCharacterMissing _ANSI_ARGS_((Tk_Font tkfont, unsigned int searchChar)); -/* 47 */ +/* 40 */ EXTERN void TkMacMakeRealWindowExist _ANSI_ARGS_(( TkWindow * winPtr)); -/* 48 */ +/* 41 */ EXTERN BitMapPtr TkMacMakeStippleMap _ANSI_ARGS_((Drawable d1, Drawable d2)); -/* 49 */ +/* 42 */ EXTERN void TkMacMenuClick _ANSI_ARGS_((void)); -/* 50 */ +/* 43 */ EXTERN void TkMacRegisterOffScreenWindow _ANSI_ARGS_(( Window window, GWorldPtr portPtr)); -/* 51 */ +/* 44 */ EXTERN int TkMacResizable _ANSI_ARGS_((TkWindow * winPtr)); -/* 52 */ +/* 45 */ EXTERN void TkMacSetEmbedRgn _ANSI_ARGS_((TkWindow * winPtr, RgnHandle rgn)); -/* 53 */ +/* 46 */ EXTERN void TkMacSetHelpMenuItemCount _ANSI_ARGS_((void)); -/* 54 */ +/* 47 */ EXTERN void TkMacSetScrollbarGrow _ANSI_ARGS_((TkWindow * winPtr, int flag)); -/* 55 */ +/* 48 */ EXTERN void TkMacSetUpClippingRgn _ANSI_ARGS_((Drawable drawable)); -/* 56 */ +/* 49 */ EXTERN void TkMacSetUpGraphicsPort _ANSI_ARGS_((GC gc)); -/* 57 */ +/* 50 */ EXTERN void TkMacUpdateClipRgn _ANSI_ARGS_((TkWindow * winPtr)); -/* 58 */ +/* 51 */ EXTERN void TkMacUnregisterMacWindow _ANSI_ARGS_(( GWorldPtr portPtr)); -/* 59 */ +/* 52 */ EXTERN int TkMacUseMenuID _ANSI_ARGS_((short macID)); -/* 60 */ +/* 53 */ EXTERN RgnHandle TkMacVisableClipRgn _ANSI_ARGS_((TkWindow * winPtr)); -/* 61 */ +/* 54 */ EXTERN void TkMacWinBounds _ANSI_ARGS_((TkWindow * winPtr, Rect * geometry)); -/* 62 */ +/* 55 */ EXTERN void TkMacWindowOffset _ANSI_ARGS_((WindowRef wRef, int * xOffset, int * yOffset)); -/* 63 */ +/* 56 */ EXTERN void TkResumeClipboard _ANSI_ARGS_((void)); -/* 64 */ +/* 57 */ EXTERN int TkSetMacColor _ANSI_ARGS_((unsigned long pixel, RGBColor * macColor)); -/* 65 */ +/* 58 */ EXTERN void TkSetWMName _ANSI_ARGS_((TkWindow * winPtr, Tk_Uid titleUid)); -/* 66 */ +/* 59 */ EXTERN void TkSuspendClipboard _ANSI_ARGS_((void)); -/* 67 */ +/* 60 */ EXTERN int TkWMGrowToplevel _ANSI_ARGS_((WindowRef whichWindow, Point start)); -/* 68 */ +/* 61 */ EXTERN int TkMacZoomToplevel _ANSI_ARGS_((WindowPtr whichWindow, Point where, short zoomPart)); -/* 69 */ +/* 62 */ EXTERN Tk_Window Tk_TopCoordsToWindow _ANSI_ARGS_((Tk_Window tkwin, int rootX, int rootY, int * newX, int * newY)); -/* 70 */ +/* 63 */ EXTERN MacDrawable * TkMacContainerId _ANSI_ARGS_((TkWindow * winPtr)); -/* 71 */ +/* 64 */ EXTERN MacDrawable * TkMacGetHostToplevel _ANSI_ARGS_((TkWindow * winPtr)); #endif /* MAC_TCL */ @@ -365,123 +326,116 @@ typedef struct TkIntPlatStubs { #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 */ + 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 (*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 */ + 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) @@ -528,451 +482,396 @@ extern TkIntPlatStubs *tkIntPlatStubsPtr; #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 +/* Slot 1 is reserved */ #ifndef TkGenerateActivateEvents #define TkGenerateActivateEvents \ - (tkIntPlatStubsPtr->tkGenerateActivateEvents) /* 4 */ -#endif -#ifndef TkIntersectRegion -#define TkIntersectRegion \ - (tkIntPlatStubsPtr->tkIntersectRegion) /* 5 */ + (tkIntPlatStubsPtr->tkGenerateActivateEvents) /* 2 */ #endif #ifndef TkpGetMS #define TkpGetMS \ - (tkIntPlatStubsPtr->tkpGetMS) /* 6 */ + (tkIntPlatStubsPtr->tkpGetMS) /* 3 */ #endif #ifndef TkPointerDeadWindow #define TkPointerDeadWindow \ - (tkIntPlatStubsPtr->tkPointerDeadWindow) /* 7 */ + (tkIntPlatStubsPtr->tkPointerDeadWindow) /* 4 */ #endif #ifndef TkpPrintWindowId #define TkpPrintWindowId \ - (tkIntPlatStubsPtr->tkpPrintWindowId) /* 8 */ + (tkIntPlatStubsPtr->tkpPrintWindowId) /* 5 */ #endif #ifndef TkpScanWindowId #define TkpScanWindowId \ - (tkIntPlatStubsPtr->tkpScanWindowId) /* 9 */ + (tkIntPlatStubsPtr->tkpScanWindowId) /* 6 */ #endif #ifndef TkpSetCapture #define TkpSetCapture \ - (tkIntPlatStubsPtr->tkpSetCapture) /* 10 */ + (tkIntPlatStubsPtr->tkpSetCapture) /* 7 */ #endif #ifndef TkpSetCursor #define TkpSetCursor \ - (tkIntPlatStubsPtr->tkpSetCursor) /* 11 */ + (tkIntPlatStubsPtr->tkpSetCursor) /* 8 */ #endif #ifndef TkpWmSetState #define TkpWmSetState \ - (tkIntPlatStubsPtr->tkpWmSetState) /* 12 */ -#endif -#ifndef TkRectInRegion -#define TkRectInRegion \ - (tkIntPlatStubsPtr->tkRectInRegion) /* 13 */ + (tkIntPlatStubsPtr->tkpWmSetState) /* 9 */ #endif #ifndef TkSetPixmapColormap #define TkSetPixmapColormap \ - (tkIntPlatStubsPtr->tkSetPixmapColormap) /* 14 */ -#endif -#ifndef TkSetRegion -#define TkSetRegion \ - (tkIntPlatStubsPtr->tkSetRegion) /* 15 */ -#endif -#ifndef TkUnionRectWithRegion -#define TkUnionRectWithRegion \ - (tkIntPlatStubsPtr->tkUnionRectWithRegion) /* 16 */ + (tkIntPlatStubsPtr->tkSetPixmapColormap) /* 10 */ #endif #ifndef TkWinCancelMouseTimer #define TkWinCancelMouseTimer \ - (tkIntPlatStubsPtr->tkWinCancelMouseTimer) /* 17 */ + (tkIntPlatStubsPtr->tkWinCancelMouseTimer) /* 11 */ #endif #ifndef TkWinClipboardRender #define TkWinClipboardRender \ - (tkIntPlatStubsPtr->tkWinClipboardRender) /* 18 */ + (tkIntPlatStubsPtr->tkWinClipboardRender) /* 12 */ #endif #ifndef TkWinEmbeddedEventProc #define TkWinEmbeddedEventProc \ - (tkIntPlatStubsPtr->tkWinEmbeddedEventProc) /* 19 */ + (tkIntPlatStubsPtr->tkWinEmbeddedEventProc) /* 13 */ #endif #ifndef TkWinFillRect #define TkWinFillRect \ - (tkIntPlatStubsPtr->tkWinFillRect) /* 20 */ + (tkIntPlatStubsPtr->tkWinFillRect) /* 14 */ #endif #ifndef TkWinGetBorderPixels #define TkWinGetBorderPixels \ - (tkIntPlatStubsPtr->tkWinGetBorderPixels) /* 21 */ + (tkIntPlatStubsPtr->tkWinGetBorderPixels) /* 15 */ #endif #ifndef TkWinGetDrawableDC #define TkWinGetDrawableDC \ - (tkIntPlatStubsPtr->tkWinGetDrawableDC) /* 22 */ + (tkIntPlatStubsPtr->tkWinGetDrawableDC) /* 16 */ #endif #ifndef TkWinGetModifierState #define TkWinGetModifierState \ - (tkIntPlatStubsPtr->tkWinGetModifierState) /* 23 */ + (tkIntPlatStubsPtr->tkWinGetModifierState) /* 17 */ #endif #ifndef TkWinGetSystemPalette #define TkWinGetSystemPalette \ - (tkIntPlatStubsPtr->tkWinGetSystemPalette) /* 24 */ + (tkIntPlatStubsPtr->tkWinGetSystemPalette) /* 18 */ #endif #ifndef TkWinGetWrapperWindow #define TkWinGetWrapperWindow \ - (tkIntPlatStubsPtr->tkWinGetWrapperWindow) /* 25 */ + (tkIntPlatStubsPtr->tkWinGetWrapperWindow) /* 19 */ #endif #ifndef TkWinHandleMenuEvent #define TkWinHandleMenuEvent \ - (tkIntPlatStubsPtr->tkWinHandleMenuEvent) /* 26 */ + (tkIntPlatStubsPtr->tkWinHandleMenuEvent) /* 20 */ #endif #ifndef TkWinIndexOfColor #define TkWinIndexOfColor \ - (tkIntPlatStubsPtr->tkWinIndexOfColor) /* 27 */ + (tkIntPlatStubsPtr->tkWinIndexOfColor) /* 21 */ #endif #ifndef TkWinReleaseDrawableDC #define TkWinReleaseDrawableDC \ - (tkIntPlatStubsPtr->tkWinReleaseDrawableDC) /* 28 */ + (tkIntPlatStubsPtr->tkWinReleaseDrawableDC) /* 22 */ #endif #ifndef TkWinResendEvent #define TkWinResendEvent \ - (tkIntPlatStubsPtr->tkWinResendEvent) /* 29 */ + (tkIntPlatStubsPtr->tkWinResendEvent) /* 23 */ #endif #ifndef TkWinSelectPalette #define TkWinSelectPalette \ - (tkIntPlatStubsPtr->tkWinSelectPalette) /* 30 */ + (tkIntPlatStubsPtr->tkWinSelectPalette) /* 24 */ #endif #ifndef TkWinSetMenu #define TkWinSetMenu \ - (tkIntPlatStubsPtr->tkWinSetMenu) /* 31 */ + (tkIntPlatStubsPtr->tkWinSetMenu) /* 25 */ #endif #ifndef TkWinSetWindowPos #define TkWinSetWindowPos \ - (tkIntPlatStubsPtr->tkWinSetWindowPos) /* 32 */ + (tkIntPlatStubsPtr->tkWinSetWindowPos) /* 26 */ #endif #ifndef TkWinWmCleanup #define TkWinWmCleanup \ - (tkIntPlatStubsPtr->tkWinWmCleanup) /* 33 */ + (tkIntPlatStubsPtr->tkWinWmCleanup) /* 27 */ #endif #ifndef TkWinXCleanup #define TkWinXCleanup \ - (tkIntPlatStubsPtr->tkWinXCleanup) /* 34 */ + (tkIntPlatStubsPtr->tkWinXCleanup) /* 28 */ #endif #ifndef TkWinXInit #define TkWinXInit \ - (tkIntPlatStubsPtr->tkWinXInit) /* 35 */ + (tkIntPlatStubsPtr->tkWinXInit) /* 29 */ #endif #ifndef TkWinSetForegroundWindow #define TkWinSetForegroundWindow \ - (tkIntPlatStubsPtr->tkWinSetForegroundWindow) /* 36 */ + (tkIntPlatStubsPtr->tkWinSetForegroundWindow) /* 30 */ #endif #ifndef TkWinDialogDebug #define TkWinDialogDebug \ - (tkIntPlatStubsPtr->tkWinDialogDebug) /* 37 */ + (tkIntPlatStubsPtr->tkWinDialogDebug) /* 31 */ #endif #ifndef TkWinGetMenuSystemDefault #define TkWinGetMenuSystemDefault \ - (tkIntPlatStubsPtr->tkWinGetMenuSystemDefault) /* 38 */ + (tkIntPlatStubsPtr->tkWinGetMenuSystemDefault) /* 32 */ #endif #ifndef TkWinGetPlatformId #define TkWinGetPlatformId \ - (tkIntPlatStubsPtr->tkWinGetPlatformId) /* 39 */ + (tkIntPlatStubsPtr->tkWinGetPlatformId) /* 33 */ #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 */ + (tkIntPlatStubsPtr->tkGenerateActivateEvents) /* 0 */ #endif #ifndef TkpCreateNativeBitmap #define TkpCreateNativeBitmap \ - (tkIntPlatStubsPtr->tkpCreateNativeBitmap) /* 5 */ + (tkIntPlatStubsPtr->tkpCreateNativeBitmap) /* 1 */ #endif #ifndef TkpDefineNativeBitmaps #define TkpDefineNativeBitmaps \ - (tkIntPlatStubsPtr->tkpDefineNativeBitmaps) /* 6 */ + (tkIntPlatStubsPtr->tkpDefineNativeBitmaps) /* 2 */ #endif #ifndef TkpGetMS #define TkpGetMS \ - (tkIntPlatStubsPtr->tkpGetMS) /* 7 */ + (tkIntPlatStubsPtr->tkpGetMS) /* 3 */ #endif #ifndef TkpGetNativeAppBitmap #define TkpGetNativeAppBitmap \ - (tkIntPlatStubsPtr->tkpGetNativeAppBitmap) /* 8 */ + (tkIntPlatStubsPtr->tkpGetNativeAppBitmap) /* 4 */ #endif #ifndef TkPointerDeadWindow #define TkPointerDeadWindow \ - (tkIntPlatStubsPtr->tkPointerDeadWindow) /* 9 */ + (tkIntPlatStubsPtr->tkPointerDeadWindow) /* 5 */ #endif #ifndef TkpSetCapture #define TkpSetCapture \ - (tkIntPlatStubsPtr->tkpSetCapture) /* 10 */ + (tkIntPlatStubsPtr->tkpSetCapture) /* 6 */ #endif #ifndef TkpSetCursor #define TkpSetCursor \ - (tkIntPlatStubsPtr->tkpSetCursor) /* 11 */ + (tkIntPlatStubsPtr->tkpSetCursor) /* 7 */ #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 */ + (tkIntPlatStubsPtr->tkpWmSetState) /* 8 */ #endif #ifndef HandleWMEvent #define HandleWMEvent \ - (tkIntPlatStubsPtr->handleWMEvent) /* 16 */ + (tkIntPlatStubsPtr->handleWMEvent) /* 9 */ #endif #ifndef TkAboutDlg #define TkAboutDlg \ - (tkIntPlatStubsPtr->tkAboutDlg) /* 17 */ + (tkIntPlatStubsPtr->tkAboutDlg) /* 10 */ #endif #ifndef TkCreateMacEventSource #define TkCreateMacEventSource \ - (tkIntPlatStubsPtr->tkCreateMacEventSource) /* 18 */ + (tkIntPlatStubsPtr->tkCreateMacEventSource) /* 11 */ #endif #ifndef TkFontList #define TkFontList \ - (tkIntPlatStubsPtr->tkFontList) /* 19 */ + (tkIntPlatStubsPtr->tkFontList) /* 12 */ #endif #ifndef TkGetTransientMaster #define TkGetTransientMaster \ - (tkIntPlatStubsPtr->tkGetTransientMaster) /* 20 */ + (tkIntPlatStubsPtr->tkGetTransientMaster) /* 13 */ #endif #ifndef TkGenerateButtonEvent #define TkGenerateButtonEvent \ - (tkIntPlatStubsPtr->tkGenerateButtonEvent) /* 21 */ + (tkIntPlatStubsPtr->tkGenerateButtonEvent) /* 14 */ #endif #ifndef TkGetCharPositions #define TkGetCharPositions \ - (tkIntPlatStubsPtr->tkGetCharPositions) /* 22 */ + (tkIntPlatStubsPtr->tkGetCharPositions) /* 15 */ #endif #ifndef TkGenWMDestroyEvent #define TkGenWMDestroyEvent \ - (tkIntPlatStubsPtr->tkGenWMDestroyEvent) /* 23 */ + (tkIntPlatStubsPtr->tkGenWMDestroyEvent) /* 16 */ #endif #ifndef TkGenWMConfigureEvent #define TkGenWMConfigureEvent \ - (tkIntPlatStubsPtr->tkGenWMConfigureEvent) /* 24 */ + (tkIntPlatStubsPtr->tkGenWMConfigureEvent) /* 17 */ #endif #ifndef TkMacButtonKeyState #define TkMacButtonKeyState \ - (tkIntPlatStubsPtr->tkMacButtonKeyState) /* 25 */ + (tkIntPlatStubsPtr->tkMacButtonKeyState) /* 18 */ #endif #ifndef TkMacClearMenubarActive #define TkMacClearMenubarActive \ - (tkIntPlatStubsPtr->tkMacClearMenubarActive) /* 26 */ + (tkIntPlatStubsPtr->tkMacClearMenubarActive) /* 19 */ #endif #ifndef TkMacConvertEvent #define TkMacConvertEvent \ - (tkIntPlatStubsPtr->tkMacConvertEvent) /* 27 */ + (tkIntPlatStubsPtr->tkMacConvertEvent) /* 20 */ #endif #ifndef TkMacDispatchMenuEvent #define TkMacDispatchMenuEvent \ - (tkIntPlatStubsPtr->tkMacDispatchMenuEvent) /* 28 */ + (tkIntPlatStubsPtr->tkMacDispatchMenuEvent) /* 21 */ #endif #ifndef TkMacInstallCursor #define TkMacInstallCursor \ - (tkIntPlatStubsPtr->tkMacInstallCursor) /* 29 */ + (tkIntPlatStubsPtr->tkMacInstallCursor) /* 22 */ #endif #ifndef TkMacConvertTkEvent #define TkMacConvertTkEvent \ - (tkIntPlatStubsPtr->tkMacConvertTkEvent) /* 30 */ + (tkIntPlatStubsPtr->tkMacConvertTkEvent) /* 23 */ #endif #ifndef TkMacHandleTearoffMenu #define TkMacHandleTearoffMenu \ - (tkIntPlatStubsPtr->tkMacHandleTearoffMenu) /* 31 */ + (tkIntPlatStubsPtr->tkMacHandleTearoffMenu) /* 24 */ #endif #ifndef tkMacInstallMWConsole #define tkMacInstallMWConsole \ - (tkIntPlatStubsPtr->tkMacInstallMWConsole) /* 32 */ + (tkIntPlatStubsPtr->tkMacInstallMWConsole) /* 25 */ #endif #ifndef TkMacInvalClipRgns #define TkMacInvalClipRgns \ - (tkIntPlatStubsPtr->tkMacInvalClipRgns) /* 33 */ + (tkIntPlatStubsPtr->tkMacInvalClipRgns) /* 26 */ #endif #ifndef TkMacDoHLEvent #define TkMacDoHLEvent \ - (tkIntPlatStubsPtr->tkMacDoHLEvent) /* 34 */ + (tkIntPlatStubsPtr->tkMacDoHLEvent) /* 27 */ #endif #ifndef TkMacFontInfo #define TkMacFontInfo \ - (tkIntPlatStubsPtr->tkMacFontInfo) /* 35 */ + (tkIntPlatStubsPtr->tkMacFontInfo) /* 28 */ #endif #ifndef TkMacGenerateTime #define TkMacGenerateTime \ - (tkIntPlatStubsPtr->tkMacGenerateTime) /* 36 */ + (tkIntPlatStubsPtr->tkMacGenerateTime) /* 29 */ #endif #ifndef TkMacGetDrawablePort #define TkMacGetDrawablePort \ - (tkIntPlatStubsPtr->tkMacGetDrawablePort) /* 37 */ + (tkIntPlatStubsPtr->tkMacGetDrawablePort) /* 30 */ #endif #ifndef TkMacGetScrollbarGrowWindow #define TkMacGetScrollbarGrowWindow \ - (tkIntPlatStubsPtr->tkMacGetScrollbarGrowWindow) /* 38 */ + (tkIntPlatStubsPtr->tkMacGetScrollbarGrowWindow) /* 31 */ #endif #ifndef TkMacGetXWindow #define TkMacGetXWindow \ - (tkIntPlatStubsPtr->tkMacGetXWindow) /* 39 */ + (tkIntPlatStubsPtr->tkMacGetXWindow) /* 32 */ #endif #ifndef TkMacGrowToplevel #define TkMacGrowToplevel \ - (tkIntPlatStubsPtr->tkMacGrowToplevel) /* 40 */ + (tkIntPlatStubsPtr->tkMacGrowToplevel) /* 33 */ #endif #ifndef TkMacHandleMenuSelect #define TkMacHandleMenuSelect \ - (tkIntPlatStubsPtr->tkMacHandleMenuSelect) /* 41 */ + (tkIntPlatStubsPtr->tkMacHandleMenuSelect) /* 34 */ #endif #ifndef TkMacHaveAppearance #define TkMacHaveAppearance \ - (tkIntPlatStubsPtr->tkMacHaveAppearance) /* 42 */ + (tkIntPlatStubsPtr->tkMacHaveAppearance) /* 35 */ #endif #ifndef TkMacInitAppleEvents #define TkMacInitAppleEvents \ - (tkIntPlatStubsPtr->tkMacInitAppleEvents) /* 43 */ + (tkIntPlatStubsPtr->tkMacInitAppleEvents) /* 36 */ #endif #ifndef TkMacInitMenus #define TkMacInitMenus \ - (tkIntPlatStubsPtr->tkMacInitMenus) /* 44 */ + (tkIntPlatStubsPtr->tkMacInitMenus) /* 37 */ #endif #ifndef TkMacInvalidateWindow #define TkMacInvalidateWindow \ - (tkIntPlatStubsPtr->tkMacInvalidateWindow) /* 45 */ + (tkIntPlatStubsPtr->tkMacInvalidateWindow) /* 38 */ #endif #ifndef TkMacIsCharacterMissing #define TkMacIsCharacterMissing \ - (tkIntPlatStubsPtr->tkMacIsCharacterMissing) /* 46 */ + (tkIntPlatStubsPtr->tkMacIsCharacterMissing) /* 39 */ #endif #ifndef TkMacMakeRealWindowExist #define TkMacMakeRealWindowExist \ - (tkIntPlatStubsPtr->tkMacMakeRealWindowExist) /* 47 */ + (tkIntPlatStubsPtr->tkMacMakeRealWindowExist) /* 40 */ #endif #ifndef TkMacMakeStippleMap #define TkMacMakeStippleMap \ - (tkIntPlatStubsPtr->tkMacMakeStippleMap) /* 48 */ + (tkIntPlatStubsPtr->tkMacMakeStippleMap) /* 41 */ #endif #ifndef TkMacMenuClick #define TkMacMenuClick \ - (tkIntPlatStubsPtr->tkMacMenuClick) /* 49 */ + (tkIntPlatStubsPtr->tkMacMenuClick) /* 42 */ #endif #ifndef TkMacRegisterOffScreenWindow #define TkMacRegisterOffScreenWindow \ - (tkIntPlatStubsPtr->tkMacRegisterOffScreenWindow) /* 50 */ + (tkIntPlatStubsPtr->tkMacRegisterOffScreenWindow) /* 43 */ #endif #ifndef TkMacResizable #define TkMacResizable \ - (tkIntPlatStubsPtr->tkMacResizable) /* 51 */ + (tkIntPlatStubsPtr->tkMacResizable) /* 44 */ #endif #ifndef TkMacSetEmbedRgn #define TkMacSetEmbedRgn \ - (tkIntPlatStubsPtr->tkMacSetEmbedRgn) /* 52 */ + (tkIntPlatStubsPtr->tkMacSetEmbedRgn) /* 45 */ #endif #ifndef TkMacSetHelpMenuItemCount #define TkMacSetHelpMenuItemCount \ - (tkIntPlatStubsPtr->tkMacSetHelpMenuItemCount) /* 53 */ + (tkIntPlatStubsPtr->tkMacSetHelpMenuItemCount) /* 46 */ #endif #ifndef TkMacSetScrollbarGrow #define TkMacSetScrollbarGrow \ - (tkIntPlatStubsPtr->tkMacSetScrollbarGrow) /* 54 */ + (tkIntPlatStubsPtr->tkMacSetScrollbarGrow) /* 47 */ #endif #ifndef TkMacSetUpClippingRgn #define TkMacSetUpClippingRgn \ - (tkIntPlatStubsPtr->tkMacSetUpClippingRgn) /* 55 */ + (tkIntPlatStubsPtr->tkMacSetUpClippingRgn) /* 48 */ #endif #ifndef TkMacSetUpGraphicsPort #define TkMacSetUpGraphicsPort \ - (tkIntPlatStubsPtr->tkMacSetUpGraphicsPort) /* 56 */ + (tkIntPlatStubsPtr->tkMacSetUpGraphicsPort) /* 49 */ #endif #ifndef TkMacUpdateClipRgn #define TkMacUpdateClipRgn \ - (tkIntPlatStubsPtr->tkMacUpdateClipRgn) /* 57 */ + (tkIntPlatStubsPtr->tkMacUpdateClipRgn) /* 50 */ #endif #ifndef TkMacUnregisterMacWindow #define TkMacUnregisterMacWindow \ - (tkIntPlatStubsPtr->tkMacUnregisterMacWindow) /* 58 */ + (tkIntPlatStubsPtr->tkMacUnregisterMacWindow) /* 51 */ #endif #ifndef TkMacUseMenuID #define TkMacUseMenuID \ - (tkIntPlatStubsPtr->tkMacUseMenuID) /* 59 */ + (tkIntPlatStubsPtr->tkMacUseMenuID) /* 52 */ #endif #ifndef TkMacVisableClipRgn #define TkMacVisableClipRgn \ - (tkIntPlatStubsPtr->tkMacVisableClipRgn) /* 60 */ + (tkIntPlatStubsPtr->tkMacVisableClipRgn) /* 53 */ #endif #ifndef TkMacWinBounds #define TkMacWinBounds \ - (tkIntPlatStubsPtr->tkMacWinBounds) /* 61 */ + (tkIntPlatStubsPtr->tkMacWinBounds) /* 54 */ #endif #ifndef TkMacWindowOffset #define TkMacWindowOffset \ - (tkIntPlatStubsPtr->tkMacWindowOffset) /* 62 */ + (tkIntPlatStubsPtr->tkMacWindowOffset) /* 55 */ #endif #ifndef TkResumeClipboard #define TkResumeClipboard \ - (tkIntPlatStubsPtr->tkResumeClipboard) /* 63 */ + (tkIntPlatStubsPtr->tkResumeClipboard) /* 56 */ #endif #ifndef TkSetMacColor #define TkSetMacColor \ - (tkIntPlatStubsPtr->tkSetMacColor) /* 64 */ + (tkIntPlatStubsPtr->tkSetMacColor) /* 57 */ #endif #ifndef TkSetWMName #define TkSetWMName \ - (tkIntPlatStubsPtr->tkSetWMName) /* 65 */ + (tkIntPlatStubsPtr->tkSetWMName) /* 58 */ #endif #ifndef TkSuspendClipboard #define TkSuspendClipboard \ - (tkIntPlatStubsPtr->tkSuspendClipboard) /* 66 */ + (tkIntPlatStubsPtr->tkSuspendClipboard) /* 59 */ #endif #ifndef TkWMGrowToplevel #define TkWMGrowToplevel \ - (tkIntPlatStubsPtr->tkWMGrowToplevel) /* 67 */ + (tkIntPlatStubsPtr->tkWMGrowToplevel) /* 60 */ #endif #ifndef TkMacZoomToplevel #define TkMacZoomToplevel \ - (tkIntPlatStubsPtr->tkMacZoomToplevel) /* 68 */ + (tkIntPlatStubsPtr->tkMacZoomToplevel) /* 61 */ #endif #ifndef Tk_TopCoordsToWindow #define Tk_TopCoordsToWindow \ - (tkIntPlatStubsPtr->tk_TopCoordsToWindow) /* 69 */ + (tkIntPlatStubsPtr->tk_TopCoordsToWindow) /* 62 */ #endif #ifndef TkMacContainerId #define TkMacContainerId \ - (tkIntPlatStubsPtr->tkMacContainerId) /* 70 */ + (tkIntPlatStubsPtr->tkMacContainerId) /* 63 */ #endif #ifndef TkMacGetHostToplevel #define TkMacGetHostToplevel \ - (tkIntPlatStubsPtr->tkMacGetHostToplevel) /* 71 */ + (tkIntPlatStubsPtr->tkMacGetHostToplevel) /* 64 */ #endif #endif /* MAC_TCL */ diff --git a/generic/tkIntXlibDecls.h b/generic/tkIntXlibDecls.h index 03d8209..47cd27d 100644 --- a/generic/tkIntXlibDecls.h +++ b/generic/tkIntXlibDecls.h @@ -9,7 +9,7 @@ * 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 $ + * RCS: @(#) $Id: tkIntXlibDecls.h,v 1.5.4.2 1999/04/27 21:09:42 stanton Exp $ */ #ifndef _TKINTXLIBDECLS @@ -594,6 +594,13 @@ EXTERN void XSetWMClientMachine _ANSI_ARGS_((Display* display, /* 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 { @@ -787,10 +794,18 @@ typedef struct TkIntXlibStubs { 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) @@ -1528,6 +1543,14 @@ extern TkIntXlibStubs *tkIntXlibStubsPtr; #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) */ diff --git a/generic/tkMenubutton.c b/generic/tkMenubutton.c index b9f0ddf..837f4e3 100644 --- a/generic/tkMenubutton.c +++ b/generic/tkMenubutton.c @@ -10,7 +10,7 @@ * 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 $ + * RCS: @(#) $Id: tkMenubutton.c,v 1.3.4.1 1999/04/24 00:10:55 stanton Exp $ */ #include "tkMenubutton.h" @@ -148,7 +148,7 @@ static char *commandNames[] = { }; enum command { - COMMAND_CGET, COMMAND_CONFIGURE, + COMMAND_CGET, COMMAND_CONFIGURE }; /* diff --git a/generic/tkPlatDecls.h b/generic/tkPlatDecls.h index e0dd331..a5f39bf 100644 --- a/generic/tkPlatDecls.h +++ b/generic/tkPlatDecls.h @@ -8,7 +8,7 @@ * 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 $ + * RCS: @(#) $Id: tkPlatDecls.h,v 1.3.4.1 1999/04/27 21:09:42 stanton Exp $ */ #ifndef _TKPLATDECLS @@ -111,7 +111,13 @@ typedef struct TkPlatStubs { #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) diff --git a/generic/tkStubInit.c b/generic/tkStubInit.c index 4e685c5..fd2b1a3 100644 --- a/generic/tkStubInit.c +++ b/generic/tkStubInit.c @@ -8,7 +8,7 @@ * 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 $ + * RCS: @(#) $Id: tkStubInit.c,v 1.5.4.4 1999/04/27 21:09:43 stanton Exp $ */ #include "tkInt.h" @@ -17,6 +17,9 @@ #ifdef __WIN32__ #include "tkWinInt.h" #endif +#ifdef MAC_TCL +#include "tkMacInt.h" +#endif #include "tkDecls.h" #include "tkPlatDecls.h" @@ -36,228 +39,6 @@ /* !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 */ - Tk_3DHorizontalBevel, /* 3 */ - Tk_3DVerticalBevel, /* 4 */ - Tk_AddOption, /* 5 */ - Tk_BindEvent, /* 6 */ - Tk_CanvasDrawableCoords, /* 7 */ - Tk_CanvasEventuallyRedraw, /* 8 */ - Tk_CanvasGetCoord, /* 9 */ - Tk_CanvasGetTextInfo, /* 10 */ - Tk_CanvasPsBitmap, /* 11 */ - Tk_CanvasPsColor, /* 12 */ - Tk_CanvasPsFont, /* 13 */ - Tk_CanvasPsPath, /* 14 */ - Tk_CanvasPsStipple, /* 15 */ - Tk_CanvasPsY, /* 16 */ - Tk_CanvasSetStippleOrigin, /* 17 */ - Tk_CanvasTagsParseProc, /* 18 */ - Tk_CanvasTagsPrintProc, /* 19 */ - Tk_CanvasTkwin, /* 20 */ - Tk_CanvasWindowCoords, /* 21 */ - Tk_ChangeWindowAttributes, /* 22 */ - Tk_CharBbox, /* 23 */ - Tk_ClearSelection, /* 24 */ - Tk_ClipboardAppend, /* 25 */ - Tk_ClipboardClear, /* 26 */ - Tk_ConfigureInfo, /* 27 */ - Tk_ConfigureValue, /* 28 */ - Tk_ConfigureWidget, /* 29 */ - Tk_ConfigureWindow, /* 30 */ - Tk_ComputeTextLayout, /* 31 */ - Tk_CoordsToWindow, /* 32 */ - Tk_CreateBinding, /* 33 */ - Tk_CreateBindingTable, /* 34 */ - Tk_CreateErrorHandler, /* 35 */ - Tk_CreateEventHandler, /* 36 */ - Tk_CreateGenericHandler, /* 37 */ - Tk_CreateImageType, /* 38 */ - Tk_CreateItemType, /* 39 */ - Tk_CreatePhotoImageFormat, /* 40 */ - Tk_CreateSelHandler, /* 41 */ - Tk_CreateWindow, /* 42 */ - Tk_CreateWindowFromPath, /* 43 */ - Tk_DefineBitmap, /* 44 */ - Tk_DefineCursor, /* 45 */ - Tk_DeleteAllBindings, /* 46 */ - Tk_DeleteBinding, /* 47 */ - Tk_DeleteBindingTable, /* 48 */ - Tk_DeleteErrorHandler, /* 49 */ - Tk_DeleteEventHandler, /* 50 */ - Tk_DeleteGenericHandler, /* 51 */ - Tk_DeleteImage, /* 52 */ - Tk_DeleteSelHandler, /* 53 */ - Tk_DestroyWindow, /* 54 */ - Tk_DisplayName, /* 55 */ - Tk_DistanceToTextLayout, /* 56 */ - Tk_Draw3DPolygon, /* 57 */ - Tk_Draw3DRectangle, /* 58 */ - Tk_DrawChars, /* 59 */ - Tk_DrawFocusHighlight, /* 60 */ - Tk_DrawTextLayout, /* 61 */ - Tk_Fill3DPolygon, /* 62 */ - Tk_Fill3DRectangle, /* 63 */ - Tk_FindPhoto, /* 64 */ - Tk_FontId, /* 65 */ - Tk_Free3DBorder, /* 66 */ - Tk_FreeBitmap, /* 67 */ - Tk_FreeColor, /* 68 */ - Tk_FreeColormap, /* 69 */ - Tk_FreeCursor, /* 70 */ - Tk_FreeFont, /* 71 */ - Tk_FreeGC, /* 72 */ - Tk_FreeImage, /* 73 */ - Tk_FreeOptions, /* 74 */ - Tk_FreePixmap, /* 75 */ - Tk_FreeTextLayout, /* 76 */ - Tk_FreeXId, /* 77 */ - Tk_GCForColor, /* 78 */ - Tk_GeometryRequest, /* 79 */ - Tk_Get3DBorder, /* 80 */ - Tk_GetAllBindings, /* 81 */ - Tk_GetAnchor, /* 82 */ - Tk_GetAtomName, /* 83 */ - Tk_GetBinding, /* 84 */ - Tk_GetBitmap, /* 85 */ - Tk_GetBitmapFromData, /* 86 */ - Tk_GetCapStyle, /* 87 */ - Tk_GetColor, /* 88 */ - Tk_GetColorByValue, /* 89 */ - Tk_GetColormap, /* 90 */ - Tk_GetCursor, /* 91 */ - Tk_GetCursorFromData, /* 92 */ - Tk_GetFont, /* 93 */ - Tk_GetFontFromObj, /* 94 */ - Tk_GetFontMetrics, /* 95 */ - Tk_GetGC, /* 96 */ - Tk_GetImage, /* 97 */ - Tk_GetImageMasterData, /* 98 */ - Tk_GetItemTypes, /* 99 */ - Tk_GetJoinStyle, /* 100 */ - Tk_GetJustify, /* 101 */ - Tk_GetNumMainWindows, /* 102 */ - Tk_GetOption, /* 103 */ - Tk_GetPixels, /* 104 */ - Tk_GetPixmap, /* 105 */ - Tk_GetRelief, /* 106 */ - Tk_GetRootCoords, /* 107 */ - Tk_GetScrollInfo, /* 108 */ - Tk_GetScreenMM, /* 109 */ - Tk_GetSelection, /* 110 */ - Tk_GetUid, /* 111 */ - Tk_GetVisual, /* 112 */ - Tk_GetVRootGeometry, /* 113 */ - Tk_Grab, /* 114 */ - Tk_HandleEvent, /* 115 */ - Tk_IdToWindow, /* 116 */ - Tk_ImageChanged, /* 117 */ - Tk_Init, /* 118 */ - Tk_InternAtom, /* 119 */ - Tk_IntersectTextLayout, /* 120 */ - Tk_MaintainGeometry, /* 121 */ - Tk_MainWindow, /* 122 */ - Tk_MakeWindowExist, /* 123 */ - Tk_ManageGeometry, /* 124 */ - Tk_MapWindow, /* 125 */ - Tk_MeasureChars, /* 126 */ - Tk_MoveResizeWindow, /* 127 */ - Tk_MoveWindow, /* 128 */ - Tk_MoveToplevelWindow, /* 129 */ - Tk_NameOf3DBorder, /* 130 */ - Tk_NameOfAnchor, /* 131 */ - Tk_NameOfBitmap, /* 132 */ - Tk_NameOfCapStyle, /* 133 */ - Tk_NameOfColor, /* 134 */ - Tk_NameOfCursor, /* 135 */ - Tk_NameOfFont, /* 136 */ - Tk_NameOfImage, /* 137 */ - Tk_NameOfJoinStyle, /* 138 */ - Tk_NameOfJustify, /* 139 */ - Tk_NameOfRelief, /* 140 */ - Tk_NameToWindow, /* 141 */ - Tk_OwnSelection, /* 142 */ - Tk_ParseArgv, /* 143 */ - Tk_PhotoPutBlock, /* 144 */ - Tk_PhotoPutZoomedBlock, /* 145 */ - Tk_PhotoGetImage, /* 146 */ - Tk_PhotoBlank, /* 147 */ - Tk_PhotoExpand, /* 148 */ - Tk_PhotoGetSize, /* 149 */ - Tk_PhotoSetSize, /* 150 */ - Tk_PointToChar, /* 151 */ - Tk_PostscriptFontName, /* 152 */ - Tk_PreserveColormap, /* 153 */ - Tk_QueueWindowEvent, /* 154 */ - Tk_RedrawImage, /* 155 */ - Tk_ResizeWindow, /* 156 */ - Tk_RestackWindow, /* 157 */ - Tk_RestrictEvents, /* 158 */ - Tk_SafeInit, /* 159 */ - Tk_SetAppName, /* 160 */ - Tk_SetBackgroundFromBorder, /* 161 */ - Tk_SetClass, /* 162 */ - Tk_SetGrid, /* 163 */ - Tk_SetInternalBorder, /* 164 */ - Tk_SetWindowBackground, /* 165 */ - Tk_SetWindowBackgroundPixmap, /* 166 */ - Tk_SetWindowBorder, /* 167 */ - Tk_SetWindowBorderWidth, /* 168 */ - Tk_SetWindowBorderPixmap, /* 169 */ - Tk_SetWindowColormap, /* 170 */ - Tk_SetWindowVisual, /* 171 */ - Tk_SizeOfBitmap, /* 172 */ - Tk_SizeOfImage, /* 173 */ - Tk_StrictMotif, /* 174 */ - Tk_TextLayoutToPostscript, /* 175 */ - Tk_TextWidth, /* 176 */ - Tk_UndefineCursor, /* 177 */ - Tk_UnderlineChars, /* 178 */ - Tk_UnderlineTextLayout, /* 179 */ - Tk_Ungrab, /* 180 */ - Tk_UnmaintainGeometry, /* 181 */ - Tk_UnmapWindow, /* 182 */ - Tk_UnsetGrid, /* 183 */ - Tk_UpdatePointer, /* 184 */ - Tk_AllocBitmapFromObj, /* 185 */ - Tk_Alloc3DBorderFromObj, /* 186 */ - Tk_AllocColorFromObj, /* 187 */ - Tk_AllocCursorFromObj, /* 188 */ - Tk_AllocFontFromObj, /* 189 */ - Tk_CreateOptionTable, /* 190 */ - Tk_DeleteOptionTable, /* 191 */ - Tk_Free3DBorderFromObj, /* 192 */ - Tk_FreeBitmapFromObj, /* 193 */ - Tk_FreeColorFromObj, /* 194 */ - Tk_FreeConfigOptions, /* 195 */ - Tk_FreeSavedOptions, /* 196 */ - Tk_FreeCursorFromObj, /* 197 */ - Tk_FreeFontFromObj, /* 198 */ - Tk_Get3DBorderFromObj, /* 199 */ - Tk_GetAnchorFromObj, /* 200 */ - Tk_GetBitmapFromObj, /* 201 */ - Tk_GetColorFromObj, /* 202 */ - Tk_GetCursorFromObj, /* 203 */ - Tk_GetOptionInfo, /* 204 */ - Tk_GetOptionValue, /* 205 */ - Tk_GetJustifyFromObj, /* 206 */ - Tk_GetMMFromObj, /* 207 */ - Tk_GetPixelsFromObj, /* 208 */ - Tk_GetReliefFromObj, /* 209 */ - Tk_GetScrollInfoObj, /* 210 */ - Tk_InitOptions, /* 211 */ - Tk_MainEx, /* 212 */ - Tk_RestoreSavedOptions, /* 213 */ - Tk_SetOptions, /* 214 */ -}; - TkIntStubs tkIntStubs = { TCL_STUB_MAGIC, NULL, @@ -374,6 +155,69 @@ TkIntStubs tkIntStubs = { 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 = { @@ -391,119 +235,106 @@ TkIntPlatStubs tkIntPlatStubs = { #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 */ + 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 - 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 */ + 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 */ }; @@ -697,6 +528,8 @@ TkIntXlibStubs tkIntXlibStubs = { XGetVisualInfo, /* 77 */ XSetWMClientMachine, /* 78 */ XStringListToTextProperty, /* 79 */ + XDrawSegments, /* 80 */ + XForceScreenSaver, /* 81 */ #endif /* MAC_TCL */ }; @@ -733,5 +566,224 @@ static TkStubHooks tkStubHooks = { &tkIntXlibStubs }; +TkStubs tkStubs = { + TCL_STUB_MAGIC, + &tkStubHooks, + Tk_MainLoop, /* 0 */ + Tk_3DBorderColor, /* 1 */ + Tk_3DBorderGC, /* 2 */ + Tk_3DHorizontalBevel, /* 3 */ + Tk_3DVerticalBevel, /* 4 */ + Tk_AddOption, /* 5 */ + Tk_BindEvent, /* 6 */ + Tk_CanvasDrawableCoords, /* 7 */ + Tk_CanvasEventuallyRedraw, /* 8 */ + Tk_CanvasGetCoord, /* 9 */ + Tk_CanvasGetTextInfo, /* 10 */ + Tk_CanvasPsBitmap, /* 11 */ + Tk_CanvasPsColor, /* 12 */ + Tk_CanvasPsFont, /* 13 */ + Tk_CanvasPsPath, /* 14 */ + Tk_CanvasPsStipple, /* 15 */ + Tk_CanvasPsY, /* 16 */ + Tk_CanvasSetStippleOrigin, /* 17 */ + Tk_CanvasTagsParseProc, /* 18 */ + Tk_CanvasTagsPrintProc, /* 19 */ + Tk_CanvasTkwin, /* 20 */ + Tk_CanvasWindowCoords, /* 21 */ + Tk_ChangeWindowAttributes, /* 22 */ + Tk_CharBbox, /* 23 */ + Tk_ClearSelection, /* 24 */ + Tk_ClipboardAppend, /* 25 */ + Tk_ClipboardClear, /* 26 */ + Tk_ConfigureInfo, /* 27 */ + Tk_ConfigureValue, /* 28 */ + Tk_ConfigureWidget, /* 29 */ + Tk_ConfigureWindow, /* 30 */ + Tk_ComputeTextLayout, /* 31 */ + Tk_CoordsToWindow, /* 32 */ + Tk_CreateBinding, /* 33 */ + Tk_CreateBindingTable, /* 34 */ + Tk_CreateErrorHandler, /* 35 */ + Tk_CreateEventHandler, /* 36 */ + Tk_CreateGenericHandler, /* 37 */ + Tk_CreateImageType, /* 38 */ + Tk_CreateItemType, /* 39 */ + Tk_CreatePhotoImageFormat, /* 40 */ + Tk_CreateSelHandler, /* 41 */ + Tk_CreateWindow, /* 42 */ + Tk_CreateWindowFromPath, /* 43 */ + Tk_DefineBitmap, /* 44 */ + Tk_DefineCursor, /* 45 */ + Tk_DeleteAllBindings, /* 46 */ + Tk_DeleteBinding, /* 47 */ + Tk_DeleteBindingTable, /* 48 */ + Tk_DeleteErrorHandler, /* 49 */ + Tk_DeleteEventHandler, /* 50 */ + Tk_DeleteGenericHandler, /* 51 */ + Tk_DeleteImage, /* 52 */ + Tk_DeleteSelHandler, /* 53 */ + Tk_DestroyWindow, /* 54 */ + Tk_DisplayName, /* 55 */ + Tk_DistanceToTextLayout, /* 56 */ + Tk_Draw3DPolygon, /* 57 */ + Tk_Draw3DRectangle, /* 58 */ + Tk_DrawChars, /* 59 */ + Tk_DrawFocusHighlight, /* 60 */ + Tk_DrawTextLayout, /* 61 */ + Tk_Fill3DPolygon, /* 62 */ + Tk_Fill3DRectangle, /* 63 */ + Tk_FindPhoto, /* 64 */ + Tk_FontId, /* 65 */ + Tk_Free3DBorder, /* 66 */ + Tk_FreeBitmap, /* 67 */ + Tk_FreeColor, /* 68 */ + Tk_FreeColormap, /* 69 */ + Tk_FreeCursor, /* 70 */ + Tk_FreeFont, /* 71 */ + Tk_FreeGC, /* 72 */ + Tk_FreeImage, /* 73 */ + Tk_FreeOptions, /* 74 */ + Tk_FreePixmap, /* 75 */ + Tk_FreeTextLayout, /* 76 */ + Tk_FreeXId, /* 77 */ + Tk_GCForColor, /* 78 */ + Tk_GeometryRequest, /* 79 */ + Tk_Get3DBorder, /* 80 */ + Tk_GetAllBindings, /* 81 */ + Tk_GetAnchor, /* 82 */ + Tk_GetAtomName, /* 83 */ + Tk_GetBinding, /* 84 */ + Tk_GetBitmap, /* 85 */ + Tk_GetBitmapFromData, /* 86 */ + Tk_GetCapStyle, /* 87 */ + Tk_GetColor, /* 88 */ + Tk_GetColorByValue, /* 89 */ + Tk_GetColormap, /* 90 */ + Tk_GetCursor, /* 91 */ + Tk_GetCursorFromData, /* 92 */ + Tk_GetFont, /* 93 */ + Tk_GetFontFromObj, /* 94 */ + Tk_GetFontMetrics, /* 95 */ + Tk_GetGC, /* 96 */ + Tk_GetImage, /* 97 */ + Tk_GetImageMasterData, /* 98 */ + Tk_GetItemTypes, /* 99 */ + Tk_GetJoinStyle, /* 100 */ + Tk_GetJustify, /* 101 */ + Tk_GetNumMainWindows, /* 102 */ + Tk_GetOption, /* 103 */ + Tk_GetPixels, /* 104 */ + Tk_GetPixmap, /* 105 */ + Tk_GetRelief, /* 106 */ + Tk_GetRootCoords, /* 107 */ + Tk_GetScrollInfo, /* 108 */ + Tk_GetScreenMM, /* 109 */ + Tk_GetSelection, /* 110 */ + Tk_GetUid, /* 111 */ + Tk_GetVisual, /* 112 */ + Tk_GetVRootGeometry, /* 113 */ + Tk_Grab, /* 114 */ + Tk_HandleEvent, /* 115 */ + Tk_IdToWindow, /* 116 */ + Tk_ImageChanged, /* 117 */ + Tk_Init, /* 118 */ + Tk_InternAtom, /* 119 */ + Tk_IntersectTextLayout, /* 120 */ + Tk_MaintainGeometry, /* 121 */ + Tk_MainWindow, /* 122 */ + Tk_MakeWindowExist, /* 123 */ + Tk_ManageGeometry, /* 124 */ + Tk_MapWindow, /* 125 */ + Tk_MeasureChars, /* 126 */ + Tk_MoveResizeWindow, /* 127 */ + Tk_MoveWindow, /* 128 */ + Tk_MoveToplevelWindow, /* 129 */ + Tk_NameOf3DBorder, /* 130 */ + Tk_NameOfAnchor, /* 131 */ + Tk_NameOfBitmap, /* 132 */ + Tk_NameOfCapStyle, /* 133 */ + Tk_NameOfColor, /* 134 */ + Tk_NameOfCursor, /* 135 */ + Tk_NameOfFont, /* 136 */ + Tk_NameOfImage, /* 137 */ + Tk_NameOfJoinStyle, /* 138 */ + Tk_NameOfJustify, /* 139 */ + Tk_NameOfRelief, /* 140 */ + Tk_NameToWindow, /* 141 */ + Tk_OwnSelection, /* 142 */ + Tk_ParseArgv, /* 143 */ + Tk_PhotoPutBlock, /* 144 */ + Tk_PhotoPutZoomedBlock, /* 145 */ + Tk_PhotoGetImage, /* 146 */ + Tk_PhotoBlank, /* 147 */ + Tk_PhotoExpand, /* 148 */ + Tk_PhotoGetSize, /* 149 */ + Tk_PhotoSetSize, /* 150 */ + Tk_PointToChar, /* 151 */ + Tk_PostscriptFontName, /* 152 */ + Tk_PreserveColormap, /* 153 */ + Tk_QueueWindowEvent, /* 154 */ + Tk_RedrawImage, /* 155 */ + Tk_ResizeWindow, /* 156 */ + Tk_RestackWindow, /* 157 */ + Tk_RestrictEvents, /* 158 */ + Tk_SafeInit, /* 159 */ + Tk_SetAppName, /* 160 */ + Tk_SetBackgroundFromBorder, /* 161 */ + Tk_SetClass, /* 162 */ + Tk_SetGrid, /* 163 */ + Tk_SetInternalBorder, /* 164 */ + Tk_SetWindowBackground, /* 165 */ + Tk_SetWindowBackgroundPixmap, /* 166 */ + Tk_SetWindowBorder, /* 167 */ + Tk_SetWindowBorderWidth, /* 168 */ + Tk_SetWindowBorderPixmap, /* 169 */ + Tk_SetWindowColormap, /* 170 */ + Tk_SetWindowVisual, /* 171 */ + Tk_SizeOfBitmap, /* 172 */ + Tk_SizeOfImage, /* 173 */ + Tk_StrictMotif, /* 174 */ + Tk_TextLayoutToPostscript, /* 175 */ + Tk_TextWidth, /* 176 */ + Tk_UndefineCursor, /* 177 */ + Tk_UnderlineChars, /* 178 */ + Tk_UnderlineTextLayout, /* 179 */ + Tk_Ungrab, /* 180 */ + Tk_UnmaintainGeometry, /* 181 */ + Tk_UnmapWindow, /* 182 */ + Tk_UnsetGrid, /* 183 */ + Tk_UpdatePointer, /* 184 */ + Tk_AllocBitmapFromObj, /* 185 */ + Tk_Alloc3DBorderFromObj, /* 186 */ + Tk_AllocColorFromObj, /* 187 */ + Tk_AllocCursorFromObj, /* 188 */ + Tk_AllocFontFromObj, /* 189 */ + Tk_CreateOptionTable, /* 190 */ + Tk_DeleteOptionTable, /* 191 */ + Tk_Free3DBorderFromObj, /* 192 */ + Tk_FreeBitmapFromObj, /* 193 */ + Tk_FreeColorFromObj, /* 194 */ + Tk_FreeConfigOptions, /* 195 */ + Tk_FreeSavedOptions, /* 196 */ + Tk_FreeCursorFromObj, /* 197 */ + Tk_FreeFontFromObj, /* 198 */ + Tk_Get3DBorderFromObj, /* 199 */ + Tk_GetAnchorFromObj, /* 200 */ + Tk_GetBitmapFromObj, /* 201 */ + Tk_GetColorFromObj, /* 202 */ + Tk_GetCursorFromObj, /* 203 */ + Tk_GetOptionInfo, /* 204 */ + Tk_GetOptionValue, /* 205 */ + Tk_GetJustifyFromObj, /* 206 */ + Tk_GetMMFromObj, /* 207 */ + Tk_GetPixelsFromObj, /* 208 */ + 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. */ diff --git a/generic/tkStubLib.c b/generic/tkStubLib.c index 438226f..9d14a6d 100644 --- a/generic/tkStubLib.c +++ b/generic/tkStubLib.c @@ -10,7 +10,7 @@ * 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 $ + * RCS: @(#) $Id: tkStubLib.c,v 1.3.4.1 1999/04/24 00:11:36 stanton Exp $ */ /* @@ -31,12 +31,15 @@ #endif #undef USE_TK_STUB_PROCS -#include "tkInt.h" #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" diff --git a/library/images/pwrdLogo100.gif b/library/images/pwrdLogo100.gif index eea4fba..d2f8cbb 100644 Binary files a/library/images/pwrdLogo100.gif and b/library/images/pwrdLogo100.gif differ diff --git a/library/images/pwrdLogo150.gif b/library/images/pwrdLogo150.gif index bf62548..89eec7c 100644 Binary files a/library/images/pwrdLogo150.gif and b/library/images/pwrdLogo150.gif differ diff --git a/library/images/pwrdLogo175.gif b/library/images/pwrdLogo175.gif index 7733fdd..02dcd92 100644 Binary files a/library/images/pwrdLogo175.gif and b/library/images/pwrdLogo175.gif differ diff --git a/library/images/pwrdLogo200.gif b/library/images/pwrdLogo200.gif index 965cb4b..66426bf 100644 Binary files a/library/images/pwrdLogo200.gif and b/library/images/pwrdLogo200.gif differ diff --git a/library/images/pwrdLogo75.gif b/library/images/pwrdLogo75.gif index 3a2b16e..e75925c 100644 Binary files a/library/images/pwrdLogo75.gif and b/library/images/pwrdLogo75.gif differ diff --git a/mac/README b/mac/README index 7d81595..d4a5475 100644 --- a/mac/README +++ b/mac/README @@ -8,7 +8,7 @@ Jim Ingham Cygnus Solutions jingham@cygnus.com -RCS: @(#) $Id: README,v 1.8 1999/04/16 01:51:29 stanton Exp $ +RCS: @(#) $Id: README,v 1.8.4.1 1999/04/22 23:05:59 welch Exp $ 1. Introduction --------------- @@ -19,54 +19,13 @@ 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.) +the Macintosh version of Tk. The list of these features is +maintained at + http://www.scriptics.com/mac/features.html 4. The Distribution ------------------- @@ -96,46 +55,7 @@ mactk-source-8.1.sea.hqx 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 +5. Compiling Tk --------------- In order to compile Macintosh Tk you must have the @@ -166,97 +86,6 @@ Special notes: 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 ?style? - -The 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 jingham@cygnus.com diff --git a/unix/README b/unix/README index 14d3d40..fa70199 100644 --- a/unix/README +++ b/unix/README @@ -1,7 +1,13 @@ +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 @@ -10,13 +16,13 @@ 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 $ +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.1a2 (or else use the "--with-tcl" switch described below). + ../../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. diff --git a/unix/configure.in b/unix/configure.in index baf20e1..6f183c3 100644 --- a/unix/configure.in +++ b/unix/configure.in @@ -3,12 +3,12 @@ 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 $ +# 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=0 +TK_PATCH_LEVEL= VERSION=${TK_VERSION} if test "${prefix}" = "NONE"; then diff --git a/win/README b/win/README index 8879da9..3af9cb7 100644 --- a/win/README +++ b/win/README @@ -4,113 +4,22 @@ by Scott Stanton Scriptics Corporation scott.stanton@scriptics.com -RCS: @(#) $Id: README,v 1.9 1999/04/16 01:51:48 stanton Exp $ - -1. Introduction ---------------- +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. -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: +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. -http://www.scriptics.com/support/bugForm.html +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. -or post them to the newsgroup comp.lang.tcl. +Information about compiling for windows is maintained at: + http://www.scriptics.com/support/howto/compile.html diff --git a/win/makefile.bc b/win/makefile.bc new file mode 100644 index 0000000..46814e6 --- /dev/null +++ b/win/makefile.bc @@ -0,0 +1,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 diff --git a/win/rc/tk.rc b/win/rc/tk.rc index 3960c3e..06b6963 100644 --- a/win/rc/tk.rc +++ b/win/rc/tk.rc @@ -1,4 +1,4 @@ -// RCS: @(#) $Id: tk.rc,v 1.3 1999/04/16 01:51:55 stanton Exp $ +// RCS: @(#) $Id: tk.rc,v 1.3.4.1 1999/04/27 21:47:50 stanton Exp $ // // Version // @@ -25,9 +25,9 @@ BEGIN 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 "CompanyName", "Scriptics Corporation\0" VALUE "FileVersion", TK_PATCH_LEVEL - VALUE "LegalCopyright", "Copyright \251 1995-1996\0" + VALUE "LegalCopyright", "Copyright \251 1999 by Scriptics Corporation\0" VALUE "ProductName", "Tk " TK_VERSION " for Windows\0" VALUE "ProductVersion", TK_PATCH_LEVEL END diff --git a/win/rc/wish.rc b/win/rc/wish.rc index 54e71e7..7b75ca8 100644 --- a/win/rc/wish.rc +++ b/win/rc/wish.rc @@ -1,7 +1,8 @@ -// RCS: @(#) $Id: wish.rc,v 1.2 1998/09/14 18:24:02 stanton Exp $ +// RCS: @(#) $Id: wish.rc,v 1.2.10.1 1999/04/27 21:47:50 stanton Exp $ // // Version // +#include #define RESOURCE_INCLUDED #include @@ -24,9 +25,9 @@ BEGIN 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 "CompanyName", "Scriptics Corporation\0" VALUE "FileVersion", TK_PATCH_LEVEL - VALUE "LegalCopyright", "Copyright \251 1995-1996\0" + VALUE "LegalCopyright", "Copyright \251 1999 by Scriptics Corporation\0" VALUE "ProductName", "Tk " TK_VERSION " for Windows\0" VALUE "ProductVersion", TK_PATCH_LEVEL END -- cgit v0.12