summaryrefslogtreecommitdiffstats
path: root/tk8.6/macosx
diff options
context:
space:
mode:
authorWilliam Joye <wjoye@cfa.harvard.edu>2018-12-25 19:55:50 (GMT)
committerWilliam Joye <wjoye@cfa.harvard.edu>2018-12-25 19:55:50 (GMT)
commitff51550ee89b473c63df78de6b2a413f21105687 (patch)
treebcdca927ed2a7b05c647b9a6bfdfd4a7ca5c730e /tk8.6/macosx
parent01cbf5b15ea760408c24288ccb5cf8e0af9aa299 (diff)
downloadblt-ff51550ee89b473c63df78de6b2a413f21105687.zip
blt-ff51550ee89b473c63df78de6b2a413f21105687.tar.gz
blt-ff51550ee89b473c63df78de6b2a413f21105687.tar.bz2
update tcl/tk
Diffstat (limited to 'tk8.6/macosx')
-rw-r--r--tk8.6/macosx/GNUmakefile315
-rw-r--r--tk8.6/macosx/README572
-rw-r--r--tk8.6/macosx/Tk-Common.xcconfig46
-rw-r--r--tk8.6/macosx/Tk-Debug.xcconfig19
-rw-r--r--tk8.6/macosx/Tk-Info.plist.in41
-rw-r--r--tk8.6/macosx/Tk-Release.xcconfig19
-rw-r--r--tk8.6/macosx/Tk.icnsbin154497 -> 0 bytes
-rw-r--r--tk8.6/macosx/Tk.tiffbin53684 -> 0 bytes
-rw-r--r--tk8.6/macosx/Tk.xcode/default.pbxuser384
-rw-r--r--tk8.6/macosx/Tk.xcode/project.pbxproj5779
-rw-r--r--tk8.6/macosx/Tk.xcodeproj/default.pbxuser399
-rw-r--r--tk8.6/macosx/Tk.xcodeproj/project.pbxproj5923
-rw-r--r--tk8.6/macosx/Wish-Info.plist.in82
-rw-r--r--tk8.6/macosx/Wish.sdef37
-rwxr-xr-xtk8.6/macosx/configure10132
-rw-r--r--tk8.6/macosx/configure.ac11
-rw-r--r--tk8.6/macosx/license.terms40
-rw-r--r--tk8.6/macosx/tkMacOSX.h34
-rw-r--r--tk8.6/macosx/tkMacOSXBitmap.c460
-rw-r--r--tk8.6/macosx/tkMacOSXButton.c1211
-rw-r--r--tk8.6/macosx/tkMacOSXClipboard.c299
-rw-r--r--tk8.6/macosx/tkMacOSXColor.c729
-rw-r--r--tk8.6/macosx/tkMacOSXConfig.c52
-rw-r--r--tk8.6/macosx/tkMacOSXConstants.h121
-rw-r--r--tk8.6/macosx/tkMacOSXCursor.c595
-rw-r--r--tk8.6/macosx/tkMacOSXCursors.h89
-rw-r--r--tk8.6/macosx/tkMacOSXDebug.c166
-rw-r--r--tk8.6/macosx/tkMacOSXDebug.h34
-rw-r--r--tk8.6/macosx/tkMacOSXDefault.h570
-rw-r--r--tk8.6/macosx/tkMacOSXDialog.c2039
-rw-r--r--tk8.6/macosx/tkMacOSXDraw.c1983
-rw-r--r--tk8.6/macosx/tkMacOSXEmbed.c1236
-rw-r--r--tk8.6/macosx/tkMacOSXEntry.c267
-rw-r--r--tk8.6/macosx/tkMacOSXEvent.c159
-rw-r--r--tk8.6/macosx/tkMacOSXEvent.h23
-rw-r--r--tk8.6/macosx/tkMacOSXFont.c1326
-rw-r--r--tk8.6/macosx/tkMacOSXFont.h32
-rw-r--r--tk8.6/macosx/tkMacOSXHLEvents.c547
-rw-r--r--tk8.6/macosx/tkMacOSXImage.c584
-rw-r--r--tk8.6/macosx/tkMacOSXInit.c586
-rw-r--r--tk8.6/macosx/tkMacOSXInt.h211
-rw-r--r--tk8.6/macosx/tkMacOSXKeyEvent.c743
-rw-r--r--tk8.6/macosx/tkMacOSXKeyboard.c949
-rw-r--r--tk8.6/macosx/tkMacOSXMenu.c1785
-rw-r--r--tk8.6/macosx/tkMacOSXMenubutton.c853
-rw-r--r--tk8.6/macosx/tkMacOSXMenus.c545
-rw-r--r--tk8.6/macosx/tkMacOSXMouseEvent.c581
-rw-r--r--tk8.6/macosx/tkMacOSXNotify.c395
-rw-r--r--tk8.6/macosx/tkMacOSXPort.h177
-rw-r--r--tk8.6/macosx/tkMacOSXPrivate.h381
-rw-r--r--tk8.6/macosx/tkMacOSXRegion.c559
-rw-r--r--tk8.6/macosx/tkMacOSXScale.c502
-rw-r--r--tk8.6/macosx/tkMacOSXScrlbr.c679
-rw-r--r--tk8.6/macosx/tkMacOSXSend.c515
-rw-r--r--tk8.6/macosx/tkMacOSXSubwindows.c1456
-rw-r--r--tk8.6/macosx/tkMacOSXTest.c118
-rw-r--r--tk8.6/macosx/tkMacOSXWindowEvent.c1112
-rw-r--r--tk8.6/macosx/tkMacOSXWm.c6827
-rw-r--r--tk8.6/macosx/tkMacOSXWm.h267
-rw-r--r--tk8.6/macosx/tkMacOSXXCursors.h711
-rw-r--r--tk8.6/macosx/tkMacOSXXStubs.c981
-rw-r--r--tk8.6/macosx/ttkMacOSXTheme.c1207
62 files changed, 0 insertions, 58495 deletions
diff --git a/tk8.6/macosx/GNUmakefile b/tk8.6/macosx/GNUmakefile
deleted file mode 100644
index d0bab1a..0000000
--- a/tk8.6/macosx/GNUmakefile
+++ /dev/null
@@ -1,315 +0,0 @@
-########################################################################################################
-#
-# Makefile wrapper to build tk on Mac OS X in a way compatible with the tk/macosx Xcode buildsystem
-# uses the standard unix build system in tk/unix (which can be used directly instead of this
-# if you are not using the tk/macosx projects).
-#
-# Copyright (c) 2002-2008 Daniel A. Steffen <das@users.sourceforge.net>
-#
-# See the file "license.terms" for information on usage and redistribution of
-# this file, and for a DISCLAIMER OF ALL WARRANTIES.
-#
-########################################################################################################
-
-#-------------------------------------------------------------------------------------------------------
-# customizable settings
-
-DESTDIR ?=
-INSTALL_ROOT ?= ${DESTDIR}
-
-BUILD_DIR ?= ${CURDIR}/../../build
-SYMROOT ?= ${BUILD_DIR}/${PROJECT}
-OBJROOT ?= ${SYMROOT}
-
-EXTRA_CONFIGURE_ARGS ?=
-EXTRA_MAKE_ARGS ?=
-
-INSTALL_PATH ?= /Library/Frameworks
-APPLICATION_INSTALL_PATH ?= /Applications/Utilities
-PREFIX ?= /usr/local
-BINDIR ?= ${PREFIX}/bin
-LIBDIR ?= ${INSTALL_PATH}
-MANDIR ?= ${PREFIX}/man
-
-# tcl build directory (containing tclConfig.sh and Makefile)
-TCL_BUILD_DIR ?= ${BUILD_DIR}/tcl/${BUILD_STYLE}
-# location of installed tcl, only used if tcl in TCL_BUILD_DIR can't be found
-TCL_FRAMEWORK_DIR ?= /Library/Frameworks
-TCLSH_DIR ?= ${PREFIX}/bin
-
-# set to non-empty value to install manpages in addition to html help:
-INSTALL_MANPAGES ?=
-
-# set to non-empty value to build TkX11 instead of TkAqua:
-TK_X11 ?=
-
-#-------------------------------------------------------------------------------------------------------
-# meta targets
-
-meta := all install embedded install-embedded clean distclean test
-
-styles := develop deploy
-
-all := ${styles}
-all : ${all}
-
-install := ${styles:%=install-%}
-install : ${install}
-install-%: action := install-
-
-embedded := ${styles:%=embedded-%}
-embedded : embedded-deploy
-install-embedded := ${embedded:%=install-%}
-install-embedded : install-embedded-deploy
-
-clean := ${styles:%=clean-%}
-clean : ${clean}
-clean-%: action := clean-
-distclean := ${styles:%=distclean-%}
-distclean : ${distclean}
-distclean-%: action := distclean-
-
-test := ${styles:%=test-%}
-test : ${test}
-test-%: action := test-
-
-targets := $(foreach v,${meta},${$v})
-
-#-------------------------------------------------------------------------------------------------------
-# build styles
-
-BUILD_STYLE =
-CONFIGURE_ARGS =
-OBJ_DIR = ${OBJROOT}/${BUILD_STYLE}
-
-empty :=
-space := ${empty} ${empty}
-objdir = $(subst ${space},\ ,${OBJ_DIR})
-
-develop_make_args := BUILD_STYLE=Development CONFIGURE_ARGS=--enable-symbols
-deploy_make_args := BUILD_STYLE=Deployment INSTALL_TARGET=install-strip
-embedded_make_args := EMBEDDED_BUILD=1
-install_make_args := INSTALL_BUILD=1
-
-${targets}:
- ${MAKE} ${action}${PROJECT} \
- $(foreach s,${styles} embedded install,$(if $(findstring $s,$@),${${s}_make_args}))
-
-#-------------------------------------------------------------------------------------------------------
-# project specific settings
-
-PROJECT := tk
-PRODUCT_NAME := Tk
-
-UNIX_DIR := ${CURDIR}/../unix
-VERSION := $(shell awk -F= '/^TK_VERSION/ {print $$2; nextfile}' ${UNIX_DIR}/configure.in)
-TCL_VERSION := ${VERSION}
-wish := wish
-WISH = wish${VERSION}
-
-BUILD_TARGET := all tktest
-INSTALL_TARGET := install
-
-ifneq ($(wildcard $(subst ${space},\ ,${TCL_BUILD_DIR})/tclConfig.sh),)
-TCL_DIR := ${TCL_BUILD_DIR}
-TCL_FRAMEWORK_DIR := ${TCL_BUILD_DIR}/..
-MAKE_VARS :=
-else
-TCL_DIR := ${TCL_FRAMEWORK_DIR}/Tcl.framework
-TCL_EXE := ${TCLSH_DIR}/tclsh${TCL_VERSION}
-MAKE_VARS := TCL_EXE
-export DYLD_FRAMEWORK_PATH := ${TCL_FRAMEWORK_DIR}
-endif
-
-export CPPROG := cp -p
-
-ifeq (${TK_X11},)
-override CONFIGURE_ARGS := ${CONFIGURE_ARGS} --enable-aqua
-else
-override CONFIGURE_ARGS := ${CONFIGURE_ARGS} --enable-xft
-VERSION := ${VERSION}-X11
-wish := ${wish}-X11
-override EMBEDDED_BUILD :=
-endif
-
-INSTALL_TARGETS = install-binaries install-libraries
-ifeq (${EMBEDDED_BUILD},)
-INSTALL_TARGETS += install-private-headers install-headers install-demos
-endif
-ifeq (${INSTALL_BUILD}_${EMBEDDED_BUILD}_${BUILD_STYLE},1__Deployment)
-INSTALL_TARGETS += html-tk
-ifneq (${INSTALL_MANPAGES},)
-INSTALL_TARGETS += install-doc
-endif
-endif
-
-MAKE_VARS += INSTALL_ROOT INSTALL_TARGETS VERSION
-MAKE_ARGS_V = $(foreach v,${MAKE_VARS},$v='${$v}')
-
-build-${PROJECT}: target = ${BUILD_TARGET}
-install-${PROJECT}: target = ${INSTALL_TARGET}
-clean-${PROJECT} distclean-${PROJECT} test-${PROJECT}: \
- target = $*
-
-DO_MAKE = +${MAKE} -C "${OBJ_DIR}" ${target} ${MAKE_ARGS_V} ${MAKE_ARGS} ${EXTRA_MAKE_ARGS}
-
-#-------------------------------------------------------------------------------------------------------
-# locations for custom tk install actions
-
-ifeq (${INSTALL_BUILD},1)
-TOP_DIR := ${INSTALL_ROOT}/
-APP_DIR := ${APPLICATION_INSTALL_PATH}
-FMWK_DIR := ${LIBDIR}
-else
-TOP_DIR := ${SYMROOT}
-APP_DIR := .
-FMWK_DIR := .
-endif
-
-TCL_FMWK_DIR := ${FMWK_DIR}/Tcl.framework/Versions/${TCL_VERSION}
-TK_FMWK_DIR := ${FMWK_DIR}/${PRODUCT_NAME}.framework/Versions/${VERSION}
-
-#-------------------------------------------------------------------------------------------------------
-# build rules
-
-${PROJECT}:
- ${MAKE} install-${PROJECT} INSTALL_ROOT="${OBJ_DIR}/"
-
-${objdir}/Makefile: ${UNIX_DIR}/Makefile.in ${UNIX_DIR}/configure \
- ${UNIX_DIR}/tkConfig.sh.in Tk-Info.plist.in Wish-Info.plist.in
- mkdir -p "${OBJ_DIR}" && cd "${OBJ_DIR}" && \
- if [ ${UNIX_DIR}/configure -nt config.status ]; then ${UNIX_DIR}/configure -C \
- --prefix="${PREFIX}" --bindir="${BINDIR}" --libdir="${LIBDIR}" \
- --mandir="${MANDIR}" --enable-threads --enable-framework \
- --with-tcl="${TCL_DIR}" \
- ${CONFIGURE_ARGS} ${EXTRA_CONFIGURE_ARGS}; else ./config.status; fi
-ifneq (${VERSION},${TCL_VERSION})
- @cd "${OBJ_DIR}" && sed -e 's#/Versions/${TCL_VERSION}#/Versions/${VERSION}#' \
- tkConfig.sh > tkConfig.sh.1 && mv -f tkConfig.sh.1 tkConfig.sh
-endif
-
-build-${PROJECT}: ${objdir}/Makefile
- ${DO_MAKE}
-ifeq (${INSTALL_BUILD},)
-# symolic link hackery to trick
-# 'make install INSTALL_ROOT=${OBJ_DIR}'
-# into building Tk.framework and wish in ${SYMROOT}
- @cd "${OBJ_DIR}" && mkdir -p $(dir $(subst ${space},\ ,./${LIBDIR})) $(dir $(subst ${space},\ ,./${BINDIR})) "${SYMROOT}" && \
- rm -rf "./${LIBDIR}" "./${BINDIR}" && ln -fs "${SYMROOT}" "./${LIBDIR}" && \
- ln -fs "${SYMROOT}" "./${BINDIR}" && ln -fs "${OBJ_DIR}/tktest" "${SYMROOT}"
-ifeq (${TK_X11},)
- @rm -f "${OBJ_DIR}/${BINDIR}" && \
- ln -fs Wish.app/Contents/MacOS/Wish "${SYMROOT}/${WISH}"
-endif
-# Create symbolic link to Tcl.framework in ${SYMROOT}if necessary
- @cd "${SYMROOT}" && if [ ! -e Tcl.framework -o -L Tcl.framework ]; then \
- rm -f Tcl.framework && ln -s "${TCL_FRAMEWORK_DIR}/Tcl.framework" . ; fi
-endif
-
-install-${PROJECT}: build-${PROJECT}
-ifeq (${EMBEDDED_BUILD}_${INSTALL_ROOT},1_)
- @echo "Cannot install-embedded with empty INSTALL_ROOT !" && false
-endif
-ifeq (${EMBEDDED_BUILD},1)
- @rm -rf "${INSTALL_ROOT}/${LIBDIR}/Tk.framework"
-endif
- ${DO_MAKE}
-ifeq (${EMBEDDED_BUILD}_${TK_X11},1_)
-# workaround bug with 'cp -pRH' on Darwin 6 and earlier
- @if [ "`uname -r | awk -F. '{print $$1}'`" -lt 7 ]; then \
- mkdir -p "${TOP_DIR}"/{"${TCL_FMWK_DIR}","${TK_FMWK_DIR}"}/PrivateHeaders; fi
-endif
-ifeq (${INSTALL_BUILD},1)
-ifeq (${EMBEDDED_BUILD},1)
-# if we are embedding frameworks, don't install wish
- @rm -f "${INSTALL_ROOT}${BINDIR}/${WISH}" && \
- rmdir -p "${INSTALL_ROOT}${BINDIR}" 2>&- || true
-else
-# redo prebinding (when not building for Mac OS X 10.4 or later only)
- @if [ "`echo "$${MACOSX_DEPLOYMENT_TARGET}" | \
- awk -F '10\\.' '{print int($$2)}'`" -lt 4 -a "`echo "$${CFLAGS}" | \
- awk -F '-mmacosx-version-min=10\\.' '{print int($$2)}'`" -lt 4 ]; \
- then cd ${INSTALL_ROOT}/; \
- if [ ! -d usr/lib ]; then mkdir -p usr && ln -fs /usr/lib usr/ && RM_USRLIB=1; fi; \
- if [ -n "${TK_X11}" -a ! -d usr/X11R6 ]; then mkdir -p usr && ln -fs /usr/X11R6 usr/ && RM_USRX11=1; fi; \
- if [ ! -d System ]; then ln -fs /System . && RM_SYSTEM=1; fi; \
- if [ ! -d "./${LIBDIR}/Tcl.framework" ]; then ln -fs "${TCL_FRAMEWORK_DIR}/Tcl.framework" "./${LIBDIR}"; RM_TCL=1; fi; \
- redo_prebinding -r . "./${TK_FMWK_DIR}/${PRODUCT_NAME}"; \
- if [ -z "${TK_X11}" ]; then redo_prebinding -r . "./${TK_FMWK_DIR}/Resources/Wish.app/Contents/MacOS/Wish"; \
- else redo_prebinding -r . "./${BINDIR}/${WISH}"; fi; \
- if [ -n "$${RM_USRLIB:-}" ]; then rm -f usr/lib; rmdir -p usr 2>&-; fi; \
- if [ -n "$${RM_USRX11:-}" ]; then rm -f usr/X11R6; rmdir -p usr 2>&-; fi; \
- if [ -n "$${RM_SYSTEM:-}" ]; then rm -f System; fi; \
- if [ -n "$${RM_TCL:-}" ]; then rm -f "./${LIBDIR}/Tcl.framework"; fi; fi
-# install wish symbolic link
- @ln -fs ${WISH} "${INSTALL_ROOT}${BINDIR}/${wish}"
-endif
-endif
-ifeq (${BUILD_STYLE}_${EMBEDDED_BUILD},Development_)
-# keep copy of debug library around, so that
-# Deployment build can be installed on top
-# of Development build without overwriting
-# the debug library
- @cd "${INSTALL_ROOT}${LIBDIR}/${PRODUCT_NAME}.framework/Versions/${VERSION}" && \
- ln -f "${PRODUCT_NAME}" "${PRODUCT_NAME}_debug"
-endif
-ifeq (${TK_X11},)
-ifeq (${EMBEDDED_BUILD},)
-# install Wish.app link in APPLICATION_INSTALL_PATH and setup 'Wish Shell' compatibility links
- @cd "${TOP_DIR}" && if [ -n "${APP_DIR}" ]; then mkdir -p "./${APP_DIR}" && rm -rf "./${APP_DIR}/Wish.app" && \
- ln -fsh "./$$(echo "${APP_DIR}" | sed -e 's#/[^/][^/]*#/..#g')/${FMWK_DIR}/${PRODUCT_NAME}.framework/Resources/Wish.app" "./${APP_DIR}" && \
- ln -fsh Wish.app "./${APP_DIR}/Wish Shell.app"; fi && \
- ln -fsh Wish.app "./${TK_FMWK_DIR}/Resources/Wish Shell.app" && \
- ln -fsh Wish "./${TK_FMWK_DIR}/Resources/Wish.app/Contents/MacOS/Wish Shell"
-else
-# if we are embedding frameworks, move them into the app and fix their install names
- @cd "${TOP_DIR}" && \
- rm -rf "./${APP_DIR}/Wish.app" && mkdir -p "./${APP_DIR}" && \
- mv -f "./${TK_FMWK_DIR}/Resources/Wish.app" "./${APP_DIR}" && \
- ln -fsh Wish.app "./${APP_DIR}/Wish Shell.app" && \
- rm -rf "./${APP_DIR}/Wish.app/Contents/Frameworks" && \
- mkdir -p "./${APP_DIR}/Wish.app/Contents/Frameworks" && \
- ${CPPROG} -RH "./${FMWK_DIR}"/T{cl,k}.framework "./${APP_DIR}/Wish.app/Contents/Frameworks" && \
- cd "./${APP_DIR}/Wish.app/Contents" && \
- rm -rf Frameworks/Tcl.framework/{,/Versions/${TCL_VERSION}}/{Headers,PrivateHeaders,*_debug,lib*.a,*Config.sh} && \
- rm -rf Frameworks/Tk.framework/{,/Versions/${VERSION}}/{Headers,PrivateHeaders,*_debug,lib*.a,*Config.sh} && \
- fix_install_id ( ) { \
- chmod -RH a+w "$$1"; \
- install_name_tool -id $$(otool -L "$$1" | awk "/$$2\.framework.*[^:]\$$/ {sub(\"^.*/Frameworks\",\"@executable_path/../Frameworks\",\$$1); print \$$1}") "$$1"; \
- chmod -RH a-w "$$1"; \
- } && \
- fix_install_name ( ) { \
- chmod -RH a+w "$$1"; \
- install_name_tool -change $$(otool -L "$$1" | awk "/$$2\.framework.*[^:]\$$/ {print \$$1; sub(\"^.*/Frameworks\",\"@executable_path/../Frameworks\",\$$1); print \$$1}") "$$1"; \
- chmod -RH a-w "$$1"; \
- } && \
- fix_install_id Frameworks/Tcl.framework/Tcl Tcl && fix_install_id Frameworks/Tk.framework/Tk Tk && \
- fix_install_name MacOS/Wish Tcl && fix_install_name MacOS/Wish Tk
-ifeq (${INSTALL_BUILD},1)
- @cd "${TOP_DIR}" && rm -rf "./${FMWK_DIR}"/T{cl,k}.framework && rmdir -p "./${FMWK_DIR}" 2>&- || true
-endif
-endif
-endif
-
-clean-${PROJECT}: %-${PROJECT}:
- ${DO_MAKE}
- rm -rf "${SYMROOT}"/{${PRODUCT_NAME}.framework,${WISH},tktest}
- rm -f "${OBJ_DIR}"{"${LIBDIR}","${BINDIR}"} && \
- rmdir -p "${OBJ_DIR}"$(dir $(subst ${space},\ ,${LIBDIR})) 2>&- || true && \
- rmdir -p "${OBJ_DIR}"$(dir $(subst ${space},\ ,${BINDIR})) 2>&- || true
-
-distclean-${PROJECT}: %-${PROJECT}: clean-${PROJECT}
- ${DO_MAKE}
- rm -rf "${OBJ_DIR}"
-
-test-${PROJECT}: %-${PROJECT}: build-${PROJECT}
- ${DO_MAKE}
-
-#-------------------------------------------------------------------------------------------------------
-
-.PHONY: ${meta} ${targets} ${PROJECT} build-${PROJECT} install-${PROJECT} \
- clean-${PROJECT} distclean-${PROJECT}
-
-.NOTPARALLEL:
-
-#-------------------------------------------------------------------------------------------------------
diff --git a/tk8.6/macosx/README b/tk8.6/macosx/README
deleted file mode 100644
index c63b8ae..0000000
--- a/tk8.6/macosx/README
+++ /dev/null
@@ -1,572 +0,0 @@
-Tcl/Tk macOS README
-----------------------
-
-This is the README file for the macOS/Darwin version of Tcl/Tk.
-
-1. Where to go for support
---------------------------
-
-- The tcl-mac mailing list on sourceforge is the best place to ask questions
-specific to Tcl & Tk on macOS:
- http://lists.sourceforge.net/lists/listinfo/tcl-mac
-(this page also has a link to searchable archives of the list, please check them
-before asking on the list, many questions have already been answered).
-
-- For general Tcl/Tk questions, the newsgroup comp.lang.tcl is your best bet:
- http://groups.google.com/group/comp.lang.tcl/
-
-- The Tcl'ers Wiki also has many pages dealing with Tcl & Tk on macOS, see
- http://wiki.tcl.tk/_/ref?N=3753
- http://wiki.tcl.tk/_/ref?N=8361
-
-- Please report bugs with Tk on macOS to the tracker:
- http://core.tcl.tk/tk/reportlist
-
-2. Using Tcl/Tk on macOS
----------------------------
-
-- There are two versions of Tk available on macOS: TkAqua using the native
-aqua widgets and look&feel, and TkX11 using the traditional unix X11 wigets.
-TkX11 requires an X11 server to be installed, such as Apple's X11 (which is
-available as an optional or default install on recent macOS).
-TkAqua and TkX11 can be distinguished at runtime via [tk windowingsystem].
-
-- At a minimum, macOS 10.3 is required to run Tcl and TkX11.
-TkAqua requires macOS 10.6 or later.
-
-- Unless weak-linking is used, Tcl/Tk built on macOS 10.x will not run on
-10.y with y < x; on the other hand Tcl/Tk built on 10.y will always run on 10.x
-with y <= x (but without any of the fixes and optimizations that would be
-available in a binary built on 10.x).
-Weak-linking is available on OS X 10.2 or later, it additionally allows Tcl/Tk
-built on 10.x to run on any 10.y with x > y >= z (for a chosen z >= 2).
-
-- Wish checks the Resources/Scripts directory in its application bundle for a
-file called AppMain.tcl, if found it is used as the startup script and the
-Scripts folder is added to the auto_path. This can be used to emulate the old
-OS9 TclTk droplets.
-
-- If standard input is a special file of zero length (e.g. /dev/null), Wish
-brings up the Tk console window at startup. This is the case when double
-clicking Wish in the Finder (or using 'open Wish.app' from the Terminal).
-
-- Tcl extensions can be installed in any of:
- $HOME/Library/Tcl /Library/Tcl /System/Library/Tcl
- $HOME/Library/Frameworks /Library/Frameworks /System/Library/Frameworks
- (searched in that order).
-Given a potential package directory $pkg, Tcl on OSX checks for the file
-$pkg/Resources/Scripts/pkgIndex.tcl as well as the usual $pkg/pkgIndex.tcl.
-This allows building extensions as frameworks with all script files contained in
-the Resources/Scripts directory of the framework.
-
-- [load]able binary extensions can linked as either ordinary shared libraries
-(.dylib) or as MachO bundles (since 8.4.10/8.5a3); bundles have the advantage
-that they are [load]ed more efficiently from a tcl VFS (no temporary copy to the
-native filesystem required).
-
-- The 'deploy' target of macosx/GNUmakefile installs the html manpages into the
-standard documentation location in the Tcl/Tk frameworks:
- Tcl.framework/Resources/Documentation/Reference/Tcl
- Tk.framework/Resources/Documentation/Reference/Tk
-No nroff manpages are installed by default by the GNUmakefile.
-
-- The Tcl and Tk frameworks can be installed in any of the system's standard
-framework directories:
- $HOME/Library/Frameworks /Library/Frameworks /System/Library/Frameworks
-
-- ${prefix}/bin/wish8.x is a script that calls a copy of 'Wish' contained in
- Tk.framework/Resources
-
-- if 'Wish' is started from the Finder or via 'open', $argv may contain a
-"-psn_XXXX" argument. This is the process serial number, you may need to filter
-it out for cross platform compatibility of your scripts.
-
-- the env array is different when Wish is started from the Finder (i.e. via
-LaunchServices) than when it (or tclsh) is invoked from the Terminal, in
-particular PATH may not be what you expect. (Wish started by LaunchServices
-inherits loginwindow's environment variables, which are essentially those set in
-$HOME/.MacOSX/environment.plist, and are unrelated to those set in your shell).
-
-- TkAqua drawing is antialiased by default, but (outline) linewidth can be used
-to control whether a line/shape is drawn antialiased. The antialiasing threshold
-is 0 by default (i.e. antialias everything), it can be changed by setting
- set tk::mac::CGAntialiasLimit <limit>
-in your script before drawing, in which case lines (or shapes with outlines)
-thinner than <limit> pixels will not be antialiased.
-
-- Text antialiasing by default uses the standard OS antialising settings.
-Setting the global variable '::tk::mac::antialiasedtext' allows to control text
-antialiasing from Tcl: a value of 1 enables AA, 0 disables AA and -1 restores
-the default behaviour of respecting the OS settings.
-
-- Scrollbars: There are two scrollbar variants in Aqua, normal & small. The
-normal scrollbar has a small dimension of 15, the small variant 11.
-Access to the small variant was added in Tk 8.4.2.
-
-- The default metrics of native buttons, radiobuttons, checkboxes and
-menubuttons in the Cocoa-based Tk 8.5.7 and later preserve compatibility with
-the older Carbon-based implementation, you can turn off the compatibility
-metrics to get more native-looking spacing by setting:
- set tk::mac::useCompatibilityMetrics 0
-
-- TkAqua provides access to native OS X images via the Tk native bitmap facility
-(including any image file readable by NSImage). A native bitmap name is
-interpreted as follows (in order):
- - predefined builtin 32x32 icon name (stop, caution, document, etc)
- - name defined by [tk::mac::iconBitmap]
- - NSImage named image name
- - NSImage url string
- - 4-char OSType of IconServices icon
-the syntax of [tk::mac::iconBitmap] is as follows:
- tk::mac::iconBitmap name width height -kind value
-where -kind is one of
- -file icon of file at given path
- -fileType icon of given file type
- -osType icon of given 4-char OSType file type
- -systemType icon for given IconServices 4-char OSType
- -namedImage named NSImage for given name
- -imageFile image at given path
-This support was added with the Cocoa-based Tk 8.5.7.
-
-- TkAqua cursor names are interpred as follows (in order):
- - standard or platform-specific Tk cursor name (c.f. cursors.n)
- - @path to any image file readable by NSImage
- - NSImage named image name
-Support for the latter two was added with the Cocoa-based Tk 8.5.7.
-
-- The standard Tk dialog commands [tk_getOpenFile], [tk_chooseDirectory],
-[tk_getSaveFile] and [tk_messageBox] all take an additional optional -command
-parameter on TkAqua. If it is present, the given command prefix is evaluated at
-the global level when the dialog closes, with the dialog command's result
-appended (the dialog command itself returning an emtpy result). If the -parent
-option is also present, the dialog is configured as a modeless (window-modal)
-sheet attached to the parent window and the dialog command returns immediately.
-Support for -command was added with the Cocoa-based Tk 8.5.7.
-
-- The TkAqua-specific [tk::mac::standardAboutPanel] command brings the standard
-Cocoa about panel to the front, with all its information filled in from your
-application bundle files (i.e. standard about panel with no options specified).
-See Apple Technote TN2179 and the AppKit documentation for -[NSApplication
-orderFrontStandardAboutPanelWithOptions:] for details on the Info.plist keys and
-app bundle files used by the about panel.
-This support was added with the Cocoa-based Tk 8.5.7.
-
-- TkAqua has three special menu names that give access to the standard
-Application, Window and Help menus, see menu.n for details.
-By default, the platform-specific standard Help menu item "YourApp Help" peforms
-the default Cocoa action of showing the Help Book configured in the
-application's Info.plist (or displaying an alert if no Help Book is set). This
-action can be customized by defining a procedure named [tk::mac::ShowHelp], if
-present, this procedure is invoked instead by the standard Help menu item.
-Support for the Window menu and [tk::mac::ShowHelp] was added with the
-Cocoa-based Tk 8.5.7.
-
-- The TkAqua-specific command [tk::unsupported::MacWindowStyle style] is used to
-get and set macOS-specific toplevel window class and attributes. Note that
-the window class and many attributes have to be set before the window is first
-mapped for the change to have any effect.
-The command has the following syntax:
- tk::unsupported::MacWindowStyle style window ?class? ?attributes?
-The 2 argument form returns a list of the current class and attributes for the
-given window. The 3 argument form sets the class for the given window using the
-default attributes for that class. The 4 argument form sets the class and the
-list of attributes for the given window.
-Window class names:
- document, modal, floating, utility, toolbar, simple, help, overlay
-Window attribute names:
- standardDocument, standardFloating, resizable, fullZoom, horizontalZoom,
- verticalZoom, closeBox, collapseBox, toolbarButton, sideTitlebar,
- noTitleBar, unifiedTitleAndToolbar, metal, hud, noShadow, doesNotCycle,
- noActivates, hideOnSuspend, inWindowMenu, ignoreClicks, doesNotHide,
- canJoinAllSpaces, moveToActiveSpace, nonActivating
-
-Note that not all attributes are valid for all window classes.
-Support for the 3 argument form was added with the Cocoa-based Tk 8.5.7, at the
-same time support for some legacy Carbon-specific classes and attributes was
-removed (they are still accepted by the command but no longer have any effect).
-
-If you want to use Remote Debugging with Xcode, you need to set the
-environment variable XCNOSTDIN to 1 in the Executable editor for Wish. That will
-cause us to force closing stdin & stdout. Otherwise, given how Xcode launches
-Wish remotely, they will be left open and then Wish & gdb will fight for stdin.
-
-
-3. Building Tcl/Tk on macOS
-------------------------------
-
-- At least macOS 10.3 is required to build Tcl and TkX11, and macOS 10.6
-is required to build TkAqua. The XCode application provides everything
-needed to build Tk, but it is not necessary to install the full XCode.
-It suffices to install the Command Line Tools package, which can be done
-by running the command:
-xcode-selecct --install
-
-- Tcl/Tk are most easily built as macOS frameworks via GNUmakefile in
-tcl/macosx and tk/macosx (see below for details), but can also be built with the
-standard unix configure and make buildsystem in tcl/unix resp. tk/unix as on any
-other unix platform (indeed, the GNUmakefiles are just wrappers around the unix
-buildsystem).
-The macOS specific configure flags are --enable-aqua, --enable-framework and
---disable-corefoundation (which disables CF and notably reverts to the standard
-select based notifier). Note that --enable-aqua is incompatible with
---disable-corefoundation (for both Tcl and Tk configure).
-
-- It was once possible to build with the Xcode IDE via the projects in
-tk/macosx, but this has not been tested recently. Take care to use the
-project matching your DevTools and OS version:
- Tk.xcode: for Xcode 3.1 on 10.5
- Tk.xcodeproj: for Xcode 3.2 on 10.6
-These have the following targets:
- Tk: calls through to tk/macosx/GNUMakefile,
- requires a corresponding build of the Tcl
- target of tcl/macosx/Tcl.xcode.
- tktest: static build of TkAqua tktest for debugging.
- tktest-X11: static build of TkX11 tktest for debugging.
-The following build configurations are available:
- Debug: debug build for the active architecture,
- with Fix & Continue enabled.
- Debug clang: use clang compiler.
- Debug llvm-gcc: use llvm-gcc compiler.
- Debug gcc40: use gcc 4.0 compiler.
- DebugNoGC: disable Objective-C garbage collection.
- DebugNoFixAndContinue: disable Fix & Continue.
- DebugUnthreaded: disable threading.
- DebugNoCF: disable corefoundation (X11 only).
- DebugNoCFUnthreaded: disable corefoundation an threading.
- DebugMemCompile: enable memory and bytecode debugging.
- DebugLeaks: define PURIFY.
- DebugGCov: enable generation of gcov data files.
- Debug64bit: configure with --enable-64bit (requires
- building on a 64bit capable processor).
- Release: release build for the active architecture.
- ReleaseUniversal: 32/64-bit universal build.
- ReleaseUniversal clang: use clang compiler.
- ReleaseUniversal llvm-gcc: use llvm-gcc compiler.
- ReleaseUniversal gcc40: use gcc 4.0 compiler.
- ReleaseUniversal10.5SDK: build against the 10.5 SDK (with 10.5
- deployment target).
- Note that the non-SDK configurations have their deployment target set to
- 10.5 (Tk.xcode) resp. 10.6 (Tk.xcodeproj).
-The Xcode projects refer to the toplevel tcl and tk source directories via the
-the TCL_SRCROOT and TK_SRCROOT user build settings, by default these are set to
-the project-relative paths '../../tcl' and '../../tk', if your source
-directories are named differently, e.g. '../../tcl8.6' and '../../tk8.6', you
-need to manually change the TCL_SRCROOT and TK_SRCROOT settings by editing your
-${USER}.pbxuser file (located inside the Tk.xcodeproj bundle directory) with a
-text editor.
-
-- To build universal binaries outside of the Xcode IDE, set CFLAGS as follows:
- export CFLAGS="-arch i386 -arch x86_64 -arch ppc"
-This requires macOS 10.4 and Xcode 2.4 (or Xcode 2.2 if -arch x86_64 is
-omitted, but _not_ Xcode 2.1) and will work on any architecture (on PowerPC
-Tiger you need to add "-isysroot /Developer/SDKs/MacOSX10.4u.sdk").
-Note that configure requires CFLAGS to contain a least one architecture that can
-be run on the build machine (i.e. ppc on G3/G4, ppc or ppc64 on G5, ppc or i386
-on Core and ppc, i386 or x86_64 on Core2/Xeon).
-Universal builds of Tcl TEA extensions are also possible with CFLAGS set as
-above, they will be [load]able by universal as well as thin binaries of Tcl.
-
-- To enable weak-linking, set the MACOSX_DEPLOYMENT_TARGET environment variable
-to the minimal OS version the binaries should be able to run on, e.g:
- export MACOSX_DEPLOYMENT_TARGET=10.6
-This requires at least gcc 3.1; with gcc 4 or later, set/add to CFLAGS instead:
- export CFLAGS="-mmacosx-version-min=10.6"
-Support for weak-linking was added with 8.4.14/8.5a5.
-
-Detailed Instructions for building with macosx/GNUmakefile
-----------------------------------------------------------
-
-- Unpack the Tcl and Tk source release archives and place the tcl and tk source
-trees in a common parent directory.
-[ If you don't want have the two source trees in one directory, you'll need to ]
-[ create the following symbolic link for the build to work as setup by default ]
-[ ln -fs /path_to_tcl/build /path_to_tk/build ]
-[ (where /path_to_{tcl,tk} is the directory containing the tcl resp. tk tree) ]
-[ or you can pass an argument of BUILD_DIR=/somewhere to the tcl and tk make. ]
-
-- The following instructions assume the Tcl and Tk source trees are named
-"tcl${ver}" and "tk${ver}" (where ${ver} is a shell variable containing the
-Tcl/Tk version number, e.g. '8.6').
-Setup this shell variable as follows:
- ver="8.6"
-If you are building from CVS, omit this step (CVS source tree names usually do
-not contain a version number).
-
-- Setup environment variables as desired, e.g. for a universal build on 10.5:
- CFLAGS="-arch i386 -arch x86_64 -arch ppc -mmacosx-version-min=10.5"
- export CFLAGS
-
-- Change to the directory containing the Tcl and Tk source trees and build:
- make -C tcl${ver}/macosx
- make -C tk${ver}/macosx
-
-- Install Tcl and Tk onto the root volume (admin password required):
- sudo make -C tcl${ver}/macosx install
- sudo make -C tk${ver}/macosx install
-if you don't have an admin password, you can install into your home directory
-instead by passing an INSTALL_ROOT argument to make:
- make -C tcl${ver}/macosx install INSTALL_ROOT="${HOME}/"
- make -C tk${ver}/macosx install INSTALL_ROOT="${HOME}/"
-
-- The default GNUmakefile targets will build _both_ debug and optimized versions
-of the Tcl and Tk frameworks with the standard convention of naming the debug
-library Tcl.framework/Tcl_debug resp. Tk.framework/Tk_debug.
-This allows switching to the debug libraries at runtime by setting
- export DYLD_IMAGE_SUFFIX=_debug
-(c.f. man dyld for more details)
-
-If you only want to build and install the debug or optimized build, use the
-'develop' or 'deploy' target variants of the GNUmakefile, respectively.
-For example, to build and install only the optimized versions:
- make -C tcl${ver}/macosx deploy
- make -C tk${ver}/macosx deploy
- sudo make -C tcl${ver}/macosx install-deploy
- sudo make -C tk${ver}/macosx install-deploy
-
-- The GNUmakefile can also build a version of Wish.app that has the Tcl and Tk
-frameworks embedded in its application package. This allows for standalone
-deployment of the application with no installation required, e.g. from read-only
-media. To build & install in this manner, use the 'embedded' variants of
-the GNUmakefile targets.
-For example, to build a standalone 'Wish.app' in ./emb/Applications/Utilities:
- make -C tcl${ver}/macosx embedded
- make -C tk${ver}/macosx embedded
- sudo make -C tcl${ver}/macosx install-embedded INSTALL_ROOT=`pwd`/emb/
- sudo make -C tk${ver}/macosx install-embedded INSTALL_ROOT=`pwd`/emb/
-Notes:
- * if you've already built standard TclTkAqua, building embedded does not
- require any new compiling or linking, so you can skip the first two makes.
- (making relinking unnecessary was added with 8.4.2)
- * the embedded frameworks include only optimized builds and no documentation.
- * the standalone Wish has the directory Wish.app/Contents/lib in its
- auto_path. Thus you can place tcl extensions in this directory (i.e. embed
- them in the app package) and load them with [package require].
-
-- It is possible to build Tk against an installed Tcl.framework; but you will
-still need a tcl sourcetree in the location specified in TCL_SRC_DIR in
-Tcl.framework/tclConfig.sh. Also, linking with Tcl.framework has to work exactly
-as indicated in TCL_LIB_SPEC in Tcl.framework/tclConfig.sh.
-If you used non-default install locations for Tcl.framework, specify them as
-make overrides to the tk/macosx GNUmakefile, e.g.
- make -C tk${ver}/macosx \
- TCL_FRAMEWORK_DIR=$HOME/Library/Frameworks TCLSH_DIR=$HOME/usr/bin
- sudo make -C tk${ver}/macosx install \
- TCL_FRAMEWORK_DIR=$HOME/Library/Frameworks TCLSH_DIR=$HOME/usr/bin
-The Makefile variables TCL_FRAMEWORK_DIR and TCLSH_DIR were added with Tk 8.4.3.
-
-4. Details regarding the macOS port of Tk.
--------------------------------------------
-
-4.1 About the event loop
-~~~~~~~~~~~~~~~~~~~~~~~~
-
-The main program in a typical OSX application looks like this (see
-https://developer.apple.com/library/mac/documentation/Cocoa/\
-Reference/ApplicationKit/Classes/NSApplication_Class)
-
- void NSApplicationMain(int argc, char *argv[]) {
- [NSApplication sharedApplication];
- [NSBundle loadNibNamed:@"myMain" owner:NSApp];
- [NSApp run];
- }
-Here NSApp is a standard global variable, initialized by the OS, which
-points to an object in a subclass of NSApplication (called
-TKApplication in the case of the macOS port of Tk).
-
-The [NSApp run] method implements the event loop for a typical Mac
-application. There are three key steps in the run method. First it
-calls [NSApp finishLaunching], which creates the bouncing application
-icon and does other mysterious things. Second it creates an
-NSAutoreleasePool. Third, it starts an event loop which drains the
-NSAutoreleasePool every time the queue is empty, and replaces the
-drained pool with a new one. This third step is essential to
-preventing memory leaks, since the internal methods of Appkit objects
-all assume that an autorelease pool is in scope and will be drained
-when the event processing cycle ends.
-
-The macOS Tk application does not call the [NSApp run] method at
-all. Instead it uses the event loop built in to Tk. So the
-application must take care to replicate the important features of the
-method ourselves. The way that autorelease pools are handled is
-discussed in 4.2 below. Here we discuss the event handling itself.
-
-The Tcl event loop simply consists of repeated calls to TclDoOneEvent.
-Each call to TclDoOneEvent begins by collecting all pending events from
-an "event source", converting them to Tcl events and adding them
-to the Tcl event queue. For macOS, the event source is the NSApp
-object, which maintains an event queue even though its run method
-will never be called to process them. The NSApp provides methods for
-inspecting the queue and removing events from it as well as the
-[NSApp sendevent] which sends an event to all of the application's
-NSWindows which can then send it to subwindows, etc.
-
-The event collection process consists of first calling a platform
-specific SetupProc and then a platform specific CheckProc. In
-the macOS port, these are named TkMacOSXEventsSetupProc and
-TkMacOSXEventsCheckProc.
-
-It is important to understand that the Apple window manager does not
-have the concept of an expose event. Their replacement for an expose
-event is to have the window manager call the [NSView drawRect] method
-in any situation where an expose event for that NSView would be
-generated in X11. The [NSView drawRect] method is a no-op which is
-expected to be overridden by any application. In the case of Tcl, the
-replacement [NSView drawRect] method creates a Tcl expose event
-for each dirty rectangle of the NSView, and then adds the expose
-event to the Tcl queue.
-
-
-4.2 Autorelease pools
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-In order to carry out the job of managing autorelease pools, which
-would normally be handled by the [NSApp run] method, a private
-NSAUtoreleasePool* property is added to the TkApplication subclass of
-NSApplication. The TkpInit function calls [NSApp _setup] which
-initializes this property by creating an NSAutoreleasePool prior to
-calling [NSApp finishLaunching]. This mimics the behavior of the
-[NSApp run] method, which calls [NSApp finishLaunching] just before
-starting the event loop.
-
-Since the CheckProc function gets called for every Tk event, it is an
-appropriate place to drain the main NSAutoreleasePool and replace it
-with a new pool. This is done by calling the method [NSApp
-_resetAutoreleasePool], where _resetAutoreleasePool is a method which
-we define for the subclass. Unfortunately, by itself this is not
-sufficient for safe memory managememt because, as was made painfully
-evident with the release of OS X 10.13, it is possible for calls to
-TclDoOneEvent, and hence to CheckProc, to be nested. Draining the
-autorelease pool in a nested call leads to crashes as objects in use
-by the outer call can get freed by the inner call and then reused later.
-One particular situation where this happens is when a modal dialogue
-gets posted by a Tk Application. To address this, the NSApp object
-also implements a semaphore to prevent draining the autorelease pool
-in nested calls to CheckProc.
-
-One additional minor caveat for developers is that there are several
-steps of the Tk initialization which precede the call to TkpInit.
-Notably, the font package is initialized first. Since there is no
-NSAUtoreleasePool in scope prior to calling TkpInit, the functions
-called in these preliminary stages need to create and drain their own
-NSAutoreleasePools whenever they call methods of Appkit objects
-(e.g. NSFont).
-
-4.3 Clipping regions and "ghost windows"
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Another unusual aspect of the macOS port is its use of clipping
-regions. It was part of Daniel Steffen's original design that the
-TkWindowPrivate struct maintains three HIShapeRef regions, named
-visRgn, aboveVisRgn and drawRgn. These regions are used as clipping
-masks whenever drawing into an NSView. The visRgn is the bounding box
-of the window with a rectangle removed for each subwindow and for each
-sibling window at a higher stacking level. The drawRgn is the
-intersection of the visRgn with the clipping rectangle of the
-window. (Normally, the clipping rectangle is the same as the bounding
-rectangle, but drawing can be clipped to a smaller rectangle by
-calling TkpClipDrawableToRect.) The aboveVisRgn is the intersection of
-the window's bounding rectangle with the bounding rectangle of the
-parent window. Much of the code in tkMacOSXSubindows.c is devoted to
-rebuilding these clipping regions whenever something changes in the
-layout of the windows. This turns out to be a tricky thing to do and
-it is extremely prone to errors which can be difficult to trace.
-
-It is not entirely clear what the original reason for using these
-clipping regions was. But one benefit is that if they are correctly
-maintained then it allows windows to be drawn in any order. You do
-not have to draw them in the order of the window hierarchy. Each
-window can draw its entire rectangle through its own mask and never
-have to worry about drawing in the wrong place. It is likely that
-the need for using clipping regions arose because, as Apple explicitly
-states in the documentation for [NSView subviews],
-
- "The order of the subviews may be considered as being
- back-to-front, but this does not imply invalidation and drawing
- behavior."
-
-In the early versions of the macOS port, buttons were implemented as
-subviews of class TkButton. This probably exacerbated the likelihood
-that Tk windows would need to be drawn in arbitrary order.
-
-The most obvious side effect caused by not maintaining the clipping
-regions is the appearance of so-called "ghost windows". A common
-situation where these may arise is when a window containing buttons
-is being scrolled. A user may see two images of the same button on
-the screen, one in the pre-scroll location and one in the post-scroll
-location.
-
-To see how these 'ghost windows' can arise, think about what happens if
-the clipping regions are not maintained correctly. A window might
-have a rectangle missing from its clipping region because that
-rectangle is the bounding rectangle for a subwindow, say a button.
-The parent should not draw in the missing rectangle since doing so
-would trash the button. The button is responsible for drawing
-there. Now imagine that the button gets moved, say by a scroll, but
-the missing rectangle in the parent's clipping region does not get
-moved correctly, or it gets moved later on, after the parent has
-redrawn itself. The parent would still not be allowed to draw in the
-old rectangle, so the user would continue to see the image of the
-button in its old location, as well as another image in the new
-location. This is a prototypical example of a "ghost window".
-Anytime you see a "ghost window", you should suspect problems with the
-updates to the clipping region visRgn. It is natural to look for
-timing issues, race conditions, or other "event loop problems". But
-in fact, the whole design of the code is to make those timing issues
-irrelevant. As long as the clipping regions are correctly maintained
-the timing does not matter. And if they are not correctly maintained
-then you will see "ghost windows".
-
-It is worth including a detailed description of one specific place
-where the failure to correctly maintain clipping regions caused "ghost
-window" artifacts that plagued the macOS port for years. These
-occurred when scrolling a Text widget which contained embedded
-subwindows. It involved some specific differences between the
-low-level behavior of Apple's window manager versus those of the other
-platforms, and the fix ultimately required changes in the generic Tk
-implementation (documented in the comments in the DisplayText
-function).
-
-The Text widget attempts to improve perfomance when scrolling by
-minimizing the number of text lines which need to be redisplayed. It
-does this by calling the platform-specific TkScrollWindow function
-which uses a low-level routine to map one rectangle of the window to
-another. The TkScrollWindow function returns a damage region which is
-then used by the Text widget's DisplayText function to determine which
-text lines need to be redrawn. On the unix and win platforms, this
-damage region includes bounding rectangles for all embedded windows
-inside the Text widget. The way that this works is system dependent.
-On unix, the low level scrolling is done by XCopyRegion, which
-generates a GraphicsExpose event for each embedded window. These
-GraphicsExposed events are processsed within TkScrollWindow, using a
-special handler which adds the bounding rectangle of each subwindow to
-the damage region. On the win platform the damage region is built by
-the low level function ScrollWindowEx, and it also includes bounding
-rectangles for all embedded windows. This is possible because on X11
-and Windows every Tk widget is also known to the window manager as a
-window. The situation is different on macOS. The underlying object
-for a top level window on macOS is the NSView. However, Apple
-explicitly warns in its documentation that performance degradation
-occurs when an NSView has more than about 100 subviews. A Text widget
-with thousands of lines of text could easily contain more than 100
-embedded windows. In fact, while the original Cocoa port of Tk did
-use the NSButton object, which is derived from NSView, as the basis
-for its Tk Buttons, that was changed in order to improve performance.
-Moreover, the low level routine used for scrolling on macOS, namely
-[NSView scrollrect:by], does not provide any damage information. So
-TkScrollWindow needs to work differently on macOS. Since it would be
-inefficient to iterate through all embedded windows in a Text widget,
-looking for those which meet the scrolling area, the damage region
-constructed by TkScrollWindow contains only the difference between the
-source and destination rectangles for the scrolling. The embedded
-windows are redrawn within the DisplayText function by some
-conditional code which is only used for macOS.
-
-5.0 Virtual events on 10.14
-~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-10.14 supports system appearance changes, and has added a "Dark Mode"
-that casts all window frames and menus as black. Tk 8.6.9 has added two
-virtual events, <<LightAqua>> and <<DarkAqua>>, to allow you to update
-your Tk app's appearance when the system appearance changes. Just bind
-your appearance-updating code to these virtual events and you will see
-it triggered when the system appearance toggles between dark and light.
diff --git a/tk8.6/macosx/Tk-Common.xcconfig b/tk8.6/macosx/Tk-Common.xcconfig
deleted file mode 100644
index 4ec1a52..0000000
--- a/tk8.6/macosx/Tk-Common.xcconfig
+++ /dev/null
@@ -1,46 +0,0 @@
-//
-// Tk-Common.xcconfig --
-//
-// This file contains the Xcode build settings comon to all
-// project configurations in Wish.xcodeproj.
-//
-// Copyright (c) 2007-2009 Daniel A. Steffen <das@users.sourceforge.net>
-// Copyright 2008-2009, Apple Inc.
-//
-// See the file "license.terms" for information on usage and redistribution
-// of this file, and for a DISCLAIMER OF ALL WARRANTIES.
-
-HEADER_SEARCH_PATHS = $(TK_SRCROOT)/generic $(TK_SRCROOT)/xlib "$(DERIVED_FILE_DIR)/tcl" "$(DERIVED_FILE_DIR)/tk" $(HEADER_SEARCH_PATHS)
-REZ_SEARCH_PATHS = $(TK_SRCROOT)/generic $(TCL_SRCROOT)/generic $(REZ_SEARCH_PATHS)
-OTHER_LDFLAGS = -headerpad_max_install_names -sectcreate __TEXT __info_plist "$(DERIVED_FILE_DIR)/tk/Wish-Info.plist" $(OTHER_LDFLAGS)
-OTHER_LDFLAGS_AQUA =
-INSTALL_PATH = $(APPLICATION_INSTALL_PATH)
-INSTALL_MODE_FLAG = go-w,a+rX
-GCC_PREFIX_HEADER = $(DERIVED_FILE_DIR)/tk/tkConfig.h
-OTHER_CFLAGS = -imacros "$(DERIVED_FILE_DIR)/tcl/tclConfig.h" $(OTHER_CFLAGS)
-GCC_GENERATE_DEBUGGING_SYMBOLS = YES
-GCC_NO_COMMON_BLOCKS = YES
-GCC_DYNAMIC_NO_PIC = YES
-GCC_VERSION = 4.2
-GCC = gcc-$(GCC_VERSION)
-WARNING_CFLAGS = -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wno-unused-value -Winit-self -Wpointer-arith -Wcast-align -Wdisabled-optimization -Winline $(WARNING_CFLAGS)
-REZ_RESOURCE_MAP_READ_ONLY = YES
-APPLICATION_INSTALL_PATH = /Applications/Utilities
-BINDIR = $(PREFIX)/bin
-CFLAGS = $(CFLAGS)
-CPPFLAGS = -mmacosx-version-min=$(MACOSX_DEPLOYMENT_TARGET) $(CPPFLAGS)
-FRAMEWORK_INSTALL_PATH = /Library/Frameworks
-INCLUDEDIR = $(PREFIX)/include
-LIBDIR = $(PREFIX)/lib
-MANDIR = $(PREFIX)/man
-PER_ARCH_CFLAGS_ppc = -mcpu=G3 -mtune=G4 $(PER_ARCH_CFLAGS_ppc)
-PREFIX = /usr/local
-TCL_BUILD_DIR = $(OBJROOT)/../tcl/Tcl.build/$(CONFIGURATION)/Tcl.build/Objects
-TCL_CONFIGURE_ARGS = --enable-threads --enable-dtrace
-TCL_FRAMEWORK_DIR = $(SYMROOT)/../tcl/$(CONFIGURATION)
-TCL_LIBRARY = $(LIBDIR)/tcl$(VERSION)
-TCL_PACKAGE_PATH = "$(LIBDIR)"
-TCL_DEFS = HAVE_TCL_CONFIG_H
-TK_LIBRARY = $(LIBDIR)/tk$(VERSION)
-TK_DEFS = HAVE_TK_CONFIG_H
-VERSION = 8.6
diff --git a/tk8.6/macosx/Tk-Debug.xcconfig b/tk8.6/macosx/Tk-Debug.xcconfig
deleted file mode 100644
index 2382661..0000000
--- a/tk8.6/macosx/Tk-Debug.xcconfig
+++ /dev/null
@@ -1,19 +0,0 @@
-//
-// Tk-Debug.xcconfig --
-//
-// This file contains the Xcode build settings for all Debug
-// project configurations in Wish.xcodeproj.
-//
-// Copyright (c) 2007 Daniel A. Steffen <das@users.sourceforge.net>
-//
-// See the file "license.terms" for information on usage and redistribution
-// of this file, and for a DISCLAIMER OF ALL WARRANTIES.
-
-#include "Tk-Common.xcconfig"
-
-DEBUG_INFORMATION_FORMAT = dwarf
-DEPLOYMENT_POSTPROCESSING = NO
-GCC_OPTIMIZATION_LEVEL = 0
-GCC_PREPROCESSOR_DEFINITIONS = DEBUGLEVEL=4 $(TCL_DEFS) $(TK_DEFS) $(GCC_PREPROCESSOR_DEFINITIONS)
-CONFIGURE_ARGS = --enable-symbols $(TCL_CONFIGURE_ARGS) $(CONFIGURE_ARGS)
-MAKE_TARGET = develop
diff --git a/tk8.6/macosx/Tk-Info.plist.in b/tk8.6/macosx/Tk-Info.plist.in
deleted file mode 100644
index 7b0c305..0000000
--- a/tk8.6/macosx/Tk-Info.plist.in
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<!--
- Copyright (c) 2005-2009 Daniel A. Steffen <das@users.sourceforge.net>
- Copyright 2008-2009, Apple Inc.
-
- See the file "license.terms" for information on usage and redistribution of
- this file, and for a DISCLAIMER OF ALL WARRANTIES.
--->
-<plist version="1.0">
-<dict>
- <key>CFBundleDevelopmentRegion</key>
- <string>English</string>
- <key>CFBundleExecutable</key>
- <string>@TK_LIB_FILE@</string>
- <key>CFBundleGetInfoString</key>
- <string>Tk @TK_WINDOWINGSYSTEM@ @TK_VERSION@@TK_PATCH_LEVEL@,
-Copyright © 1989-@TK_YEAR@ Tcl Core Team,
-Copyright © 2002-@TK_YEAR@ Daniel A. Steffen,
- Copyright © 1989-@TK_YEAR@ Contributors,
- Copyright © 2011-@TK_YEAR@ Kevin Walzer/WordTech
- Communications LLC,
- Copyright © 2014-@TK_YEAR@ Marc Culler,
-Copyright © 2001-2009 Apple Inc.,
-Copyright © 2001-2002 Jim Ingham &amp; Ian Reid</string>
- <key>CFBundleIdentifier</key>
- <string>com.tcltk.tklibrary</string>
- <key>CFBundleInfoDictionaryVersion</key>
- <string>6.0</string>
- <key>CFBundleName</key>
- <string>Tk @TK_WINDOWINGSYSTEM@ @TK_VERSION@</string>
- <key>CFBundlePackageType</key>
- <string>FMWK</string>
- <key>CFBundleShortVersionString</key>
- <string>@TK_VERSION@@TK_PATCH_LEVEL@</string>
- <key>CFBundleSignature</key>
- <string>Tk </string>
- <key>CFBundleVersion</key>
- <string>@TK_VERSION@@TK_PATCH_LEVEL@</string>
-</dict>
-</plist>
diff --git a/tk8.6/macosx/Tk-Release.xcconfig b/tk8.6/macosx/Tk-Release.xcconfig
deleted file mode 100644
index 505373c..0000000
--- a/tk8.6/macosx/Tk-Release.xcconfig
+++ /dev/null
@@ -1,19 +0,0 @@
-//
-// Tk-Release.xcconfig --
-//
-// This file contains the Xcode build settings for all Release
-// project configurations in Wish.xcodeproj.
-//
-// Copyright (c) 2007 Daniel A. Steffen <das@users.sourceforge.net>
-//
-// See the file "license.terms" for information on usage and redistribution
-// of this file, and for a DISCLAIMER OF ALL WARRANTIES.
-
-#include "Tk-Common.xcconfig"
-
-DEBUG_INFORMATION_FORMAT = dwarf-with-dsym
-// DEPLOYMENT_POSTPROCESSING = YES
-GCC_OPTIMIZATION_LEVEL = s
-GCC_PREPROCESSOR_DEFINITIONS = NDEBUG $(TCL_DEFS) $(TK_DEFS) $(GCC_PREPROCESSOR_DEFINITIONS)
-CONFIGURE_ARGS = --disable-symbols $(TCL_CONFIGURE_ARGS) $(CONFIGURE_ARGS)
-MAKE_TARGET = deploy
diff --git a/tk8.6/macosx/Tk.icns b/tk8.6/macosx/Tk.icns
deleted file mode 100644
index 394b588..0000000
--- a/tk8.6/macosx/Tk.icns
+++ /dev/null
Binary files differ
diff --git a/tk8.6/macosx/Tk.tiff b/tk8.6/macosx/Tk.tiff
deleted file mode 100644
index 1e2aed5..0000000
--- a/tk8.6/macosx/Tk.tiff
+++ /dev/null
Binary files differ
diff --git a/tk8.6/macosx/Tk.xcode/default.pbxuser b/tk8.6/macosx/Tk.xcode/default.pbxuser
deleted file mode 100644
index c8456e8..0000000
--- a/tk8.6/macosx/Tk.xcode/default.pbxuser
+++ /dev/null
@@ -1,384 +0,0 @@
-// !$*UTF8*$!
-{
- 08FB7793FE84155DC02AAC07 /* Project object */ = {
- activeBuildConfigurationName = Debug;
- activeExecutable = F9E61D1C090A4282002B3151 /* Wish */;
- activeTarget = F9E61D16090A3E94002B3151 /* Tk */;
- codeSenseManager = F944EB9D08F798180049FDD4 /* Code sense */;
- executables = (
- F9E61D1C090A4282002B3151 /* Wish */,
- F944EB8F08F798100049FDD4 /* tktest */,
- F9FD31F50CC1AD070073837D /* tktest-X11 */,
- );
- perUserDictionary = {
- com.apple.ide.smrt.PBXUserSmartGroupsKey.Rev10 = <040b73747265616d747970656481e8038401408484840e4e534d757461626c654172726179008484074e534172726179008484084e534f626a65637400858401690192848484134e534d757461626c6544696374696f6e6172790084840c4e5344696374696f6e6172790095960792848484084e53537472696e67019584012b046e616d658692849a9a14496d706c656d656e746174696f6e2046696c65738692849a9a146162736f6c75746550617468546f42756e646c658692849a9a008692849a9a195042585472616e7369656e744c6f636174696f6e4174546f708692849a9a06626f74746f6d8692849a9a03636c7a8692849a9a1550425846696c656e616d65536d61727447726f75708692849a9a0b6465736372697074696f6e8692849a9a103c6e6f206465736372697074696f6e3e8692849a9a0b707265666572656e63657386928497960892849a9a07666e6d617463688692849a9a008692849a9a05696d6167658692849a9a0b536d617274466f6c6465728692849a9a04726f6f748692849a9a093c50524f4a4543543e8692849a9a0572656765788692849a9a065c2e286329248692849a9a097265637572736976658692848484084e534e756d626572008484074e5356616c7565009584012a849696018692849a9a0669734c656166869284b09db296008692849a9a0763616e536176658692af92849a9a1250425850726f6a65637453636f70654b65798692849a9a03594553868692849a9a08676c6f62616c49448692849a9a18314343304541343030343335304546393030343434313042868686>;
- };
- sourceControlManager = F944EB9C08F798180049FDD4 /* Source Control */;
- userBuildSettings = {
- SYMROOT = "${SRCROOT}/../../build/tk";
- TCL_SRCROOT = "${SRCROOT}/../../tcl";
- TK_SRCROOT = "${SRCROOT}/../../tk";
- };
- };
- 8DD76FA90486AB0100D96B5E /* tktest */ = {
- activeExec = 0;
- executables = (
- F944EB8F08F798100049FDD4 /* tktest */,
- );
- };
- F944EB8F08F798100049FDD4 /* tktest */ = {
- isa = PBXExecutable;
- activeArgIndices = (
- YES,
- NO,
- NO,
- NO,
- NO,
- NO,
- NO,
- );
- argumentStrings = (
- "${TK_SRCROOT}/library/demos/widget",
- "${TK_SRCROOT}/tests/all.tcl",
- "${TK_SRCROOT}/tests/ttk/all.tcl",
- "-geometry +0+0",
- "-singleproc 1",
- "-verbose \"bet\"",
- "-skip window-2.9",
- );
- autoAttachOnCrash = 1;
- breakpointsEnabled = 1;
- configStateDict = {
- "PBXLSLaunchAction-0" = {
- PBXLSLaunchAction = 0;
- PBXLSLaunchStartAction = 1;
- PBXLSLaunchStdioStyle = 2;
- PBXLSLaunchStyle = 0;
- class = PBXLSRunLaunchConfig;
- displayName = "Executable Runner";
- identifier = com.apple.Xcode.launch.runConfig;
- remoteHostInfo = "";
- startActionInfo = "";
- };
- "PBXLSLaunchAction-1" = {
- PBXLSLaunchAction = 1;
- PBXLSLaunchStartAction = 1;
- PBXLSLaunchStdioStyle = 2;
- PBXLSLaunchStyle = 0;
- class = PBXGDB_LaunchConfig;
- displayName = GDB;
- identifier = com.apple.Xcode.launch.GDBMI_Config;
- remoteHostInfo = "";
- startActionInfo = "";
- };
- };
- customDataFormattersEnabled = 1;
- debuggerPlugin = GDBDebugging;
- disassemblyDisplayState = 0;
- dylibVariantSuffix = "";
- enableDebugStr = 0;
- environmentEntries = (
- {
- active = YES;
- name = TCL_LIBRARY;
- value = "${TCL_SRCROOT}/library";
- },
- {
- active = YES;
- name = TK_LIBRARY;
- value = "${TK_SRCROOT}/library";
- },
- {
- active = YES;
- name = TCLLIBPATH;
- value = /Library/Tcl;
- },
- {
- active = YES;
- name = TK_SRCROOT;
- value = "${TK_SRCROOT}";
- },
- {
- active = NO;
- name = TK_CONSOLE;
- value = 1;
- },
- {
- active = NO;
- name = DYLD_PRINT_LIBRARIES;
- },
- {
- active = NO;
- name = NSTraceEvents;
- value = YES;
- },
- {
- active = NO;
- name = MallocBadFreeAbort;
- value = 1;
- },
- {
- active = NO;
- name = MallocLogFile;
- value = /tmp/malloc.log;
- },
- {
- active = NO;
- name = MallocStackLogging;
- value = 1;
- },
- {
- active = NO;
- name = MallocStackLoggingNoCompact;
- value = 1;
- },
- {
- active = NO;
- name = MallocPreScribble;
- value = 1;
- },
- {
- active = NO;
- name = MallocScribble;
- value = 1;
- },
- {
- active = NO;
- name = NSZombieEnabled;
- value = YES;
- },
- {
- active = NO;
- name = NSDeallocateZombies;
- value = YES;
- },
- {
- active = NO;
- name = NSAutoreleaseFreedObjectCheckEnabled;
- value = YES;
- },
- {
- active = NO;
- name = NSEnableAutoreleasePool;
- value = NO;
- },
- {
- active = NO;
- name = AUTO_LOG_ALL;
- value = YES;
- },
- {
- active = NO;
- name = AUTO_LOG_NOISY;
- value = YES;
- },
- {
- active = NO;
- name = AUTO_REFERENCE_COUNT_LOGGING;
- value = YES;
- },
- );
- executableSystemSymbolLevel = 0;
- executableUserSymbolLevel = 0;
- libgmallocEnabled = 0;
- name = tktest;
- sourceDirectories = (
- );
- };
- F944EB9C08F798180049FDD4 /* Source Control */ = {
- isa = PBXSourceControlManager;
- fallbackIsa = XCSourceControlManager;
- isSCMEnabled = 0;
- scmConfiguration = {
- CVSToolPath = /usr/bin/cvs;
- CVSUseSSH = NO;
- SubversionToolPath = /usr/bin/svn;
- repositoryNamesForRoots = {
- .. = "";
- };
- };
- scmType = scm.cvs;
- };
- F944EB9D08F798180049FDD4 /* Code sense */ = {
- isa = PBXCodeSenseManager;
- indexTemplatePath = "";
- };
- F97258A50A86873C00096C78 /* tktest-X11 */ = {
- activeExec = 0;
- executables = (
- F9FD31F50CC1AD070073837D /* tktest-X11 */,
- );
- };
- F9E61D16090A3E94002B3151 /* Tk */ = {
- activeExec = 0;
- executables = (
- F9E61D1C090A4282002B3151 /* Wish */,
- );
- };
- F9E61D1C090A4282002B3151 /* Wish */ = {
- isa = PBXExecutable;
- activeArgIndices = (
- YES,
- );
- argumentStrings = (
- "${TK_SRCROOT}/library/demos/widget",
- );
- autoAttachOnCrash = 1;
- breakpointsEnabled = 1;
- configStateDict = {
- "PBXLSLaunchAction-0" = {
- PBXLSLaunchAction = 0;
- PBXLSLaunchStartAction = 1;
- PBXLSLaunchStdioStyle = 2;
- PBXLSLaunchStyle = 0;
- class = PBXLSRunLaunchConfig;
- displayName = "Executable Runner";
- identifier = com.apple.Xcode.launch.runConfig;
- remoteHostInfo = "";
- startActionInfo = "";
- };
- "PBXLSLaunchAction-1" = {
- PBXLSLaunchAction = 1;
- PBXLSLaunchStartAction = 1;
- PBXLSLaunchStdioStyle = 2;
- PBXLSLaunchStyle = 0;
- class = PBXGDB_LaunchConfig;
- displayName = GDB;
- identifier = com.apple.Xcode.launch.GDBMI_Config;
- remoteHostInfo = "";
- startActionInfo = "";
- };
- };
- customDataFormattersEnabled = 1;
- debuggerPlugin = GDBDebugging;
- disassemblyDisplayState = 0;
- dylibVariantSuffix = "";
- enableDebugStr = 0;
- environmentEntries = (
- {
- active = NO;
- name = DYLD_PRINT_LIBRARIES;
- },
- );
- executableSystemSymbolLevel = 0;
- executableUserSymbolLevel = 0;
- libgmallocEnabled = 0;
- name = Wish;
- sourceDirectories = (
- );
- };
- F9FD31F50CC1AD070073837D /* tktest-X11 */ = {
- isa = PBXExecutable;
- activeArgIndices = (
- YES,
- NO,
- NO,
- NO,
- NO,
- NO,
- NO,
- );
- argumentStrings = (
- "${TK_SRCROOT}/library/demos/widget",
- "${TK_SRCROOT}/tests/all.tcl",
- "${TK_SRCROOT}/tests/ttk/all.tcl",
- "-geometry +0+0",
- "-singleproc 1",
- "-verbose \"bet\"",
- "-skip window-2.9",
- );
- autoAttachOnCrash = 1;
- breakpointsEnabled = 1;
- configStateDict = {
- "PBXLSLaunchAction-0" = {
- PBXLSLaunchAction = 0;
- PBXLSLaunchStartAction = 1;
- PBXLSLaunchStdioStyle = 2;
- PBXLSLaunchStyle = 0;
- class = PBXLSRunLaunchConfig;
- displayName = "Executable Runner";
- identifier = com.apple.Xcode.launch.runConfig;
- remoteHostInfo = "";
- startActionInfo = "";
- };
- "PBXLSLaunchAction-1" = {
- PBXLSLaunchAction = 1;
- PBXLSLaunchStartAction = 1;
- PBXLSLaunchStdioStyle = 2;
- PBXLSLaunchStyle = 0;
- class = PBXGDB_LaunchConfig;
- displayName = GDB;
- identifier = com.apple.Xcode.launch.GDBMI_Config;
- remoteHostInfo = "";
- startActionInfo = "";
- };
- };
- customDataFormattersEnabled = 1;
- debuggerPlugin = GDBDebugging;
- disassemblyDisplayState = 0;
- dylibVariantSuffix = "";
- enableDebugStr = 0;
- environmentEntries = (
- {
- active = YES;
- name = TCL_LIBRARY;
- value = "${TCL_SRCROOT}/library";
- },
- {
- active = YES;
- name = TK_LIBRARY;
- value = "${TK_SRCROOT}/library";
- },
- {
- active = YES;
- name = TCLLIBPATH;
- value = /Library/Tcl;
- },
- {
- active = YES;
- name = DISPLAY;
- value = ":0";
- },
- {
- active = NO;
- name = DYLD_PRINT_LIBRARIES;
- },
- {
- active = NO;
- name = MallocBadFreeAbort;
- value = 1;
- },
- {
- active = NO;
- name = MallocLogFile;
- value = /tmp/malloc.log;
- },
- {
- active = NO;
- name = MallocStackLogging;
- value = 1;
- },
- {
- active = NO;
- name = MallocStackLoggingNoCompact;
- value = 1;
- },
- {
- active = NO;
- name = MallocPreScribble;
- value = 1;
- },
- {
- active = NO;
- name = MallocScribble;
- value = 1;
- },
- );
- executableSystemSymbolLevel = 0;
- executableUserSymbolLevel = 0;
- libgmallocEnabled = 0;
- name = "tktest-X11";
- sourceDirectories = (
- );
- };
-}
diff --git a/tk8.6/macosx/Tk.xcode/project.pbxproj b/tk8.6/macosx/Tk.xcode/project.pbxproj
deleted file mode 100644
index 93143f7..0000000
--- a/tk8.6/macosx/Tk.xcode/project.pbxproj
+++ /dev/null
@@ -1,5779 +0,0 @@
-// !$*UTF8*$!
-{
- archiveVersion = 1;
- classes = {
- };
- objectVersion = 45;
- objects = {
-
-/* Begin PBXBuildFile section */
- F9067BCD0BFBA2900074F726 /* tkOldTest.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAFE08F27A39005CB29B /* tkOldTest.c */; };
- F9152B090EAF8A5000CD5C7B /* tkBusy.c in Sources */ = {isa = PBXBuildFile; fileRef = F9152B080EAF8A5000CD5C7B /* tkBusy.c */; };
- F9152B0A0EAF8A5700CD5C7B /* tkBusy.c in Sources */ = {isa = PBXBuildFile; fileRef = F9152B080EAF8A5000CD5C7B /* tkBusy.c */; };
- F92EE8BF0E62F846001A6E80 /* tkImgPhInstance.c in Sources */ = {isa = PBXBuildFile; fileRef = F92EE8BE0E62F846001A6E80 /* tkImgPhInstance.c */; };
- F92EE8D30E62F939001A6E80 /* tkImgPhInstance.c in Sources */ = {isa = PBXBuildFile; fileRef = F92EE8BE0E62F846001A6E80 /* tkImgPhInstance.c */; };
- F93599B30DF1F75400E04F67 /* tclOO.c in Sources */ = {isa = PBXBuildFile; fileRef = F93599B20DF1F75400E04F67 /* tclOO.c */; };
- F93599B70DF1F76100E04F67 /* tclOOBasic.c in Sources */ = {isa = PBXBuildFile; fileRef = F93599B60DF1F76100E04F67 /* tclOOBasic.c */; };
- F93599B90DF1F76600E04F67 /* tclOOCall.c in Sources */ = {isa = PBXBuildFile; fileRef = F93599B80DF1F76600E04F67 /* tclOOCall.c */; };
- F93599BC0DF1F77000E04F67 /* tclOODefineCmds.c in Sources */ = {isa = PBXBuildFile; fileRef = F93599BB0DF1F77000E04F67 /* tclOODefineCmds.c */; };
- F93599BE0DF1F77400E04F67 /* tclOOInfo.c in Sources */ = {isa = PBXBuildFile; fileRef = F93599BD0DF1F77400E04F67 /* tclOOInfo.c */; };
- F93599C20DF1F78300E04F67 /* tclOOMethod.c in Sources */ = {isa = PBXBuildFile; fileRef = F93599C10DF1F78300E04F67 /* tclOOMethod.c */; };
- F93599C40DF1F78800E04F67 /* tclOOStubInit.c in Sources */ = {isa = PBXBuildFile; fileRef = F93599C30DF1F78800E04F67 /* tclOOStubInit.c */; };
- F93599C60DF1F78D00E04F67 /* tclOOStubLib.c in Sources */ = {isa = PBXBuildFile; fileRef = F93599C50DF1F78D00E04F67 /* tclOOStubLib.c */; };
- F94523A20E6FC2AC00C1D987 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F94523A10E6FC2AC00C1D987 /* Cocoa.framework */; };
- F95D77EA0DFD820D00A8BF6F /* tclIORTrans.c in Sources */ = {isa = PBXBuildFile; fileRef = F95D77E90DFD820D00A8BF6F /* tclIORTrans.c */; };
- F96437CA0EF0D4B2003F468E /* tclZlib.c in Sources */ = {isa = PBXBuildFile; fileRef = F96437C90EF0D4B2003F468E /* tclZlib.c */; };
- F96437CB0EF0D4B2003F468E /* tclZlib.c in Sources */ = {isa = PBXBuildFile; fileRef = F96437C90EF0D4B2003F468E /* tclZlib.c */; };
- F96437E70EF0D652003F468E /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = F96437E60EF0D652003F468E /* libz.dylib */; };
- F96437E80EF0D652003F468E /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = F96437E60EF0D652003F468E /* libz.dylib */; };
- F966BDCF08F27A3F005CB29B /* tk3d.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAAC08F27A39005CB29B /* tk3d.c */; };
- F966BDD108F27A3F005CB29B /* tkArgv.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAAE08F27A39005CB29B /* tkArgv.c */; };
- F966BDD208F27A3F005CB29B /* tkAtom.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAAF08F27A39005CB29B /* tkAtom.c */; };
- F966BDD308F27A3F005CB29B /* tkBind.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAB008F27A39005CB29B /* tkBind.c */; };
- F966BDD408F27A3F005CB29B /* tkBitmap.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAB108F27A39005CB29B /* tkBitmap.c */; };
- F966BDD508F27A3F005CB29B /* tkButton.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAB208F27A39005CB29B /* tkButton.c */; };
- F966BDD708F27A3F005CB29B /* tkCanvArc.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAB408F27A39005CB29B /* tkCanvArc.c */; };
- F966BDD808F27A3F005CB29B /* tkCanvas.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAB508F27A39005CB29B /* tkCanvas.c */; };
- F966BDDA08F27A3F005CB29B /* tkCanvBmap.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAB708F27A39005CB29B /* tkCanvBmap.c */; };
- F966BDDB08F27A3F005CB29B /* tkCanvImg.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAB808F27A39005CB29B /* tkCanvImg.c */; };
- F966BDDC08F27A3F005CB29B /* tkCanvLine.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAB908F27A39005CB29B /* tkCanvLine.c */; };
- F966BDDD08F27A3F005CB29B /* tkCanvPoly.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BABA08F27A39005CB29B /* tkCanvPoly.c */; };
- F966BDDE08F27A3F005CB29B /* tkCanvPs.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BABB08F27A39005CB29B /* tkCanvPs.c */; };
- F966BDE008F27A3F005CB29B /* tkCanvText.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BABD08F27A39005CB29B /* tkCanvText.c */; };
- F966BDE108F27A3F005CB29B /* tkCanvUtil.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BABE08F27A39005CB29B /* tkCanvUtil.c */; };
- F966BDE208F27A3F005CB29B /* tkCanvWind.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BABF08F27A39005CB29B /* tkCanvWind.c */; };
- F966BDE308F27A3F005CB29B /* tkClipboard.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAC008F27A39005CB29B /* tkClipboard.c */; };
- F966BDE408F27A3F005CB29B /* tkCmds.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAC108F27A39005CB29B /* tkCmds.c */; };
- F966BDE508F27A3F005CB29B /* tkColor.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAC208F27A39005CB29B /* tkColor.c */; };
- F966BDE708F27A3F005CB29B /* tkConfig.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAC408F27A39005CB29B /* tkConfig.c */; };
- F966BDE808F27A3F005CB29B /* tkConsole.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAC508F27A39005CB29B /* tkConsole.c */; };
- F966BDE908F27A3F005CB29B /* tkCursor.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAC608F27A39005CB29B /* tkCursor.c */; };
- F966BDEB08F27A3F005CB29B /* tkEntry.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAC808F27A39005CB29B /* tkEntry.c */; };
- F966BDED08F27A3F005CB29B /* tkError.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BACA08F27A39005CB29B /* tkError.c */; };
- F966BDEE08F27A3F005CB29B /* tkEvent.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BACB08F27A39005CB29B /* tkEvent.c */; };
- F966BDEF08F27A3F005CB29B /* tkFileFilter.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BACC08F27A39005CB29B /* tkFileFilter.c */; };
- F966BDF108F27A3F005CB29B /* tkFocus.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BACE08F27A39005CB29B /* tkFocus.c */; };
- F966BDF208F27A3F005CB29B /* tkFont.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BACF08F27A39005CB29B /* tkFont.c */; };
- F966BDF408F27A3F005CB29B /* tkFrame.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAD108F27A39005CB29B /* tkFrame.c */; };
- F966BDF508F27A3F005CB29B /* tkGC.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAD208F27A39005CB29B /* tkGC.c */; };
- F966BDF608F27A3F005CB29B /* tkGeometry.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAD308F27A39005CB29B /* tkGeometry.c */; };
- F966BDF708F27A3F005CB29B /* tkGet.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAD408F27A39005CB29B /* tkGet.c */; };
- F966BDF808F27A3F005CB29B /* tkGrab.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAD508F27A39005CB29B /* tkGrab.c */; };
- F966BDF908F27A3F005CB29B /* tkGrid.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAD608F27A39005CB29B /* tkGrid.c */; };
- F966BDFA08F27A3F005CB29B /* tkImage.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAD708F27A39005CB29B /* tkImage.c */; };
- F966BDFB08F27A3F005CB29B /* tkImgBmap.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAD808F27A39005CB29B /* tkImgBmap.c */; };
- F966BDFC08F27A3F005CB29B /* tkImgGIF.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAD908F27A39005CB29B /* tkImgGIF.c */; };
- F966BDFD08F27A3F005CB29B /* tkImgPhoto.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BADA08F27A39005CB29B /* tkImgPhoto.c */; };
- F966BDFE08F27A3F005CB29B /* tkImgPPM.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BADB08F27A39005CB29B /* tkImgPPM.c */; };
- F966BE0708F27A3F005CB29B /* tkListbox.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAE408F27A39005CB29B /* tkListbox.c */; };
- F966BE0808F27A3F005CB29B /* tkMacWinMenu.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAE508F27A39005CB29B /* tkMacWinMenu.c */; };
- F966BE0908F27A3F005CB29B /* tkMain.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAE608F27A39005CB29B /* tkMain.c */; };
- F966BE0A08F27A3F005CB29B /* tkMenu.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAE708F27A39005CB29B /* tkMenu.c */; };
- F966BE0C08F27A3F005CB29B /* tkMenubutton.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAE908F27A39005CB29B /* tkMenubutton.c */; };
- F966BE0E08F27A3F005CB29B /* tkMenuDraw.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAEB08F27A39005CB29B /* tkMenuDraw.c */; };
- F966BE0F08F27A3F005CB29B /* tkMessage.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAEC08F27A39005CB29B /* tkMessage.c */; };
- F966BE1008F27A3F005CB29B /* tkObj.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAED08F27A39005CB29B /* tkObj.c */; };
- F966BE1108F27A3F005CB29B /* tkOldConfig.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAEE08F27A39005CB29B /* tkOldConfig.c */; };
- F966BE1208F27A3F005CB29B /* tkOption.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAEF08F27A39005CB29B /* tkOption.c */; };
- F966BE1308F27A3F005CB29B /* tkPack.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAF008F27A39005CB29B /* tkPack.c */; };
- F966BE1408F27A3F005CB29B /* tkPanedWindow.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAF108F27A39005CB29B /* tkPanedWindow.c */; };
- F966BE1508F27A3F005CB29B /* tkPlace.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAF208F27A39005CB29B /* tkPlace.c */; };
- F966BE1708F27A3F005CB29B /* tkPointer.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAF408F27A39005CB29B /* tkPointer.c */; };
- F966BE1908F27A3F005CB29B /* tkRectOval.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAF608F27A39005CB29B /* tkRectOval.c */; };
- F966BE1A08F27A3F005CB29B /* tkScale.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAF708F27A39005CB29B /* tkScale.c */; };
- F966BE1C08F27A40005CB29B /* tkScrollbar.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAF908F27A39005CB29B /* tkScrollbar.c */; };
- F966BE1E08F27A40005CB29B /* tkSelect.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAFB08F27A39005CB29B /* tkSelect.c */; };
- F966BE2008F27A40005CB29B /* tkSquare.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAFD08F27A39005CB29B /* tkSquare.c */; };
- F966BE2208F27A40005CB29B /* tkStubInit.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAFF08F27A39005CB29B /* tkStubInit.c */; };
- F966BE2308F27A40005CB29B /* tkStubLib.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0008F27A39005CB29B /* tkStubLib.c */; };
- F966BE2408F27A40005CB29B /* tkStyle.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0108F27A39005CB29B /* tkStyle.c */; };
- F966BE2508F27A40005CB29B /* tkTest.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0208F27A39005CB29B /* tkTest.c */; };
- F966BE2608F27A40005CB29B /* tkText.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0308F27A39005CB29B /* tkText.c */; };
- F966BE2808F27A40005CB29B /* tkTextBTree.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0508F27A39005CB29B /* tkTextBTree.c */; };
- F966BE2908F27A40005CB29B /* tkTextDisp.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0608F27A39005CB29B /* tkTextDisp.c */; };
- F966BE2B08F27A40005CB29B /* tkTextImage.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0808F27A39005CB29B /* tkTextImage.c */; };
- F966BE2C08F27A40005CB29B /* tkTextIndex.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0908F27A39005CB29B /* tkTextIndex.c */; };
- F966BE2D08F27A40005CB29B /* tkTextMark.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0A08F27A39005CB29B /* tkTextMark.c */; };
- F966BE2E08F27A40005CB29B /* tkTextTag.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0B08F27A39005CB29B /* tkTextTag.c */; };
- F966BE2F08F27A40005CB29B /* tkTextWind.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0C08F27A39005CB29B /* tkTextWind.c */; };
- F966BE3008F27A40005CB29B /* tkTrig.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0D08F27A39005CB29B /* tkTrig.c */; };
- F966BE3108F27A40005CB29B /* tkUndo.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0E08F27A39005CB29B /* tkUndo.c */; };
- F966BE3308F27A40005CB29B /* tkUtil.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB1008F27A39005CB29B /* tkUtil.c */; };
- F966BE3408F27A40005CB29B /* tkVisual.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB1108F27A39005CB29B /* tkVisual.c */; };
- F966BE3508F27A40005CB29B /* tkWindow.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB1208F27A39005CB29B /* tkWindow.c */; };
- F966BEDB08F27A40005CB29B /* tkMacOSXBitmap.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBC508F27A3B005CB29B /* tkMacOSXBitmap.c */; };
- F966BEDC08F27A40005CB29B /* tkMacOSXButton.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBC608F27A3B005CB29B /* tkMacOSXButton.c */; };
- F966BEDE08F27A40005CB29B /* tkMacOSXClipboard.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBC808F27A3B005CB29B /* tkMacOSXClipboard.c */; };
- F966BEDF08F27A40005CB29B /* tkMacOSXColor.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBC908F27A3B005CB29B /* tkMacOSXColor.c */; };
- F966BEE008F27A40005CB29B /* tkMacOSXConfig.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBCA08F27A3B005CB29B /* tkMacOSXConfig.c */; };
- F966BEE108F27A40005CB29B /* tkMacOSXCursor.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBCB08F27A3B005CB29B /* tkMacOSXCursor.c */; };
- F966BEE308F27A40005CB29B /* tkMacOSXDebug.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBCD08F27A3B005CB29B /* tkMacOSXDebug.c */; };
- F966BEE608F27A40005CB29B /* tkMacOSXDialog.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBD008F27A3B005CB29B /* tkMacOSXDialog.c */; };
- F966BEE708F27A40005CB29B /* tkMacOSXDraw.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBD108F27A3B005CB29B /* tkMacOSXDraw.c */; };
- F966BEE808F27A40005CB29B /* tkMacOSXEmbed.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBD208F27A3B005CB29B /* tkMacOSXEmbed.c */; };
- F966BEE908F27A40005CB29B /* tkMacOSXEntry.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBD308F27A3B005CB29B /* tkMacOSXEntry.c */; };
- F966BEEA08F27A40005CB29B /* tkMacOSXEvent.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBD408F27A3B005CB29B /* tkMacOSXEvent.c */; };
- F966BEEC08F27A40005CB29B /* tkMacOSXFont.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBD608F27A3B005CB29B /* tkMacOSXFont.c */; };
- F966BEED08F27A40005CB29B /* tkMacOSXHLEvents.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBD708F27A3B005CB29B /* tkMacOSXHLEvents.c */; };
- F966BEEE08F27A40005CB29B /* tkMacOSXInit.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBD808F27A3B005CB29B /* tkMacOSXInit.c */; settings = {COMPILER_FLAGS = "-DTK_LIBRARY=\\\"$(TK_LIBRARY)\\\""; }; };
- F966BEF108F27A40005CB29B /* tkMacOSXKeyboard.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBDB08F27A3B005CB29B /* tkMacOSXKeyboard.c */; };
- F966BEF208F27A40005CB29B /* tkMacOSXKeyEvent.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBDC08F27A3B005CB29B /* tkMacOSXKeyEvent.c */; };
- F966BEF308F27A40005CB29B /* tkMacOSXMenu.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBDD08F27A3B005CB29B /* tkMacOSXMenu.c */; };
- F966BEF608F27A40005CB29B /* tkMacOSXMenubutton.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBE008F27A3B005CB29B /* tkMacOSXMenubutton.c */; };
- F966BEF708F27A40005CB29B /* tkMacOSXMenus.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBE108F27A3B005CB29B /* tkMacOSXMenus.c */; };
- F966BEF808F27A40005CB29B /* tkMacOSXMouseEvent.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBE208F27A3B005CB29B /* tkMacOSXMouseEvent.c */; };
- F966BEF908F27A40005CB29B /* tkMacOSXNotify.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBE308F27A3B005CB29B /* tkMacOSXNotify.c */; };
- F966BF0108F27A40005CB29B /* tkMacOSXRegion.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBEB08F27A3C005CB29B /* tkMacOSXRegion.c */; };
- F966BF0308F27A40005CB29B /* tkMacOSXScrlbr.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBED08F27A3C005CB29B /* tkMacOSXScrlbr.c */; };
- F966BF0408F27A40005CB29B /* tkMacOSXSend.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBEE08F27A3C005CB29B /* tkMacOSXSend.c */; };
- F966BF0508F27A40005CB29B /* tkMacOSXSubwindows.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBEF08F27A3C005CB29B /* tkMacOSXSubwindows.c */; };
- F966BF0608F27A40005CB29B /* tkMacOSXTest.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBF008F27A3C005CB29B /* tkMacOSXTest.c */; };
- F966BF0708F27A40005CB29B /* tkMacOSXWindowEvent.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBF108F27A3C005CB29B /* tkMacOSXWindowEvent.c */; };
- F966BF0808F27A40005CB29B /* tkMacOSXWm.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBF208F27A3C005CB29B /* tkMacOSXWm.c */; };
- F966BF0B08F27A40005CB29B /* tkMacOSXXStubs.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBF508F27A3C005CB29B /* tkMacOSXXStubs.c */; };
- F966BF7F08F27A41005CB29B /* tkAppInit.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC7508F27A3D005CB29B /* tkAppInit.c */; settings = {COMPILER_FLAGS = "-DTK_TEST"; }; };
- F966BF8308F27A41005CB29B /* tkUnix3d.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC7908F27A3D005CB29B /* tkUnix3d.c */; };
- F966BF9608F27A41005CB29B /* tkUnixScale.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC8C08F27A3D005CB29B /* tkUnixScale.c */; };
- F966C02A08F27A42005CB29B /* xcolors.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BD2408F27A3F005CB29B /* xcolors.c */; };
- F966C02B08F27A42005CB29B /* xdraw.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BD2508F27A3F005CB29B /* xdraw.c */; };
- F966C02C08F27A42005CB29B /* xgc.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BD2608F27A3F005CB29B /* xgc.c */; };
- F966C02D08F27A42005CB29B /* ximage.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BD2708F27A3F005CB29B /* ximage.c */; };
- F966C02E08F27A42005CB29B /* xutil.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BD2808F27A3F005CB29B /* xutil.c */; };
- F966C07508F2820D005CB29B /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F966C07408F2820D005CB29B /* CoreFoundation.framework */; };
- F966C07708F2821B005CB29B /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F966C07608F2821B005CB29B /* Carbon.framework */; };
- F966C07908F28233005CB29B /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F966C07808F28233005CB29B /* IOKit.framework */; };
- F96888050AF786D5000797B5 /* ttkBlink.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887E10AF786D5000797B5 /* ttkBlink.c */; };
- F96888060AF786D5000797B5 /* ttkButton.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887E20AF786D5000797B5 /* ttkButton.c */; };
- F96888070AF786D5000797B5 /* ttkCache.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887E30AF786D5000797B5 /* ttkCache.c */; };
- F96888080AF786D5000797B5 /* ttkClamTheme.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887E40AF786D5000797B5 /* ttkClamTheme.c */; };
- F96888090AF786D5000797B5 /* ttkClassicTheme.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887E50AF786D5000797B5 /* ttkClassicTheme.c */; };
- F968880A0AF786D5000797B5 /* ttkDefaultTheme.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887E70AF786D5000797B5 /* ttkDefaultTheme.c */; };
- F968880B0AF786D5000797B5 /* ttkElements.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887E80AF786D5000797B5 /* ttkElements.c */; };
- F968880C0AF786D5000797B5 /* ttkEntry.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887E90AF786D5000797B5 /* ttkEntry.c */; };
- F968880D0AF786D5000797B5 /* ttkFrame.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887EA0AF786D5000797B5 /* ttkFrame.c */; };
- F968880E0AF786D5000797B5 /* ttkImage.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887EB0AF786D5000797B5 /* ttkImage.c */; };
- F968880F0AF786D5000797B5 /* ttkInit.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887EC0AF786D5000797B5 /* ttkInit.c */; };
- F96888100AF786D5000797B5 /* ttkLabel.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887ED0AF786D5000797B5 /* ttkLabel.c */; };
- F96888110AF786D5000797B5 /* ttkLayout.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887EE0AF786D5000797B5 /* ttkLayout.c */; };
- F96888120AF786D5000797B5 /* ttkManager.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887EF0AF786D5000797B5 /* ttkManager.c */; };
- F96888130AF786D5000797B5 /* ttkNotebook.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887F10AF786D5000797B5 /* ttkNotebook.c */; };
- F96888140AF786D5000797B5 /* ttkPanedwindow.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887F20AF786D5000797B5 /* ttkPanedwindow.c */; };
- F96888150AF786D5000797B5 /* ttkProgress.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887F30AF786D5000797B5 /* ttkProgress.c */; };
- F96888160AF786D5000797B5 /* ttkScale.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887F40AF786D5000797B5 /* ttkScale.c */; };
- F96888170AF786D5000797B5 /* ttkScroll.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887F50AF786D5000797B5 /* ttkScroll.c */; };
- F96888180AF786D5000797B5 /* ttkScrollbar.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887F60AF786D5000797B5 /* ttkScrollbar.c */; };
- F96888190AF786D5000797B5 /* ttkSeparator.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887F70AF786D5000797B5 /* ttkSeparator.c */; };
- F968881A0AF786D5000797B5 /* ttkSquare.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887F80AF786D5000797B5 /* ttkSquare.c */; };
- F968881B0AF786D5000797B5 /* ttkState.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887F90AF786D5000797B5 /* ttkState.c */; };
- F968881C0AF786D5000797B5 /* ttkStubInit.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887FA0AF786D5000797B5 /* ttkStubInit.c */; };
- F968881D0AF786D5000797B5 /* ttkStubLib.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887FB0AF786D5000797B5 /* ttkStubLib.c */; };
- F968881E0AF786D5000797B5 /* ttkTagSet.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887FC0AF786D5000797B5 /* ttkTagSet.c */; };
- F968881F0AF786D5000797B5 /* ttkTheme.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887FD0AF786D5000797B5 /* ttkTheme.c */; };
- F96888200AF786D5000797B5 /* ttkTrace.c in Sources */ = {isa = PBXBuildFile; fileRef = F96888000AF786D5000797B5 /* ttkTrace.c */; };
- F96888210AF786D5000797B5 /* ttkTrack.c in Sources */ = {isa = PBXBuildFile; fileRef = F96888010AF786D5000797B5 /* ttkTrack.c */; };
- F96888220AF786D5000797B5 /* ttkTreeview.c in Sources */ = {isa = PBXBuildFile; fileRef = F96888020AF786D5000797B5 /* ttkTreeview.c */; };
- F96888230AF786D5000797B5 /* ttkWidget.c in Sources */ = {isa = PBXBuildFile; fileRef = F96888030AF786D5000797B5 /* ttkWidget.c */; };
- F96888850AF78938000797B5 /* ttkMacOSXTheme.c in Sources */ = {isa = PBXBuildFile; fileRef = F96888840AF78938000797B5 /* ttkMacOSXTheme.c */; };
- F96D456F08F272BB004A47F5 /* regcomp.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3ED008F272A7004A47F5 /* regcomp.c */; };
- F96D457208F272BB004A47F5 /* regerror.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3ED308F272A7004A47F5 /* regerror.c */; };
- F96D457508F272BB004A47F5 /* regexec.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3ED608F272A7004A47F5 /* regexec.c */; };
- F96D457608F272BB004A47F5 /* regfree.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3ED708F272A7004A47F5 /* regfree.c */; };
- F96D457B08F272BB004A47F5 /* tclAlloc.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EDC08F272A7004A47F5 /* tclAlloc.c */; settings = {COMPILER_FLAGS = "-DUSE_TCLALLOC=0"; }; };
- F96D457C08F272BB004A47F5 /* tclAsync.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EDD08F272A7004A47F5 /* tclAsync.c */; };
- F96D457D08F272BB004A47F5 /* tclBasic.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EDE08F272A7004A47F5 /* tclBasic.c */; };
- F96D457E08F272BC004A47F5 /* tclBinary.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EDF08F272A7004A47F5 /* tclBinary.c */; };
- F96D457F08F272BC004A47F5 /* tclCkalloc.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EE008F272A7004A47F5 /* tclCkalloc.c */; };
- F96D458008F272BC004A47F5 /* tclClock.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EE108F272A7004A47F5 /* tclClock.c */; };
- F96D458108F272BC004A47F5 /* tclCmdAH.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EE208F272A7004A47F5 /* tclCmdAH.c */; };
- F96D458208F272BC004A47F5 /* tclCmdIL.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EE308F272A7004A47F5 /* tclCmdIL.c */; };
- F96D458308F272BC004A47F5 /* tclCmdMZ.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EE408F272A7004A47F5 /* tclCmdMZ.c */; };
- F96D458408F272BC004A47F5 /* tclCompCmds.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EE508F272A7004A47F5 /* tclCompCmds.c */; };
- F96D458508F272BC004A47F5 /* tclCompExpr.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EE608F272A7004A47F5 /* tclCompExpr.c */; };
- F96D458608F272BC004A47F5 /* tclCompile.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EE708F272A7004A47F5 /* tclCompile.c */; };
- F96D458808F272BC004A47F5 /* tclConfig.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EE908F272A7004A47F5 /* tclConfig.c */; };
- F96D458908F272BC004A47F5 /* tclDate.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EEA08F272A7004A47F5 /* tclDate.c */; };
- F96D458B08F272BC004A47F5 /* tclDictObj.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EEC08F272A7004A47F5 /* tclDictObj.c */; };
- F96D458C08F272BC004A47F5 /* tclEncoding.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EED08F272A7004A47F5 /* tclEncoding.c */; };
- F96D458D08F272BC004A47F5 /* tclEnv.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EEE08F272A7004A47F5 /* tclEnv.c */; };
- F96D458E08F272BC004A47F5 /* tclEvent.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EEF08F272A7004A47F5 /* tclEvent.c */; };
- F96D458F08F272BC004A47F5 /* tclExecute.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EF008F272A7004A47F5 /* tclExecute.c */; };
- F96D459008F272BC004A47F5 /* tclFCmd.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EF108F272A7004A47F5 /* tclFCmd.c */; };
- F96D459108F272BC004A47F5 /* tclFileName.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EF208F272A7004A47F5 /* tclFileName.c */; };
- F96D459308F272BC004A47F5 /* tclGet.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EF408F272A7004A47F5 /* tclGet.c */; };
- F96D459508F272BC004A47F5 /* tclHash.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EF608F272A7004A47F5 /* tclHash.c */; };
- F96D459608F272BC004A47F5 /* tclHistory.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EF708F272A7004A47F5 /* tclHistory.c */; };
- F96D459708F272BC004A47F5 /* tclIndexObj.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EF808F272A7004A47F5 /* tclIndexObj.c */; };
- F96D459B08F272BC004A47F5 /* tclInterp.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EFC08F272A7004A47F5 /* tclInterp.c */; };
- F96D459D08F272BC004A47F5 /* tclIO.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EFE08F272A7004A47F5 /* tclIO.c */; };
- F96D459F08F272BC004A47F5 /* tclIOCmd.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0008F272A7004A47F5 /* tclIOCmd.c */; };
- F96D45A008F272BC004A47F5 /* tclIOGT.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0108F272A7004A47F5 /* tclIOGT.c */; };
- F96D45A108F272BC004A47F5 /* tclIORChan.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0208F272A7004A47F5 /* tclIORChan.c */; };
- F96D45A208F272BC004A47F5 /* tclIOSock.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0308F272A7004A47F5 /* tclIOSock.c */; };
- F96D45A308F272BC004A47F5 /* tclIOUtil.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0408F272A7004A47F5 /* tclIOUtil.c */; };
- F96D45A408F272BC004A47F5 /* tclLink.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0508F272A7004A47F5 /* tclLink.c */; };
- F96D45A508F272BC004A47F5 /* tclListObj.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0608F272A7004A47F5 /* tclListObj.c */; };
- F96D45A608F272BC004A47F5 /* tclLiteral.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0708F272A7004A47F5 /* tclLiteral.c */; };
- F96D45A708F272BC004A47F5 /* tclLoad.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0808F272A7004A47F5 /* tclLoad.c */; };
- F96D45A908F272BC004A47F5 /* tclMain.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0A08F272A7004A47F5 /* tclMain.c */; };
- F96D45AA08F272BC004A47F5 /* tclNamesp.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0B08F272A7004A47F5 /* tclNamesp.c */; };
- F96D45AB08F272BC004A47F5 /* tclNotify.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0C08F272A7004A47F5 /* tclNotify.c */; };
- F96D45AC08F272BC004A47F5 /* tclObj.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0D08F272A7004A47F5 /* tclObj.c */; };
- F96D45AD08F272BC004A47F5 /* tclPanic.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0E08F272A7004A47F5 /* tclPanic.c */; };
- F96D45AE08F272BC004A47F5 /* tclParse.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0F08F272A7004A47F5 /* tclParse.c */; };
- F96D45B008F272BC004A47F5 /* tclPathObj.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1108F272A7004A47F5 /* tclPathObj.c */; };
- F96D45B108F272BC004A47F5 /* tclPipe.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1208F272A7004A47F5 /* tclPipe.c */; };
- F96D45B208F272BC004A47F5 /* tclPkg.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1308F272A7004A47F5 /* tclPkg.c */; };
- F96D45B308F272BC004A47F5 /* tclPkgConfig.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1408F272A7004A47F5 /* tclPkgConfig.c */; settings = {COMPILER_FLAGS = "-DCFG_INSTALL_LIBDIR=\\\"$(LIBDIR)\\\" -DCFG_INSTALL_BINDIR=\\\"$(BINDIR)\\\" -DCFG_INSTALL_SCRDIR=\\\"$(TCL_LIBRARY)\\\" -DCFG_INSTALL_INCDIR=\\\"$(INCLUDEDIR)\\\" -DCFG_INSTALL_DOCDIR=\\\"$(MANDIR)\\\" -DCFG_RUNTIME_LIBDIR=\\\"$(LIBDIR)\\\" -DCFG_RUNTIME_BINDIR=\\\"$(BINDIR)\\\" -DCFG_RUNTIME_SCRDIR=\\\"$(TCL_LIBRARY)\\\" -DCFG_RUNTIME_INCDIR=\\\"$(INCLUDEDIR)\\\" -DCFG_RUNTIME_DOCDIR=\\\"$(MANDIR)\\\""; }; };
- F96D45B608F272BC004A47F5 /* tclPosixStr.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1708F272A7004A47F5 /* tclPosixStr.c */; };
- F96D45B708F272BC004A47F5 /* tclPreserve.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1808F272A7004A47F5 /* tclPreserve.c */; };
- F96D45B808F272BC004A47F5 /* tclProc.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1908F272A7004A47F5 /* tclProc.c */; };
- F96D45B908F272BC004A47F5 /* tclRegexp.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1A08F272A7004A47F5 /* tclRegexp.c */; };
- F96D45BB08F272BC004A47F5 /* tclResolve.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1C08F272A7004A47F5 /* tclResolve.c */; };
- F96D45BC08F272BC004A47F5 /* tclResult.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1D08F272A7004A47F5 /* tclResult.c */; };
- F96D45BD08F272BC004A47F5 /* tclScan.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1E08F272A7004A47F5 /* tclScan.c */; };
- F96D45BE08F272BC004A47F5 /* tclStringObj.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1F08F272A7004A47F5 /* tclStringObj.c */; };
- F96D45C308F272BC004A47F5 /* tclStrToD.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F2408F272A7004A47F5 /* tclStrToD.c */; };
- F96D45C408F272BC004A47F5 /* tclStubInit.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F2508F272A7004A47F5 /* tclStubInit.c */; };
- F96D45C508F272BC004A47F5 /* tclStubLib.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F2608F272A7004A47F5 /* tclStubLib.c */; };
- F96D45C908F272BC004A47F5 /* tclThread.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F2A08F272A7004A47F5 /* tclThread.c */; };
- F96D45CA08F272BC004A47F5 /* tclThreadAlloc.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F2B08F272A7004A47F5 /* tclThreadAlloc.c */; };
- F96D45CB08F272BC004A47F5 /* tclThreadJoin.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F2C08F272A7004A47F5 /* tclThreadJoin.c */; };
- F96D45CC08F272BC004A47F5 /* tclThreadStorage.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F2D08F272A7004A47F5 /* tclThreadStorage.c */; };
- F96D45CE08F272BC004A47F5 /* tclTimer.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F2F08F272A7004A47F5 /* tclTimer.c */; };
- F96D45D008F272BC004A47F5 /* tclTomMathInterface.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F3108F272A7004A47F5 /* tclTomMathInterface.c */; };
- F96D45D108F272BC004A47F5 /* tclTrace.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F3208F272A7004A47F5 /* tclTrace.c */; };
- F96D45D308F272BC004A47F5 /* tclUtf.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F3408F272A7004A47F5 /* tclUtf.c */; };
- F96D45D408F272BC004A47F5 /* tclUtil.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F3508F272A7004A47F5 /* tclUtil.c */; };
- F96D45D508F272BC004A47F5 /* tclVar.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F3608F272A7004A47F5 /* tclVar.c */; };
- F96D48E208F272C3004A47F5 /* bn_fast_s_mp_mul_digs.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D426408F272B3004A47F5 /* bn_fast_s_mp_mul_digs.c */; };
- F96D48E408F272C3004A47F5 /* bn_fast_s_mp_sqr.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D426608F272B3004A47F5 /* bn_fast_s_mp_sqr.c */; };
- F96D48E708F272C3004A47F5 /* bn_mp_add.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D426908F272B3004A47F5 /* bn_mp_add.c */; };
- F96D48E808F272C3004A47F5 /* bn_mp_add_d.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D426A08F272B3004A47F5 /* bn_mp_add_d.c */; };
- F96D48EB08F272C3004A47F5 /* bn_mp_clamp.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D426D08F272B3004A47F5 /* bn_mp_clamp.c */; };
- F96D48EC08F272C3004A47F5 /* bn_mp_clear.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D426E08F272B3004A47F5 /* bn_mp_clear.c */; };
- F96D48ED08F272C3004A47F5 /* bn_mp_clear_multi.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D426F08F272B3004A47F5 /* bn_mp_clear_multi.c */; };
- F96D48EE08F272C3004A47F5 /* bn_mp_cmp.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427008F272B3004A47F5 /* bn_mp_cmp.c */; };
- F96D48F008F272C3004A47F5 /* bn_mp_cmp_mag.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427208F272B3004A47F5 /* bn_mp_cmp_mag.c */; };
- F96D48F208F272C3004A47F5 /* bn_mp_copy.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427408F272B3004A47F5 /* bn_mp_copy.c */; };
- F96D48F308F272C3004A47F5 /* bn_mp_count_bits.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427508F272B3004A47F5 /* bn_mp_count_bits.c */; };
- F96D48F408F272C3004A47F5 /* bn_mp_div.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427608F272B3004A47F5 /* bn_mp_div.c */; };
- F96D48F508F272C3004A47F5 /* bn_mp_div_2.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427708F272B3004A47F5 /* bn_mp_div_2.c */; };
- F96D48F608F272C3004A47F5 /* bn_mp_div_2d.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427808F272B3004A47F5 /* bn_mp_div_2d.c */; };
- F96D48F708F272C3004A47F5 /* bn_mp_div_3.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427908F272B3004A47F5 /* bn_mp_div_3.c */; };
- F96D48F808F272C3004A47F5 /* bn_mp_div_d.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427A08F272B3004A47F5 /* bn_mp_div_d.c */; };
- F96D48FC08F272C3004A47F5 /* bn_mp_exch.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427E08F272B3004A47F5 /* bn_mp_exch.c */; };
- F96D490508F272C3004A47F5 /* bn_mp_grow.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D428708F272B3004A47F5 /* bn_mp_grow.c */; };
- F96D490608F272C3004A47F5 /* bn_mp_init.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D428808F272B3004A47F5 /* bn_mp_init.c */; };
- F96D490708F272C3004A47F5 /* bn_mp_init_copy.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D428908F272B3004A47F5 /* bn_mp_init_copy.c */; };
- F96D490808F272C3004A47F5 /* bn_mp_init_multi.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D428A08F272B3004A47F5 /* bn_mp_init_multi.c */; };
- F96D490908F272C3004A47F5 /* bn_mp_init_set.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D428B08F272B3004A47F5 /* bn_mp_init_set.c */; };
- F96D490B08F272C3004A47F5 /* bn_mp_init_size.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D428D08F272B3004A47F5 /* bn_mp_init_size.c */; };
- F96D491008F272C3004A47F5 /* bn_mp_karatsuba_mul.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D429208F272B3004A47F5 /* bn_mp_karatsuba_mul.c */; };
- F96D491108F272C3004A47F5 /* bn_mp_karatsuba_sqr.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D429308F272B3004A47F5 /* bn_mp_karatsuba_sqr.c */; };
- F96D491308F272C3004A47F5 /* bn_mp_lshd.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D429508F272B3004A47F5 /* bn_mp_lshd.c */; };
- F96D491408F272C3004A47F5 /* bn_mp_mod.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D429608F272B3004A47F5 /* bn_mp_mod.c */; };
- F96D491508F272C3004A47F5 /* bn_mp_mod_2d.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D429708F272B3004A47F5 /* bn_mp_mod_2d.c */; };
- F96D491A08F272C3004A47F5 /* bn_mp_mul.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D429C08F272B3004A47F5 /* bn_mp_mul.c */; };
- F96D491B08F272C3004A47F5 /* bn_mp_mul_2.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D429D08F272B3004A47F5 /* bn_mp_mul_2.c */; };
- F96D491C08F272C3004A47F5 /* bn_mp_mul_2d.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D429E08F272B3004A47F5 /* bn_mp_mul_2d.c */; };
- F96D491D08F272C3004A47F5 /* bn_mp_mul_d.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D429F08F272B3004A47F5 /* bn_mp_mul_d.c */; };
- F96D492908F272C3004A47F5 /* bn_mp_radix_size.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42AB08F272B3004A47F5 /* bn_mp_radix_size.c */; };
- F96D492A08F272C3004A47F5 /* bn_mp_radix_smap.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42AC08F272B3004A47F5 /* bn_mp_radix_smap.c */; };
- F96D492C08F272C3004A47F5 /* bn_mp_read_radix.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42AE08F272B3004A47F5 /* bn_mp_read_radix.c */; };
- F96D493708F272C3004A47F5 /* bn_mp_rshd.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42B908F272B3004A47F5 /* bn_mp_rshd.c */; };
- F96D493808F272C3004A47F5 /* bn_mp_set.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42BA08F272B3004A47F5 /* bn_mp_set.c */; };
- F96D493C08F272C3004A47F5 /* bn_mp_sqr.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42BE08F272B3004A47F5 /* bn_mp_sqr.c */; };
- F96D493F08F272C3004A47F5 /* bn_mp_sub.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42C108F272B3004A47F5 /* bn_mp_sub.c */; };
- F96D494008F272C3004A47F5 /* bn_mp_sub_d.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42C208F272B3004A47F5 /* bn_mp_sub_d.c */; };
- F96D494608F272C3004A47F5 /* bn_mp_toom_mul.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42C808F272B3004A47F5 /* bn_mp_toom_mul.c */; };
- F96D494708F272C3004A47F5 /* bn_mp_toom_sqr.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42C908F272B3004A47F5 /* bn_mp_toom_sqr.c */; };
- F96D494908F272C3004A47F5 /* bn_mp_toradix_n.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42CB08F272B3004A47F5 /* bn_mp_toradix_n.c */; };
- F96D494C08F272C3004A47F5 /* bn_mp_zero.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42CE08F272B3004A47F5 /* bn_mp_zero.c */; };
- F96D494E08F272C3004A47F5 /* bn_reverse.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42D008F272B3004A47F5 /* bn_reverse.c */; };
- F96D494F08F272C3004A47F5 /* bn_s_mp_add.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42D108F272B3004A47F5 /* bn_s_mp_add.c */; };
- F96D495108F272C3004A47F5 /* bn_s_mp_mul_digs.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42D308F272B3004A47F5 /* bn_s_mp_mul_digs.c */; };
- F96D495308F272C3004A47F5 /* bn_s_mp_sqr.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42D508F272B3004A47F5 /* bn_s_mp_sqr.c */; };
- F96D495408F272C3004A47F5 /* bn_s_mp_sub.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42D608F272B3004A47F5 /* bn_s_mp_sub.c */; };
- F96D495508F272C3004A47F5 /* bncore.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42D708F272B3004A47F5 /* bncore.c */; };
- F96D49A908F272C4004A47F5 /* tclMacOSXBundle.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D433908F272B5004A47F5 /* tclMacOSXBundle.c */; };
- F96D49AD08F272C4004A47F5 /* tclMacOSXFCmd.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D433D08F272B5004A47F5 /* tclMacOSXFCmd.c */; };
- F96D49AE08F272C4004A47F5 /* tclMacOSXNotify.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D433E08F272B5004A47F5 /* tclMacOSXNotify.c */; };
- F96D4AC608F272C9004A47F5 /* tclLoadDyld.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D445B08F272B9004A47F5 /* tclLoadDyld.c */; settings = {COMPILER_FLAGS = "-Wno-deprecated-declarations"; }; };
- F96D4ACA08F272C9004A47F5 /* tclUnixChan.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D445F08F272B9004A47F5 /* tclUnixChan.c */; };
- F96D4ACB08F272C9004A47F5 /* tclUnixEvent.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D446008F272B9004A47F5 /* tclUnixEvent.c */; };
- F96D4ACC08F272C9004A47F5 /* tclUnixFCmd.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D446108F272B9004A47F5 /* tclUnixFCmd.c */; };
- F96D4ACD08F272C9004A47F5 /* tclUnixFile.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D446208F272B9004A47F5 /* tclUnixFile.c */; };
- F96D4ACE08F272C9004A47F5 /* tclUnixInit.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D446308F272B9004A47F5 /* tclUnixInit.c */; settings = {COMPILER_FLAGS = "-DTCL_LIBRARY=\\\"$(TCL_LIBRARY)\\\" -DTCL_PACKAGE_PATH=\\\"$(TCL_PACKAGE_PATH)\\\""; }; };
- F96D4ACF08F272C9004A47F5 /* tclUnixNotfy.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D446408F272B9004A47F5 /* tclUnixNotfy.c */; };
- F96D4AD008F272C9004A47F5 /* tclUnixPipe.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D446508F272B9004A47F5 /* tclUnixPipe.c */; };
- F96D4AD208F272CA004A47F5 /* tclUnixSock.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D446708F272B9004A47F5 /* tclUnixSock.c */; };
- F96D4AD408F272CA004A47F5 /* tclUnixThrd.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D446908F272B9004A47F5 /* tclUnixThrd.c */; };
- F96D4AD608F272CA004A47F5 /* tclUnixTime.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D446B08F272B9004A47F5 /* tclUnixTime.c */; };
- F9C9CC000E84059800E00935 /* ApplicationServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F9C9CBFF0E84059800E00935 /* ApplicationServices.framework */; };
- F9DD99BD0F07DF850018B2E4 /* tkImgPNG.c in Sources */ = {isa = PBXBuildFile; fileRef = F9DD99BC0F07DF850018B2E4 /* tkImgPNG.c */; };
- F9DD99BE0F07DF850018B2E4 /* tkImgPNG.c in Sources */ = {isa = PBXBuildFile; fileRef = F9DD99BC0F07DF850018B2E4 /* tkImgPNG.c */; };
- F9E61D28090A481F002B3151 /* bn_mp_cmp_d.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427108F272B3004A47F5 /* bn_mp_cmp_d.c */; };
- F9E61D29090A486C002B3151 /* bn_mp_neg.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42A208F272B3004A47F5 /* bn_mp_neg.c */; };
- F9E61D2A090A4891002B3151 /* bn_mp_sqrt.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42C008F272B3004A47F5 /* bn_mp_sqrt.c */; };
- F9E61D2B090A48A4002B3151 /* bn_mp_and.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D426C08F272B3004A47F5 /* bn_mp_and.c */; };
- F9E61D2C090A48AC002B3151 /* bn_mp_expt_d.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427F08F272B3004A47F5 /* bn_mp_expt_d.c */; };
- F9E61D2D090A48BB002B3151 /* bn_mp_xor.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42CD08F272B3004A47F5 /* bn_mp_xor.c */; };
- F9E61D2E090A48BF002B3151 /* bn_mp_or.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42A308F272B3004A47F5 /* bn_mp_or.c */; };
- F9E61D2F090A48C7002B3151 /* bn_mp_shrink.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42BC08F272B3004A47F5 /* bn_mp_shrink.c */; };
- F9E61D30090A48E2002B3151 /* bn_mp_to_unsigned_bin_n.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42C708F272B3004A47F5 /* bn_mp_to_unsigned_bin_n.c */; };
- F9E61D31090A48F9002B3151 /* bn_mp_to_unsigned_bin.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42C608F272B3004A47F5 /* bn_mp_to_unsigned_bin.c */; };
- F9E61D32090A48FA002B3151 /* bn_mp_unsigned_bin_size.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42CC08F272B3004A47F5 /* bn_mp_unsigned_bin_size.c */; };
- F9F4415E0C8BAE6F00BCCD67 /* tclDTrace.d in Sources */ = {isa = PBXBuildFile; fileRef = F9F4415D0C8BAE6F00BCCD67 /* tclDTrace.d */; };
- F9FC77B80AB29E9100B7077D /* tclUnixCompat.c in Sources */ = {isa = PBXBuildFile; fileRef = F9FC77B70AB29E9100B7077D /* tclUnixCompat.c */; };
- F9FD30BC0CC1AD070073837D /* regcomp.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3ED008F272A7004A47F5 /* regcomp.c */; };
- F9FD30BD0CC1AD070073837D /* regerror.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3ED308F272A7004A47F5 /* regerror.c */; };
- F9FD30BE0CC1AD070073837D /* regexec.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3ED608F272A7004A47F5 /* regexec.c */; };
- F9FD30BF0CC1AD070073837D /* regfree.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3ED708F272A7004A47F5 /* regfree.c */; };
- F9FD30C00CC1AD070073837D /* tclAlloc.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EDC08F272A7004A47F5 /* tclAlloc.c */; settings = {COMPILER_FLAGS = "-DUSE_TCLALLOC=0"; }; };
- F9FD30C10CC1AD070073837D /* tclAsync.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EDD08F272A7004A47F5 /* tclAsync.c */; };
- F9FD30C20CC1AD070073837D /* tclBasic.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EDE08F272A7004A47F5 /* tclBasic.c */; };
- F9FD30C30CC1AD070073837D /* tclBinary.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EDF08F272A7004A47F5 /* tclBinary.c */; };
- F9FD30C40CC1AD070073837D /* tclCkalloc.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EE008F272A7004A47F5 /* tclCkalloc.c */; };
- F9FD30C50CC1AD070073837D /* tclClock.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EE108F272A7004A47F5 /* tclClock.c */; };
- F9FD30C60CC1AD070073837D /* tclCmdAH.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EE208F272A7004A47F5 /* tclCmdAH.c */; };
- F9FD30C70CC1AD070073837D /* tclCmdIL.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EE308F272A7004A47F5 /* tclCmdIL.c */; };
- F9FD30C80CC1AD070073837D /* tclCmdMZ.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EE408F272A7004A47F5 /* tclCmdMZ.c */; };
- F9FD30C90CC1AD070073837D /* tclCompCmds.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EE508F272A7004A47F5 /* tclCompCmds.c */; };
- F9FD30CA0CC1AD070073837D /* tclCompExpr.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EE608F272A7004A47F5 /* tclCompExpr.c */; };
- F9FD30CB0CC1AD070073837D /* tclCompile.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EE708F272A7004A47F5 /* tclCompile.c */; };
- F9FD30CC0CC1AD070073837D /* tclConfig.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EE908F272A7004A47F5 /* tclConfig.c */; };
- F9FD30CD0CC1AD070073837D /* tclDate.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EEA08F272A7004A47F5 /* tclDate.c */; };
- F9FD30CE0CC1AD070073837D /* tclDictObj.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EEC08F272A7004A47F5 /* tclDictObj.c */; };
- F9FD30CF0CC1AD070073837D /* tclEncoding.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EED08F272A7004A47F5 /* tclEncoding.c */; };
- F9FD30D00CC1AD070073837D /* tclEnv.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EEE08F272A7004A47F5 /* tclEnv.c */; };
- F9FD30D10CC1AD070073837D /* tclEvent.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EEF08F272A7004A47F5 /* tclEvent.c */; };
- F9FD30D20CC1AD070073837D /* tclExecute.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EF008F272A7004A47F5 /* tclExecute.c */; };
- F9FD30D30CC1AD070073837D /* tclFCmd.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EF108F272A7004A47F5 /* tclFCmd.c */; };
- F9FD30D40CC1AD070073837D /* tclFileName.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EF208F272A7004A47F5 /* tclFileName.c */; };
- F9FD30D50CC1AD070073837D /* tclGet.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EF408F272A7004A47F5 /* tclGet.c */; };
- F9FD30D60CC1AD070073837D /* tclHash.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EF608F272A7004A47F5 /* tclHash.c */; };
- F9FD30D70CC1AD070073837D /* tclHistory.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EF708F272A7004A47F5 /* tclHistory.c */; };
- F9FD30D80CC1AD070073837D /* tclIndexObj.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EF808F272A7004A47F5 /* tclIndexObj.c */; };
- F9FD30D90CC1AD070073837D /* tclInterp.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EFC08F272A7004A47F5 /* tclInterp.c */; };
- F9FD30DA0CC1AD070073837D /* tclIO.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EFE08F272A7004A47F5 /* tclIO.c */; };
- F9FD30DB0CC1AD070073837D /* tclIOCmd.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0008F272A7004A47F5 /* tclIOCmd.c */; };
- F9FD30DC0CC1AD070073837D /* tclIOGT.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0108F272A7004A47F5 /* tclIOGT.c */; };
- F9FD30DD0CC1AD070073837D /* tclIORChan.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0208F272A7004A47F5 /* tclIORChan.c */; };
- F9FD30DE0CC1AD070073837D /* tclIOSock.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0308F272A7004A47F5 /* tclIOSock.c */; };
- F9FD30DF0CC1AD070073837D /* tclIOUtil.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0408F272A7004A47F5 /* tclIOUtil.c */; };
- F9FD30E00CC1AD070073837D /* tclLink.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0508F272A7004A47F5 /* tclLink.c */; };
- F9FD30E10CC1AD070073837D /* tclListObj.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0608F272A7004A47F5 /* tclListObj.c */; };
- F9FD30E20CC1AD070073837D /* tclLiteral.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0708F272A7004A47F5 /* tclLiteral.c */; };
- F9FD30E30CC1AD070073837D /* tclLoad.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0808F272A7004A47F5 /* tclLoad.c */; };
- F9FD30E40CC1AD070073837D /* tclMain.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0A08F272A7004A47F5 /* tclMain.c */; };
- F9FD30E50CC1AD070073837D /* tclNamesp.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0B08F272A7004A47F5 /* tclNamesp.c */; };
- F9FD30E60CC1AD070073837D /* tclNotify.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0C08F272A7004A47F5 /* tclNotify.c */; };
- F9FD30E70CC1AD070073837D /* tclObj.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0D08F272A7004A47F5 /* tclObj.c */; };
- F9FD30E80CC1AD070073837D /* tclPanic.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0E08F272A7004A47F5 /* tclPanic.c */; };
- F9FD30E90CC1AD070073837D /* tclParse.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0F08F272A7004A47F5 /* tclParse.c */; };
- F9FD30EA0CC1AD070073837D /* tclPathObj.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1108F272A7004A47F5 /* tclPathObj.c */; };
- F9FD30EB0CC1AD070073837D /* tclPipe.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1208F272A7004A47F5 /* tclPipe.c */; };
- F9FD30EC0CC1AD070073837D /* tclPkg.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1308F272A7004A47F5 /* tclPkg.c */; };
- F9FD30ED0CC1AD070073837D /* tclPkgConfig.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1408F272A7004A47F5 /* tclPkgConfig.c */; settings = {COMPILER_FLAGS = "-DCFG_INSTALL_LIBDIR=\\\"$(LIBDIR)\\\" -DCFG_INSTALL_BINDIR=\\\"$(BINDIR)\\\" -DCFG_INSTALL_SCRDIR=\\\"$(TCL_LIBRARY)\\\" -DCFG_INSTALL_INCDIR=\\\"$(INCLUDEDIR)\\\" -DCFG_INSTALL_DOCDIR=\\\"$(MANDIR)\\\" -DCFG_RUNTIME_LIBDIR=\\\"$(LIBDIR)\\\" -DCFG_RUNTIME_BINDIR=\\\"$(BINDIR)\\\" -DCFG_RUNTIME_SCRDIR=\\\"$(TCL_LIBRARY)\\\" -DCFG_RUNTIME_INCDIR=\\\"$(INCLUDEDIR)\\\" -DCFG_RUNTIME_DOCDIR=\\\"$(MANDIR)\\\""; }; };
- F9FD30EE0CC1AD070073837D /* tclPosixStr.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1708F272A7004A47F5 /* tclPosixStr.c */; };
- F9FD30EF0CC1AD070073837D /* tclPreserve.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1808F272A7004A47F5 /* tclPreserve.c */; };
- F9FD30F00CC1AD070073837D /* tclProc.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1908F272A7004A47F5 /* tclProc.c */; };
- F9FD30F10CC1AD070073837D /* tclRegexp.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1A08F272A7004A47F5 /* tclRegexp.c */; };
- F9FD30F20CC1AD070073837D /* tclResolve.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1C08F272A7004A47F5 /* tclResolve.c */; };
- F9FD30F30CC1AD070073837D /* tclResult.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1D08F272A7004A47F5 /* tclResult.c */; };
- F9FD30F40CC1AD070073837D /* tclScan.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1E08F272A7004A47F5 /* tclScan.c */; };
- F9FD30F50CC1AD070073837D /* tclStringObj.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1F08F272A7004A47F5 /* tclStringObj.c */; };
- F9FD30F60CC1AD070073837D /* tclStrToD.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F2408F272A7004A47F5 /* tclStrToD.c */; };
- F9FD30F70CC1AD070073837D /* tclStubInit.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F2508F272A7004A47F5 /* tclStubInit.c */; };
- F9FD30F80CC1AD070073837D /* tclStubLib.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F2608F272A7004A47F5 /* tclStubLib.c */; };
- F9FD30F90CC1AD070073837D /* tclThread.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F2A08F272A7004A47F5 /* tclThread.c */; };
- F9FD30FA0CC1AD070073837D /* tclThreadAlloc.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F2B08F272A7004A47F5 /* tclThreadAlloc.c */; };
- F9FD30FB0CC1AD070073837D /* tclThreadJoin.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F2C08F272A7004A47F5 /* tclThreadJoin.c */; };
- F9FD30FC0CC1AD070073837D /* tclThreadStorage.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F2D08F272A7004A47F5 /* tclThreadStorage.c */; };
- F9FD30FD0CC1AD070073837D /* tclTimer.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F2F08F272A7004A47F5 /* tclTimer.c */; };
- F9FD30FE0CC1AD070073837D /* tclTomMathInterface.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F3108F272A7004A47F5 /* tclTomMathInterface.c */; };
- F9FD30FF0CC1AD070073837D /* tclTrace.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F3208F272A7004A47F5 /* tclTrace.c */; };
- F9FD31000CC1AD070073837D /* tclUtf.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F3408F272A7004A47F5 /* tclUtf.c */; };
- F9FD31010CC1AD070073837D /* tclUtil.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F3508F272A7004A47F5 /* tclUtil.c */; };
- F9FD31020CC1AD070073837D /* tclVar.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F3608F272A7004A47F5 /* tclVar.c */; };
- F9FD31030CC1AD070073837D /* bn_fast_s_mp_mul_digs.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D426408F272B3004A47F5 /* bn_fast_s_mp_mul_digs.c */; };
- F9FD31040CC1AD070073837D /* bn_fast_s_mp_sqr.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D426608F272B3004A47F5 /* bn_fast_s_mp_sqr.c */; };
- F9FD31050CC1AD070073837D /* bn_mp_add.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D426908F272B3004A47F5 /* bn_mp_add.c */; };
- F9FD31060CC1AD070073837D /* bn_mp_add_d.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D426A08F272B3004A47F5 /* bn_mp_add_d.c */; };
- F9FD31070CC1AD070073837D /* bn_mp_and.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D426C08F272B3004A47F5 /* bn_mp_and.c */; };
- F9FD31080CC1AD070073837D /* bn_mp_clamp.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D426D08F272B3004A47F5 /* bn_mp_clamp.c */; };
- F9FD31090CC1AD070073837D /* bn_mp_clear.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D426E08F272B3004A47F5 /* bn_mp_clear.c */; };
- F9FD310A0CC1AD070073837D /* bn_mp_clear_multi.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D426F08F272B3004A47F5 /* bn_mp_clear_multi.c */; };
- F9FD310B0CC1AD070073837D /* bn_mp_cmp.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427008F272B3004A47F5 /* bn_mp_cmp.c */; };
- F9FD310C0CC1AD070073837D /* bn_mp_cmp_d.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427108F272B3004A47F5 /* bn_mp_cmp_d.c */; };
- F9FD310D0CC1AD070073837D /* bn_mp_cmp_mag.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427208F272B3004A47F5 /* bn_mp_cmp_mag.c */; };
- F9FD310E0CC1AD070073837D /* bn_mp_copy.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427408F272B3004A47F5 /* bn_mp_copy.c */; };
- F9FD310F0CC1AD070073837D /* bn_mp_count_bits.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427508F272B3004A47F5 /* bn_mp_count_bits.c */; };
- F9FD31100CC1AD070073837D /* bn_mp_div.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427608F272B3004A47F5 /* bn_mp_div.c */; };
- F9FD31110CC1AD070073837D /* bn_mp_div_2.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427708F272B3004A47F5 /* bn_mp_div_2.c */; };
- F9FD31120CC1AD070073837D /* bn_mp_div_2d.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427808F272B3004A47F5 /* bn_mp_div_2d.c */; };
- F9FD31130CC1AD070073837D /* bn_mp_div_3.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427908F272B3004A47F5 /* bn_mp_div_3.c */; };
- F9FD31140CC1AD070073837D /* bn_mp_div_d.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427A08F272B3004A47F5 /* bn_mp_div_d.c */; };
- F9FD31150CC1AD070073837D /* bn_mp_exch.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427E08F272B3004A47F5 /* bn_mp_exch.c */; };
- F9FD31160CC1AD070073837D /* bn_mp_expt_d.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427F08F272B3004A47F5 /* bn_mp_expt_d.c */; };
- F9FD31170CC1AD070073837D /* bn_mp_grow.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D428708F272B3004A47F5 /* bn_mp_grow.c */; };
- F9FD31180CC1AD070073837D /* bn_mp_init.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D428808F272B3004A47F5 /* bn_mp_init.c */; };
- F9FD31190CC1AD070073837D /* bn_mp_init_copy.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D428908F272B3004A47F5 /* bn_mp_init_copy.c */; };
- F9FD311A0CC1AD070073837D /* bn_mp_init_multi.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D428A08F272B3004A47F5 /* bn_mp_init_multi.c */; };
- F9FD311B0CC1AD070073837D /* bn_mp_init_set.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D428B08F272B3004A47F5 /* bn_mp_init_set.c */; };
- F9FD311C0CC1AD070073837D /* bn_mp_init_size.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D428D08F272B3004A47F5 /* bn_mp_init_size.c */; };
- F9FD311D0CC1AD070073837D /* bn_mp_karatsuba_mul.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D429208F272B3004A47F5 /* bn_mp_karatsuba_mul.c */; };
- F9FD311E0CC1AD070073837D /* bn_mp_karatsuba_sqr.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D429308F272B3004A47F5 /* bn_mp_karatsuba_sqr.c */; };
- F9FD311F0CC1AD070073837D /* bn_mp_lshd.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D429508F272B3004A47F5 /* bn_mp_lshd.c */; };
- F9FD31200CC1AD070073837D /* bn_mp_mod.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D429608F272B3004A47F5 /* bn_mp_mod.c */; };
- F9FD31210CC1AD070073837D /* bn_mp_mod_2d.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D429708F272B3004A47F5 /* bn_mp_mod_2d.c */; };
- F9FD31220CC1AD070073837D /* bn_mp_mul.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D429C08F272B3004A47F5 /* bn_mp_mul.c */; };
- F9FD31230CC1AD070073837D /* bn_mp_mul_2.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D429D08F272B3004A47F5 /* bn_mp_mul_2.c */; };
- F9FD31240CC1AD070073837D /* bn_mp_mul_2d.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D429E08F272B3004A47F5 /* bn_mp_mul_2d.c */; };
- F9FD31250CC1AD070073837D /* bn_mp_mul_d.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D429F08F272B3004A47F5 /* bn_mp_mul_d.c */; };
- F9FD31260CC1AD070073837D /* bn_mp_neg.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42A208F272B3004A47F5 /* bn_mp_neg.c */; };
- F9FD31270CC1AD070073837D /* bn_mp_or.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42A308F272B3004A47F5 /* bn_mp_or.c */; };
- F9FD31280CC1AD070073837D /* bn_mp_radix_size.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42AB08F272B3004A47F5 /* bn_mp_radix_size.c */; };
- F9FD31290CC1AD070073837D /* bn_mp_radix_smap.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42AC08F272B3004A47F5 /* bn_mp_radix_smap.c */; };
- F9FD312A0CC1AD070073837D /* bn_mp_read_radix.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42AE08F272B3004A47F5 /* bn_mp_read_radix.c */; };
- F9FD312B0CC1AD070073837D /* bn_mp_rshd.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42B908F272B3004A47F5 /* bn_mp_rshd.c */; };
- F9FD312C0CC1AD070073837D /* bn_mp_set.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42BA08F272B3004A47F5 /* bn_mp_set.c */; };
- F9FD312D0CC1AD070073837D /* bn_mp_shrink.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42BC08F272B3004A47F5 /* bn_mp_shrink.c */; };
- F9FD312E0CC1AD070073837D /* bn_mp_sqr.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42BE08F272B3004A47F5 /* bn_mp_sqr.c */; };
- F9FD312F0CC1AD070073837D /* bn_mp_sqrt.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42C008F272B3004A47F5 /* bn_mp_sqrt.c */; };
- F9FD31300CC1AD070073837D /* bn_mp_sub.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42C108F272B3004A47F5 /* bn_mp_sub.c */; };
- F9FD31310CC1AD070073837D /* bn_mp_sub_d.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42C208F272B3004A47F5 /* bn_mp_sub_d.c */; };
- F9FD31320CC1AD070073837D /* bn_mp_to_unsigned_bin_n.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42C708F272B3004A47F5 /* bn_mp_to_unsigned_bin_n.c */; };
- F9FD31330CC1AD070073837D /* bn_mp_to_unsigned_bin.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42C608F272B3004A47F5 /* bn_mp_to_unsigned_bin.c */; };
- F9FD31340CC1AD070073837D /* bn_mp_toom_mul.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42C808F272B3004A47F5 /* bn_mp_toom_mul.c */; };
- F9FD31350CC1AD070073837D /* bn_mp_toom_sqr.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42C908F272B3004A47F5 /* bn_mp_toom_sqr.c */; };
- F9FD31360CC1AD070073837D /* bn_mp_toradix_n.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42CB08F272B3004A47F5 /* bn_mp_toradix_n.c */; };
- F9FD31370CC1AD070073837D /* bn_mp_unsigned_bin_size.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42CC08F272B3004A47F5 /* bn_mp_unsigned_bin_size.c */; };
- F9FD31380CC1AD070073837D /* bn_mp_xor.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42CD08F272B3004A47F5 /* bn_mp_xor.c */; };
- F9FD31390CC1AD070073837D /* bn_mp_zero.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42CE08F272B3004A47F5 /* bn_mp_zero.c */; };
- F9FD313A0CC1AD070073837D /* bn_reverse.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42D008F272B3004A47F5 /* bn_reverse.c */; };
- F9FD313B0CC1AD070073837D /* bn_s_mp_add.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42D108F272B3004A47F5 /* bn_s_mp_add.c */; };
- F9FD313C0CC1AD070073837D /* bn_s_mp_mul_digs.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42D308F272B3004A47F5 /* bn_s_mp_mul_digs.c */; };
- F9FD313D0CC1AD070073837D /* bn_s_mp_sqr.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42D508F272B3004A47F5 /* bn_s_mp_sqr.c */; };
- F9FD313E0CC1AD070073837D /* bn_s_mp_sub.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42D608F272B3004A47F5 /* bn_s_mp_sub.c */; };
- F9FD313F0CC1AD070073837D /* bncore.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42D708F272B3004A47F5 /* bncore.c */; };
- F9FD31400CC1AD070073837D /* tclMacOSXBundle.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D433908F272B5004A47F5 /* tclMacOSXBundle.c */; };
- F9FD31410CC1AD070073837D /* tclMacOSXFCmd.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D433D08F272B5004A47F5 /* tclMacOSXFCmd.c */; };
- F9FD31420CC1AD070073837D /* tclMacOSXNotify.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D433E08F272B5004A47F5 /* tclMacOSXNotify.c */; };
- F9FD31430CC1AD070073837D /* tclLoadDyld.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D445B08F272B9004A47F5 /* tclLoadDyld.c */; settings = {COMPILER_FLAGS = "-Wno-deprecated-declarations"; }; };
- F9FD31440CC1AD070073837D /* tclUnixChan.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D445F08F272B9004A47F5 /* tclUnixChan.c */; };
- F9FD31450CC1AD070073837D /* tclUnixCompat.c in Sources */ = {isa = PBXBuildFile; fileRef = F9FC77B70AB29E9100B7077D /* tclUnixCompat.c */; };
- F9FD31460CC1AD070073837D /* tclUnixEvent.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D446008F272B9004A47F5 /* tclUnixEvent.c */; };
- F9FD31470CC1AD070073837D /* tclUnixFCmd.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D446108F272B9004A47F5 /* tclUnixFCmd.c */; };
- F9FD31480CC1AD070073837D /* tclUnixFile.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D446208F272B9004A47F5 /* tclUnixFile.c */; };
- F9FD31490CC1AD070073837D /* tclUnixInit.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D446308F272B9004A47F5 /* tclUnixInit.c */; settings = {COMPILER_FLAGS = "-DTCL_LIBRARY=\\\"$(TCL_LIBRARY)\\\" -DTCL_PACKAGE_PATH=\\\"$(TCL_PACKAGE_PATH)\\\""; }; };
- F9FD314A0CC1AD070073837D /* tclUnixNotfy.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D446408F272B9004A47F5 /* tclUnixNotfy.c */; };
- F9FD314B0CC1AD070073837D /* tclUnixPipe.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D446508F272B9004A47F5 /* tclUnixPipe.c */; };
- F9FD314C0CC1AD070073837D /* tclUnixSock.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D446708F272B9004A47F5 /* tclUnixSock.c */; };
- F9FD314D0CC1AD070073837D /* tclUnixThrd.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D446908F272B9004A47F5 /* tclUnixThrd.c */; };
- F9FD314E0CC1AD070073837D /* tclUnixTime.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D446B08F272B9004A47F5 /* tclUnixTime.c */; };
- F9FD314F0CC1AD070073837D /* tk3d.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAAC08F27A39005CB29B /* tk3d.c */; };
- F9FD31500CC1AD070073837D /* tkArgv.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAAE08F27A39005CB29B /* tkArgv.c */; };
- F9FD31510CC1AD070073837D /* tkAtom.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAAF08F27A39005CB29B /* tkAtom.c */; };
- F9FD31520CC1AD070073837D /* tkBind.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAB008F27A39005CB29B /* tkBind.c */; };
- F9FD31530CC1AD070073837D /* tkBitmap.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAB108F27A39005CB29B /* tkBitmap.c */; };
- F9FD31540CC1AD070073837D /* tkButton.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAB208F27A39005CB29B /* tkButton.c */; };
- F9FD31550CC1AD070073837D /* tkCanvArc.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAB408F27A39005CB29B /* tkCanvArc.c */; };
- F9FD31560CC1AD070073837D /* tkCanvas.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAB508F27A39005CB29B /* tkCanvas.c */; };
- F9FD31570CC1AD070073837D /* tkCanvBmap.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAB708F27A39005CB29B /* tkCanvBmap.c */; };
- F9FD31580CC1AD070073837D /* tkCanvImg.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAB808F27A39005CB29B /* tkCanvImg.c */; };
- F9FD31590CC1AD070073837D /* tkCanvLine.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAB908F27A39005CB29B /* tkCanvLine.c */; };
- F9FD315A0CC1AD070073837D /* tkCanvPoly.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BABA08F27A39005CB29B /* tkCanvPoly.c */; };
- F9FD315B0CC1AD070073837D /* tkCanvPs.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BABB08F27A39005CB29B /* tkCanvPs.c */; };
- F9FD315C0CC1AD070073837D /* tkCanvText.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BABD08F27A39005CB29B /* tkCanvText.c */; };
- F9FD315D0CC1AD070073837D /* tkCanvUtil.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BABE08F27A39005CB29B /* tkCanvUtil.c */; };
- F9FD315E0CC1AD070073837D /* tkCanvWind.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BABF08F27A39005CB29B /* tkCanvWind.c */; };
- F9FD315F0CC1AD070073837D /* tkClipboard.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAC008F27A39005CB29B /* tkClipboard.c */; };
- F9FD31600CC1AD070073837D /* tkCmds.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAC108F27A39005CB29B /* tkCmds.c */; };
- F9FD31610CC1AD070073837D /* tkColor.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAC208F27A39005CB29B /* tkColor.c */; };
- F9FD31620CC1AD070073837D /* tkConfig.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAC408F27A39005CB29B /* tkConfig.c */; };
- F9FD31630CC1AD070073837D /* tkConsole.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAC508F27A39005CB29B /* tkConsole.c */; };
- F9FD31640CC1AD070073837D /* tkCursor.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAC608F27A39005CB29B /* tkCursor.c */; };
- F9FD31650CC1AD070073837D /* tkEntry.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAC808F27A39005CB29B /* tkEntry.c */; };
- F9FD31660CC1AD070073837D /* tkError.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BACA08F27A39005CB29B /* tkError.c */; };
- F9FD31670CC1AD070073837D /* tkEvent.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BACB08F27A39005CB29B /* tkEvent.c */; };
- F9FD31680CC1AD070073837D /* tkFileFilter.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BACC08F27A39005CB29B /* tkFileFilter.c */; };
- F9FD31690CC1AD070073837D /* tkFocus.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BACE08F27A39005CB29B /* tkFocus.c */; };
- F9FD316A0CC1AD070073837D /* tkFont.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BACF08F27A39005CB29B /* tkFont.c */; };
- F9FD316B0CC1AD070073837D /* tkFrame.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAD108F27A39005CB29B /* tkFrame.c */; };
- F9FD316C0CC1AD070073837D /* tkGC.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAD208F27A39005CB29B /* tkGC.c */; };
- F9FD316D0CC1AD070073837D /* tkGeometry.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAD308F27A39005CB29B /* tkGeometry.c */; };
- F9FD316E0CC1AD070073837D /* tkGet.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAD408F27A39005CB29B /* tkGet.c */; };
- F9FD316F0CC1AD070073837D /* tkGrab.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAD508F27A39005CB29B /* tkGrab.c */; };
- F9FD31700CC1AD070073837D /* tkGrid.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAD608F27A39005CB29B /* tkGrid.c */; };
- F9FD31710CC1AD070073837D /* tkImage.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAD708F27A39005CB29B /* tkImage.c */; };
- F9FD31720CC1AD070073837D /* tkImgBmap.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAD808F27A39005CB29B /* tkImgBmap.c */; };
- F9FD31730CC1AD070073837D /* tkImgGIF.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAD908F27A39005CB29B /* tkImgGIF.c */; };
- F9FD31740CC1AD070073837D /* tkImgPhoto.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BADA08F27A39005CB29B /* tkImgPhoto.c */; };
- F9FD31750CC1AD070073837D /* tkImgPPM.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BADB08F27A39005CB29B /* tkImgPPM.c */; };
- F9FD31760CC1AD070073837D /* tkListbox.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAE408F27A39005CB29B /* tkListbox.c */; };
- F9FD31770CC1AD070073837D /* tkMacWinMenu.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAE508F27A39005CB29B /* tkMacWinMenu.c */; };
- F9FD31780CC1AD070073837D /* tkMain.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAE608F27A39005CB29B /* tkMain.c */; };
- F9FD31790CC1AD070073837D /* tkMenu.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAE708F27A39005CB29B /* tkMenu.c */; };
- F9FD317A0CC1AD070073837D /* tkMenubutton.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAE908F27A39005CB29B /* tkMenubutton.c */; };
- F9FD317B0CC1AD070073837D /* tkMenuDraw.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAEB08F27A39005CB29B /* tkMenuDraw.c */; };
- F9FD317C0CC1AD070073837D /* tkMessage.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAEC08F27A39005CB29B /* tkMessage.c */; };
- F9FD317D0CC1AD070073837D /* tkObj.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAED08F27A39005CB29B /* tkObj.c */; };
- F9FD317E0CC1AD070073837D /* tkOldConfig.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAEE08F27A39005CB29B /* tkOldConfig.c */; };
- F9FD317F0CC1AD070073837D /* tkOldTest.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAFE08F27A39005CB29B /* tkOldTest.c */; };
- F9FD31800CC1AD070073837D /* tkOption.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAEF08F27A39005CB29B /* tkOption.c */; };
- F9FD31810CC1AD070073837D /* tkPack.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAF008F27A39005CB29B /* tkPack.c */; };
- F9FD31820CC1AD070073837D /* tkPanedWindow.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAF108F27A39005CB29B /* tkPanedWindow.c */; };
- F9FD31830CC1AD070073837D /* tkPlace.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAF208F27A39005CB29B /* tkPlace.c */; };
- F9FD31850CC1AD070073837D /* tkRectOval.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAF608F27A39005CB29B /* tkRectOval.c */; };
- F9FD31860CC1AD070073837D /* tkScale.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAF708F27A39005CB29B /* tkScale.c */; };
- F9FD31870CC1AD070073837D /* tkScrollbar.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAF908F27A39005CB29B /* tkScrollbar.c */; };
- F9FD31880CC1AD070073837D /* tkSelect.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAFB08F27A39005CB29B /* tkSelect.c */; };
- F9FD31890CC1AD070073837D /* tkSquare.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAFD08F27A39005CB29B /* tkSquare.c */; };
- F9FD318A0CC1AD070073837D /* tkStubInit.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAFF08F27A39005CB29B /* tkStubInit.c */; };
- F9FD318B0CC1AD070073837D /* tkStubLib.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0008F27A39005CB29B /* tkStubLib.c */; };
- F9FD318C0CC1AD070073837D /* tkStyle.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0108F27A39005CB29B /* tkStyle.c */; };
- F9FD318D0CC1AD070073837D /* tkTest.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0208F27A39005CB29B /* tkTest.c */; };
- F9FD318E0CC1AD070073837D /* tkText.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0308F27A39005CB29B /* tkText.c */; };
- F9FD318F0CC1AD070073837D /* tkTextBTree.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0508F27A39005CB29B /* tkTextBTree.c */; };
- F9FD31900CC1AD070073837D /* tkTextDisp.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0608F27A39005CB29B /* tkTextDisp.c */; };
- F9FD31910CC1AD070073837D /* tkTextImage.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0808F27A39005CB29B /* tkTextImage.c */; };
- F9FD31920CC1AD070073837D /* tkTextIndex.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0908F27A39005CB29B /* tkTextIndex.c */; };
- F9FD31930CC1AD070073837D /* tkTextMark.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0A08F27A39005CB29B /* tkTextMark.c */; };
- F9FD31940CC1AD070073837D /* tkTextTag.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0B08F27A39005CB29B /* tkTextTag.c */; };
- F9FD31950CC1AD070073837D /* tkTextWind.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0C08F27A39005CB29B /* tkTextWind.c */; };
- F9FD31960CC1AD070073837D /* tkTrig.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0D08F27A39005CB29B /* tkTrig.c */; };
- F9FD31970CC1AD070073837D /* tkUndo.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0E08F27A39005CB29B /* tkUndo.c */; };
- F9FD31980CC1AD070073837D /* tkUtil.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB1008F27A39005CB29B /* tkUtil.c */; };
- F9FD31990CC1AD070073837D /* tkVisual.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB1108F27A39005CB29B /* tkVisual.c */; };
- F9FD319A0CC1AD070073837D /* tkWindow.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB1208F27A39005CB29B /* tkWindow.c */; };
- F9FD319B0CC1AD070073837D /* ttkBlink.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887E10AF786D5000797B5 /* ttkBlink.c */; };
- F9FD319C0CC1AD070073837D /* ttkButton.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887E20AF786D5000797B5 /* ttkButton.c */; };
- F9FD319D0CC1AD070073837D /* ttkCache.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887E30AF786D5000797B5 /* ttkCache.c */; };
- F9FD319E0CC1AD070073837D /* ttkClamTheme.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887E40AF786D5000797B5 /* ttkClamTheme.c */; };
- F9FD319F0CC1AD070073837D /* ttkClassicTheme.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887E50AF786D5000797B5 /* ttkClassicTheme.c */; };
- F9FD31A00CC1AD070073837D /* ttkDefaultTheme.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887E70AF786D5000797B5 /* ttkDefaultTheme.c */; };
- F9FD31A10CC1AD070073837D /* ttkElements.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887E80AF786D5000797B5 /* ttkElements.c */; };
- F9FD31A20CC1AD070073837D /* ttkEntry.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887E90AF786D5000797B5 /* ttkEntry.c */; };
- F9FD31A30CC1AD070073837D /* ttkFrame.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887EA0AF786D5000797B5 /* ttkFrame.c */; };
- F9FD31A40CC1AD070073837D /* ttkImage.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887EB0AF786D5000797B5 /* ttkImage.c */; };
- F9FD31A50CC1AD070073837D /* ttkInit.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887EC0AF786D5000797B5 /* ttkInit.c */; };
- F9FD31A60CC1AD070073837D /* ttkLabel.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887ED0AF786D5000797B5 /* ttkLabel.c */; };
- F9FD31A70CC1AD070073837D /* ttkLayout.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887EE0AF786D5000797B5 /* ttkLayout.c */; };
- F9FD31A80CC1AD070073837D /* ttkManager.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887EF0AF786D5000797B5 /* ttkManager.c */; };
- F9FD31A90CC1AD070073837D /* ttkNotebook.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887F10AF786D5000797B5 /* ttkNotebook.c */; };
- F9FD31AA0CC1AD070073837D /* ttkPanedwindow.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887F20AF786D5000797B5 /* ttkPanedwindow.c */; };
- F9FD31AB0CC1AD070073837D /* ttkProgress.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887F30AF786D5000797B5 /* ttkProgress.c */; };
- F9FD31AC0CC1AD070073837D /* ttkScale.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887F40AF786D5000797B5 /* ttkScale.c */; };
- F9FD31AD0CC1AD070073837D /* ttkScroll.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887F50AF786D5000797B5 /* ttkScroll.c */; };
- F9FD31AE0CC1AD070073837D /* ttkScrollbar.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887F60AF786D5000797B5 /* ttkScrollbar.c */; };
- F9FD31AF0CC1AD070073837D /* ttkSeparator.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887F70AF786D5000797B5 /* ttkSeparator.c */; };
- F9FD31B00CC1AD070073837D /* ttkSquare.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887F80AF786D5000797B5 /* ttkSquare.c */; };
- F9FD31B10CC1AD070073837D /* ttkState.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887F90AF786D5000797B5 /* ttkState.c */; };
- F9FD31B20CC1AD070073837D /* ttkStubInit.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887FA0AF786D5000797B5 /* ttkStubInit.c */; };
- F9FD31B30CC1AD070073837D /* ttkStubLib.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887FB0AF786D5000797B5 /* ttkStubLib.c */; };
- F9FD31B40CC1AD070073837D /* ttkTagSet.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887FC0AF786D5000797B5 /* ttkTagSet.c */; };
- F9FD31B50CC1AD070073837D /* ttkTheme.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887FD0AF786D5000797B5 /* ttkTheme.c */; };
- F9FD31B60CC1AD070073837D /* ttkTrace.c in Sources */ = {isa = PBXBuildFile; fileRef = F96888000AF786D5000797B5 /* ttkTrace.c */; };
- F9FD31B70CC1AD070073837D /* ttkTrack.c in Sources */ = {isa = PBXBuildFile; fileRef = F96888010AF786D5000797B5 /* ttkTrack.c */; };
- F9FD31B80CC1AD070073837D /* ttkTreeview.c in Sources */ = {isa = PBXBuildFile; fileRef = F96888020AF786D5000797B5 /* ttkTreeview.c */; };
- F9FD31B90CC1AD070073837D /* ttkWidget.c in Sources */ = {isa = PBXBuildFile; fileRef = F96888030AF786D5000797B5 /* ttkWidget.c */; };
- F9FD31DA0CC1AD070073837D /* tkAppInit.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC7508F27A3D005CB29B /* tkAppInit.c */; settings = {COMPILER_FLAGS = "-DTK_TEST"; }; };
- F9FD31DB0CC1AD070073837D /* tkUnix3d.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC7908F27A3D005CB29B /* tkUnix3d.c */; };
- F9FD31DC0CC1AD070073837D /* tkUnixScale.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC8C08F27A3D005CB29B /* tkUnixScale.c */; };
- F9FD31E20CC1AD070073837D /* tclDTrace.d in Sources */ = {isa = PBXBuildFile; fileRef = F9F4415D0C8BAE6F00BCCD67 /* tclDTrace.d */; };
- F9FD31E40CC1AD070073837D /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F966C07408F2820D005CB29B /* CoreFoundation.framework */; };
- F9FD31F80CC1ADB70073837D /* tkUnixCursor.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC7D08F27A3D005CB29B /* tkUnixCursor.c */; };
- F9FD31FA0CC1ADB70073837D /* tkUnixKey.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC8708F27A3D005CB29B /* tkUnixKey.c */; };
- F9FD31FB0CC1ADB70073837D /* tkUnixXId.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC9108F27A3D005CB29B /* tkUnixXId.c */; };
- F9FD31FC0CC1ADB70073837D /* tkUnixInit.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC8508F27A3D005CB29B /* tkUnixInit.c */; };
- F9FD31FD0CC1ADB70073837D /* tkUnixEmbed.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC8108F27A3D005CB29B /* tkUnixEmbed.c */; };
- F9FD31FE0CC1ADB70073837D /* tkUnixSend.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC8F08F27A3D005CB29B /* tkUnixSend.c */; };
- F9FD31FF0CC1ADB70073837D /* tkUnixFocus.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC8308F27A3D005CB29B /* tkUnixFocus.c */; };
- F9FD32000CC1ADB70073837D /* tkUnixWm.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC9008F27A3D005CB29B /* tkUnixWm.c */; };
- F9FD32010CC1ADB70073837D /* tkUnixRFont.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC8B08F27A3D005CB29B /* tkUnixRFont.c */; };
- F9FD32020CC1ADB70073837D /* tkUnix.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC7808F27A3D005CB29B /* tkUnix.c */; };
- F9FD32030CC1ADB70073837D /* tkUnixMenu.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC8808F27A3D005CB29B /* tkUnixMenu.c */; };
- F9FD32040CC1ADB70073837D /* tkUnixConfig.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC7C08F27A3D005CB29B /* tkUnixConfig.c */; };
- F9FD32050CC1ADB70073837D /* tkUnixDraw.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC8008F27A3D005CB29B /* tkUnixDraw.c */; };
- F9FD32060CC1ADB70073837D /* tkUnixDialog.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC7F08F27A3D005CB29B /* tkUnixDialog.c */; };
- F9FD32070CC1ADB70073837D /* tkUnixSelect.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC8E08F27A3D005CB29B /* tkUnixSelect.c */; };
- F9FD32080CC1ADB70073837D /* tkUnixEvent.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC8208F27A3D005CB29B /* tkUnixEvent.c */; };
- F9FD32090CC1ADB70073837D /* tkUnixColor.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC7B08F27A3D005CB29B /* tkUnixColor.c */; };
- F9FD320A0CC1ADB70073837D /* tkUnixButton.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC7A08F27A3D005CB29B /* tkUnixButton.c */; };
- F9FD320B0CC1ADB70073837D /* tkUnixMenubu.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC8908F27A3D005CB29B /* tkUnixMenubu.c */; };
- F9FD320C0CC1ADB70073837D /* tkUnixScrlbr.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC8D08F27A3D005CB29B /* tkUnixScrlbr.c */; };
- F9FD32170CC1AF170073837D /* libX11.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = F9FD32140CC1AF170073837D /* libX11.dylib */; };
- F9FD32180CC1AF170073837D /* libXext.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = F9FD32150CC1AF170073837D /* libXext.dylib */; };
- F9FD32190CC1AF170073837D /* libXss.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = F9FD32160CC1AF170073837D /* libXss.dylib */; };
- F9FD349B0CC1BB0D0073837D /* libfreetype.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = F9FD34990CC1BB0D0073837D /* libfreetype.dylib */; };
- F9FD349C0CC1BB0D0073837D /* libXft.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = F9FD349A0CC1BB0D0073837D /* libXft.dylib */; };
- F9FD34C40CC1BBD70073837D /* libfontconfig.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = F9FD34C30CC1BBD70073837D /* libfontconfig.dylib */; };
- F9FFAF1D0DFDDB26007F8A6A /* tclIORTrans.c in Sources */ = {isa = PBXBuildFile; fileRef = F95D77E90DFD820D00A8BF6F /* tclIORTrans.c */; };
- F9FFAF1F0DFDDB2F007F8A6A /* tclOO.c in Sources */ = {isa = PBXBuildFile; fileRef = F93599B20DF1F75400E04F67 /* tclOO.c */; };
- F9FFAF200DFDDB32007F8A6A /* tclOOBasic.c in Sources */ = {isa = PBXBuildFile; fileRef = F93599B60DF1F76100E04F67 /* tclOOBasic.c */; };
- F9FFAF210DFDDB32007F8A6A /* tclOOCall.c in Sources */ = {isa = PBXBuildFile; fileRef = F93599B80DF1F76600E04F67 /* tclOOCall.c */; };
- F9FFAF220DFDDB34007F8A6A /* tclOODefineCmds.c in Sources */ = {isa = PBXBuildFile; fileRef = F93599BB0DF1F77000E04F67 /* tclOODefineCmds.c */; };
- F9FFAF230DFDDB35007F8A6A /* tclOOInfo.c in Sources */ = {isa = PBXBuildFile; fileRef = F93599BD0DF1F77400E04F67 /* tclOOInfo.c */; };
- F9FFAF240DFDDB36007F8A6A /* tclOOMethod.c in Sources */ = {isa = PBXBuildFile; fileRef = F93599C10DF1F78300E04F67 /* tclOOMethod.c */; };
- F9FFAF250DFDDB37007F8A6A /* tclOOStubInit.c in Sources */ = {isa = PBXBuildFile; fileRef = F93599C30DF1F78800E04F67 /* tclOOStubInit.c */; };
- F9FFAF260DFDDB38007F8A6A /* tclOOStubLib.c in Sources */ = {isa = PBXBuildFile; fileRef = F93599C50DF1F78D00E04F67 /* tclOOStubLib.c */; };
-/* End PBXBuildFile section */
-
-/* Begin PBXFileReference section */
- 8DD76FB20486AB0100D96B5E /* tktest */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = tktest; sourceTree = BUILT_PRODUCTS_DIR; };
- F9099B8A0CC67D30005A9580 /* textpeer.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = textpeer.tcl; sourceTree = "<group>"; };
- F9099B8B0CC67D3E005A9580 /* ttkbut.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = ttkbut.tcl; sourceTree = "<group>"; };
- F9152B080EAF8A5000CD5C7B /* tkBusy.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkBusy.c; sourceTree = "<group>"; };
- F91543270EF201A90032D1E8 /* fontchoose.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = fontchoose.tcl; sourceTree = "<group>"; };
- F915432A0EF201CF0032D1E8 /* zlib.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = zlib.test; sourceTree = "<group>"; };
- F915432D0EF201EE0032D1E8 /* zlib.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = zlib.n; sourceTree = "<group>"; };
- F9183E640EFC80CD0030B814 /* throw.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = throw.n; sourceTree = "<group>"; };
- F9183E650EFC80D70030B814 /* try.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = try.n; sourceTree = "<group>"; };
- F9183E6A0EFC81560030B814 /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
- F9183E8F0EFC817B0030B814 /* tdbc */ = {isa = PBXFileReference; lastKnownFileType = folder; path = tdbc; sourceTree = "<group>"; };
- F91DC23C0E44C51B002CB8D1 /* nre.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = nre.test; sourceTree = "<group>"; };
- F91E62260C1AE686006C9D96 /* Tclsh-Info.plist.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = "Tclsh-Info.plist.in"; sourceTree = "<group>"; };
- F92240290D7C620F005EC715 /* knightstour.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = knightstour.tcl; sourceTree = "<group>"; };
- F92D7F100DE777240033A13A /* tsdPerf.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tsdPerf.tcl; sourceTree = "<group>"; };
- F92EE8BE0E62F846001A6E80 /* tkImgPhInstance.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkImgPhInstance.c; sourceTree = "<group>"; };
- F93599B20DF1F75400E04F67 /* tclOO.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclOO.c; sourceTree = "<group>"; };
- F93599B40DF1F75900E04F67 /* tclOO.decls */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tclOO.decls; sourceTree = "<group>"; };
- F93599B50DF1F75D00E04F67 /* tclOO.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclOO.h; sourceTree = "<group>"; };
- F93599B60DF1F76100E04F67 /* tclOOBasic.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclOOBasic.c; sourceTree = "<group>"; };
- F93599B80DF1F76600E04F67 /* tclOOCall.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclOOCall.c; sourceTree = "<group>"; };
- F93599BA0DF1F76A00E04F67 /* tclOODecls.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclOODecls.h; sourceTree = "<group>"; };
- F93599BB0DF1F77000E04F67 /* tclOODefineCmds.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclOODefineCmds.c; sourceTree = "<group>"; };
- F93599BD0DF1F77400E04F67 /* tclOOInfo.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclOOInfo.c; sourceTree = "<group>"; };
- F93599BF0DF1F77900E04F67 /* tclOOInt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclOOInt.h; sourceTree = "<group>"; };
- F93599C00DF1F77D00E04F67 /* tclOOIntDecls.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclOOIntDecls.h; sourceTree = "<group>"; };
- F93599C10DF1F78300E04F67 /* tclOOMethod.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclOOMethod.c; sourceTree = "<group>"; };
- F93599C30DF1F78800E04F67 /* tclOOStubInit.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclOOStubInit.c; sourceTree = "<group>"; };
- F93599C50DF1F78D00E04F67 /* tclOOStubLib.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclOOStubLib.c; sourceTree = "<group>"; };
- F93599C80DF1F81900E04F67 /* oo.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = oo.test; sourceTree = "<group>"; };
- F93599CF0DF1F87F00E04F67 /* Class.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Class.3; sourceTree = "<group>"; };
- F93599D00DF1F89E00E04F67 /* class.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = class.n; sourceTree = "<group>"; };
- F93599D20DF1F8DF00E04F67 /* copy.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = copy.n; sourceTree = "<group>"; };
- F93599D30DF1F8F500E04F67 /* define.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = define.n; sourceTree = "<group>"; };
- F93599D40DF1F91900E04F67 /* Method.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Method.3; sourceTree = "<group>"; };
- F93599D50DF1F93700E04F67 /* my.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = my.n; sourceTree = "<group>"; };
- F93599D60DF1F95000E04F67 /* next.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = next.n; sourceTree = "<group>"; };
- F93599D70DF1F96800E04F67 /* object.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = object.n; sourceTree = "<group>"; };
- F93599D80DF1F98300E04F67 /* self.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = self.n; sourceTree = "<group>"; };
- F936FCD70CCD984500716967 /* ttkprogress.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = ttkprogress.tcl; sourceTree = "<group>"; };
- F936FCD80CCD984600716967 /* tree.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tree.tcl; sourceTree = "<group>"; };
- F936FCD90CCD984600716967 /* toolbar.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = toolbar.tcl; sourceTree = "<group>"; };
- F936FCDA0CCD984600716967 /* ttknote.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = ttknote.tcl; sourceTree = "<group>"; };
- F936FCDB0CCD984600716967 /* combo.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = combo.tcl; sourceTree = "<group>"; };
- F93E5EFD09CF8711008FA367 /* tkMacOSXFont.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkMacOSXFont.h; sourceTree = "<group>"; };
- F94523A10E6FC2AC00C1D987 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
- F946FB8B0FBE3AED00CD6495 /* itcl */ = {isa = PBXFileReference; lastKnownFileType = folder; path = itcl; sourceTree = "<group>"; };
- F95D77E90DFD820D00A8BF6F /* tclIORTrans.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclIORTrans.c; sourceTree = "<group>"; };
- F95D8D4B0F1715610006B020 /* Tk.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = Tk.icns; sourceTree = "<group>"; };
- F95D8D4C0F1715610006B020 /* Tk.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = Tk.tiff; sourceTree = "<group>"; };
- F95FAFF90B34F1130072E431 /* macOSXLoad.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = macOSXLoad.test; sourceTree = "<group>"; };
- F962F7C60DADC26200648DB8 /* vsapi.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = vsapi.test; sourceTree = "<group>"; };
- F96437C90EF0D4B2003F468E /* tclZlib.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclZlib.c; sourceTree = "<group>"; };
- F96437E60EF0D652003F468E /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = /usr/lib/libz.dylib; sourceTree = "<absolute>"; };
- F966BA0408F27A37005CB29B /* error.xbm */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; path = error.xbm; sourceTree = "<group>"; };
- F966BA0508F27A37005CB29B /* gray12.xbm */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; path = gray12.xbm; sourceTree = "<group>"; };
- F966BA0608F27A37005CB29B /* gray25.xbm */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; path = gray25.xbm; sourceTree = "<group>"; };
- F966BA0708F27A37005CB29B /* gray50.xbm */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; path = gray50.xbm; sourceTree = "<group>"; };
- F966BA0808F27A37005CB29B /* gray75.xbm */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; path = gray75.xbm; sourceTree = "<group>"; };
- F966BA0908F27A37005CB29B /* hourglass.xbm */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; path = hourglass.xbm; sourceTree = "<group>"; };
- F966BA0A08F27A37005CB29B /* info.xbm */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; path = info.xbm; sourceTree = "<group>"; };
- F966BA0B08F27A37005CB29B /* questhead.xbm */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; path = questhead.xbm; sourceTree = "<group>"; };
- F966BA0C08F27A37005CB29B /* question.xbm */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; path = question.xbm; sourceTree = "<group>"; };
- F966BA0D08F27A37005CB29B /* warning.xbm */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; path = warning.xbm; sourceTree = "<group>"; };
- F966BA0E08F27A37005CB29B /* ChangeLog */ = {isa = PBXFileReference; explicitFileType = text; fileEncoding = 4; path = ChangeLog; sourceTree = "<group>"; };
- F966BA0F08F27A37005CB29B /* changes */ = {isa = PBXFileReference; explicitFileType = text; fileEncoding = 4; path = changes; sourceTree = "<group>"; };
- F966BA1108F27A37005CB29B /* 3DBorder.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = 3DBorder.3; sourceTree = "<group>"; };
- F966BA1208F27A37005CB29B /* AddOption.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = AddOption.3; sourceTree = "<group>"; };
- F966BA1308F27A37005CB29B /* bell.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = bell.n; sourceTree = "<group>"; };
- F966BA1408F27A37005CB29B /* bind.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = bind.n; sourceTree = "<group>"; };
- F966BA1508F27A37005CB29B /* BindTable.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = BindTable.3; sourceTree = "<group>"; };
- F966BA1608F27A37005CB29B /* bindtags.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = bindtags.n; sourceTree = "<group>"; };
- F966BA1708F27A37005CB29B /* bitmap.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = bitmap.n; sourceTree = "<group>"; };
- F966BA1808F27A37005CB29B /* button.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = button.n; sourceTree = "<group>"; };
- F966BA1908F27A37005CB29B /* canvas.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = canvas.n; sourceTree = "<group>"; };
- F966BA1A08F27A37005CB29B /* CanvPsY.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CanvPsY.3; sourceTree = "<group>"; };
- F966BA1B08F27A37005CB29B /* CanvTkwin.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CanvTkwin.3; sourceTree = "<group>"; };
- F966BA1C08F27A37005CB29B /* CanvTxtInfo.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CanvTxtInfo.3; sourceTree = "<group>"; };
- F966BA1D08F27A37005CB29B /* checkbutton.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = checkbutton.n; sourceTree = "<group>"; };
- F966BA1E08F27A37005CB29B /* chooseColor.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = chooseColor.n; sourceTree = "<group>"; };
- F966BA1F08F27A37005CB29B /* chooseDirectory.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = chooseDirectory.n; sourceTree = "<group>"; };
- F966BA2008F27A37005CB29B /* Clipboard.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Clipboard.3; sourceTree = "<group>"; };
- F966BA2108F27A37005CB29B /* clipboard.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = clipboard.n; sourceTree = "<group>"; };
- F966BA2208F27A37005CB29B /* ClrSelect.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ClrSelect.3; sourceTree = "<group>"; };
- F966BA2308F27A37005CB29B /* colors.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = colors.n; sourceTree = "<group>"; };
- F966BA2408F27A37005CB29B /* ConfigWidg.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ConfigWidg.3; sourceTree = "<group>"; };
- F966BA2508F27A37005CB29B /* ConfigWind.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ConfigWind.3; sourceTree = "<group>"; };
- F966BA2608F27A37005CB29B /* console.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = console.n; sourceTree = "<group>"; };
- F966BA2708F27A37005CB29B /* CoordToWin.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CoordToWin.3; sourceTree = "<group>"; };
- F966BA2808F27A37005CB29B /* CrtCmHdlr.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtCmHdlr.3; sourceTree = "<group>"; };
- F966BA2908F27A37005CB29B /* CrtErrHdlr.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtErrHdlr.3; sourceTree = "<group>"; };
- F966BA2A08F27A37005CB29B /* CrtGenHdlr.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtGenHdlr.3; sourceTree = "<group>"; };
- F966BA2B08F27A37005CB29B /* CrtImgType.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtImgType.3; sourceTree = "<group>"; };
- F966BA2C08F27A37005CB29B /* CrtItemType.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtItemType.3; sourceTree = "<group>"; };
- F966BA2D08F27A37005CB29B /* CrtPhImgFmt.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtPhImgFmt.3; sourceTree = "<group>"; };
- F966BA2E08F27A37005CB29B /* CrtSelHdlr.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtSelHdlr.3; sourceTree = "<group>"; };
- F966BA2F08F27A37005CB29B /* CrtWindow.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtWindow.3; sourceTree = "<group>"; };
- F966BA3008F27A37005CB29B /* cursors.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = cursors.n; sourceTree = "<group>"; };
- F966BA3108F27A37005CB29B /* DeleteImg.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = DeleteImg.3; sourceTree = "<group>"; };
- F966BA3208F27A37005CB29B /* destroy.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = destroy.n; sourceTree = "<group>"; };
- F966BA3308F27A37005CB29B /* dialog.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = dialog.n; sourceTree = "<group>"; };
- F966BA3408F27A37005CB29B /* DrawFocHlt.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = DrawFocHlt.3; sourceTree = "<group>"; };
- F966BA3508F27A37005CB29B /* entry.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = entry.n; sourceTree = "<group>"; };
- F966BA3608F27A37005CB29B /* event.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = event.n; sourceTree = "<group>"; };
- F966BA3708F27A37005CB29B /* EventHndlr.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = EventHndlr.3; sourceTree = "<group>"; };
- F966BA3808F27A37005CB29B /* FindPhoto.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = FindPhoto.3; sourceTree = "<group>"; };
- F966BA3908F27A37005CB29B /* focus.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = focus.n; sourceTree = "<group>"; };
- F966BA3A08F27A37005CB29B /* focusNext.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = focusNext.n; sourceTree = "<group>"; };
- F966BA3B08F27A37005CB29B /* font.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = font.n; sourceTree = "<group>"; };
- F966BA3C08F27A37005CB29B /* FontId.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = FontId.3; sourceTree = "<group>"; };
- F966BA3D08F27A37005CB29B /* frame.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = frame.n; sourceTree = "<group>"; };
- F966BA3E08F27A37005CB29B /* FreeXId.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = FreeXId.3; sourceTree = "<group>"; };
- F966BA3F08F27A37005CB29B /* GeomReq.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GeomReq.3; sourceTree = "<group>"; };
- F966BA4008F27A37005CB29B /* GetAnchor.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetAnchor.3; sourceTree = "<group>"; };
- F966BA4108F27A37005CB29B /* GetBitmap.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetBitmap.3; sourceTree = "<group>"; };
- F966BA4208F27A37005CB29B /* GetCapStyl.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetCapStyl.3; sourceTree = "<group>"; };
- F966BA4308F27A37005CB29B /* GetClrmap.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetClrmap.3; sourceTree = "<group>"; };
- F966BA4408F27A37005CB29B /* GetColor.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetColor.3; sourceTree = "<group>"; };
- F966BA4508F27A37005CB29B /* GetCursor.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetCursor.3; sourceTree = "<group>"; };
- F966BA4608F27A37005CB29B /* GetDash.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetDash.3; sourceTree = "<group>"; };
- F966BA4708F27A37005CB29B /* GetFont.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetFont.3; sourceTree = "<group>"; };
- F966BA4808F27A37005CB29B /* GetGC.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetGC.3; sourceTree = "<group>"; };
- F966BA4908F27A37005CB29B /* GetHINSTANCE.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetHINSTANCE.3; sourceTree = "<group>"; };
- F966BA4A08F27A37005CB29B /* GetHWND.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetHWND.3; sourceTree = "<group>"; };
- F966BA4B08F27A37005CB29B /* GetImage.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetImage.3; sourceTree = "<group>"; };
- F966BA4C08F27A37005CB29B /* GetJoinStl.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetJoinStl.3; sourceTree = "<group>"; };
- F966BA4D08F27A37005CB29B /* GetJustify.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetJustify.3; sourceTree = "<group>"; };
- F966BA4E08F27A37005CB29B /* getOpenFile.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = getOpenFile.n; sourceTree = "<group>"; };
- F966BA4F08F27A37005CB29B /* GetOption.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetOption.3; sourceTree = "<group>"; };
- F966BA5008F27A38005CB29B /* GetPixels.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetPixels.3; sourceTree = "<group>"; };
- F966BA5108F27A38005CB29B /* GetPixmap.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetPixmap.3; sourceTree = "<group>"; };
- F966BA5208F27A38005CB29B /* GetRelief.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetRelief.3; sourceTree = "<group>"; };
- F966BA5308F27A38005CB29B /* GetRootCrd.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetRootCrd.3; sourceTree = "<group>"; };
- F966BA5408F27A38005CB29B /* GetScroll.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetScroll.3; sourceTree = "<group>"; };
- F966BA5508F27A38005CB29B /* GetSelect.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetSelect.3; sourceTree = "<group>"; };
- F966BA5608F27A38005CB29B /* GetUid.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetUid.3; sourceTree = "<group>"; };
- F966BA5708F27A38005CB29B /* GetVisual.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetVisual.3; sourceTree = "<group>"; };
- F966BA5808F27A38005CB29B /* GetVRoot.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetVRoot.3; sourceTree = "<group>"; };
- F966BA5908F27A38005CB29B /* Grab.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Grab.3; sourceTree = "<group>"; };
- F966BA5A08F27A38005CB29B /* grab.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = grab.n; sourceTree = "<group>"; };
- F966BA5B08F27A38005CB29B /* grid.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = grid.n; sourceTree = "<group>"; };
- F966BA5C08F27A38005CB29B /* HandleEvent.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = HandleEvent.3; sourceTree = "<group>"; };
- F966BA5D08F27A38005CB29B /* HWNDToWindow.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = HWNDToWindow.3; sourceTree = "<group>"; };
- F966BA5E08F27A38005CB29B /* IdToWindow.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = IdToWindow.3; sourceTree = "<group>"; };
- F966BA5F08F27A38005CB29B /* image.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = image.n; sourceTree = "<group>"; };
- F966BA6008F27A38005CB29B /* ImgChanged.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ImgChanged.3; sourceTree = "<group>"; };
- F966BA6108F27A38005CB29B /* Inactive.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Inactive.3; sourceTree = "<group>"; };
- F966BA6208F27A38005CB29B /* InternAtom.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = InternAtom.3; sourceTree = "<group>"; };
- F966BA6308F27A38005CB29B /* keysyms.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = keysyms.n; sourceTree = "<group>"; };
- F966BA6408F27A38005CB29B /* label.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = label.n; sourceTree = "<group>"; };
- F966BA6508F27A38005CB29B /* labelframe.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = labelframe.n; sourceTree = "<group>"; };
- F966BA6608F27A38005CB29B /* listbox.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = listbox.n; sourceTree = "<group>"; };
- F966BA6708F27A38005CB29B /* loadTk.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = loadTk.n; sourceTree = "<group>"; };
- F966BA6808F27A38005CB29B /* lower.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = lower.n; sourceTree = "<group>"; };
- F966BA6908F27A38005CB29B /* MainLoop.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = MainLoop.3; sourceTree = "<group>"; };
- F966BA6A08F27A38005CB29B /* MaintGeom.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = MaintGeom.3; sourceTree = "<group>"; };
- F966BA6B08F27A38005CB29B /* MainWin.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = MainWin.3; sourceTree = "<group>"; };
- F966BA6D08F27A38005CB29B /* ManageGeom.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ManageGeom.3; sourceTree = "<group>"; };
- F966BA6E08F27A38005CB29B /* MapWindow.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = MapWindow.3; sourceTree = "<group>"; };
- F966BA6F08F27A38005CB29B /* MeasureChar.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = MeasureChar.3; sourceTree = "<group>"; };
- F966BA7008F27A38005CB29B /* menu.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = menu.n; sourceTree = "<group>"; };
- F966BA7108F27A38005CB29B /* menubar.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = menubar.n; sourceTree = "<group>"; };
- F966BA7208F27A38005CB29B /* menubutton.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = menubutton.n; sourceTree = "<group>"; };
- F966BA7308F27A38005CB29B /* message.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = message.n; sourceTree = "<group>"; };
- F966BA7408F27A38005CB29B /* messageBox.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = messageBox.n; sourceTree = "<group>"; };
- F966BA7508F27A38005CB29B /* MoveToplev.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = MoveToplev.3; sourceTree = "<group>"; };
- F966BA7608F27A38005CB29B /* Name.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Name.3; sourceTree = "<group>"; };
- F966BA7708F27A38005CB29B /* NameOfImg.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = NameOfImg.3; sourceTree = "<group>"; };
- F966BA7808F27A38005CB29B /* option.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = option.n; sourceTree = "<group>"; };
- F966BA7908F27A38005CB29B /* optionMenu.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = optionMenu.n; sourceTree = "<group>"; };
- F966BA7A08F27A38005CB29B /* options.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = options.n; sourceTree = "<group>"; };
- F966BA7B08F27A38005CB29B /* OwnSelect.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = OwnSelect.3; sourceTree = "<group>"; };
- F966BA7C08F27A38005CB29B /* pack-old.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = "pack-old.n"; sourceTree = "<group>"; };
- F966BA7D08F27A38005CB29B /* pack.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = pack.n; sourceTree = "<group>"; };
- F966BA7E08F27A38005CB29B /* palette.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = palette.n; sourceTree = "<group>"; };
- F966BA7F08F27A38005CB29B /* panedwindow.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = panedwindow.n; sourceTree = "<group>"; };
- F966BA8008F27A38005CB29B /* ParseArgv.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ParseArgv.3; sourceTree = "<group>"; };
- F966BA8108F27A38005CB29B /* photo.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = photo.n; sourceTree = "<group>"; };
- F966BA8208F27A38005CB29B /* place.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = place.n; sourceTree = "<group>"; };
- F966BA8308F27A38005CB29B /* popup.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = popup.n; sourceTree = "<group>"; };
- F966BA8408F27A38005CB29B /* QWinEvent.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = QWinEvent.3; sourceTree = "<group>"; };
- F966BA8508F27A38005CB29B /* radiobutton.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = radiobutton.n; sourceTree = "<group>"; };
- F966BA8608F27A38005CB29B /* raise.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = raise.n; sourceTree = "<group>"; };
- F966BA8708F27A38005CB29B /* Restack.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Restack.3; sourceTree = "<group>"; };
- F966BA8808F27A38005CB29B /* RestrictEv.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = RestrictEv.3; sourceTree = "<group>"; };
- F966BA8908F27A38005CB29B /* scale.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = scale.n; sourceTree = "<group>"; };
- F966BA8A08F27A38005CB29B /* scrollbar.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = scrollbar.n; sourceTree = "<group>"; };
- F966BA8B08F27A38005CB29B /* selection.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = selection.n; sourceTree = "<group>"; };
- F966BA8C08F27A38005CB29B /* send.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = send.n; sourceTree = "<group>"; };
- F966BA8D08F27A38005CB29B /* SetAppName.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = SetAppName.3; sourceTree = "<group>"; };
- F966BA8E08F27A38005CB29B /* SetCaret.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = SetCaret.3; sourceTree = "<group>"; };
- F966BA8F08F27A38005CB29B /* SetClass.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = SetClass.3; sourceTree = "<group>"; };
- F966BA9008F27A38005CB29B /* SetClassProcs.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = SetClassProcs.3; sourceTree = "<group>"; };
- F966BA9108F27A38005CB29B /* SetGrid.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = SetGrid.3; sourceTree = "<group>"; };
- F966BA9208F27A38005CB29B /* SetOptions.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = SetOptions.3; sourceTree = "<group>"; };
- F966BA9308F27A38005CB29B /* SetVisual.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = SetVisual.3; sourceTree = "<group>"; };
- F966BA9408F27A38005CB29B /* spinbox.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = spinbox.n; sourceTree = "<group>"; };
- F966BA9508F27A38005CB29B /* StrictMotif.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = StrictMotif.3; sourceTree = "<group>"; };
- F966BA9608F27A38005CB29B /* text.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = text.n; sourceTree = "<group>"; };
- F966BA9708F27A38005CB29B /* TextLayout.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = TextLayout.3; sourceTree = "<group>"; };
- F966BA9808F27A38005CB29B /* tk.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = tk.n; sourceTree = "<group>"; };
- F966BA9A08F27A38005CB29B /* Tk_Init.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Tk_Init.3; sourceTree = "<group>"; };
- F966BA9B08F27A38005CB29B /* Tk_Main.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Tk_Main.3; sourceTree = "<group>"; };
- F966BA9C08F27A38005CB29B /* tkerror.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = tkerror.n; sourceTree = "<group>"; };
- F966BA9D08F27A38005CB29B /* TkInitStubs.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = TkInitStubs.3; sourceTree = "<group>"; };
- F966BA9E08F27A38005CB29B /* tkvars.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = tkvars.n; sourceTree = "<group>"; };
- F966BA9F08F27A38005CB29B /* tkwait.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = tkwait.n; sourceTree = "<group>"; };
- F966BAA008F27A38005CB29B /* toplevel.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = toplevel.n; sourceTree = "<group>"; };
- F966BAA108F27A38005CB29B /* WindowId.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = WindowId.3; sourceTree = "<group>"; };
- F966BAA208F27A38005CB29B /* winfo.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = winfo.n; sourceTree = "<group>"; };
- F966BAA308F27A38005CB29B /* wish.1 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = wish.1; sourceTree = "<group>"; };
- F966BAA408F27A38005CB29B /* wm.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = wm.n; sourceTree = "<group>"; };
- F966BAA608F27A38005CB29B /* default.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = default.h; sourceTree = "<group>"; };
- F966BAA708F27A38005CB29B /* ks_names.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ks_names.h; sourceTree = "<group>"; };
- F966BAA908F27A39005CB29B /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
- F966BAAA08F27A39005CB29B /* tk.decls */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tk.decls; sourceTree = "<group>"; };
- F966BAAB08F27A39005CB29B /* tk.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tk.h; sourceTree = "<group>"; };
- F966BAAC08F27A39005CB29B /* tk3d.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tk3d.c; sourceTree = "<group>"; };
- F966BAAD08F27A39005CB29B /* tk3d.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tk3d.h; sourceTree = "<group>"; };
- F966BAAE08F27A39005CB29B /* tkArgv.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkArgv.c; sourceTree = "<group>"; };
- F966BAAF08F27A39005CB29B /* tkAtom.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkAtom.c; sourceTree = "<group>"; };
- F966BAB008F27A39005CB29B /* tkBind.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkBind.c; sourceTree = "<group>"; };
- F966BAB108F27A39005CB29B /* tkBitmap.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkBitmap.c; sourceTree = "<group>"; };
- F966BAB208F27A39005CB29B /* tkButton.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkButton.c; sourceTree = "<group>"; };
- F966BAB308F27A39005CB29B /* tkButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkButton.h; sourceTree = "<group>"; };
- F966BAB408F27A39005CB29B /* tkCanvArc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkCanvArc.c; sourceTree = "<group>"; };
- F966BAB508F27A39005CB29B /* tkCanvas.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkCanvas.c; sourceTree = "<group>"; };
- F966BAB608F27A39005CB29B /* tkCanvas.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkCanvas.h; sourceTree = "<group>"; };
- F966BAB708F27A39005CB29B /* tkCanvBmap.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkCanvBmap.c; sourceTree = "<group>"; };
- F966BAB808F27A39005CB29B /* tkCanvImg.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkCanvImg.c; sourceTree = "<group>"; };
- F966BAB908F27A39005CB29B /* tkCanvLine.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkCanvLine.c; sourceTree = "<group>"; };
- F966BABA08F27A39005CB29B /* tkCanvPoly.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkCanvPoly.c; sourceTree = "<group>"; };
- F966BABB08F27A39005CB29B /* tkCanvPs.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkCanvPs.c; sourceTree = "<group>"; };
- F966BABD08F27A39005CB29B /* tkCanvText.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkCanvText.c; sourceTree = "<group>"; };
- F966BABE08F27A39005CB29B /* tkCanvUtil.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkCanvUtil.c; sourceTree = "<group>"; };
- F966BABF08F27A39005CB29B /* tkCanvWind.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkCanvWind.c; sourceTree = "<group>"; };
- F966BAC008F27A39005CB29B /* tkClipboard.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkClipboard.c; sourceTree = "<group>"; };
- F966BAC108F27A39005CB29B /* tkCmds.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkCmds.c; sourceTree = "<group>"; };
- F966BAC208F27A39005CB29B /* tkColor.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkColor.c; sourceTree = "<group>"; };
- F966BAC308F27A39005CB29B /* tkColor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkColor.h; sourceTree = "<group>"; };
- F966BAC408F27A39005CB29B /* tkConfig.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkConfig.c; sourceTree = "<group>"; };
- F966BAC508F27A39005CB29B /* tkConsole.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkConsole.c; sourceTree = "<group>"; };
- F966BAC608F27A39005CB29B /* tkCursor.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkCursor.c; sourceTree = "<group>"; };
- F966BAC708F27A39005CB29B /* tkDecls.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkDecls.h; sourceTree = "<group>"; };
- F966BAC808F27A39005CB29B /* tkEntry.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkEntry.c; sourceTree = "<group>"; };
- F966BAC908F27A39005CB29B /* tkEntry.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkEntry.h; sourceTree = "<group>"; };
- F966BACA08F27A39005CB29B /* tkError.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkError.c; sourceTree = "<group>"; };
- F966BACB08F27A39005CB29B /* tkEvent.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkEvent.c; sourceTree = "<group>"; };
- F966BACC08F27A39005CB29B /* tkFileFilter.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkFileFilter.c; sourceTree = "<group>"; };
- F966BACD08F27A39005CB29B /* tkFileFilter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkFileFilter.h; sourceTree = "<group>"; };
- F966BACE08F27A39005CB29B /* tkFocus.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkFocus.c; sourceTree = "<group>"; };
- F966BACF08F27A39005CB29B /* tkFont.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkFont.c; sourceTree = "<group>"; };
- F966BAD008F27A39005CB29B /* tkFont.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkFont.h; sourceTree = "<group>"; };
- F966BAD108F27A39005CB29B /* tkFrame.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkFrame.c; sourceTree = "<group>"; };
- F966BAD208F27A39005CB29B /* tkGC.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkGC.c; sourceTree = "<group>"; };
- F966BAD308F27A39005CB29B /* tkGeometry.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkGeometry.c; sourceTree = "<group>"; };
- F966BAD408F27A39005CB29B /* tkGet.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkGet.c; sourceTree = "<group>"; };
- F966BAD508F27A39005CB29B /* tkGrab.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkGrab.c; sourceTree = "<group>"; };
- F966BAD608F27A39005CB29B /* tkGrid.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkGrid.c; sourceTree = "<group>"; };
- F966BAD708F27A39005CB29B /* tkImage.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkImage.c; sourceTree = "<group>"; };
- F966BAD808F27A39005CB29B /* tkImgBmap.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkImgBmap.c; sourceTree = "<group>"; };
- F966BAD908F27A39005CB29B /* tkImgGIF.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkImgGIF.c; sourceTree = "<group>"; };
- F966BADA08F27A39005CB29B /* tkImgPhoto.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkImgPhoto.c; sourceTree = "<group>"; };
- F966BADB08F27A39005CB29B /* tkImgPPM.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkImgPPM.c; sourceTree = "<group>"; };
- F966BADC08F27A39005CB29B /* tkImgUtil.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkImgUtil.c; sourceTree = "<group>"; };
- F966BADE08F27A39005CB29B /* tkInt.decls */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tkInt.decls; sourceTree = "<group>"; };
- F966BADF08F27A39005CB29B /* tkInt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkInt.h; sourceTree = "<group>"; };
- F966BAE108F27A39005CB29B /* tkIntDecls.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkIntDecls.h; sourceTree = "<group>"; };
- F966BAE208F27A39005CB29B /* tkIntPlatDecls.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkIntPlatDecls.h; sourceTree = "<group>"; };
- F966BAE308F27A39005CB29B /* tkIntXlibDecls.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkIntXlibDecls.h; sourceTree = "<group>"; };
- F966BAE408F27A39005CB29B /* tkListbox.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkListbox.c; sourceTree = "<group>"; };
- F966BAE508F27A39005CB29B /* tkMacWinMenu.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMacWinMenu.c; sourceTree = "<group>"; };
- F966BAE608F27A39005CB29B /* tkMain.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMain.c; sourceTree = "<group>"; };
- F966BAE708F27A39005CB29B /* tkMenu.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMenu.c; sourceTree = "<group>"; };
- F966BAE808F27A39005CB29B /* tkMenu.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkMenu.h; sourceTree = "<group>"; };
- F966BAE908F27A39005CB29B /* tkMenubutton.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMenubutton.c; sourceTree = "<group>"; };
- F966BAEA08F27A39005CB29B /* tkMenubutton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkMenubutton.h; sourceTree = "<group>"; };
- F966BAEB08F27A39005CB29B /* tkMenuDraw.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMenuDraw.c; sourceTree = "<group>"; };
- F966BAEC08F27A39005CB29B /* tkMessage.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMessage.c; sourceTree = "<group>"; };
- F966BAED08F27A39005CB29B /* tkObj.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkObj.c; sourceTree = "<group>"; };
- F966BAEE08F27A39005CB29B /* tkOldConfig.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkOldConfig.c; sourceTree = "<group>"; };
- F966BAEF08F27A39005CB29B /* tkOption.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkOption.c; sourceTree = "<group>"; };
- F966BAF008F27A39005CB29B /* tkPack.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkPack.c; sourceTree = "<group>"; };
- F966BAF108F27A39005CB29B /* tkPanedWindow.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkPanedWindow.c; sourceTree = "<group>"; };
- F966BAF208F27A39005CB29B /* tkPlace.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkPlace.c; sourceTree = "<group>"; };
- F966BAF308F27A39005CB29B /* tkPlatDecls.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkPlatDecls.h; sourceTree = "<group>"; };
- F966BAF408F27A39005CB29B /* tkPointer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkPointer.c; sourceTree = "<group>"; };
- F966BAF508F27A39005CB29B /* tkPort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkPort.h; sourceTree = "<group>"; };
- F966BAF608F27A39005CB29B /* tkRectOval.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkRectOval.c; sourceTree = "<group>"; };
- F966BAF708F27A39005CB29B /* tkScale.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkScale.c; sourceTree = "<group>"; };
- F966BAF808F27A39005CB29B /* tkScale.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkScale.h; sourceTree = "<group>"; };
- F966BAF908F27A39005CB29B /* tkScrollbar.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkScrollbar.c; sourceTree = "<group>"; };
- F966BAFA08F27A39005CB29B /* tkScrollbar.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkScrollbar.h; sourceTree = "<group>"; };
- F966BAFB08F27A39005CB29B /* tkSelect.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkSelect.c; sourceTree = "<group>"; };
- F966BAFC08F27A39005CB29B /* tkSelect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkSelect.h; sourceTree = "<group>"; };
- F966BAFD08F27A39005CB29B /* tkSquare.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkSquare.c; sourceTree = "<group>"; };
- F966BAFE08F27A39005CB29B /* tkOldTest.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkOldTest.c; sourceTree = "<group>"; };
- F966BAFF08F27A39005CB29B /* tkStubInit.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkStubInit.c; sourceTree = "<group>"; };
- F966BB0008F27A39005CB29B /* tkStubLib.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkStubLib.c; sourceTree = "<group>"; };
- F966BB0108F27A39005CB29B /* tkStyle.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkStyle.c; sourceTree = "<group>"; };
- F966BB0208F27A39005CB29B /* tkTest.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkTest.c; sourceTree = "<group>"; };
- F966BB0308F27A39005CB29B /* tkText.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkText.c; sourceTree = "<group>"; };
- F966BB0408F27A39005CB29B /* tkText.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkText.h; sourceTree = "<group>"; };
- F966BB0508F27A39005CB29B /* tkTextBTree.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkTextBTree.c; sourceTree = "<group>"; };
- F966BB0608F27A39005CB29B /* tkTextDisp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkTextDisp.c; sourceTree = "<group>"; };
- F966BB0808F27A39005CB29B /* tkTextImage.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkTextImage.c; sourceTree = "<group>"; };
- F966BB0908F27A39005CB29B /* tkTextIndex.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkTextIndex.c; sourceTree = "<group>"; };
- F966BB0A08F27A39005CB29B /* tkTextMark.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkTextMark.c; sourceTree = "<group>"; };
- F966BB0B08F27A39005CB29B /* tkTextTag.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkTextTag.c; sourceTree = "<group>"; };
- F966BB0C08F27A39005CB29B /* tkTextWind.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkTextWind.c; sourceTree = "<group>"; };
- F966BB0D08F27A39005CB29B /* tkTrig.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkTrig.c; sourceTree = "<group>"; };
- F966BB0E08F27A39005CB29B /* tkUndo.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUndo.c; sourceTree = "<group>"; };
- F966BB0F08F27A39005CB29B /* tkUndo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkUndo.h; sourceTree = "<group>"; };
- F966BB1008F27A39005CB29B /* tkUtil.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUtil.c; sourceTree = "<group>"; };
- F966BB1108F27A39005CB29B /* tkVisual.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkVisual.c; sourceTree = "<group>"; };
- F966BB1208F27A39005CB29B /* tkWindow.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWindow.c; sourceTree = "<group>"; };
- F966BB1408F27A39005CB29B /* bgerror.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = bgerror.tcl; sourceTree = "<group>"; };
- F966BB1508F27A39005CB29B /* button.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = button.tcl; sourceTree = "<group>"; };
- F966BB1608F27A39005CB29B /* choosedir.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = choosedir.tcl; sourceTree = "<group>"; };
- F966BB1708F27A39005CB29B /* clrpick.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = clrpick.tcl; sourceTree = "<group>"; };
- F966BB1808F27A39005CB29B /* comdlg.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = comdlg.tcl; sourceTree = "<group>"; };
- F966BB1908F27A39005CB29B /* console.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = console.tcl; sourceTree = "<group>"; };
- F966BB1B08F27A39005CB29B /* anilabel.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = anilabel.tcl; sourceTree = "<group>"; };
- F966BB1C08F27A39005CB29B /* aniwave.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = aniwave.tcl; sourceTree = "<group>"; };
- F966BB1D08F27A39005CB29B /* arrow.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = arrow.tcl; sourceTree = "<group>"; };
- F966BB1E08F27A39005CB29B /* bind.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = bind.tcl; sourceTree = "<group>"; };
- F966BB1F08F27A39005CB29B /* bitmap.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = bitmap.tcl; sourceTree = "<group>"; };
- F966BB2008F27A39005CB29B /* browse */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = browse; sourceTree = "<group>"; };
- F966BB2108F27A39005CB29B /* button.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = button.tcl; sourceTree = "<group>"; };
- F966BB2208F27A39005CB29B /* check.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = check.tcl; sourceTree = "<group>"; };
- F966BB2308F27A39005CB29B /* clrpick.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = clrpick.tcl; sourceTree = "<group>"; };
- F966BB2408F27A39005CB29B /* colors.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = colors.tcl; sourceTree = "<group>"; };
- F966BB2508F27A39005CB29B /* cscroll.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = cscroll.tcl; sourceTree = "<group>"; };
- F966BB2608F27A39005CB29B /* ctext.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = ctext.tcl; sourceTree = "<group>"; };
- F966BB2708F27A39005CB29B /* dialog1.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = dialog1.tcl; sourceTree = "<group>"; };
- F966BB2808F27A39005CB29B /* dialog2.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = dialog2.tcl; sourceTree = "<group>"; };
- F966BB2A08F27A39005CB29B /* entry1.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = entry1.tcl; sourceTree = "<group>"; };
- F966BB2B08F27A39005CB29B /* entry2.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = entry2.tcl; sourceTree = "<group>"; };
- F966BB2C08F27A39005CB29B /* entry3.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = entry3.tcl; sourceTree = "<group>"; };
- F966BB2D08F27A39005CB29B /* filebox.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = filebox.tcl; sourceTree = "<group>"; };
- F966BB2E08F27A39005CB29B /* floor.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = floor.tcl; sourceTree = "<group>"; };
- F966BB2F08F27A39005CB29B /* form.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = form.tcl; sourceTree = "<group>"; };
- F966BB3008F27A39005CB29B /* goldberg.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = goldberg.tcl; sourceTree = "<group>"; };
- F966BB3108F27A39005CB29B /* hello */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = hello; sourceTree = "<group>"; };
- F966BB3208F27A39005CB29B /* hscale.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = hscale.tcl; sourceTree = "<group>"; };
- F966BB3308F27A39005CB29B /* icon.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = icon.tcl; sourceTree = "<group>"; };
- F966BB3408F27A39005CB29B /* image1.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = image1.tcl; sourceTree = "<group>"; };
- F966BB3508F27A39005CB29B /* image2.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = image2.tcl; sourceTree = "<group>"; };
- F966BB4208F27A3A005CB29B /* items.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = items.tcl; sourceTree = "<group>"; };
- F966BB4308F27A3A005CB29B /* ixset */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = ixset; sourceTree = "<group>"; };
- F966BB4408F27A3A005CB29B /* label.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = label.tcl; sourceTree = "<group>"; };
- F966BB4508F27A3A005CB29B /* labelframe.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = labelframe.tcl; sourceTree = "<group>"; };
- F966BB4608F27A3A005CB29B /* menu.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = menu.tcl; sourceTree = "<group>"; };
- F966BB4708F27A3A005CB29B /* menubu.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = menubu.tcl; sourceTree = "<group>"; };
- F966BB4808F27A3A005CB29B /* msgbox.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = msgbox.tcl; sourceTree = "<group>"; };
- F966BB4A08F27A3A005CB29B /* paned1.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = paned1.tcl; sourceTree = "<group>"; };
- F966BB4B08F27A3A005CB29B /* paned2.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = paned2.tcl; sourceTree = "<group>"; };
- F966BB4C08F27A3A005CB29B /* pendulum.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = pendulum.tcl; sourceTree = "<group>"; };
- F966BB4D08F27A3A005CB29B /* plot.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = plot.tcl; sourceTree = "<group>"; };
- F966BB4E08F27A3A005CB29B /* puzzle.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = puzzle.tcl; sourceTree = "<group>"; };
- F966BB4F08F27A3A005CB29B /* radio.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = radio.tcl; sourceTree = "<group>"; };
- F966BB5008F27A3A005CB29B /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
- F966BB5108F27A3A005CB29B /* rmt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = rmt; sourceTree = "<group>"; };
- F966BB5208F27A3A005CB29B /* rolodex */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = rolodex; sourceTree = "<group>"; };
- F966BB5308F27A3A005CB29B /* ruler.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = ruler.tcl; sourceTree = "<group>"; };
- F966BB5408F27A3A005CB29B /* sayings.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = sayings.tcl; sourceTree = "<group>"; };
- F966BB5508F27A3A005CB29B /* search.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = search.tcl; sourceTree = "<group>"; };
- F966BB5608F27A3A005CB29B /* spin.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = spin.tcl; sourceTree = "<group>"; };
- F966BB5708F27A3A005CB29B /* square */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = square; sourceTree = "<group>"; };
- F966BB5808F27A3A005CB29B /* states.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = states.tcl; sourceTree = "<group>"; };
- F966BB5908F27A3A005CB29B /* style.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = style.tcl; sourceTree = "<group>"; };
- F966BB5A08F27A3A005CB29B /* tclIndex */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tclIndex; sourceTree = "<group>"; };
- F966BB5B08F27A3A005CB29B /* tcolor */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = tcolor; sourceTree = "<group>"; };
- F966BB5C08F27A3A005CB29B /* text.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = text.tcl; sourceTree = "<group>"; };
- F966BB5D08F27A3A005CB29B /* timer */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = timer; sourceTree = "<group>"; };
- F966BB5E08F27A3A005CB29B /* twind.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = twind.tcl; sourceTree = "<group>"; };
- F966BB5F08F27A3A005CB29B /* unicodeout.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = unicodeout.tcl; sourceTree = "<group>"; };
- F966BB6008F27A3A005CB29B /* vscale.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = vscale.tcl; sourceTree = "<group>"; };
- F966BB6108F27A3A005CB29B /* widget */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = widget; sourceTree = "<group>"; };
- F966BB6208F27A3A005CB29B /* dialog.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = dialog.tcl; sourceTree = "<group>"; };
- F966BB6308F27A3A005CB29B /* entry.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = entry.tcl; sourceTree = "<group>"; };
- F966BB6408F27A3A005CB29B /* focus.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = focus.tcl; sourceTree = "<group>"; };
- F966BB7308F27A3A005CB29B /* listbox.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = listbox.tcl; sourceTree = "<group>"; };
- F966BB7408F27A3A005CB29B /* menu.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = menu.tcl; sourceTree = "<group>"; };
- F966BB7508F27A3A005CB29B /* mkpsenc.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = mkpsenc.tcl; sourceTree = "<group>"; };
- F966BB7608F27A3A005CB29B /* msgbox.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = msgbox.tcl; sourceTree = "<group>"; };
- F966BB8608F27A3A005CB29B /* obsolete.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = obsolete.tcl; sourceTree = "<group>"; };
- F966BB8708F27A3A005CB29B /* optMenu.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = optMenu.tcl; sourceTree = "<group>"; };
- F966BB8808F27A3A005CB29B /* palette.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = palette.tcl; sourceTree = "<group>"; };
- F966BB8908F27A3B005CB29B /* panedwindow.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = panedwindow.tcl; sourceTree = "<group>"; };
- F966BB8B08F27A3B005CB29B /* safetk.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = safetk.tcl; sourceTree = "<group>"; };
- F966BB8C08F27A3B005CB29B /* scale.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = scale.tcl; sourceTree = "<group>"; };
- F966BB8D08F27A3B005CB29B /* scrlbar.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = scrlbar.tcl; sourceTree = "<group>"; };
- F966BB8E08F27A3B005CB29B /* spinbox.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = spinbox.tcl; sourceTree = "<group>"; };
- F966BB8F08F27A3B005CB29B /* tclIndex */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tclIndex; sourceTree = "<group>"; };
- F966BB9008F27A3B005CB29B /* tearoff.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tearoff.tcl; sourceTree = "<group>"; };
- F966BB9108F27A3B005CB29B /* text.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = text.tcl; sourceTree = "<group>"; };
- F966BB9208F27A3B005CB29B /* tk.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tk.tcl; sourceTree = "<group>"; };
- F966BB9308F27A3B005CB29B /* tkfbox.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tkfbox.tcl; sourceTree = "<group>"; };
- F966BB9408F27A3B005CB29B /* unsupported.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = unsupported.tcl; sourceTree = "<group>"; };
- F966BB9508F27A3B005CB29B /* xmfbox.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = xmfbox.tcl; sourceTree = "<group>"; };
- F966BB9608F27A3B005CB29B /* license.terms */ = {isa = PBXFileReference; explicitFileType = text; fileEncoding = 4; path = license.terms; sourceTree = "<group>"; };
- F966BBBA08F27A3B005CB29B /* configure.ac */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = configure.ac; sourceTree = "<group>"; };
- F966BBBB08F27A3B005CB29B /* GNUmakefile */ = {isa = PBXFileReference; explicitFileType = sourcecode.make; fileEncoding = 4; path = GNUmakefile; sourceTree = "<group>"; };
- F966BBBE08F27A3B005CB29B /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
- F966BBC008F27A3B005CB29B /* Tk-Info.plist.in */ = {isa = PBXFileReference; explicitFileType = text.plist; fileEncoding = 4; path = "Tk-Info.plist.in"; sourceTree = "<group>"; };
- F966BBC208F27A3B005CB29B /* tkMacOSX.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkMacOSX.h; sourceTree = "<group>"; };
- F966BBC508F27A3B005CB29B /* tkMacOSXBitmap.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; path = tkMacOSXBitmap.c; sourceTree = "<group>"; };
- F966BBC608F27A3B005CB29B /* tkMacOSXButton.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; path = tkMacOSXButton.c; sourceTree = "<group>"; };
- F966BBC808F27A3B005CB29B /* tkMacOSXClipboard.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; path = tkMacOSXClipboard.c; sourceTree = "<group>"; };
- F966BBC908F27A3B005CB29B /* tkMacOSXColor.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; path = tkMacOSXColor.c; sourceTree = "<group>"; };
- F966BBCA08F27A3B005CB29B /* tkMacOSXConfig.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; path = tkMacOSXConfig.c; sourceTree = "<group>"; };
- F966BBCB08F27A3B005CB29B /* tkMacOSXCursor.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; path = tkMacOSXCursor.c; sourceTree = "<group>"; };
- F966BBCC08F27A3B005CB29B /* tkMacOSXCursors.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkMacOSXCursors.h; sourceTree = "<group>"; };
- F966BBCD08F27A3B005CB29B /* tkMacOSXDebug.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; path = tkMacOSXDebug.c; sourceTree = "<group>"; };
- F966BBCE08F27A3B005CB29B /* tkMacOSXDebug.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkMacOSXDebug.h; sourceTree = "<group>"; };
- F966BBCF08F27A3B005CB29B /* tkMacOSXDefault.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkMacOSXDefault.h; sourceTree = "<group>"; };
- F966BBD008F27A3B005CB29B /* tkMacOSXDialog.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; path = tkMacOSXDialog.c; sourceTree = "<group>"; };
- F966BBD108F27A3B005CB29B /* tkMacOSXDraw.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; path = tkMacOSXDraw.c; sourceTree = "<group>"; };
- F966BBD208F27A3B005CB29B /* tkMacOSXEmbed.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; path = tkMacOSXEmbed.c; sourceTree = "<group>"; };
- F966BBD308F27A3B005CB29B /* tkMacOSXEntry.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; path = tkMacOSXEntry.c; sourceTree = "<group>"; };
- F966BBD408F27A3B005CB29B /* tkMacOSXEvent.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; path = tkMacOSXEvent.c; sourceTree = "<group>"; };
- F966BBD508F27A3B005CB29B /* tkMacOSXEvent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkMacOSXEvent.h; sourceTree = "<group>"; };
- F966BBD608F27A3B005CB29B /* tkMacOSXFont.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; path = tkMacOSXFont.c; sourceTree = "<group>"; };
- F966BBD708F27A3B005CB29B /* tkMacOSXHLEvents.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; path = tkMacOSXHLEvents.c; sourceTree = "<group>"; };
- F966BBD808F27A3B005CB29B /* tkMacOSXInit.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; path = tkMacOSXInit.c; sourceTree = "<group>"; };
- F966BBDA08F27A3B005CB29B /* tkMacOSXInt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkMacOSXInt.h; sourceTree = "<group>"; };
- F966BBDB08F27A3B005CB29B /* tkMacOSXKeyboard.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; path = tkMacOSXKeyboard.c; sourceTree = "<group>"; };
- F966BBDC08F27A3B005CB29B /* tkMacOSXKeyEvent.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; path = tkMacOSXKeyEvent.c; sourceTree = "<group>"; };
- F966BBDD08F27A3B005CB29B /* tkMacOSXMenu.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; path = tkMacOSXMenu.c; sourceTree = "<group>"; };
- F966BBE008F27A3B005CB29B /* tkMacOSXMenubutton.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; path = tkMacOSXMenubutton.c; sourceTree = "<group>"; };
- F966BBE108F27A3B005CB29B /* tkMacOSXMenus.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; path = tkMacOSXMenus.c; sourceTree = "<group>"; };
- F966BBE208F27A3B005CB29B /* tkMacOSXMouseEvent.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; path = tkMacOSXMouseEvent.c; sourceTree = "<group>"; };
- F966BBE308F27A3B005CB29B /* tkMacOSXNotify.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; path = tkMacOSXNotify.c; sourceTree = "<group>"; };
- F966BBEA08F27A3C005CB29B /* tkMacOSXPort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkMacOSXPort.h; sourceTree = "<group>"; };
- F966BBEB08F27A3C005CB29B /* tkMacOSXRegion.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; path = tkMacOSXRegion.c; sourceTree = "<group>"; };
- F966BBEC08F27A3C005CB29B /* tkMacOSXScale.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; path = tkMacOSXScale.c; sourceTree = "<group>"; };
- F966BBED08F27A3C005CB29B /* tkMacOSXScrlbr.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; path = tkMacOSXScrlbr.c; sourceTree = "<group>"; };
- F966BBEE08F27A3C005CB29B /* tkMacOSXSend.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; path = tkMacOSXSend.c; sourceTree = "<group>"; };
- F966BBEF08F27A3C005CB29B /* tkMacOSXSubwindows.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; path = tkMacOSXSubwindows.c; sourceTree = "<group>"; };
- F966BBF008F27A3C005CB29B /* tkMacOSXTest.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; path = tkMacOSXTest.c; sourceTree = "<group>"; };
- F966BBF108F27A3C005CB29B /* tkMacOSXWindowEvent.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; path = tkMacOSXWindowEvent.c; sourceTree = "<group>"; };
- F966BBF208F27A3C005CB29B /* tkMacOSXWm.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; path = tkMacOSXWm.c; sourceTree = "<group>"; };
- F966BBF308F27A3C005CB29B /* tkMacOSXWm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkMacOSXWm.h; sourceTree = "<group>"; };
- F966BBF408F27A3C005CB29B /* tkMacOSXXCursors.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkMacOSXXCursors.h; sourceTree = "<group>"; };
- F966BBF508F27A3C005CB29B /* tkMacOSXXStubs.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; path = tkMacOSXXStubs.c; sourceTree = "<group>"; };
- F966BBF708F27A3C005CB29B /* Wish-Info.plist.in */ = {isa = PBXFileReference; explicitFileType = text.plist; fileEncoding = 4; path = "Wish-Info.plist.in"; sourceTree = "<group>"; };
- F966BC0308F27A3C005CB29B /* README */ = {isa = PBXFileReference; explicitFileType = text; fileEncoding = 4; path = README; sourceTree = "<group>"; };
- F966BC0508F27A3C005CB29B /* all.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = all.tcl; sourceTree = "<group>"; };
- F966BC0608F27A3C005CB29B /* arc.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = arc.tcl; sourceTree = "<group>"; };
- F966BC0708F27A3C005CB29B /* bell.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = bell.test; sourceTree = "<group>"; };
- F966BC0808F27A3C005CB29B /* bevel.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = bevel.tcl; sourceTree = "<group>"; };
- F966BC0908F27A3C005CB29B /* bgerror.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = bgerror.test; sourceTree = "<group>"; };
- F966BC0A08F27A3C005CB29B /* bind.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = bind.test; sourceTree = "<group>"; };
- F966BC0B08F27A3C005CB29B /* bitmap.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = bitmap.test; sourceTree = "<group>"; };
- F966BC0C08F27A3C005CB29B /* border.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = border.test; sourceTree = "<group>"; };
- F966BC0D08F27A3C005CB29B /* bugs.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = bugs.tcl; sourceTree = "<group>"; };
- F966BC0E08F27A3C005CB29B /* butGeom.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = butGeom.tcl; sourceTree = "<group>"; };
- F966BC0F08F27A3C005CB29B /* butGeom2.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = butGeom2.tcl; sourceTree = "<group>"; };
- F966BC1008F27A3C005CB29B /* button.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = button.test; sourceTree = "<group>"; };
- F966BC1108F27A3C005CB29B /* canvas.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = canvas.test; sourceTree = "<group>"; };
- F966BC1208F27A3C005CB29B /* canvImg.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = canvImg.test; sourceTree = "<group>"; };
- F966BC1308F27A3C005CB29B /* canvPs.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = canvPs.test; sourceTree = "<group>"; };
- F966BC1408F27A3C005CB29B /* canvPsArc.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = canvPsArc.tcl; sourceTree = "<group>"; };
- F966BC1508F27A3C005CB29B /* canvPsBmap.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = canvPsBmap.tcl; sourceTree = "<group>"; };
- F966BC1608F27A3C005CB29B /* canvPsGrph.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = canvPsGrph.tcl; sourceTree = "<group>"; };
- F966BC1708F27A3C005CB29B /* canvPsImg.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = canvPsImg.tcl; sourceTree = "<group>"; };
- F966BC1808F27A3C005CB29B /* canvPsText.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = canvPsText.tcl; sourceTree = "<group>"; };
- F966BC1908F27A3C005CB29B /* canvRect.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = canvRect.test; sourceTree = "<group>"; };
- F966BC1A08F27A3C005CB29B /* canvText.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = canvText.test; sourceTree = "<group>"; };
- F966BC1B08F27A3C005CB29B /* canvWind.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = canvWind.test; sourceTree = "<group>"; };
- F966BC1C08F27A3C005CB29B /* choosedir.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = choosedir.test; sourceTree = "<group>"; };
- F966BC1D08F27A3C005CB29B /* clipboard.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = clipboard.test; sourceTree = "<group>"; };
- F966BC1E08F27A3C005CB29B /* clrpick.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = clrpick.test; sourceTree = "<group>"; };
- F966BC1F08F27A3C005CB29B /* cmap.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = cmap.tcl; sourceTree = "<group>"; };
- F966BC2008F27A3C005CB29B /* cmds.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = cmds.test; sourceTree = "<group>"; };
- F966BC2108F27A3C005CB29B /* color.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = color.test; sourceTree = "<group>"; };
- F966BC2208F27A3C005CB29B /* config.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = config.test; sourceTree = "<group>"; };
- F966BC2308F27A3C005CB29B /* constraints.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = constraints.tcl; sourceTree = "<group>"; };
- F966BC2408F27A3C005CB29B /* cursor.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = cursor.test; sourceTree = "<group>"; };
- F966BC2508F27A3C005CB29B /* dialog.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = dialog.test; sourceTree = "<group>"; };
- F966BC2608F27A3C005CB29B /* embed.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = embed.test; sourceTree = "<group>"; };
- F966BC2708F27A3C005CB29B /* entry.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = entry.test; sourceTree = "<group>"; };
- F966BC2808F27A3C005CB29B /* event.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = event.test; sourceTree = "<group>"; };
- F966BC2908F27A3C005CB29B /* filebox.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = filebox.test; sourceTree = "<group>"; };
- F966BC2A08F27A3C005CB29B /* focus.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = focus.test; sourceTree = "<group>"; };
- F966BC2B08F27A3C005CB29B /* focusTcl.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = focusTcl.test; sourceTree = "<group>"; };
- F966BC2C08F27A3C005CB29B /* font.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = font.test; sourceTree = "<group>"; };
- F966BC2D08F27A3C005CB29B /* frame.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = frame.test; sourceTree = "<group>"; };
- F966BC2E08F27A3C005CB29B /* geometry.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = geometry.test; sourceTree = "<group>"; };
- F966BC2F08F27A3C005CB29B /* get.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = get.test; sourceTree = "<group>"; };
- F966BC3008F27A3C005CB29B /* grab.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = grab.test; sourceTree = "<group>"; };
- F966BC3108F27A3C005CB29B /* grid.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = grid.test; sourceTree = "<group>"; };
- F966BC3308F27A3C005CB29B /* image.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = image.test; sourceTree = "<group>"; };
- F966BC3408F27A3C005CB29B /* imgBmap.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = imgBmap.test; sourceTree = "<group>"; };
- F966BC3508F27A3C005CB29B /* imgPhoto.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = imgPhoto.test; sourceTree = "<group>"; };
- F966BC3608F27A3C005CB29B /* imgPPM.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = imgPPM.test; sourceTree = "<group>"; };
- F966BC3708F27A3C005CB29B /* listbox.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = listbox.test; sourceTree = "<group>"; };
- F966BC3808F27A3C005CB29B /* main.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = main.test; sourceTree = "<group>"; };
- F966BC3908F27A3C005CB29B /* menu.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = menu.test; sourceTree = "<group>"; };
- F966BC3A08F27A3C005CB29B /* menubut.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = menubut.test; sourceTree = "<group>"; };
- F966BC3B08F27A3C005CB29B /* menuDraw.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = menuDraw.test; sourceTree = "<group>"; };
- F966BC3C08F27A3C005CB29B /* message.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = message.test; sourceTree = "<group>"; };
- F966BC3D08F27A3C005CB29B /* msgbox.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = msgbox.test; sourceTree = "<group>"; };
- F966BC3E08F27A3C005CB29B /* obj.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = obj.test; sourceTree = "<group>"; };
- F966BC3F08F27A3C005CB29B /* oldpack.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = oldpack.test; sourceTree = "<group>"; };
- F966BC4008F27A3C005CB29B /* option.file1 */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = option.file1; sourceTree = "<group>"; };
- F966BC4108F27A3C005CB29B /* option.file2 */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = option.file2; sourceTree = "<group>"; };
- F966BC4208F27A3C005CB29B /* option.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = option.test; sourceTree = "<group>"; };
- F966BC4308F27A3C005CB29B /* pack.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = pack.test; sourceTree = "<group>"; };
- F966BC4408F27A3C005CB29B /* panedwindow.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = panedwindow.test; sourceTree = "<group>"; };
- F966BC4508F27A3D005CB29B /* place.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = place.test; sourceTree = "<group>"; };
- F966BC4608F27A3D005CB29B /* raise.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = raise.test; sourceTree = "<group>"; };
- F966BC4708F27A3D005CB29B /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
- F966BC4808F27A3D005CB29B /* safe.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = safe.test; sourceTree = "<group>"; };
- F966BC4908F27A3D005CB29B /* scale.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = scale.test; sourceTree = "<group>"; };
- F966BC4A08F27A3D005CB29B /* scrollbar.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = scrollbar.test; sourceTree = "<group>"; };
- F966BC4B08F27A3D005CB29B /* select.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = select.test; sourceTree = "<group>"; };
- F966BC4C08F27A3D005CB29B /* send.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = send.test; sourceTree = "<group>"; };
- F966BC4D08F27A3D005CB29B /* spinbox.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = spinbox.test; sourceTree = "<group>"; };
- F966BC4E08F27A3D005CB29B /* text.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = text.test; sourceTree = "<group>"; };
- F966BC4F08F27A3D005CB29B /* textBTree.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = textBTree.test; sourceTree = "<group>"; };
- F966BC5008F27A3D005CB29B /* textDisp.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = textDisp.test; sourceTree = "<group>"; };
- F966BC5108F27A3D005CB29B /* textImage.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = textImage.test; sourceTree = "<group>"; };
- F966BC5208F27A3D005CB29B /* textIndex.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = textIndex.test; sourceTree = "<group>"; };
- F966BC5308F27A3D005CB29B /* textMark.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = textMark.test; sourceTree = "<group>"; };
- F966BC5408F27A3D005CB29B /* textTag.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = textTag.test; sourceTree = "<group>"; };
- F966BC5508F27A3D005CB29B /* textWind.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = textWind.test; sourceTree = "<group>"; };
- F966BC5608F27A3D005CB29B /* tk.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tk.test; sourceTree = "<group>"; };
- F966BC5708F27A3D005CB29B /* unixButton.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = unixButton.test; sourceTree = "<group>"; };
- F966BC5808F27A3D005CB29B /* unixEmbed.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = unixEmbed.test; sourceTree = "<group>"; };
- F966BC5908F27A3D005CB29B /* unixFont.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = unixFont.test; sourceTree = "<group>"; };
- F966BC5A08F27A3D005CB29B /* unixMenu.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = unixMenu.test; sourceTree = "<group>"; };
- F966BC5B08F27A3D005CB29B /* unixSelect.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = unixSelect.test; sourceTree = "<group>"; };
- F966BC5C08F27A3D005CB29B /* unixWm.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = unixWm.test; sourceTree = "<group>"; };
- F966BC5D08F27A3D005CB29B /* util.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = util.test; sourceTree = "<group>"; };
- F966BC5E08F27A3D005CB29B /* visual.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = visual.test; sourceTree = "<group>"; };
- F966BC5F08F27A3D005CB29B /* visual_bb.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = visual_bb.test; sourceTree = "<group>"; };
- F966BC6008F27A3D005CB29B /* winButton.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = winButton.test; sourceTree = "<group>"; };
- F966BC6108F27A3D005CB29B /* winClipboard.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = winClipboard.test; sourceTree = "<group>"; };
- F966BC6208F27A3D005CB29B /* winDialog.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = winDialog.test; sourceTree = "<group>"; };
- F966BC6308F27A3D005CB29B /* window.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = window.test; sourceTree = "<group>"; };
- F966BC6408F27A3D005CB29B /* winfo.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = winfo.test; sourceTree = "<group>"; };
- F966BC6508F27A3D005CB29B /* winFont.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = winFont.test; sourceTree = "<group>"; };
- F966BC6608F27A3D005CB29B /* winMenu.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = winMenu.test; sourceTree = "<group>"; };
- F966BC6708F27A3D005CB29B /* winSend.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = winSend.test; sourceTree = "<group>"; };
- F966BC6808F27A3D005CB29B /* winWm.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = winWm.test; sourceTree = "<group>"; };
- F966BC6908F27A3D005CB29B /* wm.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = wm.test; sourceTree = "<group>"; };
- F966BC6A08F27A3D005CB29B /* xmfbox.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = xmfbox.test; sourceTree = "<group>"; };
- F966BC6C08F27A3D005CB29B /* aclocal.m4 */ = {isa = PBXFileReference; explicitFileType = text.script.sh; fileEncoding = 4; path = aclocal.m4; sourceTree = "<group>"; };
- F966BC6D08F27A3D005CB29B /* configure */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = configure; sourceTree = "<group>"; };
- F966BC6E08F27A3D005CB29B /* configure.in */ = {isa = PBXFileReference; explicitFileType = text.script.sh; fileEncoding = 4; path = configure.in; sourceTree = "<group>"; };
- F966BC6F08F27A3D005CB29B /* install-sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = "install-sh"; sourceTree = "<group>"; };
- F966BC7008F27A3D005CB29B /* installManPage */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = installManPage; sourceTree = "<group>"; };
- F966BC7108F27A3D005CB29B /* Makefile.in */ = {isa = PBXFileReference; explicitFileType = sourcecode.make; fileEncoding = 4; path = Makefile.in; sourceTree = "<group>"; };
- F966BC7208F27A3D005CB29B /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
- F966BC7308F27A3D005CB29B /* tcl.m4 */ = {isa = PBXFileReference; explicitFileType = text.script.sh; fileEncoding = 4; path = tcl.m4; sourceTree = "<group>"; };
- F966BC7408F27A3D005CB29B /* tk.spec */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = tk.spec; sourceTree = "<group>"; };
- F966BC7508F27A3D005CB29B /* tkAppInit.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkAppInit.c; sourceTree = "<group>"; };
- F966BC7608F27A3D005CB29B /* tkConfig.h.in */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; path = tkConfig.h.in; sourceTree = "<group>"; };
- F966BC7708F27A3D005CB29B /* tkConfig.sh.in */ = {isa = PBXFileReference; explicitFileType = text.script.sh; fileEncoding = 4; path = tkConfig.sh.in; sourceTree = "<group>"; };
- F966BC7808F27A3D005CB29B /* tkUnix.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnix.c; sourceTree = "<group>"; };
- F966BC7908F27A3D005CB29B /* tkUnix3d.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnix3d.c; sourceTree = "<group>"; };
- F966BC7A08F27A3D005CB29B /* tkUnixButton.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixButton.c; sourceTree = "<group>"; };
- F966BC7B08F27A3D005CB29B /* tkUnixColor.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixColor.c; sourceTree = "<group>"; };
- F966BC7C08F27A3D005CB29B /* tkUnixConfig.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixConfig.c; sourceTree = "<group>"; };
- F966BC7D08F27A3D005CB29B /* tkUnixCursor.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixCursor.c; sourceTree = "<group>"; };
- F966BC7E08F27A3D005CB29B /* tkUnixDefault.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkUnixDefault.h; sourceTree = "<group>"; };
- F966BC7F08F27A3D005CB29B /* tkUnixDialog.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixDialog.c; sourceTree = "<group>"; };
- F966BC8008F27A3D005CB29B /* tkUnixDraw.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixDraw.c; sourceTree = "<group>"; };
- F966BC8108F27A3D005CB29B /* tkUnixEmbed.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixEmbed.c; sourceTree = "<group>"; };
- F966BC8208F27A3D005CB29B /* tkUnixEvent.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixEvent.c; sourceTree = "<group>"; };
- F966BC8308F27A3D005CB29B /* tkUnixFocus.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixFocus.c; sourceTree = "<group>"; };
- F966BC8408F27A3D005CB29B /* tkUnixFont.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixFont.c; sourceTree = "<group>"; };
- F966BC8508F27A3D005CB29B /* tkUnixInit.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixInit.c; sourceTree = "<group>"; };
- F966BC8608F27A3D005CB29B /* tkUnixInt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkUnixInt.h; sourceTree = "<group>"; };
- F966BC8708F27A3D005CB29B /* tkUnixKey.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixKey.c; sourceTree = "<group>"; };
- F966BC8808F27A3D005CB29B /* tkUnixMenu.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixMenu.c; sourceTree = "<group>"; };
- F966BC8908F27A3D005CB29B /* tkUnixMenubu.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixMenubu.c; sourceTree = "<group>"; };
- F966BC8A08F27A3D005CB29B /* tkUnixPort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkUnixPort.h; sourceTree = "<group>"; };
- F966BC8B08F27A3D005CB29B /* tkUnixRFont.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixRFont.c; sourceTree = "<group>"; };
- F966BC8C08F27A3D005CB29B /* tkUnixScale.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixScale.c; sourceTree = "<group>"; };
- F966BC8D08F27A3D005CB29B /* tkUnixScrlbr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixScrlbr.c; sourceTree = "<group>"; };
- F966BC8E08F27A3D005CB29B /* tkUnixSelect.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixSelect.c; sourceTree = "<group>"; };
- F966BC8F08F27A3D005CB29B /* tkUnixSend.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixSend.c; sourceTree = "<group>"; };
- F966BC9008F27A3D005CB29B /* tkUnixWm.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixWm.c; sourceTree = "<group>"; };
- F966BC9108F27A3D005CB29B /* tkUnixXId.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixXId.c; sourceTree = "<group>"; };
- F966BC9408F27A3D005CB29B /* aclocal.m4 */ = {isa = PBXFileReference; explicitFileType = text.script.sh; fileEncoding = 4; path = aclocal.m4; sourceTree = "<group>"; };
- F966BC9508F27A3D005CB29B /* buildall.vc.bat */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = buildall.vc.bat; sourceTree = "<group>"; };
- F966BC9608F27A3E005CB29B /* configure */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = configure; sourceTree = "<group>"; };
- F966BC9708F27A3E005CB29B /* configure.in */ = {isa = PBXFileReference; explicitFileType = text.script.sh; fileEncoding = 4; path = configure.in; sourceTree = "<group>"; };
- F966BC9908F27A3E005CB29B /* Makefile.in */ = {isa = PBXFileReference; explicitFileType = sourcecode.make; fileEncoding = 4; path = Makefile.in; sourceTree = "<group>"; };
- F966BC9A08F27A3E005CB29B /* makefile.vc */ = {isa = PBXFileReference; explicitFileType = sourcecode.make; fileEncoding = 4; path = makefile.vc; sourceTree = "<group>"; };
- F966BC9B08F27A3E005CB29B /* mkd.bat */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = mkd.bat; sourceTree = "<group>"; };
- F966BC9C08F27A3E005CB29B /* nmakehlp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = nmakehlp.c; sourceTree = "<group>"; };
- F966BCEE08F27A3E005CB29B /* tk.rc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = tk.rc; sourceTree = "<group>"; };
- F966BCEF08F27A3E005CB29B /* tk_base.rc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = tk_base.rc; sourceTree = "<group>"; };
- F966BCF208F27A3E005CB29B /* wish.rc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = wish.rc; sourceTree = "<group>"; };
- F966BCF308F27A3E005CB29B /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
- F966BCF408F27A3E005CB29B /* rmd.bat */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = rmd.bat; sourceTree = "<group>"; };
- F966BCF508F27A3F005CB29B /* rules.vc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = rules.vc; sourceTree = "<group>"; };
- F966BCF608F27A3F005CB29B /* stubs.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = stubs.c; sourceTree = "<group>"; };
- F966BCF708F27A3F005CB29B /* tcl.m4 */ = {isa = PBXFileReference; explicitFileType = text.script.sh; fileEncoding = 4; path = tcl.m4; sourceTree = "<group>"; };
- F966BCF808F27A3F005CB29B /* tkConfig.sh.in */ = {isa = PBXFileReference; explicitFileType = text.script.sh; fileEncoding = 4; path = tkConfig.sh.in; sourceTree = "<group>"; };
- F966BCF908F27A3F005CB29B /* tkWin.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkWin.h; sourceTree = "<group>"; };
- F966BCFA08F27A3F005CB29B /* tkWin32Dll.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWin32Dll.c; sourceTree = "<group>"; };
- F966BCFB08F27A3F005CB29B /* tkWin3d.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWin3d.c; sourceTree = "<group>"; };
- F966BCFC08F27A3F005CB29B /* tkWinButton.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinButton.c; sourceTree = "<group>"; };
- F966BCFD08F27A3F005CB29B /* tkWinClipboard.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinClipboard.c; sourceTree = "<group>"; };
- F966BCFE08F27A3F005CB29B /* tkWinColor.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinColor.c; sourceTree = "<group>"; };
- F966BCFF08F27A3F005CB29B /* tkWinConfig.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinConfig.c; sourceTree = "<group>"; };
- F966BD0008F27A3F005CB29B /* tkWinCursor.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinCursor.c; sourceTree = "<group>"; };
- F966BD0108F27A3F005CB29B /* tkWinDefault.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkWinDefault.h; sourceTree = "<group>"; };
- F966BD0208F27A3F005CB29B /* tkWinDialog.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinDialog.c; sourceTree = "<group>"; };
- F966BD0308F27A3F005CB29B /* tkWinDraw.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinDraw.c; sourceTree = "<group>"; };
- F966BD0408F27A3F005CB29B /* tkWinEmbed.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinEmbed.c; sourceTree = "<group>"; };
- F966BD0508F27A3F005CB29B /* tkWinFont.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinFont.c; sourceTree = "<group>"; };
- F966BD0708F27A3F005CB29B /* tkWinImage.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinImage.c; sourceTree = "<group>"; };
- F966BD0808F27A3F005CB29B /* tkWinInit.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinInit.c; sourceTree = "<group>"; };
- F966BD0908F27A3F005CB29B /* tkWinInt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkWinInt.h; sourceTree = "<group>"; };
- F966BD0A08F27A3F005CB29B /* tkWinKey.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinKey.c; sourceTree = "<group>"; };
- F966BD0B08F27A3F005CB29B /* tkWinMenu.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinMenu.c; sourceTree = "<group>"; };
- F966BD0C08F27A3F005CB29B /* tkWinPixmap.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinPixmap.c; sourceTree = "<group>"; };
- F966BD0D08F27A3F005CB29B /* tkWinPointer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinPointer.c; sourceTree = "<group>"; };
- F966BD0E08F27A3F005CB29B /* tkWinPort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkWinPort.h; sourceTree = "<group>"; };
- F966BD0F08F27A3F005CB29B /* tkWinRegion.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinRegion.c; sourceTree = "<group>"; };
- F966BD1008F27A3F005CB29B /* tkWinScrlbr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinScrlbr.c; sourceTree = "<group>"; };
- F966BD1108F27A3F005CB29B /* tkWinSend.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinSend.c; sourceTree = "<group>"; };
- F966BD1208F27A3F005CB29B /* tkWinSendCom.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinSendCom.c; sourceTree = "<group>"; };
- F966BD1308F27A3F005CB29B /* tkWinSendCom.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkWinSendCom.h; sourceTree = "<group>"; };
- F966BD1408F27A3F005CB29B /* tkWinTest.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinTest.c; sourceTree = "<group>"; };
- F966BD1508F27A3F005CB29B /* tkWinWindow.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinWindow.c; sourceTree = "<group>"; };
- F966BD1608F27A3F005CB29B /* tkWinWm.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinWm.c; sourceTree = "<group>"; };
- F966BD1708F27A3F005CB29B /* tkWinX.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinX.c; sourceTree = "<group>"; };
- F966BD1808F27A3F005CB29B /* winMain.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = winMain.c; sourceTree = "<group>"; };
- F966BD1B08F27A3F005CB29B /* cursorfont.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cursorfont.h; sourceTree = "<group>"; };
- F966BD1C08F27A3F005CB29B /* keysym.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = keysym.h; sourceTree = "<group>"; };
- F966BD1D08F27A3F005CB29B /* keysymdef.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = keysymdef.h; sourceTree = "<group>"; };
- F966BD1E08F27A3F005CB29B /* X.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = X.h; sourceTree = "<group>"; };
- F966BD1F08F27A3F005CB29B /* Xatom.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Xatom.h; sourceTree = "<group>"; };
- F966BD2008F27A3F005CB29B /* Xfuncproto.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Xfuncproto.h; sourceTree = "<group>"; };
- F966BD2108F27A3F005CB29B /* Xlib.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Xlib.h; sourceTree = "<group>"; };
- F966BD2208F27A3F005CB29B /* Xutil.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Xutil.h; sourceTree = "<group>"; };
- F966BD2308F27A3F005CB29B /* xbytes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = xbytes.h; sourceTree = "<group>"; };
- F966BD2408F27A3F005CB29B /* xcolors.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = xcolors.c; sourceTree = "<group>"; };
- F966BD2508F27A3F005CB29B /* xdraw.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = xdraw.c; sourceTree = "<group>"; };
- F966BD2608F27A3F005CB29B /* xgc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = xgc.c; sourceTree = "<group>"; };
- F966BD2708F27A3F005CB29B /* ximage.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ximage.c; sourceTree = "<group>"; };
- F966BD2808F27A3F005CB29B /* xutil.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = xutil.c; sourceTree = "<group>"; };
- F966C07408F2820D005CB29B /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = /System/Library/Frameworks/CoreFoundation.framework; sourceTree = "<absolute>"; };
- F966C07608F2821B005CB29B /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = /System/Library/Frameworks/Carbon.framework; sourceTree = "<absolute>"; };
- F966C07808F28233005CB29B /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = /System/Library/Frameworks/IOKit.framework; sourceTree = "<absolute>"; };
- F96887E00AF786D5000797B5 /* ttk.decls */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = ttk.decls; sourceTree = "<group>"; };
- F96887E10AF786D5000797B5 /* ttkBlink.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkBlink.c; sourceTree = "<group>"; };
- F96887E20AF786D5000797B5 /* ttkButton.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkButton.c; sourceTree = "<group>"; };
- F96887E30AF786D5000797B5 /* ttkCache.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkCache.c; sourceTree = "<group>"; };
- F96887E40AF786D5000797B5 /* ttkClamTheme.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkClamTheme.c; sourceTree = "<group>"; };
- F96887E50AF786D5000797B5 /* ttkClassicTheme.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkClassicTheme.c; sourceTree = "<group>"; };
- F96887E60AF786D5000797B5 /* ttkDecls.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ttkDecls.h; sourceTree = "<group>"; };
- F96887E70AF786D5000797B5 /* ttkDefaultTheme.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkDefaultTheme.c; sourceTree = "<group>"; };
- F96887E80AF786D5000797B5 /* ttkElements.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkElements.c; sourceTree = "<group>"; };
- F96887E90AF786D5000797B5 /* ttkEntry.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkEntry.c; sourceTree = "<group>"; };
- F96887EA0AF786D5000797B5 /* ttkFrame.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkFrame.c; sourceTree = "<group>"; };
- F96887EB0AF786D5000797B5 /* ttkImage.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkImage.c; sourceTree = "<group>"; };
- F96887EC0AF786D5000797B5 /* ttkInit.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkInit.c; sourceTree = "<group>"; };
- F96887ED0AF786D5000797B5 /* ttkLabel.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkLabel.c; sourceTree = "<group>"; };
- F96887EE0AF786D5000797B5 /* ttkLayout.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkLayout.c; sourceTree = "<group>"; };
- F96887EF0AF786D5000797B5 /* ttkManager.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkManager.c; sourceTree = "<group>"; };
- F96887F00AF786D5000797B5 /* ttkManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ttkManager.h; sourceTree = "<group>"; };
- F96887F10AF786D5000797B5 /* ttkNotebook.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkNotebook.c; sourceTree = "<group>"; };
- F96887F20AF786D5000797B5 /* ttkPanedwindow.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkPanedwindow.c; sourceTree = "<group>"; };
- F96887F30AF786D5000797B5 /* ttkProgress.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkProgress.c; sourceTree = "<group>"; };
- F96887F40AF786D5000797B5 /* ttkScale.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkScale.c; sourceTree = "<group>"; };
- F96887F50AF786D5000797B5 /* ttkScroll.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkScroll.c; sourceTree = "<group>"; };
- F96887F60AF786D5000797B5 /* ttkScrollbar.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkScrollbar.c; sourceTree = "<group>"; };
- F96887F70AF786D5000797B5 /* ttkSeparator.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkSeparator.c; sourceTree = "<group>"; };
- F96887F80AF786D5000797B5 /* ttkSquare.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkSquare.c; sourceTree = "<group>"; };
- F96887F90AF786D5000797B5 /* ttkState.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkState.c; sourceTree = "<group>"; };
- F96887FA0AF786D5000797B5 /* ttkStubInit.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkStubInit.c; sourceTree = "<group>"; };
- F96887FB0AF786D5000797B5 /* ttkStubLib.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkStubLib.c; sourceTree = "<group>"; };
- F96887FC0AF786D5000797B5 /* ttkTagSet.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkTagSet.c; sourceTree = "<group>"; };
- F96887FD0AF786D5000797B5 /* ttkTheme.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkTheme.c; sourceTree = "<group>"; };
- F96887FE0AF786D5000797B5 /* ttkTheme.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ttkTheme.h; sourceTree = "<group>"; };
- F96887FF0AF786D5000797B5 /* ttkThemeInt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ttkThemeInt.h; sourceTree = "<group>"; };
- F96888000AF786D5000797B5 /* ttkTrace.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkTrace.c; sourceTree = "<group>"; };
- F96888010AF786D5000797B5 /* ttkTrack.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkTrack.c; sourceTree = "<group>"; };
- F96888020AF786D5000797B5 /* ttkTreeview.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkTreeview.c; sourceTree = "<group>"; };
- F96888030AF786D5000797B5 /* ttkWidget.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkWidget.c; sourceTree = "<group>"; };
- F96888040AF786D5000797B5 /* ttkWidget.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ttkWidget.h; sourceTree = "<group>"; };
- F96888370AF787B3000797B5 /* altTheme.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = altTheme.tcl; sourceTree = "<group>"; };
- F96888380AF787B3000797B5 /* aquaTheme.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = aquaTheme.tcl; sourceTree = "<group>"; };
- F96888390AF787B3000797B5 /* button.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = button.tcl; sourceTree = "<group>"; };
- F968883A0AF787B3000797B5 /* clamTheme.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = clamTheme.tcl; sourceTree = "<group>"; };
- F968883B0AF787B3000797B5 /* classicTheme.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = classicTheme.tcl; sourceTree = "<group>"; };
- F968883C0AF787B3000797B5 /* combobox.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = combobox.tcl; sourceTree = "<group>"; };
- F968883D0AF787B3000797B5 /* cursors.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = cursors.tcl; sourceTree = "<group>"; };
- F968883E0AF787B3000797B5 /* defaults.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = defaults.tcl; sourceTree = "<group>"; };
- F96888400AF787B3000797B5 /* entry.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = entry.tcl; sourceTree = "<group>"; };
- F96888410AF787B3000797B5 /* fonts.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = fonts.tcl; sourceTree = "<group>"; };
- F96888440AF787B3000797B5 /* menubutton.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = menubutton.tcl; sourceTree = "<group>"; };
- F96888450AF787B3000797B5 /* notebook.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = notebook.tcl; sourceTree = "<group>"; };
- F96888460AF787B3000797B5 /* panedwindow.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = panedwindow.tcl; sourceTree = "<group>"; };
- F96888470AF787B3000797B5 /* progress.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = progress.tcl; sourceTree = "<group>"; };
- F96888480AF787B3000797B5 /* scale.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = scale.tcl; sourceTree = "<group>"; };
- F96888490AF787B3000797B5 /* scrollbar.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = scrollbar.tcl; sourceTree = "<group>"; };
- F968884A0AF787B3000797B5 /* sizegrip.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = sizegrip.tcl; sourceTree = "<group>"; };
- F968884B0AF787B3000797B5 /* treeview.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = treeview.tcl; sourceTree = "<group>"; };
- F968884C0AF787B3000797B5 /* ttk.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = ttk.tcl; sourceTree = "<group>"; };
- F968884D0AF787B3000797B5 /* utils.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = utils.tcl; sourceTree = "<group>"; };
- F968884E0AF787B3000797B5 /* winTheme.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = winTheme.tcl; sourceTree = "<group>"; };
- F968884F0AF787B3000797B5 /* xpTheme.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = xpTheme.tcl; sourceTree = "<group>"; };
- F96888540AF7880C000797B5 /* all.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = all.tcl; sourceTree = "<group>"; };
- F96888560AF7880C000797B5 /* combobox.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = combobox.test; sourceTree = "<group>"; };
- F96888570AF7880C000797B5 /* entry.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = entry.test; sourceTree = "<group>"; };
- F96888580AF7880C000797B5 /* image.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = image.test; sourceTree = "<group>"; };
- F96888590AF7880C000797B5 /* labelframe.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = labelframe.test; sourceTree = "<group>"; };
- F968885A0AF7880C000797B5 /* layout.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = layout.test; sourceTree = "<group>"; };
- F968885C0AF7880C000797B5 /* notebook.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = notebook.test; sourceTree = "<group>"; };
- F968885D0AF7880C000797B5 /* panedwindow.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = panedwindow.test; sourceTree = "<group>"; };
- F968885E0AF7880C000797B5 /* progressbar.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = progressbar.test; sourceTree = "<group>"; };
- F968885F0AF7880C000797B5 /* scrollbar.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = scrollbar.test; sourceTree = "<group>"; };
- F96888600AF7880C000797B5 /* treetags.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = treetags.test; sourceTree = "<group>"; };
- F96888610AF7880C000797B5 /* treeview.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = treeview.test; sourceTree = "<group>"; };
- F96888620AF7880C000797B5 /* ttk.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = ttk.test; sourceTree = "<group>"; };
- F96888630AF7880C000797B5 /* validate.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = validate.test; sourceTree = "<group>"; };
- F968886B0AF788F6000797B5 /* ttk_button.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_button.n; sourceTree = "<group>"; };
- F968886C0AF788F6000797B5 /* ttk_checkbutton.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_checkbutton.n; sourceTree = "<group>"; };
- F968886D0AF788F6000797B5 /* ttk_combobox.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_combobox.n; sourceTree = "<group>"; };
- F968886F0AF788F6000797B5 /* ttk_entry.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_entry.n; sourceTree = "<group>"; };
- F96888700AF788F6000797B5 /* ttk_frame.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_frame.n; sourceTree = "<group>"; };
- F96888710AF788F6000797B5 /* ttk_Geometry.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_Geometry.3; sourceTree = "<group>"; };
- F96888720AF788F6000797B5 /* ttk_image.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_image.n; sourceTree = "<group>"; };
- F96888730AF788F6000797B5 /* ttk_intro.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_intro.n; sourceTree = "<group>"; };
- F96888740AF788F6000797B5 /* ttk_label.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_label.n; sourceTree = "<group>"; };
- F96888750AF788F6000797B5 /* ttk_labelframe.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_labelframe.n; sourceTree = "<group>"; };
- F96888760AF788F6000797B5 /* ttk_menubutton.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_menubutton.n; sourceTree = "<group>"; };
- F96888770AF788F6000797B5 /* ttk_notebook.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_notebook.n; sourceTree = "<group>"; };
- F96888780AF788F6000797B5 /* ttk_panedwindow.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_panedwindow.n; sourceTree = "<group>"; };
- F96888790AF788F6000797B5 /* ttk_progressbar.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_progressbar.n; sourceTree = "<group>"; };
- F968887A0AF788F6000797B5 /* ttk_radiobutton.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_radiobutton.n; sourceTree = "<group>"; };
- F968887B0AF788F6000797B5 /* ttk_scrollbar.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_scrollbar.n; sourceTree = "<group>"; };
- F968887C0AF788F6000797B5 /* ttk_separator.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_separator.n; sourceTree = "<group>"; };
- F968887D0AF788F6000797B5 /* ttk_sizegrip.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_sizegrip.n; sourceTree = "<group>"; };
- F968887E0AF788F6000797B5 /* ttk_style.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_style.n; sourceTree = "<group>"; };
- F968887F0AF788F6000797B5 /* ttk_Theme.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_Theme.3; sourceTree = "<group>"; };
- F96888800AF788F6000797B5 /* ttk_treeview.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_treeview.n; sourceTree = "<group>"; };
- F96888810AF788F6000797B5 /* ttk_widget.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_widget.n; sourceTree = "<group>"; };
- F96888840AF78938000797B5 /* ttkMacOSXTheme.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; path = ttkMacOSXTheme.c; sourceTree = "<group>"; };
- F96888860AF78953000797B5 /* ttkWinMonitor.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkWinMonitor.c; sourceTree = "<group>"; };
- F96888870AF78953000797B5 /* ttkWinTheme.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkWinTheme.c; sourceTree = "<group>"; };
- F96888880AF78953000797B5 /* ttkWinXPTheme.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkWinXPTheme.c; sourceTree = "<group>"; };
- F96D3DFA08F272A4004A47F5 /* ChangeLog */ = {isa = PBXFileReference; explicitFileType = text; fileEncoding = 4; path = ChangeLog; sourceTree = "<group>"; };
- F96D3DFB08F272A4004A47F5 /* changes */ = {isa = PBXFileReference; explicitFileType = text; fileEncoding = 4; path = changes; sourceTree = "<group>"; };
- F96D3DFD08F272A4004A47F5 /* Access.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Access.3; sourceTree = "<group>"; };
- F96D3DFE08F272A4004A47F5 /* AddErrInfo.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = AddErrInfo.3; sourceTree = "<group>"; };
- F96D3DFF08F272A4004A47F5 /* after.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = after.n; sourceTree = "<group>"; };
- F96D3E0008F272A4004A47F5 /* Alloc.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Alloc.3; sourceTree = "<group>"; };
- F96D3E0108F272A4004A47F5 /* AllowExc.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = AllowExc.3; sourceTree = "<group>"; };
- F96D3E0208F272A4004A47F5 /* append.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = append.n; sourceTree = "<group>"; };
- F96D3E0308F272A4004A47F5 /* AppInit.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = AppInit.3; sourceTree = "<group>"; };
- F96D3E0408F272A5004A47F5 /* array.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = array.n; sourceTree = "<group>"; };
- F96D3E0508F272A5004A47F5 /* AssocData.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = AssocData.3; sourceTree = "<group>"; };
- F96D3E0608F272A5004A47F5 /* Async.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Async.3; sourceTree = "<group>"; };
- F96D3E0708F272A5004A47F5 /* BackgdErr.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = BackgdErr.3; sourceTree = "<group>"; };
- F96D3E0808F272A5004A47F5 /* Backslash.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Backslash.3; sourceTree = "<group>"; };
- F96D3E0908F272A5004A47F5 /* bgerror.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = bgerror.n; sourceTree = "<group>"; };
- F96D3E0A08F272A5004A47F5 /* binary.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = binary.n; sourceTree = "<group>"; };
- F96D3E0B08F272A5004A47F5 /* BoolObj.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = BoolObj.3; sourceTree = "<group>"; };
- F96D3E0C08F272A5004A47F5 /* break.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = break.n; sourceTree = "<group>"; };
- F96D3E0D08F272A5004A47F5 /* ByteArrObj.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ByteArrObj.3; sourceTree = "<group>"; };
- F96D3E0E08F272A5004A47F5 /* CallDel.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CallDel.3; sourceTree = "<group>"; };
- F96D3E0F08F272A5004A47F5 /* case.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = case.n; sourceTree = "<group>"; };
- F96D3E1008F272A5004A47F5 /* catch.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = catch.n; sourceTree = "<group>"; };
- F96D3E1108F272A5004A47F5 /* cd.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = cd.n; sourceTree = "<group>"; };
- F96D3E1208F272A5004A47F5 /* chan.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = chan.n; sourceTree = "<group>"; };
- F96D3E1308F272A5004A47F5 /* ChnlStack.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ChnlStack.3; sourceTree = "<group>"; };
- F96D3E1408F272A5004A47F5 /* clock.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = clock.n; sourceTree = "<group>"; };
- F96D3E1508F272A5004A47F5 /* close.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = close.n; sourceTree = "<group>"; };
- F96D3E1608F272A5004A47F5 /* CmdCmplt.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CmdCmplt.3; sourceTree = "<group>"; };
- F96D3E1708F272A5004A47F5 /* Concat.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Concat.3; sourceTree = "<group>"; };
- F96D3E1808F272A5004A47F5 /* concat.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = concat.n; sourceTree = "<group>"; };
- F96D3E1908F272A5004A47F5 /* continue.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = continue.n; sourceTree = "<group>"; };
- F96D3E1A08F272A5004A47F5 /* CrtChannel.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtChannel.3; sourceTree = "<group>"; };
- F96D3E1B08F272A5004A47F5 /* CrtChnlHdlr.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtChnlHdlr.3; sourceTree = "<group>"; };
- F96D3E1C08F272A5004A47F5 /* CrtCloseHdlr.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtCloseHdlr.3; sourceTree = "<group>"; };
- F96D3E1D08F272A5004A47F5 /* CrtCommand.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtCommand.3; sourceTree = "<group>"; };
- F96D3E1E08F272A5004A47F5 /* CrtFileHdlr.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtFileHdlr.3; sourceTree = "<group>"; };
- F96D3E1F08F272A5004A47F5 /* CrtInterp.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtInterp.3; sourceTree = "<group>"; };
- F96D3E2008F272A5004A47F5 /* CrtMathFnc.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtMathFnc.3; sourceTree = "<group>"; };
- F96D3E2108F272A5004A47F5 /* CrtObjCmd.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtObjCmd.3; sourceTree = "<group>"; };
- F96D3E2208F272A5004A47F5 /* CrtSlave.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtSlave.3; sourceTree = "<group>"; };
- F96D3E2308F272A5004A47F5 /* CrtTimerHdlr.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtTimerHdlr.3; sourceTree = "<group>"; };
- F96D3E2408F272A5004A47F5 /* CrtTrace.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtTrace.3; sourceTree = "<group>"; };
- F96D3E2508F272A5004A47F5 /* dde.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = dde.n; sourceTree = "<group>"; };
- F96D3E2608F272A5004A47F5 /* DetachPids.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = DetachPids.3; sourceTree = "<group>"; };
- F96D3E2708F272A5004A47F5 /* dict.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = dict.n; sourceTree = "<group>"; };
- F96D3E2808F272A5004A47F5 /* DictObj.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = DictObj.3; sourceTree = "<group>"; };
- F96D3E2908F272A5004A47F5 /* DoOneEvent.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = DoOneEvent.3; sourceTree = "<group>"; };
- F96D3E2A08F272A5004A47F5 /* DoubleObj.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = DoubleObj.3; sourceTree = "<group>"; };
- F96D3E2B08F272A5004A47F5 /* DoWhenIdle.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = DoWhenIdle.3; sourceTree = "<group>"; };
- F96D3E2C08F272A5004A47F5 /* DString.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = DString.3; sourceTree = "<group>"; };
- F96D3E2D08F272A5004A47F5 /* DumpActiveMemory.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = DumpActiveMemory.3; sourceTree = "<group>"; };
- F96D3E2E08F272A5004A47F5 /* Encoding.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Encoding.3; sourceTree = "<group>"; };
- F96D3E2F08F272A5004A47F5 /* encoding.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = encoding.n; sourceTree = "<group>"; };
- F96D3E3008F272A5004A47F5 /* Ensemble.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Ensemble.3; sourceTree = "<group>"; };
- F96D3E3108F272A5004A47F5 /* Environment.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Environment.3; sourceTree = "<group>"; };
- F96D3E3208F272A5004A47F5 /* eof.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = eof.n; sourceTree = "<group>"; };
- F96D3E3308F272A5004A47F5 /* error.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = error.n; sourceTree = "<group>"; };
- F96D3E3408F272A5004A47F5 /* Eval.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Eval.3; sourceTree = "<group>"; };
- F96D3E3508F272A5004A47F5 /* eval.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = eval.n; sourceTree = "<group>"; };
- F96D3E3608F272A5004A47F5 /* exec.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = exec.n; sourceTree = "<group>"; };
- F96D3E3708F272A5004A47F5 /* Exit.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Exit.3; sourceTree = "<group>"; };
- F96D3E3808F272A5004A47F5 /* exit.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = exit.n; sourceTree = "<group>"; };
- F96D3E3908F272A5004A47F5 /* expr.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = expr.n; sourceTree = "<group>"; };
- F96D3E3A08F272A5004A47F5 /* ExprLong.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ExprLong.3; sourceTree = "<group>"; };
- F96D3E3B08F272A5004A47F5 /* ExprLongObj.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ExprLongObj.3; sourceTree = "<group>"; };
- F96D3E3C08F272A5004A47F5 /* fblocked.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = fblocked.n; sourceTree = "<group>"; };
- F96D3E3D08F272A5004A47F5 /* fconfigure.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = fconfigure.n; sourceTree = "<group>"; };
- F96D3E3E08F272A5004A47F5 /* fcopy.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = fcopy.n; sourceTree = "<group>"; };
- F96D3E3F08F272A5004A47F5 /* file.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = file.n; sourceTree = "<group>"; };
- F96D3E4008F272A5004A47F5 /* fileevent.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = fileevent.n; sourceTree = "<group>"; };
- F96D3E4108F272A5004A47F5 /* filename.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = filename.n; sourceTree = "<group>"; };
- F96D3E4208F272A5004A47F5 /* FileSystem.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = FileSystem.3; sourceTree = "<group>"; };
- F96D3E4308F272A5004A47F5 /* FindExec.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = FindExec.3; sourceTree = "<group>"; };
- F96D3E4408F272A5004A47F5 /* flush.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = flush.n; sourceTree = "<group>"; };
- F96D3E4508F272A5004A47F5 /* for.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = for.n; sourceTree = "<group>"; };
- F96D3E4608F272A5004A47F5 /* foreach.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = foreach.n; sourceTree = "<group>"; };
- F96D3E4708F272A5004A47F5 /* format.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = format.n; sourceTree = "<group>"; };
- F96D3E4808F272A5004A47F5 /* GetCwd.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetCwd.3; sourceTree = "<group>"; };
- F96D3E4908F272A5004A47F5 /* GetHostName.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetHostName.3; sourceTree = "<group>"; };
- F96D3E4A08F272A5004A47F5 /* GetIndex.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetIndex.3; sourceTree = "<group>"; };
- F96D3E4B08F272A5004A47F5 /* GetInt.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetInt.3; sourceTree = "<group>"; };
- F96D3E4C08F272A5004A47F5 /* GetOpnFl.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetOpnFl.3; sourceTree = "<group>"; };
- F96D3E4D08F272A5004A47F5 /* gets.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = gets.n; sourceTree = "<group>"; };
- F96D3E4E08F272A5004A47F5 /* GetStdChan.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetStdChan.3; sourceTree = "<group>"; };
- F96D3E4F08F272A5004A47F5 /* GetTime.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetTime.3; sourceTree = "<group>"; };
- F96D3E5008F272A5004A47F5 /* GetVersion.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetVersion.3; sourceTree = "<group>"; };
- F96D3E5108F272A5004A47F5 /* glob.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = glob.n; sourceTree = "<group>"; };
- F96D3E5208F272A6004A47F5 /* global.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = global.n; sourceTree = "<group>"; };
- F96D3E5308F272A6004A47F5 /* Hash.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Hash.3; sourceTree = "<group>"; };
- F96D3E5408F272A6004A47F5 /* history.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = history.n; sourceTree = "<group>"; };
- F96D3E5508F272A6004A47F5 /* http.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = http.n; sourceTree = "<group>"; };
- F96D3E5608F272A6004A47F5 /* if.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = if.n; sourceTree = "<group>"; };
- F96D3E5708F272A6004A47F5 /* incr.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = incr.n; sourceTree = "<group>"; };
- F96D3E5808F272A6004A47F5 /* info.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = info.n; sourceTree = "<group>"; };
- F96D3E5908F272A6004A47F5 /* Init.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Init.3; sourceTree = "<group>"; };
- F96D3E5A08F272A6004A47F5 /* InitStubs.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = InitStubs.3; sourceTree = "<group>"; };
- F96D3E5B08F272A6004A47F5 /* Interp.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Interp.3; sourceTree = "<group>"; };
- F96D3E5C08F272A6004A47F5 /* interp.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = interp.n; sourceTree = "<group>"; };
- F96D3E5D08F272A6004A47F5 /* IntObj.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = IntObj.3; sourceTree = "<group>"; };
- F96D3E5E08F272A6004A47F5 /* join.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = join.n; sourceTree = "<group>"; };
- F96D3E5F08F272A6004A47F5 /* lappend.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = lappend.n; sourceTree = "<group>"; };
- F96D3E6008F272A6004A47F5 /* lassign.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = lassign.n; sourceTree = "<group>"; };
- F96D3E6108F272A6004A47F5 /* library.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = library.n; sourceTree = "<group>"; };
- F96D3E6208F272A6004A47F5 /* Limit.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Limit.3; sourceTree = "<group>"; };
- F96D3E6308F272A6004A47F5 /* lindex.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = lindex.n; sourceTree = "<group>"; };
- F96D3E6408F272A6004A47F5 /* LinkVar.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = LinkVar.3; sourceTree = "<group>"; };
- F96D3E6508F272A6004A47F5 /* linsert.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = linsert.n; sourceTree = "<group>"; };
- F96D3E6608F272A6004A47F5 /* list.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = list.n; sourceTree = "<group>"; };
- F96D3E6708F272A6004A47F5 /* ListObj.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ListObj.3; sourceTree = "<group>"; };
- F96D3E6808F272A6004A47F5 /* llength.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = llength.n; sourceTree = "<group>"; };
- F96D3E6908F272A6004A47F5 /* load.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = load.n; sourceTree = "<group>"; };
- F96D3E6A08F272A6004A47F5 /* lrange.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = lrange.n; sourceTree = "<group>"; };
- F96D3E6B08F272A6004A47F5 /* lrepeat.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = lrepeat.n; sourceTree = "<group>"; };
- F96D3E6C08F272A6004A47F5 /* lreplace.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = lreplace.n; sourceTree = "<group>"; };
- F96D3E6D08F272A6004A47F5 /* lsearch.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = lsearch.n; sourceTree = "<group>"; };
- F96D3E6E08F272A6004A47F5 /* lset.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = lset.n; sourceTree = "<group>"; };
- F96D3E6F08F272A6004A47F5 /* lsort.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = lsort.n; sourceTree = "<group>"; };
- F96D3E7008F272A6004A47F5 /* man.macros */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = man.macros; sourceTree = "<group>"; };
- F96D3E7108F272A6004A47F5 /* mathfunc.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = mathfunc.n; sourceTree = "<group>"; };
- F96D3E7208F272A6004A47F5 /* memory.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = memory.n; sourceTree = "<group>"; };
- F96D3E7308F272A6004A47F5 /* msgcat.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = msgcat.n; sourceTree = "<group>"; };
- F96D3E7408F272A6004A47F5 /* Namespace.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Namespace.3; sourceTree = "<group>"; };
- F96D3E7508F272A6004A47F5 /* namespace.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = namespace.n; sourceTree = "<group>"; };
- F96D3E7608F272A6004A47F5 /* Notifier.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Notifier.3; sourceTree = "<group>"; };
- F96D3E7708F272A6004A47F5 /* Object.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Object.3; sourceTree = "<group>"; };
- F96D3E7808F272A6004A47F5 /* ObjectType.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ObjectType.3; sourceTree = "<group>"; };
- F96D3E7908F272A6004A47F5 /* open.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = open.n; sourceTree = "<group>"; };
- F96D3E7A08F272A6004A47F5 /* OpenFileChnl.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = OpenFileChnl.3; sourceTree = "<group>"; };
- F96D3E7B08F272A6004A47F5 /* OpenTcp.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = OpenTcp.3; sourceTree = "<group>"; };
- F96D3E7C08F272A6004A47F5 /* package.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = package.n; sourceTree = "<group>"; };
- F96D3E7D08F272A6004A47F5 /* packagens.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = packagens.n; sourceTree = "<group>"; };
- F96D3E7E08F272A6004A47F5 /* Panic.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Panic.3; sourceTree = "<group>"; };
- F96D3E7F08F272A6004A47F5 /* ParseCmd.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ParseCmd.3; sourceTree = "<group>"; };
- F96D3E8008F272A6004A47F5 /* pid.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = pid.n; sourceTree = "<group>"; };
- F96D3E8108F272A6004A47F5 /* pkgMkIndex.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = pkgMkIndex.n; sourceTree = "<group>"; };
- F96D3E8208F272A6004A47F5 /* PkgRequire.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = PkgRequire.3; sourceTree = "<group>"; };
- F96D3E8308F272A6004A47F5 /* Preserve.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Preserve.3; sourceTree = "<group>"; };
- F96D3E8408F272A6004A47F5 /* PrintDbl.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = PrintDbl.3; sourceTree = "<group>"; };
- F96D3E8508F272A6004A47F5 /* proc.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = proc.n; sourceTree = "<group>"; };
- F96D3E8608F272A6004A47F5 /* puts.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = puts.n; sourceTree = "<group>"; };
- F96D3E8708F272A6004A47F5 /* pwd.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = pwd.n; sourceTree = "<group>"; };
- F96D3E8808F272A6004A47F5 /* re_syntax.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = re_syntax.n; sourceTree = "<group>"; };
- F96D3E8908F272A6004A47F5 /* read.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = read.n; sourceTree = "<group>"; };
- F96D3E8A08F272A6004A47F5 /* RecEvalObj.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = RecEvalObj.3; sourceTree = "<group>"; };
- F96D3E8B08F272A6004A47F5 /* RecordEval.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = RecordEval.3; sourceTree = "<group>"; };
- F96D3E8C08F272A6004A47F5 /* RegConfig.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = RegConfig.3; sourceTree = "<group>"; };
- F96D3E8D08F272A6004A47F5 /* RegExp.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = RegExp.3; sourceTree = "<group>"; };
- F96D3E8E08F272A6004A47F5 /* regexp.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = regexp.n; sourceTree = "<group>"; };
- F96D3E8F08F272A6004A47F5 /* registry.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = registry.n; sourceTree = "<group>"; };
- F96D3E9008F272A6004A47F5 /* regsub.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = regsub.n; sourceTree = "<group>"; };
- F96D3E9108F272A6004A47F5 /* rename.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = rename.n; sourceTree = "<group>"; };
- F96D3E9208F272A6004A47F5 /* return.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = return.n; sourceTree = "<group>"; };
- F96D3E9308F272A6004A47F5 /* safe.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = safe.n; sourceTree = "<group>"; };
- F96D3E9408F272A6004A47F5 /* SaveResult.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = SaveResult.3; sourceTree = "<group>"; };
- F96D3E9508F272A6004A47F5 /* scan.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = scan.n; sourceTree = "<group>"; };
- F96D3E9608F272A6004A47F5 /* seek.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = seek.n; sourceTree = "<group>"; };
- F96D3E9708F272A6004A47F5 /* set.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = set.n; sourceTree = "<group>"; };
- F96D3E9808F272A6004A47F5 /* SetChanErr.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = SetChanErr.3; sourceTree = "<group>"; };
- F96D3E9908F272A6004A47F5 /* SetErrno.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = SetErrno.3; sourceTree = "<group>"; };
- F96D3E9A08F272A6004A47F5 /* SetRecLmt.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = SetRecLmt.3; sourceTree = "<group>"; };
- F96D3E9B08F272A7004A47F5 /* SetResult.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = SetResult.3; sourceTree = "<group>"; };
- F96D3E9C08F272A7004A47F5 /* SetVar.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = SetVar.3; sourceTree = "<group>"; };
- F96D3E9D08F272A7004A47F5 /* Signal.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Signal.3; sourceTree = "<group>"; };
- F96D3E9E08F272A7004A47F5 /* Sleep.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Sleep.3; sourceTree = "<group>"; };
- F96D3E9F08F272A7004A47F5 /* socket.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = socket.n; sourceTree = "<group>"; };
- F96D3EA008F272A7004A47F5 /* source.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = source.n; sourceTree = "<group>"; };
- F96D3EA108F272A7004A47F5 /* SourceRCFile.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = SourceRCFile.3; sourceTree = "<group>"; };
- F96D3EA208F272A7004A47F5 /* split.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = split.n; sourceTree = "<group>"; };
- F96D3EA308F272A7004A47F5 /* SplitList.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = SplitList.3; sourceTree = "<group>"; };
- F96D3EA408F272A7004A47F5 /* SplitPath.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = SplitPath.3; sourceTree = "<group>"; };
- F96D3EA508F272A7004A47F5 /* StaticPkg.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = StaticPkg.3; sourceTree = "<group>"; };
- F96D3EA608F272A7004A47F5 /* StdChannels.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = StdChannels.3; sourceTree = "<group>"; };
- F96D3EA708F272A7004A47F5 /* string.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = string.n; sourceTree = "<group>"; };
- F96D3EA808F272A7004A47F5 /* StringObj.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = StringObj.3; sourceTree = "<group>"; };
- F96D3EA908F272A7004A47F5 /* StrMatch.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = StrMatch.3; sourceTree = "<group>"; };
- F96D3EAA08F272A7004A47F5 /* subst.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = subst.n; sourceTree = "<group>"; };
- F96D3EAB08F272A7004A47F5 /* SubstObj.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = SubstObj.3; sourceTree = "<group>"; };
- F96D3EAC08F272A7004A47F5 /* switch.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = switch.n; sourceTree = "<group>"; };
- F96D3EAD08F272A7004A47F5 /* Tcl.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Tcl.n; sourceTree = "<group>"; };
- F96D3EAE08F272A7004A47F5 /* Tcl_Main.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Tcl_Main.3; sourceTree = "<group>"; };
- F96D3EAF08F272A7004A47F5 /* TCL_MEM_DEBUG.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = TCL_MEM_DEBUG.3; sourceTree = "<group>"; };
- F96D3EB008F272A7004A47F5 /* tclsh.1 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = tclsh.1; sourceTree = "<group>"; };
- F96D3EB108F272A7004A47F5 /* tcltest.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = tcltest.n; sourceTree = "<group>"; };
- F96D3EB208F272A7004A47F5 /* tclvars.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = tclvars.n; sourceTree = "<group>"; };
- F96D3EB308F272A7004A47F5 /* tell.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = tell.n; sourceTree = "<group>"; };
- F96D3EB408F272A7004A47F5 /* Thread.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Thread.3; sourceTree = "<group>"; };
- F96D3EB508F272A7004A47F5 /* time.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = time.n; sourceTree = "<group>"; };
- F96D3EB608F272A7004A47F5 /* tm.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = tm.n; sourceTree = "<group>"; };
- F96D3EB708F272A7004A47F5 /* ToUpper.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ToUpper.3; sourceTree = "<group>"; };
- F96D3EB808F272A7004A47F5 /* trace.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = trace.n; sourceTree = "<group>"; };
- F96D3EB908F272A7004A47F5 /* TraceCmd.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = TraceCmd.3; sourceTree = "<group>"; };
- F96D3EBA08F272A7004A47F5 /* TraceVar.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = TraceVar.3; sourceTree = "<group>"; };
- F96D3EBB08F272A7004A47F5 /* Translate.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Translate.3; sourceTree = "<group>"; };
- F96D3EBC08F272A7004A47F5 /* UniCharIsAlpha.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = UniCharIsAlpha.3; sourceTree = "<group>"; };
- F96D3EBD08F272A7004A47F5 /* unknown.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = unknown.n; sourceTree = "<group>"; };
- F96D3EBE08F272A7004A47F5 /* unload.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = unload.n; sourceTree = "<group>"; };
- F96D3EBF08F272A7004A47F5 /* unset.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = unset.n; sourceTree = "<group>"; };
- F96D3EC008F272A7004A47F5 /* update.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = update.n; sourceTree = "<group>"; };
- F96D3EC108F272A7004A47F5 /* uplevel.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = uplevel.n; sourceTree = "<group>"; };
- F96D3EC208F272A7004A47F5 /* UpVar.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = UpVar.3; sourceTree = "<group>"; };
- F96D3EC308F272A7004A47F5 /* upvar.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = upvar.n; sourceTree = "<group>"; };
- F96D3EC408F272A7004A47F5 /* Utf.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Utf.3; sourceTree = "<group>"; };
- F96D3EC508F272A7004A47F5 /* variable.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = variable.n; sourceTree = "<group>"; };
- F96D3EC608F272A7004A47F5 /* vwait.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = vwait.n; sourceTree = "<group>"; };
- F96D3EC708F272A7004A47F5 /* while.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = while.n; sourceTree = "<group>"; };
- F96D3EC808F272A7004A47F5 /* WrongNumArgs.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = WrongNumArgs.3; sourceTree = "<group>"; };
- F96D3ECA08F272A7004A47F5 /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
- F96D3ECB08F272A7004A47F5 /* regc_color.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = regc_color.c; sourceTree = "<group>"; };
- F96D3ECC08F272A7004A47F5 /* regc_cvec.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = regc_cvec.c; sourceTree = "<group>"; };
- F96D3ECD08F272A7004A47F5 /* regc_lex.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = regc_lex.c; sourceTree = "<group>"; };
- F96D3ECE08F272A7004A47F5 /* regc_locale.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = regc_locale.c; sourceTree = "<group>"; };
- F96D3ECF08F272A7004A47F5 /* regc_nfa.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = regc_nfa.c; sourceTree = "<group>"; };
- F96D3ED008F272A7004A47F5 /* regcomp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = regcomp.c; sourceTree = "<group>"; };
- F96D3ED108F272A7004A47F5 /* regcustom.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = regcustom.h; sourceTree = "<group>"; };
- F96D3ED208F272A7004A47F5 /* rege_dfa.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = rege_dfa.c; sourceTree = "<group>"; };
- F96D3ED308F272A7004A47F5 /* regerror.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = regerror.c; sourceTree = "<group>"; };
- F96D3ED408F272A7004A47F5 /* regerrs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = regerrs.h; sourceTree = "<group>"; };
- F96D3ED508F272A7004A47F5 /* regex.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = regex.h; sourceTree = "<group>"; };
- F96D3ED608F272A7004A47F5 /* regexec.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = regexec.c; sourceTree = "<group>"; };
- F96D3ED708F272A7004A47F5 /* regfree.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = regfree.c; sourceTree = "<group>"; };
- F96D3ED808F272A7004A47F5 /* regfronts.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = regfronts.c; sourceTree = "<group>"; };
- F96D3ED908F272A7004A47F5 /* regguts.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = regguts.h; sourceTree = "<group>"; };
- F96D3EDA08F272A7004A47F5 /* tcl.decls */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tcl.decls; sourceTree = "<group>"; };
- F96D3EDB08F272A7004A47F5 /* tcl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tcl.h; sourceTree = "<group>"; };
- F96D3EDC08F272A7004A47F5 /* tclAlloc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclAlloc.c; sourceTree = "<group>"; };
- F96D3EDD08F272A7004A47F5 /* tclAsync.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclAsync.c; sourceTree = "<group>"; };
- F96D3EDE08F272A7004A47F5 /* tclBasic.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclBasic.c; sourceTree = "<group>"; };
- F96D3EDF08F272A7004A47F5 /* tclBinary.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclBinary.c; sourceTree = "<group>"; };
- F96D3EE008F272A7004A47F5 /* tclCkalloc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclCkalloc.c; sourceTree = "<group>"; };
- F96D3EE108F272A7004A47F5 /* tclClock.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclClock.c; sourceTree = "<group>"; };
- F96D3EE208F272A7004A47F5 /* tclCmdAH.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclCmdAH.c; sourceTree = "<group>"; };
- F96D3EE308F272A7004A47F5 /* tclCmdIL.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclCmdIL.c; sourceTree = "<group>"; };
- F96D3EE408F272A7004A47F5 /* tclCmdMZ.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclCmdMZ.c; sourceTree = "<group>"; };
- F96D3EE508F272A7004A47F5 /* tclCompCmds.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclCompCmds.c; sourceTree = "<group>"; };
- F96D3EE608F272A7004A47F5 /* tclCompExpr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclCompExpr.c; sourceTree = "<group>"; };
- F96D3EE708F272A7004A47F5 /* tclCompile.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclCompile.c; sourceTree = "<group>"; };
- F96D3EE808F272A7004A47F5 /* tclCompile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclCompile.h; sourceTree = "<group>"; };
- F96D3EE908F272A7004A47F5 /* tclConfig.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclConfig.c; sourceTree = "<group>"; };
- F96D3EEA08F272A7004A47F5 /* tclDate.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclDate.c; sourceTree = "<group>"; };
- F96D3EEB08F272A7004A47F5 /* tclDecls.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclDecls.h; sourceTree = "<group>"; };
- F96D3EEC08F272A7004A47F5 /* tclDictObj.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclDictObj.c; sourceTree = "<group>"; };
- F96D3EED08F272A7004A47F5 /* tclEncoding.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclEncoding.c; sourceTree = "<group>"; };
- F96D3EEE08F272A7004A47F5 /* tclEnv.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclEnv.c; sourceTree = "<group>"; };
- F96D3EEF08F272A7004A47F5 /* tclEvent.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclEvent.c; sourceTree = "<group>"; };
- F96D3EF008F272A7004A47F5 /* tclExecute.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclExecute.c; sourceTree = "<group>"; };
- F96D3EF108F272A7004A47F5 /* tclFCmd.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclFCmd.c; sourceTree = "<group>"; };
- F96D3EF208F272A7004A47F5 /* tclFileName.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclFileName.c; sourceTree = "<group>"; };
- F96D3EF308F272A7004A47F5 /* tclFileSystem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclFileSystem.h; sourceTree = "<group>"; };
- F96D3EF408F272A7004A47F5 /* tclGet.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclGet.c; sourceTree = "<group>"; };
- F96D3EF508F272A7004A47F5 /* tclGetDate.y */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.yacc; path = tclGetDate.y; sourceTree = "<group>"; };
- F96D3EF608F272A7004A47F5 /* tclHash.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclHash.c; sourceTree = "<group>"; };
- F96D3EF708F272A7004A47F5 /* tclHistory.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclHistory.c; sourceTree = "<group>"; };
- F96D3EF808F272A7004A47F5 /* tclIndexObj.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclIndexObj.c; sourceTree = "<group>"; };
- F96D3EF908F272A7004A47F5 /* tclInt.decls */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tclInt.decls; sourceTree = "<group>"; };
- F96D3EFA08F272A7004A47F5 /* tclInt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclInt.h; sourceTree = "<group>"; };
- F96D3EFB08F272A7004A47F5 /* tclIntDecls.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclIntDecls.h; sourceTree = "<group>"; };
- F96D3EFC08F272A7004A47F5 /* tclInterp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclInterp.c; sourceTree = "<group>"; };
- F96D3EFD08F272A7004A47F5 /* tclIntPlatDecls.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclIntPlatDecls.h; sourceTree = "<group>"; };
- F96D3EFE08F272A7004A47F5 /* tclIO.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclIO.c; sourceTree = "<group>"; };
- F96D3EFF08F272A7004A47F5 /* tclIO.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclIO.h; sourceTree = "<group>"; };
- F96D3F0008F272A7004A47F5 /* tclIOCmd.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclIOCmd.c; sourceTree = "<group>"; };
- F96D3F0108F272A7004A47F5 /* tclIOGT.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclIOGT.c; sourceTree = "<group>"; };
- F96D3F0208F272A7004A47F5 /* tclIORChan.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclIORChan.c; sourceTree = "<group>"; };
- F96D3F0308F272A7004A47F5 /* tclIOSock.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclIOSock.c; sourceTree = "<group>"; };
- F96D3F0408F272A7004A47F5 /* tclIOUtil.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclIOUtil.c; sourceTree = "<group>"; };
- F96D3F0508F272A7004A47F5 /* tclLink.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclLink.c; sourceTree = "<group>"; };
- F96D3F0608F272A7004A47F5 /* tclListObj.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclListObj.c; sourceTree = "<group>"; };
- F96D3F0708F272A7004A47F5 /* tclLiteral.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclLiteral.c; sourceTree = "<group>"; };
- F96D3F0808F272A7004A47F5 /* tclLoad.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclLoad.c; sourceTree = "<group>"; };
- F96D3F0908F272A7004A47F5 /* tclLoadNone.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclLoadNone.c; sourceTree = "<group>"; };
- F96D3F0A08F272A7004A47F5 /* tclMain.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclMain.c; sourceTree = "<group>"; };
- F96D3F0B08F272A7004A47F5 /* tclNamesp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclNamesp.c; sourceTree = "<group>"; };
- F96D3F0C08F272A7004A47F5 /* tclNotify.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclNotify.c; sourceTree = "<group>"; };
- F96D3F0D08F272A7004A47F5 /* tclObj.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclObj.c; sourceTree = "<group>"; };
- F96D3F0E08F272A7004A47F5 /* tclPanic.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclPanic.c; sourceTree = "<group>"; };
- F96D3F0F08F272A7004A47F5 /* tclParse.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclParse.c; sourceTree = "<group>"; };
- F96D3F1108F272A7004A47F5 /* tclPathObj.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclPathObj.c; sourceTree = "<group>"; };
- F96D3F1208F272A7004A47F5 /* tclPipe.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclPipe.c; sourceTree = "<group>"; };
- F96D3F1308F272A7004A47F5 /* tclPkg.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclPkg.c; sourceTree = "<group>"; };
- F96D3F1408F272A7004A47F5 /* tclPkgConfig.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclPkgConfig.c; sourceTree = "<group>"; };
- F96D3F1508F272A7004A47F5 /* tclPlatDecls.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclPlatDecls.h; sourceTree = "<group>"; };
- F96D3F1608F272A7004A47F5 /* tclPort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclPort.h; sourceTree = "<group>"; };
- F96D3F1708F272A7004A47F5 /* tclPosixStr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclPosixStr.c; sourceTree = "<group>"; };
- F96D3F1808F272A7004A47F5 /* tclPreserve.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclPreserve.c; sourceTree = "<group>"; };
- F96D3F1908F272A7004A47F5 /* tclProc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclProc.c; sourceTree = "<group>"; };
- F96D3F1A08F272A7004A47F5 /* tclRegexp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclRegexp.c; sourceTree = "<group>"; };
- F96D3F1B08F272A7004A47F5 /* tclRegexp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclRegexp.h; sourceTree = "<group>"; };
- F96D3F1C08F272A7004A47F5 /* tclResolve.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclResolve.c; sourceTree = "<group>"; };
- F96D3F1D08F272A7004A47F5 /* tclResult.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclResult.c; sourceTree = "<group>"; };
- F96D3F1E08F272A7004A47F5 /* tclScan.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclScan.c; sourceTree = "<group>"; };
- F96D3F1F08F272A7004A47F5 /* tclStringObj.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclStringObj.c; sourceTree = "<group>"; };
- F96D3F2408F272A7004A47F5 /* tclStrToD.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclStrToD.c; sourceTree = "<group>"; };
- F96D3F2508F272A7004A47F5 /* tclStubInit.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclStubInit.c; sourceTree = "<group>"; };
- F96D3F2608F272A7004A47F5 /* tclStubLib.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclStubLib.c; sourceTree = "<group>"; };
- F96D3F2708F272A7004A47F5 /* tclTest.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclTest.c; sourceTree = "<group>"; };
- F96D3F2808F272A7004A47F5 /* tclTestObj.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclTestObj.c; sourceTree = "<group>"; };
- F96D3F2908F272A7004A47F5 /* tclTestProcBodyObj.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclTestProcBodyObj.c; sourceTree = "<group>"; };
- F96D3F2A08F272A7004A47F5 /* tclThread.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclThread.c; sourceTree = "<group>"; };
- F96D3F2B08F272A7004A47F5 /* tclThreadAlloc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclThreadAlloc.c; sourceTree = "<group>"; };
- F96D3F2C08F272A7004A47F5 /* tclThreadJoin.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclThreadJoin.c; sourceTree = "<group>"; };
- F96D3F2D08F272A7004A47F5 /* tclThreadStorage.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclThreadStorage.c; sourceTree = "<group>"; };
- F96D3F2E08F272A7004A47F5 /* tclThreadTest.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclThreadTest.c; sourceTree = "<group>"; };
- F96D3F2F08F272A7004A47F5 /* tclTimer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclTimer.c; sourceTree = "<group>"; };
- F96D3F3008F272A7004A47F5 /* tclTomMath.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclTomMath.h; sourceTree = "<group>"; };
- F96D3F3108F272A7004A47F5 /* tclTomMathInterface.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclTomMathInterface.c; sourceTree = "<group>"; };
- F96D3F3208F272A7004A47F5 /* tclTrace.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclTrace.c; sourceTree = "<group>"; };
- F96D3F3308F272A7004A47F5 /* tclUniData.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclUniData.c; sourceTree = "<group>"; };
- F96D3F3408F272A7004A47F5 /* tclUtf.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclUtf.c; sourceTree = "<group>"; };
- F96D3F3508F272A7004A47F5 /* tclUtil.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclUtil.c; sourceTree = "<group>"; };
- F96D3F3608F272A7004A47F5 /* tclVar.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclVar.c; sourceTree = "<group>"; };
- F96D3F3708F272A7004A47F5 /* tommath.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tommath.h; sourceTree = "<group>"; };
- F96D3F3908F272A8004A47F5 /* auto.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = auto.tcl; sourceTree = "<group>"; };
- F96D3F3A08F272A8004A47F5 /* clock.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = clock.tcl; sourceTree = "<group>"; };
- F96D3F3C08F272A8004A47F5 /* pkgIndex.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = pkgIndex.tcl; sourceTree = "<group>"; };
- F96D3F8C08F272A8004A47F5 /* history.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = history.tcl; sourceTree = "<group>"; };
- F96D3F8E08F272A8004A47F5 /* http.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = http.tcl; sourceTree = "<group>"; };
- F96D3F8F08F272A8004A47F5 /* pkgIndex.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = pkgIndex.tcl; sourceTree = "<group>"; };
- F96D3F9108F272A8004A47F5 /* http.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = http.tcl; sourceTree = "<group>"; };
- F96D3F9208F272A8004A47F5 /* pkgIndex.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = pkgIndex.tcl; sourceTree = "<group>"; };
- F96D3F9308F272A8004A47F5 /* init.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = init.tcl; sourceTree = "<group>"; };
- F96D3F9508F272A8004A47F5 /* msgcat.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = msgcat.tcl; sourceTree = "<group>"; };
- F96D3F9608F272A8004A47F5 /* pkgIndex.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = pkgIndex.tcl; sourceTree = "<group>"; };
- F96D401808F272AA004A47F5 /* optparse.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = optparse.tcl; sourceTree = "<group>"; };
- F96D401908F272AA004A47F5 /* pkgIndex.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = pkgIndex.tcl; sourceTree = "<group>"; };
- F96D401A08F272AA004A47F5 /* package.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = package.tcl; sourceTree = "<group>"; };
- F96D401B08F272AA004A47F5 /* parray.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = parray.tcl; sourceTree = "<group>"; };
- F96D401D08F272AA004A47F5 /* pkgIndex.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = pkgIndex.tcl; sourceTree = "<group>"; };
- F96D401E08F272AA004A47F5 /* safe.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = safe.tcl; sourceTree = "<group>"; };
- F96D401F08F272AA004A47F5 /* tclIndex */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tclIndex; sourceTree = "<group>"; };
- F96D402108F272AA004A47F5 /* pkgIndex.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = pkgIndex.tcl; sourceTree = "<group>"; };
- F96D402208F272AA004A47F5 /* tcltest.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tcltest.tcl; sourceTree = "<group>"; };
- F96D402308F272AA004A47F5 /* tm.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tm.tcl; sourceTree = "<group>"; };
- F96D425B08F272B2004A47F5 /* word.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = word.tcl; sourceTree = "<group>"; };
- F96D426408F272B3004A47F5 /* bn_fast_s_mp_mul_digs.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_fast_s_mp_mul_digs.c; sourceTree = "<group>"; };
- F96D426608F272B3004A47F5 /* bn_fast_s_mp_sqr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_fast_s_mp_sqr.c; sourceTree = "<group>"; };
- F96D426908F272B3004A47F5 /* bn_mp_add.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_add.c; sourceTree = "<group>"; };
- F96D426A08F272B3004A47F5 /* bn_mp_add_d.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_add_d.c; sourceTree = "<group>"; };
- F96D426C08F272B3004A47F5 /* bn_mp_and.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_and.c; sourceTree = "<group>"; };
- F96D426D08F272B3004A47F5 /* bn_mp_clamp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_clamp.c; sourceTree = "<group>"; };
- F96D426E08F272B3004A47F5 /* bn_mp_clear.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_clear.c; sourceTree = "<group>"; };
- F96D426F08F272B3004A47F5 /* bn_mp_clear_multi.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_clear_multi.c; sourceTree = "<group>"; };
- F96D427008F272B3004A47F5 /* bn_mp_cmp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_cmp.c; sourceTree = "<group>"; };
- F96D427108F272B3004A47F5 /* bn_mp_cmp_d.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_cmp_d.c; sourceTree = "<group>"; };
- F96D427208F272B3004A47F5 /* bn_mp_cmp_mag.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_cmp_mag.c; sourceTree = "<group>"; };
- F96D427408F272B3004A47F5 /* bn_mp_copy.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_copy.c; sourceTree = "<group>"; };
- F96D427508F272B3004A47F5 /* bn_mp_count_bits.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_count_bits.c; sourceTree = "<group>"; };
- F96D427608F272B3004A47F5 /* bn_mp_div.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_div.c; sourceTree = "<group>"; };
- F96D427708F272B3004A47F5 /* bn_mp_div_2.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_div_2.c; sourceTree = "<group>"; };
- F96D427808F272B3004A47F5 /* bn_mp_div_2d.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_div_2d.c; sourceTree = "<group>"; };
- F96D427908F272B3004A47F5 /* bn_mp_div_3.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_div_3.c; sourceTree = "<group>"; };
- F96D427A08F272B3004A47F5 /* bn_mp_div_d.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_div_d.c; sourceTree = "<group>"; };
- F96D427E08F272B3004A47F5 /* bn_mp_exch.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_exch.c; sourceTree = "<group>"; };
- F96D427F08F272B3004A47F5 /* bn_mp_expt_d.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_expt_d.c; sourceTree = "<group>"; };
- F96D428708F272B3004A47F5 /* bn_mp_grow.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_grow.c; sourceTree = "<group>"; };
- F96D428808F272B3004A47F5 /* bn_mp_init.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_init.c; sourceTree = "<group>"; };
- F96D428908F272B3004A47F5 /* bn_mp_init_copy.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_init_copy.c; sourceTree = "<group>"; };
- F96D428A08F272B3004A47F5 /* bn_mp_init_multi.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_init_multi.c; sourceTree = "<group>"; };
- F96D428B08F272B3004A47F5 /* bn_mp_init_set.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_init_set.c; sourceTree = "<group>"; };
- F96D428D08F272B3004A47F5 /* bn_mp_init_size.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_init_size.c; sourceTree = "<group>"; };
- F96D429208F272B3004A47F5 /* bn_mp_karatsuba_mul.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_karatsuba_mul.c; sourceTree = "<group>"; };
- F96D429308F272B3004A47F5 /* bn_mp_karatsuba_sqr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_karatsuba_sqr.c; sourceTree = "<group>"; };
- F96D429508F272B3004A47F5 /* bn_mp_lshd.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_lshd.c; sourceTree = "<group>"; };
- F96D429608F272B3004A47F5 /* bn_mp_mod.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_mod.c; sourceTree = "<group>"; };
- F96D429708F272B3004A47F5 /* bn_mp_mod_2d.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_mod_2d.c; sourceTree = "<group>"; };
- F96D429C08F272B3004A47F5 /* bn_mp_mul.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_mul.c; sourceTree = "<group>"; };
- F96D429D08F272B3004A47F5 /* bn_mp_mul_2.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_mul_2.c; sourceTree = "<group>"; };
- F96D429E08F272B3004A47F5 /* bn_mp_mul_2d.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_mul_2d.c; sourceTree = "<group>"; };
- F96D429F08F272B3004A47F5 /* bn_mp_mul_d.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_mul_d.c; sourceTree = "<group>"; };
- F96D42A208F272B3004A47F5 /* bn_mp_neg.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_neg.c; sourceTree = "<group>"; };
- F96D42A308F272B3004A47F5 /* bn_mp_or.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_or.c; sourceTree = "<group>"; };
- F96D42AB08F272B3004A47F5 /* bn_mp_radix_size.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_radix_size.c; sourceTree = "<group>"; };
- F96D42AC08F272B3004A47F5 /* bn_mp_radix_smap.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_radix_smap.c; sourceTree = "<group>"; };
- F96D42AE08F272B3004A47F5 /* bn_mp_read_radix.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_read_radix.c; sourceTree = "<group>"; };
- F96D42B908F272B3004A47F5 /* bn_mp_rshd.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_rshd.c; sourceTree = "<group>"; };
- F96D42BA08F272B3004A47F5 /* bn_mp_set.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_set.c; sourceTree = "<group>"; };
- F96D42BC08F272B3004A47F5 /* bn_mp_shrink.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_shrink.c; sourceTree = "<group>"; };
- F96D42BE08F272B3004A47F5 /* bn_mp_sqr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_sqr.c; sourceTree = "<group>"; };
- F96D42C008F272B3004A47F5 /* bn_mp_sqrt.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_sqrt.c; sourceTree = "<group>"; };
- F96D42C108F272B3004A47F5 /* bn_mp_sub.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_sub.c; sourceTree = "<group>"; };
- F96D42C208F272B3004A47F5 /* bn_mp_sub_d.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_sub_d.c; sourceTree = "<group>"; };
- F96D42C608F272B3004A47F5 /* bn_mp_to_unsigned_bin.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_to_unsigned_bin.c; sourceTree = "<group>"; };
- F96D42C708F272B3004A47F5 /* bn_mp_to_unsigned_bin_n.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_to_unsigned_bin_n.c; sourceTree = "<group>"; };
- F96D42C808F272B3004A47F5 /* bn_mp_toom_mul.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_toom_mul.c; sourceTree = "<group>"; };
- F96D42C908F272B3004A47F5 /* bn_mp_toom_sqr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_toom_sqr.c; sourceTree = "<group>"; };
- F96D42CB08F272B3004A47F5 /* bn_mp_toradix_n.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_toradix_n.c; sourceTree = "<group>"; };
- F96D42CC08F272B3004A47F5 /* bn_mp_unsigned_bin_size.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_unsigned_bin_size.c; sourceTree = "<group>"; };
- F96D42CD08F272B3004A47F5 /* bn_mp_xor.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_xor.c; sourceTree = "<group>"; };
- F96D42CE08F272B3004A47F5 /* bn_mp_zero.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_zero.c; sourceTree = "<group>"; };
- F96D42D008F272B3004A47F5 /* bn_reverse.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_reverse.c; sourceTree = "<group>"; };
- F96D42D108F272B3004A47F5 /* bn_s_mp_add.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_s_mp_add.c; sourceTree = "<group>"; };
- F96D42D308F272B3004A47F5 /* bn_s_mp_mul_digs.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_s_mp_mul_digs.c; sourceTree = "<group>"; };
- F96D42D508F272B3004A47F5 /* bn_s_mp_sqr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_s_mp_sqr.c; sourceTree = "<group>"; };
- F96D42D608F272B3004A47F5 /* bn_s_mp_sub.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_s_mp_sub.c; sourceTree = "<group>"; };
- F96D42D708F272B3004A47F5 /* bncore.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bncore.c; sourceTree = "<group>"; };
- F96D432908F272B4004A47F5 /* tommath_class.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tommath_class.h; sourceTree = "<group>"; };
- F96D432A08F272B4004A47F5 /* tommath_superclass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tommath_superclass.h; sourceTree = "<group>"; };
- F96D432B08F272B4004A47F5 /* license.terms */ = {isa = PBXFileReference; explicitFileType = text; fileEncoding = 4; path = license.terms; sourceTree = "<group>"; };
- F96D432E08F272B5004A47F5 /* configure.ac */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = configure.ac; sourceTree = "<group>"; };
- F96D432F08F272B5004A47F5 /* GNUmakefile */ = {isa = PBXFileReference; explicitFileType = sourcecode.make; fileEncoding = 4; path = GNUmakefile; sourceTree = "<group>"; };
- F96D433108F272B5004A47F5 /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
- F96D433208F272B5004A47F5 /* Tcl-Info.plist.in */ = {isa = PBXFileReference; explicitFileType = text.plist; fileEncoding = 4; path = "Tcl-Info.plist.in"; sourceTree = "<group>"; };
- F96D433908F272B5004A47F5 /* tclMacOSXBundle.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclMacOSXBundle.c; sourceTree = "<group>"; };
- F96D433D08F272B5004A47F5 /* tclMacOSXFCmd.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclMacOSXFCmd.c; sourceTree = "<group>"; };
- F96D433E08F272B5004A47F5 /* tclMacOSXNotify.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclMacOSXNotify.c; sourceTree = "<group>"; };
- F96D434308F272B5004A47F5 /* README */ = {isa = PBXFileReference; explicitFileType = text; fileEncoding = 4; path = README; sourceTree = "<group>"; };
- F96D434508F272B5004A47F5 /* all.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = all.tcl; sourceTree = "<group>"; };
- F96D434608F272B5004A47F5 /* append.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = append.test; sourceTree = "<group>"; };
- F96D434708F272B5004A47F5 /* appendComp.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = appendComp.test; sourceTree = "<group>"; };
- F96D434808F272B5004A47F5 /* assocd.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = assocd.test; sourceTree = "<group>"; };
- F96D434908F272B5004A47F5 /* async.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = async.test; sourceTree = "<group>"; };
- F96D434A08F272B5004A47F5 /* autoMkindex.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = autoMkindex.test; sourceTree = "<group>"; };
- F96D434B08F272B5004A47F5 /* basic.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = basic.test; sourceTree = "<group>"; };
- F96D434C08F272B5004A47F5 /* binary.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = binary.test; sourceTree = "<group>"; };
- F96D434D08F272B5004A47F5 /* case.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = case.test; sourceTree = "<group>"; };
- F96D434E08F272B5004A47F5 /* chan.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = chan.test; sourceTree = "<group>"; };
- F96D434F08F272B5004A47F5 /* clock.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = clock.test; sourceTree = "<group>"; };
- F96D435008F272B5004A47F5 /* cmdAH.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = cmdAH.test; sourceTree = "<group>"; };
- F96D435108F272B5004A47F5 /* cmdIL.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = cmdIL.test; sourceTree = "<group>"; };
- F96D435208F272B5004A47F5 /* cmdInfo.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = cmdInfo.test; sourceTree = "<group>"; };
- F96D435308F272B5004A47F5 /* cmdMZ.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = cmdMZ.test; sourceTree = "<group>"; };
- F96D435408F272B5004A47F5 /* compExpr-old.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = "compExpr-old.test"; sourceTree = "<group>"; };
- F96D435508F272B5004A47F5 /* compExpr.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = compExpr.test; sourceTree = "<group>"; };
- F96D435608F272B5004A47F5 /* compile.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = compile.test; sourceTree = "<group>"; };
- F96D435708F272B5004A47F5 /* concat.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = concat.test; sourceTree = "<group>"; };
- F96D435808F272B5004A47F5 /* config.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = config.test; sourceTree = "<group>"; };
- F96D435908F272B5004A47F5 /* dcall.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = dcall.test; sourceTree = "<group>"; };
- F96D435A08F272B5004A47F5 /* dict.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = dict.test; sourceTree = "<group>"; };
- F96D435C08F272B5004A47F5 /* dstring.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = dstring.test; sourceTree = "<group>"; };
- F96D435E08F272B5004A47F5 /* encoding.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = encoding.test; sourceTree = "<group>"; };
- F96D435F08F272B5004A47F5 /* env.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = env.test; sourceTree = "<group>"; };
- F96D436008F272B5004A47F5 /* error.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = error.test; sourceTree = "<group>"; };
- F96D436108F272B5004A47F5 /* eval.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = eval.test; sourceTree = "<group>"; };
- F96D436208F272B5004A47F5 /* event.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = event.test; sourceTree = "<group>"; };
- F96D436308F272B5004A47F5 /* exec.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = exec.test; sourceTree = "<group>"; };
- F96D436408F272B5004A47F5 /* execute.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = execute.test; sourceTree = "<group>"; };
- F96D436508F272B5004A47F5 /* expr-old.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = "expr-old.test"; sourceTree = "<group>"; };
- F96D436608F272B5004A47F5 /* expr.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = expr.test; sourceTree = "<group>"; };
- F96D436708F272B6004A47F5 /* fCmd.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = fCmd.test; sourceTree = "<group>"; };
- F96D436808F272B6004A47F5 /* fileName.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = fileName.test; sourceTree = "<group>"; };
- F96D436908F272B6004A47F5 /* fileSystem.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = fileSystem.test; sourceTree = "<group>"; };
- F96D436A08F272B6004A47F5 /* for-old.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = "for-old.test"; sourceTree = "<group>"; };
- F96D436B08F272B6004A47F5 /* for.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = for.test; sourceTree = "<group>"; };
- F96D436C08F272B6004A47F5 /* foreach.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = foreach.test; sourceTree = "<group>"; };
- F96D436D08F272B6004A47F5 /* format.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = format.test; sourceTree = "<group>"; };
- F96D436E08F272B6004A47F5 /* get.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = get.test; sourceTree = "<group>"; };
- F96D436F08F272B6004A47F5 /* history.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = history.test; sourceTree = "<group>"; };
- F96D437008F272B6004A47F5 /* http.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = http.test; sourceTree = "<group>"; };
- F96D437108F272B6004A47F5 /* httpd */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = httpd; sourceTree = "<group>"; };
- F96D437208F272B6004A47F5 /* httpold.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = httpold.test; sourceTree = "<group>"; };
- F96D437308F272B6004A47F5 /* if-old.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = "if-old.test"; sourceTree = "<group>"; };
- F96D437408F272B6004A47F5 /* if.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = if.test; sourceTree = "<group>"; };
- F96D437508F272B6004A47F5 /* incr-old.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = "incr-old.test"; sourceTree = "<group>"; };
- F96D437608F272B6004A47F5 /* incr.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = incr.test; sourceTree = "<group>"; };
- F96D437708F272B6004A47F5 /* indexObj.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = indexObj.test; sourceTree = "<group>"; };
- F96D437808F272B6004A47F5 /* info.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = info.test; sourceTree = "<group>"; };
- F96D437908F272B6004A47F5 /* init.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = init.test; sourceTree = "<group>"; };
- F96D437A08F272B6004A47F5 /* interp.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = interp.test; sourceTree = "<group>"; };
- F96D437B08F272B6004A47F5 /* io.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = io.test; sourceTree = "<group>"; };
- F96D437C08F272B6004A47F5 /* ioCmd.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = ioCmd.test; sourceTree = "<group>"; };
- F96D437D08F272B6004A47F5 /* iogt.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = iogt.test; sourceTree = "<group>"; };
- F96D437F08F272B6004A47F5 /* join.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = join.test; sourceTree = "<group>"; };
- F96D438008F272B6004A47F5 /* lindex.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = lindex.test; sourceTree = "<group>"; };
- F96D438108F272B6004A47F5 /* link.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = link.test; sourceTree = "<group>"; };
- F96D438208F272B6004A47F5 /* linsert.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = linsert.test; sourceTree = "<group>"; };
- F96D438308F272B6004A47F5 /* list.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = list.test; sourceTree = "<group>"; };
- F96D438408F272B6004A47F5 /* listObj.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = listObj.test; sourceTree = "<group>"; };
- F96D438508F272B6004A47F5 /* llength.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = llength.test; sourceTree = "<group>"; };
- F96D438608F272B6004A47F5 /* load.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = load.test; sourceTree = "<group>"; };
- F96D438708F272B6004A47F5 /* lrange.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = lrange.test; sourceTree = "<group>"; };
- F96D438808F272B6004A47F5 /* lrepeat.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = lrepeat.test; sourceTree = "<group>"; };
- F96D438908F272B6004A47F5 /* lreplace.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = lreplace.test; sourceTree = "<group>"; };
- F96D438A08F272B6004A47F5 /* lsearch.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = lsearch.test; sourceTree = "<group>"; };
- F96D438B08F272B6004A47F5 /* lset.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = lset.test; sourceTree = "<group>"; };
- F96D438C08F272B6004A47F5 /* lsetComp.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = lsetComp.test; sourceTree = "<group>"; };
- F96D438D08F272B6004A47F5 /* macOSXFCmd.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = macOSXFCmd.test; sourceTree = "<group>"; };
- F96D438E08F272B6004A47F5 /* main.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = main.test; sourceTree = "<group>"; };
- F96D438F08F272B6004A47F5 /* misc.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = misc.test; sourceTree = "<group>"; };
- F96D439008F272B6004A47F5 /* msgcat.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = msgcat.test; sourceTree = "<group>"; };
- F96D439108F272B6004A47F5 /* namespace-old.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = "namespace-old.test"; sourceTree = "<group>"; };
- F96D439208F272B7004A47F5 /* namespace.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = namespace.test; sourceTree = "<group>"; };
- F96D439308F272B7004A47F5 /* notify.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = notify.test; sourceTree = "<group>"; };
- F96D439408F272B7004A47F5 /* obj.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = obj.test; sourceTree = "<group>"; };
- F96D439508F272B7004A47F5 /* opt.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = opt.test; sourceTree = "<group>"; };
- F96D439608F272B7004A47F5 /* package.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = package.test; sourceTree = "<group>"; };
- F96D439708F272B7004A47F5 /* parse.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = parse.test; sourceTree = "<group>"; };
- F96D439808F272B7004A47F5 /* parseExpr.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = parseExpr.test; sourceTree = "<group>"; };
- F96D439908F272B7004A47F5 /* parseOld.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = parseOld.test; sourceTree = "<group>"; };
- F96D439A08F272B7004A47F5 /* pid.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = pid.test; sourceTree = "<group>"; };
- F96D439B08F272B7004A47F5 /* pkg.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = pkg.test; sourceTree = "<group>"; };
- F96D439C08F272B7004A47F5 /* pkgMkIndex.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = pkgMkIndex.test; sourceTree = "<group>"; };
- F96D439D08F272B7004A47F5 /* platform.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = platform.test; sourceTree = "<group>"; };
- F96D439E08F272B7004A47F5 /* proc-old.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = "proc-old.test"; sourceTree = "<group>"; };
- F96D439F08F272B7004A47F5 /* proc.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = proc.test; sourceTree = "<group>"; };
- F96D43A008F272B7004A47F5 /* pwd.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = pwd.test; sourceTree = "<group>"; };
- F96D43A108F272B7004A47F5 /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
- F96D43A208F272B7004A47F5 /* reg.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = reg.test; sourceTree = "<group>"; };
- F96D43A308F272B7004A47F5 /* regexp.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = regexp.test; sourceTree = "<group>"; };
- F96D43A408F272B7004A47F5 /* regexpComp.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = regexpComp.test; sourceTree = "<group>"; };
- F96D43A508F272B7004A47F5 /* registry.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = registry.test; sourceTree = "<group>"; };
- F96D43A608F272B7004A47F5 /* remote.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = remote.tcl; sourceTree = "<group>"; };
- F96D43A708F272B7004A47F5 /* rename.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = rename.test; sourceTree = "<group>"; };
- F96D43A808F272B7004A47F5 /* result.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = result.test; sourceTree = "<group>"; };
- F96D43A908F272B7004A47F5 /* safe.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = safe.test; sourceTree = "<group>"; };
- F96D43AA08F272B7004A47F5 /* scan.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = scan.test; sourceTree = "<group>"; };
- F96D43AB08F272B7004A47F5 /* security.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = security.test; sourceTree = "<group>"; };
- F96D43AC08F272B7004A47F5 /* set-old.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = "set-old.test"; sourceTree = "<group>"; };
- F96D43AD08F272B7004A47F5 /* set.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = set.test; sourceTree = "<group>"; };
- F96D43AE08F272B7004A47F5 /* socket.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = socket.test; sourceTree = "<group>"; };
- F96D43AF08F272B7004A47F5 /* source.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = source.test; sourceTree = "<group>"; };
- F96D43B008F272B7004A47F5 /* split.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = split.test; sourceTree = "<group>"; };
- F96D43B108F272B7004A47F5 /* stack.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = stack.test; sourceTree = "<group>"; };
- F96D43B208F272B7004A47F5 /* string.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = string.test; sourceTree = "<group>"; };
- F96D43B308F272B7004A47F5 /* stringComp.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = stringComp.test; sourceTree = "<group>"; };
- F96D43B408F272B7004A47F5 /* stringObj.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = stringObj.test; sourceTree = "<group>"; };
- F96D43B508F272B7004A47F5 /* subst.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = subst.test; sourceTree = "<group>"; };
- F96D43B608F272B7004A47F5 /* switch.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = switch.test; sourceTree = "<group>"; };
- F96D43B708F272B7004A47F5 /* tcltest.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tcltest.test; sourceTree = "<group>"; };
- F96D43B808F272B7004A47F5 /* thread.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = thread.test; sourceTree = "<group>"; };
- F96D43B908F272B7004A47F5 /* timer.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = timer.test; sourceTree = "<group>"; };
- F96D43BA08F272B7004A47F5 /* tm.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tm.test; sourceTree = "<group>"; };
- F96D43BB08F272B7004A47F5 /* trace.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = trace.test; sourceTree = "<group>"; };
- F96D43BC08F272B7004A47F5 /* unixFCmd.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = unixFCmd.test; sourceTree = "<group>"; };
- F96D43BD08F272B7004A47F5 /* unixFile.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = unixFile.test; sourceTree = "<group>"; };
- F96D43BE08F272B7004A47F5 /* unixInit.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = unixInit.test; sourceTree = "<group>"; };
- F96D43BF08F272B7004A47F5 /* unixNotfy.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = unixNotfy.test; sourceTree = "<group>"; };
- F96D43C008F272B7004A47F5 /* unknown.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = unknown.test; sourceTree = "<group>"; };
- F96D43C108F272B7004A47F5 /* unload.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = unload.test; sourceTree = "<group>"; };
- F96D43C208F272B7004A47F5 /* uplevel.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = uplevel.test; sourceTree = "<group>"; };
- F96D43C308F272B7004A47F5 /* upvar.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = upvar.test; sourceTree = "<group>"; };
- F96D43C408F272B7004A47F5 /* utf.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = utf.test; sourceTree = "<group>"; };
- F96D43C508F272B7004A47F5 /* util.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = util.test; sourceTree = "<group>"; };
- F96D43C608F272B7004A47F5 /* var.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = var.test; sourceTree = "<group>"; };
- F96D43C708F272B7004A47F5 /* while-old.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = "while-old.test"; sourceTree = "<group>"; };
- F96D43C808F272B7004A47F5 /* while.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = while.test; sourceTree = "<group>"; };
- F96D43C908F272B7004A47F5 /* winConsole.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = winConsole.test; sourceTree = "<group>"; };
- F96D43CA08F272B7004A47F5 /* winDde.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = winDde.test; sourceTree = "<group>"; };
- F96D43CB08F272B7004A47F5 /* winFCmd.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = winFCmd.test; sourceTree = "<group>"; };
- F96D43CC08F272B7004A47F5 /* winFile.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = winFile.test; sourceTree = "<group>"; };
- F96D43CD08F272B7004A47F5 /* winNotify.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = winNotify.test; sourceTree = "<group>"; };
- F96D43CE08F272B7004A47F5 /* winPipe.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = winPipe.test; sourceTree = "<group>"; };
- F96D43CF08F272B7004A47F5 /* winTime.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = winTime.test; sourceTree = "<group>"; };
- F96D43D108F272B8004A47F5 /* checkLibraryDoc.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = checkLibraryDoc.tcl; sourceTree = "<group>"; };
- F96D43D208F272B8004A47F5 /* configure */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = configure; sourceTree = "<group>"; };
- F96D43D308F272B8004A47F5 /* configure.in */ = {isa = PBXFileReference; explicitFileType = text.script.sh; fileEncoding = 4; path = configure.in; sourceTree = "<group>"; };
- F96D442208F272B8004A47F5 /* eolFix.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = eolFix.tcl; sourceTree = "<group>"; };
- F96D442408F272B8004A47F5 /* fix_tommath_h.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = fix_tommath_h.tcl; sourceTree = "<group>"; };
- F96D442508F272B8004A47F5 /* genStubs.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = genStubs.tcl; sourceTree = "<group>"; };
- F96D442708F272B8004A47F5 /* index.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = index.tcl; sourceTree = "<group>"; };
- F96D442808F272B8004A47F5 /* installData.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = installData.tcl; sourceTree = "<group>"; };
- F96D442908F272B8004A47F5 /* loadICU.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = loadICU.tcl; sourceTree = "<group>"; };
- F96D442A08F272B8004A47F5 /* Makefile.in */ = {isa = PBXFileReference; explicitFileType = sourcecode.make; fileEncoding = 4; path = Makefile.in; sourceTree = "<group>"; };
- F96D442B08F272B8004A47F5 /* makeTestCases.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = makeTestCases.tcl; sourceTree = "<group>"; };
- F96D442C08F272B8004A47F5 /* man2help.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = man2help.tcl; sourceTree = "<group>"; };
- F96D442D08F272B8004A47F5 /* man2help2.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = man2help2.tcl; sourceTree = "<group>"; };
- F96D442E08F272B8004A47F5 /* man2html.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = man2html.tcl; sourceTree = "<group>"; };
- F96D442F08F272B8004A47F5 /* man2html1.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = man2html1.tcl; sourceTree = "<group>"; };
- F96D443008F272B8004A47F5 /* man2html2.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = man2html2.tcl; sourceTree = "<group>"; };
- F96D443108F272B8004A47F5 /* man2tcl.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = man2tcl.c; sourceTree = "<group>"; };
- F96D443208F272B8004A47F5 /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
- F96D443308F272B8004A47F5 /* regexpTestLib.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = regexpTestLib.tcl; sourceTree = "<group>"; };
- F96D443508F272B8004A47F5 /* tcl.hpj.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = tcl.hpj.in; sourceTree = "<group>"; };
- F96D443608F272B8004A47F5 /* tcl.wse.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = tcl.wse.in; sourceTree = "<group>"; };
- F96D443908F272B9004A47F5 /* tcltk-man2html.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = "tcltk-man2html.tcl"; sourceTree = "<group>"; };
- F96D443A08F272B9004A47F5 /* tclZIC.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tclZIC.tcl; sourceTree = "<group>"; };
- F96D443B08F272B9004A47F5 /* uniClass.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = uniClass.tcl; sourceTree = "<group>"; };
- F96D443C08F272B9004A47F5 /* uniParse.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = uniParse.tcl; sourceTree = "<group>"; };
- F96D444008F272B9004A47F5 /* aclocal.m4 */ = {isa = PBXFileReference; explicitFileType = text.script.sh; fileEncoding = 4; path = aclocal.m4; sourceTree = "<group>"; };
- F96D444108F272B9004A47F5 /* configure */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = configure; sourceTree = "<group>"; };
- F96D444208F272B9004A47F5 /* configure.in */ = {isa = PBXFileReference; explicitFileType = text.script.sh; fileEncoding = 4; path = configure.in; sourceTree = "<group>"; };
- F96D444408F272B9004A47F5 /* Makefile.in */ = {isa = PBXFileReference; explicitFileType = sourcecode.make; fileEncoding = 4; path = Makefile.in; sourceTree = "<group>"; };
- F96D444508F272B9004A47F5 /* pkga.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pkga.c; sourceTree = "<group>"; };
- F96D444608F272B9004A47F5 /* pkgb.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pkgb.c; sourceTree = "<group>"; };
- F96D444708F272B9004A47F5 /* pkgc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pkgc.c; sourceTree = "<group>"; };
- F96D444808F272B9004A47F5 /* pkgd.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pkgd.c; sourceTree = "<group>"; };
- F96D444908F272B9004A47F5 /* pkge.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pkge.c; sourceTree = "<group>"; };
- F96D444B08F272B9004A47F5 /* pkgua.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pkgua.c; sourceTree = "<group>"; };
- F96D444C08F272B9004A47F5 /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
- F96D444D08F272B9004A47F5 /* install-sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = "install-sh"; sourceTree = "<group>"; };
- F96D444E08F272B9004A47F5 /* installManPage */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = installManPage; sourceTree = "<group>"; };
- F96D444F08F272B9004A47F5 /* ldAix */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = ldAix; sourceTree = "<group>"; };
- F96D445008F272B9004A47F5 /* Makefile.in */ = {isa = PBXFileReference; explicitFileType = sourcecode.make; fileEncoding = 4; path = Makefile.in; sourceTree = "<group>"; };
- F96D445208F272B9004A47F5 /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
- F96D445308F272B9004A47F5 /* tcl.m4 */ = {isa = PBXFileReference; explicitFileType = text.script.sh; fileEncoding = 4; path = tcl.m4; sourceTree = "<group>"; };
- F96D445408F272B9004A47F5 /* tcl.spec */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = tcl.spec; sourceTree = "<group>"; };
- F96D445508F272B9004A47F5 /* tclAppInit.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclAppInit.c; sourceTree = "<group>"; };
- F96D445608F272B9004A47F5 /* tclConfig.h.in */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; path = tclConfig.h.in; sourceTree = "<group>"; };
- F96D445708F272B9004A47F5 /* tclConfig.sh.in */ = {isa = PBXFileReference; explicitFileType = text.script.sh; fileEncoding = 4; path = tclConfig.sh.in; sourceTree = "<group>"; };
- F96D445808F272B9004A47F5 /* tclLoadAix.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclLoadAix.c; sourceTree = "<group>"; };
- F96D445908F272B9004A47F5 /* tclLoadDl.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclLoadDl.c; sourceTree = "<group>"; };
- F96D445B08F272B9004A47F5 /* tclLoadDyld.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclLoadDyld.c; sourceTree = "<group>"; };
- F96D445C08F272B9004A47F5 /* tclLoadNext.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclLoadNext.c; sourceTree = "<group>"; };
- F96D445D08F272B9004A47F5 /* tclLoadOSF.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclLoadOSF.c; sourceTree = "<group>"; };
- F96D445E08F272B9004A47F5 /* tclLoadShl.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclLoadShl.c; sourceTree = "<group>"; };
- F96D445F08F272B9004A47F5 /* tclUnixChan.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclUnixChan.c; sourceTree = "<group>"; };
- F96D446008F272B9004A47F5 /* tclUnixEvent.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclUnixEvent.c; sourceTree = "<group>"; };
- F96D446108F272B9004A47F5 /* tclUnixFCmd.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclUnixFCmd.c; sourceTree = "<group>"; };
- F96D446208F272B9004A47F5 /* tclUnixFile.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclUnixFile.c; sourceTree = "<group>"; };
- F96D446308F272B9004A47F5 /* tclUnixInit.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclUnixInit.c; sourceTree = "<group>"; };
- F96D446408F272B9004A47F5 /* tclUnixNotfy.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclUnixNotfy.c; sourceTree = "<group>"; };
- F96D446508F272B9004A47F5 /* tclUnixPipe.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclUnixPipe.c; sourceTree = "<group>"; };
- F96D446608F272B9004A47F5 /* tclUnixPort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclUnixPort.h; sourceTree = "<group>"; };
- F96D446708F272B9004A47F5 /* tclUnixSock.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclUnixSock.c; sourceTree = "<group>"; };
- F96D446808F272B9004A47F5 /* tclUnixTest.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclUnixTest.c; sourceTree = "<group>"; };
- F96D446908F272B9004A47F5 /* tclUnixThrd.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclUnixThrd.c; sourceTree = "<group>"; };
- F96D446A08F272B9004A47F5 /* tclUnixThrd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclUnixThrd.h; sourceTree = "<group>"; };
- F96D446B08F272B9004A47F5 /* tclUnixTime.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclUnixTime.c; sourceTree = "<group>"; };
- F96D446C08F272B9004A47F5 /* tclXtNotify.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclXtNotify.c; sourceTree = "<group>"; };
- F96D446D08F272B9004A47F5 /* tclXtTest.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclXtTest.c; sourceTree = "<group>"; };
- F96D447008F272BA004A47F5 /* aclocal.m4 */ = {isa = PBXFileReference; explicitFileType = text.script.sh; fileEncoding = 4; path = aclocal.m4; sourceTree = "<group>"; };
- F96D447108F272BA004A47F5 /* buildall.vc.bat */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = buildall.vc.bat; sourceTree = "<group>"; };
- F96D447208F272BA004A47F5 /* cat.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cat.c; sourceTree = "<group>"; };
- F96D447408F272BA004A47F5 /* configure */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = configure; sourceTree = "<group>"; };
- F96D447508F272BA004A47F5 /* configure.in */ = {isa = PBXFileReference; explicitFileType = text.script.sh; fileEncoding = 4; path = configure.in; sourceTree = "<group>"; };
- F96D447708F272BA004A47F5 /* Makefile.in */ = {isa = PBXFileReference; explicitFileType = sourcecode.make; fileEncoding = 4; path = Makefile.in; sourceTree = "<group>"; };
- F96D447808F272BA004A47F5 /* makefile.vc */ = {isa = PBXFileReference; explicitFileType = sourcecode.make; fileEncoding = 4; path = makefile.vc; sourceTree = "<group>"; };
- F96D447908F272BA004A47F5 /* nmakehlp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = nmakehlp.c; sourceTree = "<group>"; };
- F96D447A08F272BA004A47F5 /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
- F96D447C08F272BA004A47F5 /* rules.vc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = rules.vc; sourceTree = "<group>"; };
- F96D447D08F272BA004A47F5 /* stub16.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = stub16.c; sourceTree = "<group>"; };
- F96D447E08F272BA004A47F5 /* tcl.dsp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = tcl.dsp; sourceTree = "<group>"; };
- F96D447F08F272BA004A47F5 /* tcl.dsw */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = tcl.dsw; sourceTree = "<group>"; };
- F96D448008F272BA004A47F5 /* tcl.hpj.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = tcl.hpj.in; sourceTree = "<group>"; };
- F96D448108F272BA004A47F5 /* tcl.m4 */ = {isa = PBXFileReference; explicitFileType = text.script.sh; fileEncoding = 4; path = tcl.m4; sourceTree = "<group>"; };
- F96D448208F272BA004A47F5 /* tcl.rc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = tcl.rc; sourceTree = "<group>"; };
- F96D448308F272BA004A47F5 /* tclAppInit.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclAppInit.c; sourceTree = "<group>"; };
- F96D448408F272BA004A47F5 /* tclConfig.sh.in */ = {isa = PBXFileReference; explicitFileType = text.script.sh; fileEncoding = 4; path = tclConfig.sh.in; sourceTree = "<group>"; };
- F96D448608F272BA004A47F5 /* tclsh.rc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = tclsh.rc; sourceTree = "<group>"; };
- F96D448708F272BA004A47F5 /* tclWin32Dll.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclWin32Dll.c; sourceTree = "<group>"; };
- F96D448808F272BA004A47F5 /* tclWinChan.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclWinChan.c; sourceTree = "<group>"; };
- F96D448908F272BA004A47F5 /* tclWinConsole.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclWinConsole.c; sourceTree = "<group>"; };
- F96D448A08F272BA004A47F5 /* tclWinDde.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclWinDde.c; sourceTree = "<group>"; };
- F96D448B08F272BA004A47F5 /* tclWinError.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclWinError.c; sourceTree = "<group>"; };
- F96D448C08F272BA004A47F5 /* tclWinFCmd.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclWinFCmd.c; sourceTree = "<group>"; };
- F96D448D08F272BA004A47F5 /* tclWinFile.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclWinFile.c; sourceTree = "<group>"; };
- F96D448E08F272BA004A47F5 /* tclWinInit.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclWinInit.c; sourceTree = "<group>"; };
- F96D448F08F272BA004A47F5 /* tclWinInt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclWinInt.h; sourceTree = "<group>"; };
- F96D449008F272BA004A47F5 /* tclWinLoad.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclWinLoad.c; sourceTree = "<group>"; };
- F96D449108F272BA004A47F5 /* tclWinNotify.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclWinNotify.c; sourceTree = "<group>"; };
- F96D449208F272BA004A47F5 /* tclWinPipe.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclWinPipe.c; sourceTree = "<group>"; };
- F96D449308F272BA004A47F5 /* tclWinPort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclWinPort.h; sourceTree = "<group>"; };
- F96D449408F272BA004A47F5 /* tclWinReg.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclWinReg.c; sourceTree = "<group>"; };
- F96D449508F272BA004A47F5 /* tclWinSerial.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclWinSerial.c; sourceTree = "<group>"; };
- F96D449608F272BA004A47F5 /* tclWinSock.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclWinSock.c; sourceTree = "<group>"; };
- F96D449708F272BA004A47F5 /* tclWinTest.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclWinTest.c; sourceTree = "<group>"; };
- F96D449808F272BA004A47F5 /* tclWinThrd.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclWinThrd.c; sourceTree = "<group>"; };
- F96D449908F272BA004A47F5 /* tclWinThrd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclWinThrd.h; sourceTree = "<group>"; };
- F96D449A08F272BA004A47F5 /* tclWinTime.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclWinTime.c; sourceTree = "<group>"; };
- F973E5960EE99384001A648E /* vistaTheme.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = vistaTheme.tcl; sourceTree = "<group>"; };
- F974D56C0FBE7D6300BF728B /* http11.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = http11.test; sourceTree = "<group>"; };
- F974D56D0FBE7D6300BF728B /* httpd11.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = httpd11.tcl; sourceTree = "<group>"; };
- F974D5720FBE7DC600BF728B /* coroutine.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = coroutine.n; sourceTree = "<group>"; };
- F974D5760FBE7E1900BF728B /* tailcall.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = tailcall.n; sourceTree = "<group>"; };
- F974D5770FBE7E6100BF728B /* coroutine.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = coroutine.test; sourceTree = "<group>"; };
- F974D5780FBE7E6100BF728B /* tailcall.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tailcall.test; sourceTree = "<group>"; };
- F974D5790FBE7E9C00BF728B /* tcl.pc.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = tcl.pc.in; sourceTree = "<group>"; };
- F974D57B0FBE7EC000BF728B /* tk.pc.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = tk.pc.in; sourceTree = "<group>"; };
- F974D57C0FBE7EFF00BF728B /* iconlist.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = iconlist.tcl; sourceTree = "<group>"; };
- F974D57D0FBE7EFF00BF728B /* icons.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = icons.tcl; sourceTree = "<group>"; };
- F97590AE1039A96200558A9A /* Wish.sdef */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.sdef; path = Wish.sdef; sourceTree = "<group>"; };
- F976F6A70C325FB6005066D9 /* tkMacOSXPrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkMacOSXPrivate.h; sourceTree = "<group>"; };
- F97AE7F10B65C1E900310EA2 /* Tk-Common.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "Tk-Common.xcconfig"; sourceTree = "<group>"; };
- F97AE82B0B65C69B00310EA2 /* Tk-Release.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "Tk-Release.xcconfig"; sourceTree = "<group>"; };
- F97AE8330B65C87F00310EA2 /* Tk-Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "Tk-Debug.xcconfig"; sourceTree = "<group>"; };
- F98383650F0FA43900171CA6 /* checkbutton.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = checkbutton.test; sourceTree = "<group>"; };
- F98383680F0FA44700171CA6 /* radiobutton.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = radiobutton.test; sourceTree = "<group>"; };
- F9903CAF094FAADA004613E9 /* tclTomMath.decls */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tclTomMath.decls; sourceTree = "<group>"; };
- F9903CB0094FAADA004613E9 /* tclTomMathDecls.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclTomMathDecls.h; sourceTree = "<group>"; };
- F99388380EE0114B0065FE6B /* fontchooser.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = fontchooser.tcl; sourceTree = "<group>"; };
- F99388950EE02D980065FE6B /* fontchooser.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = fontchooser.test; sourceTree = "<group>"; };
- F99D61180EF5573A00BBFE01 /* TclZlib.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = TclZlib.3; sourceTree = "<group>"; };
- F9A3082D08F2D4AB00BAE1AB /* Tk.framework */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = wrapper.framework; path = Tk.framework; sourceTree = BUILT_PRODUCTS_DIR; };
- F9A3084B08F2D4CE00BAE1AB /* Wish.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Wish.app; sourceTree = BUILT_PRODUCTS_DIR; };
- F9A3084E08F2D4F400BAE1AB /* Tcl.framework */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = wrapper.framework; path = Tcl.framework; sourceTree = BUILT_PRODUCTS_DIR; };
- F9A493240CEBF38300B78AE2 /* chanio.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = chanio.test; sourceTree = "<group>"; };
- F9C888C20EEF6571003F63AD /* fontchooser.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = fontchooser.n; sourceTree = "<group>"; };
- F9C9CBFF0E84059800E00935 /* ApplicationServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ApplicationServices.framework; path = /System/Library/Frameworks/ApplicationServices.framework; sourceTree = "<absolute>"; };
- F9D1360A0CDC252C00DBE0B5 /* mclist.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = mclist.tcl; sourceTree = "<group>"; };
- F9DD99BC0F07DF850018B2E4 /* tkImgPNG.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkImgPNG.c; sourceTree = "<group>"; };
- F9DD99BF0F07DFCD0018B2E4 /* imgPNG.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = imgPNG.test; sourceTree = "<group>"; };
- F9ECB1120B26521500A28025 /* pkgIndex.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = pkgIndex.tcl; sourceTree = "<group>"; };
- F9ECB1130B26521500A28025 /* platform.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = platform.tcl; sourceTree = "<group>"; };
- F9ECB1140B26521500A28025 /* shell.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = shell.tcl; sourceTree = "<group>"; };
- F9ECB1CA0B2652D300A28025 /* apply.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = apply.test; sourceTree = "<group>"; };
- F9ECB1CB0B26534C00A28025 /* mathop.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = mathop.test; sourceTree = "<group>"; };
- F9ECB1E10B26543C00A28025 /* platform_shell.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = platform_shell.n; sourceTree = "<group>"; };
- F9ECB1E20B26543C00A28025 /* platform.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = platform.n; sourceTree = "<group>"; };
- F9F4415D0C8BAE6F00BCCD67 /* tclDTrace.d */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.dtrace; path = tclDTrace.d; sourceTree = "<group>"; };
- F9F4EFDC0CC7B3CA00378A27 /* ttkpane.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; languageSpecificationIdentifier = shell; path = ttkpane.tcl; sourceTree = "<group>"; };
- F9F4EFDD0CC7B3CB00378A27 /* ttkmenu.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; languageSpecificationIdentifier = shell; path = ttkmenu.tcl; sourceTree = "<group>"; };
- F9FC77B70AB29E9100B7077D /* tclUnixCompat.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclUnixCompat.c; sourceTree = "<group>"; };
- F9FD31F40CC1AD070073837D /* tktest-X11 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "tktest-X11"; sourceTree = BUILT_PRODUCTS_DIR; };
- F9FD32140CC1AF170073837D /* libX11.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libX11.dylib; path = /usr/X11R6/lib/libX11.dylib; sourceTree = "<absolute>"; };
- F9FD32150CC1AF170073837D /* libXext.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libXext.dylib; path = /usr/X11R6/lib/libXext.dylib; sourceTree = "<absolute>"; };
- F9FD32160CC1AF170073837D /* libXss.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libXss.dylib; path = /usr/X11R6/lib/libXss.dylib; sourceTree = "<absolute>"; };
- F9FD34990CC1BB0D0073837D /* libfreetype.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libfreetype.dylib; path = /usr/X11R6/lib/libfreetype.dylib; sourceTree = "<absolute>"; };
- F9FD349A0CC1BB0D0073837D /* libXft.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libXft.dylib; path = /usr/X11R6/lib/libXft.dylib; sourceTree = "<absolute>"; };
- F9FD34C30CC1BBD70073837D /* libfontconfig.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libfontconfig.dylib; path = /usr/X11R6/lib/libfontconfig.dylib; sourceTree = "<absolute>"; };
-/* End PBXFileReference section */
-
-/* Begin PBXFrameworksBuildPhase section */
- 8DD76FAD0486AB0100D96B5E /* Frameworks */ = {
- isa = PBXFrameworksBuildPhase;
- buildActionMask = 2147483647;
- files = (
- F966C07508F2820D005CB29B /* CoreFoundation.framework in Frameworks */,
- F96437E70EF0D652003F468E /* libz.dylib in Frameworks */,
- F966C07708F2821B005CB29B /* Carbon.framework in Frameworks */,
- F966C07908F28233005CB29B /* IOKit.framework in Frameworks */,
- F94523A20E6FC2AC00C1D987 /* Cocoa.framework in Frameworks */,
- F9C9CC000E84059800E00935 /* ApplicationServices.framework in Frameworks */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
- F9FD31E30CC1AD070073837D /* Frameworks */ = {
- isa = PBXFrameworksBuildPhase;
- buildActionMask = 2147483647;
- files = (
- F9FD31E40CC1AD070073837D /* CoreFoundation.framework in Frameworks */,
- F96437E80EF0D652003F468E /* libz.dylib in Frameworks */,
- F9FD32170CC1AF170073837D /* libX11.dylib in Frameworks */,
- F9FD32180CC1AF170073837D /* libXext.dylib in Frameworks */,
- F9FD32190CC1AF170073837D /* libXss.dylib in Frameworks */,
- F9FD349C0CC1BB0D0073837D /* libXft.dylib in Frameworks */,
- F9FD349B0CC1BB0D0073837D /* libfreetype.dylib in Frameworks */,
- F9FD34C40CC1BBD70073837D /* libfontconfig.dylib in Frameworks */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXFrameworksBuildPhase section */
-
-/* Begin PBXGroup section */
- 08FB7794FE84155DC02AAC07 /* Tk */ = {
- isa = PBXGroup;
- children = (
- F96D3DF708F271BE004A47F5 /* Tk Sources */,
- F96D3DF608F27169004A47F5 /* Tcl Sources */,
- F966C06F08F281DC005CB29B /* Frameworks */,
- 1AB674ADFE9D54B511CA2CBB /* Products */,
- );
- comments = "Copyright (c) 2004-2009 Daniel A. Steffen <das@users.sourceforge.net>\nCopyright 2008-2009, Apple Inc.\n\nSee the file \"license.terms\" for information on usage and redistribution of\nthis file, and for a DISCLAIMER OF ALL WARRANTIES.\n";
- name = Tk;
- path = .;
- sourceTree = SOURCE_ROOT;
- };
- 1AB674ADFE9D54B511CA2CBB /* Products */ = {
- isa = PBXGroup;
- children = (
- F9A3084B08F2D4CE00BAE1AB /* Wish.app */,
- F9A3082D08F2D4AB00BAE1AB /* Tk.framework */,
- F9A3084E08F2D4F400BAE1AB /* Tcl.framework */,
- 8DD76FB20486AB0100D96B5E /* tktest */,
- F9FD31F40CC1AD070073837D /* tktest-X11 */,
- );
- includeInIndex = 0;
- name = Products;
- sourceTree = "<group>";
- };
- F9183E690EFC81560030B814 /* pkgs */ = {
- isa = PBXGroup;
- children = (
- F9183E6A0EFC81560030B814 /* README */,
- F946FB8B0FBE3AED00CD6495 /* itcl */,
- F9183E8F0EFC817B0030B814 /* tdbc */,
- );
- path = pkgs;
- sourceTree = "<group>";
- };
- F966BA0308F27A37005CB29B /* bitmaps */ = {
- isa = PBXGroup;
- children = (
- F966BA0408F27A37005CB29B /* error.xbm */,
- F966BA0508F27A37005CB29B /* gray12.xbm */,
- F966BA0608F27A37005CB29B /* gray25.xbm */,
- F966BA0708F27A37005CB29B /* gray50.xbm */,
- F966BA0808F27A37005CB29B /* gray75.xbm */,
- F966BA0908F27A37005CB29B /* hourglass.xbm */,
- F966BA0A08F27A37005CB29B /* info.xbm */,
- F966BA0B08F27A37005CB29B /* questhead.xbm */,
- F966BA0C08F27A37005CB29B /* question.xbm */,
- F966BA0D08F27A37005CB29B /* warning.xbm */,
- );
- path = bitmaps;
- sourceTree = "<group>";
- };
- F966BA1008F27A37005CB29B /* doc */ = {
- isa = PBXGroup;
- children = (
- F966BA1108F27A37005CB29B /* 3DBorder.3 */,
- F966BA1208F27A37005CB29B /* AddOption.3 */,
- F966BA1308F27A37005CB29B /* bell.n */,
- F966BA1408F27A37005CB29B /* bind.n */,
- F966BA1508F27A37005CB29B /* BindTable.3 */,
- F966BA1608F27A37005CB29B /* bindtags.n */,
- F966BA1708F27A37005CB29B /* bitmap.n */,
- F966BA1808F27A37005CB29B /* button.n */,
- F966BA1908F27A37005CB29B /* canvas.n */,
- F966BA1A08F27A37005CB29B /* CanvPsY.3 */,
- F966BA1B08F27A37005CB29B /* CanvTkwin.3 */,
- F966BA1C08F27A37005CB29B /* CanvTxtInfo.3 */,
- F966BA1D08F27A37005CB29B /* checkbutton.n */,
- F966BA1E08F27A37005CB29B /* chooseColor.n */,
- F966BA1F08F27A37005CB29B /* chooseDirectory.n */,
- F966BA2008F27A37005CB29B /* Clipboard.3 */,
- F966BA2108F27A37005CB29B /* clipboard.n */,
- F966BA2208F27A37005CB29B /* ClrSelect.3 */,
- F966BA2308F27A37005CB29B /* colors.n */,
- F966BA2408F27A37005CB29B /* ConfigWidg.3 */,
- F966BA2508F27A37005CB29B /* ConfigWind.3 */,
- F966BA2608F27A37005CB29B /* console.n */,
- F966BA2708F27A37005CB29B /* CoordToWin.3 */,
- F966BA2808F27A37005CB29B /* CrtCmHdlr.3 */,
- F966BA2908F27A37005CB29B /* CrtErrHdlr.3 */,
- F966BA2A08F27A37005CB29B /* CrtGenHdlr.3 */,
- F966BA2B08F27A37005CB29B /* CrtImgType.3 */,
- F966BA2C08F27A37005CB29B /* CrtItemType.3 */,
- F966BA2D08F27A37005CB29B /* CrtPhImgFmt.3 */,
- F966BA2E08F27A37005CB29B /* CrtSelHdlr.3 */,
- F966BA2F08F27A37005CB29B /* CrtWindow.3 */,
- F966BA3008F27A37005CB29B /* cursors.n */,
- F966BA3108F27A37005CB29B /* DeleteImg.3 */,
- F966BA3208F27A37005CB29B /* destroy.n */,
- F966BA3308F27A37005CB29B /* dialog.n */,
- F966BA3408F27A37005CB29B /* DrawFocHlt.3 */,
- F966BA3508F27A37005CB29B /* entry.n */,
- F966BA3608F27A37005CB29B /* event.n */,
- F966BA3708F27A37005CB29B /* EventHndlr.3 */,
- F966BA3808F27A37005CB29B /* FindPhoto.3 */,
- F966BA3908F27A37005CB29B /* focus.n */,
- F966BA3A08F27A37005CB29B /* focusNext.n */,
- F966BA3B08F27A37005CB29B /* font.n */,
- F9C888C20EEF6571003F63AD /* fontchooser.n */,
- F966BA3C08F27A37005CB29B /* FontId.3 */,
- F966BA3D08F27A37005CB29B /* frame.n */,
- F966BA3E08F27A37005CB29B /* FreeXId.3 */,
- F966BA3F08F27A37005CB29B /* GeomReq.3 */,
- F966BA4008F27A37005CB29B /* GetAnchor.3 */,
- F966BA4108F27A37005CB29B /* GetBitmap.3 */,
- F966BA4208F27A37005CB29B /* GetCapStyl.3 */,
- F966BA4308F27A37005CB29B /* GetClrmap.3 */,
- F966BA4408F27A37005CB29B /* GetColor.3 */,
- F966BA4508F27A37005CB29B /* GetCursor.3 */,
- F966BA4608F27A37005CB29B /* GetDash.3 */,
- F966BA4708F27A37005CB29B /* GetFont.3 */,
- F966BA4808F27A37005CB29B /* GetGC.3 */,
- F966BA4908F27A37005CB29B /* GetHINSTANCE.3 */,
- F966BA4A08F27A37005CB29B /* GetHWND.3 */,
- F966BA4B08F27A37005CB29B /* GetImage.3 */,
- F966BA4C08F27A37005CB29B /* GetJoinStl.3 */,
- F966BA4D08F27A37005CB29B /* GetJustify.3 */,
- F966BA4E08F27A37005CB29B /* getOpenFile.n */,
- F966BA4F08F27A37005CB29B /* GetOption.3 */,
- F966BA5008F27A38005CB29B /* GetPixels.3 */,
- F966BA5108F27A38005CB29B /* GetPixmap.3 */,
- F966BA5208F27A38005CB29B /* GetRelief.3 */,
- F966BA5308F27A38005CB29B /* GetRootCrd.3 */,
- F966BA5408F27A38005CB29B /* GetScroll.3 */,
- F966BA5508F27A38005CB29B /* GetSelect.3 */,
- F966BA5608F27A38005CB29B /* GetUid.3 */,
- F966BA5708F27A38005CB29B /* GetVisual.3 */,
- F966BA5808F27A38005CB29B /* GetVRoot.3 */,
- F966BA5908F27A38005CB29B /* Grab.3 */,
- F966BA5A08F27A38005CB29B /* grab.n */,
- F966BA5B08F27A38005CB29B /* grid.n */,
- F966BA5C08F27A38005CB29B /* HandleEvent.3 */,
- F966BA5D08F27A38005CB29B /* HWNDToWindow.3 */,
- F966BA5E08F27A38005CB29B /* IdToWindow.3 */,
- F966BA5F08F27A38005CB29B /* image.n */,
- F966BA6008F27A38005CB29B /* ImgChanged.3 */,
- F966BA6108F27A38005CB29B /* Inactive.3 */,
- F966BA6208F27A38005CB29B /* InternAtom.3 */,
- F966BA6308F27A38005CB29B /* keysyms.n */,
- F966BA6408F27A38005CB29B /* label.n */,
- F966BA6508F27A38005CB29B /* labelframe.n */,
- F966BA6608F27A38005CB29B /* listbox.n */,
- F966BA6708F27A38005CB29B /* loadTk.n */,
- F966BA6808F27A38005CB29B /* lower.n */,
- F966BA6908F27A38005CB29B /* MainLoop.3 */,
- F966BA6A08F27A38005CB29B /* MaintGeom.3 */,
- F966BA6B08F27A38005CB29B /* MainWin.3 */,
- F966BA6D08F27A38005CB29B /* ManageGeom.3 */,
- F966BA6E08F27A38005CB29B /* MapWindow.3 */,
- F966BA6F08F27A38005CB29B /* MeasureChar.3 */,
- F966BA7008F27A38005CB29B /* menu.n */,
- F966BA7108F27A38005CB29B /* menubar.n */,
- F966BA7208F27A38005CB29B /* menubutton.n */,
- F966BA7308F27A38005CB29B /* message.n */,
- F966BA7408F27A38005CB29B /* messageBox.n */,
- F966BA7508F27A38005CB29B /* MoveToplev.3 */,
- F966BA7608F27A38005CB29B /* Name.3 */,
- F966BA7708F27A38005CB29B /* NameOfImg.3 */,
- F966BA7808F27A38005CB29B /* option.n */,
- F966BA7908F27A38005CB29B /* optionMenu.n */,
- F966BA7A08F27A38005CB29B /* options.n */,
- F966BA7B08F27A38005CB29B /* OwnSelect.3 */,
- F966BA7C08F27A38005CB29B /* pack-old.n */,
- F966BA7D08F27A38005CB29B /* pack.n */,
- F966BA7E08F27A38005CB29B /* palette.n */,
- F966BA7F08F27A38005CB29B /* panedwindow.n */,
- F966BA8008F27A38005CB29B /* ParseArgv.3 */,
- F966BA8108F27A38005CB29B /* photo.n */,
- F966BA8208F27A38005CB29B /* place.n */,
- F966BA8308F27A38005CB29B /* popup.n */,
- F966BA8408F27A38005CB29B /* QWinEvent.3 */,
- F966BA8508F27A38005CB29B /* radiobutton.n */,
- F966BA8608F27A38005CB29B /* raise.n */,
- F966BA8708F27A38005CB29B /* Restack.3 */,
- F966BA8808F27A38005CB29B /* RestrictEv.3 */,
- F966BA8908F27A38005CB29B /* scale.n */,
- F966BA8A08F27A38005CB29B /* scrollbar.n */,
- F966BA8B08F27A38005CB29B /* selection.n */,
- F966BA8C08F27A38005CB29B /* send.n */,
- F966BA8D08F27A38005CB29B /* SetAppName.3 */,
- F966BA8E08F27A38005CB29B /* SetCaret.3 */,
- F966BA8F08F27A38005CB29B /* SetClass.3 */,
- F966BA9008F27A38005CB29B /* SetClassProcs.3 */,
- F966BA9108F27A38005CB29B /* SetGrid.3 */,
- F966BA9208F27A38005CB29B /* SetOptions.3 */,
- F966BA9308F27A38005CB29B /* SetVisual.3 */,
- F966BA9408F27A38005CB29B /* spinbox.n */,
- F966BA9508F27A38005CB29B /* StrictMotif.3 */,
- F966BA9608F27A38005CB29B /* text.n */,
- F966BA9708F27A38005CB29B /* TextLayout.3 */,
- F966BA9808F27A38005CB29B /* tk.n */,
- F966BA9A08F27A38005CB29B /* Tk_Init.3 */,
- F966BA9B08F27A38005CB29B /* Tk_Main.3 */,
- F966BA9C08F27A38005CB29B /* tkerror.n */,
- F966BA9D08F27A38005CB29B /* TkInitStubs.3 */,
- F966BA9E08F27A38005CB29B /* tkvars.n */,
- F966BA9F08F27A38005CB29B /* tkwait.n */,
- F966BAA008F27A38005CB29B /* toplevel.n */,
- F968886B0AF788F6000797B5 /* ttk_button.n */,
- F968886C0AF788F6000797B5 /* ttk_checkbutton.n */,
- F968886D0AF788F6000797B5 /* ttk_combobox.n */,
- F968886F0AF788F6000797B5 /* ttk_entry.n */,
- F96888700AF788F6000797B5 /* ttk_frame.n */,
- F96888710AF788F6000797B5 /* ttk_Geometry.3 */,
- F96888720AF788F6000797B5 /* ttk_image.n */,
- F96888730AF788F6000797B5 /* ttk_intro.n */,
- F96888740AF788F6000797B5 /* ttk_label.n */,
- F96888750AF788F6000797B5 /* ttk_labelframe.n */,
- F96888760AF788F6000797B5 /* ttk_menubutton.n */,
- F96888770AF788F6000797B5 /* ttk_notebook.n */,
- F96888780AF788F6000797B5 /* ttk_panedwindow.n */,
- F96888790AF788F6000797B5 /* ttk_progressbar.n */,
- F968887A0AF788F6000797B5 /* ttk_radiobutton.n */,
- F968887B0AF788F6000797B5 /* ttk_scrollbar.n */,
- F968887C0AF788F6000797B5 /* ttk_separator.n */,
- F968887D0AF788F6000797B5 /* ttk_sizegrip.n */,
- F968887E0AF788F6000797B5 /* ttk_style.n */,
- F968887F0AF788F6000797B5 /* ttk_Theme.3 */,
- F96888800AF788F6000797B5 /* ttk_treeview.n */,
- F96888810AF788F6000797B5 /* ttk_widget.n */,
- F966BAA108F27A38005CB29B /* WindowId.3 */,
- F966BAA208F27A38005CB29B /* winfo.n */,
- F966BAA308F27A38005CB29B /* wish.1 */,
- F966BAA408F27A38005CB29B /* wm.n */,
- );
- path = doc;
- sourceTree = "<group>";
- };
- F966BAA508F27A38005CB29B /* generic */ = {
- isa = PBXGroup;
- children = (
- F966BAA608F27A38005CB29B /* default.h */,
- F966BAA708F27A38005CB29B /* ks_names.h */,
- F966BAA908F27A39005CB29B /* README */,
- F966BAAA08F27A39005CB29B /* tk.decls */,
- F966BAAB08F27A39005CB29B /* tk.h */,
- F966BAAC08F27A39005CB29B /* tk3d.c */,
- F966BAAD08F27A39005CB29B /* tk3d.h */,
- F966BAAE08F27A39005CB29B /* tkArgv.c */,
- F966BAAF08F27A39005CB29B /* tkAtom.c */,
- F966BAB008F27A39005CB29B /* tkBind.c */,
- F966BAB108F27A39005CB29B /* tkBitmap.c */,
- F9152B080EAF8A5000CD5C7B /* tkBusy.c */,
- F966BAB208F27A39005CB29B /* tkButton.c */,
- F966BAB308F27A39005CB29B /* tkButton.h */,
- F966BAB408F27A39005CB29B /* tkCanvArc.c */,
- F966BAB508F27A39005CB29B /* tkCanvas.c */,
- F966BAB608F27A39005CB29B /* tkCanvas.h */,
- F966BAB708F27A39005CB29B /* tkCanvBmap.c */,
- F966BAB808F27A39005CB29B /* tkCanvImg.c */,
- F966BAB908F27A39005CB29B /* tkCanvLine.c */,
- F966BABA08F27A39005CB29B /* tkCanvPoly.c */,
- F966BABB08F27A39005CB29B /* tkCanvPs.c */,
- F966BABD08F27A39005CB29B /* tkCanvText.c */,
- F966BABE08F27A39005CB29B /* tkCanvUtil.c */,
- F966BABF08F27A39005CB29B /* tkCanvWind.c */,
- F966BAC008F27A39005CB29B /* tkClipboard.c */,
- F966BAC108F27A39005CB29B /* tkCmds.c */,
- F966BAC208F27A39005CB29B /* tkColor.c */,
- F966BAC308F27A39005CB29B /* tkColor.h */,
- F966BAC408F27A39005CB29B /* tkConfig.c */,
- F966BAC508F27A39005CB29B /* tkConsole.c */,
- F966BAC608F27A39005CB29B /* tkCursor.c */,
- F966BAC708F27A39005CB29B /* tkDecls.h */,
- F966BAC808F27A39005CB29B /* tkEntry.c */,
- F966BAC908F27A39005CB29B /* tkEntry.h */,
- F966BACA08F27A39005CB29B /* tkError.c */,
- F966BACB08F27A39005CB29B /* tkEvent.c */,
- F966BACC08F27A39005CB29B /* tkFileFilter.c */,
- F966BACD08F27A39005CB29B /* tkFileFilter.h */,
- F966BACE08F27A39005CB29B /* tkFocus.c */,
- F966BACF08F27A39005CB29B /* tkFont.c */,
- F966BAD008F27A39005CB29B /* tkFont.h */,
- F966BAD108F27A39005CB29B /* tkFrame.c */,
- F966BAD208F27A39005CB29B /* tkGC.c */,
- F966BAD308F27A39005CB29B /* tkGeometry.c */,
- F966BAD408F27A39005CB29B /* tkGet.c */,
- F966BAD508F27A39005CB29B /* tkGrab.c */,
- F966BAD608F27A39005CB29B /* tkGrid.c */,
- F966BAD708F27A39005CB29B /* tkImage.c */,
- F966BAD808F27A39005CB29B /* tkImgBmap.c */,
- F966BAD908F27A39005CB29B /* tkImgGIF.c */,
- F92EE8BE0E62F846001A6E80 /* tkImgPhInstance.c */,
- F966BADA08F27A39005CB29B /* tkImgPhoto.c */,
- F9DD99BC0F07DF850018B2E4 /* tkImgPNG.c */,
- F966BADB08F27A39005CB29B /* tkImgPPM.c */,
- F966BADC08F27A39005CB29B /* tkImgUtil.c */,
- F966BADE08F27A39005CB29B /* tkInt.decls */,
- F966BADF08F27A39005CB29B /* tkInt.h */,
- F966BAE108F27A39005CB29B /* tkIntDecls.h */,
- F966BAE208F27A39005CB29B /* tkIntPlatDecls.h */,
- F966BAE308F27A39005CB29B /* tkIntXlibDecls.h */,
- F966BAE408F27A39005CB29B /* tkListbox.c */,
- F966BAE508F27A39005CB29B /* tkMacWinMenu.c */,
- F966BAE608F27A39005CB29B /* tkMain.c */,
- F966BAE708F27A39005CB29B /* tkMenu.c */,
- F966BAE808F27A39005CB29B /* tkMenu.h */,
- F966BAE908F27A39005CB29B /* tkMenubutton.c */,
- F966BAEA08F27A39005CB29B /* tkMenubutton.h */,
- F966BAEB08F27A39005CB29B /* tkMenuDraw.c */,
- F966BAEC08F27A39005CB29B /* tkMessage.c */,
- F966BAED08F27A39005CB29B /* tkObj.c */,
- F966BAEE08F27A39005CB29B /* tkOldConfig.c */,
- F966BAEF08F27A39005CB29B /* tkOption.c */,
- F966BAF008F27A39005CB29B /* tkPack.c */,
- F966BAF108F27A39005CB29B /* tkPanedWindow.c */,
- F966BAF208F27A39005CB29B /* tkPlace.c */,
- F966BAF308F27A39005CB29B /* tkPlatDecls.h */,
- F966BAF408F27A39005CB29B /* tkPointer.c */,
- F966BAF508F27A39005CB29B /* tkPort.h */,
- F966BAF608F27A39005CB29B /* tkRectOval.c */,
- F966BAF708F27A39005CB29B /* tkScale.c */,
- F966BAF808F27A39005CB29B /* tkScale.h */,
- F966BAF908F27A39005CB29B /* tkScrollbar.c */,
- F966BAFA08F27A39005CB29B /* tkScrollbar.h */,
- F966BAFB08F27A39005CB29B /* tkSelect.c */,
- F966BAFC08F27A39005CB29B /* tkSelect.h */,
- F966BAFD08F27A39005CB29B /* tkSquare.c */,
- F966BAFE08F27A39005CB29B /* tkOldTest.c */,
- F966BAFF08F27A39005CB29B /* tkStubInit.c */,
- F966BB0008F27A39005CB29B /* tkStubLib.c */,
- F966BB0108F27A39005CB29B /* tkStyle.c */,
- F966BB0208F27A39005CB29B /* tkTest.c */,
- F966BB0308F27A39005CB29B /* tkText.c */,
- F966BB0408F27A39005CB29B /* tkText.h */,
- F966BB0508F27A39005CB29B /* tkTextBTree.c */,
- F966BB0608F27A39005CB29B /* tkTextDisp.c */,
- F966BB0808F27A39005CB29B /* tkTextImage.c */,
- F966BB0908F27A39005CB29B /* tkTextIndex.c */,
- F966BB0A08F27A39005CB29B /* tkTextMark.c */,
- F966BB0B08F27A39005CB29B /* tkTextTag.c */,
- F966BB0C08F27A39005CB29B /* tkTextWind.c */,
- F966BB0D08F27A39005CB29B /* tkTrig.c */,
- F966BB0E08F27A39005CB29B /* tkUndo.c */,
- F966BB0F08F27A39005CB29B /* tkUndo.h */,
- F966BB1008F27A39005CB29B /* tkUtil.c */,
- F966BB1108F27A39005CB29B /* tkVisual.c */,
- F966BB1208F27A39005CB29B /* tkWindow.c */,
- F96887DF0AF786D5000797B5 /* ttk */,
- );
- path = generic;
- sourceTree = "<group>";
- };
- F966BB1308F27A39005CB29B /* library */ = {
- isa = PBXGroup;
- children = (
- F966BB1408F27A39005CB29B /* bgerror.tcl */,
- F966BB1508F27A39005CB29B /* button.tcl */,
- F966BB1608F27A39005CB29B /* choosedir.tcl */,
- F966BB1708F27A39005CB29B /* clrpick.tcl */,
- F966BB1808F27A39005CB29B /* comdlg.tcl */,
- F966BB1908F27A39005CB29B /* console.tcl */,
- F966BB1A08F27A39005CB29B /* demos */,
- F966BB6208F27A3A005CB29B /* dialog.tcl */,
- F966BB6308F27A3A005CB29B /* entry.tcl */,
- F966BB6408F27A3A005CB29B /* focus.tcl */,
- F99388380EE0114B0065FE6B /* fontchooser.tcl */,
- F974D57C0FBE7EFF00BF728B /* iconlist.tcl */,
- F974D57D0FBE7EFF00BF728B /* icons.tcl */,
- F966BB7308F27A3A005CB29B /* listbox.tcl */,
- F966BB7408F27A3A005CB29B /* menu.tcl */,
- F966BB7508F27A3A005CB29B /* mkpsenc.tcl */,
- F966BB7608F27A3A005CB29B /* msgbox.tcl */,
- F966BB8608F27A3A005CB29B /* obsolete.tcl */,
- F966BB8708F27A3A005CB29B /* optMenu.tcl */,
- F966BB8808F27A3A005CB29B /* palette.tcl */,
- F966BB8908F27A3B005CB29B /* panedwindow.tcl */,
- F966BB8B08F27A3B005CB29B /* safetk.tcl */,
- F966BB8C08F27A3B005CB29B /* scale.tcl */,
- F966BB8D08F27A3B005CB29B /* scrlbar.tcl */,
- F966BB8E08F27A3B005CB29B /* spinbox.tcl */,
- F966BB8F08F27A3B005CB29B /* tclIndex */,
- F966BB9008F27A3B005CB29B /* tearoff.tcl */,
- F966BB9108F27A3B005CB29B /* text.tcl */,
- F966BB9208F27A3B005CB29B /* tk.tcl */,
- F966BB9308F27A3B005CB29B /* tkfbox.tcl */,
- F96888360AF787B3000797B5 /* ttk */,
- F966BB9408F27A3B005CB29B /* unsupported.tcl */,
- F966BB9508F27A3B005CB29B /* xmfbox.tcl */,
- );
- path = library;
- sourceTree = "<group>";
- };
- F966BB1A08F27A39005CB29B /* demos */ = {
- isa = PBXGroup;
- children = (
- F966BB1B08F27A39005CB29B /* anilabel.tcl */,
- F966BB1C08F27A39005CB29B /* aniwave.tcl */,
- F966BB1D08F27A39005CB29B /* arrow.tcl */,
- F966BB1E08F27A39005CB29B /* bind.tcl */,
- F966BB1F08F27A39005CB29B /* bitmap.tcl */,
- F966BB2008F27A39005CB29B /* browse */,
- F966BB2108F27A39005CB29B /* button.tcl */,
- F966BB2208F27A39005CB29B /* check.tcl */,
- F966BB2308F27A39005CB29B /* clrpick.tcl */,
- F966BB2408F27A39005CB29B /* colors.tcl */,
- F936FCDB0CCD984600716967 /* combo.tcl */,
- F966BB2508F27A39005CB29B /* cscroll.tcl */,
- F966BB2608F27A39005CB29B /* ctext.tcl */,
- F966BB2708F27A39005CB29B /* dialog1.tcl */,
- F966BB2808F27A39005CB29B /* dialog2.tcl */,
- F966BB2A08F27A39005CB29B /* entry1.tcl */,
- F966BB2B08F27A39005CB29B /* entry2.tcl */,
- F966BB2C08F27A39005CB29B /* entry3.tcl */,
- F966BB2D08F27A39005CB29B /* filebox.tcl */,
- F966BB2E08F27A39005CB29B /* floor.tcl */,
- F91543270EF201A90032D1E8 /* fontchoose.tcl */,
- F966BB2F08F27A39005CB29B /* form.tcl */,
- F966BB3008F27A39005CB29B /* goldberg.tcl */,
- F966BB3108F27A39005CB29B /* hello */,
- F966BB3208F27A39005CB29B /* hscale.tcl */,
- F966BB3308F27A39005CB29B /* icon.tcl */,
- F966BB3408F27A39005CB29B /* image1.tcl */,
- F966BB3508F27A39005CB29B /* image2.tcl */,
- F966BB4208F27A3A005CB29B /* items.tcl */,
- F966BB4308F27A3A005CB29B /* ixset */,
- F92240290D7C620F005EC715 /* knightstour.tcl */,
- F966BB4408F27A3A005CB29B /* label.tcl */,
- F966BB4508F27A3A005CB29B /* labelframe.tcl */,
- F9D1360A0CDC252C00DBE0B5 /* mclist.tcl */,
- F966BB4608F27A3A005CB29B /* menu.tcl */,
- F966BB4708F27A3A005CB29B /* menubu.tcl */,
- F966BB4808F27A3A005CB29B /* msgbox.tcl */,
- F966BB4A08F27A3A005CB29B /* paned1.tcl */,
- F966BB4B08F27A3A005CB29B /* paned2.tcl */,
- F966BB4C08F27A3A005CB29B /* pendulum.tcl */,
- F966BB4D08F27A3A005CB29B /* plot.tcl */,
- F966BB4E08F27A3A005CB29B /* puzzle.tcl */,
- F966BB4F08F27A3A005CB29B /* radio.tcl */,
- F966BB5008F27A3A005CB29B /* README */,
- F966BB5108F27A3A005CB29B /* rmt */,
- F966BB5208F27A3A005CB29B /* rolodex */,
- F966BB5308F27A3A005CB29B /* ruler.tcl */,
- F966BB5408F27A3A005CB29B /* sayings.tcl */,
- F966BB5508F27A3A005CB29B /* search.tcl */,
- F966BB5608F27A3A005CB29B /* spin.tcl */,
- F966BB5708F27A3A005CB29B /* square */,
- F966BB5808F27A3A005CB29B /* states.tcl */,
- F966BB5908F27A3A005CB29B /* style.tcl */,
- F966BB5A08F27A3A005CB29B /* tclIndex */,
- F966BB5B08F27A3A005CB29B /* tcolor */,
- F966BB5C08F27A3A005CB29B /* text.tcl */,
- F9099B8A0CC67D30005A9580 /* textpeer.tcl */,
- F966BB5D08F27A3A005CB29B /* timer */,
- F936FCD90CCD984600716967 /* toolbar.tcl */,
- F936FCD80CCD984600716967 /* tree.tcl */,
- F9099B8B0CC67D3E005A9580 /* ttkbut.tcl */,
- F9F4EFDD0CC7B3CB00378A27 /* ttkmenu.tcl */,
- F936FCDA0CCD984600716967 /* ttknote.tcl */,
- F9F4EFDC0CC7B3CA00378A27 /* ttkpane.tcl */,
- F936FCD70CCD984500716967 /* ttkprogress.tcl */,
- F966BB5E08F27A3A005CB29B /* twind.tcl */,
- F966BB5F08F27A3A005CB29B /* unicodeout.tcl */,
- F966BB6008F27A3A005CB29B /* vscale.tcl */,
- F966BB6108F27A3A005CB29B /* widget */,
- );
- path = demos;
- sourceTree = "<group>";
- };
- F966BB9708F27A3B005CB29B /* macosx */ = {
- isa = PBXGroup;
- children = (
- F966BBBA08F27A3B005CB29B /* configure.ac */,
- F966BBBB08F27A3B005CB29B /* GNUmakefile */,
- F966BBBE08F27A3B005CB29B /* README */,
- F966BBC008F27A3B005CB29B /* Tk-Info.plist.in */,
- F966BBC208F27A3B005CB29B /* tkMacOSX.h */,
- F966BBC508F27A3B005CB29B /* tkMacOSXBitmap.c */,
- F966BBC608F27A3B005CB29B /* tkMacOSXButton.c */,
- F966BBC808F27A3B005CB29B /* tkMacOSXClipboard.c */,
- F966BBC908F27A3B005CB29B /* tkMacOSXColor.c */,
- F966BBCA08F27A3B005CB29B /* tkMacOSXConfig.c */,
- F966BBCB08F27A3B005CB29B /* tkMacOSXCursor.c */,
- F966BBCC08F27A3B005CB29B /* tkMacOSXCursors.h */,
- F966BBCD08F27A3B005CB29B /* tkMacOSXDebug.c */,
- F966BBCE08F27A3B005CB29B /* tkMacOSXDebug.h */,
- F966BBCF08F27A3B005CB29B /* tkMacOSXDefault.h */,
- F966BBD008F27A3B005CB29B /* tkMacOSXDialog.c */,
- F966BBD108F27A3B005CB29B /* tkMacOSXDraw.c */,
- F966BBD208F27A3B005CB29B /* tkMacOSXEmbed.c */,
- F966BBD308F27A3B005CB29B /* tkMacOSXEntry.c */,
- F966BBD408F27A3B005CB29B /* tkMacOSXEvent.c */,
- F966BBD508F27A3B005CB29B /* tkMacOSXEvent.h */,
- F966BBD608F27A3B005CB29B /* tkMacOSXFont.c */,
- F93E5EFD09CF8711008FA367 /* tkMacOSXFont.h */,
- F966BBD708F27A3B005CB29B /* tkMacOSXHLEvents.c */,
- F966BBD808F27A3B005CB29B /* tkMacOSXInit.c */,
- F966BBDA08F27A3B005CB29B /* tkMacOSXInt.h */,
- F966BBDB08F27A3B005CB29B /* tkMacOSXKeyboard.c */,
- F966BBDC08F27A3B005CB29B /* tkMacOSXKeyEvent.c */,
- F966BBDD08F27A3B005CB29B /* tkMacOSXMenu.c */,
- F966BBE008F27A3B005CB29B /* tkMacOSXMenubutton.c */,
- F966BBE108F27A3B005CB29B /* tkMacOSXMenus.c */,
- F966BBE208F27A3B005CB29B /* tkMacOSXMouseEvent.c */,
- F966BBE308F27A3B005CB29B /* tkMacOSXNotify.c */,
- F966BBEA08F27A3C005CB29B /* tkMacOSXPort.h */,
- F976F6A70C325FB6005066D9 /* tkMacOSXPrivate.h */,
- F966BBEB08F27A3C005CB29B /* tkMacOSXRegion.c */,
- F966BBEC08F27A3C005CB29B /* tkMacOSXScale.c */,
- F966BBED08F27A3C005CB29B /* tkMacOSXScrlbr.c */,
- F966BBEE08F27A3C005CB29B /* tkMacOSXSend.c */,
- F966BBEF08F27A3C005CB29B /* tkMacOSXSubwindows.c */,
- F966BBF008F27A3C005CB29B /* tkMacOSXTest.c */,
- F966BBF108F27A3C005CB29B /* tkMacOSXWindowEvent.c */,
- F966BBF208F27A3C005CB29B /* tkMacOSXWm.c */,
- F966BBF308F27A3C005CB29B /* tkMacOSXWm.h */,
- F966BBF408F27A3C005CB29B /* tkMacOSXXCursors.h */,
- F966BBF508F27A3C005CB29B /* tkMacOSXXStubs.c */,
- F96888840AF78938000797B5 /* ttkMacOSXTheme.c */,
- F95D8D4B0F1715610006B020 /* Tk.icns */,
- F95D8D4C0F1715610006B020 /* Tk.tiff */,
- F966BBF708F27A3C005CB29B /* Wish-Info.plist.in */,
- F97590AE1039A96200558A9A /* Wish.sdef */,
- F97AE7F10B65C1E900310EA2 /* Tk-Common.xcconfig */,
- F97AE8330B65C87F00310EA2 /* Tk-Debug.xcconfig */,
- F97AE82B0B65C69B00310EA2 /* Tk-Release.xcconfig */,
- );
- path = macosx;
- sourceTree = "<group>";
- };
- F966BC0408F27A3C005CB29B /* tests */ = {
- isa = PBXGroup;
- children = (
- F966BC0508F27A3C005CB29B /* all.tcl */,
- F966BC0608F27A3C005CB29B /* arc.tcl */,
- F966BC0708F27A3C005CB29B /* bell.test */,
- F966BC0808F27A3C005CB29B /* bevel.tcl */,
- F966BC0908F27A3C005CB29B /* bgerror.test */,
- F966BC0A08F27A3C005CB29B /* bind.test */,
- F966BC0B08F27A3C005CB29B /* bitmap.test */,
- F966BC0C08F27A3C005CB29B /* border.test */,
- F966BC0D08F27A3C005CB29B /* bugs.tcl */,
- F966BC0E08F27A3C005CB29B /* butGeom.tcl */,
- F966BC0F08F27A3C005CB29B /* butGeom2.tcl */,
- F966BC1008F27A3C005CB29B /* button.test */,
- F966BC1108F27A3C005CB29B /* canvas.test */,
- F966BC1208F27A3C005CB29B /* canvImg.test */,
- F966BC1308F27A3C005CB29B /* canvPs.test */,
- F966BC1408F27A3C005CB29B /* canvPsArc.tcl */,
- F966BC1508F27A3C005CB29B /* canvPsBmap.tcl */,
- F966BC1608F27A3C005CB29B /* canvPsGrph.tcl */,
- F966BC1708F27A3C005CB29B /* canvPsImg.tcl */,
- F966BC1808F27A3C005CB29B /* canvPsText.tcl */,
- F966BC1908F27A3C005CB29B /* canvRect.test */,
- F966BC1A08F27A3C005CB29B /* canvText.test */,
- F966BC1B08F27A3C005CB29B /* canvWind.test */,
- F966BC1C08F27A3C005CB29B /* choosedir.test */,
- F966BC1D08F27A3C005CB29B /* clipboard.test */,
- F966BC1E08F27A3C005CB29B /* clrpick.test */,
- F966BC1F08F27A3C005CB29B /* cmap.tcl */,
- F966BC2008F27A3C005CB29B /* cmds.test */,
- F966BC2108F27A3C005CB29B /* color.test */,
- F966BC2208F27A3C005CB29B /* config.test */,
- F966BC2308F27A3C005CB29B /* constraints.tcl */,
- F966BC2408F27A3C005CB29B /* cursor.test */,
- F966BC2508F27A3C005CB29B /* dialog.test */,
- F966BC2608F27A3C005CB29B /* embed.test */,
- F966BC2708F27A3C005CB29B /* entry.test */,
- F966BC2808F27A3C005CB29B /* event.test */,
- F966BC2908F27A3C005CB29B /* filebox.test */,
- F966BC2A08F27A3C005CB29B /* focus.test */,
- F966BC2B08F27A3C005CB29B /* focusTcl.test */,
- F966BC2C08F27A3C005CB29B /* font.test */,
- F99388950EE02D980065FE6B /* fontchooser.test */,
- F966BC2D08F27A3C005CB29B /* frame.test */,
- F966BC2E08F27A3C005CB29B /* geometry.test */,
- F966BC2F08F27A3C005CB29B /* get.test */,
- F966BC3008F27A3C005CB29B /* grab.test */,
- F966BC3108F27A3C005CB29B /* grid.test */,
- F966BC3308F27A3C005CB29B /* image.test */,
- F966BC3408F27A3C005CB29B /* imgBmap.test */,
- F966BC3508F27A3C005CB29B /* imgPhoto.test */,
- F9DD99BF0F07DFCD0018B2E4 /* imgPNG.test */,
- F966BC3608F27A3C005CB29B /* imgPPM.test */,
- F966BC3708F27A3C005CB29B /* listbox.test */,
- F966BC3808F27A3C005CB29B /* main.test */,
- F966BC3908F27A3C005CB29B /* menu.test */,
- F966BC3A08F27A3C005CB29B /* menubut.test */,
- F966BC3B08F27A3C005CB29B /* menuDraw.test */,
- F966BC3C08F27A3C005CB29B /* message.test */,
- F966BC3D08F27A3C005CB29B /* msgbox.test */,
- F966BC3E08F27A3C005CB29B /* obj.test */,
- F966BC3F08F27A3C005CB29B /* oldpack.test */,
- F966BC4008F27A3C005CB29B /* option.file1 */,
- F966BC4108F27A3C005CB29B /* option.file2 */,
- F966BC4208F27A3C005CB29B /* option.test */,
- F966BC4308F27A3C005CB29B /* pack.test */,
- F966BC4408F27A3C005CB29B /* panedwindow.test */,
- F966BC4508F27A3D005CB29B /* place.test */,
- F966BC4608F27A3D005CB29B /* raise.test */,
- F966BC4708F27A3D005CB29B /* README */,
- F966BC4808F27A3D005CB29B /* safe.test */,
- F966BC4908F27A3D005CB29B /* scale.test */,
- F966BC4A08F27A3D005CB29B /* scrollbar.test */,
- F966BC4B08F27A3D005CB29B /* select.test */,
- F966BC4C08F27A3D005CB29B /* send.test */,
- F966BC4D08F27A3D005CB29B /* spinbox.test */,
- F966BC4E08F27A3D005CB29B /* text.test */,
- F966BC4F08F27A3D005CB29B /* textBTree.test */,
- F966BC5008F27A3D005CB29B /* textDisp.test */,
- F966BC5108F27A3D005CB29B /* textImage.test */,
- F966BC5208F27A3D005CB29B /* textIndex.test */,
- F966BC5308F27A3D005CB29B /* textMark.test */,
- F966BC5408F27A3D005CB29B /* textTag.test */,
- F966BC5508F27A3D005CB29B /* textWind.test */,
- F966BC5608F27A3D005CB29B /* tk.test */,
- F96888530AF7880C000797B5 /* ttk */,
- F966BC5708F27A3D005CB29B /* unixButton.test */,
- F966BC5808F27A3D005CB29B /* unixEmbed.test */,
- F966BC5908F27A3D005CB29B /* unixFont.test */,
- F966BC5A08F27A3D005CB29B /* unixMenu.test */,
- F966BC5B08F27A3D005CB29B /* unixSelect.test */,
- F966BC5C08F27A3D005CB29B /* unixWm.test */,
- F966BC5D08F27A3D005CB29B /* util.test */,
- F966BC5E08F27A3D005CB29B /* visual.test */,
- F966BC5F08F27A3D005CB29B /* visual_bb.test */,
- F966BC6008F27A3D005CB29B /* winButton.test */,
- F966BC6108F27A3D005CB29B /* winClipboard.test */,
- F966BC6208F27A3D005CB29B /* winDialog.test */,
- F966BC6308F27A3D005CB29B /* window.test */,
- F966BC6408F27A3D005CB29B /* winfo.test */,
- F966BC6508F27A3D005CB29B /* winFont.test */,
- F966BC6608F27A3D005CB29B /* winMenu.test */,
- F966BC6708F27A3D005CB29B /* winSend.test */,
- F966BC6808F27A3D005CB29B /* winWm.test */,
- F966BC6908F27A3D005CB29B /* wm.test */,
- F966BC6A08F27A3D005CB29B /* xmfbox.test */,
- );
- path = tests;
- sourceTree = "<group>";
- };
- F966BC6B08F27A3D005CB29B /* unix */ = {
- isa = PBXGroup;
- children = (
- F966BC6C08F27A3D005CB29B /* aclocal.m4 */,
- F966BC6D08F27A3D005CB29B /* configure */,
- F966BC6E08F27A3D005CB29B /* configure.in */,
- F966BC6F08F27A3D005CB29B /* install-sh */,
- F966BC7008F27A3D005CB29B /* installManPage */,
- F966BC7108F27A3D005CB29B /* Makefile.in */,
- F966BC7208F27A3D005CB29B /* README */,
- F966BC7308F27A3D005CB29B /* tcl.m4 */,
- F974D57B0FBE7EC000BF728B /* tk.pc.in */,
- F966BC7408F27A3D005CB29B /* tk.spec */,
- F966BC7508F27A3D005CB29B /* tkAppInit.c */,
- F966BC7608F27A3D005CB29B /* tkConfig.h.in */,
- F966BC7708F27A3D005CB29B /* tkConfig.sh.in */,
- F966BC7808F27A3D005CB29B /* tkUnix.c */,
- F966BC7908F27A3D005CB29B /* tkUnix3d.c */,
- F966BC7A08F27A3D005CB29B /* tkUnixButton.c */,
- F966BC7B08F27A3D005CB29B /* tkUnixColor.c */,
- F966BC7C08F27A3D005CB29B /* tkUnixConfig.c */,
- F966BC7D08F27A3D005CB29B /* tkUnixCursor.c */,
- F966BC7E08F27A3D005CB29B /* tkUnixDefault.h */,
- F966BC7F08F27A3D005CB29B /* tkUnixDialog.c */,
- F966BC8008F27A3D005CB29B /* tkUnixDraw.c */,
- F966BC8108F27A3D005CB29B /* tkUnixEmbed.c */,
- F966BC8208F27A3D005CB29B /* tkUnixEvent.c */,
- F966BC8308F27A3D005CB29B /* tkUnixFocus.c */,
- F966BC8408F27A3D005CB29B /* tkUnixFont.c */,
- F966BC8508F27A3D005CB29B /* tkUnixInit.c */,
- F966BC8608F27A3D005CB29B /* tkUnixInt.h */,
- F966BC8708F27A3D005CB29B /* tkUnixKey.c */,
- F966BC8808F27A3D005CB29B /* tkUnixMenu.c */,
- F966BC8908F27A3D005CB29B /* tkUnixMenubu.c */,
- F966BC8A08F27A3D005CB29B /* tkUnixPort.h */,
- F966BC8B08F27A3D005CB29B /* tkUnixRFont.c */,
- F966BC8C08F27A3D005CB29B /* tkUnixScale.c */,
- F966BC8D08F27A3D005CB29B /* tkUnixScrlbr.c */,
- F966BC8E08F27A3D005CB29B /* tkUnixSelect.c */,
- F966BC8F08F27A3D005CB29B /* tkUnixSend.c */,
- F966BC9008F27A3D005CB29B /* tkUnixWm.c */,
- F966BC9108F27A3D005CB29B /* tkUnixXId.c */,
- );
- path = unix;
- sourceTree = "<group>";
- };
- F966BC9208F27A3D005CB29B /* win */ = {
- isa = PBXGroup;
- children = (
- F966BC9408F27A3D005CB29B /* aclocal.m4 */,
- F966BC9508F27A3D005CB29B /* buildall.vc.bat */,
- F966BC9608F27A3E005CB29B /* configure */,
- F966BC9708F27A3E005CB29B /* configure.in */,
- F966BC9908F27A3E005CB29B /* Makefile.in */,
- F966BC9A08F27A3E005CB29B /* makefile.vc */,
- F966BC9B08F27A3E005CB29B /* mkd.bat */,
- F966BC9C08F27A3E005CB29B /* nmakehlp.c */,
- F966BC9D08F27A3E005CB29B /* rc */,
- F966BCF308F27A3E005CB29B /* README */,
- F966BCF408F27A3E005CB29B /* rmd.bat */,
- F966BCF508F27A3F005CB29B /* rules.vc */,
- F966BCF608F27A3F005CB29B /* stubs.c */,
- F966BCF708F27A3F005CB29B /* tcl.m4 */,
- F966BCF808F27A3F005CB29B /* tkConfig.sh.in */,
- F966BCF908F27A3F005CB29B /* tkWin.h */,
- F966BCFA08F27A3F005CB29B /* tkWin32Dll.c */,
- F966BCFB08F27A3F005CB29B /* tkWin3d.c */,
- F966BCFC08F27A3F005CB29B /* tkWinButton.c */,
- F966BCFD08F27A3F005CB29B /* tkWinClipboard.c */,
- F966BCFE08F27A3F005CB29B /* tkWinColor.c */,
- F966BCFF08F27A3F005CB29B /* tkWinConfig.c */,
- F966BD0008F27A3F005CB29B /* tkWinCursor.c */,
- F966BD0108F27A3F005CB29B /* tkWinDefault.h */,
- F966BD0208F27A3F005CB29B /* tkWinDialog.c */,
- F966BD0308F27A3F005CB29B /* tkWinDraw.c */,
- F966BD0408F27A3F005CB29B /* tkWinEmbed.c */,
- F966BD0508F27A3F005CB29B /* tkWinFont.c */,
- F966BD0708F27A3F005CB29B /* tkWinImage.c */,
- F966BD0808F27A3F005CB29B /* tkWinInit.c */,
- F966BD0908F27A3F005CB29B /* tkWinInt.h */,
- F966BD0A08F27A3F005CB29B /* tkWinKey.c */,
- F966BD0B08F27A3F005CB29B /* tkWinMenu.c */,
- F966BD0C08F27A3F005CB29B /* tkWinPixmap.c */,
- F966BD0D08F27A3F005CB29B /* tkWinPointer.c */,
- F966BD0E08F27A3F005CB29B /* tkWinPort.h */,
- F966BD0F08F27A3F005CB29B /* tkWinRegion.c */,
- F966BD1008F27A3F005CB29B /* tkWinScrlbr.c */,
- F966BD1108F27A3F005CB29B /* tkWinSend.c */,
- F966BD1208F27A3F005CB29B /* tkWinSendCom.c */,
- F966BD1308F27A3F005CB29B /* tkWinSendCom.h */,
- F966BD1408F27A3F005CB29B /* tkWinTest.c */,
- F966BD1508F27A3F005CB29B /* tkWinWindow.c */,
- F966BD1608F27A3F005CB29B /* tkWinWm.c */,
- F966BD1708F27A3F005CB29B /* tkWinX.c */,
- F96888860AF78953000797B5 /* ttkWinMonitor.c */,
- F96888870AF78953000797B5 /* ttkWinTheme.c */,
- F96888880AF78953000797B5 /* ttkWinXPTheme.c */,
- F966BD1808F27A3F005CB29B /* winMain.c */,
- );
- path = win;
- sourceTree = "<group>";
- };
- F966BC9D08F27A3E005CB29B /* rc */ = {
- isa = PBXGroup;
- children = (
- F966BCEE08F27A3E005CB29B /* tk.rc */,
- F966BCEF08F27A3E005CB29B /* tk_base.rc */,
- F966BCF208F27A3E005CB29B /* wish.rc */,
- );
- path = rc;
- sourceTree = "<group>";
- };
- F966BD1908F27A3F005CB29B /* xlib */ = {
- isa = PBXGroup;
- children = (
- F966BD1A08F27A3F005CB29B /* X11 */,
- F966BD2308F27A3F005CB29B /* xbytes.h */,
- F966BD2408F27A3F005CB29B /* xcolors.c */,
- F966BD2508F27A3F005CB29B /* xdraw.c */,
- F966BD2608F27A3F005CB29B /* xgc.c */,
- F966BD2708F27A3F005CB29B /* ximage.c */,
- F966BD2808F27A3F005CB29B /* xutil.c */,
- );
- path = xlib;
- sourceTree = "<group>";
- };
- F966BD1A08F27A3F005CB29B /* X11 */ = {
- isa = PBXGroup;
- children = (
- F966BD1B08F27A3F005CB29B /* cursorfont.h */,
- F966BD1C08F27A3F005CB29B /* keysym.h */,
- F966BD1D08F27A3F005CB29B /* keysymdef.h */,
- F966BD1E08F27A3F005CB29B /* X.h */,
- F966BD1F08F27A3F005CB29B /* Xatom.h */,
- F966BD2008F27A3F005CB29B /* Xfuncproto.h */,
- F966BD2108F27A3F005CB29B /* Xlib.h */,
- F966BD2208F27A3F005CB29B /* Xutil.h */,
- );
- path = X11;
- sourceTree = "<group>";
- };
- F966C06F08F281DC005CB29B /* Frameworks */ = {
- isa = PBXGroup;
- children = (
- F9C9CBFF0E84059800E00935 /* ApplicationServices.framework */,
- F966C07408F2820D005CB29B /* CoreFoundation.framework */,
- F96437E60EF0D652003F468E /* libz.dylib */,
- F966C07608F2821B005CB29B /* Carbon.framework */,
- F94523A10E6FC2AC00C1D987 /* Cocoa.framework */,
- F966C07808F28233005CB29B /* IOKit.framework */,
- F9FD32140CC1AF170073837D /* libX11.dylib */,
- F9FD32150CC1AF170073837D /* libXext.dylib */,
- F9FD32160CC1AF170073837D /* libXss.dylib */,
- F9FD349A0CC1BB0D0073837D /* libXft.dylib */,
- F9FD34990CC1BB0D0073837D /* libfreetype.dylib */,
- F9FD34C30CC1BBD70073837D /* libfontconfig.dylib */,
- );
- name = Frameworks;
- sourceTree = "<group>";
- };
- F96887DF0AF786D5000797B5 /* ttk */ = {
- isa = PBXGroup;
- children = (
- F96887E00AF786D5000797B5 /* ttk.decls */,
- F96887E10AF786D5000797B5 /* ttkBlink.c */,
- F96887E20AF786D5000797B5 /* ttkButton.c */,
- F96887E30AF786D5000797B5 /* ttkCache.c */,
- F96887E40AF786D5000797B5 /* ttkClamTheme.c */,
- F96887E50AF786D5000797B5 /* ttkClassicTheme.c */,
- F96887E60AF786D5000797B5 /* ttkDecls.h */,
- F96887E70AF786D5000797B5 /* ttkDefaultTheme.c */,
- F96887E80AF786D5000797B5 /* ttkElements.c */,
- F96887E90AF786D5000797B5 /* ttkEntry.c */,
- F96887EA0AF786D5000797B5 /* ttkFrame.c */,
- F96887EB0AF786D5000797B5 /* ttkImage.c */,
- F96887EC0AF786D5000797B5 /* ttkInit.c */,
- F96887ED0AF786D5000797B5 /* ttkLabel.c */,
- F96887EE0AF786D5000797B5 /* ttkLayout.c */,
- F96887EF0AF786D5000797B5 /* ttkManager.c */,
- F96887F00AF786D5000797B5 /* ttkManager.h */,
- F96887F10AF786D5000797B5 /* ttkNotebook.c */,
- F96887F20AF786D5000797B5 /* ttkPanedwindow.c */,
- F96887F30AF786D5000797B5 /* ttkProgress.c */,
- F96887F40AF786D5000797B5 /* ttkScale.c */,
- F96887F50AF786D5000797B5 /* ttkScroll.c */,
- F96887F60AF786D5000797B5 /* ttkScrollbar.c */,
- F96887F70AF786D5000797B5 /* ttkSeparator.c */,
- F96887F80AF786D5000797B5 /* ttkSquare.c */,
- F96887F90AF786D5000797B5 /* ttkState.c */,
- F96887FA0AF786D5000797B5 /* ttkStubInit.c */,
- F96887FB0AF786D5000797B5 /* ttkStubLib.c */,
- F96887FC0AF786D5000797B5 /* ttkTagSet.c */,
- F96887FD0AF786D5000797B5 /* ttkTheme.c */,
- F96887FE0AF786D5000797B5 /* ttkTheme.h */,
- F96887FF0AF786D5000797B5 /* ttkThemeInt.h */,
- F96888000AF786D5000797B5 /* ttkTrace.c */,
- F96888010AF786D5000797B5 /* ttkTrack.c */,
- F96888020AF786D5000797B5 /* ttkTreeview.c */,
- F96888030AF786D5000797B5 /* ttkWidget.c */,
- F96888040AF786D5000797B5 /* ttkWidget.h */,
- );
- path = ttk;
- sourceTree = "<group>";
- };
- F96888360AF787B3000797B5 /* ttk */ = {
- isa = PBXGroup;
- children = (
- F96888370AF787B3000797B5 /* altTheme.tcl */,
- F96888380AF787B3000797B5 /* aquaTheme.tcl */,
- F96888390AF787B3000797B5 /* button.tcl */,
- F968883A0AF787B3000797B5 /* clamTheme.tcl */,
- F968883B0AF787B3000797B5 /* classicTheme.tcl */,
- F968883C0AF787B3000797B5 /* combobox.tcl */,
- F968883D0AF787B3000797B5 /* cursors.tcl */,
- F968883E0AF787B3000797B5 /* defaults.tcl */,
- F96888400AF787B3000797B5 /* entry.tcl */,
- F96888410AF787B3000797B5 /* fonts.tcl */,
- F96888440AF787B3000797B5 /* menubutton.tcl */,
- F96888450AF787B3000797B5 /* notebook.tcl */,
- F96888460AF787B3000797B5 /* panedwindow.tcl */,
- F96888470AF787B3000797B5 /* progress.tcl */,
- F96888480AF787B3000797B5 /* scale.tcl */,
- F96888490AF787B3000797B5 /* scrollbar.tcl */,
- F968884A0AF787B3000797B5 /* sizegrip.tcl */,
- F968884B0AF787B3000797B5 /* treeview.tcl */,
- F968884C0AF787B3000797B5 /* ttk.tcl */,
- F968884D0AF787B3000797B5 /* utils.tcl */,
- F968884E0AF787B3000797B5 /* winTheme.tcl */,
- F973E5960EE99384001A648E /* vistaTheme.tcl */,
- F968884F0AF787B3000797B5 /* xpTheme.tcl */,
- );
- path = ttk;
- sourceTree = "<group>";
- };
- F96888530AF7880C000797B5 /* ttk */ = {
- isa = PBXGroup;
- children = (
- F96888540AF7880C000797B5 /* all.tcl */,
- F98383650F0FA43900171CA6 /* checkbutton.test */,
- F96888560AF7880C000797B5 /* combobox.test */,
- F96888570AF7880C000797B5 /* entry.test */,
- F96888580AF7880C000797B5 /* image.test */,
- F96888590AF7880C000797B5 /* labelframe.test */,
- F968885A0AF7880C000797B5 /* layout.test */,
- F968885C0AF7880C000797B5 /* notebook.test */,
- F968885D0AF7880C000797B5 /* panedwindow.test */,
- F968885E0AF7880C000797B5 /* progressbar.test */,
- F98383680F0FA44700171CA6 /* radiobutton.test */,
- F968885F0AF7880C000797B5 /* scrollbar.test */,
- F96888600AF7880C000797B5 /* treetags.test */,
- F96888610AF7880C000797B5 /* treeview.test */,
- F96888620AF7880C000797B5 /* ttk.test */,
- F96888630AF7880C000797B5 /* validate.test */,
- F962F7C60DADC26200648DB8 /* vsapi.test */,
- );
- path = ttk;
- sourceTree = "<group>";
- };
- F96D3DF608F27169004A47F5 /* Tcl Sources */ = {
- isa = PBXGroup;
- children = (
- F96D3EC908F272A7004A47F5 /* generic */,
- F96D432C08F272B4004A47F5 /* macosx */,
- F96D443E08F272B9004A47F5 /* unix */,
- F96D425C08F272B2004A47F5 /* libtommath */,
- F96D446E08F272B9004A47F5 /* win */,
- F96D3F3808F272A7004A47F5 /* library */,
- F96D434408F272B5004A47F5 /* tests */,
- F96D3DFC08F272A4004A47F5 /* doc */,
- F96D43D008F272B8004A47F5 /* tools */,
- F9183E690EFC81560030B814 /* pkgs */,
- F96D3DFA08F272A4004A47F5 /* ChangeLog */,
- F96D3DFB08F272A4004A47F5 /* changes */,
- F96D434308F272B5004A47F5 /* README */,
- F96D432B08F272B4004A47F5 /* license.terms */,
- );
- name = "Tcl Sources";
- sourceTree = TCL_SRCROOT;
- };
- F96D3DF708F271BE004A47F5 /* Tk Sources */ = {
- isa = PBXGroup;
- children = (
- F966BAA508F27A38005CB29B /* generic */,
- F966BB9708F27A3B005CB29B /* macosx */,
- F966BC6B08F27A3D005CB29B /* unix */,
- F966BD1908F27A3F005CB29B /* xlib */,
- F966BA0308F27A37005CB29B /* bitmaps */,
- F966BC9208F27A3D005CB29B /* win */,
- F966BB1308F27A39005CB29B /* library */,
- F966BC0408F27A3C005CB29B /* tests */,
- F966BA1008F27A37005CB29B /* doc */,
- F966BA0E08F27A37005CB29B /* ChangeLog */,
- F966BA0F08F27A37005CB29B /* changes */,
- F966BC0308F27A3C005CB29B /* README */,
- F966BB9608F27A3B005CB29B /* license.terms */,
- );
- name = "Tk Sources";
- sourceTree = TK_SRCROOT;
- };
- F96D3DFC08F272A4004A47F5 /* doc */ = {
- isa = PBXGroup;
- children = (
- F96D3DFD08F272A4004A47F5 /* Access.3 */,
- F96D3DFE08F272A4004A47F5 /* AddErrInfo.3 */,
- F96D3DFF08F272A4004A47F5 /* after.n */,
- F96D3E0008F272A4004A47F5 /* Alloc.3 */,
- F96D3E0108F272A4004A47F5 /* AllowExc.3 */,
- F96D3E0208F272A4004A47F5 /* append.n */,
- F96D3E0308F272A4004A47F5 /* AppInit.3 */,
- F96D3E0408F272A5004A47F5 /* array.n */,
- F96D3E0508F272A5004A47F5 /* AssocData.3 */,
- F96D3E0608F272A5004A47F5 /* Async.3 */,
- F96D3E0708F272A5004A47F5 /* BackgdErr.3 */,
- F96D3E0808F272A5004A47F5 /* Backslash.3 */,
- F96D3E0908F272A5004A47F5 /* bgerror.n */,
- F96D3E0A08F272A5004A47F5 /* binary.n */,
- F96D3E0B08F272A5004A47F5 /* BoolObj.3 */,
- F96D3E0C08F272A5004A47F5 /* break.n */,
- F96D3E0D08F272A5004A47F5 /* ByteArrObj.3 */,
- F96D3E0E08F272A5004A47F5 /* CallDel.3 */,
- F96D3E0F08F272A5004A47F5 /* case.n */,
- F96D3E1008F272A5004A47F5 /* catch.n */,
- F96D3E1108F272A5004A47F5 /* cd.n */,
- F96D3E1208F272A5004A47F5 /* chan.n */,
- F96D3E1308F272A5004A47F5 /* ChnlStack.3 */,
- F93599CF0DF1F87F00E04F67 /* Class.3 */,
- F93599D00DF1F89E00E04F67 /* class.n */,
- F96D3E1408F272A5004A47F5 /* clock.n */,
- F96D3E1508F272A5004A47F5 /* close.n */,
- F96D3E1608F272A5004A47F5 /* CmdCmplt.3 */,
- F96D3E1708F272A5004A47F5 /* Concat.3 */,
- F96D3E1808F272A5004A47F5 /* concat.n */,
- F96D3E1908F272A5004A47F5 /* continue.n */,
- F93599D20DF1F8DF00E04F67 /* copy.n */,
- F974D5720FBE7DC600BF728B /* coroutine.n */,
- F96D3E1A08F272A5004A47F5 /* CrtChannel.3 */,
- F96D3E1B08F272A5004A47F5 /* CrtChnlHdlr.3 */,
- F96D3E1C08F272A5004A47F5 /* CrtCloseHdlr.3 */,
- F96D3E1D08F272A5004A47F5 /* CrtCommand.3 */,
- F96D3E1E08F272A5004A47F5 /* CrtFileHdlr.3 */,
- F96D3E1F08F272A5004A47F5 /* CrtInterp.3 */,
- F96D3E2008F272A5004A47F5 /* CrtMathFnc.3 */,
- F96D3E2108F272A5004A47F5 /* CrtObjCmd.3 */,
- F96D3E2208F272A5004A47F5 /* CrtSlave.3 */,
- F96D3E2308F272A5004A47F5 /* CrtTimerHdlr.3 */,
- F96D3E2408F272A5004A47F5 /* CrtTrace.3 */,
- F96D3E2508F272A5004A47F5 /* dde.n */,
- F93599D30DF1F8F500E04F67 /* define.n */,
- F96D3E2608F272A5004A47F5 /* DetachPids.3 */,
- F96D3E2708F272A5004A47F5 /* dict.n */,
- F96D3E2808F272A5004A47F5 /* DictObj.3 */,
- F96D3E2908F272A5004A47F5 /* DoOneEvent.3 */,
- F96D3E2A08F272A5004A47F5 /* DoubleObj.3 */,
- F96D3E2B08F272A5004A47F5 /* DoWhenIdle.3 */,
- F96D3E2C08F272A5004A47F5 /* DString.3 */,
- F96D3E2D08F272A5004A47F5 /* DumpActiveMemory.3 */,
- F96D3E2E08F272A5004A47F5 /* Encoding.3 */,
- F96D3E2F08F272A5004A47F5 /* encoding.n */,
- F96D3E3008F272A5004A47F5 /* Ensemble.3 */,
- F96D3E3108F272A5004A47F5 /* Environment.3 */,
- F96D3E3208F272A5004A47F5 /* eof.n */,
- F96D3E3308F272A5004A47F5 /* error.n */,
- F96D3E3408F272A5004A47F5 /* Eval.3 */,
- F96D3E3508F272A5004A47F5 /* eval.n */,
- F96D3E3608F272A5004A47F5 /* exec.n */,
- F96D3E3708F272A5004A47F5 /* Exit.3 */,
- F96D3E3808F272A5004A47F5 /* exit.n */,
- F96D3E3908F272A5004A47F5 /* expr.n */,
- F96D3E3A08F272A5004A47F5 /* ExprLong.3 */,
- F96D3E3B08F272A5004A47F5 /* ExprLongObj.3 */,
- F96D3E3C08F272A5004A47F5 /* fblocked.n */,
- F96D3E3D08F272A5004A47F5 /* fconfigure.n */,
- F96D3E3E08F272A5004A47F5 /* fcopy.n */,
- F96D3E3F08F272A5004A47F5 /* file.n */,
- F96D3E4008F272A5004A47F5 /* fileevent.n */,
- F96D3E4108F272A5004A47F5 /* filename.n */,
- F96D3E4208F272A5004A47F5 /* FileSystem.3 */,
- F96D3E4308F272A5004A47F5 /* FindExec.3 */,
- F96D3E4408F272A5004A47F5 /* flush.n */,
- F96D3E4508F272A5004A47F5 /* for.n */,
- F96D3E4608F272A5004A47F5 /* foreach.n */,
- F96D3E4708F272A5004A47F5 /* format.n */,
- F96D3E4808F272A5004A47F5 /* GetCwd.3 */,
- F96D3E4908F272A5004A47F5 /* GetHostName.3 */,
- F96D3E4A08F272A5004A47F5 /* GetIndex.3 */,
- F96D3E4B08F272A5004A47F5 /* GetInt.3 */,
- F96D3E4C08F272A5004A47F5 /* GetOpnFl.3 */,
- F96D3E4D08F272A5004A47F5 /* gets.n */,
- F96D3E4E08F272A5004A47F5 /* GetStdChan.3 */,
- F96D3E4F08F272A5004A47F5 /* GetTime.3 */,
- F96D3E5008F272A5004A47F5 /* GetVersion.3 */,
- F96D3E5108F272A5004A47F5 /* glob.n */,
- F96D3E5208F272A6004A47F5 /* global.n */,
- F96D3E5308F272A6004A47F5 /* Hash.3 */,
- F96D3E5408F272A6004A47F5 /* history.n */,
- F96D3E5508F272A6004A47F5 /* http.n */,
- F96D3E5608F272A6004A47F5 /* if.n */,
- F96D3E5708F272A6004A47F5 /* incr.n */,
- F96D3E5808F272A6004A47F5 /* info.n */,
- F96D3E5908F272A6004A47F5 /* Init.3 */,
- F96D3E5A08F272A6004A47F5 /* InitStubs.3 */,
- F96D3E5B08F272A6004A47F5 /* Interp.3 */,
- F96D3E5C08F272A6004A47F5 /* interp.n */,
- F96D3E5D08F272A6004A47F5 /* IntObj.3 */,
- F96D3E5E08F272A6004A47F5 /* join.n */,
- F96D3E5F08F272A6004A47F5 /* lappend.n */,
- F96D3E6008F272A6004A47F5 /* lassign.n */,
- F96D3E6108F272A6004A47F5 /* library.n */,
- F96D3E6208F272A6004A47F5 /* Limit.3 */,
- F96D3E6308F272A6004A47F5 /* lindex.n */,
- F96D3E6408F272A6004A47F5 /* LinkVar.3 */,
- F96D3E6508F272A6004A47F5 /* linsert.n */,
- F96D3E6608F272A6004A47F5 /* list.n */,
- F96D3E6708F272A6004A47F5 /* ListObj.3 */,
- F96D3E6808F272A6004A47F5 /* llength.n */,
- F96D3E6908F272A6004A47F5 /* load.n */,
- F96D3E6A08F272A6004A47F5 /* lrange.n */,
- F96D3E6B08F272A6004A47F5 /* lrepeat.n */,
- F96D3E6C08F272A6004A47F5 /* lreplace.n */,
- F96D3E6D08F272A6004A47F5 /* lsearch.n */,
- F96D3E6E08F272A6004A47F5 /* lset.n */,
- F96D3E6F08F272A6004A47F5 /* lsort.n */,
- F96D3E7008F272A6004A47F5 /* man.macros */,
- F96D3E7108F272A6004A47F5 /* mathfunc.n */,
- F96D3E7208F272A6004A47F5 /* memory.n */,
- F93599D40DF1F91900E04F67 /* Method.3 */,
- F96D3E7308F272A6004A47F5 /* msgcat.n */,
- F93599D50DF1F93700E04F67 /* my.n */,
- F96D3E7408F272A6004A47F5 /* Namespace.3 */,
- F96D3E7508F272A6004A47F5 /* namespace.n */,
- F93599D60DF1F95000E04F67 /* next.n */,
- F96D3E7608F272A6004A47F5 /* Notifier.3 */,
- F96D3E7708F272A6004A47F5 /* Object.3 */,
- F93599D70DF1F96800E04F67 /* object.n */,
- F96D3E7808F272A6004A47F5 /* ObjectType.3 */,
- F96D3E7908F272A6004A47F5 /* open.n */,
- F96D3E7A08F272A6004A47F5 /* OpenFileChnl.3 */,
- F96D3E7B08F272A6004A47F5 /* OpenTcp.3 */,
- F96D3E7C08F272A6004A47F5 /* package.n */,
- F96D3E7D08F272A6004A47F5 /* packagens.n */,
- F96D3E7E08F272A6004A47F5 /* Panic.3 */,
- F96D3E7F08F272A6004A47F5 /* ParseCmd.3 */,
- F96D3E8008F272A6004A47F5 /* pid.n */,
- F96D3E8108F272A6004A47F5 /* pkgMkIndex.n */,
- F96D3E8208F272A6004A47F5 /* PkgRequire.3 */,
- F9ECB1E10B26543C00A28025 /* platform_shell.n */,
- F9ECB1E20B26543C00A28025 /* platform.n */,
- F96D3E8308F272A6004A47F5 /* Preserve.3 */,
- F96D3E8408F272A6004A47F5 /* PrintDbl.3 */,
- F96D3E8508F272A6004A47F5 /* proc.n */,
- F96D3E8608F272A6004A47F5 /* puts.n */,
- F96D3E8708F272A6004A47F5 /* pwd.n */,
- F96D3E8808F272A6004A47F5 /* re_syntax.n */,
- F96D3E8908F272A6004A47F5 /* read.n */,
- F96D3E8A08F272A6004A47F5 /* RecEvalObj.3 */,
- F96D3E8B08F272A6004A47F5 /* RecordEval.3 */,
- F96D3E8C08F272A6004A47F5 /* RegConfig.3 */,
- F96D3E8D08F272A6004A47F5 /* RegExp.3 */,
- F96D3E8E08F272A6004A47F5 /* regexp.n */,
- F96D3E8F08F272A6004A47F5 /* registry.n */,
- F96D3E9008F272A6004A47F5 /* regsub.n */,
- F96D3E9108F272A6004A47F5 /* rename.n */,
- F96D3E9208F272A6004A47F5 /* return.n */,
- F96D3E9308F272A6004A47F5 /* safe.n */,
- F96D3E9408F272A6004A47F5 /* SaveResult.3 */,
- F96D3E9508F272A6004A47F5 /* scan.n */,
- F96D3E9608F272A6004A47F5 /* seek.n */,
- F93599D80DF1F98300E04F67 /* self.n */,
- F96D3E9708F272A6004A47F5 /* set.n */,
- F96D3E9808F272A6004A47F5 /* SetChanErr.3 */,
- F96D3E9908F272A6004A47F5 /* SetErrno.3 */,
- F96D3E9A08F272A6004A47F5 /* SetRecLmt.3 */,
- F96D3E9B08F272A7004A47F5 /* SetResult.3 */,
- F96D3E9C08F272A7004A47F5 /* SetVar.3 */,
- F96D3E9D08F272A7004A47F5 /* Signal.3 */,
- F96D3E9E08F272A7004A47F5 /* Sleep.3 */,
- F96D3E9F08F272A7004A47F5 /* socket.n */,
- F96D3EA008F272A7004A47F5 /* source.n */,
- F96D3EA108F272A7004A47F5 /* SourceRCFile.3 */,
- F96D3EA208F272A7004A47F5 /* split.n */,
- F96D3EA308F272A7004A47F5 /* SplitList.3 */,
- F96D3EA408F272A7004A47F5 /* SplitPath.3 */,
- F96D3EA508F272A7004A47F5 /* StaticPkg.3 */,
- F96D3EA608F272A7004A47F5 /* StdChannels.3 */,
- F96D3EA708F272A7004A47F5 /* string.n */,
- F96D3EA808F272A7004A47F5 /* StringObj.3 */,
- F96D3EA908F272A7004A47F5 /* StrMatch.3 */,
- F96D3EAA08F272A7004A47F5 /* subst.n */,
- F96D3EAB08F272A7004A47F5 /* SubstObj.3 */,
- F96D3EAC08F272A7004A47F5 /* switch.n */,
- F974D5760FBE7E1900BF728B /* tailcall.n */,
- F96D3EAD08F272A7004A47F5 /* Tcl.n */,
- F99D61180EF5573A00BBFE01 /* TclZlib.3 */,
- F96D3EAE08F272A7004A47F5 /* Tcl_Main.3 */,
- F96D3EAF08F272A7004A47F5 /* TCL_MEM_DEBUG.3 */,
- F96D3EB008F272A7004A47F5 /* tclsh.1 */,
- F96D3EB108F272A7004A47F5 /* tcltest.n */,
- F96D3EB208F272A7004A47F5 /* tclvars.n */,
- F96D3EB308F272A7004A47F5 /* tell.n */,
- F96D3EB408F272A7004A47F5 /* Thread.3 */,
- F9183E640EFC80CD0030B814 /* throw.n */,
- F96D3EB508F272A7004A47F5 /* time.n */,
- F96D3EB608F272A7004A47F5 /* tm.n */,
- F96D3EB708F272A7004A47F5 /* ToUpper.3 */,
- F96D3EB808F272A7004A47F5 /* trace.n */,
- F96D3EB908F272A7004A47F5 /* TraceCmd.3 */,
- F96D3EBA08F272A7004A47F5 /* TraceVar.3 */,
- F96D3EBB08F272A7004A47F5 /* Translate.3 */,
- F9183E650EFC80D70030B814 /* try.n */,
- F96D3EBC08F272A7004A47F5 /* UniCharIsAlpha.3 */,
- F96D3EBD08F272A7004A47F5 /* unknown.n */,
- F96D3EBE08F272A7004A47F5 /* unload.n */,
- F96D3EBF08F272A7004A47F5 /* unset.n */,
- F96D3EC008F272A7004A47F5 /* update.n */,
- F96D3EC108F272A7004A47F5 /* uplevel.n */,
- F96D3EC208F272A7004A47F5 /* UpVar.3 */,
- F96D3EC308F272A7004A47F5 /* upvar.n */,
- F96D3EC408F272A7004A47F5 /* Utf.3 */,
- F96D3EC508F272A7004A47F5 /* variable.n */,
- F96D3EC608F272A7004A47F5 /* vwait.n */,
- F96D3EC708F272A7004A47F5 /* while.n */,
- F96D3EC808F272A7004A47F5 /* WrongNumArgs.3 */,
- F915432D0EF201EE0032D1E8 /* zlib.n */,
- );
- path = doc;
- sourceTree = "<group>";
- };
- F96D3EC908F272A7004A47F5 /* generic */ = {
- isa = PBXGroup;
- children = (
- F96D3ECA08F272A7004A47F5 /* README */,
- F96D3ECB08F272A7004A47F5 /* regc_color.c */,
- F96D3ECC08F272A7004A47F5 /* regc_cvec.c */,
- F96D3ECD08F272A7004A47F5 /* regc_lex.c */,
- F96D3ECE08F272A7004A47F5 /* regc_locale.c */,
- F96D3ECF08F272A7004A47F5 /* regc_nfa.c */,
- F96D3ED008F272A7004A47F5 /* regcomp.c */,
- F96D3ED108F272A7004A47F5 /* regcustom.h */,
- F96D3ED208F272A7004A47F5 /* rege_dfa.c */,
- F96D3ED308F272A7004A47F5 /* regerror.c */,
- F96D3ED408F272A7004A47F5 /* regerrs.h */,
- F96D3ED508F272A7004A47F5 /* regex.h */,
- F96D3ED608F272A7004A47F5 /* regexec.c */,
- F96D3ED708F272A7004A47F5 /* regfree.c */,
- F96D3ED808F272A7004A47F5 /* regfronts.c */,
- F96D3ED908F272A7004A47F5 /* regguts.h */,
- F96D3EDA08F272A7004A47F5 /* tcl.decls */,
- F96D3EDB08F272A7004A47F5 /* tcl.h */,
- F96D3EDC08F272A7004A47F5 /* tclAlloc.c */,
- F96D3EDD08F272A7004A47F5 /* tclAsync.c */,
- F96D3EDE08F272A7004A47F5 /* tclBasic.c */,
- F96D3EDF08F272A7004A47F5 /* tclBinary.c */,
- F96D3EE008F272A7004A47F5 /* tclCkalloc.c */,
- F96D3EE108F272A7004A47F5 /* tclClock.c */,
- F96D3EE208F272A7004A47F5 /* tclCmdAH.c */,
- F96D3EE308F272A7004A47F5 /* tclCmdIL.c */,
- F96D3EE408F272A7004A47F5 /* tclCmdMZ.c */,
- F96D3EE508F272A7004A47F5 /* tclCompCmds.c */,
- F96D3EE608F272A7004A47F5 /* tclCompExpr.c */,
- F96D3EE708F272A7004A47F5 /* tclCompile.c */,
- F96D3EE808F272A7004A47F5 /* tclCompile.h */,
- F96D3EE908F272A7004A47F5 /* tclConfig.c */,
- F96D3EEA08F272A7004A47F5 /* tclDate.c */,
- F96D3EEB08F272A7004A47F5 /* tclDecls.h */,
- F96D3EEC08F272A7004A47F5 /* tclDictObj.c */,
- F9F4415D0C8BAE6F00BCCD67 /* tclDTrace.d */,
- F96D3EED08F272A7004A47F5 /* tclEncoding.c */,
- F96D3EEE08F272A7004A47F5 /* tclEnv.c */,
- F96D3EEF08F272A7004A47F5 /* tclEvent.c */,
- F96D3EF008F272A7004A47F5 /* tclExecute.c */,
- F96D3EF108F272A7004A47F5 /* tclFCmd.c */,
- F96D3EF208F272A7004A47F5 /* tclFileName.c */,
- F96D3EF308F272A7004A47F5 /* tclFileSystem.h */,
- F96D3EF408F272A7004A47F5 /* tclGet.c */,
- F96D3EF508F272A7004A47F5 /* tclGetDate.y */,
- F96D3EF608F272A7004A47F5 /* tclHash.c */,
- F96D3EF708F272A7004A47F5 /* tclHistory.c */,
- F96D3EF808F272A7004A47F5 /* tclIndexObj.c */,
- F96D3EF908F272A7004A47F5 /* tclInt.decls */,
- F96D3EFA08F272A7004A47F5 /* tclInt.h */,
- F96D3EFB08F272A7004A47F5 /* tclIntDecls.h */,
- F96D3EFC08F272A7004A47F5 /* tclInterp.c */,
- F96D3EFD08F272A7004A47F5 /* tclIntPlatDecls.h */,
- F96D3EFE08F272A7004A47F5 /* tclIO.c */,
- F96D3EFF08F272A7004A47F5 /* tclIO.h */,
- F96D3F0008F272A7004A47F5 /* tclIOCmd.c */,
- F96D3F0108F272A7004A47F5 /* tclIOGT.c */,
- F96D3F0208F272A7004A47F5 /* tclIORChan.c */,
- F95D77E90DFD820D00A8BF6F /* tclIORTrans.c */,
- F96D3F0308F272A7004A47F5 /* tclIOSock.c */,
- F96D3F0408F272A7004A47F5 /* tclIOUtil.c */,
- F96D3F0508F272A7004A47F5 /* tclLink.c */,
- F96D3F0608F272A7004A47F5 /* tclListObj.c */,
- F96D3F0708F272A7004A47F5 /* tclLiteral.c */,
- F96D3F0808F272A7004A47F5 /* tclLoad.c */,
- F96D3F0908F272A7004A47F5 /* tclLoadNone.c */,
- F96D3F0A08F272A7004A47F5 /* tclMain.c */,
- F96D3F0B08F272A7004A47F5 /* tclNamesp.c */,
- F96D3F0C08F272A7004A47F5 /* tclNotify.c */,
- F96D3F0D08F272A7004A47F5 /* tclObj.c */,
- F93599B20DF1F75400E04F67 /* tclOO.c */,
- F93599B40DF1F75900E04F67 /* tclOO.decls */,
- F93599B50DF1F75D00E04F67 /* tclOO.h */,
- F93599B60DF1F76100E04F67 /* tclOOBasic.c */,
- F93599B80DF1F76600E04F67 /* tclOOCall.c */,
- F93599BA0DF1F76A00E04F67 /* tclOODecls.h */,
- F93599BB0DF1F77000E04F67 /* tclOODefineCmds.c */,
- F93599BD0DF1F77400E04F67 /* tclOOInfo.c */,
- F93599BF0DF1F77900E04F67 /* tclOOInt.h */,
- F93599C00DF1F77D00E04F67 /* tclOOIntDecls.h */,
- F93599C10DF1F78300E04F67 /* tclOOMethod.c */,
- F93599C30DF1F78800E04F67 /* tclOOStubInit.c */,
- F93599C50DF1F78D00E04F67 /* tclOOStubLib.c */,
- F96D3F0E08F272A7004A47F5 /* tclPanic.c */,
- F96D3F0F08F272A7004A47F5 /* tclParse.c */,
- F96D3F1108F272A7004A47F5 /* tclPathObj.c */,
- F96D3F1208F272A7004A47F5 /* tclPipe.c */,
- F96D3F1308F272A7004A47F5 /* tclPkg.c */,
- F96D3F1408F272A7004A47F5 /* tclPkgConfig.c */,
- F96D3F1508F272A7004A47F5 /* tclPlatDecls.h */,
- F96D3F1608F272A7004A47F5 /* tclPort.h */,
- F96D3F1708F272A7004A47F5 /* tclPosixStr.c */,
- F96D3F1808F272A7004A47F5 /* tclPreserve.c */,
- F96D3F1908F272A7004A47F5 /* tclProc.c */,
- F96D3F1A08F272A7004A47F5 /* tclRegexp.c */,
- F96D3F1B08F272A7004A47F5 /* tclRegexp.h */,
- F96D3F1C08F272A7004A47F5 /* tclResolve.c */,
- F96D3F1D08F272A7004A47F5 /* tclResult.c */,
- F96D3F1E08F272A7004A47F5 /* tclScan.c */,
- F96D3F1F08F272A7004A47F5 /* tclStringObj.c */,
- F96D3F2408F272A7004A47F5 /* tclStrToD.c */,
- F96D3F2508F272A7004A47F5 /* tclStubInit.c */,
- F96D3F2608F272A7004A47F5 /* tclStubLib.c */,
- F96D3F2708F272A7004A47F5 /* tclTest.c */,
- F96D3F2808F272A7004A47F5 /* tclTestObj.c */,
- F96D3F2908F272A7004A47F5 /* tclTestProcBodyObj.c */,
- F96D3F2A08F272A7004A47F5 /* tclThread.c */,
- F96D3F2B08F272A7004A47F5 /* tclThreadAlloc.c */,
- F96D3F2C08F272A7004A47F5 /* tclThreadJoin.c */,
- F96D3F2D08F272A7004A47F5 /* tclThreadStorage.c */,
- F96D3F2E08F272A7004A47F5 /* tclThreadTest.c */,
- F96D3F2F08F272A7004A47F5 /* tclTimer.c */,
- F9903CAF094FAADA004613E9 /* tclTomMath.decls */,
- F96D3F3008F272A7004A47F5 /* tclTomMath.h */,
- F9903CB0094FAADA004613E9 /* tclTomMathDecls.h */,
- F96D3F3108F272A7004A47F5 /* tclTomMathInterface.c */,
- F96D3F3208F272A7004A47F5 /* tclTrace.c */,
- F96D3F3308F272A7004A47F5 /* tclUniData.c */,
- F96D3F3408F272A7004A47F5 /* tclUtf.c */,
- F96D3F3508F272A7004A47F5 /* tclUtil.c */,
- F96D3F3608F272A7004A47F5 /* tclVar.c */,
- F96437C90EF0D4B2003F468E /* tclZlib.c */,
- F96D3F3708F272A7004A47F5 /* tommath.h */,
- );
- path = generic;
- sourceTree = "<group>";
- };
- F96D3F3808F272A7004A47F5 /* library */ = {
- isa = PBXGroup;
- children = (
- F96D3F3908F272A8004A47F5 /* auto.tcl */,
- F96D3F3A08F272A8004A47F5 /* clock.tcl */,
- F96D3F3B08F272A8004A47F5 /* dde */,
- F96D3F8C08F272A8004A47F5 /* history.tcl */,
- F96D3F8D08F272A8004A47F5 /* http */,
- F96D3F9008F272A8004A47F5 /* http1.0 */,
- F96D3F9308F272A8004A47F5 /* init.tcl */,
- F96D3F9408F272A8004A47F5 /* msgcat */,
- F96D401708F272AA004A47F5 /* opt */,
- F96D401A08F272AA004A47F5 /* package.tcl */,
- F96D401B08F272AA004A47F5 /* parray.tcl */,
- F9ECB1110B26521500A28025 /* platform */,
- F96D401C08F272AA004A47F5 /* reg */,
- F96D401E08F272AA004A47F5 /* safe.tcl */,
- F96D401F08F272AA004A47F5 /* tclIndex */,
- F96D402008F272AA004A47F5 /* tcltest */,
- F96D402308F272AA004A47F5 /* tm.tcl */,
- F96D425B08F272B2004A47F5 /* word.tcl */,
- );
- path = library;
- sourceTree = "<group>";
- };
- F96D3F3B08F272A8004A47F5 /* dde */ = {
- isa = PBXGroup;
- children = (
- F96D3F3C08F272A8004A47F5 /* pkgIndex.tcl */,
- );
- path = dde;
- sourceTree = "<group>";
- };
- F96D3F8D08F272A8004A47F5 /* http */ = {
- isa = PBXGroup;
- children = (
- F96D3F8E08F272A8004A47F5 /* http.tcl */,
- F96D3F8F08F272A8004A47F5 /* pkgIndex.tcl */,
- );
- path = http;
- sourceTree = "<group>";
- };
- F96D3F9008F272A8004A47F5 /* http1.0 */ = {
- isa = PBXGroup;
- children = (
- F96D3F9108F272A8004A47F5 /* http.tcl */,
- F96D3F9208F272A8004A47F5 /* pkgIndex.tcl */,
- );
- path = http1.0;
- sourceTree = "<group>";
- };
- F96D3F9408F272A8004A47F5 /* msgcat */ = {
- isa = PBXGroup;
- children = (
- F96D3F9508F272A8004A47F5 /* msgcat.tcl */,
- F96D3F9608F272A8004A47F5 /* pkgIndex.tcl */,
- );
- path = msgcat;
- sourceTree = "<group>";
- };
- F96D401708F272AA004A47F5 /* opt */ = {
- isa = PBXGroup;
- children = (
- F96D401808F272AA004A47F5 /* optparse.tcl */,
- F96D401908F272AA004A47F5 /* pkgIndex.tcl */,
- );
- path = opt;
- sourceTree = "<group>";
- };
- F96D401C08F272AA004A47F5 /* reg */ = {
- isa = PBXGroup;
- children = (
- F96D401D08F272AA004A47F5 /* pkgIndex.tcl */,
- );
- path = reg;
- sourceTree = "<group>";
- };
- F96D402008F272AA004A47F5 /* tcltest */ = {
- isa = PBXGroup;
- children = (
- F96D402108F272AA004A47F5 /* pkgIndex.tcl */,
- F96D402208F272AA004A47F5 /* tcltest.tcl */,
- );
- path = tcltest;
- sourceTree = "<group>";
- };
- F96D425C08F272B2004A47F5 /* libtommath */ = {
- isa = PBXGroup;
- children = (
- F96D426408F272B3004A47F5 /* bn_fast_s_mp_mul_digs.c */,
- F96D426608F272B3004A47F5 /* bn_fast_s_mp_sqr.c */,
- F96D426908F272B3004A47F5 /* bn_mp_add.c */,
- F96D426A08F272B3004A47F5 /* bn_mp_add_d.c */,
- F96D426C08F272B3004A47F5 /* bn_mp_and.c */,
- F96D426D08F272B3004A47F5 /* bn_mp_clamp.c */,
- F96D426E08F272B3004A47F5 /* bn_mp_clear.c */,
- F96D426F08F272B3004A47F5 /* bn_mp_clear_multi.c */,
- F96D427008F272B3004A47F5 /* bn_mp_cmp.c */,
- F96D427108F272B3004A47F5 /* bn_mp_cmp_d.c */,
- F96D427208F272B3004A47F5 /* bn_mp_cmp_mag.c */,
- F96D427408F272B3004A47F5 /* bn_mp_copy.c */,
- F96D427508F272B3004A47F5 /* bn_mp_count_bits.c */,
- F96D427608F272B3004A47F5 /* bn_mp_div.c */,
- F96D427708F272B3004A47F5 /* bn_mp_div_2.c */,
- F96D427808F272B3004A47F5 /* bn_mp_div_2d.c */,
- F96D427908F272B3004A47F5 /* bn_mp_div_3.c */,
- F96D427A08F272B3004A47F5 /* bn_mp_div_d.c */,
- F96D427E08F272B3004A47F5 /* bn_mp_exch.c */,
- F96D427F08F272B3004A47F5 /* bn_mp_expt_d.c */,
- F96D428708F272B3004A47F5 /* bn_mp_grow.c */,
- F96D428808F272B3004A47F5 /* bn_mp_init.c */,
- F96D428908F272B3004A47F5 /* bn_mp_init_copy.c */,
- F96D428A08F272B3004A47F5 /* bn_mp_init_multi.c */,
- F96D428B08F272B3004A47F5 /* bn_mp_init_set.c */,
- F96D428D08F272B3004A47F5 /* bn_mp_init_size.c */,
- F96D429208F272B3004A47F5 /* bn_mp_karatsuba_mul.c */,
- F96D429308F272B3004A47F5 /* bn_mp_karatsuba_sqr.c */,
- F96D429508F272B3004A47F5 /* bn_mp_lshd.c */,
- F96D429608F272B3004A47F5 /* bn_mp_mod.c */,
- F96D429708F272B3004A47F5 /* bn_mp_mod_2d.c */,
- F96D429C08F272B3004A47F5 /* bn_mp_mul.c */,
- F96D429D08F272B3004A47F5 /* bn_mp_mul_2.c */,
- F96D429E08F272B3004A47F5 /* bn_mp_mul_2d.c */,
- F96D429F08F272B3004A47F5 /* bn_mp_mul_d.c */,
- F96D42A208F272B3004A47F5 /* bn_mp_neg.c */,
- F96D42A308F272B3004A47F5 /* bn_mp_or.c */,
- F96D42AB08F272B3004A47F5 /* bn_mp_radix_size.c */,
- F96D42AC08F272B3004A47F5 /* bn_mp_radix_smap.c */,
- F96D42AE08F272B3004A47F5 /* bn_mp_read_radix.c */,
- F96D42B908F272B3004A47F5 /* bn_mp_rshd.c */,
- F96D42BA08F272B3004A47F5 /* bn_mp_set.c */,
- F96D42BC08F272B3004A47F5 /* bn_mp_shrink.c */,
- F96D42BE08F272B3004A47F5 /* bn_mp_sqr.c */,
- F96D42C008F272B3004A47F5 /* bn_mp_sqrt.c */,
- F96D42C108F272B3004A47F5 /* bn_mp_sub.c */,
- F96D42C208F272B3004A47F5 /* bn_mp_sub_d.c */,
- F96D42C608F272B3004A47F5 /* bn_mp_to_unsigned_bin.c */,
- F96D42C708F272B3004A47F5 /* bn_mp_to_unsigned_bin_n.c */,
- F96D42C808F272B3004A47F5 /* bn_mp_toom_mul.c */,
- F96D42C908F272B3004A47F5 /* bn_mp_toom_sqr.c */,
- F96D42CB08F272B3004A47F5 /* bn_mp_toradix_n.c */,
- F96D42CC08F272B3004A47F5 /* bn_mp_unsigned_bin_size.c */,
- F96D42CD08F272B3004A47F5 /* bn_mp_xor.c */,
- F96D42CE08F272B3004A47F5 /* bn_mp_zero.c */,
- F96D42D008F272B3004A47F5 /* bn_reverse.c */,
- F96D42D108F272B3004A47F5 /* bn_s_mp_add.c */,
- F96D42D308F272B3004A47F5 /* bn_s_mp_mul_digs.c */,
- F96D42D508F272B3004A47F5 /* bn_s_mp_sqr.c */,
- F96D42D608F272B3004A47F5 /* bn_s_mp_sub.c */,
- F96D42D708F272B3004A47F5 /* bncore.c */,
- F96D432908F272B4004A47F5 /* tommath_class.h */,
- F96D432A08F272B4004A47F5 /* tommath_superclass.h */,
- );
- path = libtommath;
- sourceTree = "<group>";
- };
- F96D432C08F272B4004A47F5 /* macosx */ = {
- isa = PBXGroup;
- children = (
- F96D432E08F272B5004A47F5 /* configure.ac */,
- F96D432F08F272B5004A47F5 /* GNUmakefile */,
- F96D433108F272B5004A47F5 /* README */,
- F96D433908F272B5004A47F5 /* tclMacOSXBundle.c */,
- F96D433D08F272B5004A47F5 /* tclMacOSXFCmd.c */,
- F96D433E08F272B5004A47F5 /* tclMacOSXNotify.c */,
- F96D433208F272B5004A47F5 /* Tcl-Info.plist.in */,
- F91E62260C1AE686006C9D96 /* Tclsh-Info.plist.in */,
- );
- path = macosx;
- sourceTree = "<group>";
- };
- F96D434408F272B5004A47F5 /* tests */ = {
- isa = PBXGroup;
- children = (
- F96D434508F272B5004A47F5 /* all.tcl */,
- F96D434608F272B5004A47F5 /* append.test */,
- F96D434708F272B5004A47F5 /* appendComp.test */,
- F9ECB1CA0B2652D300A28025 /* apply.test */,
- F96D434808F272B5004A47F5 /* assocd.test */,
- F96D434908F272B5004A47F5 /* async.test */,
- F96D434A08F272B5004A47F5 /* autoMkindex.test */,
- F96D434B08F272B5004A47F5 /* basic.test */,
- F96D434C08F272B5004A47F5 /* binary.test */,
- F96D434D08F272B5004A47F5 /* case.test */,
- F96D434E08F272B5004A47F5 /* chan.test */,
- F9A493240CEBF38300B78AE2 /* chanio.test */,
- F96D434F08F272B5004A47F5 /* clock.test */,
- F96D435008F272B5004A47F5 /* cmdAH.test */,
- F96D435108F272B5004A47F5 /* cmdIL.test */,
- F96D435208F272B5004A47F5 /* cmdInfo.test */,
- F96D435308F272B5004A47F5 /* cmdMZ.test */,
- F96D435408F272B5004A47F5 /* compExpr-old.test */,
- F96D435508F272B5004A47F5 /* compExpr.test */,
- F96D435608F272B5004A47F5 /* compile.test */,
- F96D435708F272B5004A47F5 /* concat.test */,
- F96D435808F272B5004A47F5 /* config.test */,
- F974D5770FBE7E6100BF728B /* coroutine.test */,
- F96D435908F272B5004A47F5 /* dcall.test */,
- F96D435A08F272B5004A47F5 /* dict.test */,
- F96D435C08F272B5004A47F5 /* dstring.test */,
- F96D435E08F272B5004A47F5 /* encoding.test */,
- F96D435F08F272B5004A47F5 /* env.test */,
- F96D436008F272B5004A47F5 /* error.test */,
- F96D436108F272B5004A47F5 /* eval.test */,
- F96D436208F272B5004A47F5 /* event.test */,
- F96D436308F272B5004A47F5 /* exec.test */,
- F96D436408F272B5004A47F5 /* execute.test */,
- F96D436508F272B5004A47F5 /* expr-old.test */,
- F96D436608F272B5004A47F5 /* expr.test */,
- F96D436708F272B6004A47F5 /* fCmd.test */,
- F96D436808F272B6004A47F5 /* fileName.test */,
- F96D436908F272B6004A47F5 /* fileSystem.test */,
- F96D436A08F272B6004A47F5 /* for-old.test */,
- F96D436B08F272B6004A47F5 /* for.test */,
- F96D436C08F272B6004A47F5 /* foreach.test */,
- F96D436D08F272B6004A47F5 /* format.test */,
- F96D436E08F272B6004A47F5 /* get.test */,
- F96D436F08F272B6004A47F5 /* history.test */,
- F96D437008F272B6004A47F5 /* http.test */,
- F974D56C0FBE7D6300BF728B /* http11.test */,
- F96D437108F272B6004A47F5 /* httpd */,
- F974D56D0FBE7D6300BF728B /* httpd11.tcl */,
- F96D437208F272B6004A47F5 /* httpold.test */,
- F96D437308F272B6004A47F5 /* if-old.test */,
- F96D437408F272B6004A47F5 /* if.test */,
- F96D437508F272B6004A47F5 /* incr-old.test */,
- F96D437608F272B6004A47F5 /* incr.test */,
- F96D437708F272B6004A47F5 /* indexObj.test */,
- F96D437808F272B6004A47F5 /* info.test */,
- F96D437908F272B6004A47F5 /* init.test */,
- F96D437A08F272B6004A47F5 /* interp.test */,
- F96D437B08F272B6004A47F5 /* io.test */,
- F96D437C08F272B6004A47F5 /* ioCmd.test */,
- F96D437D08F272B6004A47F5 /* iogt.test */,
- F96D437F08F272B6004A47F5 /* join.test */,
- F96D438008F272B6004A47F5 /* lindex.test */,
- F96D438108F272B6004A47F5 /* link.test */,
- F96D438208F272B6004A47F5 /* linsert.test */,
- F96D438308F272B6004A47F5 /* list.test */,
- F96D438408F272B6004A47F5 /* listObj.test */,
- F96D438508F272B6004A47F5 /* llength.test */,
- F96D438608F272B6004A47F5 /* load.test */,
- F96D438708F272B6004A47F5 /* lrange.test */,
- F96D438808F272B6004A47F5 /* lrepeat.test */,
- F96D438908F272B6004A47F5 /* lreplace.test */,
- F96D438A08F272B6004A47F5 /* lsearch.test */,
- F96D438B08F272B6004A47F5 /* lset.test */,
- F96D438C08F272B6004A47F5 /* lsetComp.test */,
- F96D438D08F272B6004A47F5 /* macOSXFCmd.test */,
- F95FAFF90B34F1130072E431 /* macOSXLoad.test */,
- F96D438E08F272B6004A47F5 /* main.test */,
- F9ECB1CB0B26534C00A28025 /* mathop.test */,
- F96D438F08F272B6004A47F5 /* misc.test */,
- F96D439008F272B6004A47F5 /* msgcat.test */,
- F96D439108F272B6004A47F5 /* namespace-old.test */,
- F96D439208F272B7004A47F5 /* namespace.test */,
- F96D439308F272B7004A47F5 /* notify.test */,
- F91DC23C0E44C51B002CB8D1 /* nre.test */,
- F96D439408F272B7004A47F5 /* obj.test */,
- F93599C80DF1F81900E04F67 /* oo.test */,
- F96D439508F272B7004A47F5 /* opt.test */,
- F96D439608F272B7004A47F5 /* package.test */,
- F96D439708F272B7004A47F5 /* parse.test */,
- F96D439808F272B7004A47F5 /* parseExpr.test */,
- F96D439908F272B7004A47F5 /* parseOld.test */,
- F96D439A08F272B7004A47F5 /* pid.test */,
- F96D439B08F272B7004A47F5 /* pkg.test */,
- F96D439C08F272B7004A47F5 /* pkgMkIndex.test */,
- F96D439D08F272B7004A47F5 /* platform.test */,
- F96D439E08F272B7004A47F5 /* proc-old.test */,
- F96D439F08F272B7004A47F5 /* proc.test */,
- F96D43A008F272B7004A47F5 /* pwd.test */,
- F96D43A108F272B7004A47F5 /* README */,
- F96D43A208F272B7004A47F5 /* reg.test */,
- F96D43A308F272B7004A47F5 /* regexp.test */,
- F96D43A408F272B7004A47F5 /* regexpComp.test */,
- F96D43A508F272B7004A47F5 /* registry.test */,
- F96D43A608F272B7004A47F5 /* remote.tcl */,
- F96D43A708F272B7004A47F5 /* rename.test */,
- F96D43A808F272B7004A47F5 /* result.test */,
- F96D43A908F272B7004A47F5 /* safe.test */,
- F96D43AA08F272B7004A47F5 /* scan.test */,
- F96D43AB08F272B7004A47F5 /* security.test */,
- F96D43AC08F272B7004A47F5 /* set-old.test */,
- F96D43AD08F272B7004A47F5 /* set.test */,
- F96D43AE08F272B7004A47F5 /* socket.test */,
- F96D43AF08F272B7004A47F5 /* source.test */,
- F96D43B008F272B7004A47F5 /* split.test */,
- F96D43B108F272B7004A47F5 /* stack.test */,
- F96D43B208F272B7004A47F5 /* string.test */,
- F96D43B308F272B7004A47F5 /* stringComp.test */,
- F96D43B408F272B7004A47F5 /* stringObj.test */,
- F96D43B508F272B7004A47F5 /* subst.test */,
- F96D43B608F272B7004A47F5 /* switch.test */,
- F974D5780FBE7E6100BF728B /* tailcall.test */,
- F96D43B708F272B7004A47F5 /* tcltest.test */,
- F96D43B808F272B7004A47F5 /* thread.test */,
- F96D43B908F272B7004A47F5 /* timer.test */,
- F96D43BA08F272B7004A47F5 /* tm.test */,
- F96D43BB08F272B7004A47F5 /* trace.test */,
- F96D43BC08F272B7004A47F5 /* unixFCmd.test */,
- F96D43BD08F272B7004A47F5 /* unixFile.test */,
- F96D43BE08F272B7004A47F5 /* unixInit.test */,
- F96D43BF08F272B7004A47F5 /* unixNotfy.test */,
- F96D43C008F272B7004A47F5 /* unknown.test */,
- F96D43C108F272B7004A47F5 /* unload.test */,
- F96D43C208F272B7004A47F5 /* uplevel.test */,
- F96D43C308F272B7004A47F5 /* upvar.test */,
- F96D43C408F272B7004A47F5 /* utf.test */,
- F96D43C508F272B7004A47F5 /* util.test */,
- F96D43C608F272B7004A47F5 /* var.test */,
- F96D43C708F272B7004A47F5 /* while-old.test */,
- F96D43C808F272B7004A47F5 /* while.test */,
- F96D43C908F272B7004A47F5 /* winConsole.test */,
- F96D43CA08F272B7004A47F5 /* winDde.test */,
- F96D43CB08F272B7004A47F5 /* winFCmd.test */,
- F96D43CC08F272B7004A47F5 /* winFile.test */,
- F96D43CD08F272B7004A47F5 /* winNotify.test */,
- F96D43CE08F272B7004A47F5 /* winPipe.test */,
- F96D43CF08F272B7004A47F5 /* winTime.test */,
- F915432A0EF201CF0032D1E8 /* zlib.test */,
- );
- path = tests;
- sourceTree = "<group>";
- };
- F96D43D008F272B8004A47F5 /* tools */ = {
- isa = PBXGroup;
- children = (
- F96D43D108F272B8004A47F5 /* checkLibraryDoc.tcl */,
- F96D43D208F272B8004A47F5 /* configure */,
- F96D43D308F272B8004A47F5 /* configure.in */,
- F96D442208F272B8004A47F5 /* eolFix.tcl */,
- F96D442408F272B8004A47F5 /* fix_tommath_h.tcl */,
- F96D442508F272B8004A47F5 /* genStubs.tcl */,
- F96D442708F272B8004A47F5 /* index.tcl */,
- F96D442808F272B8004A47F5 /* installData.tcl */,
- F96D442908F272B8004A47F5 /* loadICU.tcl */,
- F96D442A08F272B8004A47F5 /* Makefile.in */,
- F96D442B08F272B8004A47F5 /* makeTestCases.tcl */,
- F96D442C08F272B8004A47F5 /* man2help.tcl */,
- F96D442D08F272B8004A47F5 /* man2help2.tcl */,
- F96D442E08F272B8004A47F5 /* man2html.tcl */,
- F96D442F08F272B8004A47F5 /* man2html1.tcl */,
- F96D443008F272B8004A47F5 /* man2html2.tcl */,
- F96D443108F272B8004A47F5 /* man2tcl.c */,
- F96D443208F272B8004A47F5 /* README */,
- F96D443308F272B8004A47F5 /* regexpTestLib.tcl */,
- F96D443508F272B8004A47F5 /* tcl.hpj.in */,
- F96D443608F272B8004A47F5 /* tcl.wse.in */,
- F96D443908F272B9004A47F5 /* tcltk-man2html.tcl */,
- F96D443A08F272B9004A47F5 /* tclZIC.tcl */,
- F92D7F100DE777240033A13A /* tsdPerf.tcl */,
- F96D443B08F272B9004A47F5 /* uniClass.tcl */,
- F96D443C08F272B9004A47F5 /* uniParse.tcl */,
- );
- path = tools;
- sourceTree = "<group>";
- };
- F96D443E08F272B9004A47F5 /* unix */ = {
- isa = PBXGroup;
- children = (
- F96D444008F272B9004A47F5 /* aclocal.m4 */,
- F96D444108F272B9004A47F5 /* configure */,
- F96D444208F272B9004A47F5 /* configure.in */,
- F96D444308F272B9004A47F5 /* dltest */,
- F96D444D08F272B9004A47F5 /* install-sh */,
- F96D444E08F272B9004A47F5 /* installManPage */,
- F96D444F08F272B9004A47F5 /* ldAix */,
- F96D445008F272B9004A47F5 /* Makefile.in */,
- F96D445208F272B9004A47F5 /* README */,
- F96D445308F272B9004A47F5 /* tcl.m4 */,
- F974D5790FBE7E9C00BF728B /* tcl.pc.in */,
- F96D445408F272B9004A47F5 /* tcl.spec */,
- F96D445508F272B9004A47F5 /* tclAppInit.c */,
- F96D445608F272B9004A47F5 /* tclConfig.h.in */,
- F96D445708F272B9004A47F5 /* tclConfig.sh.in */,
- F96D445808F272B9004A47F5 /* tclLoadAix.c */,
- F96D445908F272B9004A47F5 /* tclLoadDl.c */,
- F96D445B08F272B9004A47F5 /* tclLoadDyld.c */,
- F96D445C08F272B9004A47F5 /* tclLoadNext.c */,
- F96D445D08F272B9004A47F5 /* tclLoadOSF.c */,
- F96D445E08F272B9004A47F5 /* tclLoadShl.c */,
- F96D445F08F272B9004A47F5 /* tclUnixChan.c */,
- F9FC77B70AB29E9100B7077D /* tclUnixCompat.c */,
- F96D446008F272B9004A47F5 /* tclUnixEvent.c */,
- F96D446108F272B9004A47F5 /* tclUnixFCmd.c */,
- F96D446208F272B9004A47F5 /* tclUnixFile.c */,
- F96D446308F272B9004A47F5 /* tclUnixInit.c */,
- F96D446408F272B9004A47F5 /* tclUnixNotfy.c */,
- F96D446508F272B9004A47F5 /* tclUnixPipe.c */,
- F96D446608F272B9004A47F5 /* tclUnixPort.h */,
- F96D446708F272B9004A47F5 /* tclUnixSock.c */,
- F96D446808F272B9004A47F5 /* tclUnixTest.c */,
- F96D446908F272B9004A47F5 /* tclUnixThrd.c */,
- F96D446A08F272B9004A47F5 /* tclUnixThrd.h */,
- F96D446B08F272B9004A47F5 /* tclUnixTime.c */,
- F96D446C08F272B9004A47F5 /* tclXtNotify.c */,
- F96D446D08F272B9004A47F5 /* tclXtTest.c */,
- );
- path = unix;
- sourceTree = "<group>";
- };
- F96D444308F272B9004A47F5 /* dltest */ = {
- isa = PBXGroup;
- children = (
- F96D444408F272B9004A47F5 /* Makefile.in */,
- F96D444508F272B9004A47F5 /* pkga.c */,
- F96D444608F272B9004A47F5 /* pkgb.c */,
- F96D444708F272B9004A47F5 /* pkgc.c */,
- F96D444808F272B9004A47F5 /* pkgd.c */,
- F96D444908F272B9004A47F5 /* pkge.c */,
- F96D444B08F272B9004A47F5 /* pkgua.c */,
- F96D444C08F272B9004A47F5 /* README */,
- );
- path = dltest;
- sourceTree = "<group>";
- };
- F96D446E08F272B9004A47F5 /* win */ = {
- isa = PBXGroup;
- children = (
- F96D447008F272BA004A47F5 /* aclocal.m4 */,
- F96D447108F272BA004A47F5 /* buildall.vc.bat */,
- F96D447208F272BA004A47F5 /* cat.c */,
- F96D447408F272BA004A47F5 /* configure */,
- F96D447508F272BA004A47F5 /* configure.in */,
- F96D447708F272BA004A47F5 /* Makefile.in */,
- F96D447808F272BA004A47F5 /* makefile.vc */,
- F96D447908F272BA004A47F5 /* nmakehlp.c */,
- F96D447A08F272BA004A47F5 /* README */,
- F96D447C08F272BA004A47F5 /* rules.vc */,
- F96D447D08F272BA004A47F5 /* stub16.c */,
- F96D447E08F272BA004A47F5 /* tcl.dsp */,
- F96D447F08F272BA004A47F5 /* tcl.dsw */,
- F96D448008F272BA004A47F5 /* tcl.hpj.in */,
- F96D448108F272BA004A47F5 /* tcl.m4 */,
- F96D448208F272BA004A47F5 /* tcl.rc */,
- F96D448308F272BA004A47F5 /* tclAppInit.c */,
- F96D448408F272BA004A47F5 /* tclConfig.sh.in */,
- F96D448608F272BA004A47F5 /* tclsh.rc */,
- F96D448708F272BA004A47F5 /* tclWin32Dll.c */,
- F96D448808F272BA004A47F5 /* tclWinChan.c */,
- F96D448908F272BA004A47F5 /* tclWinConsole.c */,
- F96D448A08F272BA004A47F5 /* tclWinDde.c */,
- F96D448B08F272BA004A47F5 /* tclWinError.c */,
- F96D448C08F272BA004A47F5 /* tclWinFCmd.c */,
- F96D448D08F272BA004A47F5 /* tclWinFile.c */,
- F96D448E08F272BA004A47F5 /* tclWinInit.c */,
- F96D448F08F272BA004A47F5 /* tclWinInt.h */,
- F96D449008F272BA004A47F5 /* tclWinLoad.c */,
- F96D449108F272BA004A47F5 /* tclWinNotify.c */,
- F96D449208F272BA004A47F5 /* tclWinPipe.c */,
- F96D449308F272BA004A47F5 /* tclWinPort.h */,
- F96D449408F272BA004A47F5 /* tclWinReg.c */,
- F96D449508F272BA004A47F5 /* tclWinSerial.c */,
- F96D449608F272BA004A47F5 /* tclWinSock.c */,
- F96D449708F272BA004A47F5 /* tclWinTest.c */,
- F96D449808F272BA004A47F5 /* tclWinThrd.c */,
- F96D449908F272BA004A47F5 /* tclWinThrd.h */,
- F96D449A08F272BA004A47F5 /* tclWinTime.c */,
- );
- path = win;
- sourceTree = "<group>";
- };
- F9ECB1110B26521500A28025 /* platform */ = {
- isa = PBXGroup;
- children = (
- F9ECB1120B26521500A28025 /* pkgIndex.tcl */,
- F9ECB1130B26521500A28025 /* platform.tcl */,
- F9ECB1140B26521500A28025 /* shell.tcl */,
- );
- path = platform;
- sourceTree = "<group>";
- };
-/* End PBXGroup section */
-
-/* Begin PBXNativeTarget section */
- 8DD76FA90486AB0100D96B5E /* tktest */ = {
- isa = PBXNativeTarget;
- buildConfigurationList = F95CC8B009158F3100EA5ACE /* Build configuration list for PBXNativeTarget "tktest" */;
- buildPhases = (
- F9A5C5F508F651A2008AE941 /* Configure Tcl */,
- F9A5C5F608F651AB008AE941 /* Configure Tk */,
- 8DD76FAB0486AB0100D96B5E /* Sources */,
- 8DD76FAD0486AB0100D96B5E /* Frameworks */,
- );
- buildRules = (
- );
- dependencies = (
- );
- name = tktest;
- productInstallPath = "$(BINDIR)";
- productName = tktest;
- productReference = 8DD76FB20486AB0100D96B5E /* tktest */;
- productType = "com.apple.product-type.tool";
- };
- F97258A50A86873C00096C78 /* tktest-X11 */ = {
- isa = PBXNativeTarget;
- buildConfigurationList = F97258A80A86873D00096C78 /* Build configuration list for PBXNativeTarget "tktest-X11" */;
- buildPhases = (
- F9FD30B40CC1AD070073837D /* Configure Tcl */,
- F9FD30B50CC1AD070073837D /* Configure Tk */,
- F9FD30BB0CC1AD070073837D /* Sources */,
- F9FD31E30CC1AD070073837D /* Frameworks */,
- );
- buildRules = (
- );
- dependencies = (
- );
- name = "tktest-X11";
- productInstallPath = "$(BINDIR)";
- productName = tktest;
- productReference = F9FD31F40CC1AD070073837D /* tktest-X11 */;
- productType = "com.apple.product-type.tool";
- };
- F9E61D16090A3E94002B3151 /* Tk */ = {
- isa = PBXNativeTarget;
- buildConfigurationList = F95CC8AB09158F3100EA5ACE /* Build configuration list for PBXNativeTarget "Tk" */;
- buildPhases = (
- F97AF02F0B665DA900310EA2 /* Build Tk */,
- );
- buildRules = (
- );
- dependencies = (
- );
- name = Tk;
- productName = Wish;
- productReference = F9A3084B08F2D4CE00BAE1AB /* Wish.app */;
- productType = "com.apple.product-type.application";
- };
-/* End PBXNativeTarget section */
-
-/* Begin PBXProject section */
- 08FB7793FE84155DC02AAC07 /* Project object */ = {
- isa = PBXProject;
- attributes = {
- BuildIndependentTargetsInParallel = YES;
- };
- buildConfigurationList = F95CC8B509158F3100EA5ACE /* Build configuration list for PBXProject "Tk" */;
- compatibilityVersion = "Xcode 3.1";
- hasScannedForEncodings = 1;
- mainGroup = 08FB7794FE84155DC02AAC07 /* Tk */;
- projectDirPath = "";
- projectRoot = ..;
- targets = (
- F9E61D16090A3E94002B3151 /* Tk */,
- 8DD76FA90486AB0100D96B5E /* tktest */,
- F97258A50A86873C00096C78 /* tktest-X11 */,
- );
- };
-/* End PBXProject section */
-
-/* Begin PBXShellScriptBuildPhase section */
- F97AF02F0B665DA900310EA2 /* Build Tk */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputPaths = (
- "${TARGET_TEMP_DIR}/.none",
- );
- name = "Build Tk";
- outputPaths = (
- "${TARGET_BUILD_DIR}/${WRAPPER_NAME}",
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/bash;
- shellScript = "export CC=$(xcrun -find ${GCC} || echo ${GCC}); export LD=${CC}\ngnumake -C \"${TK_SRCROOT}/macosx\" -j \"$(sysctl -n hw.activecpu)\" \"$(echo \"${ACTION}\" | sed -e s/build// -e s/clean/distclean/ -e s/..\\*/\\&-/)${MAKE_TARGET}\" CFLAGS_WARNING=\"${WARNING_CFLAGS}\" CFLAGS_OPTIMIZE=\"-O${GCC_OPTIMIZATION_LEVEL}\" SYMROOT=\"${BUILT_PRODUCTS_DIR}\" OBJ_DIR=\"${OBJECT_FILE_DIR}\" INSTALL_ROOT=\"${DSTROOT}\" PREFIX=\"${PREFIX}\" BINDIR=\"${BINDIR}\" LIBDIR=\"${FRAMEWORK_INSTALL_PATH}\" MANDIR=\"${MANDIR}\" EXTRA_CONFIGURE_ARGS=\"${CONFIGURE_ARGS}\" APPLICATION_INSTALL_PATH=\"${APPLICATION_INSTALL_PATH}\" TCL_BUILD_DIR=\"${TCL_BUILD_DIR}\" TCL_FRAMEWORK_DIR=\"${TCL_FRAMEWORK_DIR}\" ${EXTRA_MAKE_FLAGS}\nresult=$?\nif [ -e \"${BUILT_PRODUCTS_DIR}/tktest\" ]; then\n\trm -f \"${BUILT_PRODUCTS_DIR}/tktest\"\nfi\necho \"Done\"\nrm -f \"${SCRIPT_INPUT_FILE_0}\"\nexit ${result}\n";
- showEnvVarsInLog = 0;
- };
- F9A5C5F508F651A2008AE941 /* Configure Tcl */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputPaths = (
- "$(TCL_SRCROOT)/macosx/configure.ac",
- "$(TCL_SRCROOT)/unix/configure.in",
- "$(TCL_SRCROOT)/unix/tcl.m4",
- "$(TCL_SRCROOT)/unix/aclocal.m4",
- "$(TCL_SRCROOT)/unix/tclConfig.sh.in",
- "$(TCL_SRCROOT)/unix/Makefile.in",
- "$(TCL_SRCROOT)/unix/dltest/Makefile.in",
- );
- name = "Configure Tcl";
- outputPaths = (
- "$(DERIVED_FILE_DIR)/tcl/tclConfig.sh",
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/bash;
- shellScript = "## tcl configure shell script phase\n\ncd \"${TCL_SRCROOT}\"/macosx &&\nif [ configure.ac -nt configure -o ../unix/configure.in -nt configure -o ../unix/tcl.m4 -nt configure -o ../unix/aclocal.m4 -nt configure ]; then\n echo \"Running autoconf & autoheader in tcl/macosx\"\n rm -rf autom4te.cache\n ${AUTOCONF:-${DEVELOPER_DIR}/usr/bin/autoconf} && ${AUTOHEADER:-${DEVELOPER_DIR}/usr/bin/autoheader} || exit $?\n rm -rf autom4te.cache\nfi\n\ncd \"${DERIVED_FILE_DIR}\" && mkdir -p tcl && cd tcl &&\nif [ \"${TCL_SRCROOT}\"/macosx/configure -nt config.status ]; then\n echo \"Configuring Tcl\"\n CC=$(xcrun -find ${GCC} || echo ${GCC})\n \"${TCL_SRCROOT}\"/macosx/configure --cache-file=../config.cache --prefix=${PREFIX} --bindir=${BINDIR} --libdir=${LIBDIR} --mandir=${MANDIR} --includedir=${INCLUDEDIR} --disable-shared CC=${CC} LD=${CC} ${CONFIGURE_ARGS}\nelse\n ./config.status\nfi\n";
- showEnvVarsInLog = 0;
- };
- F9A5C5F608F651AB008AE941 /* Configure Tk */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputPaths = (
- "$(TK_SRCROOT)/macosx/configure.ac",
- "$(TK_SRCROOT)/unix/configure.in",
- "$(TK_SRCROOT)/unix/tcl.m4",
- "$(TK_SRCROOT)/unix/aclocal.m4",
- "$(TK_SRCROOT)/unix/tkConfig.sh.in",
- );
- name = "Configure Tk";
- outputPaths = (
- "$(DERIVED_FILE_DIR)/tk/tkConfig.sh",
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/bash;
- shellScript = "## tk configure shell script phase\n\ncd \"${TK_SRCROOT}\"/macosx &&\nif [ configure.ac -nt configure -o ../unix/configure.in -nt configure -o ../unix/tcl.m4 -nt configure -o ../unix/aclocal.m4 -nt configure ]; then\n echo \"Running autoconf & autoheader in tk/macosx\"\n rm -rf autom4te.cache\n ${AUTOCONF:-${DEVELOPER_DIR}/usr/bin/autoconf} && ${AUTOHEADER:-${DEVELOPER_DIR}/usr/bin/autoheader} || exit $?\n rm -rf autom4te.cache\nfi\n\ncd \"${DERIVED_FILE_DIR}\" && mkdir -p tk && cd tk &&\nif [ \"${TK_SRCROOT}\"/macosx/configure -nt config.status ]; then\n echo \"Configuring Tk\"\n CC=$(xcrun -find ${GCC} || echo ${GCC})\n \"${TK_SRCROOT}\"/macosx/configure --cache-file=../config.cache --prefix=${PREFIX} --bindir=${BINDIR} --libdir=${LIBDIR} --mandir=${MANDIR} --includedir=${INCLUDEDIR} --disable-shared --enable-aqua --with-tcl=../tcl CC=${CC} LD=${CC} ${CONFIGURE_ARGS}\nelse\n ./config.status\nfi\n";
- showEnvVarsInLog = 0;
- };
- F9FD30B40CC1AD070073837D /* Configure Tcl */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputPaths = (
- "$(TCL_SRCROOT)/macosx/configure.ac",
- "$(TCL_SRCROOT)/unix/configure.in",
- "$(TCL_SRCROOT)/unix/tcl.m4",
- "$(TCL_SRCROOT)/unix/aclocal.m4",
- "$(TCL_SRCROOT)/unix/tclConfig.sh.in",
- "$(TCL_SRCROOT)/unix/Makefile.in",
- "$(TCL_SRCROOT)/unix/dltest/Makefile.in",
- );
- name = "Configure Tcl";
- outputPaths = (
- "$(DERIVED_FILE_DIR)/tcl/tclConfig.sh",
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/bash;
- shellScript = "## tcl configure shell script phase\n\ncd \"${TCL_SRCROOT}\"/macosx &&\nif [ configure.ac -nt configure -o ../unix/configure.in -nt configure -o ../unix/tcl.m4 -nt configure -o ../unix/aclocal.m4 -nt configure ]; then\n echo \"Running autoconf & autoheader in tcl/macosx\"\n rm -rf autom4te.cache\n ${AUTOCONF:-${DEVELOPER_DIR}/usr/bin/autoconf} && ${AUTOHEADER:-${DEVELOPER_DIR}/usr/bin/autoheader} || exit $?\n rm -rf autom4te.cache\nfi\n\ncd \"${DERIVED_FILE_DIR}\" && mkdir -p tcl && cd tcl &&\nif [ \"${TCL_SRCROOT}\"/macosx/configure -nt config.status ]; then\n echo \"Configuring Tcl\"\n CC=$(xcrun -find ${GCC} || echo ${GCC})\n \"${TCL_SRCROOT}\"/macosx/configure --cache-file=../config.cache --prefix=${PREFIX} --bindir=${BINDIR} --libdir=${LIBDIR} --mandir=${MANDIR} --includedir=${INCLUDEDIR} --disable-shared CC=${CC} LD=${CC} ${CONFIGURE_ARGS}\nelse\n ./config.status\nfi\n";
- showEnvVarsInLog = 0;
- };
- F9FD30B50CC1AD070073837D /* Configure Tk */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputPaths = (
- "$(TK_SRCROOT)/macosx/configure.ac",
- "$(TK_SRCROOT)/unix/configure.in",
- "$(TK_SRCROOT)/unix/tcl.m4",
- "$(TK_SRCROOT)/unix/aclocal.m4",
- "$(TK_SRCROOT)/unix/tkConfig.sh.in",
- );
- name = "Configure Tk";
- outputPaths = (
- "$(DERIVED_FILE_DIR)/tk/tkConfig.sh",
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/bash;
- shellScript = "## tk configure shell script phase\n\ncd \"${TK_SRCROOT}\"/macosx &&\nif [ configure.ac -nt configure -o ../unix/configure.in -nt configure -o ../unix/tcl.m4 -nt configure -o ../unix/aclocal.m4 -nt configure ]; then\n echo \"Running autoconf & autoheader in tk/macosx\"\n rm -rf autom4te.cache\n ${AUTOCONF:-${DEVELOPER_DIR}/usr/bin/autoconf} && ${AUTOHEADER:-${DEVELOPER_DIR}/usr/bin/autoheader} || exit $?\n rm -rf autom4te.cache\nfi\n\ncd \"${DERIVED_FILE_DIR}\" && mkdir -p tk && cd tk &&\nif [ \"${TK_SRCROOT}\"/macosx/configure -nt config.status ]; then\n echo \"Configuring Tk\"\n CC=$(xcrun -find ${GCC} || echo ${GCC})\n PATH=\"${PATH}:/usr/X11R6/bin\" \"${TK_SRCROOT}\"/macosx/configure --cache-file=../config.cache --prefix=${PREFIX} --bindir=${BINDIR} --libdir=${LIBDIR} --mandir=${MANDIR} --includedir=${INCLUDEDIR} --disable-shared --enable-xft --with-tcl=../tcl CC=${CC} LD=${CC} ${CONFIGURE_ARGS}\nelse\n ./config.status\nfi";
- showEnvVarsInLog = 0;
- };
-/* End PBXShellScriptBuildPhase section */
-
-/* Begin PBXSourcesBuildPhase section */
- 8DD76FAB0486AB0100D96B5E /* Sources */ = {
- isa = PBXSourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- F96D456F08F272BB004A47F5 /* regcomp.c in Sources */,
- F96D457208F272BB004A47F5 /* regerror.c in Sources */,
- F96D457508F272BB004A47F5 /* regexec.c in Sources */,
- F96D457608F272BB004A47F5 /* regfree.c in Sources */,
- F96D457B08F272BB004A47F5 /* tclAlloc.c in Sources */,
- F96D457C08F272BB004A47F5 /* tclAsync.c in Sources */,
- F96D457D08F272BB004A47F5 /* tclBasic.c in Sources */,
- F96D457E08F272BC004A47F5 /* tclBinary.c in Sources */,
- F96D457F08F272BC004A47F5 /* tclCkalloc.c in Sources */,
- F96D458008F272BC004A47F5 /* tclClock.c in Sources */,
- F96D458108F272BC004A47F5 /* tclCmdAH.c in Sources */,
- F96D458208F272BC004A47F5 /* tclCmdIL.c in Sources */,
- F96D458308F272BC004A47F5 /* tclCmdMZ.c in Sources */,
- F96D458408F272BC004A47F5 /* tclCompCmds.c in Sources */,
- F96D458508F272BC004A47F5 /* tclCompExpr.c in Sources */,
- F96D458608F272BC004A47F5 /* tclCompile.c in Sources */,
- F96D458808F272BC004A47F5 /* tclConfig.c in Sources */,
- F96D458908F272BC004A47F5 /* tclDate.c in Sources */,
- F96D458B08F272BC004A47F5 /* tclDictObj.c in Sources */,
- F96D458C08F272BC004A47F5 /* tclEncoding.c in Sources */,
- F96D458D08F272BC004A47F5 /* tclEnv.c in Sources */,
- F96D458E08F272BC004A47F5 /* tclEvent.c in Sources */,
- F96D458F08F272BC004A47F5 /* tclExecute.c in Sources */,
- F96D459008F272BC004A47F5 /* tclFCmd.c in Sources */,
- F96D459108F272BC004A47F5 /* tclFileName.c in Sources */,
- F96D459308F272BC004A47F5 /* tclGet.c in Sources */,
- F96D459508F272BC004A47F5 /* tclHash.c in Sources */,
- F96D459608F272BC004A47F5 /* tclHistory.c in Sources */,
- F96D459708F272BC004A47F5 /* tclIndexObj.c in Sources */,
- F96D459B08F272BC004A47F5 /* tclInterp.c in Sources */,
- F96D459D08F272BC004A47F5 /* tclIO.c in Sources */,
- F96D459F08F272BC004A47F5 /* tclIOCmd.c in Sources */,
- F96D45A008F272BC004A47F5 /* tclIOGT.c in Sources */,
- F96D45A108F272BC004A47F5 /* tclIORChan.c in Sources */,
- F95D77EA0DFD820D00A8BF6F /* tclIORTrans.c in Sources */,
- F96D45A208F272BC004A47F5 /* tclIOSock.c in Sources */,
- F96D45A308F272BC004A47F5 /* tclIOUtil.c in Sources */,
- F96D45A408F272BC004A47F5 /* tclLink.c in Sources */,
- F96D45A508F272BC004A47F5 /* tclListObj.c in Sources */,
- F96D45A608F272BC004A47F5 /* tclLiteral.c in Sources */,
- F96D45A708F272BC004A47F5 /* tclLoad.c in Sources */,
- F96D45A908F272BC004A47F5 /* tclMain.c in Sources */,
- F96D45AA08F272BC004A47F5 /* tclNamesp.c in Sources */,
- F96D45AB08F272BC004A47F5 /* tclNotify.c in Sources */,
- F96D45AC08F272BC004A47F5 /* tclObj.c in Sources */,
- F93599B30DF1F75400E04F67 /* tclOO.c in Sources */,
- F93599B70DF1F76100E04F67 /* tclOOBasic.c in Sources */,
- F93599B90DF1F76600E04F67 /* tclOOCall.c in Sources */,
- F93599BC0DF1F77000E04F67 /* tclOODefineCmds.c in Sources */,
- F93599BE0DF1F77400E04F67 /* tclOOInfo.c in Sources */,
- F93599C20DF1F78300E04F67 /* tclOOMethod.c in Sources */,
- F93599C40DF1F78800E04F67 /* tclOOStubInit.c in Sources */,
- F93599C60DF1F78D00E04F67 /* tclOOStubLib.c in Sources */,
- F96D45AD08F272BC004A47F5 /* tclPanic.c in Sources */,
- F96D45AE08F272BC004A47F5 /* tclParse.c in Sources */,
- F96D45B008F272BC004A47F5 /* tclPathObj.c in Sources */,
- F96D45B108F272BC004A47F5 /* tclPipe.c in Sources */,
- F96D45B208F272BC004A47F5 /* tclPkg.c in Sources */,
- F96D45B308F272BC004A47F5 /* tclPkgConfig.c in Sources */,
- F96D45B608F272BC004A47F5 /* tclPosixStr.c in Sources */,
- F96D45B708F272BC004A47F5 /* tclPreserve.c in Sources */,
- F96D45B808F272BC004A47F5 /* tclProc.c in Sources */,
- F96D45B908F272BC004A47F5 /* tclRegexp.c in Sources */,
- F96D45BB08F272BC004A47F5 /* tclResolve.c in Sources */,
- F96D45BC08F272BC004A47F5 /* tclResult.c in Sources */,
- F96D45BD08F272BC004A47F5 /* tclScan.c in Sources */,
- F96D45BE08F272BC004A47F5 /* tclStringObj.c in Sources */,
- F96D45C308F272BC004A47F5 /* tclStrToD.c in Sources */,
- F96D45C408F272BC004A47F5 /* tclStubInit.c in Sources */,
- F96D45C508F272BC004A47F5 /* tclStubLib.c in Sources */,
- F96D45C908F272BC004A47F5 /* tclThread.c in Sources */,
- F96D45CA08F272BC004A47F5 /* tclThreadAlloc.c in Sources */,
- F96D45CB08F272BC004A47F5 /* tclThreadJoin.c in Sources */,
- F96D45CC08F272BC004A47F5 /* tclThreadStorage.c in Sources */,
- F96D45CE08F272BC004A47F5 /* tclTimer.c in Sources */,
- F96D45D008F272BC004A47F5 /* tclTomMathInterface.c in Sources */,
- F96D45D108F272BC004A47F5 /* tclTrace.c in Sources */,
- F96D45D308F272BC004A47F5 /* tclUtf.c in Sources */,
- F96D45D408F272BC004A47F5 /* tclUtil.c in Sources */,
- F96D45D508F272BC004A47F5 /* tclVar.c in Sources */,
- F96437CA0EF0D4B2003F468E /* tclZlib.c in Sources */,
- F96D48E208F272C3004A47F5 /* bn_fast_s_mp_mul_digs.c in Sources */,
- F96D48E408F272C3004A47F5 /* bn_fast_s_mp_sqr.c in Sources */,
- F96D48E708F272C3004A47F5 /* bn_mp_add.c in Sources */,
- F96D48E808F272C3004A47F5 /* bn_mp_add_d.c in Sources */,
- F9E61D2B090A48A4002B3151 /* bn_mp_and.c in Sources */,
- F96D48EB08F272C3004A47F5 /* bn_mp_clamp.c in Sources */,
- F96D48EC08F272C3004A47F5 /* bn_mp_clear.c in Sources */,
- F96D48ED08F272C3004A47F5 /* bn_mp_clear_multi.c in Sources */,
- F96D48EE08F272C3004A47F5 /* bn_mp_cmp.c in Sources */,
- F9E61D28090A481F002B3151 /* bn_mp_cmp_d.c in Sources */,
- F96D48F008F272C3004A47F5 /* bn_mp_cmp_mag.c in Sources */,
- F96D48F208F272C3004A47F5 /* bn_mp_copy.c in Sources */,
- F96D48F308F272C3004A47F5 /* bn_mp_count_bits.c in Sources */,
- F96D48F408F272C3004A47F5 /* bn_mp_div.c in Sources */,
- F96D48F508F272C3004A47F5 /* bn_mp_div_2.c in Sources */,
- F96D48F608F272C3004A47F5 /* bn_mp_div_2d.c in Sources */,
- F96D48F708F272C3004A47F5 /* bn_mp_div_3.c in Sources */,
- F96D48F808F272C3004A47F5 /* bn_mp_div_d.c in Sources */,
- F96D48FC08F272C3004A47F5 /* bn_mp_exch.c in Sources */,
- F9E61D2C090A48AC002B3151 /* bn_mp_expt_d.c in Sources */,
- F96D490508F272C3004A47F5 /* bn_mp_grow.c in Sources */,
- F96D490608F272C3004A47F5 /* bn_mp_init.c in Sources */,
- F96D490708F272C3004A47F5 /* bn_mp_init_copy.c in Sources */,
- F96D490808F272C3004A47F5 /* bn_mp_init_multi.c in Sources */,
- F96D490908F272C3004A47F5 /* bn_mp_init_set.c in Sources */,
- F96D490B08F272C3004A47F5 /* bn_mp_init_size.c in Sources */,
- F96D491008F272C3004A47F5 /* bn_mp_karatsuba_mul.c in Sources */,
- F96D491108F272C3004A47F5 /* bn_mp_karatsuba_sqr.c in Sources */,
- F96D491308F272C3004A47F5 /* bn_mp_lshd.c in Sources */,
- F96D491408F272C3004A47F5 /* bn_mp_mod.c in Sources */,
- F96D491508F272C3004A47F5 /* bn_mp_mod_2d.c in Sources */,
- F96D491A08F272C3004A47F5 /* bn_mp_mul.c in Sources */,
- F96D491B08F272C3004A47F5 /* bn_mp_mul_2.c in Sources */,
- F96D491C08F272C3004A47F5 /* bn_mp_mul_2d.c in Sources */,
- F96D491D08F272C3004A47F5 /* bn_mp_mul_d.c in Sources */,
- F9E61D29090A486C002B3151 /* bn_mp_neg.c in Sources */,
- F9E61D2E090A48BF002B3151 /* bn_mp_or.c in Sources */,
- F96D492908F272C3004A47F5 /* bn_mp_radix_size.c in Sources */,
- F96D492A08F272C3004A47F5 /* bn_mp_radix_smap.c in Sources */,
- F96D492C08F272C3004A47F5 /* bn_mp_read_radix.c in Sources */,
- F96D493708F272C3004A47F5 /* bn_mp_rshd.c in Sources */,
- F96D493808F272C3004A47F5 /* bn_mp_set.c in Sources */,
- F9E61D2F090A48C7002B3151 /* bn_mp_shrink.c in Sources */,
- F96D493C08F272C3004A47F5 /* bn_mp_sqr.c in Sources */,
- F9E61D2A090A4891002B3151 /* bn_mp_sqrt.c in Sources */,
- F96D493F08F272C3004A47F5 /* bn_mp_sub.c in Sources */,
- F96D494008F272C3004A47F5 /* bn_mp_sub_d.c in Sources */,
- F9E61D30090A48E2002B3151 /* bn_mp_to_unsigned_bin_n.c in Sources */,
- F9E61D31090A48F9002B3151 /* bn_mp_to_unsigned_bin.c in Sources */,
- F96D494608F272C3004A47F5 /* bn_mp_toom_mul.c in Sources */,
- F96D494708F272C3004A47F5 /* bn_mp_toom_sqr.c in Sources */,
- F96D494908F272C3004A47F5 /* bn_mp_toradix_n.c in Sources */,
- F9E61D32090A48FA002B3151 /* bn_mp_unsigned_bin_size.c in Sources */,
- F9E61D2D090A48BB002B3151 /* bn_mp_xor.c in Sources */,
- F96D494C08F272C3004A47F5 /* bn_mp_zero.c in Sources */,
- F96D494E08F272C3004A47F5 /* bn_reverse.c in Sources */,
- F96D494F08F272C3004A47F5 /* bn_s_mp_add.c in Sources */,
- F96D495108F272C3004A47F5 /* bn_s_mp_mul_digs.c in Sources */,
- F96D495308F272C3004A47F5 /* bn_s_mp_sqr.c in Sources */,
- F96D495408F272C3004A47F5 /* bn_s_mp_sub.c in Sources */,
- F96D495508F272C3004A47F5 /* bncore.c in Sources */,
- F96D49A908F272C4004A47F5 /* tclMacOSXBundle.c in Sources */,
- F96D49AD08F272C4004A47F5 /* tclMacOSXFCmd.c in Sources */,
- F96D49AE08F272C4004A47F5 /* tclMacOSXNotify.c in Sources */,
- F96D4AC608F272C9004A47F5 /* tclLoadDyld.c in Sources */,
- F96D4ACA08F272C9004A47F5 /* tclUnixChan.c in Sources */,
- F9FC77B80AB29E9100B7077D /* tclUnixCompat.c in Sources */,
- F96D4ACB08F272C9004A47F5 /* tclUnixEvent.c in Sources */,
- F96D4ACC08F272C9004A47F5 /* tclUnixFCmd.c in Sources */,
- F96D4ACD08F272C9004A47F5 /* tclUnixFile.c in Sources */,
- F96D4ACE08F272C9004A47F5 /* tclUnixInit.c in Sources */,
- F96D4ACF08F272C9004A47F5 /* tclUnixNotfy.c in Sources */,
- F96D4AD008F272C9004A47F5 /* tclUnixPipe.c in Sources */,
- F96D4AD208F272CA004A47F5 /* tclUnixSock.c in Sources */,
- F96D4AD408F272CA004A47F5 /* tclUnixThrd.c in Sources */,
- F96D4AD608F272CA004A47F5 /* tclUnixTime.c in Sources */,
- F9F4415E0C8BAE6F00BCCD67 /* tclDTrace.d in Sources */,
- F966BDCF08F27A3F005CB29B /* tk3d.c in Sources */,
- F966BDD108F27A3F005CB29B /* tkArgv.c in Sources */,
- F966BDD208F27A3F005CB29B /* tkAtom.c in Sources */,
- F966BDD308F27A3F005CB29B /* tkBind.c in Sources */,
- F966BDD408F27A3F005CB29B /* tkBitmap.c in Sources */,
- F9152B090EAF8A5000CD5C7B /* tkBusy.c in Sources */,
- F966BDD508F27A3F005CB29B /* tkButton.c in Sources */,
- F966BDD708F27A3F005CB29B /* tkCanvArc.c in Sources */,
- F966BDD808F27A3F005CB29B /* tkCanvas.c in Sources */,
- F966BDDA08F27A3F005CB29B /* tkCanvBmap.c in Sources */,
- F966BDDB08F27A3F005CB29B /* tkCanvImg.c in Sources */,
- F966BDDC08F27A3F005CB29B /* tkCanvLine.c in Sources */,
- F966BDDD08F27A3F005CB29B /* tkCanvPoly.c in Sources */,
- F966BDDE08F27A3F005CB29B /* tkCanvPs.c in Sources */,
- F966BDE008F27A3F005CB29B /* tkCanvText.c in Sources */,
- F966BDE108F27A3F005CB29B /* tkCanvUtil.c in Sources */,
- F966BDE208F27A3F005CB29B /* tkCanvWind.c in Sources */,
- F966BDE308F27A3F005CB29B /* tkClipboard.c in Sources */,
- F966BDE408F27A3F005CB29B /* tkCmds.c in Sources */,
- F966BDE508F27A3F005CB29B /* tkColor.c in Sources */,
- F966BDE708F27A3F005CB29B /* tkConfig.c in Sources */,
- F966BDE808F27A3F005CB29B /* tkConsole.c in Sources */,
- F966BDE908F27A3F005CB29B /* tkCursor.c in Sources */,
- F966BDEB08F27A3F005CB29B /* tkEntry.c in Sources */,
- F966BDED08F27A3F005CB29B /* tkError.c in Sources */,
- F966BDEE08F27A3F005CB29B /* tkEvent.c in Sources */,
- F966BDEF08F27A3F005CB29B /* tkFileFilter.c in Sources */,
- F966BDF108F27A3F005CB29B /* tkFocus.c in Sources */,
- F966BDF208F27A3F005CB29B /* tkFont.c in Sources */,
- F966BDF408F27A3F005CB29B /* tkFrame.c in Sources */,
- F966BDF508F27A3F005CB29B /* tkGC.c in Sources */,
- F966BDF608F27A3F005CB29B /* tkGeometry.c in Sources */,
- F966BDF708F27A3F005CB29B /* tkGet.c in Sources */,
- F966BDF808F27A3F005CB29B /* tkGrab.c in Sources */,
- F966BDF908F27A3F005CB29B /* tkGrid.c in Sources */,
- F966BDFA08F27A3F005CB29B /* tkImage.c in Sources */,
- F966BDFB08F27A3F005CB29B /* tkImgBmap.c in Sources */,
- F966BDFC08F27A3F005CB29B /* tkImgGIF.c in Sources */,
- F92EE8BF0E62F846001A6E80 /* tkImgPhInstance.c in Sources */,
- F966BDFD08F27A3F005CB29B /* tkImgPhoto.c in Sources */,
- F9DD99BD0F07DF850018B2E4 /* tkImgPNG.c in Sources */,
- F966BDFE08F27A3F005CB29B /* tkImgPPM.c in Sources */,
- F966BE0708F27A3F005CB29B /* tkListbox.c in Sources */,
- F966BE0808F27A3F005CB29B /* tkMacWinMenu.c in Sources */,
- F966BE0908F27A3F005CB29B /* tkMain.c in Sources */,
- F966BE0A08F27A3F005CB29B /* tkMenu.c in Sources */,
- F966BE0C08F27A3F005CB29B /* tkMenubutton.c in Sources */,
- F966BE0E08F27A3F005CB29B /* tkMenuDraw.c in Sources */,
- F966BE0F08F27A3F005CB29B /* tkMessage.c in Sources */,
- F966BE1008F27A3F005CB29B /* tkObj.c in Sources */,
- F966BE1108F27A3F005CB29B /* tkOldConfig.c in Sources */,
- F9067BCD0BFBA2900074F726 /* tkOldTest.c in Sources */,
- F966BE1208F27A3F005CB29B /* tkOption.c in Sources */,
- F966BE1308F27A3F005CB29B /* tkPack.c in Sources */,
- F966BE1408F27A3F005CB29B /* tkPanedWindow.c in Sources */,
- F966BE1508F27A3F005CB29B /* tkPlace.c in Sources */,
- F966BE1708F27A3F005CB29B /* tkPointer.c in Sources */,
- F966BE1908F27A3F005CB29B /* tkRectOval.c in Sources */,
- F966BE1A08F27A3F005CB29B /* tkScale.c in Sources */,
- F966BE1C08F27A40005CB29B /* tkScrollbar.c in Sources */,
- F966BE1E08F27A40005CB29B /* tkSelect.c in Sources */,
- F966BE2008F27A40005CB29B /* tkSquare.c in Sources */,
- F966BE2208F27A40005CB29B /* tkStubInit.c in Sources */,
- F966BE2308F27A40005CB29B /* tkStubLib.c in Sources */,
- F966BE2408F27A40005CB29B /* tkStyle.c in Sources */,
- F966BE2508F27A40005CB29B /* tkTest.c in Sources */,
- F966BE2608F27A40005CB29B /* tkText.c in Sources */,
- F966BE2808F27A40005CB29B /* tkTextBTree.c in Sources */,
- F966BE2908F27A40005CB29B /* tkTextDisp.c in Sources */,
- F966BE2B08F27A40005CB29B /* tkTextImage.c in Sources */,
- F966BE2C08F27A40005CB29B /* tkTextIndex.c in Sources */,
- F966BE2D08F27A40005CB29B /* tkTextMark.c in Sources */,
- F966BE2E08F27A40005CB29B /* tkTextTag.c in Sources */,
- F966BE2F08F27A40005CB29B /* tkTextWind.c in Sources */,
- F966BE3008F27A40005CB29B /* tkTrig.c in Sources */,
- F966BE3108F27A40005CB29B /* tkUndo.c in Sources */,
- F966BE3308F27A40005CB29B /* tkUtil.c in Sources */,
- F966BE3408F27A40005CB29B /* tkVisual.c in Sources */,
- F966BE3508F27A40005CB29B /* tkWindow.c in Sources */,
- F96888050AF786D5000797B5 /* ttkBlink.c in Sources */,
- F96888060AF786D5000797B5 /* ttkButton.c in Sources */,
- F96888070AF786D5000797B5 /* ttkCache.c in Sources */,
- F96888080AF786D5000797B5 /* ttkClamTheme.c in Sources */,
- F96888090AF786D5000797B5 /* ttkClassicTheme.c in Sources */,
- F968880A0AF786D5000797B5 /* ttkDefaultTheme.c in Sources */,
- F968880B0AF786D5000797B5 /* ttkElements.c in Sources */,
- F968880C0AF786D5000797B5 /* ttkEntry.c in Sources */,
- F968880D0AF786D5000797B5 /* ttkFrame.c in Sources */,
- F968880E0AF786D5000797B5 /* ttkImage.c in Sources */,
- F968880F0AF786D5000797B5 /* ttkInit.c in Sources */,
- F96888100AF786D5000797B5 /* ttkLabel.c in Sources */,
- F96888110AF786D5000797B5 /* ttkLayout.c in Sources */,
- F96888120AF786D5000797B5 /* ttkManager.c in Sources */,
- F96888130AF786D5000797B5 /* ttkNotebook.c in Sources */,
- F96888140AF786D5000797B5 /* ttkPanedwindow.c in Sources */,
- F96888150AF786D5000797B5 /* ttkProgress.c in Sources */,
- F96888160AF786D5000797B5 /* ttkScale.c in Sources */,
- F96888170AF786D5000797B5 /* ttkScroll.c in Sources */,
- F96888180AF786D5000797B5 /* ttkScrollbar.c in Sources */,
- F96888190AF786D5000797B5 /* ttkSeparator.c in Sources */,
- F968881A0AF786D5000797B5 /* ttkSquare.c in Sources */,
- F968881B0AF786D5000797B5 /* ttkState.c in Sources */,
- F968881C0AF786D5000797B5 /* ttkStubInit.c in Sources */,
- F968881D0AF786D5000797B5 /* ttkStubLib.c in Sources */,
- F968881E0AF786D5000797B5 /* ttkTagSet.c in Sources */,
- F968881F0AF786D5000797B5 /* ttkTheme.c in Sources */,
- F96888200AF786D5000797B5 /* ttkTrace.c in Sources */,
- F96888210AF786D5000797B5 /* ttkTrack.c in Sources */,
- F96888220AF786D5000797B5 /* ttkTreeview.c in Sources */,
- F96888230AF786D5000797B5 /* ttkWidget.c in Sources */,
- F966BEDB08F27A40005CB29B /* tkMacOSXBitmap.c in Sources */,
- F966BEDC08F27A40005CB29B /* tkMacOSXButton.c in Sources */,
- F966BEDE08F27A40005CB29B /* tkMacOSXClipboard.c in Sources */,
- F966BEDF08F27A40005CB29B /* tkMacOSXColor.c in Sources */,
- F966BEE008F27A40005CB29B /* tkMacOSXConfig.c in Sources */,
- F966BEE108F27A40005CB29B /* tkMacOSXCursor.c in Sources */,
- F966BEE308F27A40005CB29B /* tkMacOSXDebug.c in Sources */,
- F966BEE608F27A40005CB29B /* tkMacOSXDialog.c in Sources */,
- F966BEE708F27A40005CB29B /* tkMacOSXDraw.c in Sources */,
- F966BEE808F27A40005CB29B /* tkMacOSXEmbed.c in Sources */,
- F966BEE908F27A40005CB29B /* tkMacOSXEntry.c in Sources */,
- F966BEEA08F27A40005CB29B /* tkMacOSXEvent.c in Sources */,
- F966BEEC08F27A40005CB29B /* tkMacOSXFont.c in Sources */,
- F966BEED08F27A40005CB29B /* tkMacOSXHLEvents.c in Sources */,
- F966BEEE08F27A40005CB29B /* tkMacOSXInit.c in Sources */,
- F966BEF108F27A40005CB29B /* tkMacOSXKeyboard.c in Sources */,
- F966BEF208F27A40005CB29B /* tkMacOSXKeyEvent.c in Sources */,
- F966BEF308F27A40005CB29B /* tkMacOSXMenu.c in Sources */,
- F966BEF608F27A40005CB29B /* tkMacOSXMenubutton.c in Sources */,
- F966BEF708F27A40005CB29B /* tkMacOSXMenus.c in Sources */,
- F966BEF808F27A40005CB29B /* tkMacOSXMouseEvent.c in Sources */,
- F966BEF908F27A40005CB29B /* tkMacOSXNotify.c in Sources */,
- F966BF0108F27A40005CB29B /* tkMacOSXRegion.c in Sources */,
- F966BF0308F27A40005CB29B /* tkMacOSXScrlbr.c in Sources */,
- F966BF0408F27A40005CB29B /* tkMacOSXSend.c in Sources */,
- F966BF0508F27A40005CB29B /* tkMacOSXSubwindows.c in Sources */,
- F966BF0608F27A40005CB29B /* tkMacOSXTest.c in Sources */,
- F966BF0708F27A40005CB29B /* tkMacOSXWindowEvent.c in Sources */,
- F966BF0808F27A40005CB29B /* tkMacOSXWm.c in Sources */,
- F966BF0B08F27A40005CB29B /* tkMacOSXXStubs.c in Sources */,
- F96888850AF78938000797B5 /* ttkMacOSXTheme.c in Sources */,
- F966BF7F08F27A41005CB29B /* tkAppInit.c in Sources */,
- F966BF8308F27A41005CB29B /* tkUnix3d.c in Sources */,
- F966BF9608F27A41005CB29B /* tkUnixScale.c in Sources */,
- F966C02A08F27A42005CB29B /* xcolors.c in Sources */,
- F966C02B08F27A42005CB29B /* xdraw.c in Sources */,
- F966C02C08F27A42005CB29B /* xgc.c in Sources */,
- F966C02D08F27A42005CB29B /* ximage.c in Sources */,
- F966C02E08F27A42005CB29B /* xutil.c in Sources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
- F9FD30BB0CC1AD070073837D /* Sources */ = {
- isa = PBXSourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- F9FD30BC0CC1AD070073837D /* regcomp.c in Sources */,
- F9FD30BD0CC1AD070073837D /* regerror.c in Sources */,
- F9FD30BE0CC1AD070073837D /* regexec.c in Sources */,
- F9FD30BF0CC1AD070073837D /* regfree.c in Sources */,
- F9FD30C00CC1AD070073837D /* tclAlloc.c in Sources */,
- F9FD30C10CC1AD070073837D /* tclAsync.c in Sources */,
- F9FD30C20CC1AD070073837D /* tclBasic.c in Sources */,
- F9FD30C30CC1AD070073837D /* tclBinary.c in Sources */,
- F9FD30C40CC1AD070073837D /* tclCkalloc.c in Sources */,
- F9FD30C50CC1AD070073837D /* tclClock.c in Sources */,
- F9FD30C60CC1AD070073837D /* tclCmdAH.c in Sources */,
- F9FD30C70CC1AD070073837D /* tclCmdIL.c in Sources */,
- F9FD30C80CC1AD070073837D /* tclCmdMZ.c in Sources */,
- F9FD30C90CC1AD070073837D /* tclCompCmds.c in Sources */,
- F9FD30CA0CC1AD070073837D /* tclCompExpr.c in Sources */,
- F9FD30CB0CC1AD070073837D /* tclCompile.c in Sources */,
- F9FD30CC0CC1AD070073837D /* tclConfig.c in Sources */,
- F9FD30CD0CC1AD070073837D /* tclDate.c in Sources */,
- F9FD30CE0CC1AD070073837D /* tclDictObj.c in Sources */,
- F9FD30CF0CC1AD070073837D /* tclEncoding.c in Sources */,
- F9FD30D00CC1AD070073837D /* tclEnv.c in Sources */,
- F9FD30D10CC1AD070073837D /* tclEvent.c in Sources */,
- F9FD30D20CC1AD070073837D /* tclExecute.c in Sources */,
- F9FD30D30CC1AD070073837D /* tclFCmd.c in Sources */,
- F9FD30D40CC1AD070073837D /* tclFileName.c in Sources */,
- F9FD30D50CC1AD070073837D /* tclGet.c in Sources */,
- F9FD30D60CC1AD070073837D /* tclHash.c in Sources */,
- F9FD30D70CC1AD070073837D /* tclHistory.c in Sources */,
- F9FD30D80CC1AD070073837D /* tclIndexObj.c in Sources */,
- F9FD30D90CC1AD070073837D /* tclInterp.c in Sources */,
- F9FD30DA0CC1AD070073837D /* tclIO.c in Sources */,
- F9FD30DB0CC1AD070073837D /* tclIOCmd.c in Sources */,
- F9FD30DC0CC1AD070073837D /* tclIOGT.c in Sources */,
- F9FD30DD0CC1AD070073837D /* tclIORChan.c in Sources */,
- F9FFAF1D0DFDDB26007F8A6A /* tclIORTrans.c in Sources */,
- F9FD30DE0CC1AD070073837D /* tclIOSock.c in Sources */,
- F9FD30DF0CC1AD070073837D /* tclIOUtil.c in Sources */,
- F9FD30E00CC1AD070073837D /* tclLink.c in Sources */,
- F9FD30E10CC1AD070073837D /* tclListObj.c in Sources */,
- F9FD30E20CC1AD070073837D /* tclLiteral.c in Sources */,
- F9FD30E30CC1AD070073837D /* tclLoad.c in Sources */,
- F9FD30E40CC1AD070073837D /* tclMain.c in Sources */,
- F9FD30E50CC1AD070073837D /* tclNamesp.c in Sources */,
- F9FD30E60CC1AD070073837D /* tclNotify.c in Sources */,
- F9FD30E70CC1AD070073837D /* tclObj.c in Sources */,
- F9FFAF1F0DFDDB2F007F8A6A /* tclOO.c in Sources */,
- F9FFAF200DFDDB32007F8A6A /* tclOOBasic.c in Sources */,
- F9FFAF210DFDDB32007F8A6A /* tclOOCall.c in Sources */,
- F9FFAF220DFDDB34007F8A6A /* tclOODefineCmds.c in Sources */,
- F9FFAF230DFDDB35007F8A6A /* tclOOInfo.c in Sources */,
- F9FFAF240DFDDB36007F8A6A /* tclOOMethod.c in Sources */,
- F9FFAF250DFDDB37007F8A6A /* tclOOStubInit.c in Sources */,
- F9FFAF260DFDDB38007F8A6A /* tclOOStubLib.c in Sources */,
- F9FD30E80CC1AD070073837D /* tclPanic.c in Sources */,
- F9FD30E90CC1AD070073837D /* tclParse.c in Sources */,
- F9FD30EA0CC1AD070073837D /* tclPathObj.c in Sources */,
- F9FD30EB0CC1AD070073837D /* tclPipe.c in Sources */,
- F9FD30EC0CC1AD070073837D /* tclPkg.c in Sources */,
- F9FD30ED0CC1AD070073837D /* tclPkgConfig.c in Sources */,
- F9FD30EE0CC1AD070073837D /* tclPosixStr.c in Sources */,
- F9FD30EF0CC1AD070073837D /* tclPreserve.c in Sources */,
- F9FD30F00CC1AD070073837D /* tclProc.c in Sources */,
- F9FD30F10CC1AD070073837D /* tclRegexp.c in Sources */,
- F9FD30F20CC1AD070073837D /* tclResolve.c in Sources */,
- F9FD30F30CC1AD070073837D /* tclResult.c in Sources */,
- F9FD30F40CC1AD070073837D /* tclScan.c in Sources */,
- F9FD30F50CC1AD070073837D /* tclStringObj.c in Sources */,
- F9FD30F60CC1AD070073837D /* tclStrToD.c in Sources */,
- F9FD30F70CC1AD070073837D /* tclStubInit.c in Sources */,
- F9FD30F80CC1AD070073837D /* tclStubLib.c in Sources */,
- F9FD30F90CC1AD070073837D /* tclThread.c in Sources */,
- F9FD30FA0CC1AD070073837D /* tclThreadAlloc.c in Sources */,
- F9FD30FB0CC1AD070073837D /* tclThreadJoin.c in Sources */,
- F9FD30FC0CC1AD070073837D /* tclThreadStorage.c in Sources */,
- F9FD30FD0CC1AD070073837D /* tclTimer.c in Sources */,
- F9FD30FE0CC1AD070073837D /* tclTomMathInterface.c in Sources */,
- F9FD30FF0CC1AD070073837D /* tclTrace.c in Sources */,
- F9FD31000CC1AD070073837D /* tclUtf.c in Sources */,
- F9FD31010CC1AD070073837D /* tclUtil.c in Sources */,
- F9FD31020CC1AD070073837D /* tclVar.c in Sources */,
- F96437CB0EF0D4B2003F468E /* tclZlib.c in Sources */,
- F9FD31030CC1AD070073837D /* bn_fast_s_mp_mul_digs.c in Sources */,
- F9FD31040CC1AD070073837D /* bn_fast_s_mp_sqr.c in Sources */,
- F9FD31050CC1AD070073837D /* bn_mp_add.c in Sources */,
- F9FD31060CC1AD070073837D /* bn_mp_add_d.c in Sources */,
- F9FD31070CC1AD070073837D /* bn_mp_and.c in Sources */,
- F9FD31080CC1AD070073837D /* bn_mp_clamp.c in Sources */,
- F9FD31090CC1AD070073837D /* bn_mp_clear.c in Sources */,
- F9FD310A0CC1AD070073837D /* bn_mp_clear_multi.c in Sources */,
- F9FD310B0CC1AD070073837D /* bn_mp_cmp.c in Sources */,
- F9FD310C0CC1AD070073837D /* bn_mp_cmp_d.c in Sources */,
- F9FD310D0CC1AD070073837D /* bn_mp_cmp_mag.c in Sources */,
- F9FD310E0CC1AD070073837D /* bn_mp_copy.c in Sources */,
- F9FD310F0CC1AD070073837D /* bn_mp_count_bits.c in Sources */,
- F9FD31100CC1AD070073837D /* bn_mp_div.c in Sources */,
- F9FD31110CC1AD070073837D /* bn_mp_div_2.c in Sources */,
- F9FD31120CC1AD070073837D /* bn_mp_div_2d.c in Sources */,
- F9FD31130CC1AD070073837D /* bn_mp_div_3.c in Sources */,
- F9FD31140CC1AD070073837D /* bn_mp_div_d.c in Sources */,
- F9FD31150CC1AD070073837D /* bn_mp_exch.c in Sources */,
- F9FD31160CC1AD070073837D /* bn_mp_expt_d.c in Sources */,
- F9FD31170CC1AD070073837D /* bn_mp_grow.c in Sources */,
- F9FD31180CC1AD070073837D /* bn_mp_init.c in Sources */,
- F9FD31190CC1AD070073837D /* bn_mp_init_copy.c in Sources */,
- F9FD311A0CC1AD070073837D /* bn_mp_init_multi.c in Sources */,
- F9FD311B0CC1AD070073837D /* bn_mp_init_set.c in Sources */,
- F9FD311C0CC1AD070073837D /* bn_mp_init_size.c in Sources */,
- F9FD311D0CC1AD070073837D /* bn_mp_karatsuba_mul.c in Sources */,
- F9FD311E0CC1AD070073837D /* bn_mp_karatsuba_sqr.c in Sources */,
- F9FD311F0CC1AD070073837D /* bn_mp_lshd.c in Sources */,
- F9FD31200CC1AD070073837D /* bn_mp_mod.c in Sources */,
- F9FD31210CC1AD070073837D /* bn_mp_mod_2d.c in Sources */,
- F9FD31220CC1AD070073837D /* bn_mp_mul.c in Sources */,
- F9FD31230CC1AD070073837D /* bn_mp_mul_2.c in Sources */,
- F9FD31240CC1AD070073837D /* bn_mp_mul_2d.c in Sources */,
- F9FD31250CC1AD070073837D /* bn_mp_mul_d.c in Sources */,
- F9FD31260CC1AD070073837D /* bn_mp_neg.c in Sources */,
- F9FD31270CC1AD070073837D /* bn_mp_or.c in Sources */,
- F9FD31280CC1AD070073837D /* bn_mp_radix_size.c in Sources */,
- F9FD31290CC1AD070073837D /* bn_mp_radix_smap.c in Sources */,
- F9FD312A0CC1AD070073837D /* bn_mp_read_radix.c in Sources */,
- F9FD312B0CC1AD070073837D /* bn_mp_rshd.c in Sources */,
- F9FD312C0CC1AD070073837D /* bn_mp_set.c in Sources */,
- F9FD312D0CC1AD070073837D /* bn_mp_shrink.c in Sources */,
- F9FD312E0CC1AD070073837D /* bn_mp_sqr.c in Sources */,
- F9FD312F0CC1AD070073837D /* bn_mp_sqrt.c in Sources */,
- F9FD31300CC1AD070073837D /* bn_mp_sub.c in Sources */,
- F9FD31310CC1AD070073837D /* bn_mp_sub_d.c in Sources */,
- F9FD31320CC1AD070073837D /* bn_mp_to_unsigned_bin_n.c in Sources */,
- F9FD31330CC1AD070073837D /* bn_mp_to_unsigned_bin.c in Sources */,
- F9FD31340CC1AD070073837D /* bn_mp_toom_mul.c in Sources */,
- F9FD31350CC1AD070073837D /* bn_mp_toom_sqr.c in Sources */,
- F9FD31360CC1AD070073837D /* bn_mp_toradix_n.c in Sources */,
- F9FD31370CC1AD070073837D /* bn_mp_unsigned_bin_size.c in Sources */,
- F9FD31380CC1AD070073837D /* bn_mp_xor.c in Sources */,
- F9FD31390CC1AD070073837D /* bn_mp_zero.c in Sources */,
- F9FD313A0CC1AD070073837D /* bn_reverse.c in Sources */,
- F9FD313B0CC1AD070073837D /* bn_s_mp_add.c in Sources */,
- F9FD313C0CC1AD070073837D /* bn_s_mp_mul_digs.c in Sources */,
- F9FD313D0CC1AD070073837D /* bn_s_mp_sqr.c in Sources */,
- F9FD313E0CC1AD070073837D /* bn_s_mp_sub.c in Sources */,
- F9FD313F0CC1AD070073837D /* bncore.c in Sources */,
- F9FD31400CC1AD070073837D /* tclMacOSXBundle.c in Sources */,
- F9FD31410CC1AD070073837D /* tclMacOSXFCmd.c in Sources */,
- F9FD31420CC1AD070073837D /* tclMacOSXNotify.c in Sources */,
- F9FD31430CC1AD070073837D /* tclLoadDyld.c in Sources */,
- F9FD31440CC1AD070073837D /* tclUnixChan.c in Sources */,
- F9FD31450CC1AD070073837D /* tclUnixCompat.c in Sources */,
- F9FD31460CC1AD070073837D /* tclUnixEvent.c in Sources */,
- F9FD31470CC1AD070073837D /* tclUnixFCmd.c in Sources */,
- F9FD31480CC1AD070073837D /* tclUnixFile.c in Sources */,
- F9FD31490CC1AD070073837D /* tclUnixInit.c in Sources */,
- F9FD314A0CC1AD070073837D /* tclUnixNotfy.c in Sources */,
- F9FD314B0CC1AD070073837D /* tclUnixPipe.c in Sources */,
- F9FD314C0CC1AD070073837D /* tclUnixSock.c in Sources */,
- F9FD314D0CC1AD070073837D /* tclUnixThrd.c in Sources */,
- F9FD314E0CC1AD070073837D /* tclUnixTime.c in Sources */,
- F9FD31E20CC1AD070073837D /* tclDTrace.d in Sources */,
- F9FD314F0CC1AD070073837D /* tk3d.c in Sources */,
- F9FD31500CC1AD070073837D /* tkArgv.c in Sources */,
- F9FD31510CC1AD070073837D /* tkAtom.c in Sources */,
- F9FD31520CC1AD070073837D /* tkBind.c in Sources */,
- F9FD31530CC1AD070073837D /* tkBitmap.c in Sources */,
- F9152B0A0EAF8A5700CD5C7B /* tkBusy.c in Sources */,
- F9FD31540CC1AD070073837D /* tkButton.c in Sources */,
- F9FD31550CC1AD070073837D /* tkCanvArc.c in Sources */,
- F9FD31560CC1AD070073837D /* tkCanvas.c in Sources */,
- F9FD31570CC1AD070073837D /* tkCanvBmap.c in Sources */,
- F9FD31580CC1AD070073837D /* tkCanvImg.c in Sources */,
- F9FD31590CC1AD070073837D /* tkCanvLine.c in Sources */,
- F9FD315A0CC1AD070073837D /* tkCanvPoly.c in Sources */,
- F9FD315B0CC1AD070073837D /* tkCanvPs.c in Sources */,
- F9FD315C0CC1AD070073837D /* tkCanvText.c in Sources */,
- F9FD315D0CC1AD070073837D /* tkCanvUtil.c in Sources */,
- F9FD315E0CC1AD070073837D /* tkCanvWind.c in Sources */,
- F9FD315F0CC1AD070073837D /* tkClipboard.c in Sources */,
- F9FD31600CC1AD070073837D /* tkCmds.c in Sources */,
- F9FD31610CC1AD070073837D /* tkColor.c in Sources */,
- F9FD31620CC1AD070073837D /* tkConfig.c in Sources */,
- F9FD31630CC1AD070073837D /* tkConsole.c in Sources */,
- F9FD31640CC1AD070073837D /* tkCursor.c in Sources */,
- F9FD31650CC1AD070073837D /* tkEntry.c in Sources */,
- F9FD31660CC1AD070073837D /* tkError.c in Sources */,
- F9FD31670CC1AD070073837D /* tkEvent.c in Sources */,
- F9FD31680CC1AD070073837D /* tkFileFilter.c in Sources */,
- F9FD31690CC1AD070073837D /* tkFocus.c in Sources */,
- F9FD316A0CC1AD070073837D /* tkFont.c in Sources */,
- F9FD316B0CC1AD070073837D /* tkFrame.c in Sources */,
- F9FD316C0CC1AD070073837D /* tkGC.c in Sources */,
- F9FD316D0CC1AD070073837D /* tkGeometry.c in Sources */,
- F9FD316E0CC1AD070073837D /* tkGet.c in Sources */,
- F9FD316F0CC1AD070073837D /* tkGrab.c in Sources */,
- F9FD31700CC1AD070073837D /* tkGrid.c in Sources */,
- F9FD31710CC1AD070073837D /* tkImage.c in Sources */,
- F9FD31720CC1AD070073837D /* tkImgBmap.c in Sources */,
- F9FD31730CC1AD070073837D /* tkImgGIF.c in Sources */,
- F92EE8D30E62F939001A6E80 /* tkImgPhInstance.c in Sources */,
- F9FD31740CC1AD070073837D /* tkImgPhoto.c in Sources */,
- F9DD99BE0F07DF850018B2E4 /* tkImgPNG.c in Sources */,
- F9FD31750CC1AD070073837D /* tkImgPPM.c in Sources */,
- F9FD31760CC1AD070073837D /* tkListbox.c in Sources */,
- F9FD31770CC1AD070073837D /* tkMacWinMenu.c in Sources */,
- F9FD31780CC1AD070073837D /* tkMain.c in Sources */,
- F9FD31790CC1AD070073837D /* tkMenu.c in Sources */,
- F9FD317A0CC1AD070073837D /* tkMenubutton.c in Sources */,
- F9FD317B0CC1AD070073837D /* tkMenuDraw.c in Sources */,
- F9FD317C0CC1AD070073837D /* tkMessage.c in Sources */,
- F9FD317D0CC1AD070073837D /* tkObj.c in Sources */,
- F9FD317E0CC1AD070073837D /* tkOldConfig.c in Sources */,
- F9FD317F0CC1AD070073837D /* tkOldTest.c in Sources */,
- F9FD31800CC1AD070073837D /* tkOption.c in Sources */,
- F9FD31810CC1AD070073837D /* tkPack.c in Sources */,
- F9FD31820CC1AD070073837D /* tkPanedWindow.c in Sources */,
- F9FD31830CC1AD070073837D /* tkPlace.c in Sources */,
- F9FD31850CC1AD070073837D /* tkRectOval.c in Sources */,
- F9FD31860CC1AD070073837D /* tkScale.c in Sources */,
- F9FD31870CC1AD070073837D /* tkScrollbar.c in Sources */,
- F9FD31880CC1AD070073837D /* tkSelect.c in Sources */,
- F9FD31890CC1AD070073837D /* tkSquare.c in Sources */,
- F9FD318A0CC1AD070073837D /* tkStubInit.c in Sources */,
- F9FD318B0CC1AD070073837D /* tkStubLib.c in Sources */,
- F9FD318C0CC1AD070073837D /* tkStyle.c in Sources */,
- F9FD318D0CC1AD070073837D /* tkTest.c in Sources */,
- F9FD318E0CC1AD070073837D /* tkText.c in Sources */,
- F9FD318F0CC1AD070073837D /* tkTextBTree.c in Sources */,
- F9FD31900CC1AD070073837D /* tkTextDisp.c in Sources */,
- F9FD31910CC1AD070073837D /* tkTextImage.c in Sources */,
- F9FD31920CC1AD070073837D /* tkTextIndex.c in Sources */,
- F9FD31930CC1AD070073837D /* tkTextMark.c in Sources */,
- F9FD31940CC1AD070073837D /* tkTextTag.c in Sources */,
- F9FD31950CC1AD070073837D /* tkTextWind.c in Sources */,
- F9FD31960CC1AD070073837D /* tkTrig.c in Sources */,
- F9FD31970CC1AD070073837D /* tkUndo.c in Sources */,
- F9FD31980CC1AD070073837D /* tkUtil.c in Sources */,
- F9FD31990CC1AD070073837D /* tkVisual.c in Sources */,
- F9FD319A0CC1AD070073837D /* tkWindow.c in Sources */,
- F9FD319B0CC1AD070073837D /* ttkBlink.c in Sources */,
- F9FD319C0CC1AD070073837D /* ttkButton.c in Sources */,
- F9FD319D0CC1AD070073837D /* ttkCache.c in Sources */,
- F9FD319E0CC1AD070073837D /* ttkClamTheme.c in Sources */,
- F9FD319F0CC1AD070073837D /* ttkClassicTheme.c in Sources */,
- F9FD31A00CC1AD070073837D /* ttkDefaultTheme.c in Sources */,
- F9FD31A10CC1AD070073837D /* ttkElements.c in Sources */,
- F9FD31A20CC1AD070073837D /* ttkEntry.c in Sources */,
- F9FD31A30CC1AD070073837D /* ttkFrame.c in Sources */,
- F9FD31A40CC1AD070073837D /* ttkImage.c in Sources */,
- F9FD31A50CC1AD070073837D /* ttkInit.c in Sources */,
- F9FD31A60CC1AD070073837D /* ttkLabel.c in Sources */,
- F9FD31A70CC1AD070073837D /* ttkLayout.c in Sources */,
- F9FD31A80CC1AD070073837D /* ttkManager.c in Sources */,
- F9FD31A90CC1AD070073837D /* ttkNotebook.c in Sources */,
- F9FD31AA0CC1AD070073837D /* ttkPanedwindow.c in Sources */,
- F9FD31AB0CC1AD070073837D /* ttkProgress.c in Sources */,
- F9FD31AC0CC1AD070073837D /* ttkScale.c in Sources */,
- F9FD31AD0CC1AD070073837D /* ttkScroll.c in Sources */,
- F9FD31AE0CC1AD070073837D /* ttkScrollbar.c in Sources */,
- F9FD31AF0CC1AD070073837D /* ttkSeparator.c in Sources */,
- F9FD31B00CC1AD070073837D /* ttkSquare.c in Sources */,
- F9FD31B10CC1AD070073837D /* ttkState.c in Sources */,
- F9FD31B20CC1AD070073837D /* ttkStubInit.c in Sources */,
- F9FD31B30CC1AD070073837D /* ttkStubLib.c in Sources */,
- F9FD31B40CC1AD070073837D /* ttkTagSet.c in Sources */,
- F9FD31B50CC1AD070073837D /* ttkTheme.c in Sources */,
- F9FD31B60CC1AD070073837D /* ttkTrace.c in Sources */,
- F9FD31B70CC1AD070073837D /* ttkTrack.c in Sources */,
- F9FD31B80CC1AD070073837D /* ttkTreeview.c in Sources */,
- F9FD31B90CC1AD070073837D /* ttkWidget.c in Sources */,
- F9FD31DA0CC1AD070073837D /* tkAppInit.c in Sources */,
- F9FD32020CC1ADB70073837D /* tkUnix.c in Sources */,
- F9FD31DB0CC1AD070073837D /* tkUnix3d.c in Sources */,
- F9FD320A0CC1ADB70073837D /* tkUnixButton.c in Sources */,
- F9FD32090CC1ADB70073837D /* tkUnixColor.c in Sources */,
- F9FD32040CC1ADB70073837D /* tkUnixConfig.c in Sources */,
- F9FD31F80CC1ADB70073837D /* tkUnixCursor.c in Sources */,
- F9FD32060CC1ADB70073837D /* tkUnixDialog.c in Sources */,
- F9FD32050CC1ADB70073837D /* tkUnixDraw.c in Sources */,
- F9FD31FD0CC1ADB70073837D /* tkUnixEmbed.c in Sources */,
- F9FD32080CC1ADB70073837D /* tkUnixEvent.c in Sources */,
- F9FD31FF0CC1ADB70073837D /* tkUnixFocus.c in Sources */,
- F9FD31FC0CC1ADB70073837D /* tkUnixInit.c in Sources */,
- F9FD31FA0CC1ADB70073837D /* tkUnixKey.c in Sources */,
- F9FD32030CC1ADB70073837D /* tkUnixMenu.c in Sources */,
- F9FD320B0CC1ADB70073837D /* tkUnixMenubu.c in Sources */,
- F9FD32010CC1ADB70073837D /* tkUnixRFont.c in Sources */,
- F9FD31DC0CC1AD070073837D /* tkUnixScale.c in Sources */,
- F9FD320C0CC1ADB70073837D /* tkUnixScrlbr.c in Sources */,
- F9FD32070CC1ADB70073837D /* tkUnixSelect.c in Sources */,
- F9FD31FE0CC1ADB70073837D /* tkUnixSend.c in Sources */,
- F9FD32000CC1ADB70073837D /* tkUnixWm.c in Sources */,
- F9FD31FB0CC1ADB70073837D /* tkUnixXId.c in Sources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXSourcesBuildPhase section */
-
-/* Begin XCBuildConfiguration section */
- F90E36D50F3B5C8400810A10 /* DebugNoGC */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = F97AE8330B65C87F00310EA2 /* Tk-Debug.xcconfig */;
- buildSettings = {
- ARCHS = (
- "$(NATIVE_ARCH_64_BIT)",
- "$(NATIVE_ARCH_32_BIT)",
- );
- CPPFLAGS = "-arch $(CURRENT_ARCH) $(CPPFLAGS)";
- GCC_C_LANGUAGE_STANDARD = gnu99;
- GCC_ENABLE_OBJC_GC = unsupported;
- GCC_ENABLE_PASCAL_STRINGS = NO;
- GCC_INPUT_FILETYPE = sourcecode.c.objc;
- MACOSX_DEPLOYMENT_TARGET = 10.5;
- ONLY_ACTIVE_ARCH = YES;
- PREBINDING = NO;
- };
- name = DebugNoGC;
- };
- F90E36D60F3B5C8400810A10 /* DebugNoGC */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- PRODUCT_NAME = Wish;
- SKIP_INSTALL = NO;
- };
- name = DebugNoGC;
- };
- F90E36D70F3B5C8400810A10 /* DebugNoGC */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- OTHER_LDFLAGS = (
- "$(OTHER_LDFLAGS_AQUA)",
- "$(OTHER_LDFLAGS)",
- );
- PRODUCT_NAME = tktest;
- };
- name = DebugNoGC;
- };
- F90E36D80F3B5C8400810A10 /* DebugNoGC */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- CONFIGURE_ARGS = "tcl_cv_cc_visibility_hidden=no $(CONFIGURE_ARGS)";
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_ENABLE_FIX_AND_CONTINUE = YES;
- GCC_INPUT_FILETYPE = sourcecode.c.c;
- GCC_PREPROCESSOR_DEFINITIONS = (
- "__private_extern__=extern",
- "$(GCC_PREPROCESSOR_DEFINITIONS)",
- );
- GCC_SYMBOLS_PRIVATE_EXTERN = NO;
- HEADER_SEARCH_PATHS = (
- /usr/X11R6/include,
- /usr/X11R6/include/freetype2,
- "$(HEADER_SEARCH_PATHS)",
- );
- LIBRARY_SEARCH_PATHS = (
- /usr/X11R6/lib,
- "$(LIBRARY_SEARCH_PATHS)",
- );
- PRODUCT_NAME = "tktest-X11";
- };
- name = DebugNoGC;
- };
- F91BCC4F093152310042A6BF /* ReleaseUniversal */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- PRODUCT_NAME = Wish;
- SKIP_INSTALL = NO;
- };
- name = ReleaseUniversal;
- };
- F91BCC50093152310042A6BF /* ReleaseUniversal */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- OTHER_LDFLAGS = (
- "$(OTHER_LDFLAGS_AQUA)",
- "$(OTHER_LDFLAGS)",
- );
- PRODUCT_NAME = tktest;
- };
- name = ReleaseUniversal;
- };
- F91BCC51093152310042A6BF /* ReleaseUniversal */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = F97AE82B0B65C69B00310EA2 /* Tk-Release.xcconfig */;
- buildSettings = {
- ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
- CFLAGS = "-arch i386 -arch x86_64 -arch ppc $(CFLAGS)";
- GCC_C_LANGUAGE_STANDARD = gnu99;
- GCC_ENABLE_OBJC_GC = supported;
- GCC_ENABLE_PASCAL_STRINGS = NO;
- GCC_INPUT_FILETYPE = sourcecode.c.objc;
- MACOSX_DEPLOYMENT_TARGET = 10.5;
- PREBINDING = NO;
- };
- name = ReleaseUniversal;
- };
- F93084370BB93D2800CD0B9E /* DebugMemCompile */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- PRODUCT_NAME = Wish;
- SKIP_INSTALL = NO;
- };
- name = DebugMemCompile;
- };
- F93084380BB93D2800CD0B9E /* DebugMemCompile */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- OTHER_LDFLAGS = (
- "$(OTHER_LDFLAGS_AQUA)",
- "$(OTHER_LDFLAGS)",
- );
- PRODUCT_NAME = tktest;
- };
- name = DebugMemCompile;
- };
- F93084390BB93D2800CD0B9E /* DebugMemCompile */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- GCC_INPUT_FILETYPE = sourcecode.c.c;
- HEADER_SEARCH_PATHS = (
- /usr/X11R6/include,
- /usr/X11R6/include/freetype2,
- "$(HEADER_SEARCH_PATHS)",
- );
- LIBRARY_SEARCH_PATHS = (
- /usr/X11R6/lib,
- "$(LIBRARY_SEARCH_PATHS)",
- );
- PRODUCT_NAME = "tktest-X11";
- };
- name = DebugMemCompile;
- };
- F930843A0BB93D2800CD0B9E /* DebugMemCompile */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = F97AE8330B65C87F00310EA2 /* Tk-Debug.xcconfig */;
- buildSettings = {
- ARCHS = (
- "$(NATIVE_ARCH_64_BIT)",
- "$(NATIVE_ARCH_32_BIT)",
- );
- CONFIGURE_ARGS = "$(CONFIGURE_ARGS) --enable-symbols=all";
- CPPFLAGS = "-arch $(CURRENT_ARCH) $(CPPFLAGS)";
- GCC_C_LANGUAGE_STANDARD = gnu99;
- GCC_ENABLE_OBJC_GC = supported;
- GCC_ENABLE_PASCAL_STRINGS = NO;
- GCC_INPUT_FILETYPE = sourcecode.c.objc;
- MACOSX_DEPLOYMENT_TARGET = 10.5;
- ONLY_ACTIVE_ARCH = YES;
- PREBINDING = NO;
- };
- name = DebugMemCompile;
- };
- F9359B250DF212DA00E04F67 /* DebugGCov */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = F97AE8330B65C87F00310EA2 /* Tk-Debug.xcconfig */;
- buildSettings = {
- ARCHS = (
- "$(NATIVE_ARCH_64_BIT)",
- "$(NATIVE_ARCH_32_BIT)",
- );
- CPPFLAGS = "-arch $(CURRENT_ARCH) $(CPPFLAGS)";
- GCC_C_LANGUAGE_STANDARD = gnu99;
- GCC_ENABLE_OBJC_GC = supported;
- GCC_ENABLE_PASCAL_STRINGS = NO;
- GCC_GENERATE_TEST_COVERAGE_FILES = YES;
- GCC_INPUT_FILETYPE = sourcecode.c.objc;
- GCC_INSTRUMENT_PROGRAM_FLOW_ARCS = YES;
- MACOSX_DEPLOYMENT_TARGET = 10.5;
- ONLY_ACTIVE_ARCH = YES;
- OTHER_LDFLAGS = (
- "$(OTHER_LDFLAGS)",
- "-lgcov",
- );
- PREBINDING = NO;
- };
- name = DebugGCov;
- };
- F9359B260DF212DA00E04F67 /* DebugGCov */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- PRODUCT_NAME = Wish;
- SKIP_INSTALL = NO;
- };
- name = DebugGCov;
- };
- F9359B270DF212DA00E04F67 /* DebugGCov */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- OTHER_LDFLAGS = (
- "$(OTHER_LDFLAGS_AQUA)",
- "$(OTHER_LDFLAGS)",
- );
- PRODUCT_NAME = tktest;
- };
- name = DebugGCov;
- };
- F9359B280DF212DA00E04F67 /* DebugGCov */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- GCC_INPUT_FILETYPE = sourcecode.c.c;
- HEADER_SEARCH_PATHS = (
- /usr/X11R6/include,
- /usr/X11R6/include/freetype2,
- "$(HEADER_SEARCH_PATHS)",
- );
- LIBRARY_SEARCH_PATHS = (
- /usr/X11R6/lib,
- "$(LIBRARY_SEARCH_PATHS)",
- );
- PRODUCT_NAME = "tktest-X11";
- };
- name = DebugGCov;
- };
- F95CC8AC09158F3100EA5ACE /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- PRODUCT_NAME = Wish;
- SKIP_INSTALL = NO;
- };
- name = Debug;
- };
- F95CC8AD09158F3100EA5ACE /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- PRODUCT_NAME = Wish;
- SKIP_INSTALL = NO;
- };
- name = Release;
- };
- F95CC8AE09158F3100EA5ACE /* DebugNoFixAndContinue */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- PRODUCT_NAME = Wish;
- SKIP_INSTALL = NO;
- };
- name = DebugNoFixAndContinue;
- };
- F95CC8B109158F3100EA5ACE /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- CONFIGURE_ARGS = "tcl_cv_cc_visibility_hidden=no $(CONFIGURE_ARGS)";
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_ENABLE_FIX_AND_CONTINUE = YES;
- GCC_PREPROCESSOR_DEFINITIONS = (
- "__private_extern__=extern",
- "$(GCC_PREPROCESSOR_DEFINITIONS)",
- );
- GCC_SYMBOLS_PRIVATE_EXTERN = NO;
- OTHER_LDFLAGS = (
- "$(OTHER_LDFLAGS_AQUA)",
- "$(OTHER_LDFLAGS)",
- );
- PRODUCT_NAME = tktest;
- };
- name = Debug;
- };
- F95CC8B209158F3100EA5ACE /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- OTHER_LDFLAGS = (
- "$(OTHER_LDFLAGS_AQUA)",
- "$(OTHER_LDFLAGS)",
- );
- PRODUCT_NAME = tktest;
- };
- name = Release;
- };
- F95CC8B309158F3100EA5ACE /* DebugNoFixAndContinue */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- OTHER_LDFLAGS = (
- "$(OTHER_LDFLAGS_AQUA)",
- "$(OTHER_LDFLAGS)",
- );
- PRODUCT_NAME = tktest;
- };
- name = DebugNoFixAndContinue;
- };
- F95CC8B609158F3100EA5ACE /* Debug */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = F97AE8330B65C87F00310EA2 /* Tk-Debug.xcconfig */;
- buildSettings = {
- ARCHS = (
- "$(NATIVE_ARCH_64_BIT)",
- "$(NATIVE_ARCH_32_BIT)",
- );
- CPPFLAGS = "-arch $(CURRENT_ARCH) $(CPPFLAGS)";
- GCC_C_LANGUAGE_STANDARD = gnu99;
- GCC_ENABLE_OBJC_GC = supported;
- GCC_ENABLE_PASCAL_STRINGS = NO;
- GCC_INPUT_FILETYPE = sourcecode.c.objc;
- MACOSX_DEPLOYMENT_TARGET = 10.5;
- ONLY_ACTIVE_ARCH = YES;
- PREBINDING = NO;
- };
- name = Debug;
- };
- F95CC8B709158F3100EA5ACE /* Release */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = F97AE82B0B65C69B00310EA2 /* Tk-Release.xcconfig */;
- buildSettings = {
- ARCHS = (
- "$(NATIVE_ARCH_64_BIT)",
- "$(NATIVE_ARCH_32_BIT)",
- );
- CPPFLAGS = "-arch $(CURRENT_ARCH) $(CPPFLAGS)";
- GCC_C_LANGUAGE_STANDARD = gnu99;
- GCC_ENABLE_OBJC_GC = supported;
- GCC_ENABLE_PASCAL_STRINGS = NO;
- GCC_INPUT_FILETYPE = sourcecode.c.objc;
- MACOSX_DEPLOYMENT_TARGET = 10.5;
- ONLY_ACTIVE_ARCH = YES;
- PREBINDING = NO;
- };
- name = Release;
- };
- F95CC8B809158F3100EA5ACE /* DebugNoFixAndContinue */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = F97AE8330B65C87F00310EA2 /* Tk-Debug.xcconfig */;
- buildSettings = {
- ARCHS = (
- "$(NATIVE_ARCH_64_BIT)",
- "$(NATIVE_ARCH_32_BIT)",
- );
- CPPFLAGS = "-arch $(CURRENT_ARCH) $(CPPFLAGS)";
- GCC_C_LANGUAGE_STANDARD = gnu99;
- GCC_ENABLE_OBJC_GC = supported;
- GCC_ENABLE_PASCAL_STRINGS = NO;
- GCC_INPUT_FILETYPE = sourcecode.c.objc;
- MACOSX_DEPLOYMENT_TARGET = 10.5;
- ONLY_ACTIVE_ARCH = YES;
- PREBINDING = NO;
- };
- name = DebugNoFixAndContinue;
- };
- F97258A90A86873D00096C78 /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- CONFIGURE_ARGS = "tcl_cv_cc_visibility_hidden=no $(CONFIGURE_ARGS)";
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_ENABLE_FIX_AND_CONTINUE = YES;
- GCC_INPUT_FILETYPE = sourcecode.c.c;
- GCC_PREPROCESSOR_DEFINITIONS = (
- "__private_extern__=extern",
- "$(GCC_PREPROCESSOR_DEFINITIONS)",
- );
- GCC_SYMBOLS_PRIVATE_EXTERN = NO;
- HEADER_SEARCH_PATHS = (
- /usr/X11R6/include,
- /usr/X11R6/include/freetype2,
- "$(HEADER_SEARCH_PATHS)",
- );
- LIBRARY_SEARCH_PATHS = (
- /usr/X11R6/lib,
- "$(LIBRARY_SEARCH_PATHS)",
- );
- PRODUCT_NAME = "tktest-X11";
- };
- name = Debug;
- };
- F97258AA0A86873D00096C78 /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- GCC_INPUT_FILETYPE = sourcecode.c.c;
- HEADER_SEARCH_PATHS = (
- /usr/X11R6/include,
- /usr/X11R6/include/freetype2,
- "$(HEADER_SEARCH_PATHS)",
- );
- LIBRARY_SEARCH_PATHS = (
- /usr/X11R6/lib,
- "$(LIBRARY_SEARCH_PATHS)",
- );
- PRODUCT_NAME = "tktest-X11";
- };
- name = Release;
- };
- F97258AB0A86873D00096C78 /* DebugNoFixAndContinue */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- GCC_INPUT_FILETYPE = sourcecode.c.c;
- HEADER_SEARCH_PATHS = (
- /usr/X11R6/include,
- /usr/X11R6/include/freetype2,
- "$(HEADER_SEARCH_PATHS)",
- );
- LIBRARY_SEARCH_PATHS = (
- /usr/X11R6/lib,
- "$(LIBRARY_SEARCH_PATHS)",
- );
- PRODUCT_NAME = "tktest-X11";
- };
- name = DebugNoFixAndContinue;
- };
- F97258AC0A86873D00096C78 /* ReleaseUniversal */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
- CFLAGS = "-arch i386 -arch x86_64 -arch ppc $(CFLAGS)";
- GCC_INPUT_FILETYPE = sourcecode.c.c;
- HEADER_SEARCH_PATHS = (
- /usr/X11R6/include,
- /usr/X11R6/include/freetype2,
- "$(HEADER_SEARCH_PATHS)",
- );
- LIBRARY_SEARCH_PATHS = (
- /usr/X11R6/lib,
- "$(LIBRARY_SEARCH_PATHS)",
- );
- PRODUCT_NAME = "tktest-X11";
- };
- name = ReleaseUniversal;
- };
- F97AED1B0B660B2100310EA2 /* Debug64bit */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- PRODUCT_NAME = Wish;
- SKIP_INSTALL = NO;
- };
- name = Debug64bit;
- };
- F97AED1C0B660B2100310EA2 /* Debug64bit */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- OTHER_LDFLAGS = (
- "$(OTHER_LDFLAGS_AQUA)",
- "$(OTHER_LDFLAGS)",
- );
- PRODUCT_NAME = tktest;
- };
- name = Debug64bit;
- };
- F97AED1D0B660B2100310EA2 /* Debug64bit */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- GCC_INPUT_FILETYPE = sourcecode.c.c;
- HEADER_SEARCH_PATHS = (
- /usr/X11R6/include,
- /usr/X11R6/include/freetype2,
- "$(HEADER_SEARCH_PATHS)",
- );
- LIBRARY_SEARCH_PATHS = (
- /usr/X11R6/lib,
- "$(LIBRARY_SEARCH_PATHS)",
- );
- PRODUCT_NAME = "tktest-X11";
- };
- name = Debug64bit;
- };
- F97AED1E0B660B2100310EA2 /* Debug64bit */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = F97AE8330B65C87F00310EA2 /* Tk-Debug.xcconfig */;
- buildSettings = {
- ARCHS = "$(NATIVE_ARCH_64_BIT)";
- CONFIGURE_ARGS = "--enable-64bit $(CONFIGURE_ARGS)";
- CPPFLAGS = "-arch $(NATIVE_ARCH_64_BIT) $(CPPFLAGS)";
- GCC_C_LANGUAGE_STANDARD = gnu99;
- GCC_ENABLE_OBJC_GC = supported;
- GCC_ENABLE_PASCAL_STRINGS = NO;
- GCC_INPUT_FILETYPE = sourcecode.c.objc;
- MACOSX_DEPLOYMENT_TARGET = 10.5;
- PREBINDING = NO;
- };
- name = Debug64bit;
- };
- F987512F0DE7B57E00B1C9EC /* DebugNoCF */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = F97AE8330B65C87F00310EA2 /* Tk-Debug.xcconfig */;
- buildSettings = {
- ARCHS = (
- "$(NATIVE_ARCH_64_BIT)",
- "$(NATIVE_ARCH_32_BIT)",
- );
- CONFIGURE_ARGS = "$(CONFIGURE_ARGS) --disable-corefoundation";
- CPPFLAGS = "-arch $(CURRENT_ARCH) $(CPPFLAGS)";
- GCC_C_LANGUAGE_STANDARD = gnu99;
- GCC_ENABLE_OBJC_GC = supported;
- GCC_ENABLE_PASCAL_STRINGS = NO;
- GCC_INPUT_FILETYPE = sourcecode.c.objc;
- MACOSX_DEPLOYMENT_TARGET = 10.5;
- ONLY_ACTIVE_ARCH = YES;
- PREBINDING = NO;
- };
- name = DebugNoCF;
- };
- F98751300DE7B57E00B1C9EC /* DebugNoCF */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- CONFIGURE_ARGS = "$(CONFIGURE_ARGS) --enable-corefoundation";
- PRODUCT_NAME = Wish;
- SKIP_INSTALL = NO;
- };
- name = DebugNoCF;
- };
- F98751310DE7B57E00B1C9EC /* DebugNoCF */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- CONFIGURE_ARGS = "$(CONFIGURE_ARGS) --enable-corefoundation";
- OTHER_LDFLAGS = (
- "$(OTHER_LDFLAGS_AQUA)",
- "$(OTHER_LDFLAGS)",
- );
- PRODUCT_NAME = tktest;
- };
- name = DebugNoCF;
- };
- F98751320DE7B57E00B1C9EC /* DebugNoCF */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- GCC_INPUT_FILETYPE = sourcecode.c.c;
- HEADER_SEARCH_PATHS = (
- /usr/X11R6/include,
- /usr/X11R6/include/freetype2,
- "$(HEADER_SEARCH_PATHS)",
- );
- LIBRARY_SEARCH_PATHS = (
- /usr/X11R6/lib,
- "$(LIBRARY_SEARCH_PATHS)",
- );
- PRODUCT_NAME = "tktest-X11";
- };
- name = DebugNoCF;
- };
- F98751330DE7B5A200B1C9EC /* DebugNoCFUnthreaded */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = F97AE8330B65C87F00310EA2 /* Tk-Debug.xcconfig */;
- buildSettings = {
- ARCHS = (
- "$(NATIVE_ARCH_64_BIT)",
- "$(NATIVE_ARCH_32_BIT)",
- );
- CONFIGURE_ARGS = "$(CONFIGURE_ARGS) --disable-threads --disable-corefoundation";
- CPPFLAGS = "-arch $(CURRENT_ARCH) $(CPPFLAGS)";
- GCC_C_LANGUAGE_STANDARD = gnu99;
- GCC_ENABLE_OBJC_GC = supported;
- GCC_ENABLE_PASCAL_STRINGS = NO;
- GCC_INPUT_FILETYPE = sourcecode.c.objc;
- MACOSX_DEPLOYMENT_TARGET = 10.5;
- ONLY_ACTIVE_ARCH = YES;
- PREBINDING = NO;
- };
- name = DebugNoCFUnthreaded;
- };
- F98751340DE7B5A200B1C9EC /* DebugNoCFUnthreaded */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- CONFIGURE_ARGS = "$(CONFIGURE_ARGS) --enable-corefoundation";
- PRODUCT_NAME = Wish;
- SKIP_INSTALL = NO;
- };
- name = DebugNoCFUnthreaded;
- };
- F98751350DE7B5A200B1C9EC /* DebugNoCFUnthreaded */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- CONFIGURE_ARGS = "$(CONFIGURE_ARGS) --enable-corefoundation";
- OTHER_LDFLAGS = (
- "$(OTHER_LDFLAGS_AQUA)",
- "$(OTHER_LDFLAGS)",
- );
- PRODUCT_NAME = tktest;
- };
- name = DebugNoCFUnthreaded;
- };
- F98751360DE7B5A200B1C9EC /* DebugNoCFUnthreaded */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- GCC_INPUT_FILETYPE = sourcecode.c.c;
- HEADER_SEARCH_PATHS = (
- /usr/X11R6/include,
- /usr/X11R6/include/freetype2,
- "$(HEADER_SEARCH_PATHS)",
- );
- LIBRARY_SEARCH_PATHS = (
- /usr/X11R6/lib,
- "$(LIBRARY_SEARCH_PATHS)",
- );
- PRODUCT_NAME = "tktest-X11";
- };
- name = DebugNoCFUnthreaded;
- };
- F9988AB10D814C6500B6B03B /* Debug gcc40 */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = F97AE8330B65C87F00310EA2 /* Tk-Debug.xcconfig */;
- buildSettings = {
- ARCHS = (
- "$(NATIVE_ARCH_64_BIT)",
- "$(NATIVE_ARCH_32_BIT)",
- );
- CPPFLAGS = "-arch $(CURRENT_ARCH) $(CPPFLAGS)";
- GCC_C_LANGUAGE_STANDARD = gnu99;
- GCC_ENABLE_OBJC_GC = supported;
- GCC_ENABLE_PASCAL_STRINGS = NO;
- GCC_INPUT_FILETYPE = sourcecode.c.objc;
- GCC_VERSION = 4.0;
- MACOSX_DEPLOYMENT_TARGET = 10.5;
- ONLY_ACTIVE_ARCH = YES;
- PREBINDING = NO;
- };
- name = "Debug gcc40";
- };
- F9988AB20D814C6500B6B03B /* Debug gcc40 */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- PRODUCT_NAME = Wish;
- SKIP_INSTALL = NO;
- };
- name = "Debug gcc40";
- };
- F9988AB30D814C6500B6B03B /* Debug gcc40 */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- CONFIGURE_ARGS = "tcl_cv_cc_visibility_hidden=no $(CONFIGURE_ARGS)";
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_ENABLE_FIX_AND_CONTINUE = YES;
- GCC_PREPROCESSOR_DEFINITIONS = (
- "__private_extern__=extern",
- "$(GCC_PREPROCESSOR_DEFINITIONS)",
- );
- GCC_SYMBOLS_PRIVATE_EXTERN = NO;
- OTHER_LDFLAGS = (
- "$(OTHER_LDFLAGS_AQUA)",
- "$(OTHER_LDFLAGS)",
- );
- PRODUCT_NAME = tktest;
- };
- name = "Debug gcc40";
- };
- F9988AB40D814C6500B6B03B /* Debug gcc40 */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- CONFIGURE_ARGS = "tcl_cv_cc_visibility_hidden=no $(CONFIGURE_ARGS)";
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_ENABLE_FIX_AND_CONTINUE = YES;
- GCC_INPUT_FILETYPE = sourcecode.c.c;
- GCC_PREPROCESSOR_DEFINITIONS = (
- "__private_extern__=extern",
- "$(GCC_PREPROCESSOR_DEFINITIONS)",
- );
- GCC_SYMBOLS_PRIVATE_EXTERN = NO;
- HEADER_SEARCH_PATHS = (
- /usr/X11R6/include,
- /usr/X11R6/include/freetype2,
- "$(HEADER_SEARCH_PATHS)",
- );
- LIBRARY_SEARCH_PATHS = (
- /usr/X11R6/lib,
- "$(LIBRARY_SEARCH_PATHS)",
- );
- PRODUCT_NAME = "tktest-X11";
- };
- name = "Debug gcc40";
- };
- F9988AB50D814C7500B6B03B /* Debug llvm-gcc */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = F97AE8330B65C87F00310EA2 /* Tk-Debug.xcconfig */;
- buildSettings = {
- ARCHS = (
- "$(NATIVE_ARCH_64_BIT)",
- "$(NATIVE_ARCH_32_BIT)",
- );
- CPPFLAGS = "-arch $(CURRENT_ARCH) $(CPPFLAGS)";
- GCC = "llvm-gcc";
- GCC_C_LANGUAGE_STANDARD = gnu99;
- GCC_ENABLE_OBJC_GC = supported;
- GCC_ENABLE_PASCAL_STRINGS = NO;
- GCC_INPUT_FILETYPE = sourcecode.c.objc;
- GCC_VERSION = com.apple.compilers.llvmgcc42;
- MACOSX_DEPLOYMENT_TARGET = 10.5;
- ONLY_ACTIVE_ARCH = YES;
- PREBINDING = NO;
- };
- name = "Debug llvm-gcc";
- };
- F9988AB60D814C7500B6B03B /* Debug llvm-gcc */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- PRODUCT_NAME = Wish;
- SKIP_INSTALL = NO;
- };
- name = "Debug llvm-gcc";
- };
- F9988AB70D814C7500B6B03B /* Debug llvm-gcc */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- CONFIGURE_ARGS = "tcl_cv_cc_visibility_hidden=no $(CONFIGURE_ARGS)";
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_ENABLE_FIX_AND_CONTINUE = YES;
- GCC_PREPROCESSOR_DEFINITIONS = (
- "__private_extern__=extern",
- "$(GCC_PREPROCESSOR_DEFINITIONS)",
- );
- GCC_SYMBOLS_PRIVATE_EXTERN = NO;
- OTHER_LDFLAGS = (
- "$(OTHER_LDFLAGS_AQUA)",
- "$(OTHER_LDFLAGS)",
- );
- PRODUCT_NAME = tktest;
- };
- name = "Debug llvm-gcc";
- };
- F9988AB80D814C7500B6B03B /* Debug llvm-gcc */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- CONFIGURE_ARGS = "tcl_cv_cc_visibility_hidden=no $(CONFIGURE_ARGS)";
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_ENABLE_FIX_AND_CONTINUE = YES;
- GCC_INPUT_FILETYPE = sourcecode.c.c;
- GCC_PREPROCESSOR_DEFINITIONS = (
- "__private_extern__=extern",
- "$(GCC_PREPROCESSOR_DEFINITIONS)",
- );
- GCC_SYMBOLS_PRIVATE_EXTERN = NO;
- HEADER_SEARCH_PATHS = (
- /usr/X11R6/include,
- /usr/X11R6/include/freetype2,
- "$(HEADER_SEARCH_PATHS)",
- );
- LIBRARY_SEARCH_PATHS = (
- /usr/X11R6/lib,
- "$(LIBRARY_SEARCH_PATHS)",
- );
- PRODUCT_NAME = "tktest-X11";
- };
- name = "Debug llvm-gcc";
- };
- F9988BB10D81586D00B6B03B /* ReleaseUniversal gcc40 */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = F97AE82B0B65C69B00310EA2 /* Tk-Release.xcconfig */;
- buildSettings = {
- ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
- CFLAGS = "-arch i386 -arch x86_64 -arch ppc $(CFLAGS)";
- GCC_C_LANGUAGE_STANDARD = gnu99;
- GCC_ENABLE_OBJC_GC = supported;
- GCC_ENABLE_PASCAL_STRINGS = NO;
- GCC_INPUT_FILETYPE = sourcecode.c.objc;
- GCC_VERSION = 4.0;
- MACOSX_DEPLOYMENT_TARGET = 10.5;
- PREBINDING = NO;
- };
- name = "ReleaseUniversal gcc40";
- };
- F9988BB20D81586D00B6B03B /* ReleaseUniversal gcc40 */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- PRODUCT_NAME = Wish;
- SKIP_INSTALL = NO;
- };
- name = "ReleaseUniversal gcc40";
- };
- F9988BB30D81586D00B6B03B /* ReleaseUniversal gcc40 */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- OTHER_LDFLAGS = (
- "$(OTHER_LDFLAGS_AQUA)",
- "$(OTHER_LDFLAGS)",
- );
- PRODUCT_NAME = tktest;
- };
- name = "ReleaseUniversal gcc40";
- };
- F9988BB40D81586D00B6B03B /* ReleaseUniversal gcc40 */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
- CFLAGS = "-arch i386 -arch x86_64 -arch ppc $(CFLAGS)";
- GCC_INPUT_FILETYPE = sourcecode.c.c;
- HEADER_SEARCH_PATHS = (
- /usr/X11R6/include,
- /usr/X11R6/include/freetype2,
- "$(HEADER_SEARCH_PATHS)",
- );
- LIBRARY_SEARCH_PATHS = (
- /usr/X11R6/lib,
- "$(LIBRARY_SEARCH_PATHS)",
- );
- PRODUCT_NAME = "tktest-X11";
- };
- name = "ReleaseUniversal gcc40";
- };
- F9988BB50D81587400B6B03B /* ReleaseUniversal llvm-gcc */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = F97AE82B0B65C69B00310EA2 /* Tk-Release.xcconfig */;
- buildSettings = {
- ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
- CFLAGS = "-arch i386 -arch x86_64 -arch ppc $(CFLAGS)";
- DEBUG_INFORMATION_FORMAT = dwarf;
- GCC = "llvm-gcc";
- GCC_C_LANGUAGE_STANDARD = gnu99;
- GCC_ENABLE_OBJC_GC = supported;
- GCC_ENABLE_PASCAL_STRINGS = NO;
- GCC_INPUT_FILETYPE = sourcecode.c.objc;
- GCC_OPTIMIZATION_LEVEL = 4;
- GCC_VERSION = com.apple.compilers.llvmgcc42;
- MACOSX_DEPLOYMENT_TARGET = 10.5;
- PREBINDING = NO;
- };
- name = "ReleaseUniversal llvm-gcc";
- };
- F9988BB60D81587400B6B03B /* ReleaseUniversal llvm-gcc */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- PRODUCT_NAME = Wish;
- SKIP_INSTALL = NO;
- };
- name = "ReleaseUniversal llvm-gcc";
- };
- F9988BB70D81587400B6B03B /* ReleaseUniversal llvm-gcc */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- OTHER_LDFLAGS = (
- "$(OTHER_LDFLAGS_AQUA)",
- "$(OTHER_LDFLAGS)",
- );
- PRODUCT_NAME = tktest;
- };
- name = "ReleaseUniversal llvm-gcc";
- };
- F9988BB80D81587400B6B03B /* ReleaseUniversal llvm-gcc */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
- CFLAGS = "-arch i386 -arch x86_64 -arch ppc $(CFLAGS)";
- GCC_INPUT_FILETYPE = sourcecode.c.c;
- HEADER_SEARCH_PATHS = (
- /usr/X11R6/include,
- /usr/X11R6/include/freetype2,
- "$(HEADER_SEARCH_PATHS)",
- );
- LIBRARY_SEARCH_PATHS = (
- /usr/X11R6/lib,
- "$(LIBRARY_SEARCH_PATHS)",
- );
- PRODUCT_NAME = "tktest-X11";
- };
- name = "ReleaseUniversal llvm-gcc";
- };
- F99EE73B0BE835310060D4AF /* DebugUnthreaded */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- PRODUCT_NAME = Wish;
- SKIP_INSTALL = NO;
- };
- name = DebugUnthreaded;
- };
- F99EE73C0BE835310060D4AF /* DebugLeaks */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- PRODUCT_NAME = Wish;
- SKIP_INSTALL = NO;
- };
- name = DebugLeaks;
- };
- F99EE73D0BE835310060D4AF /* DebugUnthreaded */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- OTHER_LDFLAGS = (
- "$(OTHER_LDFLAGS_AQUA)",
- "$(OTHER_LDFLAGS)",
- );
- PRODUCT_NAME = tktest;
- };
- name = DebugUnthreaded;
- };
- F99EE73E0BE835310060D4AF /* DebugLeaks */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- OTHER_LDFLAGS = (
- "$(OTHER_LDFLAGS_AQUA)",
- "$(OTHER_LDFLAGS)",
- );
- PRODUCT_NAME = tktest;
- };
- name = DebugLeaks;
- };
- F99EE73F0BE835310060D4AF /* DebugUnthreaded */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- GCC_INPUT_FILETYPE = sourcecode.c.c;
- HEADER_SEARCH_PATHS = (
- /usr/X11R6/include,
- /usr/X11R6/include/freetype2,
- "$(HEADER_SEARCH_PATHS)",
- );
- LIBRARY_SEARCH_PATHS = (
- /usr/X11R6/lib,
- "$(LIBRARY_SEARCH_PATHS)",
- );
- PRODUCT_NAME = "tktest-X11";
- };
- name = DebugUnthreaded;
- };
- F99EE7400BE835310060D4AF /* DebugLeaks */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- GCC_INPUT_FILETYPE = sourcecode.c.c;
- HEADER_SEARCH_PATHS = (
- /usr/X11R6/include,
- /usr/X11R6/include/freetype2,
- "$(HEADER_SEARCH_PATHS)",
- );
- LIBRARY_SEARCH_PATHS = (
- /usr/X11R6/lib,
- "$(LIBRARY_SEARCH_PATHS)",
- );
- PRODUCT_NAME = "tktest-X11";
- };
- name = DebugLeaks;
- };
- F99EE7410BE835310060D4AF /* DebugUnthreaded */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = F97AE8330B65C87F00310EA2 /* Tk-Debug.xcconfig */;
- buildSettings = {
- ARCHS = (
- "$(NATIVE_ARCH_64_BIT)",
- "$(NATIVE_ARCH_32_BIT)",
- );
- CONFIGURE_ARGS = "$(CONFIGURE_ARGS) --disable-threads";
- CPPFLAGS = "-arch $(CURRENT_ARCH) $(CPPFLAGS)";
- GCC_C_LANGUAGE_STANDARD = gnu99;
- GCC_ENABLE_OBJC_GC = supported;
- GCC_ENABLE_PASCAL_STRINGS = NO;
- GCC_INPUT_FILETYPE = sourcecode.c.objc;
- MACOSX_DEPLOYMENT_TARGET = 10.5;
- ONLY_ACTIVE_ARCH = YES;
- PREBINDING = NO;
- };
- name = DebugUnthreaded;
- };
- F99EE7420BE835310060D4AF /* DebugLeaks */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = F97AE8330B65C87F00310EA2 /* Tk-Debug.xcconfig */;
- buildSettings = {
- ARCHS = (
- "$(NATIVE_ARCH_64_BIT)",
- "$(NATIVE_ARCH_32_BIT)",
- );
- CPPFLAGS = "-arch $(CURRENT_ARCH) $(CPPFLAGS)";
- GCC_C_LANGUAGE_STANDARD = gnu99;
- GCC_ENABLE_OBJC_GC = unsupported;
- GCC_ENABLE_PASCAL_STRINGS = NO;
- GCC_INPUT_FILETYPE = sourcecode.c.objc;
- GCC_PREPROCESSOR_DEFINITIONS = (
- PURIFY,
- "$(GCC_PREPROCESSOR_DEFINITIONS)",
- );
- MACOSX_DEPLOYMENT_TARGET = 10.5;
- ONLY_ACTIVE_ARCH = YES;
- PREBINDING = NO;
- };
- name = DebugLeaks;
- };
- F9EEED960C2FEFD300396116 /* ReleaseUniversal10.5SDK */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- PRODUCT_NAME = Wish;
- SKIP_INSTALL = NO;
- };
- name = ReleaseUniversal10.5SDK;
- };
- F9EEED970C2FEFD300396116 /* ReleaseUniversal10.5SDK */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- OTHER_LDFLAGS = (
- "$(OTHER_LDFLAGS_AQUA)",
- "$(OTHER_LDFLAGS)",
- );
- PRODUCT_NAME = tktest;
- };
- name = ReleaseUniversal10.5SDK;
- };
- F9EEED980C2FEFD300396116 /* ReleaseUniversal10.5SDK */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
- CFLAGS = "-arch i386 -arch x86_64 -arch ppc $(CFLAGS)";
- GCC_INPUT_FILETYPE = sourcecode.c.c;
- HEADER_SEARCH_PATHS = (
- /usr/X11R6/include,
- /usr/X11R6/include/freetype2,
- "$(HEADER_SEARCH_PATHS)",
- );
- LIBRARY_SEARCH_PATHS = (
- /usr/X11R6/lib,
- "$(LIBRARY_SEARCH_PATHS)",
- );
- PRODUCT_NAME = "tktest-X11";
- };
- name = ReleaseUniversal10.5SDK;
- };
- F9EEED990C2FEFD300396116 /* ReleaseUniversal10.5SDK */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = F97AE82B0B65C69B00310EA2 /* Tk-Release.xcconfig */;
- buildSettings = {
- ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
- CFLAGS = "-arch i386 -arch x86_64 -arch ppc $(CFLAGS)";
- CPPFLAGS = "-isysroot $(SDKROOT) $(CPPFLAGS)";
- GCC_C_LANGUAGE_STANDARD = gnu99;
- GCC_ENABLE_OBJC_GC = supported;
- GCC_ENABLE_PASCAL_STRINGS = NO;
- GCC_INPUT_FILETYPE = sourcecode.c.objc;
- MACOSX_DEPLOYMENT_TARGET = 10.5;
- PREBINDING = NO;
- SDKROOT = macosx10.5;
- };
- name = ReleaseUniversal10.5SDK;
- };
-/* End XCBuildConfiguration section */
-
-/* Begin XCConfigurationList section */
- F95CC8AB09158F3100EA5ACE /* Build configuration list for PBXNativeTarget "Tk" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- F95CC8AC09158F3100EA5ACE /* Debug */,
- F9988AB60D814C7500B6B03B /* Debug llvm-gcc */,
- F9988AB20D814C6500B6B03B /* Debug gcc40 */,
- F90E36D60F3B5C8400810A10 /* DebugNoGC */,
- F95CC8AE09158F3100EA5ACE /* DebugNoFixAndContinue */,
- F99EE73B0BE835310060D4AF /* DebugUnthreaded */,
- F98751300DE7B57E00B1C9EC /* DebugNoCF */,
- F98751340DE7B5A200B1C9EC /* DebugNoCFUnthreaded */,
- F93084370BB93D2800CD0B9E /* DebugMemCompile */,
- F99EE73C0BE835310060D4AF /* DebugLeaks */,
- F9359B260DF212DA00E04F67 /* DebugGCov */,
- F97AED1B0B660B2100310EA2 /* Debug64bit */,
- F95CC8AD09158F3100EA5ACE /* Release */,
- F91BCC4F093152310042A6BF /* ReleaseUniversal */,
- F9988BB60D81587400B6B03B /* ReleaseUniversal llvm-gcc */,
- F9988BB20D81586D00B6B03B /* ReleaseUniversal gcc40 */,
- F9EEED960C2FEFD300396116 /* ReleaseUniversal10.5SDK */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Debug;
- };
- F95CC8B009158F3100EA5ACE /* Build configuration list for PBXNativeTarget "tktest" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- F95CC8B109158F3100EA5ACE /* Debug */,
- F9988AB70D814C7500B6B03B /* Debug llvm-gcc */,
- F9988AB30D814C6500B6B03B /* Debug gcc40 */,
- F90E36D70F3B5C8400810A10 /* DebugNoGC */,
- F95CC8B309158F3100EA5ACE /* DebugNoFixAndContinue */,
- F99EE73D0BE835310060D4AF /* DebugUnthreaded */,
- F98751310DE7B57E00B1C9EC /* DebugNoCF */,
- F98751350DE7B5A200B1C9EC /* DebugNoCFUnthreaded */,
- F93084380BB93D2800CD0B9E /* DebugMemCompile */,
- F99EE73E0BE835310060D4AF /* DebugLeaks */,
- F9359B270DF212DA00E04F67 /* DebugGCov */,
- F97AED1C0B660B2100310EA2 /* Debug64bit */,
- F95CC8B209158F3100EA5ACE /* Release */,
- F91BCC50093152310042A6BF /* ReleaseUniversal */,
- F9988BB70D81587400B6B03B /* ReleaseUniversal llvm-gcc */,
- F9988BB30D81586D00B6B03B /* ReleaseUniversal gcc40 */,
- F9EEED970C2FEFD300396116 /* ReleaseUniversal10.5SDK */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Debug;
- };
- F95CC8B509158F3100EA5ACE /* Build configuration list for PBXProject "Tk" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- F95CC8B609158F3100EA5ACE /* Debug */,
- F9988AB50D814C7500B6B03B /* Debug llvm-gcc */,
- F9988AB10D814C6500B6B03B /* Debug gcc40 */,
- F90E36D50F3B5C8400810A10 /* DebugNoGC */,
- F95CC8B809158F3100EA5ACE /* DebugNoFixAndContinue */,
- F99EE7410BE835310060D4AF /* DebugUnthreaded */,
- F987512F0DE7B57E00B1C9EC /* DebugNoCF */,
- F98751330DE7B5A200B1C9EC /* DebugNoCFUnthreaded */,
- F930843A0BB93D2800CD0B9E /* DebugMemCompile */,
- F99EE7420BE835310060D4AF /* DebugLeaks */,
- F9359B250DF212DA00E04F67 /* DebugGCov */,
- F97AED1E0B660B2100310EA2 /* Debug64bit */,
- F95CC8B709158F3100EA5ACE /* Release */,
- F91BCC51093152310042A6BF /* ReleaseUniversal */,
- F9988BB50D81587400B6B03B /* ReleaseUniversal llvm-gcc */,
- F9988BB10D81586D00B6B03B /* ReleaseUniversal gcc40 */,
- F9EEED990C2FEFD300396116 /* ReleaseUniversal10.5SDK */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Debug;
- };
- F97258A80A86873D00096C78 /* Build configuration list for PBXNativeTarget "tktest-X11" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- F97258A90A86873D00096C78 /* Debug */,
- F9988AB80D814C7500B6B03B /* Debug llvm-gcc */,
- F9988AB40D814C6500B6B03B /* Debug gcc40 */,
- F90E36D80F3B5C8400810A10 /* DebugNoGC */,
- F97258AB0A86873D00096C78 /* DebugNoFixAndContinue */,
- F99EE73F0BE835310060D4AF /* DebugUnthreaded */,
- F98751320DE7B57E00B1C9EC /* DebugNoCF */,
- F98751360DE7B5A200B1C9EC /* DebugNoCFUnthreaded */,
- F93084390BB93D2800CD0B9E /* DebugMemCompile */,
- F99EE7400BE835310060D4AF /* DebugLeaks */,
- F9359B280DF212DA00E04F67 /* DebugGCov */,
- F97AED1D0B660B2100310EA2 /* Debug64bit */,
- F97258AA0A86873D00096C78 /* Release */,
- F97258AC0A86873D00096C78 /* ReleaseUniversal */,
- F9988BB80D81587400B6B03B /* ReleaseUniversal llvm-gcc */,
- F9988BB40D81586D00B6B03B /* ReleaseUniversal gcc40 */,
- F9EEED980C2FEFD300396116 /* ReleaseUniversal10.5SDK */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Debug;
- };
-/* End XCConfigurationList section */
- };
- rootObject = 08FB7793FE84155DC02AAC07 /* Project object */;
-}
diff --git a/tk8.6/macosx/Tk.xcodeproj/default.pbxuser b/tk8.6/macosx/Tk.xcodeproj/default.pbxuser
deleted file mode 100644
index 30bcecb..0000000
--- a/tk8.6/macosx/Tk.xcodeproj/default.pbxuser
+++ /dev/null
@@ -1,399 +0,0 @@
-// !$*UTF8*$!
-{
- 08FB7793FE84155DC02AAC07 /* Project object */ = {
- activeBuildConfigurationName = Debug;
- activeExecutable = F9E61D1C090A4282002B3151 /* Wish */;
- activeTarget = F9E61D16090A3E94002B3151 /* Tk */;
- codeSenseManager = F944EB9D08F798180049FDD4 /* Code sense */;
- executables = (
- F9E61D1C090A4282002B3151 /* Wish */,
- F944EB8F08F798100049FDD4 /* tktest */,
- F9FD31F50CC1AD070073837D /* tktest-X11 */,
- );
- perUserDictionary = {
- com.apple.ide.smrt.PBXUserSmartGroupsKey.Rev10 = <040b73747265616d747970656481e8038401408484840e4e534d757461626c654172726179008484074e534172726179008484084e534f626a65637400858401690192848484134e534d757461626c6544696374696f6e6172790084840c4e5344696374696f6e6172790095960792848484084e53537472696e67019584012b046e616d658692849a9a14496d706c656d656e746174696f6e2046696c65738692849a9a195042585472616e7369656e744c6f636174696f6e4174546f708692849a9a06626f74746f6d8692849a9a0b707265666572656e63657386928497960892849a9a0669734c6561668692848484084e534e756d626572008484074e5356616c7565009584012a849696008692849a9a04726f6f748692849a9a093c50524f4a4543543e8692849a9a09726563757273697665869284a29da496018692849a9a05696d6167658692849a9a0b536d617274466f6c6465728692849a9a0763616e536176658692a892849a9a1250425850726f6a65637453636f70654b65798692849a9a035945538692849a9a0572656765788692849a9a065c2e286329248692849a9a07666e6d617463688692849a9a00868692849a9a146162736f6c75746550617468546f42756e646c658692849a9a008692849a9a0b6465736372697074696f6e8692849a9a103c6e6f206465736372697074696f6e3e8692849a9a08676c6f62616c49448692849a9a183143433045413430303433353045463930303434343130428692849a9a03636c7a8692849a9a1550425846696c656e616d65536d61727447726f7570868686>;
- };
- sourceControlManager = F944EB9C08F798180049FDD4 /* Source Control */;
- userBuildSettings = {
- SYMROOT = "${SRCROOT}/../../build/tk";
- TCL_SRCROOT = "${SRCROOT}/../../tcl";
- TK_SRCROOT = "${SRCROOT}/../../tk";
- };
- };
- 8DD76FA90486AB0100D96B5E /* tktest */ = {
- activeExec = 0;
- executables = (
- F944EB8F08F798100049FDD4 /* tktest */,
- );
- };
- F944EB8F08F798100049FDD4 /* tktest */ = {
- isa = PBXExecutable;
- activeArgIndices = (
- YES,
- NO,
- NO,
- NO,
- NO,
- NO,
- NO,
- );
- argumentStrings = (
- "${TK_SRCROOT}/library/demos/widget",
- "${TK_SRCROOT}/tests/all.tcl",
- "${TK_SRCROOT}/tests/ttk/all.tcl",
- "-geometry +0+0",
- "-singleproc 1",
- "-verbose \"bet\"",
- "-skip window-2.9",
- );
- autoAttachOnCrash = 1;
- breakpointsEnabled = 1;
- configStateDict = {
- "PBXLSLaunchAction-0" = {
- PBXLSLaunchAction = 0;
- PBXLSLaunchStartAction = 1;
- PBXLSLaunchStdioStyle = 2;
- PBXLSLaunchStyle = 0;
- class = PBXLSRunLaunchConfig;
- displayName = "Executable Runner";
- identifier = com.apple.Xcode.launch.runConfig;
- remoteHostInfo = "";
- startActionInfo = "";
- };
- "PBXLSLaunchAction-1" = {
- PBXLSLaunchAction = 1;
- PBXLSLaunchStartAction = 1;
- PBXLSLaunchStdioStyle = 2;
- PBXLSLaunchStyle = 0;
- class = PBXGDB_LaunchConfig;
- displayName = GDB;
- identifier = com.apple.Xcode.launch.GDBMI_Config;
- remoteHostInfo = "";
- startActionInfo = "";
- };
- };
- customDataFormattersEnabled = 1;
- dataTipCustomDataFormattersEnabled = 1;
- dataTipShowTypeColumn = 1;
- dataTipSortType = 0;
- debuggerPlugin = GDBDebugging;
- disassemblyDisplayState = 0;
- dylibVariantSuffix = "";
- enableDebugStr = 0;
- environmentEntries = (
- {
- active = YES;
- name = TCL_LIBRARY;
- value = "${TCL_SRCROOT}/library";
- },
- {
- active = YES;
- name = TK_LIBRARY;
- value = "${TK_SRCROOT}/library";
- },
- {
- active = YES;
- name = TCLLIBPATH;
- value = /Library/Tcl;
- },
- {
- active = YES;
- name = TK_SRCROOT;
- value = "${TK_SRCROOT}";
- },
- {
- active = NO;
- name = TK_CONSOLE;
- value = 1;
- },
- {
- active = NO;
- name = DYLD_PRINT_LIBRARIES;
- },
- {
- active = NO;
- name = NSTraceEvents;
- value = YES;
- },
- {
- active = NO;
- name = MallocBadFreeAbort;
- value = 1;
- },
- {
- active = NO;
- name = MallocLogFile;
- value = /tmp/malloc.log;
- },
- {
- active = NO;
- name = MallocStackLogging;
- value = 1;
- },
- {
- active = NO;
- name = MallocStackLoggingNoCompact;
- value = 1;
- },
- {
- active = NO;
- name = MallocPreScribble;
- value = 1;
- },
- {
- active = NO;
- name = MallocScribble;
- value = 1;
- },
- {
- active = NO;
- name = NSZombieEnabled;
- value = YES;
- },
- {
- active = NO;
- name = NSDeallocateZombies;
- value = YES;
- },
- {
- active = NO;
- name = NSAutoreleaseFreedObjectCheckEnabled;
- value = YES;
- },
- {
- active = NO;
- name = NSEnableAutoreleasePool;
- value = NO;
- },
- {
- active = NO;
- name = AUTO_LOG_ALL;
- value = YES;
- },
- {
- active = NO;
- name = AUTO_LOG_NOISY;
- value = YES;
- },
- {
- active = NO;
- name = AUTO_REFERENCE_COUNT_LOGGING;
- value = YES;
- },
- );
- executableSystemSymbolLevel = 0;
- executableUserSymbolLevel = 0;
- libgmallocEnabled = 0;
- name = tktest;
- showTypeColumn = 0;
- sourceDirectories = (
- );
- };
- F944EB9C08F798180049FDD4 /* Source Control */ = {
- isa = PBXSourceControlManager;
- fallbackIsa = XCSourceControlManager;
- isSCMEnabled = 0;
- repositoryNamesForRoots = {
- .. = "";
- };
- scmConfiguration = {
- CVSToolPath = /usr/bin/cvs;
- CVSUseSSH = NO;
- SubversionToolPath = /usr/bin/svn;
- repositoryNamesForRoots = {
- .. = "";
- };
- };
- scmType = scm.cvs;
- };
- F944EB9D08F798180049FDD4 /* Code sense */ = {
- isa = PBXCodeSenseManager;
- indexTemplatePath = "";
- };
- F97258A50A86873C00096C78 /* tktest-X11 */ = {
- activeExec = 0;
- executables = (
- F9FD31F50CC1AD070073837D /* tktest-X11 */,
- );
- };
- F9E61D16090A3E94002B3151 /* Tk */ = {
- activeExec = 0;
- executables = (
- F9E61D1C090A4282002B3151 /* Wish */,
- );
- };
- F9E61D1C090A4282002B3151 /* Wish */ = {
- isa = PBXExecutable;
- activeArgIndices = (
- YES,
- );
- argumentStrings = (
- "${TK_SRCROOT}/library/demos/widget",
- );
- autoAttachOnCrash = 1;
- breakpointsEnabled = 1;
- configStateDict = {
- "PBXLSLaunchAction-0" = {
- PBXLSLaunchAction = 0;
- PBXLSLaunchStartAction = 1;
- PBXLSLaunchStdioStyle = 2;
- PBXLSLaunchStyle = 0;
- class = PBXLSRunLaunchConfig;
- displayName = "Executable Runner";
- identifier = com.apple.Xcode.launch.runConfig;
- remoteHostInfo = "";
- startActionInfo = "";
- };
- "PBXLSLaunchAction-1" = {
- PBXLSLaunchAction = 1;
- PBXLSLaunchStartAction = 1;
- PBXLSLaunchStdioStyle = 2;
- PBXLSLaunchStyle = 0;
- class = PBXGDB_LaunchConfig;
- displayName = GDB;
- identifier = com.apple.Xcode.launch.GDBMI_Config;
- remoteHostInfo = "";
- startActionInfo = "";
- };
- };
- customDataFormattersEnabled = 1;
- dataTipCustomDataFormattersEnabled = 1;
- dataTipShowTypeColumn = 1;
- dataTipSortType = 0;
- debuggerPlugin = GDBDebugging;
- disassemblyDisplayState = 0;
- dylibVariantSuffix = "";
- enableDebugStr = 0;
- environmentEntries = (
- {
- active = NO;
- name = DYLD_PRINT_LIBRARIES;
- },
- );
- executableSystemSymbolLevel = 0;
- executableUserSymbolLevel = 0;
- libgmallocEnabled = 0;
- name = Wish;
- showTypeColumn = 0;
- sourceDirectories = (
- );
- };
- F9FD31F50CC1AD070073837D /* tktest-X11 */ = {
- isa = PBXExecutable;
- activeArgIndices = (
- YES,
- NO,
- NO,
- NO,
- NO,
- NO,
- NO,
- );
- argumentStrings = (
- "${TK_SRCROOT}/library/demos/widget",
- "${TK_SRCROOT}/tests/all.tcl",
- "${TK_SRCROOT}/tests/ttk/all.tcl",
- "-geometry +0+0",
- "-singleproc 1",
- "-verbose \"bet\"",
- "-skip window-2.9",
- );
- autoAttachOnCrash = 1;
- breakpointsEnabled = 1;
- configStateDict = {
- "PBXLSLaunchAction-0" = {
- PBXLSLaunchAction = 0;
- PBXLSLaunchStartAction = 1;
- PBXLSLaunchStdioStyle = 2;
- PBXLSLaunchStyle = 0;
- class = PBXLSRunLaunchConfig;
- displayName = "Executable Runner";
- identifier = com.apple.Xcode.launch.runConfig;
- remoteHostInfo = "";
- startActionInfo = "";
- };
- "PBXLSLaunchAction-1" = {
- PBXLSLaunchAction = 1;
- PBXLSLaunchStartAction = 1;
- PBXLSLaunchStdioStyle = 2;
- PBXLSLaunchStyle = 0;
- class = PBXGDB_LaunchConfig;
- displayName = GDB;
- identifier = com.apple.Xcode.launch.GDBMI_Config;
- remoteHostInfo = "";
- startActionInfo = "";
- };
- };
- customDataFormattersEnabled = 1;
- dataTipCustomDataFormattersEnabled = 1;
- dataTipShowTypeColumn = 1;
- dataTipSortType = 0;
- debuggerPlugin = GDBDebugging;
- disassemblyDisplayState = 0;
- dylibVariantSuffix = "";
- enableDebugStr = 0;
- environmentEntries = (
- {
- active = YES;
- name = TCL_LIBRARY;
- value = "${TCL_SRCROOT}/library";
- },
- {
- active = YES;
- name = TK_LIBRARY;
- value = "${TK_SRCROOT}/library";
- },
- {
- active = YES;
- name = TCLLIBPATH;
- value = /Library/Tcl;
- },
- {
- active = YES;
- name = DISPLAY;
- value = ":0";
- },
- {
- active = NO;
- name = DYLD_PRINT_LIBRARIES;
- },
- {
- active = NO;
- name = MallocBadFreeAbort;
- value = 1;
- },
- {
- active = NO;
- name = MallocLogFile;
- value = /tmp/malloc.log;
- },
- {
- active = NO;
- name = MallocStackLogging;
- value = 1;
- },
- {
- active = NO;
- name = MallocStackLoggingNoCompact;
- value = 1;
- },
- {
- active = NO;
- name = MallocPreScribble;
- value = 1;
- },
- {
- active = NO;
- name = MallocScribble;
- value = 1;
- },
- );
- executableSystemSymbolLevel = 0;
- executableUserSymbolLevel = 0;
- libgmallocEnabled = 0;
- name = "tktest-X11";
- showTypeColumn = 0;
- sourceDirectories = (
- );
- };
-}
diff --git a/tk8.6/macosx/Tk.xcodeproj/project.pbxproj b/tk8.6/macosx/Tk.xcodeproj/project.pbxproj
deleted file mode 100644
index 53ebe3e..0000000
--- a/tk8.6/macosx/Tk.xcodeproj/project.pbxproj
+++ /dev/null
@@ -1,5923 +0,0 @@
-// !$*UTF8*$!
-{
- archiveVersion = 1;
- classes = {
- };
- objectVersion = 46;
- objects = {
-
-/* Begin PBXBuildFile section */
- F9067BCD0BFBA2900074F726 /* tkOldTest.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAFE08F27A39005CB29B /* tkOldTest.c */; };
- F9152B090EAF8A5000CD5C7B /* tkBusy.c in Sources */ = {isa = PBXBuildFile; fileRef = F9152B080EAF8A5000CD5C7B /* tkBusy.c */; };
- F9152B0A0EAF8A5700CD5C7B /* tkBusy.c in Sources */ = {isa = PBXBuildFile; fileRef = F9152B080EAF8A5000CD5C7B /* tkBusy.c */; };
- F92EE8BF0E62F846001A6E80 /* tkImgPhInstance.c in Sources */ = {isa = PBXBuildFile; fileRef = F92EE8BE0E62F846001A6E80 /* tkImgPhInstance.c */; };
- F92EE8D30E62F939001A6E80 /* tkImgPhInstance.c in Sources */ = {isa = PBXBuildFile; fileRef = F92EE8BE0E62F846001A6E80 /* tkImgPhInstance.c */; };
- F93599B30DF1F75400E04F67 /* tclOO.c in Sources */ = {isa = PBXBuildFile; fileRef = F93599B20DF1F75400E04F67 /* tclOO.c */; };
- F93599B70DF1F76100E04F67 /* tclOOBasic.c in Sources */ = {isa = PBXBuildFile; fileRef = F93599B60DF1F76100E04F67 /* tclOOBasic.c */; };
- F93599B90DF1F76600E04F67 /* tclOOCall.c in Sources */ = {isa = PBXBuildFile; fileRef = F93599B80DF1F76600E04F67 /* tclOOCall.c */; };
- F93599BC0DF1F77000E04F67 /* tclOODefineCmds.c in Sources */ = {isa = PBXBuildFile; fileRef = F93599BB0DF1F77000E04F67 /* tclOODefineCmds.c */; };
- F93599BE0DF1F77400E04F67 /* tclOOInfo.c in Sources */ = {isa = PBXBuildFile; fileRef = F93599BD0DF1F77400E04F67 /* tclOOInfo.c */; };
- F93599C20DF1F78300E04F67 /* tclOOMethod.c in Sources */ = {isa = PBXBuildFile; fileRef = F93599C10DF1F78300E04F67 /* tclOOMethod.c */; };
- F93599C40DF1F78800E04F67 /* tclOOStubInit.c in Sources */ = {isa = PBXBuildFile; fileRef = F93599C30DF1F78800E04F67 /* tclOOStubInit.c */; };
- F93599C60DF1F78D00E04F67 /* tclOOStubLib.c in Sources */ = {isa = PBXBuildFile; fileRef = F93599C50DF1F78D00E04F67 /* tclOOStubLib.c */; };
- F94523A20E6FC2AC00C1D987 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F94523A10E6FC2AC00C1D987 /* Cocoa.framework */; };
- F95D77EA0DFD820D00A8BF6F /* tclIORTrans.c in Sources */ = {isa = PBXBuildFile; fileRef = F95D77E90DFD820D00A8BF6F /* tclIORTrans.c */; };
- F96437CA0EF0D4B2003F468E /* tclZlib.c in Sources */ = {isa = PBXBuildFile; fileRef = F96437C90EF0D4B2003F468E /* tclZlib.c */; };
- F96437CB0EF0D4B2003F468E /* tclZlib.c in Sources */ = {isa = PBXBuildFile; fileRef = F96437C90EF0D4B2003F468E /* tclZlib.c */; };
- F96437E70EF0D652003F468E /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = F96437E60EF0D652003F468E /* libz.dylib */; };
- F96437E80EF0D652003F468E /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = F96437E60EF0D652003F468E /* libz.dylib */; };
- F966BDCF08F27A3F005CB29B /* tk3d.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAAC08F27A39005CB29B /* tk3d.c */; };
- F966BDD108F27A3F005CB29B /* tkArgv.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAAE08F27A39005CB29B /* tkArgv.c */; };
- F966BDD208F27A3F005CB29B /* tkAtom.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAAF08F27A39005CB29B /* tkAtom.c */; };
- F966BDD308F27A3F005CB29B /* tkBind.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAB008F27A39005CB29B /* tkBind.c */; };
- F966BDD408F27A3F005CB29B /* tkBitmap.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAB108F27A39005CB29B /* tkBitmap.c */; };
- F966BDD508F27A3F005CB29B /* tkButton.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAB208F27A39005CB29B /* tkButton.c */; };
- F966BDD708F27A3F005CB29B /* tkCanvArc.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAB408F27A39005CB29B /* tkCanvArc.c */; };
- F966BDD808F27A3F005CB29B /* tkCanvas.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAB508F27A39005CB29B /* tkCanvas.c */; };
- F966BDDA08F27A3F005CB29B /* tkCanvBmap.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAB708F27A39005CB29B /* tkCanvBmap.c */; };
- F966BDDB08F27A3F005CB29B /* tkCanvImg.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAB808F27A39005CB29B /* tkCanvImg.c */; };
- F966BDDC08F27A3F005CB29B /* tkCanvLine.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAB908F27A39005CB29B /* tkCanvLine.c */; };
- F966BDDD08F27A3F005CB29B /* tkCanvPoly.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BABA08F27A39005CB29B /* tkCanvPoly.c */; };
- F966BDDE08F27A3F005CB29B /* tkCanvPs.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BABB08F27A39005CB29B /* tkCanvPs.c */; };
- F966BDE008F27A3F005CB29B /* tkCanvText.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BABD08F27A39005CB29B /* tkCanvText.c */; };
- F966BDE108F27A3F005CB29B /* tkCanvUtil.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BABE08F27A39005CB29B /* tkCanvUtil.c */; };
- F966BDE208F27A3F005CB29B /* tkCanvWind.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BABF08F27A39005CB29B /* tkCanvWind.c */; };
- F966BDE308F27A3F005CB29B /* tkClipboard.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAC008F27A39005CB29B /* tkClipboard.c */; };
- F966BDE408F27A3F005CB29B /* tkCmds.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAC108F27A39005CB29B /* tkCmds.c */; };
- F966BDE508F27A3F005CB29B /* tkColor.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAC208F27A39005CB29B /* tkColor.c */; };
- F966BDE708F27A3F005CB29B /* tkConfig.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAC408F27A39005CB29B /* tkConfig.c */; };
- F966BDE808F27A3F005CB29B /* tkConsole.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAC508F27A39005CB29B /* tkConsole.c */; };
- F966BDE908F27A3F005CB29B /* tkCursor.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAC608F27A39005CB29B /* tkCursor.c */; };
- F966BDEB08F27A3F005CB29B /* tkEntry.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAC808F27A39005CB29B /* tkEntry.c */; };
- F966BDED08F27A3F005CB29B /* tkError.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BACA08F27A39005CB29B /* tkError.c */; };
- F966BDEE08F27A3F005CB29B /* tkEvent.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BACB08F27A39005CB29B /* tkEvent.c */; };
- F966BDEF08F27A3F005CB29B /* tkFileFilter.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BACC08F27A39005CB29B /* tkFileFilter.c */; };
- F966BDF108F27A3F005CB29B /* tkFocus.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BACE08F27A39005CB29B /* tkFocus.c */; };
- F966BDF208F27A3F005CB29B /* tkFont.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BACF08F27A39005CB29B /* tkFont.c */; };
- F966BDF408F27A3F005CB29B /* tkFrame.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAD108F27A39005CB29B /* tkFrame.c */; };
- F966BDF508F27A3F005CB29B /* tkGC.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAD208F27A39005CB29B /* tkGC.c */; };
- F966BDF608F27A3F005CB29B /* tkGeometry.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAD308F27A39005CB29B /* tkGeometry.c */; };
- F966BDF708F27A3F005CB29B /* tkGet.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAD408F27A39005CB29B /* tkGet.c */; };
- F966BDF808F27A3F005CB29B /* tkGrab.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAD508F27A39005CB29B /* tkGrab.c */; };
- F966BDF908F27A3F005CB29B /* tkGrid.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAD608F27A39005CB29B /* tkGrid.c */; };
- F966BDFA08F27A3F005CB29B /* tkImage.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAD708F27A39005CB29B /* tkImage.c */; };
- F966BDFB08F27A3F005CB29B /* tkImgBmap.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAD808F27A39005CB29B /* tkImgBmap.c */; };
- F966BDFC08F27A3F005CB29B /* tkImgGIF.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAD908F27A39005CB29B /* tkImgGIF.c */; };
- F966BDFD08F27A3F005CB29B /* tkImgPhoto.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BADA08F27A39005CB29B /* tkImgPhoto.c */; };
- F966BDFE08F27A3F005CB29B /* tkImgPPM.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BADB08F27A39005CB29B /* tkImgPPM.c */; };
- F966BE0708F27A3F005CB29B /* tkListbox.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAE408F27A39005CB29B /* tkListbox.c */; };
- F966BE0808F27A3F005CB29B /* tkMacWinMenu.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAE508F27A39005CB29B /* tkMacWinMenu.c */; };
- F966BE0908F27A3F005CB29B /* tkMain.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAE608F27A39005CB29B /* tkMain.c */; };
- F966BE0A08F27A3F005CB29B /* tkMenu.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAE708F27A39005CB29B /* tkMenu.c */; };
- F966BE0C08F27A3F005CB29B /* tkMenubutton.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAE908F27A39005CB29B /* tkMenubutton.c */; };
- F966BE0E08F27A3F005CB29B /* tkMenuDraw.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAEB08F27A39005CB29B /* tkMenuDraw.c */; };
- F966BE0F08F27A3F005CB29B /* tkMessage.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAEC08F27A39005CB29B /* tkMessage.c */; };
- F966BE1008F27A3F005CB29B /* tkObj.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAED08F27A39005CB29B /* tkObj.c */; };
- F966BE1108F27A3F005CB29B /* tkOldConfig.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAEE08F27A39005CB29B /* tkOldConfig.c */; };
- F966BE1208F27A3F005CB29B /* tkOption.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAEF08F27A39005CB29B /* tkOption.c */; };
- F966BE1308F27A3F005CB29B /* tkPack.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAF008F27A39005CB29B /* tkPack.c */; };
- F966BE1408F27A3F005CB29B /* tkPanedWindow.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAF108F27A39005CB29B /* tkPanedWindow.c */; };
- F966BE1508F27A3F005CB29B /* tkPlace.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAF208F27A39005CB29B /* tkPlace.c */; };
- F966BE1708F27A3F005CB29B /* tkPointer.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAF408F27A39005CB29B /* tkPointer.c */; };
- F966BE1908F27A3F005CB29B /* tkRectOval.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAF608F27A39005CB29B /* tkRectOval.c */; };
- F966BE1A08F27A3F005CB29B /* tkScale.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAF708F27A39005CB29B /* tkScale.c */; };
- F966BE1C08F27A40005CB29B /* tkScrollbar.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAF908F27A39005CB29B /* tkScrollbar.c */; };
- F966BE1E08F27A40005CB29B /* tkSelect.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAFB08F27A39005CB29B /* tkSelect.c */; };
- F966BE2008F27A40005CB29B /* tkSquare.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAFD08F27A39005CB29B /* tkSquare.c */; };
- F966BE2208F27A40005CB29B /* tkStubInit.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAFF08F27A39005CB29B /* tkStubInit.c */; };
- F966BE2308F27A40005CB29B /* tkStubLib.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0008F27A39005CB29B /* tkStubLib.c */; };
- F966BE2408F27A40005CB29B /* tkStyle.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0108F27A39005CB29B /* tkStyle.c */; };
- F966BE2508F27A40005CB29B /* tkTest.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0208F27A39005CB29B /* tkTest.c */; };
- F966BE2608F27A40005CB29B /* tkText.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0308F27A39005CB29B /* tkText.c */; };
- F966BE2808F27A40005CB29B /* tkTextBTree.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0508F27A39005CB29B /* tkTextBTree.c */; };
- F966BE2908F27A40005CB29B /* tkTextDisp.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0608F27A39005CB29B /* tkTextDisp.c */; };
- F966BE2B08F27A40005CB29B /* tkTextImage.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0808F27A39005CB29B /* tkTextImage.c */; };
- F966BE2C08F27A40005CB29B /* tkTextIndex.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0908F27A39005CB29B /* tkTextIndex.c */; };
- F966BE2D08F27A40005CB29B /* tkTextMark.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0A08F27A39005CB29B /* tkTextMark.c */; };
- F966BE2E08F27A40005CB29B /* tkTextTag.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0B08F27A39005CB29B /* tkTextTag.c */; };
- F966BE2F08F27A40005CB29B /* tkTextWind.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0C08F27A39005CB29B /* tkTextWind.c */; };
- F966BE3008F27A40005CB29B /* tkTrig.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0D08F27A39005CB29B /* tkTrig.c */; };
- F966BE3108F27A40005CB29B /* tkUndo.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0E08F27A39005CB29B /* tkUndo.c */; };
- F966BE3308F27A40005CB29B /* tkUtil.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB1008F27A39005CB29B /* tkUtil.c */; };
- F966BE3408F27A40005CB29B /* tkVisual.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB1108F27A39005CB29B /* tkVisual.c */; };
- F966BE3508F27A40005CB29B /* tkWindow.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB1208F27A39005CB29B /* tkWindow.c */; };
- F966BEDB08F27A40005CB29B /* tkMacOSXBitmap.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBC508F27A3B005CB29B /* tkMacOSXBitmap.c */; };
- F966BEDC08F27A40005CB29B /* tkMacOSXButton.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBC608F27A3B005CB29B /* tkMacOSXButton.c */; };
- F966BEDE08F27A40005CB29B /* tkMacOSXClipboard.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBC808F27A3B005CB29B /* tkMacOSXClipboard.c */; };
- F966BEDF08F27A40005CB29B /* tkMacOSXColor.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBC908F27A3B005CB29B /* tkMacOSXColor.c */; };
- F966BEE008F27A40005CB29B /* tkMacOSXConfig.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBCA08F27A3B005CB29B /* tkMacOSXConfig.c */; };
- F966BEE108F27A40005CB29B /* tkMacOSXCursor.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBCB08F27A3B005CB29B /* tkMacOSXCursor.c */; };
- F966BEE308F27A40005CB29B /* tkMacOSXDebug.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBCD08F27A3B005CB29B /* tkMacOSXDebug.c */; };
- F966BEE608F27A40005CB29B /* tkMacOSXDialog.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBD008F27A3B005CB29B /* tkMacOSXDialog.c */; };
- F966BEE708F27A40005CB29B /* tkMacOSXDraw.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBD108F27A3B005CB29B /* tkMacOSXDraw.c */; };
- F966BEE808F27A40005CB29B /* tkMacOSXEmbed.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBD208F27A3B005CB29B /* tkMacOSXEmbed.c */; };
- F966BEE908F27A40005CB29B /* tkMacOSXEntry.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBD308F27A3B005CB29B /* tkMacOSXEntry.c */; };
- F966BEEA08F27A40005CB29B /* tkMacOSXEvent.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBD408F27A3B005CB29B /* tkMacOSXEvent.c */; };
- F966BEEC08F27A40005CB29B /* tkMacOSXFont.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBD608F27A3B005CB29B /* tkMacOSXFont.c */; };
- F966BEED08F27A40005CB29B /* tkMacOSXHLEvents.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBD708F27A3B005CB29B /* tkMacOSXHLEvents.c */; };
- F966BEEE08F27A40005CB29B /* tkMacOSXInit.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBD808F27A3B005CB29B /* tkMacOSXInit.c */; settings = {COMPILER_FLAGS = "-DTK_LIBRARY=\\\"$(TK_LIBRARY)\\\""; }; };
- F966BEF108F27A40005CB29B /* tkMacOSXKeyboard.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBDB08F27A3B005CB29B /* tkMacOSXKeyboard.c */; };
- F966BEF208F27A40005CB29B /* tkMacOSXKeyEvent.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBDC08F27A3B005CB29B /* tkMacOSXKeyEvent.c */; };
- F966BEF308F27A40005CB29B /* tkMacOSXMenu.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBDD08F27A3B005CB29B /* tkMacOSXMenu.c */; };
- F966BEF608F27A40005CB29B /* tkMacOSXMenubutton.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBE008F27A3B005CB29B /* tkMacOSXMenubutton.c */; };
- F966BEF708F27A40005CB29B /* tkMacOSXMenus.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBE108F27A3B005CB29B /* tkMacOSXMenus.c */; };
- F966BEF808F27A40005CB29B /* tkMacOSXMouseEvent.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBE208F27A3B005CB29B /* tkMacOSXMouseEvent.c */; };
- F966BEF908F27A40005CB29B /* tkMacOSXNotify.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBE308F27A3B005CB29B /* tkMacOSXNotify.c */; };
- F966BF0108F27A40005CB29B /* tkMacOSXRegion.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBEB08F27A3C005CB29B /* tkMacOSXRegion.c */; };
- F966BF0308F27A40005CB29B /* tkMacOSXScrlbr.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBED08F27A3C005CB29B /* tkMacOSXScrlbr.c */; };
- F966BF0408F27A40005CB29B /* tkMacOSXSend.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBEE08F27A3C005CB29B /* tkMacOSXSend.c */; };
- F966BF0508F27A40005CB29B /* tkMacOSXSubwindows.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBEF08F27A3C005CB29B /* tkMacOSXSubwindows.c */; };
- F966BF0608F27A40005CB29B /* tkMacOSXTest.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBF008F27A3C005CB29B /* tkMacOSXTest.c */; };
- F966BF0708F27A40005CB29B /* tkMacOSXWindowEvent.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBF108F27A3C005CB29B /* tkMacOSXWindowEvent.c */; };
- F966BF0808F27A40005CB29B /* tkMacOSXWm.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBF208F27A3C005CB29B /* tkMacOSXWm.c */; };
- F966BF0B08F27A40005CB29B /* tkMacOSXXStubs.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BBF508F27A3C005CB29B /* tkMacOSXXStubs.c */; };
- F966BF7F08F27A41005CB29B /* tkAppInit.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC7508F27A3D005CB29B /* tkAppInit.c */; settings = {COMPILER_FLAGS = "-DTK_TEST"; }; };
- F966BF8308F27A41005CB29B /* tkUnix3d.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC7908F27A3D005CB29B /* tkUnix3d.c */; };
- F966BF9608F27A41005CB29B /* tkUnixScale.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC8C08F27A3D005CB29B /* tkUnixScale.c */; };
- F966C02A08F27A42005CB29B /* xcolors.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BD2408F27A3F005CB29B /* xcolors.c */; };
- F966C02B08F27A42005CB29B /* xdraw.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BD2508F27A3F005CB29B /* xdraw.c */; };
- F966C02C08F27A42005CB29B /* xgc.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BD2608F27A3F005CB29B /* xgc.c */; };
- F966C02D08F27A42005CB29B /* ximage.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BD2708F27A3F005CB29B /* ximage.c */; };
- F966C02E08F27A42005CB29B /* xutil.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BD2808F27A3F005CB29B /* xutil.c */; };
- F966C07508F2820D005CB29B /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F966C07408F2820D005CB29B /* CoreFoundation.framework */; };
- F966C07708F2821B005CB29B /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F966C07608F2821B005CB29B /* Carbon.framework */; };
- F966C07908F28233005CB29B /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F966C07808F28233005CB29B /* IOKit.framework */; };
- F96888050AF786D5000797B5 /* ttkBlink.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887E10AF786D5000797B5 /* ttkBlink.c */; };
- F96888060AF786D5000797B5 /* ttkButton.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887E20AF786D5000797B5 /* ttkButton.c */; };
- F96888070AF786D5000797B5 /* ttkCache.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887E30AF786D5000797B5 /* ttkCache.c */; };
- F96888080AF786D5000797B5 /* ttkClamTheme.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887E40AF786D5000797B5 /* ttkClamTheme.c */; };
- F96888090AF786D5000797B5 /* ttkClassicTheme.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887E50AF786D5000797B5 /* ttkClassicTheme.c */; };
- F968880A0AF786D5000797B5 /* ttkDefaultTheme.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887E70AF786D5000797B5 /* ttkDefaultTheme.c */; };
- F968880B0AF786D5000797B5 /* ttkElements.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887E80AF786D5000797B5 /* ttkElements.c */; };
- F968880C0AF786D5000797B5 /* ttkEntry.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887E90AF786D5000797B5 /* ttkEntry.c */; };
- F968880D0AF786D5000797B5 /* ttkFrame.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887EA0AF786D5000797B5 /* ttkFrame.c */; };
- F968880E0AF786D5000797B5 /* ttkImage.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887EB0AF786D5000797B5 /* ttkImage.c */; };
- F968880F0AF786D5000797B5 /* ttkInit.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887EC0AF786D5000797B5 /* ttkInit.c */; };
- F96888100AF786D5000797B5 /* ttkLabel.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887ED0AF786D5000797B5 /* ttkLabel.c */; };
- F96888110AF786D5000797B5 /* ttkLayout.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887EE0AF786D5000797B5 /* ttkLayout.c */; };
- F96888120AF786D5000797B5 /* ttkManager.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887EF0AF786D5000797B5 /* ttkManager.c */; };
- F96888130AF786D5000797B5 /* ttkNotebook.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887F10AF786D5000797B5 /* ttkNotebook.c */; };
- F96888140AF786D5000797B5 /* ttkPanedwindow.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887F20AF786D5000797B5 /* ttkPanedwindow.c */; };
- F96888150AF786D5000797B5 /* ttkProgress.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887F30AF786D5000797B5 /* ttkProgress.c */; };
- F96888160AF786D5000797B5 /* ttkScale.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887F40AF786D5000797B5 /* ttkScale.c */; };
- F96888170AF786D5000797B5 /* ttkScroll.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887F50AF786D5000797B5 /* ttkScroll.c */; };
- F96888180AF786D5000797B5 /* ttkScrollbar.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887F60AF786D5000797B5 /* ttkScrollbar.c */; };
- F96888190AF786D5000797B5 /* ttkSeparator.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887F70AF786D5000797B5 /* ttkSeparator.c */; };
- F968881A0AF786D5000797B5 /* ttkSquare.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887F80AF786D5000797B5 /* ttkSquare.c */; };
- F968881B0AF786D5000797B5 /* ttkState.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887F90AF786D5000797B5 /* ttkState.c */; };
- F968881C0AF786D5000797B5 /* ttkStubInit.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887FA0AF786D5000797B5 /* ttkStubInit.c */; };
- F968881D0AF786D5000797B5 /* ttkStubLib.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887FB0AF786D5000797B5 /* ttkStubLib.c */; };
- F968881E0AF786D5000797B5 /* ttkTagSet.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887FC0AF786D5000797B5 /* ttkTagSet.c */; };
- F968881F0AF786D5000797B5 /* ttkTheme.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887FD0AF786D5000797B5 /* ttkTheme.c */; };
- F96888200AF786D5000797B5 /* ttkTrace.c in Sources */ = {isa = PBXBuildFile; fileRef = F96888000AF786D5000797B5 /* ttkTrace.c */; };
- F96888210AF786D5000797B5 /* ttkTrack.c in Sources */ = {isa = PBXBuildFile; fileRef = F96888010AF786D5000797B5 /* ttkTrack.c */; };
- F96888220AF786D5000797B5 /* ttkTreeview.c in Sources */ = {isa = PBXBuildFile; fileRef = F96888020AF786D5000797B5 /* ttkTreeview.c */; };
- F96888230AF786D5000797B5 /* ttkWidget.c in Sources */ = {isa = PBXBuildFile; fileRef = F96888030AF786D5000797B5 /* ttkWidget.c */; };
- F96888850AF78938000797B5 /* ttkMacOSXTheme.c in Sources */ = {isa = PBXBuildFile; fileRef = F96888840AF78938000797B5 /* ttkMacOSXTheme.c */; };
- F96D456F08F272BB004A47F5 /* regcomp.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3ED008F272A7004A47F5 /* regcomp.c */; };
- F96D457208F272BB004A47F5 /* regerror.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3ED308F272A7004A47F5 /* regerror.c */; };
- F96D457508F272BB004A47F5 /* regexec.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3ED608F272A7004A47F5 /* regexec.c */; };
- F96D457608F272BB004A47F5 /* regfree.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3ED708F272A7004A47F5 /* regfree.c */; };
- F96D457B08F272BB004A47F5 /* tclAlloc.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EDC08F272A7004A47F5 /* tclAlloc.c */; settings = {COMPILER_FLAGS = "-DUSE_TCLALLOC=0"; }; };
- F96D457C08F272BB004A47F5 /* tclAsync.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EDD08F272A7004A47F5 /* tclAsync.c */; };
- F96D457D08F272BB004A47F5 /* tclBasic.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EDE08F272A7004A47F5 /* tclBasic.c */; };
- F96D457E08F272BC004A47F5 /* tclBinary.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EDF08F272A7004A47F5 /* tclBinary.c */; };
- F96D457F08F272BC004A47F5 /* tclCkalloc.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EE008F272A7004A47F5 /* tclCkalloc.c */; };
- F96D458008F272BC004A47F5 /* tclClock.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EE108F272A7004A47F5 /* tclClock.c */; };
- F96D458108F272BC004A47F5 /* tclCmdAH.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EE208F272A7004A47F5 /* tclCmdAH.c */; };
- F96D458208F272BC004A47F5 /* tclCmdIL.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EE308F272A7004A47F5 /* tclCmdIL.c */; };
- F96D458308F272BC004A47F5 /* tclCmdMZ.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EE408F272A7004A47F5 /* tclCmdMZ.c */; };
- F96D458408F272BC004A47F5 /* tclCompCmds.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EE508F272A7004A47F5 /* tclCompCmds.c */; };
- F96D458508F272BC004A47F5 /* tclCompExpr.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EE608F272A7004A47F5 /* tclCompExpr.c */; };
- F96D458608F272BC004A47F5 /* tclCompile.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EE708F272A7004A47F5 /* tclCompile.c */; };
- F96D458808F272BC004A47F5 /* tclConfig.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EE908F272A7004A47F5 /* tclConfig.c */; };
- F96D458908F272BC004A47F5 /* tclDate.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EEA08F272A7004A47F5 /* tclDate.c */; };
- F96D458B08F272BC004A47F5 /* tclDictObj.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EEC08F272A7004A47F5 /* tclDictObj.c */; };
- F96D458C08F272BC004A47F5 /* tclEncoding.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EED08F272A7004A47F5 /* tclEncoding.c */; };
- F96D458D08F272BC004A47F5 /* tclEnv.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EEE08F272A7004A47F5 /* tclEnv.c */; };
- F96D458E08F272BC004A47F5 /* tclEvent.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EEF08F272A7004A47F5 /* tclEvent.c */; };
- F96D458F08F272BC004A47F5 /* tclExecute.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EF008F272A7004A47F5 /* tclExecute.c */; };
- F96D459008F272BC004A47F5 /* tclFCmd.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EF108F272A7004A47F5 /* tclFCmd.c */; };
- F96D459108F272BC004A47F5 /* tclFileName.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EF208F272A7004A47F5 /* tclFileName.c */; };
- F96D459308F272BC004A47F5 /* tclGet.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EF408F272A7004A47F5 /* tclGet.c */; };
- F96D459508F272BC004A47F5 /* tclHash.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EF608F272A7004A47F5 /* tclHash.c */; };
- F96D459608F272BC004A47F5 /* tclHistory.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EF708F272A7004A47F5 /* tclHistory.c */; };
- F96D459708F272BC004A47F5 /* tclIndexObj.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EF808F272A7004A47F5 /* tclIndexObj.c */; };
- F96D459B08F272BC004A47F5 /* tclInterp.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EFC08F272A7004A47F5 /* tclInterp.c */; };
- F96D459D08F272BC004A47F5 /* tclIO.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EFE08F272A7004A47F5 /* tclIO.c */; };
- F96D459F08F272BC004A47F5 /* tclIOCmd.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0008F272A7004A47F5 /* tclIOCmd.c */; };
- F96D45A008F272BC004A47F5 /* tclIOGT.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0108F272A7004A47F5 /* tclIOGT.c */; };
- F96D45A108F272BC004A47F5 /* tclIORChan.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0208F272A7004A47F5 /* tclIORChan.c */; };
- F96D45A208F272BC004A47F5 /* tclIOSock.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0308F272A7004A47F5 /* tclIOSock.c */; };
- F96D45A308F272BC004A47F5 /* tclIOUtil.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0408F272A7004A47F5 /* tclIOUtil.c */; };
- F96D45A408F272BC004A47F5 /* tclLink.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0508F272A7004A47F5 /* tclLink.c */; };
- F96D45A508F272BC004A47F5 /* tclListObj.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0608F272A7004A47F5 /* tclListObj.c */; };
- F96D45A608F272BC004A47F5 /* tclLiteral.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0708F272A7004A47F5 /* tclLiteral.c */; };
- F96D45A708F272BC004A47F5 /* tclLoad.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0808F272A7004A47F5 /* tclLoad.c */; };
- F96D45A908F272BC004A47F5 /* tclMain.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0A08F272A7004A47F5 /* tclMain.c */; };
- F96D45AA08F272BC004A47F5 /* tclNamesp.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0B08F272A7004A47F5 /* tclNamesp.c */; };
- F96D45AB08F272BC004A47F5 /* tclNotify.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0C08F272A7004A47F5 /* tclNotify.c */; };
- F96D45AC08F272BC004A47F5 /* tclObj.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0D08F272A7004A47F5 /* tclObj.c */; };
- F96D45AD08F272BC004A47F5 /* tclPanic.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0E08F272A7004A47F5 /* tclPanic.c */; };
- F96D45AE08F272BC004A47F5 /* tclParse.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0F08F272A7004A47F5 /* tclParse.c */; };
- F96D45B008F272BC004A47F5 /* tclPathObj.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1108F272A7004A47F5 /* tclPathObj.c */; };
- F96D45B108F272BC004A47F5 /* tclPipe.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1208F272A7004A47F5 /* tclPipe.c */; };
- F96D45B208F272BC004A47F5 /* tclPkg.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1308F272A7004A47F5 /* tclPkg.c */; };
- F96D45B308F272BC004A47F5 /* tclPkgConfig.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1408F272A7004A47F5 /* tclPkgConfig.c */; settings = {COMPILER_FLAGS = "-DCFG_INSTALL_LIBDIR=\\\"$(LIBDIR)\\\" -DCFG_INSTALL_BINDIR=\\\"$(BINDIR)\\\" -DCFG_INSTALL_SCRDIR=\\\"$(TCL_LIBRARY)\\\" -DCFG_INSTALL_INCDIR=\\\"$(INCLUDEDIR)\\\" -DCFG_INSTALL_DOCDIR=\\\"$(MANDIR)\\\" -DCFG_RUNTIME_LIBDIR=\\\"$(LIBDIR)\\\" -DCFG_RUNTIME_BINDIR=\\\"$(BINDIR)\\\" -DCFG_RUNTIME_SCRDIR=\\\"$(TCL_LIBRARY)\\\" -DCFG_RUNTIME_INCDIR=\\\"$(INCLUDEDIR)\\\" -DCFG_RUNTIME_DOCDIR=\\\"$(MANDIR)\\\""; }; };
- F96D45B608F272BC004A47F5 /* tclPosixStr.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1708F272A7004A47F5 /* tclPosixStr.c */; };
- F96D45B708F272BC004A47F5 /* tclPreserve.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1808F272A7004A47F5 /* tclPreserve.c */; };
- F96D45B808F272BC004A47F5 /* tclProc.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1908F272A7004A47F5 /* tclProc.c */; };
- F96D45B908F272BC004A47F5 /* tclRegexp.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1A08F272A7004A47F5 /* tclRegexp.c */; };
- F96D45BB08F272BC004A47F5 /* tclResolve.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1C08F272A7004A47F5 /* tclResolve.c */; };
- F96D45BC08F272BC004A47F5 /* tclResult.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1D08F272A7004A47F5 /* tclResult.c */; };
- F96D45BD08F272BC004A47F5 /* tclScan.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1E08F272A7004A47F5 /* tclScan.c */; };
- F96D45BE08F272BC004A47F5 /* tclStringObj.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1F08F272A7004A47F5 /* tclStringObj.c */; };
- F96D45C308F272BC004A47F5 /* tclStrToD.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F2408F272A7004A47F5 /* tclStrToD.c */; };
- F96D45C408F272BC004A47F5 /* tclStubInit.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F2508F272A7004A47F5 /* tclStubInit.c */; };
- F96D45C508F272BC004A47F5 /* tclStubLib.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F2608F272A7004A47F5 /* tclStubLib.c */; };
- F96D45C908F272BC004A47F5 /* tclThread.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F2A08F272A7004A47F5 /* tclThread.c */; };
- F96D45CA08F272BC004A47F5 /* tclThreadAlloc.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F2B08F272A7004A47F5 /* tclThreadAlloc.c */; };
- F96D45CB08F272BC004A47F5 /* tclThreadJoin.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F2C08F272A7004A47F5 /* tclThreadJoin.c */; };
- F96D45CC08F272BC004A47F5 /* tclThreadStorage.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F2D08F272A7004A47F5 /* tclThreadStorage.c */; };
- F96D45CE08F272BC004A47F5 /* tclTimer.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F2F08F272A7004A47F5 /* tclTimer.c */; };
- F96D45D008F272BC004A47F5 /* tclTomMathInterface.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F3108F272A7004A47F5 /* tclTomMathInterface.c */; };
- F96D45D108F272BC004A47F5 /* tclTrace.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F3208F272A7004A47F5 /* tclTrace.c */; };
- F96D45D308F272BC004A47F5 /* tclUtf.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F3408F272A7004A47F5 /* tclUtf.c */; };
- F96D45D408F272BC004A47F5 /* tclUtil.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F3508F272A7004A47F5 /* tclUtil.c */; };
- F96D45D508F272BC004A47F5 /* tclVar.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F3608F272A7004A47F5 /* tclVar.c */; };
- F96D48E208F272C3004A47F5 /* bn_fast_s_mp_mul_digs.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D426408F272B3004A47F5 /* bn_fast_s_mp_mul_digs.c */; };
- F96D48E408F272C3004A47F5 /* bn_fast_s_mp_sqr.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D426608F272B3004A47F5 /* bn_fast_s_mp_sqr.c */; };
- F96D48E708F272C3004A47F5 /* bn_mp_add.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D426908F272B3004A47F5 /* bn_mp_add.c */; };
- F96D48E808F272C3004A47F5 /* bn_mp_add_d.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D426A08F272B3004A47F5 /* bn_mp_add_d.c */; };
- F96D48EB08F272C3004A47F5 /* bn_mp_clamp.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D426D08F272B3004A47F5 /* bn_mp_clamp.c */; };
- F96D48EC08F272C3004A47F5 /* bn_mp_clear.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D426E08F272B3004A47F5 /* bn_mp_clear.c */; };
- F96D48ED08F272C3004A47F5 /* bn_mp_clear_multi.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D426F08F272B3004A47F5 /* bn_mp_clear_multi.c */; };
- F96D48EE08F272C3004A47F5 /* bn_mp_cmp.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427008F272B3004A47F5 /* bn_mp_cmp.c */; };
- F96D48F008F272C3004A47F5 /* bn_mp_cmp_mag.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427208F272B3004A47F5 /* bn_mp_cmp_mag.c */; };
- F96D48F208F272C3004A47F5 /* bn_mp_copy.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427408F272B3004A47F5 /* bn_mp_copy.c */; };
- F96D48F308F272C3004A47F5 /* bn_mp_count_bits.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427508F272B3004A47F5 /* bn_mp_count_bits.c */; };
- F96D48F408F272C3004A47F5 /* bn_mp_div.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427608F272B3004A47F5 /* bn_mp_div.c */; };
- F96D48F508F272C3004A47F5 /* bn_mp_div_2.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427708F272B3004A47F5 /* bn_mp_div_2.c */; };
- F96D48F608F272C3004A47F5 /* bn_mp_div_2d.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427808F272B3004A47F5 /* bn_mp_div_2d.c */; };
- F96D48F708F272C3004A47F5 /* bn_mp_div_3.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427908F272B3004A47F5 /* bn_mp_div_3.c */; };
- F96D48F808F272C3004A47F5 /* bn_mp_div_d.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427A08F272B3004A47F5 /* bn_mp_div_d.c */; };
- F96D48FC08F272C3004A47F5 /* bn_mp_exch.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427E08F272B3004A47F5 /* bn_mp_exch.c */; };
- F96D490508F272C3004A47F5 /* bn_mp_grow.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D428708F272B3004A47F5 /* bn_mp_grow.c */; };
- F96D490608F272C3004A47F5 /* bn_mp_init.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D428808F272B3004A47F5 /* bn_mp_init.c */; };
- F96D490708F272C3004A47F5 /* bn_mp_init_copy.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D428908F272B3004A47F5 /* bn_mp_init_copy.c */; };
- F96D490808F272C3004A47F5 /* bn_mp_init_multi.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D428A08F272B3004A47F5 /* bn_mp_init_multi.c */; };
- F96D490908F272C3004A47F5 /* bn_mp_init_set.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D428B08F272B3004A47F5 /* bn_mp_init_set.c */; };
- F96D490B08F272C3004A47F5 /* bn_mp_init_size.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D428D08F272B3004A47F5 /* bn_mp_init_size.c */; };
- F96D491008F272C3004A47F5 /* bn_mp_karatsuba_mul.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D429208F272B3004A47F5 /* bn_mp_karatsuba_mul.c */; };
- F96D491108F272C3004A47F5 /* bn_mp_karatsuba_sqr.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D429308F272B3004A47F5 /* bn_mp_karatsuba_sqr.c */; };
- F96D491308F272C3004A47F5 /* bn_mp_lshd.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D429508F272B3004A47F5 /* bn_mp_lshd.c */; };
- F96D491408F272C3004A47F5 /* bn_mp_mod.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D429608F272B3004A47F5 /* bn_mp_mod.c */; };
- F96D491508F272C3004A47F5 /* bn_mp_mod_2d.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D429708F272B3004A47F5 /* bn_mp_mod_2d.c */; };
- F96D491A08F272C3004A47F5 /* bn_mp_mul.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D429C08F272B3004A47F5 /* bn_mp_mul.c */; };
- F96D491B08F272C3004A47F5 /* bn_mp_mul_2.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D429D08F272B3004A47F5 /* bn_mp_mul_2.c */; };
- F96D491C08F272C3004A47F5 /* bn_mp_mul_2d.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D429E08F272B3004A47F5 /* bn_mp_mul_2d.c */; };
- F96D491D08F272C3004A47F5 /* bn_mp_mul_d.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D429F08F272B3004A47F5 /* bn_mp_mul_d.c */; };
- F96D492908F272C3004A47F5 /* bn_mp_radix_size.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42AB08F272B3004A47F5 /* bn_mp_radix_size.c */; };
- F96D492A08F272C3004A47F5 /* bn_mp_radix_smap.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42AC08F272B3004A47F5 /* bn_mp_radix_smap.c */; };
- F96D492C08F272C3004A47F5 /* bn_mp_read_radix.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42AE08F272B3004A47F5 /* bn_mp_read_radix.c */; };
- F96D493708F272C3004A47F5 /* bn_mp_rshd.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42B908F272B3004A47F5 /* bn_mp_rshd.c */; };
- F96D493808F272C3004A47F5 /* bn_mp_set.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42BA08F272B3004A47F5 /* bn_mp_set.c */; };
- F96D493C08F272C3004A47F5 /* bn_mp_sqr.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42BE08F272B3004A47F5 /* bn_mp_sqr.c */; };
- F96D493F08F272C3004A47F5 /* bn_mp_sub.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42C108F272B3004A47F5 /* bn_mp_sub.c */; };
- F96D494008F272C3004A47F5 /* bn_mp_sub_d.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42C208F272B3004A47F5 /* bn_mp_sub_d.c */; };
- F96D494608F272C3004A47F5 /* bn_mp_toom_mul.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42C808F272B3004A47F5 /* bn_mp_toom_mul.c */; };
- F96D494708F272C3004A47F5 /* bn_mp_toom_sqr.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42C908F272B3004A47F5 /* bn_mp_toom_sqr.c */; };
- F96D494908F272C3004A47F5 /* bn_mp_toradix_n.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42CB08F272B3004A47F5 /* bn_mp_toradix_n.c */; };
- F96D494C08F272C3004A47F5 /* bn_mp_zero.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42CE08F272B3004A47F5 /* bn_mp_zero.c */; };
- F96D494E08F272C3004A47F5 /* bn_reverse.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42D008F272B3004A47F5 /* bn_reverse.c */; };
- F96D494F08F272C3004A47F5 /* bn_s_mp_add.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42D108F272B3004A47F5 /* bn_s_mp_add.c */; };
- F96D495108F272C3004A47F5 /* bn_s_mp_mul_digs.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42D308F272B3004A47F5 /* bn_s_mp_mul_digs.c */; };
- F96D495308F272C3004A47F5 /* bn_s_mp_sqr.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42D508F272B3004A47F5 /* bn_s_mp_sqr.c */; };
- F96D495408F272C3004A47F5 /* bn_s_mp_sub.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42D608F272B3004A47F5 /* bn_s_mp_sub.c */; };
- F96D495508F272C3004A47F5 /* bncore.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42D708F272B3004A47F5 /* bncore.c */; };
- F96D49A908F272C4004A47F5 /* tclMacOSXBundle.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D433908F272B5004A47F5 /* tclMacOSXBundle.c */; };
- F96D49AD08F272C4004A47F5 /* tclMacOSXFCmd.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D433D08F272B5004A47F5 /* tclMacOSXFCmd.c */; };
- F96D49AE08F272C4004A47F5 /* tclMacOSXNotify.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D433E08F272B5004A47F5 /* tclMacOSXNotify.c */; };
- F96D4AC608F272C9004A47F5 /* tclLoadDyld.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D445B08F272B9004A47F5 /* tclLoadDyld.c */; settings = {COMPILER_FLAGS = "-Wno-deprecated-declarations"; }; };
- F96D4ACA08F272C9004A47F5 /* tclUnixChan.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D445F08F272B9004A47F5 /* tclUnixChan.c */; };
- F96D4ACB08F272C9004A47F5 /* tclUnixEvent.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D446008F272B9004A47F5 /* tclUnixEvent.c */; };
- F96D4ACC08F272C9004A47F5 /* tclUnixFCmd.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D446108F272B9004A47F5 /* tclUnixFCmd.c */; };
- F96D4ACD08F272C9004A47F5 /* tclUnixFile.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D446208F272B9004A47F5 /* tclUnixFile.c */; };
- F96D4ACE08F272C9004A47F5 /* tclUnixInit.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D446308F272B9004A47F5 /* tclUnixInit.c */; settings = {COMPILER_FLAGS = "-DTCL_LIBRARY=\\\"$(TCL_LIBRARY)\\\" -DTCL_PACKAGE_PATH=\\\"$(TCL_PACKAGE_PATH)\\\""; }; };
- F96D4ACF08F272C9004A47F5 /* tclUnixNotfy.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D446408F272B9004A47F5 /* tclUnixNotfy.c */; };
- F96D4AD008F272C9004A47F5 /* tclUnixPipe.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D446508F272B9004A47F5 /* tclUnixPipe.c */; };
- F96D4AD208F272CA004A47F5 /* tclUnixSock.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D446708F272B9004A47F5 /* tclUnixSock.c */; };
- F96D4AD408F272CA004A47F5 /* tclUnixThrd.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D446908F272B9004A47F5 /* tclUnixThrd.c */; };
- F96D4AD608F272CA004A47F5 /* tclUnixTime.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D446B08F272B9004A47F5 /* tclUnixTime.c */; };
- F9C9CC000E84059800E00935 /* ApplicationServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F9C9CBFF0E84059800E00935 /* ApplicationServices.framework */; };
- F9DD99BD0F07DF850018B2E4 /* tkImgPNG.c in Sources */ = {isa = PBXBuildFile; fileRef = F9DD99BC0F07DF850018B2E4 /* tkImgPNG.c */; };
- F9DD99BE0F07DF850018B2E4 /* tkImgPNG.c in Sources */ = {isa = PBXBuildFile; fileRef = F9DD99BC0F07DF850018B2E4 /* tkImgPNG.c */; };
- F9E61D28090A481F002B3151 /* bn_mp_cmp_d.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427108F272B3004A47F5 /* bn_mp_cmp_d.c */; };
- F9E61D29090A486C002B3151 /* bn_mp_neg.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42A208F272B3004A47F5 /* bn_mp_neg.c */; };
- F9E61D2A090A4891002B3151 /* bn_mp_sqrt.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42C008F272B3004A47F5 /* bn_mp_sqrt.c */; };
- F9E61D2B090A48A4002B3151 /* bn_mp_and.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D426C08F272B3004A47F5 /* bn_mp_and.c */; };
- F9E61D2C090A48AC002B3151 /* bn_mp_expt_d.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427F08F272B3004A47F5 /* bn_mp_expt_d.c */; };
- F9E61D2D090A48BB002B3151 /* bn_mp_xor.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42CD08F272B3004A47F5 /* bn_mp_xor.c */; };
- F9E61D2E090A48BF002B3151 /* bn_mp_or.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42A308F272B3004A47F5 /* bn_mp_or.c */; };
- F9E61D2F090A48C7002B3151 /* bn_mp_shrink.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42BC08F272B3004A47F5 /* bn_mp_shrink.c */; };
- F9E61D30090A48E2002B3151 /* bn_mp_to_unsigned_bin_n.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42C708F272B3004A47F5 /* bn_mp_to_unsigned_bin_n.c */; };
- F9E61D31090A48F9002B3151 /* bn_mp_to_unsigned_bin.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42C608F272B3004A47F5 /* bn_mp_to_unsigned_bin.c */; };
- F9E61D32090A48FA002B3151 /* bn_mp_unsigned_bin_size.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42CC08F272B3004A47F5 /* bn_mp_unsigned_bin_size.c */; };
- F9F4415E0C8BAE6F00BCCD67 /* tclDTrace.d in Sources */ = {isa = PBXBuildFile; fileRef = F9F4415D0C8BAE6F00BCCD67 /* tclDTrace.d */; };
- F9FC77B80AB29E9100B7077D /* tclUnixCompat.c in Sources */ = {isa = PBXBuildFile; fileRef = F9FC77B70AB29E9100B7077D /* tclUnixCompat.c */; };
- F9FD30BC0CC1AD070073837D /* regcomp.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3ED008F272A7004A47F5 /* regcomp.c */; };
- F9FD30BD0CC1AD070073837D /* regerror.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3ED308F272A7004A47F5 /* regerror.c */; };
- F9FD30BE0CC1AD070073837D /* regexec.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3ED608F272A7004A47F5 /* regexec.c */; };
- F9FD30BF0CC1AD070073837D /* regfree.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3ED708F272A7004A47F5 /* regfree.c */; };
- F9FD30C00CC1AD070073837D /* tclAlloc.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EDC08F272A7004A47F5 /* tclAlloc.c */; settings = {COMPILER_FLAGS = "-DUSE_TCLALLOC=0"; }; };
- F9FD30C10CC1AD070073837D /* tclAsync.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EDD08F272A7004A47F5 /* tclAsync.c */; };
- F9FD30C20CC1AD070073837D /* tclBasic.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EDE08F272A7004A47F5 /* tclBasic.c */; };
- F9FD30C30CC1AD070073837D /* tclBinary.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EDF08F272A7004A47F5 /* tclBinary.c */; };
- F9FD30C40CC1AD070073837D /* tclCkalloc.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EE008F272A7004A47F5 /* tclCkalloc.c */; };
- F9FD30C50CC1AD070073837D /* tclClock.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EE108F272A7004A47F5 /* tclClock.c */; };
- F9FD30C60CC1AD070073837D /* tclCmdAH.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EE208F272A7004A47F5 /* tclCmdAH.c */; };
- F9FD30C70CC1AD070073837D /* tclCmdIL.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EE308F272A7004A47F5 /* tclCmdIL.c */; };
- F9FD30C80CC1AD070073837D /* tclCmdMZ.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EE408F272A7004A47F5 /* tclCmdMZ.c */; };
- F9FD30C90CC1AD070073837D /* tclCompCmds.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EE508F272A7004A47F5 /* tclCompCmds.c */; };
- F9FD30CA0CC1AD070073837D /* tclCompExpr.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EE608F272A7004A47F5 /* tclCompExpr.c */; };
- F9FD30CB0CC1AD070073837D /* tclCompile.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EE708F272A7004A47F5 /* tclCompile.c */; };
- F9FD30CC0CC1AD070073837D /* tclConfig.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EE908F272A7004A47F5 /* tclConfig.c */; };
- F9FD30CD0CC1AD070073837D /* tclDate.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EEA08F272A7004A47F5 /* tclDate.c */; };
- F9FD30CE0CC1AD070073837D /* tclDictObj.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EEC08F272A7004A47F5 /* tclDictObj.c */; };
- F9FD30CF0CC1AD070073837D /* tclEncoding.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EED08F272A7004A47F5 /* tclEncoding.c */; };
- F9FD30D00CC1AD070073837D /* tclEnv.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EEE08F272A7004A47F5 /* tclEnv.c */; };
- F9FD30D10CC1AD070073837D /* tclEvent.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EEF08F272A7004A47F5 /* tclEvent.c */; };
- F9FD30D20CC1AD070073837D /* tclExecute.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EF008F272A7004A47F5 /* tclExecute.c */; };
- F9FD30D30CC1AD070073837D /* tclFCmd.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EF108F272A7004A47F5 /* tclFCmd.c */; };
- F9FD30D40CC1AD070073837D /* tclFileName.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EF208F272A7004A47F5 /* tclFileName.c */; };
- F9FD30D50CC1AD070073837D /* tclGet.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EF408F272A7004A47F5 /* tclGet.c */; };
- F9FD30D60CC1AD070073837D /* tclHash.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EF608F272A7004A47F5 /* tclHash.c */; };
- F9FD30D70CC1AD070073837D /* tclHistory.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EF708F272A7004A47F5 /* tclHistory.c */; };
- F9FD30D80CC1AD070073837D /* tclIndexObj.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EF808F272A7004A47F5 /* tclIndexObj.c */; };
- F9FD30D90CC1AD070073837D /* tclInterp.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EFC08F272A7004A47F5 /* tclInterp.c */; };
- F9FD30DA0CC1AD070073837D /* tclIO.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3EFE08F272A7004A47F5 /* tclIO.c */; };
- F9FD30DB0CC1AD070073837D /* tclIOCmd.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0008F272A7004A47F5 /* tclIOCmd.c */; };
- F9FD30DC0CC1AD070073837D /* tclIOGT.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0108F272A7004A47F5 /* tclIOGT.c */; };
- F9FD30DD0CC1AD070073837D /* tclIORChan.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0208F272A7004A47F5 /* tclIORChan.c */; };
- F9FD30DE0CC1AD070073837D /* tclIOSock.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0308F272A7004A47F5 /* tclIOSock.c */; };
- F9FD30DF0CC1AD070073837D /* tclIOUtil.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0408F272A7004A47F5 /* tclIOUtil.c */; };
- F9FD30E00CC1AD070073837D /* tclLink.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0508F272A7004A47F5 /* tclLink.c */; };
- F9FD30E10CC1AD070073837D /* tclListObj.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0608F272A7004A47F5 /* tclListObj.c */; };
- F9FD30E20CC1AD070073837D /* tclLiteral.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0708F272A7004A47F5 /* tclLiteral.c */; };
- F9FD30E30CC1AD070073837D /* tclLoad.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0808F272A7004A47F5 /* tclLoad.c */; };
- F9FD30E40CC1AD070073837D /* tclMain.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0A08F272A7004A47F5 /* tclMain.c */; };
- F9FD30E50CC1AD070073837D /* tclNamesp.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0B08F272A7004A47F5 /* tclNamesp.c */; };
- F9FD30E60CC1AD070073837D /* tclNotify.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0C08F272A7004A47F5 /* tclNotify.c */; };
- F9FD30E70CC1AD070073837D /* tclObj.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0D08F272A7004A47F5 /* tclObj.c */; };
- F9FD30E80CC1AD070073837D /* tclPanic.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0E08F272A7004A47F5 /* tclPanic.c */; };
- F9FD30E90CC1AD070073837D /* tclParse.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F0F08F272A7004A47F5 /* tclParse.c */; };
- F9FD30EA0CC1AD070073837D /* tclPathObj.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1108F272A7004A47F5 /* tclPathObj.c */; };
- F9FD30EB0CC1AD070073837D /* tclPipe.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1208F272A7004A47F5 /* tclPipe.c */; };
- F9FD30EC0CC1AD070073837D /* tclPkg.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1308F272A7004A47F5 /* tclPkg.c */; };
- F9FD30ED0CC1AD070073837D /* tclPkgConfig.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1408F272A7004A47F5 /* tclPkgConfig.c */; settings = {COMPILER_FLAGS = "-DCFG_INSTALL_LIBDIR=\\\"$(LIBDIR)\\\" -DCFG_INSTALL_BINDIR=\\\"$(BINDIR)\\\" -DCFG_INSTALL_SCRDIR=\\\"$(TCL_LIBRARY)\\\" -DCFG_INSTALL_INCDIR=\\\"$(INCLUDEDIR)\\\" -DCFG_INSTALL_DOCDIR=\\\"$(MANDIR)\\\" -DCFG_RUNTIME_LIBDIR=\\\"$(LIBDIR)\\\" -DCFG_RUNTIME_BINDIR=\\\"$(BINDIR)\\\" -DCFG_RUNTIME_SCRDIR=\\\"$(TCL_LIBRARY)\\\" -DCFG_RUNTIME_INCDIR=\\\"$(INCLUDEDIR)\\\" -DCFG_RUNTIME_DOCDIR=\\\"$(MANDIR)\\\""; }; };
- F9FD30EE0CC1AD070073837D /* tclPosixStr.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1708F272A7004A47F5 /* tclPosixStr.c */; };
- F9FD30EF0CC1AD070073837D /* tclPreserve.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1808F272A7004A47F5 /* tclPreserve.c */; };
- F9FD30F00CC1AD070073837D /* tclProc.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1908F272A7004A47F5 /* tclProc.c */; };
- F9FD30F10CC1AD070073837D /* tclRegexp.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1A08F272A7004A47F5 /* tclRegexp.c */; };
- F9FD30F20CC1AD070073837D /* tclResolve.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1C08F272A7004A47F5 /* tclResolve.c */; };
- F9FD30F30CC1AD070073837D /* tclResult.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1D08F272A7004A47F5 /* tclResult.c */; };
- F9FD30F40CC1AD070073837D /* tclScan.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1E08F272A7004A47F5 /* tclScan.c */; };
- F9FD30F50CC1AD070073837D /* tclStringObj.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F1F08F272A7004A47F5 /* tclStringObj.c */; };
- F9FD30F60CC1AD070073837D /* tclStrToD.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F2408F272A7004A47F5 /* tclStrToD.c */; };
- F9FD30F70CC1AD070073837D /* tclStubInit.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F2508F272A7004A47F5 /* tclStubInit.c */; };
- F9FD30F80CC1AD070073837D /* tclStubLib.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F2608F272A7004A47F5 /* tclStubLib.c */; };
- F9FD30F90CC1AD070073837D /* tclThread.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F2A08F272A7004A47F5 /* tclThread.c */; };
- F9FD30FA0CC1AD070073837D /* tclThreadAlloc.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F2B08F272A7004A47F5 /* tclThreadAlloc.c */; };
- F9FD30FB0CC1AD070073837D /* tclThreadJoin.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F2C08F272A7004A47F5 /* tclThreadJoin.c */; };
- F9FD30FC0CC1AD070073837D /* tclThreadStorage.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F2D08F272A7004A47F5 /* tclThreadStorage.c */; };
- F9FD30FD0CC1AD070073837D /* tclTimer.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F2F08F272A7004A47F5 /* tclTimer.c */; };
- F9FD30FE0CC1AD070073837D /* tclTomMathInterface.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F3108F272A7004A47F5 /* tclTomMathInterface.c */; };
- F9FD30FF0CC1AD070073837D /* tclTrace.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F3208F272A7004A47F5 /* tclTrace.c */; };
- F9FD31000CC1AD070073837D /* tclUtf.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F3408F272A7004A47F5 /* tclUtf.c */; };
- F9FD31010CC1AD070073837D /* tclUtil.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F3508F272A7004A47F5 /* tclUtil.c */; };
- F9FD31020CC1AD070073837D /* tclVar.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D3F3608F272A7004A47F5 /* tclVar.c */; };
- F9FD31030CC1AD070073837D /* bn_fast_s_mp_mul_digs.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D426408F272B3004A47F5 /* bn_fast_s_mp_mul_digs.c */; };
- F9FD31040CC1AD070073837D /* bn_fast_s_mp_sqr.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D426608F272B3004A47F5 /* bn_fast_s_mp_sqr.c */; };
- F9FD31050CC1AD070073837D /* bn_mp_add.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D426908F272B3004A47F5 /* bn_mp_add.c */; };
- F9FD31060CC1AD070073837D /* bn_mp_add_d.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D426A08F272B3004A47F5 /* bn_mp_add_d.c */; };
- F9FD31070CC1AD070073837D /* bn_mp_and.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D426C08F272B3004A47F5 /* bn_mp_and.c */; };
- F9FD31080CC1AD070073837D /* bn_mp_clamp.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D426D08F272B3004A47F5 /* bn_mp_clamp.c */; };
- F9FD31090CC1AD070073837D /* bn_mp_clear.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D426E08F272B3004A47F5 /* bn_mp_clear.c */; };
- F9FD310A0CC1AD070073837D /* bn_mp_clear_multi.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D426F08F272B3004A47F5 /* bn_mp_clear_multi.c */; };
- F9FD310B0CC1AD070073837D /* bn_mp_cmp.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427008F272B3004A47F5 /* bn_mp_cmp.c */; };
- F9FD310C0CC1AD070073837D /* bn_mp_cmp_d.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427108F272B3004A47F5 /* bn_mp_cmp_d.c */; };
- F9FD310D0CC1AD070073837D /* bn_mp_cmp_mag.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427208F272B3004A47F5 /* bn_mp_cmp_mag.c */; };
- F9FD310E0CC1AD070073837D /* bn_mp_copy.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427408F272B3004A47F5 /* bn_mp_copy.c */; };
- F9FD310F0CC1AD070073837D /* bn_mp_count_bits.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427508F272B3004A47F5 /* bn_mp_count_bits.c */; };
- F9FD31100CC1AD070073837D /* bn_mp_div.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427608F272B3004A47F5 /* bn_mp_div.c */; };
- F9FD31110CC1AD070073837D /* bn_mp_div_2.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427708F272B3004A47F5 /* bn_mp_div_2.c */; };
- F9FD31120CC1AD070073837D /* bn_mp_div_2d.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427808F272B3004A47F5 /* bn_mp_div_2d.c */; };
- F9FD31130CC1AD070073837D /* bn_mp_div_3.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427908F272B3004A47F5 /* bn_mp_div_3.c */; };
- F9FD31140CC1AD070073837D /* bn_mp_div_d.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427A08F272B3004A47F5 /* bn_mp_div_d.c */; };
- F9FD31150CC1AD070073837D /* bn_mp_exch.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427E08F272B3004A47F5 /* bn_mp_exch.c */; };
- F9FD31160CC1AD070073837D /* bn_mp_expt_d.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D427F08F272B3004A47F5 /* bn_mp_expt_d.c */; };
- F9FD31170CC1AD070073837D /* bn_mp_grow.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D428708F272B3004A47F5 /* bn_mp_grow.c */; };
- F9FD31180CC1AD070073837D /* bn_mp_init.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D428808F272B3004A47F5 /* bn_mp_init.c */; };
- F9FD31190CC1AD070073837D /* bn_mp_init_copy.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D428908F272B3004A47F5 /* bn_mp_init_copy.c */; };
- F9FD311A0CC1AD070073837D /* bn_mp_init_multi.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D428A08F272B3004A47F5 /* bn_mp_init_multi.c */; };
- F9FD311B0CC1AD070073837D /* bn_mp_init_set.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D428B08F272B3004A47F5 /* bn_mp_init_set.c */; };
- F9FD311C0CC1AD070073837D /* bn_mp_init_size.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D428D08F272B3004A47F5 /* bn_mp_init_size.c */; };
- F9FD311D0CC1AD070073837D /* bn_mp_karatsuba_mul.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D429208F272B3004A47F5 /* bn_mp_karatsuba_mul.c */; };
- F9FD311E0CC1AD070073837D /* bn_mp_karatsuba_sqr.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D429308F272B3004A47F5 /* bn_mp_karatsuba_sqr.c */; };
- F9FD311F0CC1AD070073837D /* bn_mp_lshd.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D429508F272B3004A47F5 /* bn_mp_lshd.c */; };
- F9FD31200CC1AD070073837D /* bn_mp_mod.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D429608F272B3004A47F5 /* bn_mp_mod.c */; };
- F9FD31210CC1AD070073837D /* bn_mp_mod_2d.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D429708F272B3004A47F5 /* bn_mp_mod_2d.c */; };
- F9FD31220CC1AD070073837D /* bn_mp_mul.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D429C08F272B3004A47F5 /* bn_mp_mul.c */; };
- F9FD31230CC1AD070073837D /* bn_mp_mul_2.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D429D08F272B3004A47F5 /* bn_mp_mul_2.c */; };
- F9FD31240CC1AD070073837D /* bn_mp_mul_2d.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D429E08F272B3004A47F5 /* bn_mp_mul_2d.c */; };
- F9FD31250CC1AD070073837D /* bn_mp_mul_d.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D429F08F272B3004A47F5 /* bn_mp_mul_d.c */; };
- F9FD31260CC1AD070073837D /* bn_mp_neg.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42A208F272B3004A47F5 /* bn_mp_neg.c */; };
- F9FD31270CC1AD070073837D /* bn_mp_or.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42A308F272B3004A47F5 /* bn_mp_or.c */; };
- F9FD31280CC1AD070073837D /* bn_mp_radix_size.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42AB08F272B3004A47F5 /* bn_mp_radix_size.c */; };
- F9FD31290CC1AD070073837D /* bn_mp_radix_smap.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42AC08F272B3004A47F5 /* bn_mp_radix_smap.c */; };
- F9FD312A0CC1AD070073837D /* bn_mp_read_radix.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42AE08F272B3004A47F5 /* bn_mp_read_radix.c */; };
- F9FD312B0CC1AD070073837D /* bn_mp_rshd.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42B908F272B3004A47F5 /* bn_mp_rshd.c */; };
- F9FD312C0CC1AD070073837D /* bn_mp_set.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42BA08F272B3004A47F5 /* bn_mp_set.c */; };
- F9FD312D0CC1AD070073837D /* bn_mp_shrink.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42BC08F272B3004A47F5 /* bn_mp_shrink.c */; };
- F9FD312E0CC1AD070073837D /* bn_mp_sqr.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42BE08F272B3004A47F5 /* bn_mp_sqr.c */; };
- F9FD312F0CC1AD070073837D /* bn_mp_sqrt.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42C008F272B3004A47F5 /* bn_mp_sqrt.c */; };
- F9FD31300CC1AD070073837D /* bn_mp_sub.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42C108F272B3004A47F5 /* bn_mp_sub.c */; };
- F9FD31310CC1AD070073837D /* bn_mp_sub_d.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42C208F272B3004A47F5 /* bn_mp_sub_d.c */; };
- F9FD31320CC1AD070073837D /* bn_mp_to_unsigned_bin_n.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42C708F272B3004A47F5 /* bn_mp_to_unsigned_bin_n.c */; };
- F9FD31330CC1AD070073837D /* bn_mp_to_unsigned_bin.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42C608F272B3004A47F5 /* bn_mp_to_unsigned_bin.c */; };
- F9FD31340CC1AD070073837D /* bn_mp_toom_mul.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42C808F272B3004A47F5 /* bn_mp_toom_mul.c */; };
- F9FD31350CC1AD070073837D /* bn_mp_toom_sqr.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42C908F272B3004A47F5 /* bn_mp_toom_sqr.c */; };
- F9FD31360CC1AD070073837D /* bn_mp_toradix_n.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42CB08F272B3004A47F5 /* bn_mp_toradix_n.c */; };
- F9FD31370CC1AD070073837D /* bn_mp_unsigned_bin_size.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42CC08F272B3004A47F5 /* bn_mp_unsigned_bin_size.c */; };
- F9FD31380CC1AD070073837D /* bn_mp_xor.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42CD08F272B3004A47F5 /* bn_mp_xor.c */; };
- F9FD31390CC1AD070073837D /* bn_mp_zero.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42CE08F272B3004A47F5 /* bn_mp_zero.c */; };
- F9FD313A0CC1AD070073837D /* bn_reverse.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42D008F272B3004A47F5 /* bn_reverse.c */; };
- F9FD313B0CC1AD070073837D /* bn_s_mp_add.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42D108F272B3004A47F5 /* bn_s_mp_add.c */; };
- F9FD313C0CC1AD070073837D /* bn_s_mp_mul_digs.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42D308F272B3004A47F5 /* bn_s_mp_mul_digs.c */; };
- F9FD313D0CC1AD070073837D /* bn_s_mp_sqr.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42D508F272B3004A47F5 /* bn_s_mp_sqr.c */; };
- F9FD313E0CC1AD070073837D /* bn_s_mp_sub.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42D608F272B3004A47F5 /* bn_s_mp_sub.c */; };
- F9FD313F0CC1AD070073837D /* bncore.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D42D708F272B3004A47F5 /* bncore.c */; };
- F9FD31400CC1AD070073837D /* tclMacOSXBundle.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D433908F272B5004A47F5 /* tclMacOSXBundle.c */; };
- F9FD31410CC1AD070073837D /* tclMacOSXFCmd.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D433D08F272B5004A47F5 /* tclMacOSXFCmd.c */; };
- F9FD31420CC1AD070073837D /* tclMacOSXNotify.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D433E08F272B5004A47F5 /* tclMacOSXNotify.c */; };
- F9FD31430CC1AD070073837D /* tclLoadDyld.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D445B08F272B9004A47F5 /* tclLoadDyld.c */; settings = {COMPILER_FLAGS = "-Wno-deprecated-declarations"; }; };
- F9FD31440CC1AD070073837D /* tclUnixChan.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D445F08F272B9004A47F5 /* tclUnixChan.c */; };
- F9FD31450CC1AD070073837D /* tclUnixCompat.c in Sources */ = {isa = PBXBuildFile; fileRef = F9FC77B70AB29E9100B7077D /* tclUnixCompat.c */; };
- F9FD31460CC1AD070073837D /* tclUnixEvent.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D446008F272B9004A47F5 /* tclUnixEvent.c */; };
- F9FD31470CC1AD070073837D /* tclUnixFCmd.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D446108F272B9004A47F5 /* tclUnixFCmd.c */; };
- F9FD31480CC1AD070073837D /* tclUnixFile.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D446208F272B9004A47F5 /* tclUnixFile.c */; };
- F9FD31490CC1AD070073837D /* tclUnixInit.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D446308F272B9004A47F5 /* tclUnixInit.c */; settings = {COMPILER_FLAGS = "-DTCL_LIBRARY=\\\"$(TCL_LIBRARY)\\\" -DTCL_PACKAGE_PATH=\\\"$(TCL_PACKAGE_PATH)\\\""; }; };
- F9FD314A0CC1AD070073837D /* tclUnixNotfy.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D446408F272B9004A47F5 /* tclUnixNotfy.c */; };
- F9FD314B0CC1AD070073837D /* tclUnixPipe.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D446508F272B9004A47F5 /* tclUnixPipe.c */; };
- F9FD314C0CC1AD070073837D /* tclUnixSock.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D446708F272B9004A47F5 /* tclUnixSock.c */; };
- F9FD314D0CC1AD070073837D /* tclUnixThrd.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D446908F272B9004A47F5 /* tclUnixThrd.c */; };
- F9FD314E0CC1AD070073837D /* tclUnixTime.c in Sources */ = {isa = PBXBuildFile; fileRef = F96D446B08F272B9004A47F5 /* tclUnixTime.c */; };
- F9FD314F0CC1AD070073837D /* tk3d.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAAC08F27A39005CB29B /* tk3d.c */; };
- F9FD31500CC1AD070073837D /* tkArgv.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAAE08F27A39005CB29B /* tkArgv.c */; };
- F9FD31510CC1AD070073837D /* tkAtom.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAAF08F27A39005CB29B /* tkAtom.c */; };
- F9FD31520CC1AD070073837D /* tkBind.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAB008F27A39005CB29B /* tkBind.c */; };
- F9FD31530CC1AD070073837D /* tkBitmap.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAB108F27A39005CB29B /* tkBitmap.c */; };
- F9FD31540CC1AD070073837D /* tkButton.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAB208F27A39005CB29B /* tkButton.c */; };
- F9FD31550CC1AD070073837D /* tkCanvArc.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAB408F27A39005CB29B /* tkCanvArc.c */; };
- F9FD31560CC1AD070073837D /* tkCanvas.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAB508F27A39005CB29B /* tkCanvas.c */; };
- F9FD31570CC1AD070073837D /* tkCanvBmap.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAB708F27A39005CB29B /* tkCanvBmap.c */; };
- F9FD31580CC1AD070073837D /* tkCanvImg.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAB808F27A39005CB29B /* tkCanvImg.c */; };
- F9FD31590CC1AD070073837D /* tkCanvLine.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAB908F27A39005CB29B /* tkCanvLine.c */; };
- F9FD315A0CC1AD070073837D /* tkCanvPoly.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BABA08F27A39005CB29B /* tkCanvPoly.c */; };
- F9FD315B0CC1AD070073837D /* tkCanvPs.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BABB08F27A39005CB29B /* tkCanvPs.c */; };
- F9FD315C0CC1AD070073837D /* tkCanvText.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BABD08F27A39005CB29B /* tkCanvText.c */; };
- F9FD315D0CC1AD070073837D /* tkCanvUtil.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BABE08F27A39005CB29B /* tkCanvUtil.c */; };
- F9FD315E0CC1AD070073837D /* tkCanvWind.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BABF08F27A39005CB29B /* tkCanvWind.c */; };
- F9FD315F0CC1AD070073837D /* tkClipboard.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAC008F27A39005CB29B /* tkClipboard.c */; };
- F9FD31600CC1AD070073837D /* tkCmds.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAC108F27A39005CB29B /* tkCmds.c */; };
- F9FD31610CC1AD070073837D /* tkColor.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAC208F27A39005CB29B /* tkColor.c */; };
- F9FD31620CC1AD070073837D /* tkConfig.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAC408F27A39005CB29B /* tkConfig.c */; };
- F9FD31630CC1AD070073837D /* tkConsole.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAC508F27A39005CB29B /* tkConsole.c */; };
- F9FD31640CC1AD070073837D /* tkCursor.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAC608F27A39005CB29B /* tkCursor.c */; };
- F9FD31650CC1AD070073837D /* tkEntry.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAC808F27A39005CB29B /* tkEntry.c */; };
- F9FD31660CC1AD070073837D /* tkError.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BACA08F27A39005CB29B /* tkError.c */; };
- F9FD31670CC1AD070073837D /* tkEvent.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BACB08F27A39005CB29B /* tkEvent.c */; };
- F9FD31680CC1AD070073837D /* tkFileFilter.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BACC08F27A39005CB29B /* tkFileFilter.c */; };
- F9FD31690CC1AD070073837D /* tkFocus.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BACE08F27A39005CB29B /* tkFocus.c */; };
- F9FD316A0CC1AD070073837D /* tkFont.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BACF08F27A39005CB29B /* tkFont.c */; };
- F9FD316B0CC1AD070073837D /* tkFrame.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAD108F27A39005CB29B /* tkFrame.c */; };
- F9FD316C0CC1AD070073837D /* tkGC.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAD208F27A39005CB29B /* tkGC.c */; };
- F9FD316D0CC1AD070073837D /* tkGeometry.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAD308F27A39005CB29B /* tkGeometry.c */; };
- F9FD316E0CC1AD070073837D /* tkGet.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAD408F27A39005CB29B /* tkGet.c */; };
- F9FD316F0CC1AD070073837D /* tkGrab.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAD508F27A39005CB29B /* tkGrab.c */; };
- F9FD31700CC1AD070073837D /* tkGrid.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAD608F27A39005CB29B /* tkGrid.c */; };
- F9FD31710CC1AD070073837D /* tkImage.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAD708F27A39005CB29B /* tkImage.c */; };
- F9FD31720CC1AD070073837D /* tkImgBmap.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAD808F27A39005CB29B /* tkImgBmap.c */; };
- F9FD31730CC1AD070073837D /* tkImgGIF.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAD908F27A39005CB29B /* tkImgGIF.c */; };
- F9FD31740CC1AD070073837D /* tkImgPhoto.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BADA08F27A39005CB29B /* tkImgPhoto.c */; };
- F9FD31750CC1AD070073837D /* tkImgPPM.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BADB08F27A39005CB29B /* tkImgPPM.c */; };
- F9FD31760CC1AD070073837D /* tkListbox.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAE408F27A39005CB29B /* tkListbox.c */; };
- F9FD31770CC1AD070073837D /* tkMacWinMenu.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAE508F27A39005CB29B /* tkMacWinMenu.c */; };
- F9FD31780CC1AD070073837D /* tkMain.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAE608F27A39005CB29B /* tkMain.c */; };
- F9FD31790CC1AD070073837D /* tkMenu.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAE708F27A39005CB29B /* tkMenu.c */; };
- F9FD317A0CC1AD070073837D /* tkMenubutton.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAE908F27A39005CB29B /* tkMenubutton.c */; };
- F9FD317B0CC1AD070073837D /* tkMenuDraw.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAEB08F27A39005CB29B /* tkMenuDraw.c */; };
- F9FD317C0CC1AD070073837D /* tkMessage.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAEC08F27A39005CB29B /* tkMessage.c */; };
- F9FD317D0CC1AD070073837D /* tkObj.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAED08F27A39005CB29B /* tkObj.c */; };
- F9FD317E0CC1AD070073837D /* tkOldConfig.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAEE08F27A39005CB29B /* tkOldConfig.c */; };
- F9FD317F0CC1AD070073837D /* tkOldTest.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAFE08F27A39005CB29B /* tkOldTest.c */; };
- F9FD31800CC1AD070073837D /* tkOption.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAEF08F27A39005CB29B /* tkOption.c */; };
- F9FD31810CC1AD070073837D /* tkPack.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAF008F27A39005CB29B /* tkPack.c */; };
- F9FD31820CC1AD070073837D /* tkPanedWindow.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAF108F27A39005CB29B /* tkPanedWindow.c */; };
- F9FD31830CC1AD070073837D /* tkPlace.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAF208F27A39005CB29B /* tkPlace.c */; };
- F9FD31850CC1AD070073837D /* tkRectOval.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAF608F27A39005CB29B /* tkRectOval.c */; };
- F9FD31860CC1AD070073837D /* tkScale.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAF708F27A39005CB29B /* tkScale.c */; };
- F9FD31870CC1AD070073837D /* tkScrollbar.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAF908F27A39005CB29B /* tkScrollbar.c */; };
- F9FD31880CC1AD070073837D /* tkSelect.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAFB08F27A39005CB29B /* tkSelect.c */; };
- F9FD31890CC1AD070073837D /* tkSquare.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAFD08F27A39005CB29B /* tkSquare.c */; };
- F9FD318A0CC1AD070073837D /* tkStubInit.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BAFF08F27A39005CB29B /* tkStubInit.c */; };
- F9FD318B0CC1AD070073837D /* tkStubLib.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0008F27A39005CB29B /* tkStubLib.c */; };
- F9FD318C0CC1AD070073837D /* tkStyle.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0108F27A39005CB29B /* tkStyle.c */; };
- F9FD318D0CC1AD070073837D /* tkTest.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0208F27A39005CB29B /* tkTest.c */; };
- F9FD318E0CC1AD070073837D /* tkText.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0308F27A39005CB29B /* tkText.c */; };
- F9FD318F0CC1AD070073837D /* tkTextBTree.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0508F27A39005CB29B /* tkTextBTree.c */; };
- F9FD31900CC1AD070073837D /* tkTextDisp.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0608F27A39005CB29B /* tkTextDisp.c */; };
- F9FD31910CC1AD070073837D /* tkTextImage.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0808F27A39005CB29B /* tkTextImage.c */; };
- F9FD31920CC1AD070073837D /* tkTextIndex.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0908F27A39005CB29B /* tkTextIndex.c */; };
- F9FD31930CC1AD070073837D /* tkTextMark.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0A08F27A39005CB29B /* tkTextMark.c */; };
- F9FD31940CC1AD070073837D /* tkTextTag.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0B08F27A39005CB29B /* tkTextTag.c */; };
- F9FD31950CC1AD070073837D /* tkTextWind.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0C08F27A39005CB29B /* tkTextWind.c */; };
- F9FD31960CC1AD070073837D /* tkTrig.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0D08F27A39005CB29B /* tkTrig.c */; };
- F9FD31970CC1AD070073837D /* tkUndo.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB0E08F27A39005CB29B /* tkUndo.c */; };
- F9FD31980CC1AD070073837D /* tkUtil.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB1008F27A39005CB29B /* tkUtil.c */; };
- F9FD31990CC1AD070073837D /* tkVisual.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB1108F27A39005CB29B /* tkVisual.c */; };
- F9FD319A0CC1AD070073837D /* tkWindow.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BB1208F27A39005CB29B /* tkWindow.c */; };
- F9FD319B0CC1AD070073837D /* ttkBlink.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887E10AF786D5000797B5 /* ttkBlink.c */; };
- F9FD319C0CC1AD070073837D /* ttkButton.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887E20AF786D5000797B5 /* ttkButton.c */; };
- F9FD319D0CC1AD070073837D /* ttkCache.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887E30AF786D5000797B5 /* ttkCache.c */; };
- F9FD319E0CC1AD070073837D /* ttkClamTheme.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887E40AF786D5000797B5 /* ttkClamTheme.c */; };
- F9FD319F0CC1AD070073837D /* ttkClassicTheme.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887E50AF786D5000797B5 /* ttkClassicTheme.c */; };
- F9FD31A00CC1AD070073837D /* ttkDefaultTheme.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887E70AF786D5000797B5 /* ttkDefaultTheme.c */; };
- F9FD31A10CC1AD070073837D /* ttkElements.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887E80AF786D5000797B5 /* ttkElements.c */; };
- F9FD31A20CC1AD070073837D /* ttkEntry.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887E90AF786D5000797B5 /* ttkEntry.c */; };
- F9FD31A30CC1AD070073837D /* ttkFrame.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887EA0AF786D5000797B5 /* ttkFrame.c */; };
- F9FD31A40CC1AD070073837D /* ttkImage.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887EB0AF786D5000797B5 /* ttkImage.c */; };
- F9FD31A50CC1AD070073837D /* ttkInit.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887EC0AF786D5000797B5 /* ttkInit.c */; };
- F9FD31A60CC1AD070073837D /* ttkLabel.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887ED0AF786D5000797B5 /* ttkLabel.c */; };
- F9FD31A70CC1AD070073837D /* ttkLayout.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887EE0AF786D5000797B5 /* ttkLayout.c */; };
- F9FD31A80CC1AD070073837D /* ttkManager.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887EF0AF786D5000797B5 /* ttkManager.c */; };
- F9FD31A90CC1AD070073837D /* ttkNotebook.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887F10AF786D5000797B5 /* ttkNotebook.c */; };
- F9FD31AA0CC1AD070073837D /* ttkPanedwindow.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887F20AF786D5000797B5 /* ttkPanedwindow.c */; };
- F9FD31AB0CC1AD070073837D /* ttkProgress.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887F30AF786D5000797B5 /* ttkProgress.c */; };
- F9FD31AC0CC1AD070073837D /* ttkScale.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887F40AF786D5000797B5 /* ttkScale.c */; };
- F9FD31AD0CC1AD070073837D /* ttkScroll.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887F50AF786D5000797B5 /* ttkScroll.c */; };
- F9FD31AE0CC1AD070073837D /* ttkScrollbar.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887F60AF786D5000797B5 /* ttkScrollbar.c */; };
- F9FD31AF0CC1AD070073837D /* ttkSeparator.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887F70AF786D5000797B5 /* ttkSeparator.c */; };
- F9FD31B00CC1AD070073837D /* ttkSquare.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887F80AF786D5000797B5 /* ttkSquare.c */; };
- F9FD31B10CC1AD070073837D /* ttkState.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887F90AF786D5000797B5 /* ttkState.c */; };
- F9FD31B20CC1AD070073837D /* ttkStubInit.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887FA0AF786D5000797B5 /* ttkStubInit.c */; };
- F9FD31B30CC1AD070073837D /* ttkStubLib.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887FB0AF786D5000797B5 /* ttkStubLib.c */; };
- F9FD31B40CC1AD070073837D /* ttkTagSet.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887FC0AF786D5000797B5 /* ttkTagSet.c */; };
- F9FD31B50CC1AD070073837D /* ttkTheme.c in Sources */ = {isa = PBXBuildFile; fileRef = F96887FD0AF786D5000797B5 /* ttkTheme.c */; };
- F9FD31B60CC1AD070073837D /* ttkTrace.c in Sources */ = {isa = PBXBuildFile; fileRef = F96888000AF786D5000797B5 /* ttkTrace.c */; };
- F9FD31B70CC1AD070073837D /* ttkTrack.c in Sources */ = {isa = PBXBuildFile; fileRef = F96888010AF786D5000797B5 /* ttkTrack.c */; };
- F9FD31B80CC1AD070073837D /* ttkTreeview.c in Sources */ = {isa = PBXBuildFile; fileRef = F96888020AF786D5000797B5 /* ttkTreeview.c */; };
- F9FD31B90CC1AD070073837D /* ttkWidget.c in Sources */ = {isa = PBXBuildFile; fileRef = F96888030AF786D5000797B5 /* ttkWidget.c */; };
- F9FD31DA0CC1AD070073837D /* tkAppInit.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC7508F27A3D005CB29B /* tkAppInit.c */; settings = {COMPILER_FLAGS = "-DTK_TEST"; }; };
- F9FD31DB0CC1AD070073837D /* tkUnix3d.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC7908F27A3D005CB29B /* tkUnix3d.c */; };
- F9FD31DC0CC1AD070073837D /* tkUnixScale.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC8C08F27A3D005CB29B /* tkUnixScale.c */; };
- F9FD31E20CC1AD070073837D /* tclDTrace.d in Sources */ = {isa = PBXBuildFile; fileRef = F9F4415D0C8BAE6F00BCCD67 /* tclDTrace.d */; };
- F9FD31E40CC1AD070073837D /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F966C07408F2820D005CB29B /* CoreFoundation.framework */; };
- F9FD31F80CC1ADB70073837D /* tkUnixCursor.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC7D08F27A3D005CB29B /* tkUnixCursor.c */; };
- F9FD31FA0CC1ADB70073837D /* tkUnixKey.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC8708F27A3D005CB29B /* tkUnixKey.c */; };
- F9FD31FB0CC1ADB70073837D /* tkUnixXId.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC9108F27A3D005CB29B /* tkUnixXId.c */; };
- F9FD31FC0CC1ADB70073837D /* tkUnixInit.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC8508F27A3D005CB29B /* tkUnixInit.c */; };
- F9FD31FD0CC1ADB70073837D /* tkUnixEmbed.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC8108F27A3D005CB29B /* tkUnixEmbed.c */; };
- F9FD31FE0CC1ADB70073837D /* tkUnixSend.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC8F08F27A3D005CB29B /* tkUnixSend.c */; };
- F9FD31FF0CC1ADB70073837D /* tkUnixFocus.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC8308F27A3D005CB29B /* tkUnixFocus.c */; };
- F9FD32000CC1ADB70073837D /* tkUnixWm.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC9008F27A3D005CB29B /* tkUnixWm.c */; };
- F9FD32010CC1ADB70073837D /* tkUnixRFont.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC8B08F27A3D005CB29B /* tkUnixRFont.c */; };
- F9FD32020CC1ADB70073837D /* tkUnix.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC7808F27A3D005CB29B /* tkUnix.c */; };
- F9FD32030CC1ADB70073837D /* tkUnixMenu.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC8808F27A3D005CB29B /* tkUnixMenu.c */; };
- F9FD32040CC1ADB70073837D /* tkUnixConfig.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC7C08F27A3D005CB29B /* tkUnixConfig.c */; };
- F9FD32050CC1ADB70073837D /* tkUnixDraw.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC8008F27A3D005CB29B /* tkUnixDraw.c */; };
- F9FD32060CC1ADB70073837D /* tkUnixDialog.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC7F08F27A3D005CB29B /* tkUnixDialog.c */; };
- F9FD32070CC1ADB70073837D /* tkUnixSelect.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC8E08F27A3D005CB29B /* tkUnixSelect.c */; };
- F9FD32080CC1ADB70073837D /* tkUnixEvent.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC8208F27A3D005CB29B /* tkUnixEvent.c */; };
- F9FD32090CC1ADB70073837D /* tkUnixColor.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC7B08F27A3D005CB29B /* tkUnixColor.c */; };
- F9FD320A0CC1ADB70073837D /* tkUnixButton.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC7A08F27A3D005CB29B /* tkUnixButton.c */; };
- F9FD320B0CC1ADB70073837D /* tkUnixMenubu.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC8908F27A3D005CB29B /* tkUnixMenubu.c */; };
- F9FD320C0CC1ADB70073837D /* tkUnixScrlbr.c in Sources */ = {isa = PBXBuildFile; fileRef = F966BC8D08F27A3D005CB29B /* tkUnixScrlbr.c */; };
- F9FD32170CC1AF170073837D /* libX11.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = F9FD32140CC1AF170073837D /* libX11.dylib */; };
- F9FD32180CC1AF170073837D /* libXext.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = F9FD32150CC1AF170073837D /* libXext.dylib */; };
- F9FD32190CC1AF170073837D /* libXss.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = F9FD32160CC1AF170073837D /* libXss.dylib */; };
- F9FD349B0CC1BB0D0073837D /* libfreetype.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = F9FD34990CC1BB0D0073837D /* libfreetype.dylib */; };
- F9FD349C0CC1BB0D0073837D /* libXft.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = F9FD349A0CC1BB0D0073837D /* libXft.dylib */; };
- F9FD34C40CC1BBD70073837D /* libfontconfig.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = F9FD34C30CC1BBD70073837D /* libfontconfig.dylib */; };
- F9FFAF1D0DFDDB26007F8A6A /* tclIORTrans.c in Sources */ = {isa = PBXBuildFile; fileRef = F95D77E90DFD820D00A8BF6F /* tclIORTrans.c */; };
- F9FFAF1F0DFDDB2F007F8A6A /* tclOO.c in Sources */ = {isa = PBXBuildFile; fileRef = F93599B20DF1F75400E04F67 /* tclOO.c */; };
- F9FFAF200DFDDB32007F8A6A /* tclOOBasic.c in Sources */ = {isa = PBXBuildFile; fileRef = F93599B60DF1F76100E04F67 /* tclOOBasic.c */; };
- F9FFAF210DFDDB32007F8A6A /* tclOOCall.c in Sources */ = {isa = PBXBuildFile; fileRef = F93599B80DF1F76600E04F67 /* tclOOCall.c */; };
- F9FFAF220DFDDB34007F8A6A /* tclOODefineCmds.c in Sources */ = {isa = PBXBuildFile; fileRef = F93599BB0DF1F77000E04F67 /* tclOODefineCmds.c */; };
- F9FFAF230DFDDB35007F8A6A /* tclOOInfo.c in Sources */ = {isa = PBXBuildFile; fileRef = F93599BD0DF1F77400E04F67 /* tclOOInfo.c */; };
- F9FFAF240DFDDB36007F8A6A /* tclOOMethod.c in Sources */ = {isa = PBXBuildFile; fileRef = F93599C10DF1F78300E04F67 /* tclOOMethod.c */; };
- F9FFAF250DFDDB37007F8A6A /* tclOOStubInit.c in Sources */ = {isa = PBXBuildFile; fileRef = F93599C30DF1F78800E04F67 /* tclOOStubInit.c */; };
- F9FFAF260DFDDB38007F8A6A /* tclOOStubLib.c in Sources */ = {isa = PBXBuildFile; fileRef = F93599C50DF1F78D00E04F67 /* tclOOStubLib.c */; };
-/* End PBXBuildFile section */
-
-/* Begin PBXFileReference section */
- 8DD76FB20486AB0100D96B5E /* tktest */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = tktest; sourceTree = BUILT_PRODUCTS_DIR; };
- F9099B8A0CC67D30005A9580 /* textpeer.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = textpeer.tcl; sourceTree = "<group>"; };
- F9099B8B0CC67D3E005A9580 /* ttkbut.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = ttkbut.tcl; sourceTree = "<group>"; };
- F9152B080EAF8A5000CD5C7B /* tkBusy.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkBusy.c; sourceTree = "<group>"; };
- F91543270EF201A90032D1E8 /* fontchoose.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = fontchoose.tcl; sourceTree = "<group>"; };
- F915432A0EF201CF0032D1E8 /* zlib.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = zlib.test; sourceTree = "<group>"; };
- F915432D0EF201EE0032D1E8 /* zlib.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = zlib.n; sourceTree = "<group>"; };
- F9183E640EFC80CD0030B814 /* throw.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = throw.n; sourceTree = "<group>"; };
- F9183E650EFC80D70030B814 /* try.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = try.n; sourceTree = "<group>"; };
- F9183E6A0EFC81560030B814 /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
- F9183E8F0EFC817B0030B814 /* tdbc */ = {isa = PBXFileReference; lastKnownFileType = folder; path = tdbc; sourceTree = "<group>"; };
- F91DC23C0E44C51B002CB8D1 /* nre.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = nre.test; sourceTree = "<group>"; };
- F91E62260C1AE686006C9D96 /* Tclsh-Info.plist.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = "Tclsh-Info.plist.in"; sourceTree = "<group>"; };
- F92240290D7C620F005EC715 /* knightstour.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = knightstour.tcl; sourceTree = "<group>"; };
- F92D7F100DE777240033A13A /* tsdPerf.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tsdPerf.tcl; sourceTree = "<group>"; };
- F92EE8BE0E62F846001A6E80 /* tkImgPhInstance.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkImgPhInstance.c; sourceTree = "<group>"; };
- F93599B20DF1F75400E04F67 /* tclOO.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclOO.c; sourceTree = "<group>"; };
- F93599B40DF1F75900E04F67 /* tclOO.decls */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tclOO.decls; sourceTree = "<group>"; };
- F93599B50DF1F75D00E04F67 /* tclOO.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclOO.h; sourceTree = "<group>"; };
- F93599B60DF1F76100E04F67 /* tclOOBasic.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclOOBasic.c; sourceTree = "<group>"; };
- F93599B80DF1F76600E04F67 /* tclOOCall.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclOOCall.c; sourceTree = "<group>"; };
- F93599BA0DF1F76A00E04F67 /* tclOODecls.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclOODecls.h; sourceTree = "<group>"; };
- F93599BB0DF1F77000E04F67 /* tclOODefineCmds.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclOODefineCmds.c; sourceTree = "<group>"; };
- F93599BD0DF1F77400E04F67 /* tclOOInfo.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclOOInfo.c; sourceTree = "<group>"; };
- F93599BF0DF1F77900E04F67 /* tclOOInt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclOOInt.h; sourceTree = "<group>"; };
- F93599C00DF1F77D00E04F67 /* tclOOIntDecls.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclOOIntDecls.h; sourceTree = "<group>"; };
- F93599C10DF1F78300E04F67 /* tclOOMethod.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclOOMethod.c; sourceTree = "<group>"; };
- F93599C30DF1F78800E04F67 /* tclOOStubInit.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclOOStubInit.c; sourceTree = "<group>"; };
- F93599C50DF1F78D00E04F67 /* tclOOStubLib.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclOOStubLib.c; sourceTree = "<group>"; };
- F93599C80DF1F81900E04F67 /* oo.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = oo.test; sourceTree = "<group>"; };
- F93599CF0DF1F87F00E04F67 /* Class.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Class.3; sourceTree = "<group>"; };
- F93599D00DF1F89E00E04F67 /* class.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = class.n; sourceTree = "<group>"; };
- F93599D20DF1F8DF00E04F67 /* copy.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = copy.n; sourceTree = "<group>"; };
- F93599D30DF1F8F500E04F67 /* define.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = define.n; sourceTree = "<group>"; };
- F93599D40DF1F91900E04F67 /* Method.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Method.3; sourceTree = "<group>"; };
- F93599D50DF1F93700E04F67 /* my.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = my.n; sourceTree = "<group>"; };
- F93599D60DF1F95000E04F67 /* next.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = next.n; sourceTree = "<group>"; };
- F93599D70DF1F96800E04F67 /* object.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = object.n; sourceTree = "<group>"; };
- F93599D80DF1F98300E04F67 /* self.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = self.n; sourceTree = "<group>"; };
- F936FCD70CCD984500716967 /* ttkprogress.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = ttkprogress.tcl; sourceTree = "<group>"; };
- F936FCD80CCD984600716967 /* tree.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tree.tcl; sourceTree = "<group>"; };
- F936FCD90CCD984600716967 /* toolbar.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = toolbar.tcl; sourceTree = "<group>"; };
- F936FCDA0CCD984600716967 /* ttknote.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = ttknote.tcl; sourceTree = "<group>"; };
- F936FCDB0CCD984600716967 /* combo.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = combo.tcl; sourceTree = "<group>"; };
- F93E5EFD09CF8711008FA367 /* tkMacOSXFont.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkMacOSXFont.h; sourceTree = "<group>"; };
- F94523A10E6FC2AC00C1D987 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
- F946FB8B0FBE3AED00CD6495 /* itcl */ = {isa = PBXFileReference; lastKnownFileType = folder; path = itcl; sourceTree = "<group>"; };
- F95D77E90DFD820D00A8BF6F /* tclIORTrans.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclIORTrans.c; sourceTree = "<group>"; };
- F95D8D4B0F1715610006B020 /* Tk.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = Tk.icns; sourceTree = "<group>"; };
- F95D8D4C0F1715610006B020 /* Tk.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = Tk.tiff; sourceTree = "<group>"; };
- F95FAFF90B34F1130072E431 /* macOSXLoad.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = macOSXLoad.test; sourceTree = "<group>"; };
- F962F7C60DADC26200648DB8 /* vsapi.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = vsapi.test; sourceTree = "<group>"; };
- F96437C90EF0D4B2003F468E /* tclZlib.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclZlib.c; sourceTree = "<group>"; };
- F96437E60EF0D652003F468E /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = /usr/lib/libz.dylib; sourceTree = "<absolute>"; };
- F966BA0408F27A37005CB29B /* error.xbm */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; path = error.xbm; sourceTree = "<group>"; };
- F966BA0508F27A37005CB29B /* gray12.xbm */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; path = gray12.xbm; sourceTree = "<group>"; };
- F966BA0608F27A37005CB29B /* gray25.xbm */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; path = gray25.xbm; sourceTree = "<group>"; };
- F966BA0708F27A37005CB29B /* gray50.xbm */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; path = gray50.xbm; sourceTree = "<group>"; };
- F966BA0808F27A37005CB29B /* gray75.xbm */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; path = gray75.xbm; sourceTree = "<group>"; };
- F966BA0908F27A37005CB29B /* hourglass.xbm */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; path = hourglass.xbm; sourceTree = "<group>"; };
- F966BA0A08F27A37005CB29B /* info.xbm */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; path = info.xbm; sourceTree = "<group>"; };
- F966BA0B08F27A37005CB29B /* questhead.xbm */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; path = questhead.xbm; sourceTree = "<group>"; };
- F966BA0C08F27A37005CB29B /* question.xbm */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; path = question.xbm; sourceTree = "<group>"; };
- F966BA0D08F27A37005CB29B /* warning.xbm */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; path = warning.xbm; sourceTree = "<group>"; };
- F966BA0E08F27A37005CB29B /* ChangeLog */ = {isa = PBXFileReference; explicitFileType = text; fileEncoding = 4; path = ChangeLog; sourceTree = "<group>"; };
- F966BA0F08F27A37005CB29B /* changes */ = {isa = PBXFileReference; explicitFileType = text; fileEncoding = 4; path = changes; sourceTree = "<group>"; };
- F966BA1108F27A37005CB29B /* 3DBorder.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = 3DBorder.3; sourceTree = "<group>"; };
- F966BA1208F27A37005CB29B /* AddOption.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = AddOption.3; sourceTree = "<group>"; };
- F966BA1308F27A37005CB29B /* bell.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = bell.n; sourceTree = "<group>"; };
- F966BA1408F27A37005CB29B /* bind.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = bind.n; sourceTree = "<group>"; };
- F966BA1508F27A37005CB29B /* BindTable.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = BindTable.3; sourceTree = "<group>"; };
- F966BA1608F27A37005CB29B /* bindtags.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = bindtags.n; sourceTree = "<group>"; };
- F966BA1708F27A37005CB29B /* bitmap.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = bitmap.n; sourceTree = "<group>"; };
- F966BA1808F27A37005CB29B /* button.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = button.n; sourceTree = "<group>"; };
- F966BA1908F27A37005CB29B /* canvas.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = canvas.n; sourceTree = "<group>"; };
- F966BA1A08F27A37005CB29B /* CanvPsY.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CanvPsY.3; sourceTree = "<group>"; };
- F966BA1B08F27A37005CB29B /* CanvTkwin.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CanvTkwin.3; sourceTree = "<group>"; };
- F966BA1C08F27A37005CB29B /* CanvTxtInfo.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CanvTxtInfo.3; sourceTree = "<group>"; };
- F966BA1D08F27A37005CB29B /* checkbutton.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = checkbutton.n; sourceTree = "<group>"; };
- F966BA1E08F27A37005CB29B /* chooseColor.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = chooseColor.n; sourceTree = "<group>"; };
- F966BA1F08F27A37005CB29B /* chooseDirectory.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = chooseDirectory.n; sourceTree = "<group>"; };
- F966BA2008F27A37005CB29B /* Clipboard.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Clipboard.3; sourceTree = "<group>"; };
- F966BA2108F27A37005CB29B /* clipboard.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = clipboard.n; sourceTree = "<group>"; };
- F966BA2208F27A37005CB29B /* ClrSelect.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ClrSelect.3; sourceTree = "<group>"; };
- F966BA2308F27A37005CB29B /* colors.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = colors.n; sourceTree = "<group>"; };
- F966BA2408F27A37005CB29B /* ConfigWidg.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ConfigWidg.3; sourceTree = "<group>"; };
- F966BA2508F27A37005CB29B /* ConfigWind.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ConfigWind.3; sourceTree = "<group>"; };
- F966BA2608F27A37005CB29B /* console.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = console.n; sourceTree = "<group>"; };
- F966BA2708F27A37005CB29B /* CoordToWin.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CoordToWin.3; sourceTree = "<group>"; };
- F966BA2808F27A37005CB29B /* CrtCmHdlr.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtCmHdlr.3; sourceTree = "<group>"; };
- F966BA2908F27A37005CB29B /* CrtErrHdlr.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtErrHdlr.3; sourceTree = "<group>"; };
- F966BA2A08F27A37005CB29B /* CrtGenHdlr.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtGenHdlr.3; sourceTree = "<group>"; };
- F966BA2B08F27A37005CB29B /* CrtImgType.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtImgType.3; sourceTree = "<group>"; };
- F966BA2C08F27A37005CB29B /* CrtItemType.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtItemType.3; sourceTree = "<group>"; };
- F966BA2D08F27A37005CB29B /* CrtPhImgFmt.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtPhImgFmt.3; sourceTree = "<group>"; };
- F966BA2E08F27A37005CB29B /* CrtSelHdlr.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtSelHdlr.3; sourceTree = "<group>"; };
- F966BA2F08F27A37005CB29B /* CrtWindow.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtWindow.3; sourceTree = "<group>"; };
- F966BA3008F27A37005CB29B /* cursors.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = cursors.n; sourceTree = "<group>"; };
- F966BA3108F27A37005CB29B /* DeleteImg.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = DeleteImg.3; sourceTree = "<group>"; };
- F966BA3208F27A37005CB29B /* destroy.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = destroy.n; sourceTree = "<group>"; };
- F966BA3308F27A37005CB29B /* dialog.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = dialog.n; sourceTree = "<group>"; };
- F966BA3408F27A37005CB29B /* DrawFocHlt.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = DrawFocHlt.3; sourceTree = "<group>"; };
- F966BA3508F27A37005CB29B /* entry.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = entry.n; sourceTree = "<group>"; };
- F966BA3608F27A37005CB29B /* event.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = event.n; sourceTree = "<group>"; };
- F966BA3708F27A37005CB29B /* EventHndlr.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = EventHndlr.3; sourceTree = "<group>"; };
- F966BA3808F27A37005CB29B /* FindPhoto.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = FindPhoto.3; sourceTree = "<group>"; };
- F966BA3908F27A37005CB29B /* focus.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = focus.n; sourceTree = "<group>"; };
- F966BA3A08F27A37005CB29B /* focusNext.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = focusNext.n; sourceTree = "<group>"; };
- F966BA3B08F27A37005CB29B /* font.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = font.n; sourceTree = "<group>"; };
- F966BA3C08F27A37005CB29B /* FontId.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = FontId.3; sourceTree = "<group>"; };
- F966BA3D08F27A37005CB29B /* frame.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = frame.n; sourceTree = "<group>"; };
- F966BA3E08F27A37005CB29B /* FreeXId.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = FreeXId.3; sourceTree = "<group>"; };
- F966BA3F08F27A37005CB29B /* GeomReq.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GeomReq.3; sourceTree = "<group>"; };
- F966BA4008F27A37005CB29B /* GetAnchor.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetAnchor.3; sourceTree = "<group>"; };
- F966BA4108F27A37005CB29B /* GetBitmap.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetBitmap.3; sourceTree = "<group>"; };
- F966BA4208F27A37005CB29B /* GetCapStyl.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetCapStyl.3; sourceTree = "<group>"; };
- F966BA4308F27A37005CB29B /* GetClrmap.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetClrmap.3; sourceTree = "<group>"; };
- F966BA4408F27A37005CB29B /* GetColor.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetColor.3; sourceTree = "<group>"; };
- F966BA4508F27A37005CB29B /* GetCursor.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetCursor.3; sourceTree = "<group>"; };
- F966BA4608F27A37005CB29B /* GetDash.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetDash.3; sourceTree = "<group>"; };
- F966BA4708F27A37005CB29B /* GetFont.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetFont.3; sourceTree = "<group>"; };
- F966BA4808F27A37005CB29B /* GetGC.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetGC.3; sourceTree = "<group>"; };
- F966BA4908F27A37005CB29B /* GetHINSTANCE.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetHINSTANCE.3; sourceTree = "<group>"; };
- F966BA4A08F27A37005CB29B /* GetHWND.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetHWND.3; sourceTree = "<group>"; };
- F966BA4B08F27A37005CB29B /* GetImage.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetImage.3; sourceTree = "<group>"; };
- F966BA4C08F27A37005CB29B /* GetJoinStl.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetJoinStl.3; sourceTree = "<group>"; };
- F966BA4D08F27A37005CB29B /* GetJustify.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetJustify.3; sourceTree = "<group>"; };
- F966BA4E08F27A37005CB29B /* getOpenFile.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = getOpenFile.n; sourceTree = "<group>"; };
- F966BA4F08F27A37005CB29B /* GetOption.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetOption.3; sourceTree = "<group>"; };
- F966BA5008F27A38005CB29B /* GetPixels.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetPixels.3; sourceTree = "<group>"; };
- F966BA5108F27A38005CB29B /* GetPixmap.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetPixmap.3; sourceTree = "<group>"; };
- F966BA5208F27A38005CB29B /* GetRelief.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetRelief.3; sourceTree = "<group>"; };
- F966BA5308F27A38005CB29B /* GetRootCrd.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetRootCrd.3; sourceTree = "<group>"; };
- F966BA5408F27A38005CB29B /* GetScroll.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetScroll.3; sourceTree = "<group>"; };
- F966BA5508F27A38005CB29B /* GetSelect.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetSelect.3; sourceTree = "<group>"; };
- F966BA5608F27A38005CB29B /* GetUid.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetUid.3; sourceTree = "<group>"; };
- F966BA5708F27A38005CB29B /* GetVisual.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetVisual.3; sourceTree = "<group>"; };
- F966BA5808F27A38005CB29B /* GetVRoot.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetVRoot.3; sourceTree = "<group>"; };
- F966BA5908F27A38005CB29B /* Grab.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Grab.3; sourceTree = "<group>"; };
- F966BA5A08F27A38005CB29B /* grab.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = grab.n; sourceTree = "<group>"; };
- F966BA5B08F27A38005CB29B /* grid.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = grid.n; sourceTree = "<group>"; };
- F966BA5C08F27A38005CB29B /* HandleEvent.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = HandleEvent.3; sourceTree = "<group>"; };
- F966BA5D08F27A38005CB29B /* HWNDToWindow.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = HWNDToWindow.3; sourceTree = "<group>"; };
- F966BA5E08F27A38005CB29B /* IdToWindow.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = IdToWindow.3; sourceTree = "<group>"; };
- F966BA5F08F27A38005CB29B /* image.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = image.n; sourceTree = "<group>"; };
- F966BA6008F27A38005CB29B /* ImgChanged.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ImgChanged.3; sourceTree = "<group>"; };
- F966BA6108F27A38005CB29B /* Inactive.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Inactive.3; sourceTree = "<group>"; };
- F966BA6208F27A38005CB29B /* InternAtom.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = InternAtom.3; sourceTree = "<group>"; };
- F966BA6308F27A38005CB29B /* keysyms.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = keysyms.n; sourceTree = "<group>"; };
- F966BA6408F27A38005CB29B /* label.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = label.n; sourceTree = "<group>"; };
- F966BA6508F27A38005CB29B /* labelframe.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = labelframe.n; sourceTree = "<group>"; };
- F966BA6608F27A38005CB29B /* listbox.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = listbox.n; sourceTree = "<group>"; };
- F966BA6708F27A38005CB29B /* loadTk.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = loadTk.n; sourceTree = "<group>"; };
- F966BA6808F27A38005CB29B /* lower.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = lower.n; sourceTree = "<group>"; };
- F966BA6908F27A38005CB29B /* MainLoop.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = MainLoop.3; sourceTree = "<group>"; };
- F966BA6A08F27A38005CB29B /* MaintGeom.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = MaintGeom.3; sourceTree = "<group>"; };
- F966BA6B08F27A38005CB29B /* MainWin.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = MainWin.3; sourceTree = "<group>"; };
- F966BA6D08F27A38005CB29B /* ManageGeom.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ManageGeom.3; sourceTree = "<group>"; };
- F966BA6E08F27A38005CB29B /* MapWindow.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = MapWindow.3; sourceTree = "<group>"; };
- F966BA6F08F27A38005CB29B /* MeasureChar.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = MeasureChar.3; sourceTree = "<group>"; };
- F966BA7008F27A38005CB29B /* menu.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = menu.n; sourceTree = "<group>"; };
- F966BA7108F27A38005CB29B /* menubar.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = menubar.n; sourceTree = "<group>"; };
- F966BA7208F27A38005CB29B /* menubutton.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = menubutton.n; sourceTree = "<group>"; };
- F966BA7308F27A38005CB29B /* message.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = message.n; sourceTree = "<group>"; };
- F966BA7408F27A38005CB29B /* messageBox.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = messageBox.n; sourceTree = "<group>"; };
- F966BA7508F27A38005CB29B /* MoveToplev.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = MoveToplev.3; sourceTree = "<group>"; };
- F966BA7608F27A38005CB29B /* Name.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Name.3; sourceTree = "<group>"; };
- F966BA7708F27A38005CB29B /* NameOfImg.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = NameOfImg.3; sourceTree = "<group>"; };
- F966BA7808F27A38005CB29B /* option.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = option.n; sourceTree = "<group>"; };
- F966BA7908F27A38005CB29B /* optionMenu.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = optionMenu.n; sourceTree = "<group>"; };
- F966BA7A08F27A38005CB29B /* options.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = options.n; sourceTree = "<group>"; };
- F966BA7B08F27A38005CB29B /* OwnSelect.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = OwnSelect.3; sourceTree = "<group>"; };
- F966BA7C08F27A38005CB29B /* pack-old.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = "pack-old.n"; sourceTree = "<group>"; };
- F966BA7D08F27A38005CB29B /* pack.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = pack.n; sourceTree = "<group>"; };
- F966BA7E08F27A38005CB29B /* palette.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = palette.n; sourceTree = "<group>"; };
- F966BA7F08F27A38005CB29B /* panedwindow.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = panedwindow.n; sourceTree = "<group>"; };
- F966BA8008F27A38005CB29B /* ParseArgv.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ParseArgv.3; sourceTree = "<group>"; };
- F966BA8108F27A38005CB29B /* photo.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = photo.n; sourceTree = "<group>"; };
- F966BA8208F27A38005CB29B /* place.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = place.n; sourceTree = "<group>"; };
- F966BA8308F27A38005CB29B /* popup.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = popup.n; sourceTree = "<group>"; };
- F966BA8408F27A38005CB29B /* QWinEvent.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = QWinEvent.3; sourceTree = "<group>"; };
- F966BA8508F27A38005CB29B /* radiobutton.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = radiobutton.n; sourceTree = "<group>"; };
- F966BA8608F27A38005CB29B /* raise.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = raise.n; sourceTree = "<group>"; };
- F966BA8708F27A38005CB29B /* Restack.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Restack.3; sourceTree = "<group>"; };
- F966BA8808F27A38005CB29B /* RestrictEv.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = RestrictEv.3; sourceTree = "<group>"; };
- F966BA8908F27A38005CB29B /* scale.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = scale.n; sourceTree = "<group>"; };
- F966BA8A08F27A38005CB29B /* scrollbar.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = scrollbar.n; sourceTree = "<group>"; };
- F966BA8B08F27A38005CB29B /* selection.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = selection.n; sourceTree = "<group>"; };
- F966BA8C08F27A38005CB29B /* send.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = send.n; sourceTree = "<group>"; };
- F966BA8D08F27A38005CB29B /* SetAppName.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = SetAppName.3; sourceTree = "<group>"; };
- F966BA8E08F27A38005CB29B /* SetCaret.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = SetCaret.3; sourceTree = "<group>"; };
- F966BA8F08F27A38005CB29B /* SetClass.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = SetClass.3; sourceTree = "<group>"; };
- F966BA9008F27A38005CB29B /* SetClassProcs.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = SetClassProcs.3; sourceTree = "<group>"; };
- F966BA9108F27A38005CB29B /* SetGrid.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = SetGrid.3; sourceTree = "<group>"; };
- F966BA9208F27A38005CB29B /* SetOptions.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = SetOptions.3; sourceTree = "<group>"; };
- F966BA9308F27A38005CB29B /* SetVisual.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = SetVisual.3; sourceTree = "<group>"; };
- F966BA9408F27A38005CB29B /* spinbox.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = spinbox.n; sourceTree = "<group>"; };
- F966BA9508F27A38005CB29B /* StrictMotif.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = StrictMotif.3; sourceTree = "<group>"; };
- F966BA9608F27A38005CB29B /* text.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = text.n; sourceTree = "<group>"; };
- F966BA9708F27A38005CB29B /* TextLayout.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = TextLayout.3; sourceTree = "<group>"; };
- F966BA9808F27A38005CB29B /* tk.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = tk.n; sourceTree = "<group>"; };
- F966BA9A08F27A38005CB29B /* Tk_Init.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Tk_Init.3; sourceTree = "<group>"; };
- F966BA9B08F27A38005CB29B /* Tk_Main.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Tk_Main.3; sourceTree = "<group>"; };
- F966BA9C08F27A38005CB29B /* tkerror.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = tkerror.n; sourceTree = "<group>"; };
- F966BA9D08F27A38005CB29B /* TkInitStubs.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = TkInitStubs.3; sourceTree = "<group>"; };
- F966BA9E08F27A38005CB29B /* tkvars.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = tkvars.n; sourceTree = "<group>"; };
- F966BA9F08F27A38005CB29B /* tkwait.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = tkwait.n; sourceTree = "<group>"; };
- F966BAA008F27A38005CB29B /* toplevel.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = toplevel.n; sourceTree = "<group>"; };
- F966BAA108F27A38005CB29B /* WindowId.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = WindowId.3; sourceTree = "<group>"; };
- F966BAA208F27A38005CB29B /* winfo.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = winfo.n; sourceTree = "<group>"; };
- F966BAA308F27A38005CB29B /* wish.1 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = wish.1; sourceTree = "<group>"; };
- F966BAA408F27A38005CB29B /* wm.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = wm.n; sourceTree = "<group>"; };
- F966BAA608F27A38005CB29B /* default.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = default.h; sourceTree = "<group>"; };
- F966BAA708F27A38005CB29B /* ks_names.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ks_names.h; sourceTree = "<group>"; };
- F966BAA908F27A39005CB29B /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
- F966BAAA08F27A39005CB29B /* tk.decls */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tk.decls; sourceTree = "<group>"; };
- F966BAAB08F27A39005CB29B /* tk.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tk.h; sourceTree = "<group>"; };
- F966BAAC08F27A39005CB29B /* tk3d.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tk3d.c; sourceTree = "<group>"; };
- F966BAAD08F27A39005CB29B /* tk3d.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tk3d.h; sourceTree = "<group>"; };
- F966BAAE08F27A39005CB29B /* tkArgv.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkArgv.c; sourceTree = "<group>"; };
- F966BAAF08F27A39005CB29B /* tkAtom.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkAtom.c; sourceTree = "<group>"; };
- F966BAB008F27A39005CB29B /* tkBind.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkBind.c; sourceTree = "<group>"; };
- F966BAB108F27A39005CB29B /* tkBitmap.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkBitmap.c; sourceTree = "<group>"; };
- F966BAB208F27A39005CB29B /* tkButton.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkButton.c; sourceTree = "<group>"; };
- F966BAB308F27A39005CB29B /* tkButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkButton.h; sourceTree = "<group>"; };
- F966BAB408F27A39005CB29B /* tkCanvArc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkCanvArc.c; sourceTree = "<group>"; };
- F966BAB508F27A39005CB29B /* tkCanvas.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkCanvas.c; sourceTree = "<group>"; };
- F966BAB608F27A39005CB29B /* tkCanvas.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkCanvas.h; sourceTree = "<group>"; };
- F966BAB708F27A39005CB29B /* tkCanvBmap.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkCanvBmap.c; sourceTree = "<group>"; };
- F966BAB808F27A39005CB29B /* tkCanvImg.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkCanvImg.c; sourceTree = "<group>"; };
- F966BAB908F27A39005CB29B /* tkCanvLine.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkCanvLine.c; sourceTree = "<group>"; };
- F966BABA08F27A39005CB29B /* tkCanvPoly.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkCanvPoly.c; sourceTree = "<group>"; };
- F966BABB08F27A39005CB29B /* tkCanvPs.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkCanvPs.c; sourceTree = "<group>"; };
- F966BABD08F27A39005CB29B /* tkCanvText.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkCanvText.c; sourceTree = "<group>"; };
- F966BABE08F27A39005CB29B /* tkCanvUtil.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkCanvUtil.c; sourceTree = "<group>"; };
- F966BABF08F27A39005CB29B /* tkCanvWind.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkCanvWind.c; sourceTree = "<group>"; };
- F966BAC008F27A39005CB29B /* tkClipboard.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkClipboard.c; sourceTree = "<group>"; };
- F966BAC108F27A39005CB29B /* tkCmds.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkCmds.c; sourceTree = "<group>"; };
- F966BAC208F27A39005CB29B /* tkColor.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkColor.c; sourceTree = "<group>"; };
- F966BAC308F27A39005CB29B /* tkColor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkColor.h; sourceTree = "<group>"; };
- F966BAC408F27A39005CB29B /* tkConfig.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkConfig.c; sourceTree = "<group>"; };
- F966BAC508F27A39005CB29B /* tkConsole.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkConsole.c; sourceTree = "<group>"; };
- F966BAC608F27A39005CB29B /* tkCursor.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkCursor.c; sourceTree = "<group>"; };
- F966BAC708F27A39005CB29B /* tkDecls.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkDecls.h; sourceTree = "<group>"; };
- F966BAC808F27A39005CB29B /* tkEntry.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkEntry.c; sourceTree = "<group>"; };
- F966BAC908F27A39005CB29B /* tkEntry.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkEntry.h; sourceTree = "<group>"; };
- F966BACA08F27A39005CB29B /* tkError.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkError.c; sourceTree = "<group>"; };
- F966BACB08F27A39005CB29B /* tkEvent.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkEvent.c; sourceTree = "<group>"; };
- F966BACC08F27A39005CB29B /* tkFileFilter.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkFileFilter.c; sourceTree = "<group>"; };
- F966BACD08F27A39005CB29B /* tkFileFilter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkFileFilter.h; sourceTree = "<group>"; };
- F966BACE08F27A39005CB29B /* tkFocus.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkFocus.c; sourceTree = "<group>"; };
- F966BACF08F27A39005CB29B /* tkFont.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkFont.c; sourceTree = "<group>"; };
- F966BAD008F27A39005CB29B /* tkFont.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkFont.h; sourceTree = "<group>"; };
- F966BAD108F27A39005CB29B /* tkFrame.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkFrame.c; sourceTree = "<group>"; };
- F966BAD208F27A39005CB29B /* tkGC.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkGC.c; sourceTree = "<group>"; };
- F966BAD308F27A39005CB29B /* tkGeometry.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkGeometry.c; sourceTree = "<group>"; };
- F966BAD408F27A39005CB29B /* tkGet.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkGet.c; sourceTree = "<group>"; };
- F966BAD508F27A39005CB29B /* tkGrab.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkGrab.c; sourceTree = "<group>"; };
- F966BAD608F27A39005CB29B /* tkGrid.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkGrid.c; sourceTree = "<group>"; };
- F966BAD708F27A39005CB29B /* tkImage.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkImage.c; sourceTree = "<group>"; };
- F966BAD808F27A39005CB29B /* tkImgBmap.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkImgBmap.c; sourceTree = "<group>"; };
- F966BAD908F27A39005CB29B /* tkImgGIF.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkImgGIF.c; sourceTree = "<group>"; };
- F966BADA08F27A39005CB29B /* tkImgPhoto.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkImgPhoto.c; sourceTree = "<group>"; };
- F966BADB08F27A39005CB29B /* tkImgPPM.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkImgPPM.c; sourceTree = "<group>"; };
- F966BADC08F27A39005CB29B /* tkImgUtil.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkImgUtil.c; sourceTree = "<group>"; };
- F966BADE08F27A39005CB29B /* tkInt.decls */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tkInt.decls; sourceTree = "<group>"; };
- F966BADF08F27A39005CB29B /* tkInt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkInt.h; sourceTree = "<group>"; };
- F966BAE108F27A39005CB29B /* tkIntDecls.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkIntDecls.h; sourceTree = "<group>"; };
- F966BAE208F27A39005CB29B /* tkIntPlatDecls.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkIntPlatDecls.h; sourceTree = "<group>"; };
- F966BAE308F27A39005CB29B /* tkIntXlibDecls.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkIntXlibDecls.h; sourceTree = "<group>"; };
- F966BAE408F27A39005CB29B /* tkListbox.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkListbox.c; sourceTree = "<group>"; };
- F966BAE508F27A39005CB29B /* tkMacWinMenu.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMacWinMenu.c; sourceTree = "<group>"; };
- F966BAE608F27A39005CB29B /* tkMain.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMain.c; sourceTree = "<group>"; };
- F966BAE708F27A39005CB29B /* tkMenu.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMenu.c; sourceTree = "<group>"; };
- F966BAE808F27A39005CB29B /* tkMenu.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkMenu.h; sourceTree = "<group>"; };
- F966BAE908F27A39005CB29B /* tkMenubutton.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMenubutton.c; sourceTree = "<group>"; };
- F966BAEA08F27A39005CB29B /* tkMenubutton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkMenubutton.h; sourceTree = "<group>"; };
- F966BAEB08F27A39005CB29B /* tkMenuDraw.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMenuDraw.c; sourceTree = "<group>"; };
- F966BAEC08F27A39005CB29B /* tkMessage.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkMessage.c; sourceTree = "<group>"; };
- F966BAED08F27A39005CB29B /* tkObj.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkObj.c; sourceTree = "<group>"; };
- F966BAEE08F27A39005CB29B /* tkOldConfig.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkOldConfig.c; sourceTree = "<group>"; };
- F966BAEF08F27A39005CB29B /* tkOption.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkOption.c; sourceTree = "<group>"; };
- F966BAF008F27A39005CB29B /* tkPack.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkPack.c; sourceTree = "<group>"; };
- F966BAF108F27A39005CB29B /* tkPanedWindow.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkPanedWindow.c; sourceTree = "<group>"; };
- F966BAF208F27A39005CB29B /* tkPlace.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkPlace.c; sourceTree = "<group>"; };
- F966BAF308F27A39005CB29B /* tkPlatDecls.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkPlatDecls.h; sourceTree = "<group>"; };
- F966BAF408F27A39005CB29B /* tkPointer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkPointer.c; sourceTree = "<group>"; };
- F966BAF508F27A39005CB29B /* tkPort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkPort.h; sourceTree = "<group>"; };
- F966BAF608F27A39005CB29B /* tkRectOval.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkRectOval.c; sourceTree = "<group>"; };
- F966BAF708F27A39005CB29B /* tkScale.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkScale.c; sourceTree = "<group>"; };
- F966BAF808F27A39005CB29B /* tkScale.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkScale.h; sourceTree = "<group>"; };
- F966BAF908F27A39005CB29B /* tkScrollbar.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkScrollbar.c; sourceTree = "<group>"; };
- F966BAFA08F27A39005CB29B /* tkScrollbar.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkScrollbar.h; sourceTree = "<group>"; };
- F966BAFB08F27A39005CB29B /* tkSelect.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkSelect.c; sourceTree = "<group>"; };
- F966BAFC08F27A39005CB29B /* tkSelect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkSelect.h; sourceTree = "<group>"; };
- F966BAFD08F27A39005CB29B /* tkSquare.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkSquare.c; sourceTree = "<group>"; };
- F966BAFE08F27A39005CB29B /* tkOldTest.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkOldTest.c; sourceTree = "<group>"; };
- F966BAFF08F27A39005CB29B /* tkStubInit.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkStubInit.c; sourceTree = "<group>"; };
- F966BB0008F27A39005CB29B /* tkStubLib.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkStubLib.c; sourceTree = "<group>"; };
- F966BB0108F27A39005CB29B /* tkStyle.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkStyle.c; sourceTree = "<group>"; };
- F966BB0208F27A39005CB29B /* tkTest.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkTest.c; sourceTree = "<group>"; };
- F966BB0308F27A39005CB29B /* tkText.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkText.c; sourceTree = "<group>"; };
- F966BB0408F27A39005CB29B /* tkText.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkText.h; sourceTree = "<group>"; };
- F966BB0508F27A39005CB29B /* tkTextBTree.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkTextBTree.c; sourceTree = "<group>"; };
- F966BB0608F27A39005CB29B /* tkTextDisp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkTextDisp.c; sourceTree = "<group>"; };
- F966BB0808F27A39005CB29B /* tkTextImage.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkTextImage.c; sourceTree = "<group>"; };
- F966BB0908F27A39005CB29B /* tkTextIndex.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkTextIndex.c; sourceTree = "<group>"; };
- F966BB0A08F27A39005CB29B /* tkTextMark.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkTextMark.c; sourceTree = "<group>"; };
- F966BB0B08F27A39005CB29B /* tkTextTag.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkTextTag.c; sourceTree = "<group>"; };
- F966BB0C08F27A39005CB29B /* tkTextWind.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkTextWind.c; sourceTree = "<group>"; };
- F966BB0D08F27A39005CB29B /* tkTrig.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkTrig.c; sourceTree = "<group>"; };
- F966BB0E08F27A39005CB29B /* tkUndo.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUndo.c; sourceTree = "<group>"; };
- F966BB0F08F27A39005CB29B /* tkUndo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkUndo.h; sourceTree = "<group>"; };
- F966BB1008F27A39005CB29B /* tkUtil.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUtil.c; sourceTree = "<group>"; };
- F966BB1108F27A39005CB29B /* tkVisual.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkVisual.c; sourceTree = "<group>"; };
- F966BB1208F27A39005CB29B /* tkWindow.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWindow.c; sourceTree = "<group>"; };
- F966BB1408F27A39005CB29B /* bgerror.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = bgerror.tcl; sourceTree = "<group>"; };
- F966BB1508F27A39005CB29B /* button.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = button.tcl; sourceTree = "<group>"; };
- F966BB1608F27A39005CB29B /* choosedir.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = choosedir.tcl; sourceTree = "<group>"; };
- F966BB1708F27A39005CB29B /* clrpick.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = clrpick.tcl; sourceTree = "<group>"; };
- F966BB1808F27A39005CB29B /* comdlg.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = comdlg.tcl; sourceTree = "<group>"; };
- F966BB1908F27A39005CB29B /* console.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = console.tcl; sourceTree = "<group>"; };
- F966BB1B08F27A39005CB29B /* anilabel.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = anilabel.tcl; sourceTree = "<group>"; };
- F966BB1C08F27A39005CB29B /* aniwave.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = aniwave.tcl; sourceTree = "<group>"; };
- F966BB1D08F27A39005CB29B /* arrow.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = arrow.tcl; sourceTree = "<group>"; };
- F966BB1E08F27A39005CB29B /* bind.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = bind.tcl; sourceTree = "<group>"; };
- F966BB1F08F27A39005CB29B /* bitmap.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = bitmap.tcl; sourceTree = "<group>"; };
- F966BB2008F27A39005CB29B /* browse */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = browse; sourceTree = "<group>"; };
- F966BB2108F27A39005CB29B /* button.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = button.tcl; sourceTree = "<group>"; };
- F966BB2208F27A39005CB29B /* check.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = check.tcl; sourceTree = "<group>"; };
- F966BB2308F27A39005CB29B /* clrpick.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = clrpick.tcl; sourceTree = "<group>"; };
- F966BB2408F27A39005CB29B /* colors.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = colors.tcl; sourceTree = "<group>"; };
- F966BB2508F27A39005CB29B /* cscroll.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = cscroll.tcl; sourceTree = "<group>"; };
- F966BB2608F27A39005CB29B /* ctext.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = ctext.tcl; sourceTree = "<group>"; };
- F966BB2708F27A39005CB29B /* dialog1.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = dialog1.tcl; sourceTree = "<group>"; };
- F966BB2808F27A39005CB29B /* dialog2.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = dialog2.tcl; sourceTree = "<group>"; };
- F966BB2A08F27A39005CB29B /* entry1.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = entry1.tcl; sourceTree = "<group>"; };
- F966BB2B08F27A39005CB29B /* entry2.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = entry2.tcl; sourceTree = "<group>"; };
- F966BB2C08F27A39005CB29B /* entry3.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = entry3.tcl; sourceTree = "<group>"; };
- F966BB2D08F27A39005CB29B /* filebox.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = filebox.tcl; sourceTree = "<group>"; };
- F966BB2E08F27A39005CB29B /* floor.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = floor.tcl; sourceTree = "<group>"; };
- F966BB2F08F27A39005CB29B /* form.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = form.tcl; sourceTree = "<group>"; };
- F966BB3008F27A39005CB29B /* goldberg.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = goldberg.tcl; sourceTree = "<group>"; };
- F966BB3108F27A39005CB29B /* hello */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = hello; sourceTree = "<group>"; };
- F966BB3208F27A39005CB29B /* hscale.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = hscale.tcl; sourceTree = "<group>"; };
- F966BB3308F27A39005CB29B /* icon.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = icon.tcl; sourceTree = "<group>"; };
- F966BB3408F27A39005CB29B /* image1.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = image1.tcl; sourceTree = "<group>"; };
- F966BB3508F27A39005CB29B /* image2.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = image2.tcl; sourceTree = "<group>"; };
- F966BB4208F27A3A005CB29B /* items.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = items.tcl; sourceTree = "<group>"; };
- F966BB4308F27A3A005CB29B /* ixset */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = ixset; sourceTree = "<group>"; };
- F966BB4408F27A3A005CB29B /* label.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = label.tcl; sourceTree = "<group>"; };
- F966BB4508F27A3A005CB29B /* labelframe.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = labelframe.tcl; sourceTree = "<group>"; };
- F966BB4608F27A3A005CB29B /* menu.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = menu.tcl; sourceTree = "<group>"; };
- F966BB4708F27A3A005CB29B /* menubu.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = menubu.tcl; sourceTree = "<group>"; };
- F966BB4808F27A3A005CB29B /* msgbox.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = msgbox.tcl; sourceTree = "<group>"; };
- F966BB4A08F27A3A005CB29B /* paned1.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = paned1.tcl; sourceTree = "<group>"; };
- F966BB4B08F27A3A005CB29B /* paned2.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = paned2.tcl; sourceTree = "<group>"; };
- F966BB4C08F27A3A005CB29B /* pendulum.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = pendulum.tcl; sourceTree = "<group>"; };
- F966BB4D08F27A3A005CB29B /* plot.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = plot.tcl; sourceTree = "<group>"; };
- F966BB4E08F27A3A005CB29B /* puzzle.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = puzzle.tcl; sourceTree = "<group>"; };
- F966BB4F08F27A3A005CB29B /* radio.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = radio.tcl; sourceTree = "<group>"; };
- F966BB5008F27A3A005CB29B /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
- F966BB5108F27A3A005CB29B /* rmt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = rmt; sourceTree = "<group>"; };
- F966BB5208F27A3A005CB29B /* rolodex */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = rolodex; sourceTree = "<group>"; };
- F966BB5308F27A3A005CB29B /* ruler.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = ruler.tcl; sourceTree = "<group>"; };
- F966BB5408F27A3A005CB29B /* sayings.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = sayings.tcl; sourceTree = "<group>"; };
- F966BB5508F27A3A005CB29B /* search.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = search.tcl; sourceTree = "<group>"; };
- F966BB5608F27A3A005CB29B /* spin.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = spin.tcl; sourceTree = "<group>"; };
- F966BB5708F27A3A005CB29B /* square */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = square; sourceTree = "<group>"; };
- F966BB5808F27A3A005CB29B /* states.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = states.tcl; sourceTree = "<group>"; };
- F966BB5908F27A3A005CB29B /* style.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = style.tcl; sourceTree = "<group>"; };
- F966BB5A08F27A3A005CB29B /* tclIndex */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tclIndex; sourceTree = "<group>"; };
- F966BB5B08F27A3A005CB29B /* tcolor */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = tcolor; sourceTree = "<group>"; };
- F966BB5C08F27A3A005CB29B /* text.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = text.tcl; sourceTree = "<group>"; };
- F966BB5D08F27A3A005CB29B /* timer */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = timer; sourceTree = "<group>"; };
- F966BB5E08F27A3A005CB29B /* twind.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = twind.tcl; sourceTree = "<group>"; };
- F966BB5F08F27A3A005CB29B /* unicodeout.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = unicodeout.tcl; sourceTree = "<group>"; };
- F966BB6008F27A3A005CB29B /* vscale.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = vscale.tcl; sourceTree = "<group>"; };
- F966BB6108F27A3A005CB29B /* widget */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = widget; sourceTree = "<group>"; };
- F966BB6208F27A3A005CB29B /* dialog.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = dialog.tcl; sourceTree = "<group>"; };
- F966BB6308F27A3A005CB29B /* entry.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = entry.tcl; sourceTree = "<group>"; };
- F966BB6408F27A3A005CB29B /* focus.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = focus.tcl; sourceTree = "<group>"; };
- F966BB7308F27A3A005CB29B /* listbox.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = listbox.tcl; sourceTree = "<group>"; };
- F966BB7408F27A3A005CB29B /* menu.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = menu.tcl; sourceTree = "<group>"; };
- F966BB7508F27A3A005CB29B /* mkpsenc.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = mkpsenc.tcl; sourceTree = "<group>"; };
- F966BB7608F27A3A005CB29B /* msgbox.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = msgbox.tcl; sourceTree = "<group>"; };
- F966BB8608F27A3A005CB29B /* obsolete.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = obsolete.tcl; sourceTree = "<group>"; };
- F966BB8708F27A3A005CB29B /* optMenu.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = optMenu.tcl; sourceTree = "<group>"; };
- F966BB8808F27A3A005CB29B /* palette.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = palette.tcl; sourceTree = "<group>"; };
- F966BB8908F27A3B005CB29B /* panedwindow.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = panedwindow.tcl; sourceTree = "<group>"; };
- F966BB8B08F27A3B005CB29B /* safetk.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = safetk.tcl; sourceTree = "<group>"; };
- F966BB8C08F27A3B005CB29B /* scale.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = scale.tcl; sourceTree = "<group>"; };
- F966BB8D08F27A3B005CB29B /* scrlbar.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = scrlbar.tcl; sourceTree = "<group>"; };
- F966BB8E08F27A3B005CB29B /* spinbox.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = spinbox.tcl; sourceTree = "<group>"; };
- F966BB8F08F27A3B005CB29B /* tclIndex */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tclIndex; sourceTree = "<group>"; };
- F966BB9008F27A3B005CB29B /* tearoff.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tearoff.tcl; sourceTree = "<group>"; };
- F966BB9108F27A3B005CB29B /* text.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = text.tcl; sourceTree = "<group>"; };
- F966BB9208F27A3B005CB29B /* tk.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tk.tcl; sourceTree = "<group>"; };
- F966BB9308F27A3B005CB29B /* tkfbox.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tkfbox.tcl; sourceTree = "<group>"; };
- F966BB9408F27A3B005CB29B /* unsupported.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = unsupported.tcl; sourceTree = "<group>"; };
- F966BB9508F27A3B005CB29B /* xmfbox.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = xmfbox.tcl; sourceTree = "<group>"; };
- F966BB9608F27A3B005CB29B /* license.terms */ = {isa = PBXFileReference; explicitFileType = text; fileEncoding = 4; path = license.terms; sourceTree = "<group>"; };
- F966BBBA08F27A3B005CB29B /* configure.ac */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = configure.ac; sourceTree = "<group>"; };
- F966BBBB08F27A3B005CB29B /* GNUmakefile */ = {isa = PBXFileReference; explicitFileType = sourcecode.make; fileEncoding = 4; path = GNUmakefile; sourceTree = "<group>"; };
- F966BBBE08F27A3B005CB29B /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
- F966BBC008F27A3B005CB29B /* Tk-Info.plist.in */ = {isa = PBXFileReference; explicitFileType = text.plist; fileEncoding = 4; path = "Tk-Info.plist.in"; sourceTree = "<group>"; };
- F966BBC208F27A3B005CB29B /* tkMacOSX.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkMacOSX.h; sourceTree = "<group>"; };
- F966BBC508F27A3B005CB29B /* tkMacOSXBitmap.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; path = tkMacOSXBitmap.c; sourceTree = "<group>"; };
- F966BBC608F27A3B005CB29B /* tkMacOSXButton.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; path = tkMacOSXButton.c; sourceTree = "<group>"; };
- F966BBC808F27A3B005CB29B /* tkMacOSXClipboard.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; path = tkMacOSXClipboard.c; sourceTree = "<group>"; };
- F966BBC908F27A3B005CB29B /* tkMacOSXColor.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; path = tkMacOSXColor.c; sourceTree = "<group>"; };
- F966BBCA08F27A3B005CB29B /* tkMacOSXConfig.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; path = tkMacOSXConfig.c; sourceTree = "<group>"; };
- F966BBCB08F27A3B005CB29B /* tkMacOSXCursor.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; path = tkMacOSXCursor.c; sourceTree = "<group>"; };
- F966BBCC08F27A3B005CB29B /* tkMacOSXCursors.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkMacOSXCursors.h; sourceTree = "<group>"; };
- F966BBCD08F27A3B005CB29B /* tkMacOSXDebug.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; path = tkMacOSXDebug.c; sourceTree = "<group>"; };
- F966BBCE08F27A3B005CB29B /* tkMacOSXDebug.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkMacOSXDebug.h; sourceTree = "<group>"; };
- F966BBCF08F27A3B005CB29B /* tkMacOSXDefault.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkMacOSXDefault.h; sourceTree = "<group>"; };
- F966BBD008F27A3B005CB29B /* tkMacOSXDialog.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; path = tkMacOSXDialog.c; sourceTree = "<group>"; };
- F966BBD108F27A3B005CB29B /* tkMacOSXDraw.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; path = tkMacOSXDraw.c; sourceTree = "<group>"; };
- F966BBD208F27A3B005CB29B /* tkMacOSXEmbed.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; path = tkMacOSXEmbed.c; sourceTree = "<group>"; };
- F966BBD308F27A3B005CB29B /* tkMacOSXEntry.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; path = tkMacOSXEntry.c; sourceTree = "<group>"; };
- F966BBD408F27A3B005CB29B /* tkMacOSXEvent.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; path = tkMacOSXEvent.c; sourceTree = "<group>"; };
- F966BBD508F27A3B005CB29B /* tkMacOSXEvent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkMacOSXEvent.h; sourceTree = "<group>"; };
- F966BBD608F27A3B005CB29B /* tkMacOSXFont.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; path = tkMacOSXFont.c; sourceTree = "<group>"; };
- F966BBD708F27A3B005CB29B /* tkMacOSXHLEvents.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; path = tkMacOSXHLEvents.c; sourceTree = "<group>"; };
- F966BBD808F27A3B005CB29B /* tkMacOSXInit.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; path = tkMacOSXInit.c; sourceTree = "<group>"; };
- F966BBDA08F27A3B005CB29B /* tkMacOSXInt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkMacOSXInt.h; sourceTree = "<group>"; };
- F966BBDB08F27A3B005CB29B /* tkMacOSXKeyboard.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; path = tkMacOSXKeyboard.c; sourceTree = "<group>"; };
- F966BBDC08F27A3B005CB29B /* tkMacOSXKeyEvent.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; path = tkMacOSXKeyEvent.c; sourceTree = "<group>"; };
- F966BBDD08F27A3B005CB29B /* tkMacOSXMenu.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; path = tkMacOSXMenu.c; sourceTree = "<group>"; };
- F966BBE008F27A3B005CB29B /* tkMacOSXMenubutton.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; path = tkMacOSXMenubutton.c; sourceTree = "<group>"; };
- F966BBE108F27A3B005CB29B /* tkMacOSXMenus.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; path = tkMacOSXMenus.c; sourceTree = "<group>"; };
- F966BBE208F27A3B005CB29B /* tkMacOSXMouseEvent.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; path = tkMacOSXMouseEvent.c; sourceTree = "<group>"; };
- F966BBE308F27A3B005CB29B /* tkMacOSXNotify.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; path = tkMacOSXNotify.c; sourceTree = "<group>"; };
- F966BBEA08F27A3C005CB29B /* tkMacOSXPort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkMacOSXPort.h; sourceTree = "<group>"; };
- F966BBEB08F27A3C005CB29B /* tkMacOSXRegion.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; path = tkMacOSXRegion.c; sourceTree = "<group>"; };
- F966BBEC08F27A3C005CB29B /* tkMacOSXScale.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; path = tkMacOSXScale.c; sourceTree = "<group>"; };
- F966BBED08F27A3C005CB29B /* tkMacOSXScrlbr.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; path = tkMacOSXScrlbr.c; sourceTree = "<group>"; };
- F966BBEE08F27A3C005CB29B /* tkMacOSXSend.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; path = tkMacOSXSend.c; sourceTree = "<group>"; };
- F966BBEF08F27A3C005CB29B /* tkMacOSXSubwindows.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; path = tkMacOSXSubwindows.c; sourceTree = "<group>"; };
- F966BBF008F27A3C005CB29B /* tkMacOSXTest.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; path = tkMacOSXTest.c; sourceTree = "<group>"; };
- F966BBF108F27A3C005CB29B /* tkMacOSXWindowEvent.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; path = tkMacOSXWindowEvent.c; sourceTree = "<group>"; };
- F966BBF208F27A3C005CB29B /* tkMacOSXWm.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; path = tkMacOSXWm.c; sourceTree = "<group>"; };
- F966BBF308F27A3C005CB29B /* tkMacOSXWm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkMacOSXWm.h; sourceTree = "<group>"; };
- F966BBF408F27A3C005CB29B /* tkMacOSXXCursors.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkMacOSXXCursors.h; sourceTree = "<group>"; };
- F966BBF508F27A3C005CB29B /* tkMacOSXXStubs.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; path = tkMacOSXXStubs.c; sourceTree = "<group>"; };
- F966BBF708F27A3C005CB29B /* Wish-Info.plist.in */ = {isa = PBXFileReference; explicitFileType = text.plist; fileEncoding = 4; path = "Wish-Info.plist.in"; sourceTree = "<group>"; };
- F966BC0308F27A3C005CB29B /* README */ = {isa = PBXFileReference; explicitFileType = text; fileEncoding = 4; path = README; sourceTree = "<group>"; };
- F966BC0508F27A3C005CB29B /* all.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = all.tcl; sourceTree = "<group>"; };
- F966BC0608F27A3C005CB29B /* arc.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = arc.tcl; sourceTree = "<group>"; };
- F966BC0708F27A3C005CB29B /* bell.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = bell.test; sourceTree = "<group>"; };
- F966BC0808F27A3C005CB29B /* bevel.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = bevel.tcl; sourceTree = "<group>"; };
- F966BC0908F27A3C005CB29B /* bgerror.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = bgerror.test; sourceTree = "<group>"; };
- F966BC0A08F27A3C005CB29B /* bind.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = bind.test; sourceTree = "<group>"; };
- F966BC0B08F27A3C005CB29B /* bitmap.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = bitmap.test; sourceTree = "<group>"; };
- F966BC0C08F27A3C005CB29B /* border.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = border.test; sourceTree = "<group>"; };
- F966BC0D08F27A3C005CB29B /* bugs.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = bugs.tcl; sourceTree = "<group>"; };
- F966BC0E08F27A3C005CB29B /* butGeom.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = butGeom.tcl; sourceTree = "<group>"; };
- F966BC0F08F27A3C005CB29B /* butGeom2.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = butGeom2.tcl; sourceTree = "<group>"; };
- F966BC1008F27A3C005CB29B /* button.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = button.test; sourceTree = "<group>"; };
- F966BC1108F27A3C005CB29B /* canvas.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = canvas.test; sourceTree = "<group>"; };
- F966BC1208F27A3C005CB29B /* canvImg.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = canvImg.test; sourceTree = "<group>"; };
- F966BC1308F27A3C005CB29B /* canvPs.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = canvPs.test; sourceTree = "<group>"; };
- F966BC1408F27A3C005CB29B /* canvPsArc.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = canvPsArc.tcl; sourceTree = "<group>"; };
- F966BC1508F27A3C005CB29B /* canvPsBmap.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = canvPsBmap.tcl; sourceTree = "<group>"; };
- F966BC1608F27A3C005CB29B /* canvPsGrph.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = canvPsGrph.tcl; sourceTree = "<group>"; };
- F966BC1708F27A3C005CB29B /* canvPsImg.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = canvPsImg.tcl; sourceTree = "<group>"; };
- F966BC1808F27A3C005CB29B /* canvPsText.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = canvPsText.tcl; sourceTree = "<group>"; };
- F966BC1908F27A3C005CB29B /* canvRect.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = canvRect.test; sourceTree = "<group>"; };
- F966BC1A08F27A3C005CB29B /* canvText.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = canvText.test; sourceTree = "<group>"; };
- F966BC1B08F27A3C005CB29B /* canvWind.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = canvWind.test; sourceTree = "<group>"; };
- F966BC1C08F27A3C005CB29B /* choosedir.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = choosedir.test; sourceTree = "<group>"; };
- F966BC1D08F27A3C005CB29B /* clipboard.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = clipboard.test; sourceTree = "<group>"; };
- F966BC1E08F27A3C005CB29B /* clrpick.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = clrpick.test; sourceTree = "<group>"; };
- F966BC1F08F27A3C005CB29B /* cmap.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = cmap.tcl; sourceTree = "<group>"; };
- F966BC2008F27A3C005CB29B /* cmds.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = cmds.test; sourceTree = "<group>"; };
- F966BC2108F27A3C005CB29B /* color.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = color.test; sourceTree = "<group>"; };
- F966BC2208F27A3C005CB29B /* config.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = config.test; sourceTree = "<group>"; };
- F966BC2308F27A3C005CB29B /* constraints.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = constraints.tcl; sourceTree = "<group>"; };
- F966BC2408F27A3C005CB29B /* cursor.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = cursor.test; sourceTree = "<group>"; };
- F966BC2508F27A3C005CB29B /* dialog.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = dialog.test; sourceTree = "<group>"; };
- F966BC2608F27A3C005CB29B /* embed.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = embed.test; sourceTree = "<group>"; };
- F966BC2708F27A3C005CB29B /* entry.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = entry.test; sourceTree = "<group>"; };
- F966BC2808F27A3C005CB29B /* event.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = event.test; sourceTree = "<group>"; };
- F966BC2908F27A3C005CB29B /* filebox.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = filebox.test; sourceTree = "<group>"; };
- F966BC2A08F27A3C005CB29B /* focus.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = focus.test; sourceTree = "<group>"; };
- F966BC2B08F27A3C005CB29B /* focusTcl.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = focusTcl.test; sourceTree = "<group>"; };
- F966BC2C08F27A3C005CB29B /* font.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = font.test; sourceTree = "<group>"; };
- F966BC2D08F27A3C005CB29B /* frame.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = frame.test; sourceTree = "<group>"; };
- F966BC2E08F27A3C005CB29B /* geometry.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = geometry.test; sourceTree = "<group>"; };
- F966BC2F08F27A3C005CB29B /* get.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = get.test; sourceTree = "<group>"; };
- F966BC3008F27A3C005CB29B /* grab.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = grab.test; sourceTree = "<group>"; };
- F966BC3108F27A3C005CB29B /* grid.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = grid.test; sourceTree = "<group>"; };
- F966BC3308F27A3C005CB29B /* image.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = image.test; sourceTree = "<group>"; };
- F966BC3408F27A3C005CB29B /* imgBmap.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = imgBmap.test; sourceTree = "<group>"; };
- F966BC3508F27A3C005CB29B /* imgPhoto.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = imgPhoto.test; sourceTree = "<group>"; };
- F966BC3608F27A3C005CB29B /* imgPPM.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = imgPPM.test; sourceTree = "<group>"; };
- F966BC3708F27A3C005CB29B /* listbox.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = listbox.test; sourceTree = "<group>"; };
- F966BC3808F27A3C005CB29B /* main.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = main.test; sourceTree = "<group>"; };
- F966BC3908F27A3C005CB29B /* menu.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = menu.test; sourceTree = "<group>"; };
- F966BC3A08F27A3C005CB29B /* menubut.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = menubut.test; sourceTree = "<group>"; };
- F966BC3B08F27A3C005CB29B /* menuDraw.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = menuDraw.test; sourceTree = "<group>"; };
- F966BC3C08F27A3C005CB29B /* message.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = message.test; sourceTree = "<group>"; };
- F966BC3D08F27A3C005CB29B /* msgbox.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = msgbox.test; sourceTree = "<group>"; };
- F966BC3E08F27A3C005CB29B /* obj.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = obj.test; sourceTree = "<group>"; };
- F966BC3F08F27A3C005CB29B /* oldpack.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = oldpack.test; sourceTree = "<group>"; };
- F966BC4008F27A3C005CB29B /* option.file1 */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = option.file1; sourceTree = "<group>"; };
- F966BC4108F27A3C005CB29B /* option.file2 */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = option.file2; sourceTree = "<group>"; };
- F966BC4208F27A3C005CB29B /* option.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = option.test; sourceTree = "<group>"; };
- F966BC4308F27A3C005CB29B /* pack.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = pack.test; sourceTree = "<group>"; };
- F966BC4408F27A3C005CB29B /* panedwindow.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = panedwindow.test; sourceTree = "<group>"; };
- F966BC4508F27A3D005CB29B /* place.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = place.test; sourceTree = "<group>"; };
- F966BC4608F27A3D005CB29B /* raise.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = raise.test; sourceTree = "<group>"; };
- F966BC4708F27A3D005CB29B /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
- F966BC4808F27A3D005CB29B /* safe.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = safe.test; sourceTree = "<group>"; };
- F966BC4908F27A3D005CB29B /* scale.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = scale.test; sourceTree = "<group>"; };
- F966BC4A08F27A3D005CB29B /* scrollbar.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = scrollbar.test; sourceTree = "<group>"; };
- F966BC4B08F27A3D005CB29B /* select.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = select.test; sourceTree = "<group>"; };
- F966BC4C08F27A3D005CB29B /* send.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = send.test; sourceTree = "<group>"; };
- F966BC4D08F27A3D005CB29B /* spinbox.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = spinbox.test; sourceTree = "<group>"; };
- F966BC4E08F27A3D005CB29B /* text.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = text.test; sourceTree = "<group>"; };
- F966BC4F08F27A3D005CB29B /* textBTree.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = textBTree.test; sourceTree = "<group>"; };
- F966BC5008F27A3D005CB29B /* textDisp.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = textDisp.test; sourceTree = "<group>"; };
- F966BC5108F27A3D005CB29B /* textImage.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = textImage.test; sourceTree = "<group>"; };
- F966BC5208F27A3D005CB29B /* textIndex.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = textIndex.test; sourceTree = "<group>"; };
- F966BC5308F27A3D005CB29B /* textMark.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = textMark.test; sourceTree = "<group>"; };
- F966BC5408F27A3D005CB29B /* textTag.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = textTag.test; sourceTree = "<group>"; };
- F966BC5508F27A3D005CB29B /* textWind.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = textWind.test; sourceTree = "<group>"; };
- F966BC5608F27A3D005CB29B /* tk.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tk.test; sourceTree = "<group>"; };
- F966BC5708F27A3D005CB29B /* unixButton.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = unixButton.test; sourceTree = "<group>"; };
- F966BC5808F27A3D005CB29B /* unixEmbed.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = unixEmbed.test; sourceTree = "<group>"; };
- F966BC5908F27A3D005CB29B /* unixFont.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = unixFont.test; sourceTree = "<group>"; };
- F966BC5A08F27A3D005CB29B /* unixMenu.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = unixMenu.test; sourceTree = "<group>"; };
- F966BC5B08F27A3D005CB29B /* unixSelect.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = unixSelect.test; sourceTree = "<group>"; };
- F966BC5C08F27A3D005CB29B /* unixWm.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = unixWm.test; sourceTree = "<group>"; };
- F966BC5D08F27A3D005CB29B /* util.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = util.test; sourceTree = "<group>"; };
- F966BC5E08F27A3D005CB29B /* visual.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = visual.test; sourceTree = "<group>"; };
- F966BC5F08F27A3D005CB29B /* visual_bb.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = visual_bb.test; sourceTree = "<group>"; };
- F966BC6008F27A3D005CB29B /* winButton.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = winButton.test; sourceTree = "<group>"; };
- F966BC6108F27A3D005CB29B /* winClipboard.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = winClipboard.test; sourceTree = "<group>"; };
- F966BC6208F27A3D005CB29B /* winDialog.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = winDialog.test; sourceTree = "<group>"; };
- F966BC6308F27A3D005CB29B /* window.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = window.test; sourceTree = "<group>"; };
- F966BC6408F27A3D005CB29B /* winfo.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = winfo.test; sourceTree = "<group>"; };
- F966BC6508F27A3D005CB29B /* winFont.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = winFont.test; sourceTree = "<group>"; };
- F966BC6608F27A3D005CB29B /* winMenu.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = winMenu.test; sourceTree = "<group>"; };
- F966BC6708F27A3D005CB29B /* winSend.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = winSend.test; sourceTree = "<group>"; };
- F966BC6808F27A3D005CB29B /* winWm.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = winWm.test; sourceTree = "<group>"; };
- F966BC6908F27A3D005CB29B /* wm.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = wm.test; sourceTree = "<group>"; };
- F966BC6A08F27A3D005CB29B /* xmfbox.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = xmfbox.test; sourceTree = "<group>"; };
- F966BC6C08F27A3D005CB29B /* aclocal.m4 */ = {isa = PBXFileReference; explicitFileType = text.script.sh; fileEncoding = 4; path = aclocal.m4; sourceTree = "<group>"; };
- F966BC6D08F27A3D005CB29B /* configure */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = configure; sourceTree = "<group>"; };
- F966BC6E08F27A3D005CB29B /* configure.in */ = {isa = PBXFileReference; explicitFileType = text.script.sh; fileEncoding = 4; path = configure.in; sourceTree = "<group>"; };
- F966BC6F08F27A3D005CB29B /* install-sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = "install-sh"; sourceTree = "<group>"; };
- F966BC7008F27A3D005CB29B /* installManPage */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = installManPage; sourceTree = "<group>"; };
- F966BC7108F27A3D005CB29B /* Makefile.in */ = {isa = PBXFileReference; explicitFileType = sourcecode.make; fileEncoding = 4; path = Makefile.in; sourceTree = "<group>"; };
- F966BC7208F27A3D005CB29B /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
- F966BC7308F27A3D005CB29B /* tcl.m4 */ = {isa = PBXFileReference; explicitFileType = text.script.sh; fileEncoding = 4; path = tcl.m4; sourceTree = "<group>"; };
- F966BC7408F27A3D005CB29B /* tk.spec */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = tk.spec; sourceTree = "<group>"; };
- F966BC7508F27A3D005CB29B /* tkAppInit.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkAppInit.c; sourceTree = "<group>"; };
- F966BC7608F27A3D005CB29B /* tkConfig.h.in */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; path = tkConfig.h.in; sourceTree = "<group>"; };
- F966BC7708F27A3D005CB29B /* tkConfig.sh.in */ = {isa = PBXFileReference; explicitFileType = text.script.sh; fileEncoding = 4; path = tkConfig.sh.in; sourceTree = "<group>"; };
- F966BC7808F27A3D005CB29B /* tkUnix.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnix.c; sourceTree = "<group>"; };
- F966BC7908F27A3D005CB29B /* tkUnix3d.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnix3d.c; sourceTree = "<group>"; };
- F966BC7A08F27A3D005CB29B /* tkUnixButton.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixButton.c; sourceTree = "<group>"; };
- F966BC7B08F27A3D005CB29B /* tkUnixColor.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixColor.c; sourceTree = "<group>"; };
- F966BC7C08F27A3D005CB29B /* tkUnixConfig.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixConfig.c; sourceTree = "<group>"; };
- F966BC7D08F27A3D005CB29B /* tkUnixCursor.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixCursor.c; sourceTree = "<group>"; };
- F966BC7E08F27A3D005CB29B /* tkUnixDefault.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkUnixDefault.h; sourceTree = "<group>"; };
- F966BC7F08F27A3D005CB29B /* tkUnixDialog.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixDialog.c; sourceTree = "<group>"; };
- F966BC8008F27A3D005CB29B /* tkUnixDraw.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixDraw.c; sourceTree = "<group>"; };
- F966BC8108F27A3D005CB29B /* tkUnixEmbed.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixEmbed.c; sourceTree = "<group>"; };
- F966BC8208F27A3D005CB29B /* tkUnixEvent.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixEvent.c; sourceTree = "<group>"; };
- F966BC8308F27A3D005CB29B /* tkUnixFocus.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixFocus.c; sourceTree = "<group>"; };
- F966BC8408F27A3D005CB29B /* tkUnixFont.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixFont.c; sourceTree = "<group>"; };
- F966BC8508F27A3D005CB29B /* tkUnixInit.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixInit.c; sourceTree = "<group>"; };
- F966BC8608F27A3D005CB29B /* tkUnixInt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkUnixInt.h; sourceTree = "<group>"; };
- F966BC8708F27A3D005CB29B /* tkUnixKey.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixKey.c; sourceTree = "<group>"; };
- F966BC8808F27A3D005CB29B /* tkUnixMenu.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixMenu.c; sourceTree = "<group>"; };
- F966BC8908F27A3D005CB29B /* tkUnixMenubu.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixMenubu.c; sourceTree = "<group>"; };
- F966BC8A08F27A3D005CB29B /* tkUnixPort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkUnixPort.h; sourceTree = "<group>"; };
- F966BC8B08F27A3D005CB29B /* tkUnixRFont.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixRFont.c; sourceTree = "<group>"; };
- F966BC8C08F27A3D005CB29B /* tkUnixScale.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixScale.c; sourceTree = "<group>"; };
- F966BC8D08F27A3D005CB29B /* tkUnixScrlbr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixScrlbr.c; sourceTree = "<group>"; };
- F966BC8E08F27A3D005CB29B /* tkUnixSelect.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixSelect.c; sourceTree = "<group>"; };
- F966BC8F08F27A3D005CB29B /* tkUnixSend.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixSend.c; sourceTree = "<group>"; };
- F966BC9008F27A3D005CB29B /* tkUnixWm.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixWm.c; sourceTree = "<group>"; };
- F966BC9108F27A3D005CB29B /* tkUnixXId.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkUnixXId.c; sourceTree = "<group>"; };
- F966BC9408F27A3D005CB29B /* aclocal.m4 */ = {isa = PBXFileReference; explicitFileType = text.script.sh; fileEncoding = 4; path = aclocal.m4; sourceTree = "<group>"; };
- F966BC9508F27A3D005CB29B /* buildall.vc.bat */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = buildall.vc.bat; sourceTree = "<group>"; };
- F966BC9608F27A3E005CB29B /* configure */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = configure; sourceTree = "<group>"; };
- F966BC9708F27A3E005CB29B /* configure.in */ = {isa = PBXFileReference; explicitFileType = text.script.sh; fileEncoding = 4; path = configure.in; sourceTree = "<group>"; };
- F966BC9908F27A3E005CB29B /* Makefile.in */ = {isa = PBXFileReference; explicitFileType = sourcecode.make; fileEncoding = 4; path = Makefile.in; sourceTree = "<group>"; };
- F966BC9A08F27A3E005CB29B /* makefile.vc */ = {isa = PBXFileReference; explicitFileType = sourcecode.make; fileEncoding = 4; path = makefile.vc; sourceTree = "<group>"; };
- F966BC9B08F27A3E005CB29B /* mkd.bat */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = mkd.bat; sourceTree = "<group>"; };
- F966BC9C08F27A3E005CB29B /* nmakehlp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = nmakehlp.c; sourceTree = "<group>"; };
- F966BCEE08F27A3E005CB29B /* tk.rc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = tk.rc; sourceTree = "<group>"; };
- F966BCEF08F27A3E005CB29B /* tk_base.rc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = tk_base.rc; sourceTree = "<group>"; };
- F966BCF208F27A3E005CB29B /* wish.rc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = wish.rc; sourceTree = "<group>"; };
- F966BCF308F27A3E005CB29B /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
- F966BCF408F27A3E005CB29B /* rmd.bat */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = rmd.bat; sourceTree = "<group>"; };
- F966BCF508F27A3F005CB29B /* rules.vc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = rules.vc; sourceTree = "<group>"; };
- F966BCF608F27A3F005CB29B /* stubs.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = stubs.c; sourceTree = "<group>"; };
- F966BCF708F27A3F005CB29B /* tcl.m4 */ = {isa = PBXFileReference; explicitFileType = text.script.sh; fileEncoding = 4; path = tcl.m4; sourceTree = "<group>"; };
- F966BCF808F27A3F005CB29B /* tkConfig.sh.in */ = {isa = PBXFileReference; explicitFileType = text.script.sh; fileEncoding = 4; path = tkConfig.sh.in; sourceTree = "<group>"; };
- F966BCF908F27A3F005CB29B /* tkWin.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkWin.h; sourceTree = "<group>"; };
- F966BCFA08F27A3F005CB29B /* tkWin32Dll.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWin32Dll.c; sourceTree = "<group>"; };
- F966BCFB08F27A3F005CB29B /* tkWin3d.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWin3d.c; sourceTree = "<group>"; };
- F966BCFC08F27A3F005CB29B /* tkWinButton.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinButton.c; sourceTree = "<group>"; };
- F966BCFD08F27A3F005CB29B /* tkWinClipboard.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinClipboard.c; sourceTree = "<group>"; };
- F966BCFE08F27A3F005CB29B /* tkWinColor.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinColor.c; sourceTree = "<group>"; };
- F966BCFF08F27A3F005CB29B /* tkWinConfig.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinConfig.c; sourceTree = "<group>"; };
- F966BD0008F27A3F005CB29B /* tkWinCursor.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinCursor.c; sourceTree = "<group>"; };
- F966BD0108F27A3F005CB29B /* tkWinDefault.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkWinDefault.h; sourceTree = "<group>"; };
- F966BD0208F27A3F005CB29B /* tkWinDialog.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinDialog.c; sourceTree = "<group>"; };
- F966BD0308F27A3F005CB29B /* tkWinDraw.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinDraw.c; sourceTree = "<group>"; };
- F966BD0408F27A3F005CB29B /* tkWinEmbed.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinEmbed.c; sourceTree = "<group>"; };
- F966BD0508F27A3F005CB29B /* tkWinFont.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinFont.c; sourceTree = "<group>"; };
- F966BD0708F27A3F005CB29B /* tkWinImage.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinImage.c; sourceTree = "<group>"; };
- F966BD0808F27A3F005CB29B /* tkWinInit.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinInit.c; sourceTree = "<group>"; };
- F966BD0908F27A3F005CB29B /* tkWinInt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkWinInt.h; sourceTree = "<group>"; };
- F966BD0A08F27A3F005CB29B /* tkWinKey.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinKey.c; sourceTree = "<group>"; };
- F966BD0B08F27A3F005CB29B /* tkWinMenu.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinMenu.c; sourceTree = "<group>"; };
- F966BD0C08F27A3F005CB29B /* tkWinPixmap.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinPixmap.c; sourceTree = "<group>"; };
- F966BD0D08F27A3F005CB29B /* tkWinPointer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinPointer.c; sourceTree = "<group>"; };
- F966BD0E08F27A3F005CB29B /* tkWinPort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkWinPort.h; sourceTree = "<group>"; };
- F966BD0F08F27A3F005CB29B /* tkWinRegion.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinRegion.c; sourceTree = "<group>"; };
- F966BD1008F27A3F005CB29B /* tkWinScrlbr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinScrlbr.c; sourceTree = "<group>"; };
- F966BD1108F27A3F005CB29B /* tkWinSend.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinSend.c; sourceTree = "<group>"; };
- F966BD1208F27A3F005CB29B /* tkWinSendCom.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinSendCom.c; sourceTree = "<group>"; };
- F966BD1308F27A3F005CB29B /* tkWinSendCom.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkWinSendCom.h; sourceTree = "<group>"; };
- F966BD1408F27A3F005CB29B /* tkWinTest.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinTest.c; sourceTree = "<group>"; };
- F966BD1508F27A3F005CB29B /* tkWinWindow.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinWindow.c; sourceTree = "<group>"; };
- F966BD1608F27A3F005CB29B /* tkWinWm.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinWm.c; sourceTree = "<group>"; };
- F966BD1708F27A3F005CB29B /* tkWinX.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkWinX.c; sourceTree = "<group>"; };
- F966BD1808F27A3F005CB29B /* winMain.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = winMain.c; sourceTree = "<group>"; };
- F966BD1B08F27A3F005CB29B /* cursorfont.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cursorfont.h; sourceTree = "<group>"; };
- F966BD1C08F27A3F005CB29B /* keysym.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = keysym.h; sourceTree = "<group>"; };
- F966BD1D08F27A3F005CB29B /* keysymdef.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = keysymdef.h; sourceTree = "<group>"; };
- F966BD1E08F27A3F005CB29B /* X.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = X.h; sourceTree = "<group>"; };
- F966BD1F08F27A3F005CB29B /* Xatom.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Xatom.h; sourceTree = "<group>"; };
- F966BD2008F27A3F005CB29B /* Xfuncproto.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Xfuncproto.h; sourceTree = "<group>"; };
- F966BD2108F27A3F005CB29B /* Xlib.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Xlib.h; sourceTree = "<group>"; };
- F966BD2208F27A3F005CB29B /* Xutil.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Xutil.h; sourceTree = "<group>"; };
- F966BD2308F27A3F005CB29B /* xbytes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = xbytes.h; sourceTree = "<group>"; };
- F966BD2408F27A3F005CB29B /* xcolors.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = xcolors.c; sourceTree = "<group>"; };
- F966BD2508F27A3F005CB29B /* xdraw.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = xdraw.c; sourceTree = "<group>"; };
- F966BD2608F27A3F005CB29B /* xgc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = xgc.c; sourceTree = "<group>"; };
- F966BD2708F27A3F005CB29B /* ximage.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ximage.c; sourceTree = "<group>"; };
- F966BD2808F27A3F005CB29B /* xutil.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = xutil.c; sourceTree = "<group>"; };
- F966C07408F2820D005CB29B /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = /System/Library/Frameworks/CoreFoundation.framework; sourceTree = "<absolute>"; };
- F966C07608F2821B005CB29B /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = /System/Library/Frameworks/Carbon.framework; sourceTree = "<absolute>"; };
- F966C07808F28233005CB29B /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = /System/Library/Frameworks/IOKit.framework; sourceTree = "<absolute>"; };
- F96887E00AF786D5000797B5 /* ttk.decls */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = ttk.decls; sourceTree = "<group>"; };
- F96887E10AF786D5000797B5 /* ttkBlink.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkBlink.c; sourceTree = "<group>"; };
- F96887E20AF786D5000797B5 /* ttkButton.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkButton.c; sourceTree = "<group>"; };
- F96887E30AF786D5000797B5 /* ttkCache.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkCache.c; sourceTree = "<group>"; };
- F96887E40AF786D5000797B5 /* ttkClamTheme.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkClamTheme.c; sourceTree = "<group>"; };
- F96887E50AF786D5000797B5 /* ttkClassicTheme.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkClassicTheme.c; sourceTree = "<group>"; };
- F96887E60AF786D5000797B5 /* ttkDecls.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ttkDecls.h; sourceTree = "<group>"; };
- F96887E70AF786D5000797B5 /* ttkDefaultTheme.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkDefaultTheme.c; sourceTree = "<group>"; };
- F96887E80AF786D5000797B5 /* ttkElements.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkElements.c; sourceTree = "<group>"; };
- F96887E90AF786D5000797B5 /* ttkEntry.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkEntry.c; sourceTree = "<group>"; };
- F96887EA0AF786D5000797B5 /* ttkFrame.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkFrame.c; sourceTree = "<group>"; };
- F96887EB0AF786D5000797B5 /* ttkImage.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkImage.c; sourceTree = "<group>"; };
- F96887EC0AF786D5000797B5 /* ttkInit.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkInit.c; sourceTree = "<group>"; };
- F96887ED0AF786D5000797B5 /* ttkLabel.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkLabel.c; sourceTree = "<group>"; };
- F96887EE0AF786D5000797B5 /* ttkLayout.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkLayout.c; sourceTree = "<group>"; };
- F96887EF0AF786D5000797B5 /* ttkManager.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkManager.c; sourceTree = "<group>"; };
- F96887F00AF786D5000797B5 /* ttkManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ttkManager.h; sourceTree = "<group>"; };
- F96887F10AF786D5000797B5 /* ttkNotebook.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkNotebook.c; sourceTree = "<group>"; };
- F96887F20AF786D5000797B5 /* ttkPanedwindow.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkPanedwindow.c; sourceTree = "<group>"; };
- F96887F30AF786D5000797B5 /* ttkProgress.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkProgress.c; sourceTree = "<group>"; };
- F96887F40AF786D5000797B5 /* ttkScale.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkScale.c; sourceTree = "<group>"; };
- F96887F50AF786D5000797B5 /* ttkScroll.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkScroll.c; sourceTree = "<group>"; };
- F96887F60AF786D5000797B5 /* ttkScrollbar.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkScrollbar.c; sourceTree = "<group>"; };
- F96887F70AF786D5000797B5 /* ttkSeparator.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkSeparator.c; sourceTree = "<group>"; };
- F96887F80AF786D5000797B5 /* ttkSquare.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkSquare.c; sourceTree = "<group>"; };
- F96887F90AF786D5000797B5 /* ttkState.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkState.c; sourceTree = "<group>"; };
- F96887FA0AF786D5000797B5 /* ttkStubInit.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkStubInit.c; sourceTree = "<group>"; };
- F96887FB0AF786D5000797B5 /* ttkStubLib.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkStubLib.c; sourceTree = "<group>"; };
- F96887FC0AF786D5000797B5 /* ttkTagSet.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkTagSet.c; sourceTree = "<group>"; };
- F96887FD0AF786D5000797B5 /* ttkTheme.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkTheme.c; sourceTree = "<group>"; };
- F96887FE0AF786D5000797B5 /* ttkTheme.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ttkTheme.h; sourceTree = "<group>"; };
- F96887FF0AF786D5000797B5 /* ttkThemeInt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ttkThemeInt.h; sourceTree = "<group>"; };
- F96888000AF786D5000797B5 /* ttkTrace.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkTrace.c; sourceTree = "<group>"; };
- F96888010AF786D5000797B5 /* ttkTrack.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkTrack.c; sourceTree = "<group>"; };
- F96888020AF786D5000797B5 /* ttkTreeview.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkTreeview.c; sourceTree = "<group>"; };
- F96888030AF786D5000797B5 /* ttkWidget.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkWidget.c; sourceTree = "<group>"; };
- F96888040AF786D5000797B5 /* ttkWidget.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ttkWidget.h; sourceTree = "<group>"; };
- F96888370AF787B3000797B5 /* altTheme.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = altTheme.tcl; sourceTree = "<group>"; };
- F96888380AF787B3000797B5 /* aquaTheme.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = aquaTheme.tcl; sourceTree = "<group>"; };
- F96888390AF787B3000797B5 /* button.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = button.tcl; sourceTree = "<group>"; };
- F968883A0AF787B3000797B5 /* clamTheme.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = clamTheme.tcl; sourceTree = "<group>"; };
- F968883B0AF787B3000797B5 /* classicTheme.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = classicTheme.tcl; sourceTree = "<group>"; };
- F968883C0AF787B3000797B5 /* combobox.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = combobox.tcl; sourceTree = "<group>"; };
- F968883D0AF787B3000797B5 /* cursors.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = cursors.tcl; sourceTree = "<group>"; };
- F968883E0AF787B3000797B5 /* defaults.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = defaults.tcl; sourceTree = "<group>"; };
- F96888400AF787B3000797B5 /* entry.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = entry.tcl; sourceTree = "<group>"; };
- F96888410AF787B3000797B5 /* fonts.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = fonts.tcl; sourceTree = "<group>"; };
- F96888440AF787B3000797B5 /* menubutton.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = menubutton.tcl; sourceTree = "<group>"; };
- F96888450AF787B3000797B5 /* notebook.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = notebook.tcl; sourceTree = "<group>"; };
- F96888460AF787B3000797B5 /* panedwindow.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = panedwindow.tcl; sourceTree = "<group>"; };
- F96888470AF787B3000797B5 /* progress.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = progress.tcl; sourceTree = "<group>"; };
- F96888480AF787B3000797B5 /* scale.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = scale.tcl; sourceTree = "<group>"; };
- F96888490AF787B3000797B5 /* scrollbar.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = scrollbar.tcl; sourceTree = "<group>"; };
- F968884A0AF787B3000797B5 /* sizegrip.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = sizegrip.tcl; sourceTree = "<group>"; };
- F968884B0AF787B3000797B5 /* treeview.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = treeview.tcl; sourceTree = "<group>"; };
- F968884C0AF787B3000797B5 /* ttk.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = ttk.tcl; sourceTree = "<group>"; };
- F968884D0AF787B3000797B5 /* utils.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = utils.tcl; sourceTree = "<group>"; };
- F968884E0AF787B3000797B5 /* winTheme.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = winTheme.tcl; sourceTree = "<group>"; };
- F968884F0AF787B3000797B5 /* xpTheme.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = xpTheme.tcl; sourceTree = "<group>"; };
- F96888540AF7880C000797B5 /* all.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = all.tcl; sourceTree = "<group>"; };
- F96888560AF7880C000797B5 /* combobox.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = combobox.test; sourceTree = "<group>"; };
- F96888570AF7880C000797B5 /* entry.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = entry.test; sourceTree = "<group>"; };
- F96888580AF7880C000797B5 /* image.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = image.test; sourceTree = "<group>"; };
- F96888590AF7880C000797B5 /* labelframe.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = labelframe.test; sourceTree = "<group>"; };
- F968885A0AF7880C000797B5 /* layout.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = layout.test; sourceTree = "<group>"; };
- F968885C0AF7880C000797B5 /* notebook.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = notebook.test; sourceTree = "<group>"; };
- F968885D0AF7880C000797B5 /* panedwindow.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = panedwindow.test; sourceTree = "<group>"; };
- F968885E0AF7880C000797B5 /* progressbar.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = progressbar.test; sourceTree = "<group>"; };
- F968885F0AF7880C000797B5 /* scrollbar.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = scrollbar.test; sourceTree = "<group>"; };
- F96888600AF7880C000797B5 /* treetags.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = treetags.test; sourceTree = "<group>"; };
- F96888610AF7880C000797B5 /* treeview.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = treeview.test; sourceTree = "<group>"; };
- F96888620AF7880C000797B5 /* ttk.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = ttk.test; sourceTree = "<group>"; };
- F96888630AF7880C000797B5 /* validate.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = validate.test; sourceTree = "<group>"; };
- F968886B0AF788F6000797B5 /* ttk_button.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_button.n; sourceTree = "<group>"; };
- F968886C0AF788F6000797B5 /* ttk_checkbutton.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_checkbutton.n; sourceTree = "<group>"; };
- F968886D0AF788F6000797B5 /* ttk_combobox.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_combobox.n; sourceTree = "<group>"; };
- F968886F0AF788F6000797B5 /* ttk_entry.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_entry.n; sourceTree = "<group>"; };
- F96888700AF788F6000797B5 /* ttk_frame.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_frame.n; sourceTree = "<group>"; };
- F96888710AF788F6000797B5 /* ttk_Geometry.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_Geometry.3; sourceTree = "<group>"; };
- F96888720AF788F6000797B5 /* ttk_image.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_image.n; sourceTree = "<group>"; };
- F96888730AF788F6000797B5 /* ttk_intro.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_intro.n; sourceTree = "<group>"; };
- F96888740AF788F6000797B5 /* ttk_label.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_label.n; sourceTree = "<group>"; };
- F96888750AF788F6000797B5 /* ttk_labelframe.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_labelframe.n; sourceTree = "<group>"; };
- F96888760AF788F6000797B5 /* ttk_menubutton.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_menubutton.n; sourceTree = "<group>"; };
- F96888770AF788F6000797B5 /* ttk_notebook.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_notebook.n; sourceTree = "<group>"; };
- F96888780AF788F6000797B5 /* ttk_panedwindow.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_panedwindow.n; sourceTree = "<group>"; };
- F96888790AF788F6000797B5 /* ttk_progressbar.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_progressbar.n; sourceTree = "<group>"; };
- F968887A0AF788F6000797B5 /* ttk_radiobutton.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_radiobutton.n; sourceTree = "<group>"; };
- F968887B0AF788F6000797B5 /* ttk_scrollbar.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_scrollbar.n; sourceTree = "<group>"; };
- F968887C0AF788F6000797B5 /* ttk_separator.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_separator.n; sourceTree = "<group>"; };
- F968887D0AF788F6000797B5 /* ttk_sizegrip.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_sizegrip.n; sourceTree = "<group>"; };
- F968887E0AF788F6000797B5 /* ttk_style.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_style.n; sourceTree = "<group>"; };
- F968887F0AF788F6000797B5 /* ttk_Theme.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_Theme.3; sourceTree = "<group>"; };
- F96888800AF788F6000797B5 /* ttk_treeview.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_treeview.n; sourceTree = "<group>"; };
- F96888810AF788F6000797B5 /* ttk_widget.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ttk_widget.n; sourceTree = "<group>"; };
- F96888840AF78938000797B5 /* ttkMacOSXTheme.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; path = ttkMacOSXTheme.c; sourceTree = "<group>"; };
- F96888860AF78953000797B5 /* ttkWinMonitor.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkWinMonitor.c; sourceTree = "<group>"; };
- F96888870AF78953000797B5 /* ttkWinTheme.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkWinTheme.c; sourceTree = "<group>"; };
- F96888880AF78953000797B5 /* ttkWinXPTheme.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ttkWinXPTheme.c; sourceTree = "<group>"; };
- F96D3DFA08F272A4004A47F5 /* ChangeLog */ = {isa = PBXFileReference; explicitFileType = text; fileEncoding = 4; path = ChangeLog; sourceTree = "<group>"; };
- F96D3DFB08F272A4004A47F5 /* changes */ = {isa = PBXFileReference; explicitFileType = text; fileEncoding = 4; path = changes; sourceTree = "<group>"; };
- F96D3DFD08F272A4004A47F5 /* Access.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Access.3; sourceTree = "<group>"; };
- F96D3DFE08F272A4004A47F5 /* AddErrInfo.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = AddErrInfo.3; sourceTree = "<group>"; };
- F96D3DFF08F272A4004A47F5 /* after.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = after.n; sourceTree = "<group>"; };
- F96D3E0008F272A4004A47F5 /* Alloc.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Alloc.3; sourceTree = "<group>"; };
- F96D3E0108F272A4004A47F5 /* AllowExc.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = AllowExc.3; sourceTree = "<group>"; };
- F96D3E0208F272A4004A47F5 /* append.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = append.n; sourceTree = "<group>"; };
- F96D3E0308F272A4004A47F5 /* AppInit.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = AppInit.3; sourceTree = "<group>"; };
- F96D3E0408F272A5004A47F5 /* array.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = array.n; sourceTree = "<group>"; };
- F96D3E0508F272A5004A47F5 /* AssocData.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = AssocData.3; sourceTree = "<group>"; };
- F96D3E0608F272A5004A47F5 /* Async.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Async.3; sourceTree = "<group>"; };
- F96D3E0708F272A5004A47F5 /* BackgdErr.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = BackgdErr.3; sourceTree = "<group>"; };
- F96D3E0808F272A5004A47F5 /* Backslash.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Backslash.3; sourceTree = "<group>"; };
- F96D3E0908F272A5004A47F5 /* bgerror.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = bgerror.n; sourceTree = "<group>"; };
- F96D3E0A08F272A5004A47F5 /* binary.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = binary.n; sourceTree = "<group>"; };
- F96D3E0B08F272A5004A47F5 /* BoolObj.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = BoolObj.3; sourceTree = "<group>"; };
- F96D3E0C08F272A5004A47F5 /* break.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = break.n; sourceTree = "<group>"; };
- F96D3E0D08F272A5004A47F5 /* ByteArrObj.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ByteArrObj.3; sourceTree = "<group>"; };
- F96D3E0E08F272A5004A47F5 /* CallDel.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CallDel.3; sourceTree = "<group>"; };
- F96D3E0F08F272A5004A47F5 /* case.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = case.n; sourceTree = "<group>"; };
- F96D3E1008F272A5004A47F5 /* catch.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = catch.n; sourceTree = "<group>"; };
- F96D3E1108F272A5004A47F5 /* cd.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = cd.n; sourceTree = "<group>"; };
- F96D3E1208F272A5004A47F5 /* chan.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = chan.n; sourceTree = "<group>"; };
- F96D3E1308F272A5004A47F5 /* ChnlStack.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ChnlStack.3; sourceTree = "<group>"; };
- F96D3E1408F272A5004A47F5 /* clock.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = clock.n; sourceTree = "<group>"; };
- F96D3E1508F272A5004A47F5 /* close.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = close.n; sourceTree = "<group>"; };
- F96D3E1608F272A5004A47F5 /* CmdCmplt.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CmdCmplt.3; sourceTree = "<group>"; };
- F96D3E1708F272A5004A47F5 /* Concat.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Concat.3; sourceTree = "<group>"; };
- F96D3E1808F272A5004A47F5 /* concat.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = concat.n; sourceTree = "<group>"; };
- F96D3E1908F272A5004A47F5 /* continue.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = continue.n; sourceTree = "<group>"; };
- F96D3E1A08F272A5004A47F5 /* CrtChannel.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtChannel.3; sourceTree = "<group>"; };
- F96D3E1B08F272A5004A47F5 /* CrtChnlHdlr.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtChnlHdlr.3; sourceTree = "<group>"; };
- F96D3E1C08F272A5004A47F5 /* CrtCloseHdlr.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtCloseHdlr.3; sourceTree = "<group>"; };
- F96D3E1D08F272A5004A47F5 /* CrtCommand.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtCommand.3; sourceTree = "<group>"; };
- F96D3E1E08F272A5004A47F5 /* CrtFileHdlr.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtFileHdlr.3; sourceTree = "<group>"; };
- F96D3E1F08F272A5004A47F5 /* CrtInterp.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtInterp.3; sourceTree = "<group>"; };
- F96D3E2008F272A5004A47F5 /* CrtMathFnc.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtMathFnc.3; sourceTree = "<group>"; };
- F96D3E2108F272A5004A47F5 /* CrtObjCmd.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtObjCmd.3; sourceTree = "<group>"; };
- F96D3E2208F272A5004A47F5 /* CrtSlave.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtSlave.3; sourceTree = "<group>"; };
- F96D3E2308F272A5004A47F5 /* CrtTimerHdlr.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtTimerHdlr.3; sourceTree = "<group>"; };
- F96D3E2408F272A5004A47F5 /* CrtTrace.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = CrtTrace.3; sourceTree = "<group>"; };
- F96D3E2508F272A5004A47F5 /* dde.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = dde.n; sourceTree = "<group>"; };
- F96D3E2608F272A5004A47F5 /* DetachPids.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = DetachPids.3; sourceTree = "<group>"; };
- F96D3E2708F272A5004A47F5 /* dict.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = dict.n; sourceTree = "<group>"; };
- F96D3E2808F272A5004A47F5 /* DictObj.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = DictObj.3; sourceTree = "<group>"; };
- F96D3E2908F272A5004A47F5 /* DoOneEvent.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = DoOneEvent.3; sourceTree = "<group>"; };
- F96D3E2A08F272A5004A47F5 /* DoubleObj.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = DoubleObj.3; sourceTree = "<group>"; };
- F96D3E2B08F272A5004A47F5 /* DoWhenIdle.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = DoWhenIdle.3; sourceTree = "<group>"; };
- F96D3E2C08F272A5004A47F5 /* DString.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = DString.3; sourceTree = "<group>"; };
- F96D3E2D08F272A5004A47F5 /* DumpActiveMemory.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = DumpActiveMemory.3; sourceTree = "<group>"; };
- F96D3E2E08F272A5004A47F5 /* Encoding.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Encoding.3; sourceTree = "<group>"; };
- F96D3E2F08F272A5004A47F5 /* encoding.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = encoding.n; sourceTree = "<group>"; };
- F96D3E3008F272A5004A47F5 /* Ensemble.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Ensemble.3; sourceTree = "<group>"; };
- F96D3E3108F272A5004A47F5 /* Environment.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Environment.3; sourceTree = "<group>"; };
- F96D3E3208F272A5004A47F5 /* eof.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = eof.n; sourceTree = "<group>"; };
- F96D3E3308F272A5004A47F5 /* error.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = error.n; sourceTree = "<group>"; };
- F96D3E3408F272A5004A47F5 /* Eval.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Eval.3; sourceTree = "<group>"; };
- F96D3E3508F272A5004A47F5 /* eval.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = eval.n; sourceTree = "<group>"; };
- F96D3E3608F272A5004A47F5 /* exec.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = exec.n; sourceTree = "<group>"; };
- F96D3E3708F272A5004A47F5 /* Exit.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Exit.3; sourceTree = "<group>"; };
- F96D3E3808F272A5004A47F5 /* exit.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = exit.n; sourceTree = "<group>"; };
- F96D3E3908F272A5004A47F5 /* expr.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = expr.n; sourceTree = "<group>"; };
- F96D3E3A08F272A5004A47F5 /* ExprLong.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ExprLong.3; sourceTree = "<group>"; };
- F96D3E3B08F272A5004A47F5 /* ExprLongObj.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ExprLongObj.3; sourceTree = "<group>"; };
- F96D3E3C08F272A5004A47F5 /* fblocked.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = fblocked.n; sourceTree = "<group>"; };
- F96D3E3D08F272A5004A47F5 /* fconfigure.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = fconfigure.n; sourceTree = "<group>"; };
- F96D3E3E08F272A5004A47F5 /* fcopy.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = fcopy.n; sourceTree = "<group>"; };
- F96D3E3F08F272A5004A47F5 /* file.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = file.n; sourceTree = "<group>"; };
- F96D3E4008F272A5004A47F5 /* fileevent.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = fileevent.n; sourceTree = "<group>"; };
- F96D3E4108F272A5004A47F5 /* filename.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = filename.n; sourceTree = "<group>"; };
- F96D3E4208F272A5004A47F5 /* FileSystem.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = FileSystem.3; sourceTree = "<group>"; };
- F96D3E4308F272A5004A47F5 /* FindExec.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = FindExec.3; sourceTree = "<group>"; };
- F96D3E4408F272A5004A47F5 /* flush.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = flush.n; sourceTree = "<group>"; };
- F96D3E4508F272A5004A47F5 /* for.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = for.n; sourceTree = "<group>"; };
- F96D3E4608F272A5004A47F5 /* foreach.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = foreach.n; sourceTree = "<group>"; };
- F96D3E4708F272A5004A47F5 /* format.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = format.n; sourceTree = "<group>"; };
- F96D3E4808F272A5004A47F5 /* GetCwd.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetCwd.3; sourceTree = "<group>"; };
- F96D3E4908F272A5004A47F5 /* GetHostName.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetHostName.3; sourceTree = "<group>"; };
- F96D3E4A08F272A5004A47F5 /* GetIndex.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetIndex.3; sourceTree = "<group>"; };
- F96D3E4B08F272A5004A47F5 /* GetInt.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetInt.3; sourceTree = "<group>"; };
- F96D3E4C08F272A5004A47F5 /* GetOpnFl.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetOpnFl.3; sourceTree = "<group>"; };
- F96D3E4D08F272A5004A47F5 /* gets.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = gets.n; sourceTree = "<group>"; };
- F96D3E4E08F272A5004A47F5 /* GetStdChan.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetStdChan.3; sourceTree = "<group>"; };
- F96D3E4F08F272A5004A47F5 /* GetTime.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetTime.3; sourceTree = "<group>"; };
- F96D3E5008F272A5004A47F5 /* GetVersion.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = GetVersion.3; sourceTree = "<group>"; };
- F96D3E5108F272A5004A47F5 /* glob.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = glob.n; sourceTree = "<group>"; };
- F96D3E5208F272A6004A47F5 /* global.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = global.n; sourceTree = "<group>"; };
- F96D3E5308F272A6004A47F5 /* Hash.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Hash.3; sourceTree = "<group>"; };
- F96D3E5408F272A6004A47F5 /* history.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = history.n; sourceTree = "<group>"; };
- F96D3E5508F272A6004A47F5 /* http.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = http.n; sourceTree = "<group>"; };
- F96D3E5608F272A6004A47F5 /* if.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = if.n; sourceTree = "<group>"; };
- F96D3E5708F272A6004A47F5 /* incr.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = incr.n; sourceTree = "<group>"; };
- F96D3E5808F272A6004A47F5 /* info.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = info.n; sourceTree = "<group>"; };
- F96D3E5908F272A6004A47F5 /* Init.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Init.3; sourceTree = "<group>"; };
- F96D3E5A08F272A6004A47F5 /* InitStubs.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = InitStubs.3; sourceTree = "<group>"; };
- F96D3E5B08F272A6004A47F5 /* Interp.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Interp.3; sourceTree = "<group>"; };
- F96D3E5C08F272A6004A47F5 /* interp.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = interp.n; sourceTree = "<group>"; };
- F96D3E5D08F272A6004A47F5 /* IntObj.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = IntObj.3; sourceTree = "<group>"; };
- F96D3E5E08F272A6004A47F5 /* join.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = join.n; sourceTree = "<group>"; };
- F96D3E5F08F272A6004A47F5 /* lappend.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = lappend.n; sourceTree = "<group>"; };
- F96D3E6008F272A6004A47F5 /* lassign.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = lassign.n; sourceTree = "<group>"; };
- F96D3E6108F272A6004A47F5 /* library.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = library.n; sourceTree = "<group>"; };
- F96D3E6208F272A6004A47F5 /* Limit.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Limit.3; sourceTree = "<group>"; };
- F96D3E6308F272A6004A47F5 /* lindex.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = lindex.n; sourceTree = "<group>"; };
- F96D3E6408F272A6004A47F5 /* LinkVar.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = LinkVar.3; sourceTree = "<group>"; };
- F96D3E6508F272A6004A47F5 /* linsert.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = linsert.n; sourceTree = "<group>"; };
- F96D3E6608F272A6004A47F5 /* list.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = list.n; sourceTree = "<group>"; };
- F96D3E6708F272A6004A47F5 /* ListObj.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ListObj.3; sourceTree = "<group>"; };
- F96D3E6808F272A6004A47F5 /* llength.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = llength.n; sourceTree = "<group>"; };
- F96D3E6908F272A6004A47F5 /* load.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = load.n; sourceTree = "<group>"; };
- F96D3E6A08F272A6004A47F5 /* lrange.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = lrange.n; sourceTree = "<group>"; };
- F96D3E6B08F272A6004A47F5 /* lrepeat.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = lrepeat.n; sourceTree = "<group>"; };
- F96D3E6C08F272A6004A47F5 /* lreplace.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = lreplace.n; sourceTree = "<group>"; };
- F96D3E6D08F272A6004A47F5 /* lsearch.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = lsearch.n; sourceTree = "<group>"; };
- F96D3E6E08F272A6004A47F5 /* lset.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = lset.n; sourceTree = "<group>"; };
- F96D3E6F08F272A6004A47F5 /* lsort.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = lsort.n; sourceTree = "<group>"; };
- F96D3E7008F272A6004A47F5 /* man.macros */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = man.macros; sourceTree = "<group>"; };
- F96D3E7108F272A6004A47F5 /* mathfunc.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = mathfunc.n; sourceTree = "<group>"; };
- F96D3E7208F272A6004A47F5 /* memory.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = memory.n; sourceTree = "<group>"; };
- F96D3E7308F272A6004A47F5 /* msgcat.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = msgcat.n; sourceTree = "<group>"; };
- F96D3E7408F272A6004A47F5 /* Namespace.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Namespace.3; sourceTree = "<group>"; };
- F96D3E7508F272A6004A47F5 /* namespace.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = namespace.n; sourceTree = "<group>"; };
- F96D3E7608F272A6004A47F5 /* Notifier.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Notifier.3; sourceTree = "<group>"; };
- F96D3E7708F272A6004A47F5 /* Object.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Object.3; sourceTree = "<group>"; };
- F96D3E7808F272A6004A47F5 /* ObjectType.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ObjectType.3; sourceTree = "<group>"; };
- F96D3E7908F272A6004A47F5 /* open.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = open.n; sourceTree = "<group>"; };
- F96D3E7A08F272A6004A47F5 /* OpenFileChnl.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = OpenFileChnl.3; sourceTree = "<group>"; };
- F96D3E7B08F272A6004A47F5 /* OpenTcp.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = OpenTcp.3; sourceTree = "<group>"; };
- F96D3E7C08F272A6004A47F5 /* package.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = package.n; sourceTree = "<group>"; };
- F96D3E7D08F272A6004A47F5 /* packagens.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = packagens.n; sourceTree = "<group>"; };
- F96D3E7E08F272A6004A47F5 /* Panic.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Panic.3; sourceTree = "<group>"; };
- F96D3E7F08F272A6004A47F5 /* ParseCmd.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ParseCmd.3; sourceTree = "<group>"; };
- F96D3E8008F272A6004A47F5 /* pid.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = pid.n; sourceTree = "<group>"; };
- F96D3E8108F272A6004A47F5 /* pkgMkIndex.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = pkgMkIndex.n; sourceTree = "<group>"; };
- F96D3E8208F272A6004A47F5 /* PkgRequire.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = PkgRequire.3; sourceTree = "<group>"; };
- F96D3E8308F272A6004A47F5 /* Preserve.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Preserve.3; sourceTree = "<group>"; };
- F96D3E8408F272A6004A47F5 /* PrintDbl.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = PrintDbl.3; sourceTree = "<group>"; };
- F96D3E8508F272A6004A47F5 /* proc.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = proc.n; sourceTree = "<group>"; };
- F96D3E8608F272A6004A47F5 /* puts.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = puts.n; sourceTree = "<group>"; };
- F96D3E8708F272A6004A47F5 /* pwd.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = pwd.n; sourceTree = "<group>"; };
- F96D3E8808F272A6004A47F5 /* re_syntax.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = re_syntax.n; sourceTree = "<group>"; };
- F96D3E8908F272A6004A47F5 /* read.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = read.n; sourceTree = "<group>"; };
- F96D3E8A08F272A6004A47F5 /* RecEvalObj.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = RecEvalObj.3; sourceTree = "<group>"; };
- F96D3E8B08F272A6004A47F5 /* RecordEval.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = RecordEval.3; sourceTree = "<group>"; };
- F96D3E8C08F272A6004A47F5 /* RegConfig.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = RegConfig.3; sourceTree = "<group>"; };
- F96D3E8D08F272A6004A47F5 /* RegExp.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = RegExp.3; sourceTree = "<group>"; };
- F96D3E8E08F272A6004A47F5 /* regexp.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = regexp.n; sourceTree = "<group>"; };
- F96D3E8F08F272A6004A47F5 /* registry.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = registry.n; sourceTree = "<group>"; };
- F96D3E9008F272A6004A47F5 /* regsub.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = regsub.n; sourceTree = "<group>"; };
- F96D3E9108F272A6004A47F5 /* rename.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = rename.n; sourceTree = "<group>"; };
- F96D3E9208F272A6004A47F5 /* return.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = return.n; sourceTree = "<group>"; };
- F96D3E9308F272A6004A47F5 /* safe.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = safe.n; sourceTree = "<group>"; };
- F96D3E9408F272A6004A47F5 /* SaveResult.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = SaveResult.3; sourceTree = "<group>"; };
- F96D3E9508F272A6004A47F5 /* scan.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = scan.n; sourceTree = "<group>"; };
- F96D3E9608F272A6004A47F5 /* seek.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = seek.n; sourceTree = "<group>"; };
- F96D3E9708F272A6004A47F5 /* set.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = set.n; sourceTree = "<group>"; };
- F96D3E9808F272A6004A47F5 /* SetChanErr.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = SetChanErr.3; sourceTree = "<group>"; };
- F96D3E9908F272A6004A47F5 /* SetErrno.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = SetErrno.3; sourceTree = "<group>"; };
- F96D3E9A08F272A6004A47F5 /* SetRecLmt.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = SetRecLmt.3; sourceTree = "<group>"; };
- F96D3E9B08F272A7004A47F5 /* SetResult.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = SetResult.3; sourceTree = "<group>"; };
- F96D3E9C08F272A7004A47F5 /* SetVar.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = SetVar.3; sourceTree = "<group>"; };
- F96D3E9D08F272A7004A47F5 /* Signal.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Signal.3; sourceTree = "<group>"; };
- F96D3E9E08F272A7004A47F5 /* Sleep.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Sleep.3; sourceTree = "<group>"; };
- F96D3E9F08F272A7004A47F5 /* socket.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = socket.n; sourceTree = "<group>"; };
- F96D3EA008F272A7004A47F5 /* source.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = source.n; sourceTree = "<group>"; };
- F96D3EA108F272A7004A47F5 /* SourceRCFile.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = SourceRCFile.3; sourceTree = "<group>"; };
- F96D3EA208F272A7004A47F5 /* split.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = split.n; sourceTree = "<group>"; };
- F96D3EA308F272A7004A47F5 /* SplitList.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = SplitList.3; sourceTree = "<group>"; };
- F96D3EA408F272A7004A47F5 /* SplitPath.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = SplitPath.3; sourceTree = "<group>"; };
- F96D3EA508F272A7004A47F5 /* StaticPkg.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = StaticPkg.3; sourceTree = "<group>"; };
- F96D3EA608F272A7004A47F5 /* StdChannels.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = StdChannels.3; sourceTree = "<group>"; };
- F96D3EA708F272A7004A47F5 /* string.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = string.n; sourceTree = "<group>"; };
- F96D3EA808F272A7004A47F5 /* StringObj.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = StringObj.3; sourceTree = "<group>"; };
- F96D3EA908F272A7004A47F5 /* StrMatch.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = StrMatch.3; sourceTree = "<group>"; };
- F96D3EAA08F272A7004A47F5 /* subst.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = subst.n; sourceTree = "<group>"; };
- F96D3EAB08F272A7004A47F5 /* SubstObj.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = SubstObj.3; sourceTree = "<group>"; };
- F96D3EAC08F272A7004A47F5 /* switch.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = switch.n; sourceTree = "<group>"; };
- F96D3EAD08F272A7004A47F5 /* Tcl.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Tcl.n; sourceTree = "<group>"; };
- F96D3EAE08F272A7004A47F5 /* Tcl_Main.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Tcl_Main.3; sourceTree = "<group>"; };
- F96D3EAF08F272A7004A47F5 /* TCL_MEM_DEBUG.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = TCL_MEM_DEBUG.3; sourceTree = "<group>"; };
- F96D3EB008F272A7004A47F5 /* tclsh.1 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = tclsh.1; sourceTree = "<group>"; };
- F96D3EB108F272A7004A47F5 /* tcltest.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = tcltest.n; sourceTree = "<group>"; };
- F96D3EB208F272A7004A47F5 /* tclvars.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = tclvars.n; sourceTree = "<group>"; };
- F96D3EB308F272A7004A47F5 /* tell.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = tell.n; sourceTree = "<group>"; };
- F96D3EB408F272A7004A47F5 /* Thread.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Thread.3; sourceTree = "<group>"; };
- F96D3EB508F272A7004A47F5 /* time.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = time.n; sourceTree = "<group>"; };
- F96D3EB608F272A7004A47F5 /* tm.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = tm.n; sourceTree = "<group>"; };
- F96D3EB708F272A7004A47F5 /* ToUpper.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = ToUpper.3; sourceTree = "<group>"; };
- F96D3EB808F272A7004A47F5 /* trace.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = trace.n; sourceTree = "<group>"; };
- F96D3EB908F272A7004A47F5 /* TraceCmd.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = TraceCmd.3; sourceTree = "<group>"; };
- F96D3EBA08F272A7004A47F5 /* TraceVar.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = TraceVar.3; sourceTree = "<group>"; };
- F96D3EBB08F272A7004A47F5 /* Translate.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Translate.3; sourceTree = "<group>"; };
- F96D3EBC08F272A7004A47F5 /* UniCharIsAlpha.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = UniCharIsAlpha.3; sourceTree = "<group>"; };
- F96D3EBD08F272A7004A47F5 /* unknown.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = unknown.n; sourceTree = "<group>"; };
- F96D3EBE08F272A7004A47F5 /* unload.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = unload.n; sourceTree = "<group>"; };
- F96D3EBF08F272A7004A47F5 /* unset.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = unset.n; sourceTree = "<group>"; };
- F96D3EC008F272A7004A47F5 /* update.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = update.n; sourceTree = "<group>"; };
- F96D3EC108F272A7004A47F5 /* uplevel.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = uplevel.n; sourceTree = "<group>"; };
- F96D3EC208F272A7004A47F5 /* UpVar.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = UpVar.3; sourceTree = "<group>"; };
- F96D3EC308F272A7004A47F5 /* upvar.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = upvar.n; sourceTree = "<group>"; };
- F96D3EC408F272A7004A47F5 /* Utf.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = Utf.3; sourceTree = "<group>"; };
- F96D3EC508F272A7004A47F5 /* variable.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = variable.n; sourceTree = "<group>"; };
- F96D3EC608F272A7004A47F5 /* vwait.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = vwait.n; sourceTree = "<group>"; };
- F96D3EC708F272A7004A47F5 /* while.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = while.n; sourceTree = "<group>"; };
- F96D3EC808F272A7004A47F5 /* WrongNumArgs.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = WrongNumArgs.3; sourceTree = "<group>"; };
- F96D3ECA08F272A7004A47F5 /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
- F96D3ECB08F272A7004A47F5 /* regc_color.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = regc_color.c; sourceTree = "<group>"; };
- F96D3ECC08F272A7004A47F5 /* regc_cvec.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = regc_cvec.c; sourceTree = "<group>"; };
- F96D3ECD08F272A7004A47F5 /* regc_lex.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = regc_lex.c; sourceTree = "<group>"; };
- F96D3ECE08F272A7004A47F5 /* regc_locale.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = regc_locale.c; sourceTree = "<group>"; };
- F96D3ECF08F272A7004A47F5 /* regc_nfa.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = regc_nfa.c; sourceTree = "<group>"; };
- F96D3ED008F272A7004A47F5 /* regcomp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = regcomp.c; sourceTree = "<group>"; };
- F96D3ED108F272A7004A47F5 /* regcustom.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = regcustom.h; sourceTree = "<group>"; };
- F96D3ED208F272A7004A47F5 /* rege_dfa.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = rege_dfa.c; sourceTree = "<group>"; };
- F96D3ED308F272A7004A47F5 /* regerror.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = regerror.c; sourceTree = "<group>"; };
- F96D3ED408F272A7004A47F5 /* regerrs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = regerrs.h; sourceTree = "<group>"; };
- F96D3ED508F272A7004A47F5 /* regex.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = regex.h; sourceTree = "<group>"; };
- F96D3ED608F272A7004A47F5 /* regexec.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = regexec.c; sourceTree = "<group>"; };
- F96D3ED708F272A7004A47F5 /* regfree.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = regfree.c; sourceTree = "<group>"; };
- F96D3ED808F272A7004A47F5 /* regfronts.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = regfronts.c; sourceTree = "<group>"; };
- F96D3ED908F272A7004A47F5 /* regguts.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = regguts.h; sourceTree = "<group>"; };
- F96D3EDA08F272A7004A47F5 /* tcl.decls */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tcl.decls; sourceTree = "<group>"; };
- F96D3EDB08F272A7004A47F5 /* tcl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tcl.h; sourceTree = "<group>"; };
- F96D3EDC08F272A7004A47F5 /* tclAlloc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclAlloc.c; sourceTree = "<group>"; };
- F96D3EDD08F272A7004A47F5 /* tclAsync.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclAsync.c; sourceTree = "<group>"; };
- F96D3EDE08F272A7004A47F5 /* tclBasic.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclBasic.c; sourceTree = "<group>"; };
- F96D3EDF08F272A7004A47F5 /* tclBinary.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclBinary.c; sourceTree = "<group>"; };
- F96D3EE008F272A7004A47F5 /* tclCkalloc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclCkalloc.c; sourceTree = "<group>"; };
- F96D3EE108F272A7004A47F5 /* tclClock.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclClock.c; sourceTree = "<group>"; };
- F96D3EE208F272A7004A47F5 /* tclCmdAH.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclCmdAH.c; sourceTree = "<group>"; };
- F96D3EE308F272A7004A47F5 /* tclCmdIL.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclCmdIL.c; sourceTree = "<group>"; };
- F96D3EE408F272A7004A47F5 /* tclCmdMZ.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclCmdMZ.c; sourceTree = "<group>"; };
- F96D3EE508F272A7004A47F5 /* tclCompCmds.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclCompCmds.c; sourceTree = "<group>"; };
- F96D3EE608F272A7004A47F5 /* tclCompExpr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclCompExpr.c; sourceTree = "<group>"; };
- F96D3EE708F272A7004A47F5 /* tclCompile.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclCompile.c; sourceTree = "<group>"; };
- F96D3EE808F272A7004A47F5 /* tclCompile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclCompile.h; sourceTree = "<group>"; };
- F96D3EE908F272A7004A47F5 /* tclConfig.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclConfig.c; sourceTree = "<group>"; };
- F96D3EEA08F272A7004A47F5 /* tclDate.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclDate.c; sourceTree = "<group>"; };
- F96D3EEB08F272A7004A47F5 /* tclDecls.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclDecls.h; sourceTree = "<group>"; };
- F96D3EEC08F272A7004A47F5 /* tclDictObj.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclDictObj.c; sourceTree = "<group>"; };
- F96D3EED08F272A7004A47F5 /* tclEncoding.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclEncoding.c; sourceTree = "<group>"; };
- F96D3EEE08F272A7004A47F5 /* tclEnv.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclEnv.c; sourceTree = "<group>"; };
- F96D3EEF08F272A7004A47F5 /* tclEvent.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclEvent.c; sourceTree = "<group>"; };
- F96D3EF008F272A7004A47F5 /* tclExecute.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclExecute.c; sourceTree = "<group>"; };
- F96D3EF108F272A7004A47F5 /* tclFCmd.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclFCmd.c; sourceTree = "<group>"; };
- F96D3EF208F272A7004A47F5 /* tclFileName.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclFileName.c; sourceTree = "<group>"; };
- F96D3EF308F272A7004A47F5 /* tclFileSystem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclFileSystem.h; sourceTree = "<group>"; };
- F96D3EF408F272A7004A47F5 /* tclGet.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclGet.c; sourceTree = "<group>"; };
- F96D3EF508F272A7004A47F5 /* tclGetDate.y */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.yacc; path = tclGetDate.y; sourceTree = "<group>"; };
- F96D3EF608F272A7004A47F5 /* tclHash.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclHash.c; sourceTree = "<group>"; };
- F96D3EF708F272A7004A47F5 /* tclHistory.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclHistory.c; sourceTree = "<group>"; };
- F96D3EF808F272A7004A47F5 /* tclIndexObj.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclIndexObj.c; sourceTree = "<group>"; };
- F96D3EF908F272A7004A47F5 /* tclInt.decls */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tclInt.decls; sourceTree = "<group>"; };
- F96D3EFA08F272A7004A47F5 /* tclInt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclInt.h; sourceTree = "<group>"; };
- F96D3EFB08F272A7004A47F5 /* tclIntDecls.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclIntDecls.h; sourceTree = "<group>"; };
- F96D3EFC08F272A7004A47F5 /* tclInterp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclInterp.c; sourceTree = "<group>"; };
- F96D3EFD08F272A7004A47F5 /* tclIntPlatDecls.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclIntPlatDecls.h; sourceTree = "<group>"; };
- F96D3EFE08F272A7004A47F5 /* tclIO.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclIO.c; sourceTree = "<group>"; };
- F96D3EFF08F272A7004A47F5 /* tclIO.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclIO.h; sourceTree = "<group>"; };
- F96D3F0008F272A7004A47F5 /* tclIOCmd.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclIOCmd.c; sourceTree = "<group>"; };
- F96D3F0108F272A7004A47F5 /* tclIOGT.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclIOGT.c; sourceTree = "<group>"; };
- F96D3F0208F272A7004A47F5 /* tclIORChan.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclIORChan.c; sourceTree = "<group>"; };
- F96D3F0308F272A7004A47F5 /* tclIOSock.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclIOSock.c; sourceTree = "<group>"; };
- F96D3F0408F272A7004A47F5 /* tclIOUtil.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclIOUtil.c; sourceTree = "<group>"; };
- F96D3F0508F272A7004A47F5 /* tclLink.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclLink.c; sourceTree = "<group>"; };
- F96D3F0608F272A7004A47F5 /* tclListObj.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclListObj.c; sourceTree = "<group>"; };
- F96D3F0708F272A7004A47F5 /* tclLiteral.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclLiteral.c; sourceTree = "<group>"; };
- F96D3F0808F272A7004A47F5 /* tclLoad.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclLoad.c; sourceTree = "<group>"; };
- F96D3F0908F272A7004A47F5 /* tclLoadNone.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclLoadNone.c; sourceTree = "<group>"; };
- F96D3F0A08F272A7004A47F5 /* tclMain.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclMain.c; sourceTree = "<group>"; };
- F96D3F0B08F272A7004A47F5 /* tclNamesp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclNamesp.c; sourceTree = "<group>"; };
- F96D3F0C08F272A7004A47F5 /* tclNotify.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclNotify.c; sourceTree = "<group>"; };
- F96D3F0D08F272A7004A47F5 /* tclObj.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclObj.c; sourceTree = "<group>"; };
- F96D3F0E08F272A7004A47F5 /* tclPanic.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclPanic.c; sourceTree = "<group>"; };
- F96D3F0F08F272A7004A47F5 /* tclParse.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclParse.c; sourceTree = "<group>"; };
- F96D3F1108F272A7004A47F5 /* tclPathObj.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclPathObj.c; sourceTree = "<group>"; };
- F96D3F1208F272A7004A47F5 /* tclPipe.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclPipe.c; sourceTree = "<group>"; };
- F96D3F1308F272A7004A47F5 /* tclPkg.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclPkg.c; sourceTree = "<group>"; };
- F96D3F1408F272A7004A47F5 /* tclPkgConfig.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclPkgConfig.c; sourceTree = "<group>"; };
- F96D3F1508F272A7004A47F5 /* tclPlatDecls.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclPlatDecls.h; sourceTree = "<group>"; };
- F96D3F1608F272A7004A47F5 /* tclPort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclPort.h; sourceTree = "<group>"; };
- F96D3F1708F272A7004A47F5 /* tclPosixStr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclPosixStr.c; sourceTree = "<group>"; };
- F96D3F1808F272A7004A47F5 /* tclPreserve.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclPreserve.c; sourceTree = "<group>"; };
- F96D3F1908F272A7004A47F5 /* tclProc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclProc.c; sourceTree = "<group>"; };
- F96D3F1A08F272A7004A47F5 /* tclRegexp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclRegexp.c; sourceTree = "<group>"; };
- F96D3F1B08F272A7004A47F5 /* tclRegexp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclRegexp.h; sourceTree = "<group>"; };
- F96D3F1C08F272A7004A47F5 /* tclResolve.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclResolve.c; sourceTree = "<group>"; };
- F96D3F1D08F272A7004A47F5 /* tclResult.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclResult.c; sourceTree = "<group>"; };
- F96D3F1E08F272A7004A47F5 /* tclScan.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclScan.c; sourceTree = "<group>"; };
- F96D3F1F08F272A7004A47F5 /* tclStringObj.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclStringObj.c; sourceTree = "<group>"; };
- F96D3F2408F272A7004A47F5 /* tclStrToD.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclStrToD.c; sourceTree = "<group>"; };
- F96D3F2508F272A7004A47F5 /* tclStubInit.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclStubInit.c; sourceTree = "<group>"; };
- F96D3F2608F272A7004A47F5 /* tclStubLib.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclStubLib.c; sourceTree = "<group>"; };
- F96D3F2708F272A7004A47F5 /* tclTest.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclTest.c; sourceTree = "<group>"; };
- F96D3F2808F272A7004A47F5 /* tclTestObj.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclTestObj.c; sourceTree = "<group>"; };
- F96D3F2908F272A7004A47F5 /* tclTestProcBodyObj.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclTestProcBodyObj.c; sourceTree = "<group>"; };
- F96D3F2A08F272A7004A47F5 /* tclThread.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclThread.c; sourceTree = "<group>"; };
- F96D3F2B08F272A7004A47F5 /* tclThreadAlloc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclThreadAlloc.c; sourceTree = "<group>"; };
- F96D3F2C08F272A7004A47F5 /* tclThreadJoin.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclThreadJoin.c; sourceTree = "<group>"; };
- F96D3F2D08F272A7004A47F5 /* tclThreadStorage.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclThreadStorage.c; sourceTree = "<group>"; };
- F96D3F2E08F272A7004A47F5 /* tclThreadTest.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclThreadTest.c; sourceTree = "<group>"; };
- F96D3F2F08F272A7004A47F5 /* tclTimer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclTimer.c; sourceTree = "<group>"; };
- F96D3F3008F272A7004A47F5 /* tclTomMath.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclTomMath.h; sourceTree = "<group>"; };
- F96D3F3108F272A7004A47F5 /* tclTomMathInterface.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclTomMathInterface.c; sourceTree = "<group>"; };
- F96D3F3208F272A7004A47F5 /* tclTrace.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclTrace.c; sourceTree = "<group>"; };
- F96D3F3308F272A7004A47F5 /* tclUniData.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclUniData.c; sourceTree = "<group>"; };
- F96D3F3408F272A7004A47F5 /* tclUtf.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclUtf.c; sourceTree = "<group>"; };
- F96D3F3508F272A7004A47F5 /* tclUtil.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclUtil.c; sourceTree = "<group>"; };
- F96D3F3608F272A7004A47F5 /* tclVar.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclVar.c; sourceTree = "<group>"; };
- F96D3F3708F272A7004A47F5 /* tommath.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tommath.h; sourceTree = "<group>"; };
- F96D3F3908F272A8004A47F5 /* auto.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = auto.tcl; sourceTree = "<group>"; };
- F96D3F3A08F272A8004A47F5 /* clock.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = clock.tcl; sourceTree = "<group>"; };
- F96D3F3C08F272A8004A47F5 /* pkgIndex.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = pkgIndex.tcl; sourceTree = "<group>"; };
- F96D3F8C08F272A8004A47F5 /* history.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = history.tcl; sourceTree = "<group>"; };
- F96D3F8E08F272A8004A47F5 /* http.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = http.tcl; sourceTree = "<group>"; };
- F96D3F8F08F272A8004A47F5 /* pkgIndex.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = pkgIndex.tcl; sourceTree = "<group>"; };
- F96D3F9108F272A8004A47F5 /* http.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = http.tcl; sourceTree = "<group>"; };
- F96D3F9208F272A8004A47F5 /* pkgIndex.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = pkgIndex.tcl; sourceTree = "<group>"; };
- F96D3F9308F272A8004A47F5 /* init.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = init.tcl; sourceTree = "<group>"; };
- F96D3F9508F272A8004A47F5 /* msgcat.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = msgcat.tcl; sourceTree = "<group>"; };
- F96D3F9608F272A8004A47F5 /* pkgIndex.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = pkgIndex.tcl; sourceTree = "<group>"; };
- F96D401808F272AA004A47F5 /* optparse.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = optparse.tcl; sourceTree = "<group>"; };
- F96D401908F272AA004A47F5 /* pkgIndex.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = pkgIndex.tcl; sourceTree = "<group>"; };
- F96D401A08F272AA004A47F5 /* package.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = package.tcl; sourceTree = "<group>"; };
- F96D401B08F272AA004A47F5 /* parray.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = parray.tcl; sourceTree = "<group>"; };
- F96D401D08F272AA004A47F5 /* pkgIndex.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = pkgIndex.tcl; sourceTree = "<group>"; };
- F96D401E08F272AA004A47F5 /* safe.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = safe.tcl; sourceTree = "<group>"; };
- F96D401F08F272AA004A47F5 /* tclIndex */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tclIndex; sourceTree = "<group>"; };
- F96D402108F272AA004A47F5 /* pkgIndex.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = pkgIndex.tcl; sourceTree = "<group>"; };
- F96D402208F272AA004A47F5 /* tcltest.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tcltest.tcl; sourceTree = "<group>"; };
- F96D402308F272AA004A47F5 /* tm.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tm.tcl; sourceTree = "<group>"; };
- F96D425B08F272B2004A47F5 /* word.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = word.tcl; sourceTree = "<group>"; };
- F96D426408F272B3004A47F5 /* bn_fast_s_mp_mul_digs.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_fast_s_mp_mul_digs.c; sourceTree = "<group>"; };
- F96D426608F272B3004A47F5 /* bn_fast_s_mp_sqr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_fast_s_mp_sqr.c; sourceTree = "<group>"; };
- F96D426908F272B3004A47F5 /* bn_mp_add.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_add.c; sourceTree = "<group>"; };
- F96D426A08F272B3004A47F5 /* bn_mp_add_d.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_add_d.c; sourceTree = "<group>"; };
- F96D426C08F272B3004A47F5 /* bn_mp_and.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_and.c; sourceTree = "<group>"; };
- F96D426D08F272B3004A47F5 /* bn_mp_clamp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_clamp.c; sourceTree = "<group>"; };
- F96D426E08F272B3004A47F5 /* bn_mp_clear.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_clear.c; sourceTree = "<group>"; };
- F96D426F08F272B3004A47F5 /* bn_mp_clear_multi.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_clear_multi.c; sourceTree = "<group>"; };
- F96D427008F272B3004A47F5 /* bn_mp_cmp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_cmp.c; sourceTree = "<group>"; };
- F96D427108F272B3004A47F5 /* bn_mp_cmp_d.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_cmp_d.c; sourceTree = "<group>"; };
- F96D427208F272B3004A47F5 /* bn_mp_cmp_mag.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_cmp_mag.c; sourceTree = "<group>"; };
- F96D427408F272B3004A47F5 /* bn_mp_copy.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_copy.c; sourceTree = "<group>"; };
- F96D427508F272B3004A47F5 /* bn_mp_count_bits.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_count_bits.c; sourceTree = "<group>"; };
- F96D427608F272B3004A47F5 /* bn_mp_div.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_div.c; sourceTree = "<group>"; };
- F96D427708F272B3004A47F5 /* bn_mp_div_2.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_div_2.c; sourceTree = "<group>"; };
- F96D427808F272B3004A47F5 /* bn_mp_div_2d.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_div_2d.c; sourceTree = "<group>"; };
- F96D427908F272B3004A47F5 /* bn_mp_div_3.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_div_3.c; sourceTree = "<group>"; };
- F96D427A08F272B3004A47F5 /* bn_mp_div_d.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_div_d.c; sourceTree = "<group>"; };
- F96D427E08F272B3004A47F5 /* bn_mp_exch.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_exch.c; sourceTree = "<group>"; };
- F96D427F08F272B3004A47F5 /* bn_mp_expt_d.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_expt_d.c; sourceTree = "<group>"; };
- F96D428708F272B3004A47F5 /* bn_mp_grow.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_grow.c; sourceTree = "<group>"; };
- F96D428808F272B3004A47F5 /* bn_mp_init.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_init.c; sourceTree = "<group>"; };
- F96D428908F272B3004A47F5 /* bn_mp_init_copy.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_init_copy.c; sourceTree = "<group>"; };
- F96D428A08F272B3004A47F5 /* bn_mp_init_multi.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_init_multi.c; sourceTree = "<group>"; };
- F96D428B08F272B3004A47F5 /* bn_mp_init_set.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_init_set.c; sourceTree = "<group>"; };
- F96D428D08F272B3004A47F5 /* bn_mp_init_size.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_init_size.c; sourceTree = "<group>"; };
- F96D429208F272B3004A47F5 /* bn_mp_karatsuba_mul.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_karatsuba_mul.c; sourceTree = "<group>"; };
- F96D429308F272B3004A47F5 /* bn_mp_karatsuba_sqr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_karatsuba_sqr.c; sourceTree = "<group>"; };
- F96D429508F272B3004A47F5 /* bn_mp_lshd.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_lshd.c; sourceTree = "<group>"; };
- F96D429608F272B3004A47F5 /* bn_mp_mod.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_mod.c; sourceTree = "<group>"; };
- F96D429708F272B3004A47F5 /* bn_mp_mod_2d.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_mod_2d.c; sourceTree = "<group>"; };
- F96D429C08F272B3004A47F5 /* bn_mp_mul.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_mul.c; sourceTree = "<group>"; };
- F96D429D08F272B3004A47F5 /* bn_mp_mul_2.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_mul_2.c; sourceTree = "<group>"; };
- F96D429E08F272B3004A47F5 /* bn_mp_mul_2d.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_mul_2d.c; sourceTree = "<group>"; };
- F96D429F08F272B3004A47F5 /* bn_mp_mul_d.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_mul_d.c; sourceTree = "<group>"; };
- F96D42A208F272B3004A47F5 /* bn_mp_neg.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_neg.c; sourceTree = "<group>"; };
- F96D42A308F272B3004A47F5 /* bn_mp_or.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_or.c; sourceTree = "<group>"; };
- F96D42AB08F272B3004A47F5 /* bn_mp_radix_size.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_radix_size.c; sourceTree = "<group>"; };
- F96D42AC08F272B3004A47F5 /* bn_mp_radix_smap.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_radix_smap.c; sourceTree = "<group>"; };
- F96D42AE08F272B3004A47F5 /* bn_mp_read_radix.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_read_radix.c; sourceTree = "<group>"; };
- F96D42B908F272B3004A47F5 /* bn_mp_rshd.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_rshd.c; sourceTree = "<group>"; };
- F96D42BA08F272B3004A47F5 /* bn_mp_set.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_set.c; sourceTree = "<group>"; };
- F96D42BC08F272B3004A47F5 /* bn_mp_shrink.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_shrink.c; sourceTree = "<group>"; };
- F96D42BE08F272B3004A47F5 /* bn_mp_sqr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_sqr.c; sourceTree = "<group>"; };
- F96D42C008F272B3004A47F5 /* bn_mp_sqrt.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_sqrt.c; sourceTree = "<group>"; };
- F96D42C108F272B3004A47F5 /* bn_mp_sub.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_sub.c; sourceTree = "<group>"; };
- F96D42C208F272B3004A47F5 /* bn_mp_sub_d.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_sub_d.c; sourceTree = "<group>"; };
- F96D42C608F272B3004A47F5 /* bn_mp_to_unsigned_bin.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_to_unsigned_bin.c; sourceTree = "<group>"; };
- F96D42C708F272B3004A47F5 /* bn_mp_to_unsigned_bin_n.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_to_unsigned_bin_n.c; sourceTree = "<group>"; };
- F96D42C808F272B3004A47F5 /* bn_mp_toom_mul.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_toom_mul.c; sourceTree = "<group>"; };
- F96D42C908F272B3004A47F5 /* bn_mp_toom_sqr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_toom_sqr.c; sourceTree = "<group>"; };
- F96D42CB08F272B3004A47F5 /* bn_mp_toradix_n.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_toradix_n.c; sourceTree = "<group>"; };
- F96D42CC08F272B3004A47F5 /* bn_mp_unsigned_bin_size.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_unsigned_bin_size.c; sourceTree = "<group>"; };
- F96D42CD08F272B3004A47F5 /* bn_mp_xor.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_xor.c; sourceTree = "<group>"; };
- F96D42CE08F272B3004A47F5 /* bn_mp_zero.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_zero.c; sourceTree = "<group>"; };
- F96D42D008F272B3004A47F5 /* bn_reverse.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_reverse.c; sourceTree = "<group>"; };
- F96D42D108F272B3004A47F5 /* bn_s_mp_add.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_s_mp_add.c; sourceTree = "<group>"; };
- F96D42D308F272B3004A47F5 /* bn_s_mp_mul_digs.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_s_mp_mul_digs.c; sourceTree = "<group>"; };
- F96D42D508F272B3004A47F5 /* bn_s_mp_sqr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_s_mp_sqr.c; sourceTree = "<group>"; };
- F96D42D608F272B3004A47F5 /* bn_s_mp_sub.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_s_mp_sub.c; sourceTree = "<group>"; };
- F96D42D708F272B3004A47F5 /* bncore.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bncore.c; sourceTree = "<group>"; };
- F96D432908F272B4004A47F5 /* tommath_class.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tommath_class.h; sourceTree = "<group>"; };
- F96D432A08F272B4004A47F5 /* tommath_superclass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tommath_superclass.h; sourceTree = "<group>"; };
- F96D432B08F272B4004A47F5 /* license.terms */ = {isa = PBXFileReference; explicitFileType = text; fileEncoding = 4; path = license.terms; sourceTree = "<group>"; };
- F96D432E08F272B5004A47F5 /* configure.ac */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = configure.ac; sourceTree = "<group>"; };
- F96D432F08F272B5004A47F5 /* GNUmakefile */ = {isa = PBXFileReference; explicitFileType = sourcecode.make; fileEncoding = 4; path = GNUmakefile; sourceTree = "<group>"; };
- F96D433108F272B5004A47F5 /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
- F96D433208F272B5004A47F5 /* Tcl-Info.plist.in */ = {isa = PBXFileReference; explicitFileType = text.plist; fileEncoding = 4; path = "Tcl-Info.plist.in"; sourceTree = "<group>"; };
- F96D433908F272B5004A47F5 /* tclMacOSXBundle.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclMacOSXBundle.c; sourceTree = "<group>"; };
- F96D433D08F272B5004A47F5 /* tclMacOSXFCmd.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclMacOSXFCmd.c; sourceTree = "<group>"; };
- F96D433E08F272B5004A47F5 /* tclMacOSXNotify.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclMacOSXNotify.c; sourceTree = "<group>"; };
- F96D434308F272B5004A47F5 /* README */ = {isa = PBXFileReference; explicitFileType = text; fileEncoding = 4; path = README; sourceTree = "<group>"; };
- F96D434508F272B5004A47F5 /* all.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = all.tcl; sourceTree = "<group>"; };
- F96D434608F272B5004A47F5 /* append.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = append.test; sourceTree = "<group>"; };
- F96D434708F272B5004A47F5 /* appendComp.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = appendComp.test; sourceTree = "<group>"; };
- F96D434808F272B5004A47F5 /* assocd.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = assocd.test; sourceTree = "<group>"; };
- F96D434908F272B5004A47F5 /* async.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = async.test; sourceTree = "<group>"; };
- F96D434A08F272B5004A47F5 /* autoMkindex.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = autoMkindex.test; sourceTree = "<group>"; };
- F96D434B08F272B5004A47F5 /* basic.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = basic.test; sourceTree = "<group>"; };
- F96D434C08F272B5004A47F5 /* binary.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = binary.test; sourceTree = "<group>"; };
- F96D434D08F272B5004A47F5 /* case.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = case.test; sourceTree = "<group>"; };
- F96D434E08F272B5004A47F5 /* chan.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = chan.test; sourceTree = "<group>"; };
- F96D434F08F272B5004A47F5 /* clock.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = clock.test; sourceTree = "<group>"; };
- F96D435008F272B5004A47F5 /* cmdAH.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = cmdAH.test; sourceTree = "<group>"; };
- F96D435108F272B5004A47F5 /* cmdIL.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = cmdIL.test; sourceTree = "<group>"; };
- F96D435208F272B5004A47F5 /* cmdInfo.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = cmdInfo.test; sourceTree = "<group>"; };
- F96D435308F272B5004A47F5 /* cmdMZ.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = cmdMZ.test; sourceTree = "<group>"; };
- F96D435408F272B5004A47F5 /* compExpr-old.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = "compExpr-old.test"; sourceTree = "<group>"; };
- F96D435508F272B5004A47F5 /* compExpr.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = compExpr.test; sourceTree = "<group>"; };
- F96D435608F272B5004A47F5 /* compile.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = compile.test; sourceTree = "<group>"; };
- F96D435708F272B5004A47F5 /* concat.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = concat.test; sourceTree = "<group>"; };
- F96D435808F272B5004A47F5 /* config.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = config.test; sourceTree = "<group>"; };
- F96D435908F272B5004A47F5 /* dcall.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = dcall.test; sourceTree = "<group>"; };
- F96D435A08F272B5004A47F5 /* dict.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = dict.test; sourceTree = "<group>"; };
- F96D435C08F272B5004A47F5 /* dstring.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = dstring.test; sourceTree = "<group>"; };
- F96D435E08F272B5004A47F5 /* encoding.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = encoding.test; sourceTree = "<group>"; };
- F96D435F08F272B5004A47F5 /* env.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = env.test; sourceTree = "<group>"; };
- F96D436008F272B5004A47F5 /* error.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = error.test; sourceTree = "<group>"; };
- F96D436108F272B5004A47F5 /* eval.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = eval.test; sourceTree = "<group>"; };
- F96D436208F272B5004A47F5 /* event.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = event.test; sourceTree = "<group>"; };
- F96D436308F272B5004A47F5 /* exec.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = exec.test; sourceTree = "<group>"; };
- F96D436408F272B5004A47F5 /* execute.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = execute.test; sourceTree = "<group>"; };
- F96D436508F272B5004A47F5 /* expr-old.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = "expr-old.test"; sourceTree = "<group>"; };
- F96D436608F272B5004A47F5 /* expr.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = expr.test; sourceTree = "<group>"; };
- F96D436708F272B6004A47F5 /* fCmd.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = fCmd.test; sourceTree = "<group>"; };
- F96D436808F272B6004A47F5 /* fileName.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = fileName.test; sourceTree = "<group>"; };
- F96D436908F272B6004A47F5 /* fileSystem.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = fileSystem.test; sourceTree = "<group>"; };
- F96D436A08F272B6004A47F5 /* for-old.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = "for-old.test"; sourceTree = "<group>"; };
- F96D436B08F272B6004A47F5 /* for.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = for.test; sourceTree = "<group>"; };
- F96D436C08F272B6004A47F5 /* foreach.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = foreach.test; sourceTree = "<group>"; };
- F96D436D08F272B6004A47F5 /* format.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = format.test; sourceTree = "<group>"; };
- F96D436E08F272B6004A47F5 /* get.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = get.test; sourceTree = "<group>"; };
- F96D436F08F272B6004A47F5 /* history.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = history.test; sourceTree = "<group>"; };
- F96D437008F272B6004A47F5 /* http.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = http.test; sourceTree = "<group>"; };
- F96D437108F272B6004A47F5 /* httpd */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = httpd; sourceTree = "<group>"; };
- F96D437208F272B6004A47F5 /* httpold.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = httpold.test; sourceTree = "<group>"; };
- F96D437308F272B6004A47F5 /* if-old.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = "if-old.test"; sourceTree = "<group>"; };
- F96D437408F272B6004A47F5 /* if.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = if.test; sourceTree = "<group>"; };
- F96D437508F272B6004A47F5 /* incr-old.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = "incr-old.test"; sourceTree = "<group>"; };
- F96D437608F272B6004A47F5 /* incr.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = incr.test; sourceTree = "<group>"; };
- F96D437708F272B6004A47F5 /* indexObj.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = indexObj.test; sourceTree = "<group>"; };
- F96D437808F272B6004A47F5 /* info.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = info.test; sourceTree = "<group>"; };
- F96D437908F272B6004A47F5 /* init.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = init.test; sourceTree = "<group>"; };
- F96D437A08F272B6004A47F5 /* interp.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = interp.test; sourceTree = "<group>"; };
- F96D437B08F272B6004A47F5 /* io.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = io.test; sourceTree = "<group>"; };
- F96D437C08F272B6004A47F5 /* ioCmd.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = ioCmd.test; sourceTree = "<group>"; };
- F96D437D08F272B6004A47F5 /* iogt.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = iogt.test; sourceTree = "<group>"; };
- F96D437F08F272B6004A47F5 /* join.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = join.test; sourceTree = "<group>"; };
- F96D438008F272B6004A47F5 /* lindex.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = lindex.test; sourceTree = "<group>"; };
- F96D438108F272B6004A47F5 /* link.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = link.test; sourceTree = "<group>"; };
- F96D438208F272B6004A47F5 /* linsert.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = linsert.test; sourceTree = "<group>"; };
- F96D438308F272B6004A47F5 /* list.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = list.test; sourceTree = "<group>"; };
- F96D438408F272B6004A47F5 /* listObj.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = listObj.test; sourceTree = "<group>"; };
- F96D438508F272B6004A47F5 /* llength.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = llength.test; sourceTree = "<group>"; };
- F96D438608F272B6004A47F5 /* load.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = load.test; sourceTree = "<group>"; };
- F96D438708F272B6004A47F5 /* lrange.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = lrange.test; sourceTree = "<group>"; };
- F96D438808F272B6004A47F5 /* lrepeat.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = lrepeat.test; sourceTree = "<group>"; };
- F96D438908F272B6004A47F5 /* lreplace.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = lreplace.test; sourceTree = "<group>"; };
- F96D438A08F272B6004A47F5 /* lsearch.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = lsearch.test; sourceTree = "<group>"; };
- F96D438B08F272B6004A47F5 /* lset.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = lset.test; sourceTree = "<group>"; };
- F96D438C08F272B6004A47F5 /* lsetComp.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = lsetComp.test; sourceTree = "<group>"; };
- F96D438D08F272B6004A47F5 /* macOSXFCmd.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = macOSXFCmd.test; sourceTree = "<group>"; };
- F96D438E08F272B6004A47F5 /* main.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = main.test; sourceTree = "<group>"; };
- F96D438F08F272B6004A47F5 /* misc.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = misc.test; sourceTree = "<group>"; };
- F96D439008F272B6004A47F5 /* msgcat.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = msgcat.test; sourceTree = "<group>"; };
- F96D439108F272B6004A47F5 /* namespace-old.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = "namespace-old.test"; sourceTree = "<group>"; };
- F96D439208F272B7004A47F5 /* namespace.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = namespace.test; sourceTree = "<group>"; };
- F96D439308F272B7004A47F5 /* notify.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = notify.test; sourceTree = "<group>"; };
- F96D439408F272B7004A47F5 /* obj.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = obj.test; sourceTree = "<group>"; };
- F96D439508F272B7004A47F5 /* opt.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = opt.test; sourceTree = "<group>"; };
- F96D439608F272B7004A47F5 /* package.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = package.test; sourceTree = "<group>"; };
- F96D439708F272B7004A47F5 /* parse.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = parse.test; sourceTree = "<group>"; };
- F96D439808F272B7004A47F5 /* parseExpr.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = parseExpr.test; sourceTree = "<group>"; };
- F96D439908F272B7004A47F5 /* parseOld.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = parseOld.test; sourceTree = "<group>"; };
- F96D439A08F272B7004A47F5 /* pid.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = pid.test; sourceTree = "<group>"; };
- F96D439B08F272B7004A47F5 /* pkg.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = pkg.test; sourceTree = "<group>"; };
- F96D439C08F272B7004A47F5 /* pkgMkIndex.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = pkgMkIndex.test; sourceTree = "<group>"; };
- F96D439D08F272B7004A47F5 /* platform.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = platform.test; sourceTree = "<group>"; };
- F96D439E08F272B7004A47F5 /* proc-old.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = "proc-old.test"; sourceTree = "<group>"; };
- F96D439F08F272B7004A47F5 /* proc.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = proc.test; sourceTree = "<group>"; };
- F96D43A008F272B7004A47F5 /* pwd.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = pwd.test; sourceTree = "<group>"; };
- F96D43A108F272B7004A47F5 /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
- F96D43A208F272B7004A47F5 /* reg.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = reg.test; sourceTree = "<group>"; };
- F96D43A308F272B7004A47F5 /* regexp.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = regexp.test; sourceTree = "<group>"; };
- F96D43A408F272B7004A47F5 /* regexpComp.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = regexpComp.test; sourceTree = "<group>"; };
- F96D43A508F272B7004A47F5 /* registry.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = registry.test; sourceTree = "<group>"; };
- F96D43A608F272B7004A47F5 /* remote.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = remote.tcl; sourceTree = "<group>"; };
- F96D43A708F272B7004A47F5 /* rename.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = rename.test; sourceTree = "<group>"; };
- F96D43A808F272B7004A47F5 /* result.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = result.test; sourceTree = "<group>"; };
- F96D43A908F272B7004A47F5 /* safe.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = safe.test; sourceTree = "<group>"; };
- F96D43AA08F272B7004A47F5 /* scan.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = scan.test; sourceTree = "<group>"; };
- F96D43AB08F272B7004A47F5 /* security.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = security.test; sourceTree = "<group>"; };
- F96D43AC08F272B7004A47F5 /* set-old.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = "set-old.test"; sourceTree = "<group>"; };
- F96D43AD08F272B7004A47F5 /* set.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = set.test; sourceTree = "<group>"; };
- F96D43AE08F272B7004A47F5 /* socket.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = socket.test; sourceTree = "<group>"; };
- F96D43AF08F272B7004A47F5 /* source.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = source.test; sourceTree = "<group>"; };
- F96D43B008F272B7004A47F5 /* split.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = split.test; sourceTree = "<group>"; };
- F96D43B108F272B7004A47F5 /* stack.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = stack.test; sourceTree = "<group>"; };
- F96D43B208F272B7004A47F5 /* string.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = string.test; sourceTree = "<group>"; };
- F96D43B308F272B7004A47F5 /* stringComp.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = stringComp.test; sourceTree = "<group>"; };
- F96D43B408F272B7004A47F5 /* stringObj.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = stringObj.test; sourceTree = "<group>"; };
- F96D43B508F272B7004A47F5 /* subst.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = subst.test; sourceTree = "<group>"; };
- F96D43B608F272B7004A47F5 /* switch.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = switch.test; sourceTree = "<group>"; };
- F96D43B708F272B7004A47F5 /* tcltest.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tcltest.test; sourceTree = "<group>"; };
- F96D43B808F272B7004A47F5 /* thread.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = thread.test; sourceTree = "<group>"; };
- F96D43B908F272B7004A47F5 /* timer.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = timer.test; sourceTree = "<group>"; };
- F96D43BA08F272B7004A47F5 /* tm.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tm.test; sourceTree = "<group>"; };
- F96D43BB08F272B7004A47F5 /* trace.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = trace.test; sourceTree = "<group>"; };
- F96D43BC08F272B7004A47F5 /* unixFCmd.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = unixFCmd.test; sourceTree = "<group>"; };
- F96D43BD08F272B7004A47F5 /* unixFile.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = unixFile.test; sourceTree = "<group>"; };
- F96D43BE08F272B7004A47F5 /* unixInit.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = unixInit.test; sourceTree = "<group>"; };
- F96D43BF08F272B7004A47F5 /* unixNotfy.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = unixNotfy.test; sourceTree = "<group>"; };
- F96D43C008F272B7004A47F5 /* unknown.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = unknown.test; sourceTree = "<group>"; };
- F96D43C108F272B7004A47F5 /* unload.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = unload.test; sourceTree = "<group>"; };
- F96D43C208F272B7004A47F5 /* uplevel.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = uplevel.test; sourceTree = "<group>"; };
- F96D43C308F272B7004A47F5 /* upvar.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = upvar.test; sourceTree = "<group>"; };
- F96D43C408F272B7004A47F5 /* utf.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = utf.test; sourceTree = "<group>"; };
- F96D43C508F272B7004A47F5 /* util.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = util.test; sourceTree = "<group>"; };
- F96D43C608F272B7004A47F5 /* var.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = var.test; sourceTree = "<group>"; };
- F96D43C708F272B7004A47F5 /* while-old.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = "while-old.test"; sourceTree = "<group>"; };
- F96D43C808F272B7004A47F5 /* while.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = while.test; sourceTree = "<group>"; };
- F96D43C908F272B7004A47F5 /* winConsole.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = winConsole.test; sourceTree = "<group>"; };
- F96D43CA08F272B7004A47F5 /* winDde.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = winDde.test; sourceTree = "<group>"; };
- F96D43CB08F272B7004A47F5 /* winFCmd.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = winFCmd.test; sourceTree = "<group>"; };
- F96D43CC08F272B7004A47F5 /* winFile.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = winFile.test; sourceTree = "<group>"; };
- F96D43CD08F272B7004A47F5 /* winNotify.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = winNotify.test; sourceTree = "<group>"; };
- F96D43CE08F272B7004A47F5 /* winPipe.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = winPipe.test; sourceTree = "<group>"; };
- F96D43CF08F272B7004A47F5 /* winTime.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = winTime.test; sourceTree = "<group>"; };
- F96D43D108F272B8004A47F5 /* checkLibraryDoc.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = checkLibraryDoc.tcl; sourceTree = "<group>"; };
- F96D43D208F272B8004A47F5 /* configure */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = configure; sourceTree = "<group>"; };
- F96D43D308F272B8004A47F5 /* configure.in */ = {isa = PBXFileReference; explicitFileType = text.script.sh; fileEncoding = 4; path = configure.in; sourceTree = "<group>"; };
- F96D442208F272B8004A47F5 /* eolFix.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = eolFix.tcl; sourceTree = "<group>"; };
- F96D442408F272B8004A47F5 /* fix_tommath_h.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = fix_tommath_h.tcl; sourceTree = "<group>"; };
- F96D442508F272B8004A47F5 /* genStubs.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = genStubs.tcl; sourceTree = "<group>"; };
- F96D442708F272B8004A47F5 /* index.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = index.tcl; sourceTree = "<group>"; };
- F96D442808F272B8004A47F5 /* installData.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = installData.tcl; sourceTree = "<group>"; };
- F96D442908F272B8004A47F5 /* loadICU.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = loadICU.tcl; sourceTree = "<group>"; };
- F96D442A08F272B8004A47F5 /* Makefile.in */ = {isa = PBXFileReference; explicitFileType = sourcecode.make; fileEncoding = 4; path = Makefile.in; sourceTree = "<group>"; };
- F96D442B08F272B8004A47F5 /* makeTestCases.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = makeTestCases.tcl; sourceTree = "<group>"; };
- F96D442C08F272B8004A47F5 /* man2help.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = man2help.tcl; sourceTree = "<group>"; };
- F96D442D08F272B8004A47F5 /* man2help2.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = man2help2.tcl; sourceTree = "<group>"; };
- F96D442E08F272B8004A47F5 /* man2html.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = man2html.tcl; sourceTree = "<group>"; };
- F96D442F08F272B8004A47F5 /* man2html1.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = man2html1.tcl; sourceTree = "<group>"; };
- F96D443008F272B8004A47F5 /* man2html2.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = man2html2.tcl; sourceTree = "<group>"; };
- F96D443108F272B8004A47F5 /* man2tcl.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = man2tcl.c; sourceTree = "<group>"; };
- F96D443208F272B8004A47F5 /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
- F96D443308F272B8004A47F5 /* regexpTestLib.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = regexpTestLib.tcl; sourceTree = "<group>"; };
- F96D443508F272B8004A47F5 /* tcl.hpj.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = tcl.hpj.in; sourceTree = "<group>"; };
- F96D443608F272B8004A47F5 /* tcl.wse.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = tcl.wse.in; sourceTree = "<group>"; };
- F96D443908F272B9004A47F5 /* tcltk-man2html.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = "tcltk-man2html.tcl"; sourceTree = "<group>"; };
- F96D443A08F272B9004A47F5 /* tclZIC.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tclZIC.tcl; sourceTree = "<group>"; };
- F96D443B08F272B9004A47F5 /* uniClass.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = uniClass.tcl; sourceTree = "<group>"; };
- F96D443C08F272B9004A47F5 /* uniParse.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = uniParse.tcl; sourceTree = "<group>"; };
- F96D444008F272B9004A47F5 /* aclocal.m4 */ = {isa = PBXFileReference; explicitFileType = text.script.sh; fileEncoding = 4; path = aclocal.m4; sourceTree = "<group>"; };
- F96D444108F272B9004A47F5 /* configure */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = configure; sourceTree = "<group>"; };
- F96D444208F272B9004A47F5 /* configure.in */ = {isa = PBXFileReference; explicitFileType = text.script.sh; fileEncoding = 4; path = configure.in; sourceTree = "<group>"; };
- F96D444408F272B9004A47F5 /* Makefile.in */ = {isa = PBXFileReference; explicitFileType = sourcecode.make; fileEncoding = 4; path = Makefile.in; sourceTree = "<group>"; };
- F96D444508F272B9004A47F5 /* pkga.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pkga.c; sourceTree = "<group>"; };
- F96D444608F272B9004A47F5 /* pkgb.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pkgb.c; sourceTree = "<group>"; };
- F96D444708F272B9004A47F5 /* pkgc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pkgc.c; sourceTree = "<group>"; };
- F96D444808F272B9004A47F5 /* pkgd.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pkgd.c; sourceTree = "<group>"; };
- F96D444908F272B9004A47F5 /* pkge.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pkge.c; sourceTree = "<group>"; };
- F96D444B08F272B9004A47F5 /* pkgua.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pkgua.c; sourceTree = "<group>"; };
- F96D444C08F272B9004A47F5 /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
- F96D444D08F272B9004A47F5 /* install-sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = "install-sh"; sourceTree = "<group>"; };
- F96D444E08F272B9004A47F5 /* installManPage */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = installManPage; sourceTree = "<group>"; };
- F96D444F08F272B9004A47F5 /* ldAix */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = ldAix; sourceTree = "<group>"; };
- F96D445008F272B9004A47F5 /* Makefile.in */ = {isa = PBXFileReference; explicitFileType = sourcecode.make; fileEncoding = 4; path = Makefile.in; sourceTree = "<group>"; };
- F96D445208F272B9004A47F5 /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
- F96D445308F272B9004A47F5 /* tcl.m4 */ = {isa = PBXFileReference; explicitFileType = text.script.sh; fileEncoding = 4; path = tcl.m4; sourceTree = "<group>"; };
- F96D445408F272B9004A47F5 /* tcl.spec */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = tcl.spec; sourceTree = "<group>"; };
- F96D445508F272B9004A47F5 /* tclAppInit.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclAppInit.c; sourceTree = "<group>"; };
- F96D445608F272B9004A47F5 /* tclConfig.h.in */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; path = tclConfig.h.in; sourceTree = "<group>"; };
- F96D445708F272B9004A47F5 /* tclConfig.sh.in */ = {isa = PBXFileReference; explicitFileType = text.script.sh; fileEncoding = 4; path = tclConfig.sh.in; sourceTree = "<group>"; };
- F96D445808F272B9004A47F5 /* tclLoadAix.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclLoadAix.c; sourceTree = "<group>"; };
- F96D445908F272B9004A47F5 /* tclLoadDl.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclLoadDl.c; sourceTree = "<group>"; };
- F96D445B08F272B9004A47F5 /* tclLoadDyld.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclLoadDyld.c; sourceTree = "<group>"; };
- F96D445C08F272B9004A47F5 /* tclLoadNext.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclLoadNext.c; sourceTree = "<group>"; };
- F96D445D08F272B9004A47F5 /* tclLoadOSF.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclLoadOSF.c; sourceTree = "<group>"; };
- F96D445E08F272B9004A47F5 /* tclLoadShl.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclLoadShl.c; sourceTree = "<group>"; };
- F96D445F08F272B9004A47F5 /* tclUnixChan.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclUnixChan.c; sourceTree = "<group>"; };
- F96D446008F272B9004A47F5 /* tclUnixEvent.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclUnixEvent.c; sourceTree = "<group>"; };
- F96D446108F272B9004A47F5 /* tclUnixFCmd.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclUnixFCmd.c; sourceTree = "<group>"; };
- F96D446208F272B9004A47F5 /* tclUnixFile.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclUnixFile.c; sourceTree = "<group>"; };
- F96D446308F272B9004A47F5 /* tclUnixInit.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclUnixInit.c; sourceTree = "<group>"; };
- F96D446408F272B9004A47F5 /* tclUnixNotfy.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclUnixNotfy.c; sourceTree = "<group>"; };
- F96D446508F272B9004A47F5 /* tclUnixPipe.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclUnixPipe.c; sourceTree = "<group>"; };
- F96D446608F272B9004A47F5 /* tclUnixPort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclUnixPort.h; sourceTree = "<group>"; };
- F96D446708F272B9004A47F5 /* tclUnixSock.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclUnixSock.c; sourceTree = "<group>"; };
- F96D446808F272B9004A47F5 /* tclUnixTest.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclUnixTest.c; sourceTree = "<group>"; };
- F96D446908F272B9004A47F5 /* tclUnixThrd.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclUnixThrd.c; sourceTree = "<group>"; };
- F96D446A08F272B9004A47F5 /* tclUnixThrd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclUnixThrd.h; sourceTree = "<group>"; };
- F96D446B08F272B9004A47F5 /* tclUnixTime.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclUnixTime.c; sourceTree = "<group>"; };
- F96D446C08F272B9004A47F5 /* tclXtNotify.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclXtNotify.c; sourceTree = "<group>"; };
- F96D446D08F272B9004A47F5 /* tclXtTest.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclXtTest.c; sourceTree = "<group>"; };
- F96D447008F272BA004A47F5 /* aclocal.m4 */ = {isa = PBXFileReference; explicitFileType = text.script.sh; fileEncoding = 4; path = aclocal.m4; sourceTree = "<group>"; };
- F96D447108F272BA004A47F5 /* buildall.vc.bat */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = buildall.vc.bat; sourceTree = "<group>"; };
- F96D447208F272BA004A47F5 /* cat.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cat.c; sourceTree = "<group>"; };
- F96D447408F272BA004A47F5 /* configure */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = configure; sourceTree = "<group>"; };
- F96D447508F272BA004A47F5 /* configure.in */ = {isa = PBXFileReference; explicitFileType = text.script.sh; fileEncoding = 4; path = configure.in; sourceTree = "<group>"; };
- F96D447708F272BA004A47F5 /* Makefile.in */ = {isa = PBXFileReference; explicitFileType = sourcecode.make; fileEncoding = 4; path = Makefile.in; sourceTree = "<group>"; };
- F96D447808F272BA004A47F5 /* makefile.vc */ = {isa = PBXFileReference; explicitFileType = sourcecode.make; fileEncoding = 4; path = makefile.vc; sourceTree = "<group>"; };
- F96D447908F272BA004A47F5 /* nmakehlp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = nmakehlp.c; sourceTree = "<group>"; };
- F96D447A08F272BA004A47F5 /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
- F96D447C08F272BA004A47F5 /* rules.vc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = rules.vc; sourceTree = "<group>"; };
- F96D447D08F272BA004A47F5 /* stub16.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = stub16.c; sourceTree = "<group>"; };
- F96D447E08F272BA004A47F5 /* tcl.dsp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = tcl.dsp; sourceTree = "<group>"; };
- F96D447F08F272BA004A47F5 /* tcl.dsw */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = tcl.dsw; sourceTree = "<group>"; };
- F96D448008F272BA004A47F5 /* tcl.hpj.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = tcl.hpj.in; sourceTree = "<group>"; };
- F96D448108F272BA004A47F5 /* tcl.m4 */ = {isa = PBXFileReference; explicitFileType = text.script.sh; fileEncoding = 4; path = tcl.m4; sourceTree = "<group>"; };
- F96D448208F272BA004A47F5 /* tcl.rc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = tcl.rc; sourceTree = "<group>"; };
- F96D448308F272BA004A47F5 /* tclAppInit.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclAppInit.c; sourceTree = "<group>"; };
- F96D448408F272BA004A47F5 /* tclConfig.sh.in */ = {isa = PBXFileReference; explicitFileType = text.script.sh; fileEncoding = 4; path = tclConfig.sh.in; sourceTree = "<group>"; };
- F96D448608F272BA004A47F5 /* tclsh.rc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = tclsh.rc; sourceTree = "<group>"; };
- F96D448708F272BA004A47F5 /* tclWin32Dll.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclWin32Dll.c; sourceTree = "<group>"; };
- F96D448808F272BA004A47F5 /* tclWinChan.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclWinChan.c; sourceTree = "<group>"; };
- F96D448908F272BA004A47F5 /* tclWinConsole.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclWinConsole.c; sourceTree = "<group>"; };
- F96D448A08F272BA004A47F5 /* tclWinDde.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclWinDde.c; sourceTree = "<group>"; };
- F96D448B08F272BA004A47F5 /* tclWinError.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclWinError.c; sourceTree = "<group>"; };
- F96D448C08F272BA004A47F5 /* tclWinFCmd.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclWinFCmd.c; sourceTree = "<group>"; };
- F96D448D08F272BA004A47F5 /* tclWinFile.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclWinFile.c; sourceTree = "<group>"; };
- F96D448E08F272BA004A47F5 /* tclWinInit.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclWinInit.c; sourceTree = "<group>"; };
- F96D448F08F272BA004A47F5 /* tclWinInt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclWinInt.h; sourceTree = "<group>"; };
- F96D449008F272BA004A47F5 /* tclWinLoad.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclWinLoad.c; sourceTree = "<group>"; };
- F96D449108F272BA004A47F5 /* tclWinNotify.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclWinNotify.c; sourceTree = "<group>"; };
- F96D449208F272BA004A47F5 /* tclWinPipe.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclWinPipe.c; sourceTree = "<group>"; };
- F96D449308F272BA004A47F5 /* tclWinPort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclWinPort.h; sourceTree = "<group>"; };
- F96D449408F272BA004A47F5 /* tclWinReg.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclWinReg.c; sourceTree = "<group>"; };
- F96D449508F272BA004A47F5 /* tclWinSerial.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclWinSerial.c; sourceTree = "<group>"; };
- F96D449608F272BA004A47F5 /* tclWinSock.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclWinSock.c; sourceTree = "<group>"; };
- F96D449708F272BA004A47F5 /* tclWinTest.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclWinTest.c; sourceTree = "<group>"; };
- F96D449808F272BA004A47F5 /* tclWinThrd.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclWinThrd.c; sourceTree = "<group>"; };
- F96D449908F272BA004A47F5 /* tclWinThrd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclWinThrd.h; sourceTree = "<group>"; };
- F96D449A08F272BA004A47F5 /* tclWinTime.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclWinTime.c; sourceTree = "<group>"; };
- F973E5960EE99384001A648E /* vistaTheme.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = vistaTheme.tcl; sourceTree = "<group>"; };
- F974D56C0FBE7D6300BF728B /* http11.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = http11.test; sourceTree = "<group>"; };
- F974D56D0FBE7D6300BF728B /* httpd11.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = httpd11.tcl; sourceTree = "<group>"; };
- F974D5720FBE7DC600BF728B /* coroutine.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = coroutine.n; sourceTree = "<group>"; };
- F974D5760FBE7E1900BF728B /* tailcall.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = tailcall.n; sourceTree = "<group>"; };
- F974D5770FBE7E6100BF728B /* coroutine.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = coroutine.test; sourceTree = "<group>"; };
- F974D5780FBE7E6100BF728B /* tailcall.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tailcall.test; sourceTree = "<group>"; };
- F974D5790FBE7E9C00BF728B /* tcl.pc.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = tcl.pc.in; sourceTree = "<group>"; };
- F974D57B0FBE7EC000BF728B /* tk.pc.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = tk.pc.in; sourceTree = "<group>"; };
- F974D57C0FBE7EFF00BF728B /* iconlist.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = iconlist.tcl; sourceTree = "<group>"; };
- F974D57D0FBE7EFF00BF728B /* icons.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = icons.tcl; sourceTree = "<group>"; };
- F97590AE1039A96200558A9A /* Wish.sdef */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.sdef; path = Wish.sdef; sourceTree = "<group>"; };
- F976F6A70C325FB6005066D9 /* tkMacOSXPrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tkMacOSXPrivate.h; sourceTree = "<group>"; };
- F97AE7F10B65C1E900310EA2 /* Tk-Common.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "Tk-Common.xcconfig"; sourceTree = "<group>"; };
- F97AE82B0B65C69B00310EA2 /* Tk-Release.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "Tk-Release.xcconfig"; sourceTree = "<group>"; };
- F97AE8330B65C87F00310EA2 /* Tk-Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "Tk-Debug.xcconfig"; sourceTree = "<group>"; };
- F98383650F0FA43900171CA6 /* checkbutton.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = checkbutton.test; sourceTree = "<group>"; };
- F98383680F0FA44700171CA6 /* radiobutton.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = radiobutton.test; sourceTree = "<group>"; };
- F9903CAF094FAADA004613E9 /* tclTomMath.decls */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = tclTomMath.decls; sourceTree = "<group>"; };
- F9903CB0094FAADA004613E9 /* tclTomMathDecls.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tclTomMathDecls.h; sourceTree = "<group>"; };
- F99388380EE0114B0065FE6B /* fontchooser.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = fontchooser.tcl; sourceTree = "<group>"; };
- F99388950EE02D980065FE6B /* fontchooser.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = fontchooser.test; sourceTree = "<group>"; };
- F99D61180EF5573A00BBFE01 /* TclZlib.3 */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = TclZlib.3; sourceTree = "<group>"; };
- F9A3082D08F2D4AB00BAE1AB /* Tk.framework */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = wrapper.framework; path = Tk.framework; sourceTree = BUILT_PRODUCTS_DIR; };
- F9A3084B08F2D4CE00BAE1AB /* Wish.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Wish.app; sourceTree = BUILT_PRODUCTS_DIR; };
- F9A3084E08F2D4F400BAE1AB /* Tcl.framework */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = wrapper.framework; path = Tcl.framework; sourceTree = BUILT_PRODUCTS_DIR; };
- F9A493240CEBF38300B78AE2 /* chanio.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = chanio.test; sourceTree = "<group>"; };
- F9C888C20EEF6571003F63AD /* fontchooser.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = fontchooser.n; sourceTree = "<group>"; };
- F9C9CBFF0E84059800E00935 /* ApplicationServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ApplicationServices.framework; path = /System/Library/Frameworks/ApplicationServices.framework; sourceTree = "<absolute>"; };
- F9D1360A0CDC252C00DBE0B5 /* mclist.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = mclist.tcl; sourceTree = "<group>"; };
- F9DD99BC0F07DF850018B2E4 /* tkImgPNG.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tkImgPNG.c; sourceTree = "<group>"; };
- F9DD99BF0F07DFCD0018B2E4 /* imgPNG.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = imgPNG.test; sourceTree = "<group>"; };
- F9ECB1120B26521500A28025 /* pkgIndex.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = pkgIndex.tcl; sourceTree = "<group>"; };
- F9ECB1130B26521500A28025 /* platform.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = platform.tcl; sourceTree = "<group>"; };
- F9ECB1140B26521500A28025 /* shell.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = shell.tcl; sourceTree = "<group>"; };
- F9ECB1CA0B2652D300A28025 /* apply.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = apply.test; sourceTree = "<group>"; };
- F9ECB1CB0B26534C00A28025 /* mathop.test */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; path = mathop.test; sourceTree = "<group>"; };
- F9ECB1E10B26543C00A28025 /* platform_shell.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = platform_shell.n; sourceTree = "<group>"; };
- F9ECB1E20B26543C00A28025 /* platform.n */ = {isa = PBXFileReference; explicitFileType = text.man; fileEncoding = 4; path = platform.n; sourceTree = "<group>"; };
- F9F4415D0C8BAE6F00BCCD67 /* tclDTrace.d */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.dtrace; path = tclDTrace.d; sourceTree = "<group>"; };
- F9F4EFDC0CC7B3CA00378A27 /* ttkpane.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; languageSpecificationIdentifier = shell; path = ttkpane.tcl; sourceTree = "<group>"; };
- F9F4EFDD0CC7B3CB00378A27 /* ttkmenu.tcl */ = {isa = PBXFileReference; explicitFileType = text.script; fileEncoding = 4; languageSpecificationIdentifier = shell; path = ttkmenu.tcl; sourceTree = "<group>"; };
- F9FC77B70AB29E9100B7077D /* tclUnixCompat.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tclUnixCompat.c; sourceTree = "<group>"; };
- F9FD31F40CC1AD070073837D /* tktest-X11 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "tktest-X11"; sourceTree = BUILT_PRODUCTS_DIR; };
- F9FD32140CC1AF170073837D /* libX11.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libX11.dylib; path = /usr/X11R6/lib/libX11.dylib; sourceTree = "<absolute>"; };
- F9FD32150CC1AF170073837D /* libXext.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libXext.dylib; path = /usr/X11R6/lib/libXext.dylib; sourceTree = "<absolute>"; };
- F9FD32160CC1AF170073837D /* libXss.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libXss.dylib; path = /usr/X11R6/lib/libXss.dylib; sourceTree = "<absolute>"; };
- F9FD34990CC1BB0D0073837D /* libfreetype.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libfreetype.dylib; path = /usr/X11R6/lib/libfreetype.dylib; sourceTree = "<absolute>"; };
- F9FD349A0CC1BB0D0073837D /* libXft.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libXft.dylib; path = /usr/X11R6/lib/libXft.dylib; sourceTree = "<absolute>"; };
- F9FD34C30CC1BBD70073837D /* libfontconfig.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libfontconfig.dylib; path = /usr/X11R6/lib/libfontconfig.dylib; sourceTree = "<absolute>"; };
-/* End PBXFileReference section */
-
-/* Begin PBXFrameworksBuildPhase section */
- 8DD76FAD0486AB0100D96B5E /* Frameworks */ = {
- isa = PBXFrameworksBuildPhase;
- buildActionMask = 2147483647;
- files = (
- F966C07508F2820D005CB29B /* CoreFoundation.framework in Frameworks */,
- F96437E70EF0D652003F468E /* libz.dylib in Frameworks */,
- F966C07708F2821B005CB29B /* Carbon.framework in Frameworks */,
- F966C07908F28233005CB29B /* IOKit.framework in Frameworks */,
- F94523A20E6FC2AC00C1D987 /* Cocoa.framework in Frameworks */,
- F9C9CC000E84059800E00935 /* ApplicationServices.framework in Frameworks */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
- F9FD31E30CC1AD070073837D /* Frameworks */ = {
- isa = PBXFrameworksBuildPhase;
- buildActionMask = 2147483647;
- files = (
- F9FD31E40CC1AD070073837D /* CoreFoundation.framework in Frameworks */,
- F96437E80EF0D652003F468E /* libz.dylib in Frameworks */,
- F9FD32170CC1AF170073837D /* libX11.dylib in Frameworks */,
- F9FD32180CC1AF170073837D /* libXext.dylib in Frameworks */,
- F9FD32190CC1AF170073837D /* libXss.dylib in Frameworks */,
- F9FD349C0CC1BB0D0073837D /* libXft.dylib in Frameworks */,
- F9FD349B0CC1BB0D0073837D /* libfreetype.dylib in Frameworks */,
- F9FD34C40CC1BBD70073837D /* libfontconfig.dylib in Frameworks */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXFrameworksBuildPhase section */
-
-/* Begin PBXGroup section */
- 08FB7794FE84155DC02AAC07 /* Tk */ = {
- isa = PBXGroup;
- children = (
- F96D3DF708F271BE004A47F5 /* Tk Sources */,
- F96D3DF608F27169004A47F5 /* Tcl Sources */,
- F966C06F08F281DC005CB29B /* Frameworks */,
- 1AB674ADFE9D54B511CA2CBB /* Products */,
- );
- comments = "Copyright (c) 2004-2009 Daniel A. Steffen <das@users.sourceforge.net>\nCopyright 2008-2009, Apple Inc.\n\nSee the file \"license.terms\" for information on usage and redistribution of\nthis file, and for a DISCLAIMER OF ALL WARRANTIES.\n";
- name = Tk;
- path = .;
- sourceTree = SOURCE_ROOT;
- };
- 1AB674ADFE9D54B511CA2CBB /* Products */ = {
- isa = PBXGroup;
- children = (
- F9A3084B08F2D4CE00BAE1AB /* Wish.app */,
- F9A3082D08F2D4AB00BAE1AB /* Tk.framework */,
- F9A3084E08F2D4F400BAE1AB /* Tcl.framework */,
- 8DD76FB20486AB0100D96B5E /* tktest */,
- F9FD31F40CC1AD070073837D /* tktest-X11 */,
- );
- includeInIndex = 0;
- name = Products;
- sourceTree = "<group>";
- };
- F9183E690EFC81560030B814 /* pkgs */ = {
- isa = PBXGroup;
- children = (
- F9183E6A0EFC81560030B814 /* README */,
- F946FB8B0FBE3AED00CD6495 /* itcl */,
- F9183E8F0EFC817B0030B814 /* tdbc */,
- );
- path = pkgs;
- sourceTree = "<group>";
- };
- F966BA0308F27A37005CB29B /* bitmaps */ = {
- isa = PBXGroup;
- children = (
- F966BA0408F27A37005CB29B /* error.xbm */,
- F966BA0508F27A37005CB29B /* gray12.xbm */,
- F966BA0608F27A37005CB29B /* gray25.xbm */,
- F966BA0708F27A37005CB29B /* gray50.xbm */,
- F966BA0808F27A37005CB29B /* gray75.xbm */,
- F966BA0908F27A37005CB29B /* hourglass.xbm */,
- F966BA0A08F27A37005CB29B /* info.xbm */,
- F966BA0B08F27A37005CB29B /* questhead.xbm */,
- F966BA0C08F27A37005CB29B /* question.xbm */,
- F966BA0D08F27A37005CB29B /* warning.xbm */,
- );
- path = bitmaps;
- sourceTree = "<group>";
- };
- F966BA1008F27A37005CB29B /* doc */ = {
- isa = PBXGroup;
- children = (
- F966BA1108F27A37005CB29B /* 3DBorder.3 */,
- F966BA1208F27A37005CB29B /* AddOption.3 */,
- F966BA1308F27A37005CB29B /* bell.n */,
- F966BA1408F27A37005CB29B /* bind.n */,
- F966BA1508F27A37005CB29B /* BindTable.3 */,
- F966BA1608F27A37005CB29B /* bindtags.n */,
- F966BA1708F27A37005CB29B /* bitmap.n */,
- F966BA1808F27A37005CB29B /* button.n */,
- F966BA1908F27A37005CB29B /* canvas.n */,
- F966BA1A08F27A37005CB29B /* CanvPsY.3 */,
- F966BA1B08F27A37005CB29B /* CanvTkwin.3 */,
- F966BA1C08F27A37005CB29B /* CanvTxtInfo.3 */,
- F966BA1D08F27A37005CB29B /* checkbutton.n */,
- F966BA1E08F27A37005CB29B /* chooseColor.n */,
- F966BA1F08F27A37005CB29B /* chooseDirectory.n */,
- F966BA2008F27A37005CB29B /* Clipboard.3 */,
- F966BA2108F27A37005CB29B /* clipboard.n */,
- F966BA2208F27A37005CB29B /* ClrSelect.3 */,
- F966BA2308F27A37005CB29B /* colors.n */,
- F966BA2408F27A37005CB29B /* ConfigWidg.3 */,
- F966BA2508F27A37005CB29B /* ConfigWind.3 */,
- F966BA2608F27A37005CB29B /* console.n */,
- F966BA2708F27A37005CB29B /* CoordToWin.3 */,
- F966BA2808F27A37005CB29B /* CrtCmHdlr.3 */,
- F966BA2908F27A37005CB29B /* CrtErrHdlr.3 */,
- F966BA2A08F27A37005CB29B /* CrtGenHdlr.3 */,
- F966BA2B08F27A37005CB29B /* CrtImgType.3 */,
- F966BA2C08F27A37005CB29B /* CrtItemType.3 */,
- F966BA2D08F27A37005CB29B /* CrtPhImgFmt.3 */,
- F966BA2E08F27A37005CB29B /* CrtSelHdlr.3 */,
- F966BA2F08F27A37005CB29B /* CrtWindow.3 */,
- F966BA3008F27A37005CB29B /* cursors.n */,
- F966BA3108F27A37005CB29B /* DeleteImg.3 */,
- F966BA3208F27A37005CB29B /* destroy.n */,
- F966BA3308F27A37005CB29B /* dialog.n */,
- F966BA3408F27A37005CB29B /* DrawFocHlt.3 */,
- F966BA3508F27A37005CB29B /* entry.n */,
- F966BA3608F27A37005CB29B /* event.n */,
- F966BA3708F27A37005CB29B /* EventHndlr.3 */,
- F966BA3808F27A37005CB29B /* FindPhoto.3 */,
- F966BA3908F27A37005CB29B /* focus.n */,
- F966BA3A08F27A37005CB29B /* focusNext.n */,
- F966BA3B08F27A37005CB29B /* font.n */,
- F9C888C20EEF6571003F63AD /* fontchooser.n */,
- F966BA3C08F27A37005CB29B /* FontId.3 */,
- F966BA3D08F27A37005CB29B /* frame.n */,
- F966BA3E08F27A37005CB29B /* FreeXId.3 */,
- F966BA3F08F27A37005CB29B /* GeomReq.3 */,
- F966BA4008F27A37005CB29B /* GetAnchor.3 */,
- F966BA4108F27A37005CB29B /* GetBitmap.3 */,
- F966BA4208F27A37005CB29B /* GetCapStyl.3 */,
- F966BA4308F27A37005CB29B /* GetClrmap.3 */,
- F966BA4408F27A37005CB29B /* GetColor.3 */,
- F966BA4508F27A37005CB29B /* GetCursor.3 */,
- F966BA4608F27A37005CB29B /* GetDash.3 */,
- F966BA4708F27A37005CB29B /* GetFont.3 */,
- F966BA4808F27A37005CB29B /* GetGC.3 */,
- F966BA4908F27A37005CB29B /* GetHINSTANCE.3 */,
- F966BA4A08F27A37005CB29B /* GetHWND.3 */,
- F966BA4B08F27A37005CB29B /* GetImage.3 */,
- F966BA4C08F27A37005CB29B /* GetJoinStl.3 */,
- F966BA4D08F27A37005CB29B /* GetJustify.3 */,
- F966BA4E08F27A37005CB29B /* getOpenFile.n */,
- F966BA4F08F27A37005CB29B /* GetOption.3 */,
- F966BA5008F27A38005CB29B /* GetPixels.3 */,
- F966BA5108F27A38005CB29B /* GetPixmap.3 */,
- F966BA5208F27A38005CB29B /* GetRelief.3 */,
- F966BA5308F27A38005CB29B /* GetRootCrd.3 */,
- F966BA5408F27A38005CB29B /* GetScroll.3 */,
- F966BA5508F27A38005CB29B /* GetSelect.3 */,
- F966BA5608F27A38005CB29B /* GetUid.3 */,
- F966BA5708F27A38005CB29B /* GetVisual.3 */,
- F966BA5808F27A38005CB29B /* GetVRoot.3 */,
- F966BA5908F27A38005CB29B /* Grab.3 */,
- F966BA5A08F27A38005CB29B /* grab.n */,
- F966BA5B08F27A38005CB29B /* grid.n */,
- F966BA5C08F27A38005CB29B /* HandleEvent.3 */,
- F966BA5D08F27A38005CB29B /* HWNDToWindow.3 */,
- F966BA5E08F27A38005CB29B /* IdToWindow.3 */,
- F966BA5F08F27A38005CB29B /* image.n */,
- F966BA6008F27A38005CB29B /* ImgChanged.3 */,
- F966BA6108F27A38005CB29B /* Inactive.3 */,
- F966BA6208F27A38005CB29B /* InternAtom.3 */,
- F966BA6308F27A38005CB29B /* keysyms.n */,
- F966BA6408F27A38005CB29B /* label.n */,
- F966BA6508F27A38005CB29B /* labelframe.n */,
- F966BA6608F27A38005CB29B /* listbox.n */,
- F966BA6708F27A38005CB29B /* loadTk.n */,
- F966BA6808F27A38005CB29B /* lower.n */,
- F966BA6908F27A38005CB29B /* MainLoop.3 */,
- F966BA6A08F27A38005CB29B /* MaintGeom.3 */,
- F966BA6B08F27A38005CB29B /* MainWin.3 */,
- F966BA6D08F27A38005CB29B /* ManageGeom.3 */,
- F966BA6E08F27A38005CB29B /* MapWindow.3 */,
- F966BA6F08F27A38005CB29B /* MeasureChar.3 */,
- F966BA7008F27A38005CB29B /* menu.n */,
- F966BA7108F27A38005CB29B /* menubar.n */,
- F966BA7208F27A38005CB29B /* menubutton.n */,
- F966BA7308F27A38005CB29B /* message.n */,
- F966BA7408F27A38005CB29B /* messageBox.n */,
- F966BA7508F27A38005CB29B /* MoveToplev.3 */,
- F966BA7608F27A38005CB29B /* Name.3 */,
- F966BA7708F27A38005CB29B /* NameOfImg.3 */,
- F966BA7808F27A38005CB29B /* option.n */,
- F966BA7908F27A38005CB29B /* optionMenu.n */,
- F966BA7A08F27A38005CB29B /* options.n */,
- F966BA7B08F27A38005CB29B /* OwnSelect.3 */,
- F966BA7C08F27A38005CB29B /* pack-old.n */,
- F966BA7D08F27A38005CB29B /* pack.n */,
- F966BA7E08F27A38005CB29B /* palette.n */,
- F966BA7F08F27A38005CB29B /* panedwindow.n */,
- F966BA8008F27A38005CB29B /* ParseArgv.3 */,
- F966BA8108F27A38005CB29B /* photo.n */,
- F966BA8208F27A38005CB29B /* place.n */,
- F966BA8308F27A38005CB29B /* popup.n */,
- F966BA8408F27A38005CB29B /* QWinEvent.3 */,
- F966BA8508F27A38005CB29B /* radiobutton.n */,
- F966BA8608F27A38005CB29B /* raise.n */,
- F966BA8708F27A38005CB29B /* Restack.3 */,
- F966BA8808F27A38005CB29B /* RestrictEv.3 */,
- F966BA8908F27A38005CB29B /* scale.n */,
- F966BA8A08F27A38005CB29B /* scrollbar.n */,
- F966BA8B08F27A38005CB29B /* selection.n */,
- F966BA8C08F27A38005CB29B /* send.n */,
- F966BA8D08F27A38005CB29B /* SetAppName.3 */,
- F966BA8E08F27A38005CB29B /* SetCaret.3 */,
- F966BA8F08F27A38005CB29B /* SetClass.3 */,
- F966BA9008F27A38005CB29B /* SetClassProcs.3 */,
- F966BA9108F27A38005CB29B /* SetGrid.3 */,
- F966BA9208F27A38005CB29B /* SetOptions.3 */,
- F966BA9308F27A38005CB29B /* SetVisual.3 */,
- F966BA9408F27A38005CB29B /* spinbox.n */,
- F966BA9508F27A38005CB29B /* StrictMotif.3 */,
- F966BA9608F27A38005CB29B /* text.n */,
- F966BA9708F27A38005CB29B /* TextLayout.3 */,
- F966BA9808F27A38005CB29B /* tk.n */,
- F966BA9A08F27A38005CB29B /* Tk_Init.3 */,
- F966BA9B08F27A38005CB29B /* Tk_Main.3 */,
- F966BA9C08F27A38005CB29B /* tkerror.n */,
- F966BA9D08F27A38005CB29B /* TkInitStubs.3 */,
- F966BA9E08F27A38005CB29B /* tkvars.n */,
- F966BA9F08F27A38005CB29B /* tkwait.n */,
- F966BAA008F27A38005CB29B /* toplevel.n */,
- F968886B0AF788F6000797B5 /* ttk_button.n */,
- F968886C0AF788F6000797B5 /* ttk_checkbutton.n */,
- F968886D0AF788F6000797B5 /* ttk_combobox.n */,
- F968886F0AF788F6000797B5 /* ttk_entry.n */,
- F96888700AF788F6000797B5 /* ttk_frame.n */,
- F96888710AF788F6000797B5 /* ttk_Geometry.3 */,
- F96888720AF788F6000797B5 /* ttk_image.n */,
- F96888730AF788F6000797B5 /* ttk_intro.n */,
- F96888740AF788F6000797B5 /* ttk_label.n */,
- F96888750AF788F6000797B5 /* ttk_labelframe.n */,
- F96888760AF788F6000797B5 /* ttk_menubutton.n */,
- F96888770AF788F6000797B5 /* ttk_notebook.n */,
- F96888780AF788F6000797B5 /* ttk_panedwindow.n */,
- F96888790AF788F6000797B5 /* ttk_progressbar.n */,
- F968887A0AF788F6000797B5 /* ttk_radiobutton.n */,
- F968887B0AF788F6000797B5 /* ttk_scrollbar.n */,
- F968887C0AF788F6000797B5 /* ttk_separator.n */,
- F968887D0AF788F6000797B5 /* ttk_sizegrip.n */,
- F968887E0AF788F6000797B5 /* ttk_style.n */,
- F968887F0AF788F6000797B5 /* ttk_Theme.3 */,
- F96888800AF788F6000797B5 /* ttk_treeview.n */,
- F96888810AF788F6000797B5 /* ttk_widget.n */,
- F966BAA108F27A38005CB29B /* WindowId.3 */,
- F966BAA208F27A38005CB29B /* winfo.n */,
- F966BAA308F27A38005CB29B /* wish.1 */,
- F966BAA408F27A38005CB29B /* wm.n */,
- );
- path = doc;
- sourceTree = "<group>";
- };
- F966BAA508F27A38005CB29B /* generic */ = {
- isa = PBXGroup;
- children = (
- F966BAA608F27A38005CB29B /* default.h */,
- F966BAA708F27A38005CB29B /* ks_names.h */,
- F966BAA908F27A39005CB29B /* README */,
- F966BAAA08F27A39005CB29B /* tk.decls */,
- F966BAAB08F27A39005CB29B /* tk.h */,
- F966BAAC08F27A39005CB29B /* tk3d.c */,
- F966BAAD08F27A39005CB29B /* tk3d.h */,
- F966BAAE08F27A39005CB29B /* tkArgv.c */,
- F966BAAF08F27A39005CB29B /* tkAtom.c */,
- F966BAB008F27A39005CB29B /* tkBind.c */,
- F966BAB108F27A39005CB29B /* tkBitmap.c */,
- F9152B080EAF8A5000CD5C7B /* tkBusy.c */,
- F966BAB208F27A39005CB29B /* tkButton.c */,
- F966BAB308F27A39005CB29B /* tkButton.h */,
- F966BAB408F27A39005CB29B /* tkCanvArc.c */,
- F966BAB508F27A39005CB29B /* tkCanvas.c */,
- F966BAB608F27A39005CB29B /* tkCanvas.h */,
- F966BAB708F27A39005CB29B /* tkCanvBmap.c */,
- F966BAB808F27A39005CB29B /* tkCanvImg.c */,
- F966BAB908F27A39005CB29B /* tkCanvLine.c */,
- F966BABA08F27A39005CB29B /* tkCanvPoly.c */,
- F966BABB08F27A39005CB29B /* tkCanvPs.c */,
- F966BABD08F27A39005CB29B /* tkCanvText.c */,
- F966BABE08F27A39005CB29B /* tkCanvUtil.c */,
- F966BABF08F27A39005CB29B /* tkCanvWind.c */,
- F966BAC008F27A39005CB29B /* tkClipboard.c */,
- F966BAC108F27A39005CB29B /* tkCmds.c */,
- F966BAC208F27A39005CB29B /* tkColor.c */,
- F966BAC308F27A39005CB29B /* tkColor.h */,
- F966BAC408F27A39005CB29B /* tkConfig.c */,
- F966BAC508F27A39005CB29B /* tkConsole.c */,
- F966BAC608F27A39005CB29B /* tkCursor.c */,
- F966BAC708F27A39005CB29B /* tkDecls.h */,
- F966BAC808F27A39005CB29B /* tkEntry.c */,
- F966BAC908F27A39005CB29B /* tkEntry.h */,
- F966BACA08F27A39005CB29B /* tkError.c */,
- F966BACB08F27A39005CB29B /* tkEvent.c */,
- F966BACC08F27A39005CB29B /* tkFileFilter.c */,
- F966BACD08F27A39005CB29B /* tkFileFilter.h */,
- F966BACE08F27A39005CB29B /* tkFocus.c */,
- F966BACF08F27A39005CB29B /* tkFont.c */,
- F966BAD008F27A39005CB29B /* tkFont.h */,
- F966BAD108F27A39005CB29B /* tkFrame.c */,
- F966BAD208F27A39005CB29B /* tkGC.c */,
- F966BAD308F27A39005CB29B /* tkGeometry.c */,
- F966BAD408F27A39005CB29B /* tkGet.c */,
- F966BAD508F27A39005CB29B /* tkGrab.c */,
- F966BAD608F27A39005CB29B /* tkGrid.c */,
- F966BAD708F27A39005CB29B /* tkImage.c */,
- F966BAD808F27A39005CB29B /* tkImgBmap.c */,
- F966BAD908F27A39005CB29B /* tkImgGIF.c */,
- F92EE8BE0E62F846001A6E80 /* tkImgPhInstance.c */,
- F966BADA08F27A39005CB29B /* tkImgPhoto.c */,
- F9DD99BC0F07DF850018B2E4 /* tkImgPNG.c */,
- F966BADB08F27A39005CB29B /* tkImgPPM.c */,
- F966BADC08F27A39005CB29B /* tkImgUtil.c */,
- F966BADE08F27A39005CB29B /* tkInt.decls */,
- F966BADF08F27A39005CB29B /* tkInt.h */,
- F966BAE108F27A39005CB29B /* tkIntDecls.h */,
- F966BAE208F27A39005CB29B /* tkIntPlatDecls.h */,
- F966BAE308F27A39005CB29B /* tkIntXlibDecls.h */,
- F966BAE408F27A39005CB29B /* tkListbox.c */,
- F966BAE508F27A39005CB29B /* tkMacWinMenu.c */,
- F966BAE608F27A39005CB29B /* tkMain.c */,
- F966BAE708F27A39005CB29B /* tkMenu.c */,
- F966BAE808F27A39005CB29B /* tkMenu.h */,
- F966BAE908F27A39005CB29B /* tkMenubutton.c */,
- F966BAEA08F27A39005CB29B /* tkMenubutton.h */,
- F966BAEB08F27A39005CB29B /* tkMenuDraw.c */,
- F966BAEC08F27A39005CB29B /* tkMessage.c */,
- F966BAED08F27A39005CB29B /* tkObj.c */,
- F966BAEE08F27A39005CB29B /* tkOldConfig.c */,
- F966BAEF08F27A39005CB29B /* tkOption.c */,
- F966BAF008F27A39005CB29B /* tkPack.c */,
- F966BAF108F27A39005CB29B /* tkPanedWindow.c */,
- F966BAF208F27A39005CB29B /* tkPlace.c */,
- F966BAF308F27A39005CB29B /* tkPlatDecls.h */,
- F966BAF408F27A39005CB29B /* tkPointer.c */,
- F966BAF508F27A39005CB29B /* tkPort.h */,
- F966BAF608F27A39005CB29B /* tkRectOval.c */,
- F966BAF708F27A39005CB29B /* tkScale.c */,
- F966BAF808F27A39005CB29B /* tkScale.h */,
- F966BAF908F27A39005CB29B /* tkScrollbar.c */,
- F966BAFA08F27A39005CB29B /* tkScrollbar.h */,
- F966BAFB08F27A39005CB29B /* tkSelect.c */,
- F966BAFC08F27A39005CB29B /* tkSelect.h */,
- F966BAFD08F27A39005CB29B /* tkSquare.c */,
- F966BAFE08F27A39005CB29B /* tkOldTest.c */,
- F966BAFF08F27A39005CB29B /* tkStubInit.c */,
- F966BB0008F27A39005CB29B /* tkStubLib.c */,
- F966BB0108F27A39005CB29B /* tkStyle.c */,
- F966BB0208F27A39005CB29B /* tkTest.c */,
- F966BB0308F27A39005CB29B /* tkText.c */,
- F966BB0408F27A39005CB29B /* tkText.h */,
- F966BB0508F27A39005CB29B /* tkTextBTree.c */,
- F966BB0608F27A39005CB29B /* tkTextDisp.c */,
- F966BB0808F27A39005CB29B /* tkTextImage.c */,
- F966BB0908F27A39005CB29B /* tkTextIndex.c */,
- F966BB0A08F27A39005CB29B /* tkTextMark.c */,
- F966BB0B08F27A39005CB29B /* tkTextTag.c */,
- F966BB0C08F27A39005CB29B /* tkTextWind.c */,
- F966BB0D08F27A39005CB29B /* tkTrig.c */,
- F966BB0E08F27A39005CB29B /* tkUndo.c */,
- F966BB0F08F27A39005CB29B /* tkUndo.h */,
- F966BB1008F27A39005CB29B /* tkUtil.c */,
- F966BB1108F27A39005CB29B /* tkVisual.c */,
- F966BB1208F27A39005CB29B /* tkWindow.c */,
- F96887DF0AF786D5000797B5 /* ttk */,
- );
- path = generic;
- sourceTree = "<group>";
- };
- F966BB1308F27A39005CB29B /* library */ = {
- isa = PBXGroup;
- children = (
- F966BB1408F27A39005CB29B /* bgerror.tcl */,
- F966BB1508F27A39005CB29B /* button.tcl */,
- F966BB1608F27A39005CB29B /* choosedir.tcl */,
- F966BB1708F27A39005CB29B /* clrpick.tcl */,
- F966BB1808F27A39005CB29B /* comdlg.tcl */,
- F966BB1908F27A39005CB29B /* console.tcl */,
- F966BB1A08F27A39005CB29B /* demos */,
- F966BB6208F27A3A005CB29B /* dialog.tcl */,
- F966BB6308F27A3A005CB29B /* entry.tcl */,
- F966BB6408F27A3A005CB29B /* focus.tcl */,
- F99388380EE0114B0065FE6B /* fontchooser.tcl */,
- F974D57C0FBE7EFF00BF728B /* iconlist.tcl */,
- F974D57D0FBE7EFF00BF728B /* icons.tcl */,
- F966BB7308F27A3A005CB29B /* listbox.tcl */,
- F966BB7408F27A3A005CB29B /* menu.tcl */,
- F966BB7508F27A3A005CB29B /* mkpsenc.tcl */,
- F966BB7608F27A3A005CB29B /* msgbox.tcl */,
- F966BB8608F27A3A005CB29B /* obsolete.tcl */,
- F966BB8708F27A3A005CB29B /* optMenu.tcl */,
- F966BB8808F27A3A005CB29B /* palette.tcl */,
- F966BB8908F27A3B005CB29B /* panedwindow.tcl */,
- F966BB8B08F27A3B005CB29B /* safetk.tcl */,
- F966BB8C08F27A3B005CB29B /* scale.tcl */,
- F966BB8D08F27A3B005CB29B /* scrlbar.tcl */,
- F966BB8E08F27A3B005CB29B /* spinbox.tcl */,
- F966BB8F08F27A3B005CB29B /* tclIndex */,
- F966BB9008F27A3B005CB29B /* tearoff.tcl */,
- F966BB9108F27A3B005CB29B /* text.tcl */,
- F966BB9208F27A3B005CB29B /* tk.tcl */,
- F966BB9308F27A3B005CB29B /* tkfbox.tcl */,
- F96888360AF787B3000797B5 /* ttk */,
- F966BB9408F27A3B005CB29B /* unsupported.tcl */,
- F966BB9508F27A3B005CB29B /* xmfbox.tcl */,
- );
- path = library;
- sourceTree = "<group>";
- };
- F966BB1A08F27A39005CB29B /* demos */ = {
- isa = PBXGroup;
- children = (
- F966BB1B08F27A39005CB29B /* anilabel.tcl */,
- F966BB1C08F27A39005CB29B /* aniwave.tcl */,
- F966BB1D08F27A39005CB29B /* arrow.tcl */,
- F966BB1E08F27A39005CB29B /* bind.tcl */,
- F966BB1F08F27A39005CB29B /* bitmap.tcl */,
- F966BB2008F27A39005CB29B /* browse */,
- F966BB2108F27A39005CB29B /* button.tcl */,
- F966BB2208F27A39005CB29B /* check.tcl */,
- F966BB2308F27A39005CB29B /* clrpick.tcl */,
- F966BB2408F27A39005CB29B /* colors.tcl */,
- F936FCDB0CCD984600716967 /* combo.tcl */,
- F966BB2508F27A39005CB29B /* cscroll.tcl */,
- F966BB2608F27A39005CB29B /* ctext.tcl */,
- F966BB2708F27A39005CB29B /* dialog1.tcl */,
- F966BB2808F27A39005CB29B /* dialog2.tcl */,
- F966BB2A08F27A39005CB29B /* entry1.tcl */,
- F966BB2B08F27A39005CB29B /* entry2.tcl */,
- F966BB2C08F27A39005CB29B /* entry3.tcl */,
- F966BB2D08F27A39005CB29B /* filebox.tcl */,
- F966BB2E08F27A39005CB29B /* floor.tcl */,
- F91543270EF201A90032D1E8 /* fontchoose.tcl */,
- F966BB2F08F27A39005CB29B /* form.tcl */,
- F966BB3008F27A39005CB29B /* goldberg.tcl */,
- F966BB3108F27A39005CB29B /* hello */,
- F966BB3208F27A39005CB29B /* hscale.tcl */,
- F966BB3308F27A39005CB29B /* icon.tcl */,
- F966BB3408F27A39005CB29B /* image1.tcl */,
- F966BB3508F27A39005CB29B /* image2.tcl */,
- F966BB4208F27A3A005CB29B /* items.tcl */,
- F966BB4308F27A3A005CB29B /* ixset */,
- F92240290D7C620F005EC715 /* knightstour.tcl */,
- F966BB4408F27A3A005CB29B /* label.tcl */,
- F966BB4508F27A3A005CB29B /* labelframe.tcl */,
- F9D1360A0CDC252C00DBE0B5 /* mclist.tcl */,
- F966BB4608F27A3A005CB29B /* menu.tcl */,
- F966BB4708F27A3A005CB29B /* menubu.tcl */,
- F966BB4808F27A3A005CB29B /* msgbox.tcl */,
- F966BB4A08F27A3A005CB29B /* paned1.tcl */,
- F966BB4B08F27A3A005CB29B /* paned2.tcl */,
- F966BB4C08F27A3A005CB29B /* pendulum.tcl */,
- F966BB4D08F27A3A005CB29B /* plot.tcl */,
- F966BB4E08F27A3A005CB29B /* puzzle.tcl */,
- F966BB4F08F27A3A005CB29B /* radio.tcl */,
- F966BB5008F27A3A005CB29B /* README */,
- F966BB5108F27A3A005CB29B /* rmt */,
- F966BB5208F27A3A005CB29B /* rolodex */,
- F966BB5308F27A3A005CB29B /* ruler.tcl */,
- F966BB5408F27A3A005CB29B /* sayings.tcl */,
- F966BB5508F27A3A005CB29B /* search.tcl */,
- F966BB5608F27A3A005CB29B /* spin.tcl */,
- F966BB5708F27A3A005CB29B /* square */,
- F966BB5808F27A3A005CB29B /* states.tcl */,
- F966BB5908F27A3A005CB29B /* style.tcl */,
- F966BB5A08F27A3A005CB29B /* tclIndex */,
- F966BB5B08F27A3A005CB29B /* tcolor */,
- F966BB5C08F27A3A005CB29B /* text.tcl */,
- F9099B8A0CC67D30005A9580 /* textpeer.tcl */,
- F966BB5D08F27A3A005CB29B /* timer */,
- F936FCD90CCD984600716967 /* toolbar.tcl */,
- F936FCD80CCD984600716967 /* tree.tcl */,
- F9099B8B0CC67D3E005A9580 /* ttkbut.tcl */,
- F9F4EFDD0CC7B3CB00378A27 /* ttkmenu.tcl */,
- F936FCDA0CCD984600716967 /* ttknote.tcl */,
- F9F4EFDC0CC7B3CA00378A27 /* ttkpane.tcl */,
- F936FCD70CCD984500716967 /* ttkprogress.tcl */,
- F966BB5E08F27A3A005CB29B /* twind.tcl */,
- F966BB5F08F27A3A005CB29B /* unicodeout.tcl */,
- F966BB6008F27A3A005CB29B /* vscale.tcl */,
- F966BB6108F27A3A005CB29B /* widget */,
- );
- path = demos;
- sourceTree = "<group>";
- };
- F966BB9708F27A3B005CB29B /* macosx */ = {
- isa = PBXGroup;
- children = (
- F966BBBA08F27A3B005CB29B /* configure.ac */,
- F966BBBB08F27A3B005CB29B /* GNUmakefile */,
- F966BBBE08F27A3B005CB29B /* README */,
- F966BBC008F27A3B005CB29B /* Tk-Info.plist.in */,
- F966BBC208F27A3B005CB29B /* tkMacOSX.h */,
- F966BBC508F27A3B005CB29B /* tkMacOSXBitmap.c */,
- F966BBC608F27A3B005CB29B /* tkMacOSXButton.c */,
- F966BBC808F27A3B005CB29B /* tkMacOSXClipboard.c */,
- F966BBC908F27A3B005CB29B /* tkMacOSXColor.c */,
- F966BBCA08F27A3B005CB29B /* tkMacOSXConfig.c */,
- F966BBCB08F27A3B005CB29B /* tkMacOSXCursor.c */,
- F966BBCC08F27A3B005CB29B /* tkMacOSXCursors.h */,
- F966BBCD08F27A3B005CB29B /* tkMacOSXDebug.c */,
- F966BBCE08F27A3B005CB29B /* tkMacOSXDebug.h */,
- F966BBCF08F27A3B005CB29B /* tkMacOSXDefault.h */,
- F966BBD008F27A3B005CB29B /* tkMacOSXDialog.c */,
- F966BBD108F27A3B005CB29B /* tkMacOSXDraw.c */,
- F966BBD208F27A3B005CB29B /* tkMacOSXEmbed.c */,
- F966BBD308F27A3B005CB29B /* tkMacOSXEntry.c */,
- F966BBD408F27A3B005CB29B /* tkMacOSXEvent.c */,
- F966BBD508F27A3B005CB29B /* tkMacOSXEvent.h */,
- F966BBD608F27A3B005CB29B /* tkMacOSXFont.c */,
- F93E5EFD09CF8711008FA367 /* tkMacOSXFont.h */,
- F966BBD708F27A3B005CB29B /* tkMacOSXHLEvents.c */,
- F966BBD808F27A3B005CB29B /* tkMacOSXInit.c */,
- F966BBDA08F27A3B005CB29B /* tkMacOSXInt.h */,
- F966BBDB08F27A3B005CB29B /* tkMacOSXKeyboard.c */,
- F966BBDC08F27A3B005CB29B /* tkMacOSXKeyEvent.c */,
- F966BBDD08F27A3B005CB29B /* tkMacOSXMenu.c */,
- F966BBE008F27A3B005CB29B /* tkMacOSXMenubutton.c */,
- F966BBE108F27A3B005CB29B /* tkMacOSXMenus.c */,
- F966BBE208F27A3B005CB29B /* tkMacOSXMouseEvent.c */,
- F966BBE308F27A3B005CB29B /* tkMacOSXNotify.c */,
- F966BBEA08F27A3C005CB29B /* tkMacOSXPort.h */,
- F976F6A70C325FB6005066D9 /* tkMacOSXPrivate.h */,
- F966BBEB08F27A3C005CB29B /* tkMacOSXRegion.c */,
- F966BBEC08F27A3C005CB29B /* tkMacOSXScale.c */,
- F966BBED08F27A3C005CB29B /* tkMacOSXScrlbr.c */,
- F966BBEE08F27A3C005CB29B /* tkMacOSXSend.c */,
- F966BBEF08F27A3C005CB29B /* tkMacOSXSubwindows.c */,
- F966BBF008F27A3C005CB29B /* tkMacOSXTest.c */,
- F966BBF108F27A3C005CB29B /* tkMacOSXWindowEvent.c */,
- F966BBF208F27A3C005CB29B /* tkMacOSXWm.c */,
- F966BBF308F27A3C005CB29B /* tkMacOSXWm.h */,
- F966BBF408F27A3C005CB29B /* tkMacOSXXCursors.h */,
- F966BBF508F27A3C005CB29B /* tkMacOSXXStubs.c */,
- F96888840AF78938000797B5 /* ttkMacOSXTheme.c */,
- F95D8D4B0F1715610006B020 /* Tk.icns */,
- F95D8D4C0F1715610006B020 /* Tk.tiff */,
- F966BBF708F27A3C005CB29B /* Wish-Info.plist.in */,
- F97590AE1039A96200558A9A /* Wish.sdef */,
- F97AE7F10B65C1E900310EA2 /* Tk-Common.xcconfig */,
- F97AE8330B65C87F00310EA2 /* Tk-Debug.xcconfig */,
- F97AE82B0B65C69B00310EA2 /* Tk-Release.xcconfig */,
- );
- path = macosx;
- sourceTree = "<group>";
- };
- F966BC0408F27A3C005CB29B /* tests */ = {
- isa = PBXGroup;
- children = (
- F966BC0508F27A3C005CB29B /* all.tcl */,
- F966BC0608F27A3C005CB29B /* arc.tcl */,
- F966BC0708F27A3C005CB29B /* bell.test */,
- F966BC0808F27A3C005CB29B /* bevel.tcl */,
- F966BC0908F27A3C005CB29B /* bgerror.test */,
- F966BC0A08F27A3C005CB29B /* bind.test */,
- F966BC0B08F27A3C005CB29B /* bitmap.test */,
- F966BC0C08F27A3C005CB29B /* border.test */,
- F966BC0D08F27A3C005CB29B /* bugs.tcl */,
- F966BC0E08F27A3C005CB29B /* butGeom.tcl */,
- F966BC0F08F27A3C005CB29B /* butGeom2.tcl */,
- F966BC1008F27A3C005CB29B /* button.test */,
- F966BC1108F27A3C005CB29B /* canvas.test */,
- F966BC1208F27A3C005CB29B /* canvImg.test */,
- F966BC1308F27A3C005CB29B /* canvPs.test */,
- F966BC1408F27A3C005CB29B /* canvPsArc.tcl */,
- F966BC1508F27A3C005CB29B /* canvPsBmap.tcl */,
- F966BC1608F27A3C005CB29B /* canvPsGrph.tcl */,
- F966BC1708F27A3C005CB29B /* canvPsImg.tcl */,
- F966BC1808F27A3C005CB29B /* canvPsText.tcl */,
- F966BC1908F27A3C005CB29B /* canvRect.test */,
- F966BC1A08F27A3C005CB29B /* canvText.test */,
- F966BC1B08F27A3C005CB29B /* canvWind.test */,
- F966BC1C08F27A3C005CB29B /* choosedir.test */,
- F966BC1D08F27A3C005CB29B /* clipboard.test */,
- F966BC1E08F27A3C005CB29B /* clrpick.test */,
- F966BC1F08F27A3C005CB29B /* cmap.tcl */,
- F966BC2008F27A3C005CB29B /* cmds.test */,
- F966BC2108F27A3C005CB29B /* color.test */,
- F966BC2208F27A3C005CB29B /* config.test */,
- F966BC2308F27A3C005CB29B /* constraints.tcl */,
- F966BC2408F27A3C005CB29B /* cursor.test */,
- F966BC2508F27A3C005CB29B /* dialog.test */,
- F966BC2608F27A3C005CB29B /* embed.test */,
- F966BC2708F27A3C005CB29B /* entry.test */,
- F966BC2808F27A3C005CB29B /* event.test */,
- F966BC2908F27A3C005CB29B /* filebox.test */,
- F966BC2A08F27A3C005CB29B /* focus.test */,
- F966BC2B08F27A3C005CB29B /* focusTcl.test */,
- F966BC2C08F27A3C005CB29B /* font.test */,
- F99388950EE02D980065FE6B /* fontchooser.test */,
- F966BC2D08F27A3C005CB29B /* frame.test */,
- F966BC2E08F27A3C005CB29B /* geometry.test */,
- F966BC2F08F27A3C005CB29B /* get.test */,
- F966BC3008F27A3C005CB29B /* grab.test */,
- F966BC3108F27A3C005CB29B /* grid.test */,
- F966BC3308F27A3C005CB29B /* image.test */,
- F966BC3408F27A3C005CB29B /* imgBmap.test */,
- F966BC3508F27A3C005CB29B /* imgPhoto.test */,
- F9DD99BF0F07DFCD0018B2E4 /* imgPNG.test */,
- F966BC3608F27A3C005CB29B /* imgPPM.test */,
- F966BC3708F27A3C005CB29B /* listbox.test */,
- F966BC3808F27A3C005CB29B /* main.test */,
- F966BC3908F27A3C005CB29B /* menu.test */,
- F966BC3A08F27A3C005CB29B /* menubut.test */,
- F966BC3B08F27A3C005CB29B /* menuDraw.test */,
- F966BC3C08F27A3C005CB29B /* message.test */,
- F966BC3D08F27A3C005CB29B /* msgbox.test */,
- F966BC3E08F27A3C005CB29B /* obj.test */,
- F966BC3F08F27A3C005CB29B /* oldpack.test */,
- F966BC4008F27A3C005CB29B /* option.file1 */,
- F966BC4108F27A3C005CB29B /* option.file2 */,
- F966BC4208F27A3C005CB29B /* option.test */,
- F966BC4308F27A3C005CB29B /* pack.test */,
- F966BC4408F27A3C005CB29B /* panedwindow.test */,
- F966BC4508F27A3D005CB29B /* place.test */,
- F966BC4608F27A3D005CB29B /* raise.test */,
- F966BC4708F27A3D005CB29B /* README */,
- F966BC4808F27A3D005CB29B /* safe.test */,
- F966BC4908F27A3D005CB29B /* scale.test */,
- F966BC4A08F27A3D005CB29B /* scrollbar.test */,
- F966BC4B08F27A3D005CB29B /* select.test */,
- F966BC4C08F27A3D005CB29B /* send.test */,
- F966BC4D08F27A3D005CB29B /* spinbox.test */,
- F966BC4E08F27A3D005CB29B /* text.test */,
- F966BC4F08F27A3D005CB29B /* textBTree.test */,
- F966BC5008F27A3D005CB29B /* textDisp.test */,
- F966BC5108F27A3D005CB29B /* textImage.test */,
- F966BC5208F27A3D005CB29B /* textIndex.test */,
- F966BC5308F27A3D005CB29B /* textMark.test */,
- F966BC5408F27A3D005CB29B /* textTag.test */,
- F966BC5508F27A3D005CB29B /* textWind.test */,
- F966BC5608F27A3D005CB29B /* tk.test */,
- F96888530AF7880C000797B5 /* ttk */,
- F966BC5708F27A3D005CB29B /* unixButton.test */,
- F966BC5808F27A3D005CB29B /* unixEmbed.test */,
- F966BC5908F27A3D005CB29B /* unixFont.test */,
- F966BC5A08F27A3D005CB29B /* unixMenu.test */,
- F966BC5B08F27A3D005CB29B /* unixSelect.test */,
- F966BC5C08F27A3D005CB29B /* unixWm.test */,
- F966BC5D08F27A3D005CB29B /* util.test */,
- F966BC5E08F27A3D005CB29B /* visual.test */,
- F966BC5F08F27A3D005CB29B /* visual_bb.test */,
- F966BC6008F27A3D005CB29B /* winButton.test */,
- F966BC6108F27A3D005CB29B /* winClipboard.test */,
- F966BC6208F27A3D005CB29B /* winDialog.test */,
- F966BC6308F27A3D005CB29B /* window.test */,
- F966BC6408F27A3D005CB29B /* winfo.test */,
- F966BC6508F27A3D005CB29B /* winFont.test */,
- F966BC6608F27A3D005CB29B /* winMenu.test */,
- F966BC6708F27A3D005CB29B /* winSend.test */,
- F966BC6808F27A3D005CB29B /* winWm.test */,
- F966BC6908F27A3D005CB29B /* wm.test */,
- F966BC6A08F27A3D005CB29B /* xmfbox.test */,
- );
- path = tests;
- sourceTree = "<group>";
- };
- F966BC6B08F27A3D005CB29B /* unix */ = {
- isa = PBXGroup;
- children = (
- F966BC6C08F27A3D005CB29B /* aclocal.m4 */,
- F966BC6D08F27A3D005CB29B /* configure */,
- F966BC6E08F27A3D005CB29B /* configure.in */,
- F966BC6F08F27A3D005CB29B /* install-sh */,
- F966BC7008F27A3D005CB29B /* installManPage */,
- F966BC7108F27A3D005CB29B /* Makefile.in */,
- F966BC7208F27A3D005CB29B /* README */,
- F966BC7308F27A3D005CB29B /* tcl.m4 */,
- F974D57B0FBE7EC000BF728B /* tk.pc.in */,
- F966BC7408F27A3D005CB29B /* tk.spec */,
- F966BC7508F27A3D005CB29B /* tkAppInit.c */,
- F966BC7608F27A3D005CB29B /* tkConfig.h.in */,
- F966BC7708F27A3D005CB29B /* tkConfig.sh.in */,
- F966BC7808F27A3D005CB29B /* tkUnix.c */,
- F966BC7908F27A3D005CB29B /* tkUnix3d.c */,
- F966BC7A08F27A3D005CB29B /* tkUnixButton.c */,
- F966BC7B08F27A3D005CB29B /* tkUnixColor.c */,
- F966BC7C08F27A3D005CB29B /* tkUnixConfig.c */,
- F966BC7D08F27A3D005CB29B /* tkUnixCursor.c */,
- F966BC7E08F27A3D005CB29B /* tkUnixDefault.h */,
- F966BC7F08F27A3D005CB29B /* tkUnixDialog.c */,
- F966BC8008F27A3D005CB29B /* tkUnixDraw.c */,
- F966BC8108F27A3D005CB29B /* tkUnixEmbed.c */,
- F966BC8208F27A3D005CB29B /* tkUnixEvent.c */,
- F966BC8308F27A3D005CB29B /* tkUnixFocus.c */,
- F966BC8408F27A3D005CB29B /* tkUnixFont.c */,
- F966BC8508F27A3D005CB29B /* tkUnixInit.c */,
- F966BC8608F27A3D005CB29B /* tkUnixInt.h */,
- F966BC8708F27A3D005CB29B /* tkUnixKey.c */,
- F966BC8808F27A3D005CB29B /* tkUnixMenu.c */,
- F966BC8908F27A3D005CB29B /* tkUnixMenubu.c */,
- F966BC8A08F27A3D005CB29B /* tkUnixPort.h */,
- F966BC8B08F27A3D005CB29B /* tkUnixRFont.c */,
- F966BC8C08F27A3D005CB29B /* tkUnixScale.c */,
- F966BC8D08F27A3D005CB29B /* tkUnixScrlbr.c */,
- F966BC8E08F27A3D005CB29B /* tkUnixSelect.c */,
- F966BC8F08F27A3D005CB29B /* tkUnixSend.c */,
- F966BC9008F27A3D005CB29B /* tkUnixWm.c */,
- F966BC9108F27A3D005CB29B /* tkUnixXId.c */,
- );
- path = unix;
- sourceTree = "<group>";
- };
- F966BC9208F27A3D005CB29B /* win */ = {
- isa = PBXGroup;
- children = (
- F966BC9408F27A3D005CB29B /* aclocal.m4 */,
- F966BC9508F27A3D005CB29B /* buildall.vc.bat */,
- F966BC9608F27A3E005CB29B /* configure */,
- F966BC9708F27A3E005CB29B /* configure.in */,
- F966BC9908F27A3E005CB29B /* Makefile.in */,
- F966BC9A08F27A3E005CB29B /* makefile.vc */,
- F966BC9B08F27A3E005CB29B /* mkd.bat */,
- F966BC9C08F27A3E005CB29B /* nmakehlp.c */,
- F966BC9D08F27A3E005CB29B /* rc */,
- F966BCF308F27A3E005CB29B /* README */,
- F966BCF408F27A3E005CB29B /* rmd.bat */,
- F966BCF508F27A3F005CB29B /* rules.vc */,
- F966BCF608F27A3F005CB29B /* stubs.c */,
- F966BCF708F27A3F005CB29B /* tcl.m4 */,
- F966BCF808F27A3F005CB29B /* tkConfig.sh.in */,
- F966BCF908F27A3F005CB29B /* tkWin.h */,
- F966BCFA08F27A3F005CB29B /* tkWin32Dll.c */,
- F966BCFB08F27A3F005CB29B /* tkWin3d.c */,
- F966BCFC08F27A3F005CB29B /* tkWinButton.c */,
- F966BCFD08F27A3F005CB29B /* tkWinClipboard.c */,
- F966BCFE08F27A3F005CB29B /* tkWinColor.c */,
- F966BCFF08F27A3F005CB29B /* tkWinConfig.c */,
- F966BD0008F27A3F005CB29B /* tkWinCursor.c */,
- F966BD0108F27A3F005CB29B /* tkWinDefault.h */,
- F966BD0208F27A3F005CB29B /* tkWinDialog.c */,
- F966BD0308F27A3F005CB29B /* tkWinDraw.c */,
- F966BD0408F27A3F005CB29B /* tkWinEmbed.c */,
- F966BD0508F27A3F005CB29B /* tkWinFont.c */,
- F966BD0708F27A3F005CB29B /* tkWinImage.c */,
- F966BD0808F27A3F005CB29B /* tkWinInit.c */,
- F966BD0908F27A3F005CB29B /* tkWinInt.h */,
- F966BD0A08F27A3F005CB29B /* tkWinKey.c */,
- F966BD0B08F27A3F005CB29B /* tkWinMenu.c */,
- F966BD0C08F27A3F005CB29B /* tkWinPixmap.c */,
- F966BD0D08F27A3F005CB29B /* tkWinPointer.c */,
- F966BD0E08F27A3F005CB29B /* tkWinPort.h */,
- F966BD0F08F27A3F005CB29B /* tkWinRegion.c */,
- F966BD1008F27A3F005CB29B /* tkWinScrlbr.c */,
- F966BD1108F27A3F005CB29B /* tkWinSend.c */,
- F966BD1208F27A3F005CB29B /* tkWinSendCom.c */,
- F966BD1308F27A3F005CB29B /* tkWinSendCom.h */,
- F966BD1408F27A3F005CB29B /* tkWinTest.c */,
- F966BD1508F27A3F005CB29B /* tkWinWindow.c */,
- F966BD1608F27A3F005CB29B /* tkWinWm.c */,
- F966BD1708F27A3F005CB29B /* tkWinX.c */,
- F96888860AF78953000797B5 /* ttkWinMonitor.c */,
- F96888870AF78953000797B5 /* ttkWinTheme.c */,
- F96888880AF78953000797B5 /* ttkWinXPTheme.c */,
- F966BD1808F27A3F005CB29B /* winMain.c */,
- );
- path = win;
- sourceTree = "<group>";
- };
- F966BC9D08F27A3E005CB29B /* rc */ = {
- isa = PBXGroup;
- children = (
- F966BCEE08F27A3E005CB29B /* tk.rc */,
- F966BCEF08F27A3E005CB29B /* tk_base.rc */,
- F966BCF208F27A3E005CB29B /* wish.rc */,
- );
- path = rc;
- sourceTree = "<group>";
- };
- F966BD1908F27A3F005CB29B /* xlib */ = {
- isa = PBXGroup;
- children = (
- F966BD1A08F27A3F005CB29B /* X11 */,
- F966BD2308F27A3F005CB29B /* xbytes.h */,
- F966BD2408F27A3F005CB29B /* xcolors.c */,
- F966BD2508F27A3F005CB29B /* xdraw.c */,
- F966BD2608F27A3F005CB29B /* xgc.c */,
- F966BD2708F27A3F005CB29B /* ximage.c */,
- F966BD2808F27A3F005CB29B /* xutil.c */,
- );
- path = xlib;
- sourceTree = "<group>";
- };
- F966BD1A08F27A3F005CB29B /* X11 */ = {
- isa = PBXGroup;
- children = (
- F966BD1B08F27A3F005CB29B /* cursorfont.h */,
- F966BD1C08F27A3F005CB29B /* keysym.h */,
- F966BD1D08F27A3F005CB29B /* keysymdef.h */,
- F966BD1E08F27A3F005CB29B /* X.h */,
- F966BD1F08F27A3F005CB29B /* Xatom.h */,
- F966BD2008F27A3F005CB29B /* Xfuncproto.h */,
- F966BD2108F27A3F005CB29B /* Xlib.h */,
- F966BD2208F27A3F005CB29B /* Xutil.h */,
- );
- path = X11;
- sourceTree = "<group>";
- };
- F966C06F08F281DC005CB29B /* Frameworks */ = {
- isa = PBXGroup;
- children = (
- F9C9CBFF0E84059800E00935 /* ApplicationServices.framework */,
- F966C07408F2820D005CB29B /* CoreFoundation.framework */,
- F96437E60EF0D652003F468E /* libz.dylib */,
- F966C07608F2821B005CB29B /* Carbon.framework */,
- F94523A10E6FC2AC00C1D987 /* Cocoa.framework */,
- F966C07808F28233005CB29B /* IOKit.framework */,
- F9FD32140CC1AF170073837D /* libX11.dylib */,
- F9FD32150CC1AF170073837D /* libXext.dylib */,
- F9FD32160CC1AF170073837D /* libXss.dylib */,
- F9FD349A0CC1BB0D0073837D /* libXft.dylib */,
- F9FD34990CC1BB0D0073837D /* libfreetype.dylib */,
- F9FD34C30CC1BBD70073837D /* libfontconfig.dylib */,
- );
- name = Frameworks;
- sourceTree = "<group>";
- };
- F96887DF0AF786D5000797B5 /* ttk */ = {
- isa = PBXGroup;
- children = (
- F96887E00AF786D5000797B5 /* ttk.decls */,
- F96887E10AF786D5000797B5 /* ttkBlink.c */,
- F96887E20AF786D5000797B5 /* ttkButton.c */,
- F96887E30AF786D5000797B5 /* ttkCache.c */,
- F96887E40AF786D5000797B5 /* ttkClamTheme.c */,
- F96887E50AF786D5000797B5 /* ttkClassicTheme.c */,
- F96887E60AF786D5000797B5 /* ttkDecls.h */,
- F96887E70AF786D5000797B5 /* ttkDefaultTheme.c */,
- F96887E80AF786D5000797B5 /* ttkElements.c */,
- F96887E90AF786D5000797B5 /* ttkEntry.c */,
- F96887EA0AF786D5000797B5 /* ttkFrame.c */,
- F96887EB0AF786D5000797B5 /* ttkImage.c */,
- F96887EC0AF786D5000797B5 /* ttkInit.c */,
- F96887ED0AF786D5000797B5 /* ttkLabel.c */,
- F96887EE0AF786D5000797B5 /* ttkLayout.c */,
- F96887EF0AF786D5000797B5 /* ttkManager.c */,
- F96887F00AF786D5000797B5 /* ttkManager.h */,
- F96887F10AF786D5000797B5 /* ttkNotebook.c */,
- F96887F20AF786D5000797B5 /* ttkPanedwindow.c */,
- F96887F30AF786D5000797B5 /* ttkProgress.c */,
- F96887F40AF786D5000797B5 /* ttkScale.c */,
- F96887F50AF786D5000797B5 /* ttkScroll.c */,
- F96887F60AF786D5000797B5 /* ttkScrollbar.c */,
- F96887F70AF786D5000797B5 /* ttkSeparator.c */,
- F96887F80AF786D5000797B5 /* ttkSquare.c */,
- F96887F90AF786D5000797B5 /* ttkState.c */,
- F96887FA0AF786D5000797B5 /* ttkStubInit.c */,
- F96887FB0AF786D5000797B5 /* ttkStubLib.c */,
- F96887FC0AF786D5000797B5 /* ttkTagSet.c */,
- F96887FD0AF786D5000797B5 /* ttkTheme.c */,
- F96887FE0AF786D5000797B5 /* ttkTheme.h */,
- F96887FF0AF786D5000797B5 /* ttkThemeInt.h */,
- F96888000AF786D5000797B5 /* ttkTrace.c */,
- F96888010AF786D5000797B5 /* ttkTrack.c */,
- F96888020AF786D5000797B5 /* ttkTreeview.c */,
- F96888030AF786D5000797B5 /* ttkWidget.c */,
- F96888040AF786D5000797B5 /* ttkWidget.h */,
- );
- path = ttk;
- sourceTree = "<group>";
- };
- F96888360AF787B3000797B5 /* ttk */ = {
- isa = PBXGroup;
- children = (
- F96888370AF787B3000797B5 /* altTheme.tcl */,
- F96888380AF787B3000797B5 /* aquaTheme.tcl */,
- F96888390AF787B3000797B5 /* button.tcl */,
- F968883A0AF787B3000797B5 /* clamTheme.tcl */,
- F968883B0AF787B3000797B5 /* classicTheme.tcl */,
- F968883C0AF787B3000797B5 /* combobox.tcl */,
- F968883D0AF787B3000797B5 /* cursors.tcl */,
- F968883E0AF787B3000797B5 /* defaults.tcl */,
- F96888400AF787B3000797B5 /* entry.tcl */,
- F96888410AF787B3000797B5 /* fonts.tcl */,
- F96888440AF787B3000797B5 /* menubutton.tcl */,
- F96888450AF787B3000797B5 /* notebook.tcl */,
- F96888460AF787B3000797B5 /* panedwindow.tcl */,
- F96888470AF787B3000797B5 /* progress.tcl */,
- F96888480AF787B3000797B5 /* scale.tcl */,
- F96888490AF787B3000797B5 /* scrollbar.tcl */,
- F968884A0AF787B3000797B5 /* sizegrip.tcl */,
- F968884B0AF787B3000797B5 /* treeview.tcl */,
- F968884C0AF787B3000797B5 /* ttk.tcl */,
- F968884D0AF787B3000797B5 /* utils.tcl */,
- F968884E0AF787B3000797B5 /* winTheme.tcl */,
- F973E5960EE99384001A648E /* vistaTheme.tcl */,
- F968884F0AF787B3000797B5 /* xpTheme.tcl */,
- );
- path = ttk;
- sourceTree = "<group>";
- };
- F96888530AF7880C000797B5 /* ttk */ = {
- isa = PBXGroup;
- children = (
- F96888540AF7880C000797B5 /* all.tcl */,
- F98383650F0FA43900171CA6 /* checkbutton.test */,
- F96888560AF7880C000797B5 /* combobox.test */,
- F96888570AF7880C000797B5 /* entry.test */,
- F96888580AF7880C000797B5 /* image.test */,
- F96888590AF7880C000797B5 /* labelframe.test */,
- F968885A0AF7880C000797B5 /* layout.test */,
- F968885C0AF7880C000797B5 /* notebook.test */,
- F968885D0AF7880C000797B5 /* panedwindow.test */,
- F968885E0AF7880C000797B5 /* progressbar.test */,
- F98383680F0FA44700171CA6 /* radiobutton.test */,
- F968885F0AF7880C000797B5 /* scrollbar.test */,
- F96888600AF7880C000797B5 /* treetags.test */,
- F96888610AF7880C000797B5 /* treeview.test */,
- F96888620AF7880C000797B5 /* ttk.test */,
- F96888630AF7880C000797B5 /* validate.test */,
- F962F7C60DADC26200648DB8 /* vsapi.test */,
- );
- path = ttk;
- sourceTree = "<group>";
- };
- F96D3DF608F27169004A47F5 /* Tcl Sources */ = {
- isa = PBXGroup;
- children = (
- F96D3EC908F272A7004A47F5 /* generic */,
- F96D432C08F272B4004A47F5 /* macosx */,
- F96D443E08F272B9004A47F5 /* unix */,
- F96D425C08F272B2004A47F5 /* libtommath */,
- F96D446E08F272B9004A47F5 /* win */,
- F96D3F3808F272A7004A47F5 /* library */,
- F96D434408F272B5004A47F5 /* tests */,
- F96D3DFC08F272A4004A47F5 /* doc */,
- F96D43D008F272B8004A47F5 /* tools */,
- F9183E690EFC81560030B814 /* pkgs */,
- F96D3DFA08F272A4004A47F5 /* ChangeLog */,
- F96D3DFB08F272A4004A47F5 /* changes */,
- F96D434308F272B5004A47F5 /* README */,
- F96D432B08F272B4004A47F5 /* license.terms */,
- );
- name = "Tcl Sources";
- sourceTree = TCL_SRCROOT;
- };
- F96D3DF708F271BE004A47F5 /* Tk Sources */ = {
- isa = PBXGroup;
- children = (
- F966BAA508F27A38005CB29B /* generic */,
- F966BB9708F27A3B005CB29B /* macosx */,
- F966BC6B08F27A3D005CB29B /* unix */,
- F966BD1908F27A3F005CB29B /* xlib */,
- F966BA0308F27A37005CB29B /* bitmaps */,
- F966BC9208F27A3D005CB29B /* win */,
- F966BB1308F27A39005CB29B /* library */,
- F966BC0408F27A3C005CB29B /* tests */,
- F966BA1008F27A37005CB29B /* doc */,
- F966BA0E08F27A37005CB29B /* ChangeLog */,
- F966BA0F08F27A37005CB29B /* changes */,
- F966BC0308F27A3C005CB29B /* README */,
- F966BB9608F27A3B005CB29B /* license.terms */,
- );
- name = "Tk Sources";
- sourceTree = TK_SRCROOT;
- };
- F96D3DFC08F272A4004A47F5 /* doc */ = {
- isa = PBXGroup;
- children = (
- F96D3DFD08F272A4004A47F5 /* Access.3 */,
- F96D3DFE08F272A4004A47F5 /* AddErrInfo.3 */,
- F96D3DFF08F272A4004A47F5 /* after.n */,
- F96D3E0008F272A4004A47F5 /* Alloc.3 */,
- F96D3E0108F272A4004A47F5 /* AllowExc.3 */,
- F96D3E0208F272A4004A47F5 /* append.n */,
- F96D3E0308F272A4004A47F5 /* AppInit.3 */,
- F96D3E0408F272A5004A47F5 /* array.n */,
- F96D3E0508F272A5004A47F5 /* AssocData.3 */,
- F96D3E0608F272A5004A47F5 /* Async.3 */,
- F96D3E0708F272A5004A47F5 /* BackgdErr.3 */,
- F96D3E0808F272A5004A47F5 /* Backslash.3 */,
- F96D3E0908F272A5004A47F5 /* bgerror.n */,
- F96D3E0A08F272A5004A47F5 /* binary.n */,
- F96D3E0B08F272A5004A47F5 /* BoolObj.3 */,
- F96D3E0C08F272A5004A47F5 /* break.n */,
- F96D3E0D08F272A5004A47F5 /* ByteArrObj.3 */,
- F96D3E0E08F272A5004A47F5 /* CallDel.3 */,
- F96D3E0F08F272A5004A47F5 /* case.n */,
- F96D3E1008F272A5004A47F5 /* catch.n */,
- F96D3E1108F272A5004A47F5 /* cd.n */,
- F96D3E1208F272A5004A47F5 /* chan.n */,
- F96D3E1308F272A5004A47F5 /* ChnlStack.3 */,
- F93599CF0DF1F87F00E04F67 /* Class.3 */,
- F93599D00DF1F89E00E04F67 /* class.n */,
- F96D3E1408F272A5004A47F5 /* clock.n */,
- F96D3E1508F272A5004A47F5 /* close.n */,
- F96D3E1608F272A5004A47F5 /* CmdCmplt.3 */,
- F96D3E1708F272A5004A47F5 /* Concat.3 */,
- F96D3E1808F272A5004A47F5 /* concat.n */,
- F96D3E1908F272A5004A47F5 /* continue.n */,
- F93599D20DF1F8DF00E04F67 /* copy.n */,
- F974D5720FBE7DC600BF728B /* coroutine.n */,
- F96D3E1A08F272A5004A47F5 /* CrtChannel.3 */,
- F96D3E1B08F272A5004A47F5 /* CrtChnlHdlr.3 */,
- F96D3E1C08F272A5004A47F5 /* CrtCloseHdlr.3 */,
- F96D3E1D08F272A5004A47F5 /* CrtCommand.3 */,
- F96D3E1E08F272A5004A47F5 /* CrtFileHdlr.3 */,
- F96D3E1F08F272A5004A47F5 /* CrtInterp.3 */,
- F96D3E2008F272A5004A47F5 /* CrtMathFnc.3 */,
- F96D3E2108F272A5004A47F5 /* CrtObjCmd.3 */,
- F96D3E2208F272A5004A47F5 /* CrtSlave.3 */,
- F96D3E2308F272A5004A47F5 /* CrtTimerHdlr.3 */,
- F96D3E2408F272A5004A47F5 /* CrtTrace.3 */,
- F96D3E2508F272A5004A47F5 /* dde.n */,
- F93599D30DF1F8F500E04F67 /* define.n */,
- F96D3E2608F272A5004A47F5 /* DetachPids.3 */,
- F96D3E2708F272A5004A47F5 /* dict.n */,
- F96D3E2808F272A5004A47F5 /* DictObj.3 */,
- F96D3E2908F272A5004A47F5 /* DoOneEvent.3 */,
- F96D3E2A08F272A5004A47F5 /* DoubleObj.3 */,
- F96D3E2B08F272A5004A47F5 /* DoWhenIdle.3 */,
- F96D3E2C08F272A5004A47F5 /* DString.3 */,
- F96D3E2D08F272A5004A47F5 /* DumpActiveMemory.3 */,
- F96D3E2E08F272A5004A47F5 /* Encoding.3 */,
- F96D3E2F08F272A5004A47F5 /* encoding.n */,
- F96D3E3008F272A5004A47F5 /* Ensemble.3 */,
- F96D3E3108F272A5004A47F5 /* Environment.3 */,
- F96D3E3208F272A5004A47F5 /* eof.n */,
- F96D3E3308F272A5004A47F5 /* error.n */,
- F96D3E3408F272A5004A47F5 /* Eval.3 */,
- F96D3E3508F272A5004A47F5 /* eval.n */,
- F96D3E3608F272A5004A47F5 /* exec.n */,
- F96D3E3708F272A5004A47F5 /* Exit.3 */,
- F96D3E3808F272A5004A47F5 /* exit.n */,
- F96D3E3908F272A5004A47F5 /* expr.n */,
- F96D3E3A08F272A5004A47F5 /* ExprLong.3 */,
- F96D3E3B08F272A5004A47F5 /* ExprLongObj.3 */,
- F96D3E3C08F272A5004A47F5 /* fblocked.n */,
- F96D3E3D08F272A5004A47F5 /* fconfigure.n */,
- F96D3E3E08F272A5004A47F5 /* fcopy.n */,
- F96D3E3F08F272A5004A47F5 /* file.n */,
- F96D3E4008F272A5004A47F5 /* fileevent.n */,
- F96D3E4108F272A5004A47F5 /* filename.n */,
- F96D3E4208F272A5004A47F5 /* FileSystem.3 */,
- F96D3E4308F272A5004A47F5 /* FindExec.3 */,
- F96D3E4408F272A5004A47F5 /* flush.n */,
- F96D3E4508F272A5004A47F5 /* for.n */,
- F96D3E4608F272A5004A47F5 /* foreach.n */,
- F96D3E4708F272A5004A47F5 /* format.n */,
- F96D3E4808F272A5004A47F5 /* GetCwd.3 */,
- F96D3E4908F272A5004A47F5 /* GetHostName.3 */,
- F96D3E4A08F272A5004A47F5 /* GetIndex.3 */,
- F96D3E4B08F272A5004A47F5 /* GetInt.3 */,
- F96D3E4C08F272A5004A47F5 /* GetOpnFl.3 */,
- F96D3E4D08F272A5004A47F5 /* gets.n */,
- F96D3E4E08F272A5004A47F5 /* GetStdChan.3 */,
- F96D3E4F08F272A5004A47F5 /* GetTime.3 */,
- F96D3E5008F272A5004A47F5 /* GetVersion.3 */,
- F96D3E5108F272A5004A47F5 /* glob.n */,
- F96D3E5208F272A6004A47F5 /* global.n */,
- F96D3E5308F272A6004A47F5 /* Hash.3 */,
- F96D3E5408F272A6004A47F5 /* history.n */,
- F96D3E5508F272A6004A47F5 /* http.n */,
- F96D3E5608F272A6004A47F5 /* if.n */,
- F96D3E5708F272A6004A47F5 /* incr.n */,
- F96D3E5808F272A6004A47F5 /* info.n */,
- F96D3E5908F272A6004A47F5 /* Init.3 */,
- F96D3E5A08F272A6004A47F5 /* InitStubs.3 */,
- F96D3E5B08F272A6004A47F5 /* Interp.3 */,
- F96D3E5C08F272A6004A47F5 /* interp.n */,
- F96D3E5D08F272A6004A47F5 /* IntObj.3 */,
- F96D3E5E08F272A6004A47F5 /* join.n */,
- F96D3E5F08F272A6004A47F5 /* lappend.n */,
- F96D3E6008F272A6004A47F5 /* lassign.n */,
- F96D3E6108F272A6004A47F5 /* library.n */,
- F96D3E6208F272A6004A47F5 /* Limit.3 */,
- F96D3E6308F272A6004A47F5 /* lindex.n */,
- F96D3E6408F272A6004A47F5 /* LinkVar.3 */,
- F96D3E6508F272A6004A47F5 /* linsert.n */,
- F96D3E6608F272A6004A47F5 /* list.n */,
- F96D3E6708F272A6004A47F5 /* ListObj.3 */,
- F96D3E6808F272A6004A47F5 /* llength.n */,
- F96D3E6908F272A6004A47F5 /* load.n */,
- F96D3E6A08F272A6004A47F5 /* lrange.n */,
- F96D3E6B08F272A6004A47F5 /* lrepeat.n */,
- F96D3E6C08F272A6004A47F5 /* lreplace.n */,
- F96D3E6D08F272A6004A47F5 /* lsearch.n */,
- F96D3E6E08F272A6004A47F5 /* lset.n */,
- F96D3E6F08F272A6004A47F5 /* lsort.n */,
- F96D3E7008F272A6004A47F5 /* man.macros */,
- F96D3E7108F272A6004A47F5 /* mathfunc.n */,
- F96D3E7208F272A6004A47F5 /* memory.n */,
- F93599D40DF1F91900E04F67 /* Method.3 */,
- F96D3E7308F272A6004A47F5 /* msgcat.n */,
- F93599D50DF1F93700E04F67 /* my.n */,
- F96D3E7408F272A6004A47F5 /* Namespace.3 */,
- F96D3E7508F272A6004A47F5 /* namespace.n */,
- F93599D60DF1F95000E04F67 /* next.n */,
- F96D3E7608F272A6004A47F5 /* Notifier.3 */,
- F96D3E7708F272A6004A47F5 /* Object.3 */,
- F93599D70DF1F96800E04F67 /* object.n */,
- F96D3E7808F272A6004A47F5 /* ObjectType.3 */,
- F96D3E7908F272A6004A47F5 /* open.n */,
- F96D3E7A08F272A6004A47F5 /* OpenFileChnl.3 */,
- F96D3E7B08F272A6004A47F5 /* OpenTcp.3 */,
- F96D3E7C08F272A6004A47F5 /* package.n */,
- F96D3E7D08F272A6004A47F5 /* packagens.n */,
- F96D3E7E08F272A6004A47F5 /* Panic.3 */,
- F96D3E7F08F272A6004A47F5 /* ParseCmd.3 */,
- F96D3E8008F272A6004A47F5 /* pid.n */,
- F96D3E8108F272A6004A47F5 /* pkgMkIndex.n */,
- F96D3E8208F272A6004A47F5 /* PkgRequire.3 */,
- F9ECB1E10B26543C00A28025 /* platform_shell.n */,
- F9ECB1E20B26543C00A28025 /* platform.n */,
- F96D3E8308F272A6004A47F5 /* Preserve.3 */,
- F96D3E8408F272A6004A47F5 /* PrintDbl.3 */,
- F96D3E8508F272A6004A47F5 /* proc.n */,
- F96D3E8608F272A6004A47F5 /* puts.n */,
- F96D3E8708F272A6004A47F5 /* pwd.n */,
- F96D3E8808F272A6004A47F5 /* re_syntax.n */,
- F96D3E8908F272A6004A47F5 /* read.n */,
- F96D3E8A08F272A6004A47F5 /* RecEvalObj.3 */,
- F96D3E8B08F272A6004A47F5 /* RecordEval.3 */,
- F96D3E8C08F272A6004A47F5 /* RegConfig.3 */,
- F96D3E8D08F272A6004A47F5 /* RegExp.3 */,
- F96D3E8E08F272A6004A47F5 /* regexp.n */,
- F96D3E8F08F272A6004A47F5 /* registry.n */,
- F96D3E9008F272A6004A47F5 /* regsub.n */,
- F96D3E9108F272A6004A47F5 /* rename.n */,
- F96D3E9208F272A6004A47F5 /* return.n */,
- F96D3E9308F272A6004A47F5 /* safe.n */,
- F96D3E9408F272A6004A47F5 /* SaveResult.3 */,
- F96D3E9508F272A6004A47F5 /* scan.n */,
- F96D3E9608F272A6004A47F5 /* seek.n */,
- F93599D80DF1F98300E04F67 /* self.n */,
- F96D3E9708F272A6004A47F5 /* set.n */,
- F96D3E9808F272A6004A47F5 /* SetChanErr.3 */,
- F96D3E9908F272A6004A47F5 /* SetErrno.3 */,
- F96D3E9A08F272A6004A47F5 /* SetRecLmt.3 */,
- F96D3E9B08F272A7004A47F5 /* SetResult.3 */,
- F96D3E9C08F272A7004A47F5 /* SetVar.3 */,
- F96D3E9D08F272A7004A47F5 /* Signal.3 */,
- F96D3E9E08F272A7004A47F5 /* Sleep.3 */,
- F96D3E9F08F272A7004A47F5 /* socket.n */,
- F96D3EA008F272A7004A47F5 /* source.n */,
- F96D3EA108F272A7004A47F5 /* SourceRCFile.3 */,
- F96D3EA208F272A7004A47F5 /* split.n */,
- F96D3EA308F272A7004A47F5 /* SplitList.3 */,
- F96D3EA408F272A7004A47F5 /* SplitPath.3 */,
- F96D3EA508F272A7004A47F5 /* StaticPkg.3 */,
- F96D3EA608F272A7004A47F5 /* StdChannels.3 */,
- F96D3EA708F272A7004A47F5 /* string.n */,
- F96D3EA808F272A7004A47F5 /* StringObj.3 */,
- F96D3EA908F272A7004A47F5 /* StrMatch.3 */,
- F96D3EAA08F272A7004A47F5 /* subst.n */,
- F96D3EAB08F272A7004A47F5 /* SubstObj.3 */,
- F96D3EAC08F272A7004A47F5 /* switch.n */,
- F974D5760FBE7E1900BF728B /* tailcall.n */,
- F96D3EAD08F272A7004A47F5 /* Tcl.n */,
- F99D61180EF5573A00BBFE01 /* TclZlib.3 */,
- F96D3EAE08F272A7004A47F5 /* Tcl_Main.3 */,
- F96D3EAF08F272A7004A47F5 /* TCL_MEM_DEBUG.3 */,
- F96D3EB008F272A7004A47F5 /* tclsh.1 */,
- F96D3EB108F272A7004A47F5 /* tcltest.n */,
- F96D3EB208F272A7004A47F5 /* tclvars.n */,
- F96D3EB308F272A7004A47F5 /* tell.n */,
- F96D3EB408F272A7004A47F5 /* Thread.3 */,
- F9183E640EFC80CD0030B814 /* throw.n */,
- F96D3EB508F272A7004A47F5 /* time.n */,
- F96D3EB608F272A7004A47F5 /* tm.n */,
- F96D3EB708F272A7004A47F5 /* ToUpper.3 */,
- F96D3EB808F272A7004A47F5 /* trace.n */,
- F96D3EB908F272A7004A47F5 /* TraceCmd.3 */,
- F96D3EBA08F272A7004A47F5 /* TraceVar.3 */,
- F96D3EBB08F272A7004A47F5 /* Translate.3 */,
- F9183E650EFC80D70030B814 /* try.n */,
- F96D3EBC08F272A7004A47F5 /* UniCharIsAlpha.3 */,
- F96D3EBD08F272A7004A47F5 /* unknown.n */,
- F96D3EBE08F272A7004A47F5 /* unload.n */,
- F96D3EBF08F272A7004A47F5 /* unset.n */,
- F96D3EC008F272A7004A47F5 /* update.n */,
- F96D3EC108F272A7004A47F5 /* uplevel.n */,
- F96D3EC208F272A7004A47F5 /* UpVar.3 */,
- F96D3EC308F272A7004A47F5 /* upvar.n */,
- F96D3EC408F272A7004A47F5 /* Utf.3 */,
- F96D3EC508F272A7004A47F5 /* variable.n */,
- F96D3EC608F272A7004A47F5 /* vwait.n */,
- F96D3EC708F272A7004A47F5 /* while.n */,
- F96D3EC808F272A7004A47F5 /* WrongNumArgs.3 */,
- F915432D0EF201EE0032D1E8 /* zlib.n */,
- );
- path = doc;
- sourceTree = "<group>";
- };
- F96D3EC908F272A7004A47F5 /* generic */ = {
- isa = PBXGroup;
- children = (
- F96D3ECA08F272A7004A47F5 /* README */,
- F96D3ECB08F272A7004A47F5 /* regc_color.c */,
- F96D3ECC08F272A7004A47F5 /* regc_cvec.c */,
- F96D3ECD08F272A7004A47F5 /* regc_lex.c */,
- F96D3ECE08F272A7004A47F5 /* regc_locale.c */,
- F96D3ECF08F272A7004A47F5 /* regc_nfa.c */,
- F96D3ED008F272A7004A47F5 /* regcomp.c */,
- F96D3ED108F272A7004A47F5 /* regcustom.h */,
- F96D3ED208F272A7004A47F5 /* rege_dfa.c */,
- F96D3ED308F272A7004A47F5 /* regerror.c */,
- F96D3ED408F272A7004A47F5 /* regerrs.h */,
- F96D3ED508F272A7004A47F5 /* regex.h */,
- F96D3ED608F272A7004A47F5 /* regexec.c */,
- F96D3ED708F272A7004A47F5 /* regfree.c */,
- F96D3ED808F272A7004A47F5 /* regfronts.c */,
- F96D3ED908F272A7004A47F5 /* regguts.h */,
- F96D3EDA08F272A7004A47F5 /* tcl.decls */,
- F96D3EDB08F272A7004A47F5 /* tcl.h */,
- F96D3EDC08F272A7004A47F5 /* tclAlloc.c */,
- F96D3EDD08F272A7004A47F5 /* tclAsync.c */,
- F96D3EDE08F272A7004A47F5 /* tclBasic.c */,
- F96D3EDF08F272A7004A47F5 /* tclBinary.c */,
- F96D3EE008F272A7004A47F5 /* tclCkalloc.c */,
- F96D3EE108F272A7004A47F5 /* tclClock.c */,
- F96D3EE208F272A7004A47F5 /* tclCmdAH.c */,
- F96D3EE308F272A7004A47F5 /* tclCmdIL.c */,
- F96D3EE408F272A7004A47F5 /* tclCmdMZ.c */,
- F96D3EE508F272A7004A47F5 /* tclCompCmds.c */,
- F96D3EE608F272A7004A47F5 /* tclCompExpr.c */,
- F96D3EE708F272A7004A47F5 /* tclCompile.c */,
- F96D3EE808F272A7004A47F5 /* tclCompile.h */,
- F96D3EE908F272A7004A47F5 /* tclConfig.c */,
- F96D3EEA08F272A7004A47F5 /* tclDate.c */,
- F96D3EEB08F272A7004A47F5 /* tclDecls.h */,
- F96D3EEC08F272A7004A47F5 /* tclDictObj.c */,
- F9F4415D0C8BAE6F00BCCD67 /* tclDTrace.d */,
- F96D3EED08F272A7004A47F5 /* tclEncoding.c */,
- F96D3EEE08F272A7004A47F5 /* tclEnv.c */,
- F96D3EEF08F272A7004A47F5 /* tclEvent.c */,
- F96D3EF008F272A7004A47F5 /* tclExecute.c */,
- F96D3EF108F272A7004A47F5 /* tclFCmd.c */,
- F96D3EF208F272A7004A47F5 /* tclFileName.c */,
- F96D3EF308F272A7004A47F5 /* tclFileSystem.h */,
- F96D3EF408F272A7004A47F5 /* tclGet.c */,
- F96D3EF508F272A7004A47F5 /* tclGetDate.y */,
- F96D3EF608F272A7004A47F5 /* tclHash.c */,
- F96D3EF708F272A7004A47F5 /* tclHistory.c */,
- F96D3EF808F272A7004A47F5 /* tclIndexObj.c */,
- F96D3EF908F272A7004A47F5 /* tclInt.decls */,
- F96D3EFA08F272A7004A47F5 /* tclInt.h */,
- F96D3EFB08F272A7004A47F5 /* tclIntDecls.h */,
- F96D3EFC08F272A7004A47F5 /* tclInterp.c */,
- F96D3EFD08F272A7004A47F5 /* tclIntPlatDecls.h */,
- F96D3EFE08F272A7004A47F5 /* tclIO.c */,
- F96D3EFF08F272A7004A47F5 /* tclIO.h */,
- F96D3F0008F272A7004A47F5 /* tclIOCmd.c */,
- F96D3F0108F272A7004A47F5 /* tclIOGT.c */,
- F96D3F0208F272A7004A47F5 /* tclIORChan.c */,
- F95D77E90DFD820D00A8BF6F /* tclIORTrans.c */,
- F96D3F0308F272A7004A47F5 /* tclIOSock.c */,
- F96D3F0408F272A7004A47F5 /* tclIOUtil.c */,
- F96D3F0508F272A7004A47F5 /* tclLink.c */,
- F96D3F0608F272A7004A47F5 /* tclListObj.c */,
- F96D3F0708F272A7004A47F5 /* tclLiteral.c */,
- F96D3F0808F272A7004A47F5 /* tclLoad.c */,
- F96D3F0908F272A7004A47F5 /* tclLoadNone.c */,
- F96D3F0A08F272A7004A47F5 /* tclMain.c */,
- F96D3F0B08F272A7004A47F5 /* tclNamesp.c */,
- F96D3F0C08F272A7004A47F5 /* tclNotify.c */,
- F96D3F0D08F272A7004A47F5 /* tclObj.c */,
- F93599B20DF1F75400E04F67 /* tclOO.c */,
- F93599B40DF1F75900E04F67 /* tclOO.decls */,
- F93599B50DF1F75D00E04F67 /* tclOO.h */,
- F93599B60DF1F76100E04F67 /* tclOOBasic.c */,
- F93599B80DF1F76600E04F67 /* tclOOCall.c */,
- F93599BA0DF1F76A00E04F67 /* tclOODecls.h */,
- F93599BB0DF1F77000E04F67 /* tclOODefineCmds.c */,
- F93599BD0DF1F77400E04F67 /* tclOOInfo.c */,
- F93599BF0DF1F77900E04F67 /* tclOOInt.h */,
- F93599C00DF1F77D00E04F67 /* tclOOIntDecls.h */,
- F93599C10DF1F78300E04F67 /* tclOOMethod.c */,
- F93599C30DF1F78800E04F67 /* tclOOStubInit.c */,
- F93599C50DF1F78D00E04F67 /* tclOOStubLib.c */,
- F96D3F0E08F272A7004A47F5 /* tclPanic.c */,
- F96D3F0F08F272A7004A47F5 /* tclParse.c */,
- F96D3F1108F272A7004A47F5 /* tclPathObj.c */,
- F96D3F1208F272A7004A47F5 /* tclPipe.c */,
- F96D3F1308F272A7004A47F5 /* tclPkg.c */,
- F96D3F1408F272A7004A47F5 /* tclPkgConfig.c */,
- F96D3F1508F272A7004A47F5 /* tclPlatDecls.h */,
- F96D3F1608F272A7004A47F5 /* tclPort.h */,
- F96D3F1708F272A7004A47F5 /* tclPosixStr.c */,
- F96D3F1808F272A7004A47F5 /* tclPreserve.c */,
- F96D3F1908F272A7004A47F5 /* tclProc.c */,
- F96D3F1A08F272A7004A47F5 /* tclRegexp.c */,
- F96D3F1B08F272A7004A47F5 /* tclRegexp.h */,
- F96D3F1C08F272A7004A47F5 /* tclResolve.c */,
- F96D3F1D08F272A7004A47F5 /* tclResult.c */,
- F96D3F1E08F272A7004A47F5 /* tclScan.c */,
- F96D3F1F08F272A7004A47F5 /* tclStringObj.c */,
- F96D3F2408F272A7004A47F5 /* tclStrToD.c */,
- F96D3F2508F272A7004A47F5 /* tclStubInit.c */,
- F96D3F2608F272A7004A47F5 /* tclStubLib.c */,
- F96D3F2708F272A7004A47F5 /* tclTest.c */,
- F96D3F2808F272A7004A47F5 /* tclTestObj.c */,
- F96D3F2908F272A7004A47F5 /* tclTestProcBodyObj.c */,
- F96D3F2A08F272A7004A47F5 /* tclThread.c */,
- F96D3F2B08F272A7004A47F5 /* tclThreadAlloc.c */,
- F96D3F2C08F272A7004A47F5 /* tclThreadJoin.c */,
- F96D3F2D08F272A7004A47F5 /* tclThreadStorage.c */,
- F96D3F2E08F272A7004A47F5 /* tclThreadTest.c */,
- F96D3F2F08F272A7004A47F5 /* tclTimer.c */,
- F9903CAF094FAADA004613E9 /* tclTomMath.decls */,
- F96D3F3008F272A7004A47F5 /* tclTomMath.h */,
- F9903CB0094FAADA004613E9 /* tclTomMathDecls.h */,
- F96D3F3108F272A7004A47F5 /* tclTomMathInterface.c */,
- F96D3F3208F272A7004A47F5 /* tclTrace.c */,
- F96D3F3308F272A7004A47F5 /* tclUniData.c */,
- F96D3F3408F272A7004A47F5 /* tclUtf.c */,
- F96D3F3508F272A7004A47F5 /* tclUtil.c */,
- F96D3F3608F272A7004A47F5 /* tclVar.c */,
- F96437C90EF0D4B2003F468E /* tclZlib.c */,
- F96D3F3708F272A7004A47F5 /* tommath.h */,
- );
- path = generic;
- sourceTree = "<group>";
- };
- F96D3F3808F272A7004A47F5 /* library */ = {
- isa = PBXGroup;
- children = (
- F96D3F3908F272A8004A47F5 /* auto.tcl */,
- F96D3F3A08F272A8004A47F5 /* clock.tcl */,
- F96D3F3B08F272A8004A47F5 /* dde */,
- F96D3F8C08F272A8004A47F5 /* history.tcl */,
- F96D3F8D08F272A8004A47F5 /* http */,
- F96D3F9008F272A8004A47F5 /* http1.0 */,
- F96D3F9308F272A8004A47F5 /* init.tcl */,
- F96D3F9408F272A8004A47F5 /* msgcat */,
- F96D401708F272AA004A47F5 /* opt */,
- F96D401A08F272AA004A47F5 /* package.tcl */,
- F96D401B08F272AA004A47F5 /* parray.tcl */,
- F9ECB1110B26521500A28025 /* platform */,
- F96D401C08F272AA004A47F5 /* reg */,
- F96D401E08F272AA004A47F5 /* safe.tcl */,
- F96D401F08F272AA004A47F5 /* tclIndex */,
- F96D402008F272AA004A47F5 /* tcltest */,
- F96D402308F272AA004A47F5 /* tm.tcl */,
- F96D425B08F272B2004A47F5 /* word.tcl */,
- );
- path = library;
- sourceTree = "<group>";
- };
- F96D3F3B08F272A8004A47F5 /* dde */ = {
- isa = PBXGroup;
- children = (
- F96D3F3C08F272A8004A47F5 /* pkgIndex.tcl */,
- );
- path = dde;
- sourceTree = "<group>";
- };
- F96D3F8D08F272A8004A47F5 /* http */ = {
- isa = PBXGroup;
- children = (
- F96D3F8E08F272A8004A47F5 /* http.tcl */,
- F96D3F8F08F272A8004A47F5 /* pkgIndex.tcl */,
- );
- path = http;
- sourceTree = "<group>";
- };
- F96D3F9008F272A8004A47F5 /* http1.0 */ = {
- isa = PBXGroup;
- children = (
- F96D3F9108F272A8004A47F5 /* http.tcl */,
- F96D3F9208F272A8004A47F5 /* pkgIndex.tcl */,
- );
- path = http1.0;
- sourceTree = "<group>";
- };
- F96D3F9408F272A8004A47F5 /* msgcat */ = {
- isa = PBXGroup;
- children = (
- F96D3F9508F272A8004A47F5 /* msgcat.tcl */,
- F96D3F9608F272A8004A47F5 /* pkgIndex.tcl */,
- );
- path = msgcat;
- sourceTree = "<group>";
- };
- F96D401708F272AA004A47F5 /* opt */ = {
- isa = PBXGroup;
- children = (
- F96D401808F272AA004A47F5 /* optparse.tcl */,
- F96D401908F272AA004A47F5 /* pkgIndex.tcl */,
- );
- path = opt;
- sourceTree = "<group>";
- };
- F96D401C08F272AA004A47F5 /* reg */ = {
- isa = PBXGroup;
- children = (
- F96D401D08F272AA004A47F5 /* pkgIndex.tcl */,
- );
- path = reg;
- sourceTree = "<group>";
- };
- F96D402008F272AA004A47F5 /* tcltest */ = {
- isa = PBXGroup;
- children = (
- F96D402108F272AA004A47F5 /* pkgIndex.tcl */,
- F96D402208F272AA004A47F5 /* tcltest.tcl */,
- );
- path = tcltest;
- sourceTree = "<group>";
- };
- F96D425C08F272B2004A47F5 /* libtommath */ = {
- isa = PBXGroup;
- children = (
- F96D426408F272B3004A47F5 /* bn_fast_s_mp_mul_digs.c */,
- F96D426608F272B3004A47F5 /* bn_fast_s_mp_sqr.c */,
- F96D426908F272B3004A47F5 /* bn_mp_add.c */,
- F96D426A08F272B3004A47F5 /* bn_mp_add_d.c */,
- F96D426C08F272B3004A47F5 /* bn_mp_and.c */,
- F96D426D08F272B3004A47F5 /* bn_mp_clamp.c */,
- F96D426E08F272B3004A47F5 /* bn_mp_clear.c */,
- F96D426F08F272B3004A47F5 /* bn_mp_clear_multi.c */,
- F96D427008F272B3004A47F5 /* bn_mp_cmp.c */,
- F96D427108F272B3004A47F5 /* bn_mp_cmp_d.c */,
- F96D427208F272B3004A47F5 /* bn_mp_cmp_mag.c */,
- F96D427408F272B3004A47F5 /* bn_mp_copy.c */,
- F96D427508F272B3004A47F5 /* bn_mp_count_bits.c */,
- F96D427608F272B3004A47F5 /* bn_mp_div.c */,
- F96D427708F272B3004A47F5 /* bn_mp_div_2.c */,
- F96D427808F272B3004A47F5 /* bn_mp_div_2d.c */,
- F96D427908F272B3004A47F5 /* bn_mp_div_3.c */,
- F96D427A08F272B3004A47F5 /* bn_mp_div_d.c */,
- F96D427E08F272B3004A47F5 /* bn_mp_exch.c */,
- F96D427F08F272B3004A47F5 /* bn_mp_expt_d.c */,
- F96D428708F272B3004A47F5 /* bn_mp_grow.c */,
- F96D428808F272B3004A47F5 /* bn_mp_init.c */,
- F96D428908F272B3004A47F5 /* bn_mp_init_copy.c */,
- F96D428A08F272B3004A47F5 /* bn_mp_init_multi.c */,
- F96D428B08F272B3004A47F5 /* bn_mp_init_set.c */,
- F96D428D08F272B3004A47F5 /* bn_mp_init_size.c */,
- F96D429208F272B3004A47F5 /* bn_mp_karatsuba_mul.c */,
- F96D429308F272B3004A47F5 /* bn_mp_karatsuba_sqr.c */,
- F96D429508F272B3004A47F5 /* bn_mp_lshd.c */,
- F96D429608F272B3004A47F5 /* bn_mp_mod.c */,
- F96D429708F272B3004A47F5 /* bn_mp_mod_2d.c */,
- F96D429C08F272B3004A47F5 /* bn_mp_mul.c */,
- F96D429D08F272B3004A47F5 /* bn_mp_mul_2.c */,
- F96D429E08F272B3004A47F5 /* bn_mp_mul_2d.c */,
- F96D429F08F272B3004A47F5 /* bn_mp_mul_d.c */,
- F96D42A208F272B3004A47F5 /* bn_mp_neg.c */,
- F96D42A308F272B3004A47F5 /* bn_mp_or.c */,
- F96D42AB08F272B3004A47F5 /* bn_mp_radix_size.c */,
- F96D42AC08F272B3004A47F5 /* bn_mp_radix_smap.c */,
- F96D42AE08F272B3004A47F5 /* bn_mp_read_radix.c */,
- F96D42B908F272B3004A47F5 /* bn_mp_rshd.c */,
- F96D42BA08F272B3004A47F5 /* bn_mp_set.c */,
- F96D42BC08F272B3004A47F5 /* bn_mp_shrink.c */,
- F96D42BE08F272B3004A47F5 /* bn_mp_sqr.c */,
- F96D42C008F272B3004A47F5 /* bn_mp_sqrt.c */,
- F96D42C108F272B3004A47F5 /* bn_mp_sub.c */,
- F96D42C208F272B3004A47F5 /* bn_mp_sub_d.c */,
- F96D42C608F272B3004A47F5 /* bn_mp_to_unsigned_bin.c */,
- F96D42C708F272B3004A47F5 /* bn_mp_to_unsigned_bin_n.c */,
- F96D42C808F272B3004A47F5 /* bn_mp_toom_mul.c */,
- F96D42C908F272B3004A47F5 /* bn_mp_toom_sqr.c */,
- F96D42CB08F272B3004A47F5 /* bn_mp_toradix_n.c */,
- F96D42CC08F272B3004A47F5 /* bn_mp_unsigned_bin_size.c */,
- F96D42CD08F272B3004A47F5 /* bn_mp_xor.c */,
- F96D42CE08F272B3004A47F5 /* bn_mp_zero.c */,
- F96D42D008F272B3004A47F5 /* bn_reverse.c */,
- F96D42D108F272B3004A47F5 /* bn_s_mp_add.c */,
- F96D42D308F272B3004A47F5 /* bn_s_mp_mul_digs.c */,
- F96D42D508F272B3004A47F5 /* bn_s_mp_sqr.c */,
- F96D42D608F272B3004A47F5 /* bn_s_mp_sub.c */,
- F96D42D708F272B3004A47F5 /* bncore.c */,
- F96D432908F272B4004A47F5 /* tommath_class.h */,
- F96D432A08F272B4004A47F5 /* tommath_superclass.h */,
- );
- path = libtommath;
- sourceTree = "<group>";
- };
- F96D432C08F272B4004A47F5 /* macosx */ = {
- isa = PBXGroup;
- children = (
- F96D432E08F272B5004A47F5 /* configure.ac */,
- F96D432F08F272B5004A47F5 /* GNUmakefile */,
- F96D433108F272B5004A47F5 /* README */,
- F96D433908F272B5004A47F5 /* tclMacOSXBundle.c */,
- F96D433D08F272B5004A47F5 /* tclMacOSXFCmd.c */,
- F96D433E08F272B5004A47F5 /* tclMacOSXNotify.c */,
- F96D433208F272B5004A47F5 /* Tcl-Info.plist.in */,
- F91E62260C1AE686006C9D96 /* Tclsh-Info.plist.in */,
- );
- path = macosx;
- sourceTree = "<group>";
- };
- F96D434408F272B5004A47F5 /* tests */ = {
- isa = PBXGroup;
- children = (
- F96D434508F272B5004A47F5 /* all.tcl */,
- F96D434608F272B5004A47F5 /* append.test */,
- F96D434708F272B5004A47F5 /* appendComp.test */,
- F9ECB1CA0B2652D300A28025 /* apply.test */,
- F96D434808F272B5004A47F5 /* assocd.test */,
- F96D434908F272B5004A47F5 /* async.test */,
- F96D434A08F272B5004A47F5 /* autoMkindex.test */,
- F96D434B08F272B5004A47F5 /* basic.test */,
- F96D434C08F272B5004A47F5 /* binary.test */,
- F96D434D08F272B5004A47F5 /* case.test */,
- F96D434E08F272B5004A47F5 /* chan.test */,
- F9A493240CEBF38300B78AE2 /* chanio.test */,
- F96D434F08F272B5004A47F5 /* clock.test */,
- F96D435008F272B5004A47F5 /* cmdAH.test */,
- F96D435108F272B5004A47F5 /* cmdIL.test */,
- F96D435208F272B5004A47F5 /* cmdInfo.test */,
- F96D435308F272B5004A47F5 /* cmdMZ.test */,
- F96D435408F272B5004A47F5 /* compExpr-old.test */,
- F96D435508F272B5004A47F5 /* compExpr.test */,
- F96D435608F272B5004A47F5 /* compile.test */,
- F96D435708F272B5004A47F5 /* concat.test */,
- F96D435808F272B5004A47F5 /* config.test */,
- F974D5770FBE7E6100BF728B /* coroutine.test */,
- F96D435908F272B5004A47F5 /* dcall.test */,
- F96D435A08F272B5004A47F5 /* dict.test */,
- F96D435C08F272B5004A47F5 /* dstring.test */,
- F96D435E08F272B5004A47F5 /* encoding.test */,
- F96D435F08F272B5004A47F5 /* env.test */,
- F96D436008F272B5004A47F5 /* error.test */,
- F96D436108F272B5004A47F5 /* eval.test */,
- F96D436208F272B5004A47F5 /* event.test */,
- F96D436308F272B5004A47F5 /* exec.test */,
- F96D436408F272B5004A47F5 /* execute.test */,
- F96D436508F272B5004A47F5 /* expr-old.test */,
- F96D436608F272B5004A47F5 /* expr.test */,
- F96D436708F272B6004A47F5 /* fCmd.test */,
- F96D436808F272B6004A47F5 /* fileName.test */,
- F96D436908F272B6004A47F5 /* fileSystem.test */,
- F96D436A08F272B6004A47F5 /* for-old.test */,
- F96D436B08F272B6004A47F5 /* for.test */,
- F96D436C08F272B6004A47F5 /* foreach.test */,
- F96D436D08F272B6004A47F5 /* format.test */,
- F96D436E08F272B6004A47F5 /* get.test */,
- F96D436F08F272B6004A47F5 /* history.test */,
- F96D437008F272B6004A47F5 /* http.test */,
- F974D56C0FBE7D6300BF728B /* http11.test */,
- F96D437108F272B6004A47F5 /* httpd */,
- F974D56D0FBE7D6300BF728B /* httpd11.tcl */,
- F96D437208F272B6004A47F5 /* httpold.test */,
- F96D437308F272B6004A47F5 /* if-old.test */,
- F96D437408F272B6004A47F5 /* if.test */,
- F96D437508F272B6004A47F5 /* incr-old.test */,
- F96D437608F272B6004A47F5 /* incr.test */,
- F96D437708F272B6004A47F5 /* indexObj.test */,
- F96D437808F272B6004A47F5 /* info.test */,
- F96D437908F272B6004A47F5 /* init.test */,
- F96D437A08F272B6004A47F5 /* interp.test */,
- F96D437B08F272B6004A47F5 /* io.test */,
- F96D437C08F272B6004A47F5 /* ioCmd.test */,
- F96D437D08F272B6004A47F5 /* iogt.test */,
- F96D437F08F272B6004A47F5 /* join.test */,
- F96D438008F272B6004A47F5 /* lindex.test */,
- F96D438108F272B6004A47F5 /* link.test */,
- F96D438208F272B6004A47F5 /* linsert.test */,
- F96D438308F272B6004A47F5 /* list.test */,
- F96D438408F272B6004A47F5 /* listObj.test */,
- F96D438508F272B6004A47F5 /* llength.test */,
- F96D438608F272B6004A47F5 /* load.test */,
- F96D438708F272B6004A47F5 /* lrange.test */,
- F96D438808F272B6004A47F5 /* lrepeat.test */,
- F96D438908F272B6004A47F5 /* lreplace.test */,
- F96D438A08F272B6004A47F5 /* lsearch.test */,
- F96D438B08F272B6004A47F5 /* lset.test */,
- F96D438C08F272B6004A47F5 /* lsetComp.test */,
- F96D438D08F272B6004A47F5 /* macOSXFCmd.test */,
- F95FAFF90B34F1130072E431 /* macOSXLoad.test */,
- F96D438E08F272B6004A47F5 /* main.test */,
- F9ECB1CB0B26534C00A28025 /* mathop.test */,
- F96D438F08F272B6004A47F5 /* misc.test */,
- F96D439008F272B6004A47F5 /* msgcat.test */,
- F96D439108F272B6004A47F5 /* namespace-old.test */,
- F96D439208F272B7004A47F5 /* namespace.test */,
- F96D439308F272B7004A47F5 /* notify.test */,
- F91DC23C0E44C51B002CB8D1 /* nre.test */,
- F96D439408F272B7004A47F5 /* obj.test */,
- F93599C80DF1F81900E04F67 /* oo.test */,
- F96D439508F272B7004A47F5 /* opt.test */,
- F96D439608F272B7004A47F5 /* package.test */,
- F96D439708F272B7004A47F5 /* parse.test */,
- F96D439808F272B7004A47F5 /* parseExpr.test */,
- F96D439908F272B7004A47F5 /* parseOld.test */,
- F96D439A08F272B7004A47F5 /* pid.test */,
- F96D439B08F272B7004A47F5 /* pkg.test */,
- F96D439C08F272B7004A47F5 /* pkgMkIndex.test */,
- F96D439D08F272B7004A47F5 /* platform.test */,
- F96D439E08F272B7004A47F5 /* proc-old.test */,
- F96D439F08F272B7004A47F5 /* proc.test */,
- F96D43A008F272B7004A47F5 /* pwd.test */,
- F96D43A108F272B7004A47F5 /* README */,
- F96D43A208F272B7004A47F5 /* reg.test */,
- F96D43A308F272B7004A47F5 /* regexp.test */,
- F96D43A408F272B7004A47F5 /* regexpComp.test */,
- F96D43A508F272B7004A47F5 /* registry.test */,
- F96D43A608F272B7004A47F5 /* remote.tcl */,
- F96D43A708F272B7004A47F5 /* rename.test */,
- F96D43A808F272B7004A47F5 /* result.test */,
- F96D43A908F272B7004A47F5 /* safe.test */,
- F96D43AA08F272B7004A47F5 /* scan.test */,
- F96D43AB08F272B7004A47F5 /* security.test */,
- F96D43AC08F272B7004A47F5 /* set-old.test */,
- F96D43AD08F272B7004A47F5 /* set.test */,
- F96D43AE08F272B7004A47F5 /* socket.test */,
- F96D43AF08F272B7004A47F5 /* source.test */,
- F96D43B008F272B7004A47F5 /* split.test */,
- F96D43B108F272B7004A47F5 /* stack.test */,
- F96D43B208F272B7004A47F5 /* string.test */,
- F96D43B308F272B7004A47F5 /* stringComp.test */,
- F96D43B408F272B7004A47F5 /* stringObj.test */,
- F96D43B508F272B7004A47F5 /* subst.test */,
- F96D43B608F272B7004A47F5 /* switch.test */,
- F974D5780FBE7E6100BF728B /* tailcall.test */,
- F96D43B708F272B7004A47F5 /* tcltest.test */,
- F96D43B808F272B7004A47F5 /* thread.test */,
- F96D43B908F272B7004A47F5 /* timer.test */,
- F96D43BA08F272B7004A47F5 /* tm.test */,
- F96D43BB08F272B7004A47F5 /* trace.test */,
- F96D43BC08F272B7004A47F5 /* unixFCmd.test */,
- F96D43BD08F272B7004A47F5 /* unixFile.test */,
- F96D43BE08F272B7004A47F5 /* unixInit.test */,
- F96D43BF08F272B7004A47F5 /* unixNotfy.test */,
- F96D43C008F272B7004A47F5 /* unknown.test */,
- F96D43C108F272B7004A47F5 /* unload.test */,
- F96D43C208F272B7004A47F5 /* uplevel.test */,
- F96D43C308F272B7004A47F5 /* upvar.test */,
- F96D43C408F272B7004A47F5 /* utf.test */,
- F96D43C508F272B7004A47F5 /* util.test */,
- F96D43C608F272B7004A47F5 /* var.test */,
- F96D43C708F272B7004A47F5 /* while-old.test */,
- F96D43C808F272B7004A47F5 /* while.test */,
- F96D43C908F272B7004A47F5 /* winConsole.test */,
- F96D43CA08F272B7004A47F5 /* winDde.test */,
- F96D43CB08F272B7004A47F5 /* winFCmd.test */,
- F96D43CC08F272B7004A47F5 /* winFile.test */,
- F96D43CD08F272B7004A47F5 /* winNotify.test */,
- F96D43CE08F272B7004A47F5 /* winPipe.test */,
- F96D43CF08F272B7004A47F5 /* winTime.test */,
- F915432A0EF201CF0032D1E8 /* zlib.test */,
- );
- path = tests;
- sourceTree = "<group>";
- };
- F96D43D008F272B8004A47F5 /* tools */ = {
- isa = PBXGroup;
- children = (
- F96D43D108F272B8004A47F5 /* checkLibraryDoc.tcl */,
- F96D43D208F272B8004A47F5 /* configure */,
- F96D43D308F272B8004A47F5 /* configure.in */,
- F96D442208F272B8004A47F5 /* eolFix.tcl */,
- F96D442408F272B8004A47F5 /* fix_tommath_h.tcl */,
- F96D442508F272B8004A47F5 /* genStubs.tcl */,
- F96D442708F272B8004A47F5 /* index.tcl */,
- F96D442808F272B8004A47F5 /* installData.tcl */,
- F96D442908F272B8004A47F5 /* loadICU.tcl */,
- F96D442A08F272B8004A47F5 /* Makefile.in */,
- F96D442B08F272B8004A47F5 /* makeTestCases.tcl */,
- F96D442C08F272B8004A47F5 /* man2help.tcl */,
- F96D442D08F272B8004A47F5 /* man2help2.tcl */,
- F96D442E08F272B8004A47F5 /* man2html.tcl */,
- F96D442F08F272B8004A47F5 /* man2html1.tcl */,
- F96D443008F272B8004A47F5 /* man2html2.tcl */,
- F96D443108F272B8004A47F5 /* man2tcl.c */,
- F96D443208F272B8004A47F5 /* README */,
- F96D443308F272B8004A47F5 /* regexpTestLib.tcl */,
- F96D443508F272B8004A47F5 /* tcl.hpj.in */,
- F96D443608F272B8004A47F5 /* tcl.wse.in */,
- F96D443908F272B9004A47F5 /* tcltk-man2html.tcl */,
- F96D443A08F272B9004A47F5 /* tclZIC.tcl */,
- F92D7F100DE777240033A13A /* tsdPerf.tcl */,
- F96D443B08F272B9004A47F5 /* uniClass.tcl */,
- F96D443C08F272B9004A47F5 /* uniParse.tcl */,
- );
- path = tools;
- sourceTree = "<group>";
- };
- F96D443E08F272B9004A47F5 /* unix */ = {
- isa = PBXGroup;
- children = (
- F96D444008F272B9004A47F5 /* aclocal.m4 */,
- F96D444108F272B9004A47F5 /* configure */,
- F96D444208F272B9004A47F5 /* configure.in */,
- F96D444308F272B9004A47F5 /* dltest */,
- F96D444D08F272B9004A47F5 /* install-sh */,
- F96D444E08F272B9004A47F5 /* installManPage */,
- F96D444F08F272B9004A47F5 /* ldAix */,
- F96D445008F272B9004A47F5 /* Makefile.in */,
- F96D445208F272B9004A47F5 /* README */,
- F96D445308F272B9004A47F5 /* tcl.m4 */,
- F974D5790FBE7E9C00BF728B /* tcl.pc.in */,
- F96D445408F272B9004A47F5 /* tcl.spec */,
- F96D445508F272B9004A47F5 /* tclAppInit.c */,
- F96D445608F272B9004A47F5 /* tclConfig.h.in */,
- F96D445708F272B9004A47F5 /* tclConfig.sh.in */,
- F96D445808F272B9004A47F5 /* tclLoadAix.c */,
- F96D445908F272B9004A47F5 /* tclLoadDl.c */,
- F96D445B08F272B9004A47F5 /* tclLoadDyld.c */,
- F96D445C08F272B9004A47F5 /* tclLoadNext.c */,
- F96D445D08F272B9004A47F5 /* tclLoadOSF.c */,
- F96D445E08F272B9004A47F5 /* tclLoadShl.c */,
- F96D445F08F272B9004A47F5 /* tclUnixChan.c */,
- F9FC77B70AB29E9100B7077D /* tclUnixCompat.c */,
- F96D446008F272B9004A47F5 /* tclUnixEvent.c */,
- F96D446108F272B9004A47F5 /* tclUnixFCmd.c */,
- F96D446208F272B9004A47F5 /* tclUnixFile.c */,
- F96D446308F272B9004A47F5 /* tclUnixInit.c */,
- F96D446408F272B9004A47F5 /* tclUnixNotfy.c */,
- F96D446508F272B9004A47F5 /* tclUnixPipe.c */,
- F96D446608F272B9004A47F5 /* tclUnixPort.h */,
- F96D446708F272B9004A47F5 /* tclUnixSock.c */,
- F96D446808F272B9004A47F5 /* tclUnixTest.c */,
- F96D446908F272B9004A47F5 /* tclUnixThrd.c */,
- F96D446A08F272B9004A47F5 /* tclUnixThrd.h */,
- F96D446B08F272B9004A47F5 /* tclUnixTime.c */,
- F96D446C08F272B9004A47F5 /* tclXtNotify.c */,
- F96D446D08F272B9004A47F5 /* tclXtTest.c */,
- );
- path = unix;
- sourceTree = "<group>";
- };
- F96D444308F272B9004A47F5 /* dltest */ = {
- isa = PBXGroup;
- children = (
- F96D444408F272B9004A47F5 /* Makefile.in */,
- F96D444508F272B9004A47F5 /* pkga.c */,
- F96D444608F272B9004A47F5 /* pkgb.c */,
- F96D444708F272B9004A47F5 /* pkgc.c */,
- F96D444808F272B9004A47F5 /* pkgd.c */,
- F96D444908F272B9004A47F5 /* pkge.c */,
- F96D444B08F272B9004A47F5 /* pkgua.c */,
- F96D444C08F272B9004A47F5 /* README */,
- );
- path = dltest;
- sourceTree = "<group>";
- };
- F96D446E08F272B9004A47F5 /* win */ = {
- isa = PBXGroup;
- children = (
- F96D447008F272BA004A47F5 /* aclocal.m4 */,
- F96D447108F272BA004A47F5 /* buildall.vc.bat */,
- F96D447208F272BA004A47F5 /* cat.c */,
- F96D447408F272BA004A47F5 /* configure */,
- F96D447508F272BA004A47F5 /* configure.in */,
- F96D447708F272BA004A47F5 /* Makefile.in */,
- F96D447808F272BA004A47F5 /* makefile.vc */,
- F96D447908F272BA004A47F5 /* nmakehlp.c */,
- F96D447A08F272BA004A47F5 /* README */,
- F96D447C08F272BA004A47F5 /* rules.vc */,
- F96D447D08F272BA004A47F5 /* stub16.c */,
- F96D447E08F272BA004A47F5 /* tcl.dsp */,
- F96D447F08F272BA004A47F5 /* tcl.dsw */,
- F96D448008F272BA004A47F5 /* tcl.hpj.in */,
- F96D448108F272BA004A47F5 /* tcl.m4 */,
- F96D448208F272BA004A47F5 /* tcl.rc */,
- F96D448308F272BA004A47F5 /* tclAppInit.c */,
- F96D448408F272BA004A47F5 /* tclConfig.sh.in */,
- F96D448608F272BA004A47F5 /* tclsh.rc */,
- F96D448708F272BA004A47F5 /* tclWin32Dll.c */,
- F96D448808F272BA004A47F5 /* tclWinChan.c */,
- F96D448908F272BA004A47F5 /* tclWinConsole.c */,
- F96D448A08F272BA004A47F5 /* tclWinDde.c */,
- F96D448B08F272BA004A47F5 /* tclWinError.c */,
- F96D448C08F272BA004A47F5 /* tclWinFCmd.c */,
- F96D448D08F272BA004A47F5 /* tclWinFile.c */,
- F96D448E08F272BA004A47F5 /* tclWinInit.c */,
- F96D448F08F272BA004A47F5 /* tclWinInt.h */,
- F96D449008F272BA004A47F5 /* tclWinLoad.c */,
- F96D449108F272BA004A47F5 /* tclWinNotify.c */,
- F96D449208F272BA004A47F5 /* tclWinPipe.c */,
- F96D449308F272BA004A47F5 /* tclWinPort.h */,
- F96D449408F272BA004A47F5 /* tclWinReg.c */,
- F96D449508F272BA004A47F5 /* tclWinSerial.c */,
- F96D449608F272BA004A47F5 /* tclWinSock.c */,
- F96D449708F272BA004A47F5 /* tclWinTest.c */,
- F96D449808F272BA004A47F5 /* tclWinThrd.c */,
- F96D449908F272BA004A47F5 /* tclWinThrd.h */,
- F96D449A08F272BA004A47F5 /* tclWinTime.c */,
- );
- path = win;
- sourceTree = "<group>";
- };
- F9ECB1110B26521500A28025 /* platform */ = {
- isa = PBXGroup;
- children = (
- F9ECB1120B26521500A28025 /* pkgIndex.tcl */,
- F9ECB1130B26521500A28025 /* platform.tcl */,
- F9ECB1140B26521500A28025 /* shell.tcl */,
- );
- path = platform;
- sourceTree = "<group>";
- };
-/* End PBXGroup section */
-
-/* Begin PBXNativeTarget section */
- 8DD76FA90486AB0100D96B5E /* tktest */ = {
- isa = PBXNativeTarget;
- buildConfigurationList = F95CC8B009158F3100EA5ACE /* Build configuration list for PBXNativeTarget "tktest" */;
- buildPhases = (
- F9A5C5F508F651A2008AE941 /* Configure Tcl */,
- F9A5C5F608F651AB008AE941 /* Configure Tk */,
- 8DD76FAB0486AB0100D96B5E /* Sources */,
- 8DD76FAD0486AB0100D96B5E /* Frameworks */,
- );
- buildRules = (
- );
- dependencies = (
- );
- name = tktest;
- productInstallPath = "$(BINDIR)";
- productName = tktest;
- productReference = 8DD76FB20486AB0100D96B5E /* tktest */;
- productType = "com.apple.product-type.tool";
- };
- F97258A50A86873C00096C78 /* tktest-X11 */ = {
- isa = PBXNativeTarget;
- buildConfigurationList = F97258A80A86873D00096C78 /* Build configuration list for PBXNativeTarget "tktest-X11" */;
- buildPhases = (
- F9FD30B40CC1AD070073837D /* Configure Tcl */,
- F9FD30B50CC1AD070073837D /* Configure Tk */,
- F9FD30BB0CC1AD070073837D /* Sources */,
- F9FD31E30CC1AD070073837D /* Frameworks */,
- );
- buildRules = (
- );
- dependencies = (
- );
- name = "tktest-X11";
- productInstallPath = "$(BINDIR)";
- productName = tktest;
- productReference = F9FD31F40CC1AD070073837D /* tktest-X11 */;
- productType = "com.apple.product-type.tool";
- };
- F9E61D16090A3E94002B3151 /* Tk */ = {
- isa = PBXNativeTarget;
- buildConfigurationList = F95CC8AB09158F3100EA5ACE /* Build configuration list for PBXNativeTarget "Tk" */;
- buildPhases = (
- F97AF02F0B665DA900310EA2 /* Build Tk */,
- );
- buildRules = (
- );
- dependencies = (
- );
- name = Tk;
- productName = Wish;
- productReference = F9A3084B08F2D4CE00BAE1AB /* Wish.app */;
- productType = "com.apple.product-type.application";
- };
-/* End PBXNativeTarget section */
-
-/* Begin PBXProject section */
- 08FB7793FE84155DC02AAC07 /* Project object */ = {
- isa = PBXProject;
- attributes = {
- BuildIndependentTargetsInParallel = YES;
- };
- buildConfigurationList = F95CC8B509158F3100EA5ACE /* Build configuration list for PBXProject "Tk" */;
- compatibilityVersion = "Xcode 3.2";
- hasScannedForEncodings = 1;
- mainGroup = 08FB7794FE84155DC02AAC07 /* Tk */;
- projectDirPath = "";
- projectRoots = (
- ..,
- ../../tcl,
- );
- targets = (
- F9E61D16090A3E94002B3151 /* Tk */,
- 8DD76FA90486AB0100D96B5E /* tktest */,
- F97258A50A86873C00096C78 /* tktest-X11 */,
- );
- };
-/* End PBXProject section */
-
-/* Begin PBXShellScriptBuildPhase section */
- F97AF02F0B665DA900310EA2 /* Build Tk */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputPaths = (
- "${TARGET_TEMP_DIR}/.none",
- );
- name = "Build Tk";
- outputPaths = (
- "${TARGET_BUILD_DIR}/${WRAPPER_NAME}",
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/bash;
- shellScript = "export CC=$(xcrun -find ${GCC} || echo ${GCC}); export LD=${CC}\ngnumake -C \"${TK_SRCROOT}/macosx\" -j \"$(sysctl -n hw.activecpu)\" \"$(echo \"${ACTION}\" | sed -e s/build// -e s/clean/distclean/ -e s/..\\*/\\&-/)${MAKE_TARGET}\" CFLAGS_WARNING=\"${WARNING_CFLAGS}\" CFLAGS_OPTIMIZE=\"-O${GCC_OPTIMIZATION_LEVEL}\" SYMROOT=\"${BUILT_PRODUCTS_DIR}\" OBJ_DIR=\"${OBJECT_FILE_DIR}\" INSTALL_ROOT=\"${DSTROOT}\" PREFIX=\"${PREFIX}\" BINDIR=\"${BINDIR}\" LIBDIR=\"${FRAMEWORK_INSTALL_PATH}\" MANDIR=\"${MANDIR}\" EXTRA_CONFIGURE_ARGS=\"${CONFIGURE_ARGS}\" APPLICATION_INSTALL_PATH=\"${APPLICATION_INSTALL_PATH}\" TCL_BUILD_DIR=\"${TCL_BUILD_DIR}\" TCL_FRAMEWORK_DIR=\"${TCL_FRAMEWORK_DIR}\" ${EXTRA_MAKE_FLAGS}\nresult=$?\nif [ -e \"${BUILT_PRODUCTS_DIR}/tktest\" ]; then\n\trm -f \"${BUILT_PRODUCTS_DIR}/tktest\"\nfi\necho \"Done\"\nrm -f \"${SCRIPT_INPUT_FILE_0}\"\nexit ${result}\n";
- showEnvVarsInLog = 0;
- };
- F9A5C5F508F651A2008AE941 /* Configure Tcl */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputPaths = (
- "$(TCL_SRCROOT)/macosx/configure.ac",
- "$(TCL_SRCROOT)/unix/configure.in",
- "$(TCL_SRCROOT)/unix/tcl.m4",
- "$(TCL_SRCROOT)/unix/aclocal.m4",
- "$(TCL_SRCROOT)/unix/tclConfig.sh.in",
- "$(TCL_SRCROOT)/unix/Makefile.in",
- "$(TCL_SRCROOT)/unix/dltest/Makefile.in",
- );
- name = "Configure Tcl";
- outputPaths = (
- "$(DERIVED_FILE_DIR)/tcl/tclConfig.sh",
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/bash;
- shellScript = "## tcl configure shell script phase\n\ncd \"${TCL_SRCROOT}\"/macosx &&\nif [ configure.ac -nt configure -o ../unix/configure.in -nt configure -o ../unix/tcl.m4 -nt configure -o ../unix/aclocal.m4 -nt configure ]; then\n echo \"Running autoconf & autoheader in tcl/macosx\"\n rm -rf autom4te.cache\n ${AUTOCONF:-${DEVELOPER_DIR}/usr/bin/autoconf} && ${AUTOHEADER:-${DEVELOPER_DIR}/usr/bin/autoheader} || exit $?\n rm -rf autom4te.cache\nfi\n\ncd \"${DERIVED_FILE_DIR}\" && mkdir -p tcl && cd tcl &&\nif [ \"${TCL_SRCROOT}\"/macosx/configure -nt config.status ]; then\n echo \"Configuring Tcl\"\n CC=$(xcrun -find ${GCC} || echo ${GCC})\n \"${TCL_SRCROOT}\"/macosx/configure --cache-file=../config.cache --prefix=${PREFIX} --bindir=${BINDIR} --libdir=${LIBDIR} --mandir=${MANDIR} --includedir=${INCLUDEDIR} --disable-shared CC=${CC} LD=${CC} ${CONFIGURE_ARGS}\nelse\n ./config.status\nfi\n";
- showEnvVarsInLog = 0;
- };
- F9A5C5F608F651AB008AE941 /* Configure Tk */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputPaths = (
- "$(TK_SRCROOT)/macosx/configure.ac",
- "$(TK_SRCROOT)/unix/configure.in",
- "$(TK_SRCROOT)/unix/tcl.m4",
- "$(TK_SRCROOT)/unix/aclocal.m4",
- "$(TK_SRCROOT)/unix/tkConfig.sh.in",
- );
- name = "Configure Tk";
- outputPaths = (
- "$(DERIVED_FILE_DIR)/tk/tkConfig.sh",
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/bash;
- shellScript = "## tk configure shell script phase\n\ncd \"${TK_SRCROOT}\"/macosx &&\nif [ configure.ac -nt configure -o ../unix/configure.in -nt configure -o ../unix/tcl.m4 -nt configure -o ../unix/aclocal.m4 -nt configure ]; then\n echo \"Running autoconf & autoheader in tk/macosx\"\n rm -rf autom4te.cache\n ${AUTOCONF:-${DEVELOPER_DIR}/usr/bin/autoconf} && ${AUTOHEADER:-${DEVELOPER_DIR}/usr/bin/autoheader} || exit $?\n rm -rf autom4te.cache\nfi\n\ncd \"${DERIVED_FILE_DIR}\" && mkdir -p tk && cd tk &&\nif [ \"${TK_SRCROOT}\"/macosx/configure -nt config.status ]; then\n echo \"Configuring Tk\"\n CC=$(xcrun -find ${GCC} || echo ${GCC})\n \"${TK_SRCROOT}\"/macosx/configure --cache-file=../config.cache --prefix=${PREFIX} --bindir=${BINDIR} --libdir=${LIBDIR} --mandir=${MANDIR} --includedir=${INCLUDEDIR} --disable-shared --enable-aqua --with-tcl=../tcl CC=${CC} LD=${CC} ${CONFIGURE_ARGS}\nelse\n ./config.status\nfi\n";
- showEnvVarsInLog = 0;
- };
- F9FD30B40CC1AD070073837D /* Configure Tcl */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputPaths = (
- "$(TCL_SRCROOT)/macosx/configure.ac",
- "$(TCL_SRCROOT)/unix/configure.in",
- "$(TCL_SRCROOT)/unix/tcl.m4",
- "$(TCL_SRCROOT)/unix/aclocal.m4",
- "$(TCL_SRCROOT)/unix/tclConfig.sh.in",
- "$(TCL_SRCROOT)/unix/Makefile.in",
- "$(TCL_SRCROOT)/unix/dltest/Makefile.in",
- );
- name = "Configure Tcl";
- outputPaths = (
- "$(DERIVED_FILE_DIR)/tcl/tclConfig.sh",
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/bash;
- shellScript = "## tcl configure shell script phase\n\ncd \"${TCL_SRCROOT}\"/macosx &&\nif [ configure.ac -nt configure -o ../unix/configure.in -nt configure -o ../unix/tcl.m4 -nt configure -o ../unix/aclocal.m4 -nt configure ]; then\n echo \"Running autoconf & autoheader in tcl/macosx\"\n rm -rf autom4te.cache\n ${AUTOCONF:-${DEVELOPER_DIR}/usr/bin/autoconf} && ${AUTOHEADER:-${DEVELOPER_DIR}/usr/bin/autoheader} || exit $?\n rm -rf autom4te.cache\nfi\n\ncd \"${DERIVED_FILE_DIR}\" && mkdir -p tcl && cd tcl &&\nif [ \"${TCL_SRCROOT}\"/macosx/configure -nt config.status ]; then\n echo \"Configuring Tcl\"\n CC=$(xcrun -find ${GCC} || echo ${GCC})\n \"${TCL_SRCROOT}\"/macosx/configure --cache-file=../config.cache --prefix=${PREFIX} --bindir=${BINDIR} --libdir=${LIBDIR} --mandir=${MANDIR} --includedir=${INCLUDEDIR} --disable-shared CC=${CC} LD=${CC} ${CONFIGURE_ARGS}\nelse\n ./config.status\nfi\n";
- showEnvVarsInLog = 0;
- };
- F9FD30B50CC1AD070073837D /* Configure Tk */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputPaths = (
- "$(TK_SRCROOT)/macosx/configure.ac",
- "$(TK_SRCROOT)/unix/configure.in",
- "$(TK_SRCROOT)/unix/tcl.m4",
- "$(TK_SRCROOT)/unix/aclocal.m4",
- "$(TK_SRCROOT)/unix/tkConfig.sh.in",
- );
- name = "Configure Tk";
- outputPaths = (
- "$(DERIVED_FILE_DIR)/tk/tkConfig.sh",
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/bash;
- shellScript = "## tk configure shell script phase\n\ncd \"${TK_SRCROOT}\"/macosx &&\nif [ configure.ac -nt configure -o ../unix/configure.in -nt configure -o ../unix/tcl.m4 -nt configure -o ../unix/aclocal.m4 -nt configure ]; then\n echo \"Running autoconf & autoheader in tk/macosx\"\n rm -rf autom4te.cache\n ${AUTOCONF:-${DEVELOPER_DIR}/usr/bin/autoconf} && ${AUTOHEADER:-${DEVELOPER_DIR}/usr/bin/autoheader} || exit $?\n rm -rf autom4te.cache\nfi\n\ncd \"${DERIVED_FILE_DIR}\" && mkdir -p tk && cd tk &&\nif [ \"${TK_SRCROOT}\"/macosx/configure -nt config.status ]; then\n echo \"Configuring Tk\"\n CC=$(xcrun -find ${GCC} || echo ${GCC})\n PATH=\"${PATH}:/usr/X11R6/bin\" \"${TK_SRCROOT}\"/macosx/configure --cache-file=../config.cache --prefix=${PREFIX} --bindir=${BINDIR} --libdir=${LIBDIR} --mandir=${MANDIR} --includedir=${INCLUDEDIR} --disable-shared --enable-xft --with-tcl=../tcl CC=${CC} LD=${CC} ${CONFIGURE_ARGS}\nelse\n ./config.status\nfi";
- showEnvVarsInLog = 0;
- };
-/* End PBXShellScriptBuildPhase section */
-
-/* Begin PBXSourcesBuildPhase section */
- 8DD76FAB0486AB0100D96B5E /* Sources */ = {
- isa = PBXSourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- F96D456F08F272BB004A47F5 /* regcomp.c in Sources */,
- F96D457208F272BB004A47F5 /* regerror.c in Sources */,
- F96D457508F272BB004A47F5 /* regexec.c in Sources */,
- F96D457608F272BB004A47F5 /* regfree.c in Sources */,
- F96D457B08F272BB004A47F5 /* tclAlloc.c in Sources */,
- F96D457C08F272BB004A47F5 /* tclAsync.c in Sources */,
- F96D457D08F272BB004A47F5 /* tclBasic.c in Sources */,
- F96D457E08F272BC004A47F5 /* tclBinary.c in Sources */,
- F96D457F08F272BC004A47F5 /* tclCkalloc.c in Sources */,
- F96D458008F272BC004A47F5 /* tclClock.c in Sources */,
- F96D458108F272BC004A47F5 /* tclCmdAH.c in Sources */,
- F96D458208F272BC004A47F5 /* tclCmdIL.c in Sources */,
- F96D458308F272BC004A47F5 /* tclCmdMZ.c in Sources */,
- F96D458408F272BC004A47F5 /* tclCompCmds.c in Sources */,
- F96D458508F272BC004A47F5 /* tclCompExpr.c in Sources */,
- F96D458608F272BC004A47F5 /* tclCompile.c in Sources */,
- F96D458808F272BC004A47F5 /* tclConfig.c in Sources */,
- F96D458908F272BC004A47F5 /* tclDate.c in Sources */,
- F96D458B08F272BC004A47F5 /* tclDictObj.c in Sources */,
- F96D458C08F272BC004A47F5 /* tclEncoding.c in Sources */,
- F96D458D08F272BC004A47F5 /* tclEnv.c in Sources */,
- F96D458E08F272BC004A47F5 /* tclEvent.c in Sources */,
- F96D458F08F272BC004A47F5 /* tclExecute.c in Sources */,
- F96D459008F272BC004A47F5 /* tclFCmd.c in Sources */,
- F96D459108F272BC004A47F5 /* tclFileName.c in Sources */,
- F96D459308F272BC004A47F5 /* tclGet.c in Sources */,
- F96D459508F272BC004A47F5 /* tclHash.c in Sources */,
- F96D459608F272BC004A47F5 /* tclHistory.c in Sources */,
- F96D459708F272BC004A47F5 /* tclIndexObj.c in Sources */,
- F96D459B08F272BC004A47F5 /* tclInterp.c in Sources */,
- F96D459D08F272BC004A47F5 /* tclIO.c in Sources */,
- F96D459F08F272BC004A47F5 /* tclIOCmd.c in Sources */,
- F96D45A008F272BC004A47F5 /* tclIOGT.c in Sources */,
- F96D45A108F272BC004A47F5 /* tclIORChan.c in Sources */,
- F95D77EA0DFD820D00A8BF6F /* tclIORTrans.c in Sources */,
- F96D45A208F272BC004A47F5 /* tclIOSock.c in Sources */,
- F96D45A308F272BC004A47F5 /* tclIOUtil.c in Sources */,
- F96D45A408F272BC004A47F5 /* tclLink.c in Sources */,
- F96D45A508F272BC004A47F5 /* tclListObj.c in Sources */,
- F96D45A608F272BC004A47F5 /* tclLiteral.c in Sources */,
- F96D45A708F272BC004A47F5 /* tclLoad.c in Sources */,
- F96D45A908F272BC004A47F5 /* tclMain.c in Sources */,
- F96D45AA08F272BC004A47F5 /* tclNamesp.c in Sources */,
- F96D45AB08F272BC004A47F5 /* tclNotify.c in Sources */,
- F96D45AC08F272BC004A47F5 /* tclObj.c in Sources */,
- F93599B30DF1F75400E04F67 /* tclOO.c in Sources */,
- F93599B70DF1F76100E04F67 /* tclOOBasic.c in Sources */,
- F93599B90DF1F76600E04F67 /* tclOOCall.c in Sources */,
- F93599BC0DF1F77000E04F67 /* tclOODefineCmds.c in Sources */,
- F93599BE0DF1F77400E04F67 /* tclOOInfo.c in Sources */,
- F93599C20DF1F78300E04F67 /* tclOOMethod.c in Sources */,
- F93599C40DF1F78800E04F67 /* tclOOStubInit.c in Sources */,
- F93599C60DF1F78D00E04F67 /* tclOOStubLib.c in Sources */,
- F96D45AD08F272BC004A47F5 /* tclPanic.c in Sources */,
- F96D45AE08F272BC004A47F5 /* tclParse.c in Sources */,
- F96D45B008F272BC004A47F5 /* tclPathObj.c in Sources */,
- F96D45B108F272BC004A47F5 /* tclPipe.c in Sources */,
- F96D45B208F272BC004A47F5 /* tclPkg.c in Sources */,
- F96D45B308F272BC004A47F5 /* tclPkgConfig.c in Sources */,
- F96D45B608F272BC004A47F5 /* tclPosixStr.c in Sources */,
- F96D45B708F272BC004A47F5 /* tclPreserve.c in Sources */,
- F96D45B808F272BC004A47F5 /* tclProc.c in Sources */,
- F96D45B908F272BC004A47F5 /* tclRegexp.c in Sources */,
- F96D45BB08F272BC004A47F5 /* tclResolve.c in Sources */,
- F96D45BC08F272BC004A47F5 /* tclResult.c in Sources */,
- F96D45BD08F272BC004A47F5 /* tclScan.c in Sources */,
- F96D45BE08F272BC004A47F5 /* tclStringObj.c in Sources */,
- F96D45C308F272BC004A47F5 /* tclStrToD.c in Sources */,
- F96D45C408F272BC004A47F5 /* tclStubInit.c in Sources */,
- F96D45C508F272BC004A47F5 /* tclStubLib.c in Sources */,
- F96D45C908F272BC004A47F5 /* tclThread.c in Sources */,
- F96D45CA08F272BC004A47F5 /* tclThreadAlloc.c in Sources */,
- F96D45CB08F272BC004A47F5 /* tclThreadJoin.c in Sources */,
- F96D45CC08F272BC004A47F5 /* tclThreadStorage.c in Sources */,
- F96D45CE08F272BC004A47F5 /* tclTimer.c in Sources */,
- F96D45D008F272BC004A47F5 /* tclTomMathInterface.c in Sources */,
- F96D45D108F272BC004A47F5 /* tclTrace.c in Sources */,
- F96D45D308F272BC004A47F5 /* tclUtf.c in Sources */,
- F96D45D408F272BC004A47F5 /* tclUtil.c in Sources */,
- F96D45D508F272BC004A47F5 /* tclVar.c in Sources */,
- F96437CA0EF0D4B2003F468E /* tclZlib.c in Sources */,
- F96D48E208F272C3004A47F5 /* bn_fast_s_mp_mul_digs.c in Sources */,
- F96D48E408F272C3004A47F5 /* bn_fast_s_mp_sqr.c in Sources */,
- F96D48E708F272C3004A47F5 /* bn_mp_add.c in Sources */,
- F96D48E808F272C3004A47F5 /* bn_mp_add_d.c in Sources */,
- F9E61D2B090A48A4002B3151 /* bn_mp_and.c in Sources */,
- F96D48EB08F272C3004A47F5 /* bn_mp_clamp.c in Sources */,
- F96D48EC08F272C3004A47F5 /* bn_mp_clear.c in Sources */,
- F96D48ED08F272C3004A47F5 /* bn_mp_clear_multi.c in Sources */,
- F96D48EE08F272C3004A47F5 /* bn_mp_cmp.c in Sources */,
- F9E61D28090A481F002B3151 /* bn_mp_cmp_d.c in Sources */,
- F96D48F008F272C3004A47F5 /* bn_mp_cmp_mag.c in Sources */,
- F96D48F208F272C3004A47F5 /* bn_mp_copy.c in Sources */,
- F96D48F308F272C3004A47F5 /* bn_mp_count_bits.c in Sources */,
- F96D48F408F272C3004A47F5 /* bn_mp_div.c in Sources */,
- F96D48F508F272C3004A47F5 /* bn_mp_div_2.c in Sources */,
- F96D48F608F272C3004A47F5 /* bn_mp_div_2d.c in Sources */,
- F96D48F708F272C3004A47F5 /* bn_mp_div_3.c in Sources */,
- F96D48F808F272C3004A47F5 /* bn_mp_div_d.c in Sources */,
- F96D48FC08F272C3004A47F5 /* bn_mp_exch.c in Sources */,
- F9E61D2C090A48AC002B3151 /* bn_mp_expt_d.c in Sources */,
- F96D490508F272C3004A47F5 /* bn_mp_grow.c in Sources */,
- F96D490608F272C3004A47F5 /* bn_mp_init.c in Sources */,
- F96D490708F272C3004A47F5 /* bn_mp_init_copy.c in Sources */,
- F96D490808F272C3004A47F5 /* bn_mp_init_multi.c in Sources */,
- F96D490908F272C3004A47F5 /* bn_mp_init_set.c in Sources */,
- F96D490B08F272C3004A47F5 /* bn_mp_init_size.c in Sources */,
- F96D491008F272C3004A47F5 /* bn_mp_karatsuba_mul.c in Sources */,
- F96D491108F272C3004A47F5 /* bn_mp_karatsuba_sqr.c in Sources */,
- F96D491308F272C3004A47F5 /* bn_mp_lshd.c in Sources */,
- F96D491408F272C3004A47F5 /* bn_mp_mod.c in Sources */,
- F96D491508F272C3004A47F5 /* bn_mp_mod_2d.c in Sources */,
- F96D491A08F272C3004A47F5 /* bn_mp_mul.c in Sources */,
- F96D491B08F272C3004A47F5 /* bn_mp_mul_2.c in Sources */,
- F96D491C08F272C3004A47F5 /* bn_mp_mul_2d.c in Sources */,
- F96D491D08F272C3004A47F5 /* bn_mp_mul_d.c in Sources */,
- F9E61D29090A486C002B3151 /* bn_mp_neg.c in Sources */,
- F9E61D2E090A48BF002B3151 /* bn_mp_or.c in Sources */,
- F96D492908F272C3004A47F5 /* bn_mp_radix_size.c in Sources */,
- F96D492A08F272C3004A47F5 /* bn_mp_radix_smap.c in Sources */,
- F96D492C08F272C3004A47F5 /* bn_mp_read_radix.c in Sources */,
- F96D493708F272C3004A47F5 /* bn_mp_rshd.c in Sources */,
- F96D493808F272C3004A47F5 /* bn_mp_set.c in Sources */,
- F9E61D2F090A48C7002B3151 /* bn_mp_shrink.c in Sources */,
- F96D493C08F272C3004A47F5 /* bn_mp_sqr.c in Sources */,
- F9E61D2A090A4891002B3151 /* bn_mp_sqrt.c in Sources */,
- F96D493F08F272C3004A47F5 /* bn_mp_sub.c in Sources */,
- F96D494008F272C3004A47F5 /* bn_mp_sub_d.c in Sources */,
- F9E61D30090A48E2002B3151 /* bn_mp_to_unsigned_bin_n.c in Sources */,
- F9E61D31090A48F9002B3151 /* bn_mp_to_unsigned_bin.c in Sources */,
- F96D494608F272C3004A47F5 /* bn_mp_toom_mul.c in Sources */,
- F96D494708F272C3004A47F5 /* bn_mp_toom_sqr.c in Sources */,
- F96D494908F272C3004A47F5 /* bn_mp_toradix_n.c in Sources */,
- F9E61D32090A48FA002B3151 /* bn_mp_unsigned_bin_size.c in Sources */,
- F9E61D2D090A48BB002B3151 /* bn_mp_xor.c in Sources */,
- F96D494C08F272C3004A47F5 /* bn_mp_zero.c in Sources */,
- F96D494E08F272C3004A47F5 /* bn_reverse.c in Sources */,
- F96D494F08F272C3004A47F5 /* bn_s_mp_add.c in Sources */,
- F96D495108F272C3004A47F5 /* bn_s_mp_mul_digs.c in Sources */,
- F96D495308F272C3004A47F5 /* bn_s_mp_sqr.c in Sources */,
- F96D495408F272C3004A47F5 /* bn_s_mp_sub.c in Sources */,
- F96D495508F272C3004A47F5 /* bncore.c in Sources */,
- F96D49A908F272C4004A47F5 /* tclMacOSXBundle.c in Sources */,
- F96D49AD08F272C4004A47F5 /* tclMacOSXFCmd.c in Sources */,
- F96D49AE08F272C4004A47F5 /* tclMacOSXNotify.c in Sources */,
- F96D4AC608F272C9004A47F5 /* tclLoadDyld.c in Sources */,
- F96D4ACA08F272C9004A47F5 /* tclUnixChan.c in Sources */,
- F9FC77B80AB29E9100B7077D /* tclUnixCompat.c in Sources */,
- F96D4ACB08F272C9004A47F5 /* tclUnixEvent.c in Sources */,
- F96D4ACC08F272C9004A47F5 /* tclUnixFCmd.c in Sources */,
- F96D4ACD08F272C9004A47F5 /* tclUnixFile.c in Sources */,
- F96D4ACE08F272C9004A47F5 /* tclUnixInit.c in Sources */,
- F96D4ACF08F272C9004A47F5 /* tclUnixNotfy.c in Sources */,
- F96D4AD008F272C9004A47F5 /* tclUnixPipe.c in Sources */,
- F96D4AD208F272CA004A47F5 /* tclUnixSock.c in Sources */,
- F96D4AD408F272CA004A47F5 /* tclUnixThrd.c in Sources */,
- F96D4AD608F272CA004A47F5 /* tclUnixTime.c in Sources */,
- F9F4415E0C8BAE6F00BCCD67 /* tclDTrace.d in Sources */,
- F966BDCF08F27A3F005CB29B /* tk3d.c in Sources */,
- F966BDD108F27A3F005CB29B /* tkArgv.c in Sources */,
- F966BDD208F27A3F005CB29B /* tkAtom.c in Sources */,
- F966BDD308F27A3F005CB29B /* tkBind.c in Sources */,
- F966BDD408F27A3F005CB29B /* tkBitmap.c in Sources */,
- F9152B090EAF8A5000CD5C7B /* tkBusy.c in Sources */,
- F966BDD508F27A3F005CB29B /* tkButton.c in Sources */,
- F966BDD708F27A3F005CB29B /* tkCanvArc.c in Sources */,
- F966BDD808F27A3F005CB29B /* tkCanvas.c in Sources */,
- F966BDDA08F27A3F005CB29B /* tkCanvBmap.c in Sources */,
- F966BDDB08F27A3F005CB29B /* tkCanvImg.c in Sources */,
- F966BDDC08F27A3F005CB29B /* tkCanvLine.c in Sources */,
- F966BDDD08F27A3F005CB29B /* tkCanvPoly.c in Sources */,
- F966BDDE08F27A3F005CB29B /* tkCanvPs.c in Sources */,
- F966BDE008F27A3F005CB29B /* tkCanvText.c in Sources */,
- F966BDE108F27A3F005CB29B /* tkCanvUtil.c in Sources */,
- F966BDE208F27A3F005CB29B /* tkCanvWind.c in Sources */,
- F966BDE308F27A3F005CB29B /* tkClipboard.c in Sources */,
- F966BDE408F27A3F005CB29B /* tkCmds.c in Sources */,
- F966BDE508F27A3F005CB29B /* tkColor.c in Sources */,
- F966BDE708F27A3F005CB29B /* tkConfig.c in Sources */,
- F966BDE808F27A3F005CB29B /* tkConsole.c in Sources */,
- F966BDE908F27A3F005CB29B /* tkCursor.c in Sources */,
- F966BDEB08F27A3F005CB29B /* tkEntry.c in Sources */,
- F966BDED08F27A3F005CB29B /* tkError.c in Sources */,
- F966BDEE08F27A3F005CB29B /* tkEvent.c in Sources */,
- F966BDEF08F27A3F005CB29B /* tkFileFilter.c in Sources */,
- F966BDF108F27A3F005CB29B /* tkFocus.c in Sources */,
- F966BDF208F27A3F005CB29B /* tkFont.c in Sources */,
- F966BDF408F27A3F005CB29B /* tkFrame.c in Sources */,
- F966BDF508F27A3F005CB29B /* tkGC.c in Sources */,
- F966BDF608F27A3F005CB29B /* tkGeometry.c in Sources */,
- F966BDF708F27A3F005CB29B /* tkGet.c in Sources */,
- F966BDF808F27A3F005CB29B /* tkGrab.c in Sources */,
- F966BDF908F27A3F005CB29B /* tkGrid.c in Sources */,
- F966BDFA08F27A3F005CB29B /* tkImage.c in Sources */,
- F966BDFB08F27A3F005CB29B /* tkImgBmap.c in Sources */,
- F966BDFC08F27A3F005CB29B /* tkImgGIF.c in Sources */,
- F92EE8BF0E62F846001A6E80 /* tkImgPhInstance.c in Sources */,
- F966BDFD08F27A3F005CB29B /* tkImgPhoto.c in Sources */,
- F9DD99BD0F07DF850018B2E4 /* tkImgPNG.c in Sources */,
- F966BDFE08F27A3F005CB29B /* tkImgPPM.c in Sources */,
- F966BE0708F27A3F005CB29B /* tkListbox.c in Sources */,
- F966BE0808F27A3F005CB29B /* tkMacWinMenu.c in Sources */,
- F966BE0908F27A3F005CB29B /* tkMain.c in Sources */,
- F966BE0A08F27A3F005CB29B /* tkMenu.c in Sources */,
- F966BE0C08F27A3F005CB29B /* tkMenubutton.c in Sources */,
- F966BE0E08F27A3F005CB29B /* tkMenuDraw.c in Sources */,
- F966BE0F08F27A3F005CB29B /* tkMessage.c in Sources */,
- F966BE1008F27A3F005CB29B /* tkObj.c in Sources */,
- F966BE1108F27A3F005CB29B /* tkOldConfig.c in Sources */,
- F9067BCD0BFBA2900074F726 /* tkOldTest.c in Sources */,
- F966BE1208F27A3F005CB29B /* tkOption.c in Sources */,
- F966BE1308F27A3F005CB29B /* tkPack.c in Sources */,
- F966BE1408F27A3F005CB29B /* tkPanedWindow.c in Sources */,
- F966BE1508F27A3F005CB29B /* tkPlace.c in Sources */,
- F966BE1708F27A3F005CB29B /* tkPointer.c in Sources */,
- F966BE1908F27A3F005CB29B /* tkRectOval.c in Sources */,
- F966BE1A08F27A3F005CB29B /* tkScale.c in Sources */,
- F966BE1C08F27A40005CB29B /* tkScrollbar.c in Sources */,
- F966BE1E08F27A40005CB29B /* tkSelect.c in Sources */,
- F966BE2008F27A40005CB29B /* tkSquare.c in Sources */,
- F966BE2208F27A40005CB29B /* tkStubInit.c in Sources */,
- F966BE2308F27A40005CB29B /* tkStubLib.c in Sources */,
- F966BE2408F27A40005CB29B /* tkStyle.c in Sources */,
- F966BE2508F27A40005CB29B /* tkTest.c in Sources */,
- F966BE2608F27A40005CB29B /* tkText.c in Sources */,
- F966BE2808F27A40005CB29B /* tkTextBTree.c in Sources */,
- F966BE2908F27A40005CB29B /* tkTextDisp.c in Sources */,
- F966BE2B08F27A40005CB29B /* tkTextImage.c in Sources */,
- F966BE2C08F27A40005CB29B /* tkTextIndex.c in Sources */,
- F966BE2D08F27A40005CB29B /* tkTextMark.c in Sources */,
- F966BE2E08F27A40005CB29B /* tkTextTag.c in Sources */,
- F966BE2F08F27A40005CB29B /* tkTextWind.c in Sources */,
- F966BE3008F27A40005CB29B /* tkTrig.c in Sources */,
- F966BE3108F27A40005CB29B /* tkUndo.c in Sources */,
- F966BE3308F27A40005CB29B /* tkUtil.c in Sources */,
- F966BE3408F27A40005CB29B /* tkVisual.c in Sources */,
- F966BE3508F27A40005CB29B /* tkWindow.c in Sources */,
- F96888050AF786D5000797B5 /* ttkBlink.c in Sources */,
- F96888060AF786D5000797B5 /* ttkButton.c in Sources */,
- F96888070AF786D5000797B5 /* ttkCache.c in Sources */,
- F96888080AF786D5000797B5 /* ttkClamTheme.c in Sources */,
- F96888090AF786D5000797B5 /* ttkClassicTheme.c in Sources */,
- F968880A0AF786D5000797B5 /* ttkDefaultTheme.c in Sources */,
- F968880B0AF786D5000797B5 /* ttkElements.c in Sources */,
- F968880C0AF786D5000797B5 /* ttkEntry.c in Sources */,
- F968880D0AF786D5000797B5 /* ttkFrame.c in Sources */,
- F968880E0AF786D5000797B5 /* ttkImage.c in Sources */,
- F968880F0AF786D5000797B5 /* ttkInit.c in Sources */,
- F96888100AF786D5000797B5 /* ttkLabel.c in Sources */,
- F96888110AF786D5000797B5 /* ttkLayout.c in Sources */,
- F96888120AF786D5000797B5 /* ttkManager.c in Sources */,
- F96888130AF786D5000797B5 /* ttkNotebook.c in Sources */,
- F96888140AF786D5000797B5 /* ttkPanedwindow.c in Sources */,
- F96888150AF786D5000797B5 /* ttkProgress.c in Sources */,
- F96888160AF786D5000797B5 /* ttkScale.c in Sources */,
- F96888170AF786D5000797B5 /* ttkScroll.c in Sources */,
- F96888180AF786D5000797B5 /* ttkScrollbar.c in Sources */,
- F96888190AF786D5000797B5 /* ttkSeparator.c in Sources */,
- F968881A0AF786D5000797B5 /* ttkSquare.c in Sources */,
- F968881B0AF786D5000797B5 /* ttkState.c in Sources */,
- F968881C0AF786D5000797B5 /* ttkStubInit.c in Sources */,
- F968881D0AF786D5000797B5 /* ttkStubLib.c in Sources */,
- F968881E0AF786D5000797B5 /* ttkTagSet.c in Sources */,
- F968881F0AF786D5000797B5 /* ttkTheme.c in Sources */,
- F96888200AF786D5000797B5 /* ttkTrace.c in Sources */,
- F96888210AF786D5000797B5 /* ttkTrack.c in Sources */,
- F96888220AF786D5000797B5 /* ttkTreeview.c in Sources */,
- F96888230AF786D5000797B5 /* ttkWidget.c in Sources */,
- F966BEDB08F27A40005CB29B /* tkMacOSXBitmap.c in Sources */,
- F966BEDC08F27A40005CB29B /* tkMacOSXButton.c in Sources */,
- F966BEDE08F27A40005CB29B /* tkMacOSXClipboard.c in Sources */,
- F966BEDF08F27A40005CB29B /* tkMacOSXColor.c in Sources */,
- F966BEE008F27A40005CB29B /* tkMacOSXConfig.c in Sources */,
- F966BEE108F27A40005CB29B /* tkMacOSXCursor.c in Sources */,
- F966BEE308F27A40005CB29B /* tkMacOSXDebug.c in Sources */,
- F966BEE608F27A40005CB29B /* tkMacOSXDialog.c in Sources */,
- F966BEE708F27A40005CB29B /* tkMacOSXDraw.c in Sources */,
- F966BEE808F27A40005CB29B /* tkMacOSXEmbed.c in Sources */,
- F966BEE908F27A40005CB29B /* tkMacOSXEntry.c in Sources */,
- F966BEEA08F27A40005CB29B /* tkMacOSXEvent.c in Sources */,
- F966BEEC08F27A40005CB29B /* tkMacOSXFont.c in Sources */,
- F966BEED08F27A40005CB29B /* tkMacOSXHLEvents.c in Sources */,
- F966BEEE08F27A40005CB29B /* tkMacOSXInit.c in Sources */,
- F966BEF108F27A40005CB29B /* tkMacOSXKeyboard.c in Sources */,
- F966BEF208F27A40005CB29B /* tkMacOSXKeyEvent.c in Sources */,
- F966BEF308F27A40005CB29B /* tkMacOSXMenu.c in Sources */,
- F966BEF608F27A40005CB29B /* tkMacOSXMenubutton.c in Sources */,
- F966BEF708F27A40005CB29B /* tkMacOSXMenus.c in Sources */,
- F966BEF808F27A40005CB29B /* tkMacOSXMouseEvent.c in Sources */,
- F966BEF908F27A40005CB29B /* tkMacOSXNotify.c in Sources */,
- F966BF0108F27A40005CB29B /* tkMacOSXRegion.c in Sources */,
- F966BF0308F27A40005CB29B /* tkMacOSXScrlbr.c in Sources */,
- F966BF0408F27A40005CB29B /* tkMacOSXSend.c in Sources */,
- F966BF0508F27A40005CB29B /* tkMacOSXSubwindows.c in Sources */,
- F966BF0608F27A40005CB29B /* tkMacOSXTest.c in Sources */,
- F966BF0708F27A40005CB29B /* tkMacOSXWindowEvent.c in Sources */,
- F966BF0808F27A40005CB29B /* tkMacOSXWm.c in Sources */,
- F966BF0B08F27A40005CB29B /* tkMacOSXXStubs.c in Sources */,
- F96888850AF78938000797B5 /* ttkMacOSXTheme.c in Sources */,
- F966BF7F08F27A41005CB29B /* tkAppInit.c in Sources */,
- F966BF8308F27A41005CB29B /* tkUnix3d.c in Sources */,
- F966BF9608F27A41005CB29B /* tkUnixScale.c in Sources */,
- F966C02A08F27A42005CB29B /* xcolors.c in Sources */,
- F966C02B08F27A42005CB29B /* xdraw.c in Sources */,
- F966C02C08F27A42005CB29B /* xgc.c in Sources */,
- F966C02D08F27A42005CB29B /* ximage.c in Sources */,
- F966C02E08F27A42005CB29B /* xutil.c in Sources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
- F9FD30BB0CC1AD070073837D /* Sources */ = {
- isa = PBXSourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- F9FD30BC0CC1AD070073837D /* regcomp.c in Sources */,
- F9FD30BD0CC1AD070073837D /* regerror.c in Sources */,
- F9FD30BE0CC1AD070073837D /* regexec.c in Sources */,
- F9FD30BF0CC1AD070073837D /* regfree.c in Sources */,
- F9FD30C00CC1AD070073837D /* tclAlloc.c in Sources */,
- F9FD30C10CC1AD070073837D /* tclAsync.c in Sources */,
- F9FD30C20CC1AD070073837D /* tclBasic.c in Sources */,
- F9FD30C30CC1AD070073837D /* tclBinary.c in Sources */,
- F9FD30C40CC1AD070073837D /* tclCkalloc.c in Sources */,
- F9FD30C50CC1AD070073837D /* tclClock.c in Sources */,
- F9FD30C60CC1AD070073837D /* tclCmdAH.c in Sources */,
- F9FD30C70CC1AD070073837D /* tclCmdIL.c in Sources */,
- F9FD30C80CC1AD070073837D /* tclCmdMZ.c in Sources */,
- F9FD30C90CC1AD070073837D /* tclCompCmds.c in Sources */,
- F9FD30CA0CC1AD070073837D /* tclCompExpr.c in Sources */,
- F9FD30CB0CC1AD070073837D /* tclCompile.c in Sources */,
- F9FD30CC0CC1AD070073837D /* tclConfig.c in Sources */,
- F9FD30CD0CC1AD070073837D /* tclDate.c in Sources */,
- F9FD30CE0CC1AD070073837D /* tclDictObj.c in Sources */,
- F9FD30CF0CC1AD070073837D /* tclEncoding.c in Sources */,
- F9FD30D00CC1AD070073837D /* tclEnv.c in Sources */,
- F9FD30D10CC1AD070073837D /* tclEvent.c in Sources */,
- F9FD30D20CC1AD070073837D /* tclExecute.c in Sources */,
- F9FD30D30CC1AD070073837D /* tclFCmd.c in Sources */,
- F9FD30D40CC1AD070073837D /* tclFileName.c in Sources */,
- F9FD30D50CC1AD070073837D /* tclGet.c in Sources */,
- F9FD30D60CC1AD070073837D /* tclHash.c in Sources */,
- F9FD30D70CC1AD070073837D /* tclHistory.c in Sources */,
- F9FD30D80CC1AD070073837D /* tclIndexObj.c in Sources */,
- F9FD30D90CC1AD070073837D /* tclInterp.c in Sources */,
- F9FD30DA0CC1AD070073837D /* tclIO.c in Sources */,
- F9FD30DB0CC1AD070073837D /* tclIOCmd.c in Sources */,
- F9FD30DC0CC1AD070073837D /* tclIOGT.c in Sources */,
- F9FD30DD0CC1AD070073837D /* tclIORChan.c in Sources */,
- F9FFAF1D0DFDDB26007F8A6A /* tclIORTrans.c in Sources */,
- F9FD30DE0CC1AD070073837D /* tclIOSock.c in Sources */,
- F9FD30DF0CC1AD070073837D /* tclIOUtil.c in Sources */,
- F9FD30E00CC1AD070073837D /* tclLink.c in Sources */,
- F9FD30E10CC1AD070073837D /* tclListObj.c in Sources */,
- F9FD30E20CC1AD070073837D /* tclLiteral.c in Sources */,
- F9FD30E30CC1AD070073837D /* tclLoad.c in Sources */,
- F9FD30E40CC1AD070073837D /* tclMain.c in Sources */,
- F9FD30E50CC1AD070073837D /* tclNamesp.c in Sources */,
- F9FD30E60CC1AD070073837D /* tclNotify.c in Sources */,
- F9FD30E70CC1AD070073837D /* tclObj.c in Sources */,
- F9FFAF1F0DFDDB2F007F8A6A /* tclOO.c in Sources */,
- F9FFAF200DFDDB32007F8A6A /* tclOOBasic.c in Sources */,
- F9FFAF210DFDDB32007F8A6A /* tclOOCall.c in Sources */,
- F9FFAF220DFDDB34007F8A6A /* tclOODefineCmds.c in Sources */,
- F9FFAF230DFDDB35007F8A6A /* tclOOInfo.c in Sources */,
- F9FFAF240DFDDB36007F8A6A /* tclOOMethod.c in Sources */,
- F9FFAF250DFDDB37007F8A6A /* tclOOStubInit.c in Sources */,
- F9FFAF260DFDDB38007F8A6A /* tclOOStubLib.c in Sources */,
- F9FD30E80CC1AD070073837D /* tclPanic.c in Sources */,
- F9FD30E90CC1AD070073837D /* tclParse.c in Sources */,
- F9FD30EA0CC1AD070073837D /* tclPathObj.c in Sources */,
- F9FD30EB0CC1AD070073837D /* tclPipe.c in Sources */,
- F9FD30EC0CC1AD070073837D /* tclPkg.c in Sources */,
- F9FD30ED0CC1AD070073837D /* tclPkgConfig.c in Sources */,
- F9FD30EE0CC1AD070073837D /* tclPosixStr.c in Sources */,
- F9FD30EF0CC1AD070073837D /* tclPreserve.c in Sources */,
- F9FD30F00CC1AD070073837D /* tclProc.c in Sources */,
- F9FD30F10CC1AD070073837D /* tclRegexp.c in Sources */,
- F9FD30F20CC1AD070073837D /* tclResolve.c in Sources */,
- F9FD30F30CC1AD070073837D /* tclResult.c in Sources */,
- F9FD30F40CC1AD070073837D /* tclScan.c in Sources */,
- F9FD30F50CC1AD070073837D /* tclStringObj.c in Sources */,
- F9FD30F60CC1AD070073837D /* tclStrToD.c in Sources */,
- F9FD30F70CC1AD070073837D /* tclStubInit.c in Sources */,
- F9FD30F80CC1AD070073837D /* tclStubLib.c in Sources */,
- F9FD30F90CC1AD070073837D /* tclThread.c in Sources */,
- F9FD30FA0CC1AD070073837D /* tclThreadAlloc.c in Sources */,
- F9FD30FB0CC1AD070073837D /* tclThreadJoin.c in Sources */,
- F9FD30FC0CC1AD070073837D /* tclThreadStorage.c in Sources */,
- F9FD30FD0CC1AD070073837D /* tclTimer.c in Sources */,
- F9FD30FE0CC1AD070073837D /* tclTomMathInterface.c in Sources */,
- F9FD30FF0CC1AD070073837D /* tclTrace.c in Sources */,
- F9FD31000CC1AD070073837D /* tclUtf.c in Sources */,
- F9FD31010CC1AD070073837D /* tclUtil.c in Sources */,
- F9FD31020CC1AD070073837D /* tclVar.c in Sources */,
- F96437CB0EF0D4B2003F468E /* tclZlib.c in Sources */,
- F9FD31030CC1AD070073837D /* bn_fast_s_mp_mul_digs.c in Sources */,
- F9FD31040CC1AD070073837D /* bn_fast_s_mp_sqr.c in Sources */,
- F9FD31050CC1AD070073837D /* bn_mp_add.c in Sources */,
- F9FD31060CC1AD070073837D /* bn_mp_add_d.c in Sources */,
- F9FD31070CC1AD070073837D /* bn_mp_and.c in Sources */,
- F9FD31080CC1AD070073837D /* bn_mp_clamp.c in Sources */,
- F9FD31090CC1AD070073837D /* bn_mp_clear.c in Sources */,
- F9FD310A0CC1AD070073837D /* bn_mp_clear_multi.c in Sources */,
- F9FD310B0CC1AD070073837D /* bn_mp_cmp.c in Sources */,
- F9FD310C0CC1AD070073837D /* bn_mp_cmp_d.c in Sources */,
- F9FD310D0CC1AD070073837D /* bn_mp_cmp_mag.c in Sources */,
- F9FD310E0CC1AD070073837D /* bn_mp_copy.c in Sources */,
- F9FD310F0CC1AD070073837D /* bn_mp_count_bits.c in Sources */,
- F9FD31100CC1AD070073837D /* bn_mp_div.c in Sources */,
- F9FD31110CC1AD070073837D /* bn_mp_div_2.c in Sources */,
- F9FD31120CC1AD070073837D /* bn_mp_div_2d.c in Sources */,
- F9FD31130CC1AD070073837D /* bn_mp_div_3.c in Sources */,
- F9FD31140CC1AD070073837D /* bn_mp_div_d.c in Sources */,
- F9FD31150CC1AD070073837D /* bn_mp_exch.c in Sources */,
- F9FD31160CC1AD070073837D /* bn_mp_expt_d.c in Sources */,
- F9FD31170CC1AD070073837D /* bn_mp_grow.c in Sources */,
- F9FD31180CC1AD070073837D /* bn_mp_init.c in Sources */,
- F9FD31190CC1AD070073837D /* bn_mp_init_copy.c in Sources */,
- F9FD311A0CC1AD070073837D /* bn_mp_init_multi.c in Sources */,
- F9FD311B0CC1AD070073837D /* bn_mp_init_set.c in Sources */,
- F9FD311C0CC1AD070073837D /* bn_mp_init_size.c in Sources */,
- F9FD311D0CC1AD070073837D /* bn_mp_karatsuba_mul.c in Sources */,
- F9FD311E0CC1AD070073837D /* bn_mp_karatsuba_sqr.c in Sources */,
- F9FD311F0CC1AD070073837D /* bn_mp_lshd.c in Sources */,
- F9FD31200CC1AD070073837D /* bn_mp_mod.c in Sources */,
- F9FD31210CC1AD070073837D /* bn_mp_mod_2d.c in Sources */,
- F9FD31220CC1AD070073837D /* bn_mp_mul.c in Sources */,
- F9FD31230CC1AD070073837D /* bn_mp_mul_2.c in Sources */,
- F9FD31240CC1AD070073837D /* bn_mp_mul_2d.c in Sources */,
- F9FD31250CC1AD070073837D /* bn_mp_mul_d.c in Sources */,
- F9FD31260CC1AD070073837D /* bn_mp_neg.c in Sources */,
- F9FD31270CC1AD070073837D /* bn_mp_or.c in Sources */,
- F9FD31280CC1AD070073837D /* bn_mp_radix_size.c in Sources */,
- F9FD31290CC1AD070073837D /* bn_mp_radix_smap.c in Sources */,
- F9FD312A0CC1AD070073837D /* bn_mp_read_radix.c in Sources */,
- F9FD312B0CC1AD070073837D /* bn_mp_rshd.c in Sources */,
- F9FD312C0CC1AD070073837D /* bn_mp_set.c in Sources */,
- F9FD312D0CC1AD070073837D /* bn_mp_shrink.c in Sources */,
- F9FD312E0CC1AD070073837D /* bn_mp_sqr.c in Sources */,
- F9FD312F0CC1AD070073837D /* bn_mp_sqrt.c in Sources */,
- F9FD31300CC1AD070073837D /* bn_mp_sub.c in Sources */,
- F9FD31310CC1AD070073837D /* bn_mp_sub_d.c in Sources */,
- F9FD31320CC1AD070073837D /* bn_mp_to_unsigned_bin_n.c in Sources */,
- F9FD31330CC1AD070073837D /* bn_mp_to_unsigned_bin.c in Sources */,
- F9FD31340CC1AD070073837D /* bn_mp_toom_mul.c in Sources */,
- F9FD31350CC1AD070073837D /* bn_mp_toom_sqr.c in Sources */,
- F9FD31360CC1AD070073837D /* bn_mp_toradix_n.c in Sources */,
- F9FD31370CC1AD070073837D /* bn_mp_unsigned_bin_size.c in Sources */,
- F9FD31380CC1AD070073837D /* bn_mp_xor.c in Sources */,
- F9FD31390CC1AD070073837D /* bn_mp_zero.c in Sources */,
- F9FD313A0CC1AD070073837D /* bn_reverse.c in Sources */,
- F9FD313B0CC1AD070073837D /* bn_s_mp_add.c in Sources */,
- F9FD313C0CC1AD070073837D /* bn_s_mp_mul_digs.c in Sources */,
- F9FD313D0CC1AD070073837D /* bn_s_mp_sqr.c in Sources */,
- F9FD313E0CC1AD070073837D /* bn_s_mp_sub.c in Sources */,
- F9FD313F0CC1AD070073837D /* bncore.c in Sources */,
- F9FD31400CC1AD070073837D /* tclMacOSXBundle.c in Sources */,
- F9FD31410CC1AD070073837D /* tclMacOSXFCmd.c in Sources */,
- F9FD31420CC1AD070073837D /* tclMacOSXNotify.c in Sources */,
- F9FD31430CC1AD070073837D /* tclLoadDyld.c in Sources */,
- F9FD31440CC1AD070073837D /* tclUnixChan.c in Sources */,
- F9FD31450CC1AD070073837D /* tclUnixCompat.c in Sources */,
- F9FD31460CC1AD070073837D /* tclUnixEvent.c in Sources */,
- F9FD31470CC1AD070073837D /* tclUnixFCmd.c in Sources */,
- F9FD31480CC1AD070073837D /* tclUnixFile.c in Sources */,
- F9FD31490CC1AD070073837D /* tclUnixInit.c in Sources */,
- F9FD314A0CC1AD070073837D /* tclUnixNotfy.c in Sources */,
- F9FD314B0CC1AD070073837D /* tclUnixPipe.c in Sources */,
- F9FD314C0CC1AD070073837D /* tclUnixSock.c in Sources */,
- F9FD314D0CC1AD070073837D /* tclUnixThrd.c in Sources */,
- F9FD314E0CC1AD070073837D /* tclUnixTime.c in Sources */,
- F9FD31E20CC1AD070073837D /* tclDTrace.d in Sources */,
- F9FD314F0CC1AD070073837D /* tk3d.c in Sources */,
- F9FD31500CC1AD070073837D /* tkArgv.c in Sources */,
- F9FD31510CC1AD070073837D /* tkAtom.c in Sources */,
- F9FD31520CC1AD070073837D /* tkBind.c in Sources */,
- F9FD31530CC1AD070073837D /* tkBitmap.c in Sources */,
- F9152B0A0EAF8A5700CD5C7B /* tkBusy.c in Sources */,
- F9FD31540CC1AD070073837D /* tkButton.c in Sources */,
- F9FD31550CC1AD070073837D /* tkCanvArc.c in Sources */,
- F9FD31560CC1AD070073837D /* tkCanvas.c in Sources */,
- F9FD31570CC1AD070073837D /* tkCanvBmap.c in Sources */,
- F9FD31580CC1AD070073837D /* tkCanvImg.c in Sources */,
- F9FD31590CC1AD070073837D /* tkCanvLine.c in Sources */,
- F9FD315A0CC1AD070073837D /* tkCanvPoly.c in Sources */,
- F9FD315B0CC1AD070073837D /* tkCanvPs.c in Sources */,
- F9FD315C0CC1AD070073837D /* tkCanvText.c in Sources */,
- F9FD315D0CC1AD070073837D /* tkCanvUtil.c in Sources */,
- F9FD315E0CC1AD070073837D /* tkCanvWind.c in Sources */,
- F9FD315F0CC1AD070073837D /* tkClipboard.c in Sources */,
- F9FD31600CC1AD070073837D /* tkCmds.c in Sources */,
- F9FD31610CC1AD070073837D /* tkColor.c in Sources */,
- F9FD31620CC1AD070073837D /* tkConfig.c in Sources */,
- F9FD31630CC1AD070073837D /* tkConsole.c in Sources */,
- F9FD31640CC1AD070073837D /* tkCursor.c in Sources */,
- F9FD31650CC1AD070073837D /* tkEntry.c in Sources */,
- F9FD31660CC1AD070073837D /* tkError.c in Sources */,
- F9FD31670CC1AD070073837D /* tkEvent.c in Sources */,
- F9FD31680CC1AD070073837D /* tkFileFilter.c in Sources */,
- F9FD31690CC1AD070073837D /* tkFocus.c in Sources */,
- F9FD316A0CC1AD070073837D /* tkFont.c in Sources */,
- F9FD316B0CC1AD070073837D /* tkFrame.c in Sources */,
- F9FD316C0CC1AD070073837D /* tkGC.c in Sources */,
- F9FD316D0CC1AD070073837D /* tkGeometry.c in Sources */,
- F9FD316E0CC1AD070073837D /* tkGet.c in Sources */,
- F9FD316F0CC1AD070073837D /* tkGrab.c in Sources */,
- F9FD31700CC1AD070073837D /* tkGrid.c in Sources */,
- F9FD31710CC1AD070073837D /* tkImage.c in Sources */,
- F9FD31720CC1AD070073837D /* tkImgBmap.c in Sources */,
- F9FD31730CC1AD070073837D /* tkImgGIF.c in Sources */,
- F92EE8D30E62F939001A6E80 /* tkImgPhInstance.c in Sources */,
- F9FD31740CC1AD070073837D /* tkImgPhoto.c in Sources */,
- F9DD99BE0F07DF850018B2E4 /* tkImgPNG.c in Sources */,
- F9FD31750CC1AD070073837D /* tkImgPPM.c in Sources */,
- F9FD31760CC1AD070073837D /* tkListbox.c in Sources */,
- F9FD31770CC1AD070073837D /* tkMacWinMenu.c in Sources */,
- F9FD31780CC1AD070073837D /* tkMain.c in Sources */,
- F9FD31790CC1AD070073837D /* tkMenu.c in Sources */,
- F9FD317A0CC1AD070073837D /* tkMenubutton.c in Sources */,
- F9FD317B0CC1AD070073837D /* tkMenuDraw.c in Sources */,
- F9FD317C0CC1AD070073837D /* tkMessage.c in Sources */,
- F9FD317D0CC1AD070073837D /* tkObj.c in Sources */,
- F9FD317E0CC1AD070073837D /* tkOldConfig.c in Sources */,
- F9FD317F0CC1AD070073837D /* tkOldTest.c in Sources */,
- F9FD31800CC1AD070073837D /* tkOption.c in Sources */,
- F9FD31810CC1AD070073837D /* tkPack.c in Sources */,
- F9FD31820CC1AD070073837D /* tkPanedWindow.c in Sources */,
- F9FD31830CC1AD070073837D /* tkPlace.c in Sources */,
- F9FD31850CC1AD070073837D /* tkRectOval.c in Sources */,
- F9FD31860CC1AD070073837D /* tkScale.c in Sources */,
- F9FD31870CC1AD070073837D /* tkScrollbar.c in Sources */,
- F9FD31880CC1AD070073837D /* tkSelect.c in Sources */,
- F9FD31890CC1AD070073837D /* tkSquare.c in Sources */,
- F9FD318A0CC1AD070073837D /* tkStubInit.c in Sources */,
- F9FD318B0CC1AD070073837D /* tkStubLib.c in Sources */,
- F9FD318C0CC1AD070073837D /* tkStyle.c in Sources */,
- F9FD318D0CC1AD070073837D /* tkTest.c in Sources */,
- F9FD318E0CC1AD070073837D /* tkText.c in Sources */,
- F9FD318F0CC1AD070073837D /* tkTextBTree.c in Sources */,
- F9FD31900CC1AD070073837D /* tkTextDisp.c in Sources */,
- F9FD31910CC1AD070073837D /* tkTextImage.c in Sources */,
- F9FD31920CC1AD070073837D /* tkTextIndex.c in Sources */,
- F9FD31930CC1AD070073837D /* tkTextMark.c in Sources */,
- F9FD31940CC1AD070073837D /* tkTextTag.c in Sources */,
- F9FD31950CC1AD070073837D /* tkTextWind.c in Sources */,
- F9FD31960CC1AD070073837D /* tkTrig.c in Sources */,
- F9FD31970CC1AD070073837D /* tkUndo.c in Sources */,
- F9FD31980CC1AD070073837D /* tkUtil.c in Sources */,
- F9FD31990CC1AD070073837D /* tkVisual.c in Sources */,
- F9FD319A0CC1AD070073837D /* tkWindow.c in Sources */,
- F9FD319B0CC1AD070073837D /* ttkBlink.c in Sources */,
- F9FD319C0CC1AD070073837D /* ttkButton.c in Sources */,
- F9FD319D0CC1AD070073837D /* ttkCache.c in Sources */,
- F9FD319E0CC1AD070073837D /* ttkClamTheme.c in Sources */,
- F9FD319F0CC1AD070073837D /* ttkClassicTheme.c in Sources */,
- F9FD31A00CC1AD070073837D /* ttkDefaultTheme.c in Sources */,
- F9FD31A10CC1AD070073837D /* ttkElements.c in Sources */,
- F9FD31A20CC1AD070073837D /* ttkEntry.c in Sources */,
- F9FD31A30CC1AD070073837D /* ttkFrame.c in Sources */,
- F9FD31A40CC1AD070073837D /* ttkImage.c in Sources */,
- F9FD31A50CC1AD070073837D /* ttkInit.c in Sources */,
- F9FD31A60CC1AD070073837D /* ttkLabel.c in Sources */,
- F9FD31A70CC1AD070073837D /* ttkLayout.c in Sources */,
- F9FD31A80CC1AD070073837D /* ttkManager.c in Sources */,
- F9FD31A90CC1AD070073837D /* ttkNotebook.c in Sources */,
- F9FD31AA0CC1AD070073837D /* ttkPanedwindow.c in Sources */,
- F9FD31AB0CC1AD070073837D /* ttkProgress.c in Sources */,
- F9FD31AC0CC1AD070073837D /* ttkScale.c in Sources */,
- F9FD31AD0CC1AD070073837D /* ttkScroll.c in Sources */,
- F9FD31AE0CC1AD070073837D /* ttkScrollbar.c in Sources */,
- F9FD31AF0CC1AD070073837D /* ttkSeparator.c in Sources */,
- F9FD31B00CC1AD070073837D /* ttkSquare.c in Sources */,
- F9FD31B10CC1AD070073837D /* ttkState.c in Sources */,
- F9FD31B20CC1AD070073837D /* ttkStubInit.c in Sources */,
- F9FD31B30CC1AD070073837D /* ttkStubLib.c in Sources */,
- F9FD31B40CC1AD070073837D /* ttkTagSet.c in Sources */,
- F9FD31B50CC1AD070073837D /* ttkTheme.c in Sources */,
- F9FD31B60CC1AD070073837D /* ttkTrace.c in Sources */,
- F9FD31B70CC1AD070073837D /* ttkTrack.c in Sources */,
- F9FD31B80CC1AD070073837D /* ttkTreeview.c in Sources */,
- F9FD31B90CC1AD070073837D /* ttkWidget.c in Sources */,
- F9FD31DA0CC1AD070073837D /* tkAppInit.c in Sources */,
- F9FD32020CC1ADB70073837D /* tkUnix.c in Sources */,
- F9FD31DB0CC1AD070073837D /* tkUnix3d.c in Sources */,
- F9FD320A0CC1ADB70073837D /* tkUnixButton.c in Sources */,
- F9FD32090CC1ADB70073837D /* tkUnixColor.c in Sources */,
- F9FD32040CC1ADB70073837D /* tkUnixConfig.c in Sources */,
- F9FD31F80CC1ADB70073837D /* tkUnixCursor.c in Sources */,
- F9FD32060CC1ADB70073837D /* tkUnixDialog.c in Sources */,
- F9FD32050CC1ADB70073837D /* tkUnixDraw.c in Sources */,
- F9FD31FD0CC1ADB70073837D /* tkUnixEmbed.c in Sources */,
- F9FD32080CC1ADB70073837D /* tkUnixEvent.c in Sources */,
- F9FD31FF0CC1ADB70073837D /* tkUnixFocus.c in Sources */,
- F9FD31FC0CC1ADB70073837D /* tkUnixInit.c in Sources */,
- F9FD31FA0CC1ADB70073837D /* tkUnixKey.c in Sources */,
- F9FD32030CC1ADB70073837D /* tkUnixMenu.c in Sources */,
- F9FD320B0CC1ADB70073837D /* tkUnixMenubu.c in Sources */,
- F9FD32010CC1ADB70073837D /* tkUnixRFont.c in Sources */,
- F9FD31DC0CC1AD070073837D /* tkUnixScale.c in Sources */,
- F9FD320C0CC1ADB70073837D /* tkUnixScrlbr.c in Sources */,
- F9FD32070CC1ADB70073837D /* tkUnixSelect.c in Sources */,
- F9FD31FE0CC1ADB70073837D /* tkUnixSend.c in Sources */,
- F9FD32000CC1ADB70073837D /* tkUnixWm.c in Sources */,
- F9FD31FB0CC1ADB70073837D /* tkUnixXId.c in Sources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXSourcesBuildPhase section */
-
-/* Begin XCBuildConfiguration section */
- F90E36D50F3B5C8400810A10 /* DebugNoGC */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = F97AE8330B65C87F00310EA2 /* Tk-Debug.xcconfig */;
- buildSettings = {
- ARCHS = (
- "$(NATIVE_ARCH_64_BIT)",
- "$(NATIVE_ARCH_32_BIT)",
- );
- CPPFLAGS = "-arch $(CURRENT_ARCH) $(CPPFLAGS)";
- GCC_C_LANGUAGE_STANDARD = gnu99;
- GCC_ENABLE_OBJC_GC = unsupported;
- GCC_ENABLE_PASCAL_STRINGS = NO;
- GCC_INPUT_FILETYPE = sourcecode.c.objc;
- MACOSX_DEPLOYMENT_TARGET = 10.6;
- ONLY_ACTIVE_ARCH = YES;
- PREBINDING = NO;
- };
- name = DebugNoGC;
- };
- F90E36D60F3B5C8400810A10 /* DebugNoGC */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- PRODUCT_NAME = Wish;
- SKIP_INSTALL = NO;
- };
- name = DebugNoGC;
- };
- F90E36D70F3B5C8400810A10 /* DebugNoGC */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- OTHER_LDFLAGS = (
- "$(OTHER_LDFLAGS_AQUA)",
- "$(OTHER_LDFLAGS)",
- );
- PRODUCT_NAME = tktest;
- };
- name = DebugNoGC;
- };
- F90E36D80F3B5C8400810A10 /* DebugNoGC */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- CONFIGURE_ARGS = "tcl_cv_cc_visibility_hidden=no $(CONFIGURE_ARGS)";
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_ENABLE_FIX_AND_CONTINUE = YES;
- GCC_INPUT_FILETYPE = sourcecode.c.c;
- GCC_PREPROCESSOR_DEFINITIONS = (
- "__private_extern__=extern",
- "$(GCC_PREPROCESSOR_DEFINITIONS)",
- );
- GCC_SYMBOLS_PRIVATE_EXTERN = NO;
- HEADER_SEARCH_PATHS = (
- /usr/X11R6/include,
- /usr/X11R6/include/freetype2,
- "$(HEADER_SEARCH_PATHS)",
- );
- LIBRARY_SEARCH_PATHS = (
- /usr/X11R6/lib,
- "$(LIBRARY_SEARCH_PATHS)",
- );
- PRODUCT_NAME = "tktest-X11";
- };
- name = DebugNoGC;
- };
- F91BCC4F093152310042A6BF /* ReleaseUniversal */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- PRODUCT_NAME = Wish;
- SKIP_INSTALL = NO;
- };
- name = ReleaseUniversal;
- };
- F91BCC50093152310042A6BF /* ReleaseUniversal */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- OTHER_LDFLAGS = (
- "$(OTHER_LDFLAGS_AQUA)",
- "$(OTHER_LDFLAGS)",
- );
- PRODUCT_NAME = tktest;
- };
- name = ReleaseUniversal;
- };
- F91BCC51093152310042A6BF /* ReleaseUniversal */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = F97AE82B0B65C69B00310EA2 /* Tk-Release.xcconfig */;
- buildSettings = {
- ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
- CFLAGS = "-arch i386 -arch x86_64 -arch ppc $(CFLAGS)";
- GCC_C_LANGUAGE_STANDARD = gnu99;
- GCC_ENABLE_OBJC_GC = supported;
- GCC_ENABLE_PASCAL_STRINGS = NO;
- GCC_INPUT_FILETYPE = sourcecode.c.objc;
- MACOSX_DEPLOYMENT_TARGET = 10.6;
- PREBINDING = NO;
- };
- name = ReleaseUniversal;
- };
- F93084370BB93D2800CD0B9E /* DebugMemCompile */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- PRODUCT_NAME = Wish;
- SKIP_INSTALL = NO;
- };
- name = DebugMemCompile;
- };
- F93084380BB93D2800CD0B9E /* DebugMemCompile */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- OTHER_LDFLAGS = (
- "$(OTHER_LDFLAGS_AQUA)",
- "$(OTHER_LDFLAGS)",
- );
- PRODUCT_NAME = tktest;
- };
- name = DebugMemCompile;
- };
- F93084390BB93D2800CD0B9E /* DebugMemCompile */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- GCC_INPUT_FILETYPE = sourcecode.c.c;
- HEADER_SEARCH_PATHS = (
- /usr/X11R6/include,
- /usr/X11R6/include/freetype2,
- "$(HEADER_SEARCH_PATHS)",
- );
- LIBRARY_SEARCH_PATHS = (
- /usr/X11R6/lib,
- "$(LIBRARY_SEARCH_PATHS)",
- );
- PRODUCT_NAME = "tktest-X11";
- };
- name = DebugMemCompile;
- };
- F930843A0BB93D2800CD0B9E /* DebugMemCompile */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = F97AE8330B65C87F00310EA2 /* Tk-Debug.xcconfig */;
- buildSettings = {
- ARCHS = (
- "$(NATIVE_ARCH_64_BIT)",
- "$(NATIVE_ARCH_32_BIT)",
- );
- CONFIGURE_ARGS = "$(CONFIGURE_ARGS) --enable-symbols=all";
- CPPFLAGS = "-arch $(CURRENT_ARCH) $(CPPFLAGS)";
- GCC_C_LANGUAGE_STANDARD = gnu99;
- GCC_ENABLE_OBJC_GC = supported;
- GCC_ENABLE_PASCAL_STRINGS = NO;
- GCC_INPUT_FILETYPE = sourcecode.c.objc;
- MACOSX_DEPLOYMENT_TARGET = 10.6;
- ONLY_ACTIVE_ARCH = YES;
- PREBINDING = NO;
- };
- name = DebugMemCompile;
- };
- F9359B250DF212DA00E04F67 /* DebugGCov */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = F97AE8330B65C87F00310EA2 /* Tk-Debug.xcconfig */;
- buildSettings = {
- ARCHS = (
- "$(NATIVE_ARCH_64_BIT)",
- "$(NATIVE_ARCH_32_BIT)",
- );
- CPPFLAGS = "-arch $(CURRENT_ARCH) $(CPPFLAGS)";
- GCC_C_LANGUAGE_STANDARD = gnu99;
- GCC_ENABLE_OBJC_GC = supported;
- GCC_ENABLE_PASCAL_STRINGS = NO;
- GCC_GENERATE_TEST_COVERAGE_FILES = YES;
- GCC_INPUT_FILETYPE = sourcecode.c.objc;
- GCC_INSTRUMENT_PROGRAM_FLOW_ARCS = YES;
- MACOSX_DEPLOYMENT_TARGET = 10.6;
- ONLY_ACTIVE_ARCH = YES;
- OTHER_LDFLAGS = (
- "$(OTHER_LDFLAGS)",
- "-lgcov",
- );
- PREBINDING = NO;
- };
- name = DebugGCov;
- };
- F9359B260DF212DA00E04F67 /* DebugGCov */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- PRODUCT_NAME = Wish;
- SKIP_INSTALL = NO;
- };
- name = DebugGCov;
- };
- F9359B270DF212DA00E04F67 /* DebugGCov */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- OTHER_LDFLAGS = (
- "$(OTHER_LDFLAGS_AQUA)",
- "$(OTHER_LDFLAGS)",
- );
- PRODUCT_NAME = tktest;
- };
- name = DebugGCov;
- };
- F9359B280DF212DA00E04F67 /* DebugGCov */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- GCC_INPUT_FILETYPE = sourcecode.c.c;
- HEADER_SEARCH_PATHS = (
- /usr/X11R6/include,
- /usr/X11R6/include/freetype2,
- "$(HEADER_SEARCH_PATHS)",
- );
- LIBRARY_SEARCH_PATHS = (
- /usr/X11R6/lib,
- "$(LIBRARY_SEARCH_PATHS)",
- );
- PRODUCT_NAME = "tktest-X11";
- };
- name = DebugGCov;
- };
- F95CC8AC09158F3100EA5ACE /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- PRODUCT_NAME = Wish;
- SKIP_INSTALL = NO;
- };
- name = Debug;
- };
- F95CC8AD09158F3100EA5ACE /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- PRODUCT_NAME = Wish;
- SKIP_INSTALL = NO;
- };
- name = Release;
- };
- F95CC8AE09158F3100EA5ACE /* DebugNoFixAndContinue */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- PRODUCT_NAME = Wish;
- SKIP_INSTALL = NO;
- };
- name = DebugNoFixAndContinue;
- };
- F95CC8B109158F3100EA5ACE /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- CONFIGURE_ARGS = "tcl_cv_cc_visibility_hidden=no $(CONFIGURE_ARGS)";
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_ENABLE_FIX_AND_CONTINUE = YES;
- GCC_PREPROCESSOR_DEFINITIONS = (
- "__private_extern__=extern",
- "$(GCC_PREPROCESSOR_DEFINITIONS)",
- );
- GCC_SYMBOLS_PRIVATE_EXTERN = NO;
- OTHER_LDFLAGS = (
- "$(OTHER_LDFLAGS_AQUA)",
- "$(OTHER_LDFLAGS)",
- );
- PRODUCT_NAME = tktest;
- };
- name = Debug;
- };
- F95CC8B209158F3100EA5ACE /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- OTHER_LDFLAGS = (
- "$(OTHER_LDFLAGS_AQUA)",
- "$(OTHER_LDFLAGS)",
- );
- PRODUCT_NAME = tktest;
- };
- name = Release;
- };
- F95CC8B309158F3100EA5ACE /* DebugNoFixAndContinue */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- OTHER_LDFLAGS = (
- "$(OTHER_LDFLAGS_AQUA)",
- "$(OTHER_LDFLAGS)",
- );
- PRODUCT_NAME = tktest;
- };
- name = DebugNoFixAndContinue;
- };
- F95CC8B609158F3100EA5ACE /* Debug */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = F97AE8330B65C87F00310EA2 /* Tk-Debug.xcconfig */;
- buildSettings = {
- ARCHS = (
- "$(NATIVE_ARCH_64_BIT)",
- "$(NATIVE_ARCH_32_BIT)",
- );
- CPPFLAGS = "-arch $(CURRENT_ARCH) $(CPPFLAGS)";
- GCC_C_LANGUAGE_STANDARD = gnu99;
- GCC_ENABLE_OBJC_GC = supported;
- GCC_ENABLE_PASCAL_STRINGS = NO;
- GCC_INPUT_FILETYPE = sourcecode.c.objc;
- MACOSX_DEPLOYMENT_TARGET = 10.6;
- ONLY_ACTIVE_ARCH = YES;
- PREBINDING = NO;
- };
- name = Debug;
- };
- F95CC8B709158F3100EA5ACE /* Release */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = F97AE82B0B65C69B00310EA2 /* Tk-Release.xcconfig */;
- buildSettings = {
- ARCHS = (
- "$(NATIVE_ARCH_64_BIT)",
- "$(NATIVE_ARCH_32_BIT)",
- );
- CPPFLAGS = "-arch $(CURRENT_ARCH) $(CPPFLAGS)";
- GCC_C_LANGUAGE_STANDARD = gnu99;
- GCC_ENABLE_OBJC_GC = supported;
- GCC_ENABLE_PASCAL_STRINGS = NO;
- GCC_INPUT_FILETYPE = sourcecode.c.objc;
- MACOSX_DEPLOYMENT_TARGET = 10.6;
- ONLY_ACTIVE_ARCH = YES;
- PREBINDING = NO;
- };
- name = Release;
- };
- F95CC8B809158F3100EA5ACE /* DebugNoFixAndContinue */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = F97AE8330B65C87F00310EA2 /* Tk-Debug.xcconfig */;
- buildSettings = {
- ARCHS = (
- "$(NATIVE_ARCH_64_BIT)",
- "$(NATIVE_ARCH_32_BIT)",
- );
- CPPFLAGS = "-arch $(CURRENT_ARCH) $(CPPFLAGS)";
- GCC_C_LANGUAGE_STANDARD = gnu99;
- GCC_ENABLE_OBJC_GC = supported;
- GCC_ENABLE_PASCAL_STRINGS = NO;
- GCC_INPUT_FILETYPE = sourcecode.c.objc;
- MACOSX_DEPLOYMENT_TARGET = 10.6;
- ONLY_ACTIVE_ARCH = YES;
- PREBINDING = NO;
- };
- name = DebugNoFixAndContinue;
- };
- F97258A90A86873D00096C78 /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- CONFIGURE_ARGS = "tcl_cv_cc_visibility_hidden=no $(CONFIGURE_ARGS)";
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_ENABLE_FIX_AND_CONTINUE = YES;
- GCC_INPUT_FILETYPE = sourcecode.c.c;
- GCC_PREPROCESSOR_DEFINITIONS = (
- "__private_extern__=extern",
- "$(GCC_PREPROCESSOR_DEFINITIONS)",
- );
- GCC_SYMBOLS_PRIVATE_EXTERN = NO;
- HEADER_SEARCH_PATHS = (
- /usr/X11R6/include,
- /usr/X11R6/include/freetype2,
- "$(HEADER_SEARCH_PATHS)",
- );
- LIBRARY_SEARCH_PATHS = (
- /usr/X11R6/lib,
- "$(LIBRARY_SEARCH_PATHS)",
- );
- PRODUCT_NAME = "tktest-X11";
- };
- name = Debug;
- };
- F97258AA0A86873D00096C78 /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- GCC_INPUT_FILETYPE = sourcecode.c.c;
- HEADER_SEARCH_PATHS = (
- /usr/X11R6/include,
- /usr/X11R6/include/freetype2,
- "$(HEADER_SEARCH_PATHS)",
- );
- LIBRARY_SEARCH_PATHS = (
- /usr/X11R6/lib,
- "$(LIBRARY_SEARCH_PATHS)",
- );
- PRODUCT_NAME = "tktest-X11";
- };
- name = Release;
- };
- F97258AB0A86873D00096C78 /* DebugNoFixAndContinue */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- GCC_INPUT_FILETYPE = sourcecode.c.c;
- HEADER_SEARCH_PATHS = (
- /usr/X11R6/include,
- /usr/X11R6/include/freetype2,
- "$(HEADER_SEARCH_PATHS)",
- );
- LIBRARY_SEARCH_PATHS = (
- /usr/X11R6/lib,
- "$(LIBRARY_SEARCH_PATHS)",
- );
- PRODUCT_NAME = "tktest-X11";
- };
- name = DebugNoFixAndContinue;
- };
- F97258AC0A86873D00096C78 /* ReleaseUniversal */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
- CFLAGS = "-arch i386 -arch x86_64 -arch ppc $(CFLAGS)";
- GCC_INPUT_FILETYPE = sourcecode.c.c;
- HEADER_SEARCH_PATHS = (
- /usr/X11R6/include,
- /usr/X11R6/include/freetype2,
- "$(HEADER_SEARCH_PATHS)",
- );
- LIBRARY_SEARCH_PATHS = (
- /usr/X11R6/lib,
- "$(LIBRARY_SEARCH_PATHS)",
- );
- PRODUCT_NAME = "tktest-X11";
- };
- name = ReleaseUniversal;
- };
- F97AED1B0B660B2100310EA2 /* Debug64bit */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- PRODUCT_NAME = Wish;
- SKIP_INSTALL = NO;
- };
- name = Debug64bit;
- };
- F97AED1C0B660B2100310EA2 /* Debug64bit */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- OTHER_LDFLAGS = (
- "$(OTHER_LDFLAGS_AQUA)",
- "$(OTHER_LDFLAGS)",
- );
- PRODUCT_NAME = tktest;
- };
- name = Debug64bit;
- };
- F97AED1D0B660B2100310EA2 /* Debug64bit */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- GCC_INPUT_FILETYPE = sourcecode.c.c;
- HEADER_SEARCH_PATHS = (
- /usr/X11R6/include,
- /usr/X11R6/include/freetype2,
- "$(HEADER_SEARCH_PATHS)",
- );
- LIBRARY_SEARCH_PATHS = (
- /usr/X11R6/lib,
- "$(LIBRARY_SEARCH_PATHS)",
- );
- PRODUCT_NAME = "tktest-X11";
- };
- name = Debug64bit;
- };
- F97AED1E0B660B2100310EA2 /* Debug64bit */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = F97AE8330B65C87F00310EA2 /* Tk-Debug.xcconfig */;
- buildSettings = {
- ARCHS = "$(NATIVE_ARCH_64_BIT)";
- CONFIGURE_ARGS = "--enable-64bit $(CONFIGURE_ARGS)";
- CPPFLAGS = "-arch $(NATIVE_ARCH_64_BIT) $(CPPFLAGS)";
- GCC_C_LANGUAGE_STANDARD = gnu99;
- GCC_ENABLE_OBJC_GC = supported;
- GCC_ENABLE_PASCAL_STRINGS = NO;
- GCC_INPUT_FILETYPE = sourcecode.c.objc;
- MACOSX_DEPLOYMENT_TARGET = 10.6;
- PREBINDING = NO;
- };
- name = Debug64bit;
- };
- F987512F0DE7B57E00B1C9EC /* DebugNoCF */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = F97AE8330B65C87F00310EA2 /* Tk-Debug.xcconfig */;
- buildSettings = {
- ARCHS = (
- "$(NATIVE_ARCH_64_BIT)",
- "$(NATIVE_ARCH_32_BIT)",
- );
- CONFIGURE_ARGS = "$(CONFIGURE_ARGS) --disable-corefoundation";
- CPPFLAGS = "-arch $(CURRENT_ARCH) $(CPPFLAGS)";
- GCC_C_LANGUAGE_STANDARD = gnu99;
- GCC_ENABLE_OBJC_GC = supported;
- GCC_ENABLE_PASCAL_STRINGS = NO;
- GCC_INPUT_FILETYPE = sourcecode.c.objc;
- MACOSX_DEPLOYMENT_TARGET = 10.6;
- ONLY_ACTIVE_ARCH = YES;
- PREBINDING = NO;
- };
- name = DebugNoCF;
- };
- F98751300DE7B57E00B1C9EC /* DebugNoCF */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- CONFIGURE_ARGS = "$(CONFIGURE_ARGS) --enable-corefoundation";
- PRODUCT_NAME = Wish;
- SKIP_INSTALL = NO;
- };
- name = DebugNoCF;
- };
- F98751310DE7B57E00B1C9EC /* DebugNoCF */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- CONFIGURE_ARGS = "$(CONFIGURE_ARGS) --enable-corefoundation";
- OTHER_LDFLAGS = (
- "$(OTHER_LDFLAGS_AQUA)",
- "$(OTHER_LDFLAGS)",
- );
- PRODUCT_NAME = tktest;
- };
- name = DebugNoCF;
- };
- F98751320DE7B57E00B1C9EC /* DebugNoCF */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- GCC_INPUT_FILETYPE = sourcecode.c.c;
- HEADER_SEARCH_PATHS = (
- /usr/X11R6/include,
- /usr/X11R6/include/freetype2,
- "$(HEADER_SEARCH_PATHS)",
- );
- LIBRARY_SEARCH_PATHS = (
- /usr/X11R6/lib,
- "$(LIBRARY_SEARCH_PATHS)",
- );
- PRODUCT_NAME = "tktest-X11";
- };
- name = DebugNoCF;
- };
- F98751330DE7B5A200B1C9EC /* DebugNoCFUnthreaded */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = F97AE8330B65C87F00310EA2 /* Tk-Debug.xcconfig */;
- buildSettings = {
- ARCHS = (
- "$(NATIVE_ARCH_64_BIT)",
- "$(NATIVE_ARCH_32_BIT)",
- );
- CONFIGURE_ARGS = "$(CONFIGURE_ARGS) --disable-threads --disable-corefoundation";
- CPPFLAGS = "-arch $(CURRENT_ARCH) $(CPPFLAGS)";
- GCC_C_LANGUAGE_STANDARD = gnu99;
- GCC_ENABLE_OBJC_GC = supported;
- GCC_ENABLE_PASCAL_STRINGS = NO;
- GCC_INPUT_FILETYPE = sourcecode.c.objc;
- MACOSX_DEPLOYMENT_TARGET = 10.6;
- ONLY_ACTIVE_ARCH = YES;
- PREBINDING = NO;
- };
- name = DebugNoCFUnthreaded;
- };
- F98751340DE7B5A200B1C9EC /* DebugNoCFUnthreaded */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- CONFIGURE_ARGS = "$(CONFIGURE_ARGS) --enable-corefoundation";
- PRODUCT_NAME = Wish;
- SKIP_INSTALL = NO;
- };
- name = DebugNoCFUnthreaded;
- };
- F98751350DE7B5A200B1C9EC /* DebugNoCFUnthreaded */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- CONFIGURE_ARGS = "$(CONFIGURE_ARGS) --enable-corefoundation";
- OTHER_LDFLAGS = (
- "$(OTHER_LDFLAGS_AQUA)",
- "$(OTHER_LDFLAGS)",
- );
- PRODUCT_NAME = tktest;
- };
- name = DebugNoCFUnthreaded;
- };
- F98751360DE7B5A200B1C9EC /* DebugNoCFUnthreaded */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- GCC_INPUT_FILETYPE = sourcecode.c.c;
- HEADER_SEARCH_PATHS = (
- /usr/X11R6/include,
- /usr/X11R6/include/freetype2,
- "$(HEADER_SEARCH_PATHS)",
- );
- LIBRARY_SEARCH_PATHS = (
- /usr/X11R6/lib,
- "$(LIBRARY_SEARCH_PATHS)",
- );
- PRODUCT_NAME = "tktest-X11";
- };
- name = DebugNoCFUnthreaded;
- };
- F9988AB10D814C6500B6B03B /* Debug gcc40 */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = F97AE8330B65C87F00310EA2 /* Tk-Debug.xcconfig */;
- buildSettings = {
- ARCHS = (
- "$(NATIVE_ARCH_64_BIT)",
- "$(NATIVE_ARCH_32_BIT)",
- );
- CPPFLAGS = "-arch $(CURRENT_ARCH) $(CPPFLAGS)";
- GCC_C_LANGUAGE_STANDARD = gnu99;
- GCC_ENABLE_OBJC_GC = supported;
- GCC_ENABLE_PASCAL_STRINGS = NO;
- GCC_INPUT_FILETYPE = sourcecode.c.objc;
- GCC_VERSION = 4.0;
- MACOSX_DEPLOYMENT_TARGET = 10.6;
- ONLY_ACTIVE_ARCH = YES;
- PREBINDING = NO;
- };
- name = "Debug gcc40";
- };
- F9988AB20D814C6500B6B03B /* Debug gcc40 */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- PRODUCT_NAME = Wish;
- SKIP_INSTALL = NO;
- };
- name = "Debug gcc40";
- };
- F9988AB30D814C6500B6B03B /* Debug gcc40 */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- CONFIGURE_ARGS = "tcl_cv_cc_visibility_hidden=no $(CONFIGURE_ARGS)";
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_ENABLE_FIX_AND_CONTINUE = YES;
- GCC_PREPROCESSOR_DEFINITIONS = (
- "__private_extern__=extern",
- "$(GCC_PREPROCESSOR_DEFINITIONS)",
- );
- GCC_SYMBOLS_PRIVATE_EXTERN = NO;
- OTHER_LDFLAGS = (
- "$(OTHER_LDFLAGS_AQUA)",
- "$(OTHER_LDFLAGS)",
- );
- PRODUCT_NAME = tktest;
- };
- name = "Debug gcc40";
- };
- F9988AB40D814C6500B6B03B /* Debug gcc40 */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- CONFIGURE_ARGS = "tcl_cv_cc_visibility_hidden=no $(CONFIGURE_ARGS)";
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_ENABLE_FIX_AND_CONTINUE = YES;
- GCC_INPUT_FILETYPE = sourcecode.c.c;
- GCC_PREPROCESSOR_DEFINITIONS = (
- "__private_extern__=extern",
- "$(GCC_PREPROCESSOR_DEFINITIONS)",
- );
- GCC_SYMBOLS_PRIVATE_EXTERN = NO;
- HEADER_SEARCH_PATHS = (
- /usr/X11R6/include,
- /usr/X11R6/include/freetype2,
- "$(HEADER_SEARCH_PATHS)",
- );
- LIBRARY_SEARCH_PATHS = (
- /usr/X11R6/lib,
- "$(LIBRARY_SEARCH_PATHS)",
- );
- PRODUCT_NAME = "tktest-X11";
- };
- name = "Debug gcc40";
- };
- F9988AB50D814C7500B6B03B /* Debug llvm-gcc */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = F97AE8330B65C87F00310EA2 /* Tk-Debug.xcconfig */;
- buildSettings = {
- ARCHS = (
- "$(NATIVE_ARCH_64_BIT)",
- "$(NATIVE_ARCH_32_BIT)",
- );
- CPPFLAGS = "-arch $(CURRENT_ARCH) $(CPPFLAGS)";
- GCC = "llvm-gcc";
- GCC_C_LANGUAGE_STANDARD = gnu99;
- GCC_ENABLE_OBJC_GC = supported;
- GCC_ENABLE_PASCAL_STRINGS = NO;
- GCC_INPUT_FILETYPE = sourcecode.c.objc;
- GCC_VERSION = com.apple.compilers.llvmgcc42;
- MACOSX_DEPLOYMENT_TARGET = 10.6;
- ONLY_ACTIVE_ARCH = YES;
- PREBINDING = NO;
- };
- name = "Debug llvm-gcc";
- };
- F9988AB60D814C7500B6B03B /* Debug llvm-gcc */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- PRODUCT_NAME = Wish;
- SKIP_INSTALL = NO;
- };
- name = "Debug llvm-gcc";
- };
- F9988AB70D814C7500B6B03B /* Debug llvm-gcc */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- CONFIGURE_ARGS = "tcl_cv_cc_visibility_hidden=no $(CONFIGURE_ARGS)";
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_ENABLE_FIX_AND_CONTINUE = YES;
- GCC_PREPROCESSOR_DEFINITIONS = (
- "__private_extern__=extern",
- "$(GCC_PREPROCESSOR_DEFINITIONS)",
- );
- GCC_SYMBOLS_PRIVATE_EXTERN = NO;
- OTHER_LDFLAGS = (
- "$(OTHER_LDFLAGS_AQUA)",
- "$(OTHER_LDFLAGS)",
- );
- PRODUCT_NAME = tktest;
- };
- name = "Debug llvm-gcc";
- };
- F9988AB80D814C7500B6B03B /* Debug llvm-gcc */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- CONFIGURE_ARGS = "tcl_cv_cc_visibility_hidden=no $(CONFIGURE_ARGS)";
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_ENABLE_FIX_AND_CONTINUE = YES;
- GCC_INPUT_FILETYPE = sourcecode.c.c;
- GCC_PREPROCESSOR_DEFINITIONS = (
- "__private_extern__=extern",
- "$(GCC_PREPROCESSOR_DEFINITIONS)",
- );
- GCC_SYMBOLS_PRIVATE_EXTERN = NO;
- HEADER_SEARCH_PATHS = (
- /usr/X11R6/include,
- /usr/X11R6/include/freetype2,
- "$(HEADER_SEARCH_PATHS)",
- );
- LIBRARY_SEARCH_PATHS = (
- /usr/X11R6/lib,
- "$(LIBRARY_SEARCH_PATHS)",
- );
- PRODUCT_NAME = "tktest-X11";
- };
- name = "Debug llvm-gcc";
- };
- F9988BB10D81586D00B6B03B /* ReleaseUniversal gcc40 */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = F97AE82B0B65C69B00310EA2 /* Tk-Release.xcconfig */;
- buildSettings = {
- ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
- CFLAGS = "-arch i386 -arch x86_64 -arch ppc $(CFLAGS)";
- GCC_C_LANGUAGE_STANDARD = gnu99;
- GCC_ENABLE_OBJC_GC = supported;
- GCC_ENABLE_PASCAL_STRINGS = NO;
- GCC_INPUT_FILETYPE = sourcecode.c.objc;
- GCC_VERSION = 4.0;
- MACOSX_DEPLOYMENT_TARGET = 10.6;
- PREBINDING = NO;
- };
- name = "ReleaseUniversal gcc40";
- };
- F9988BB20D81586D00B6B03B /* ReleaseUniversal gcc40 */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- PRODUCT_NAME = Wish;
- SKIP_INSTALL = NO;
- };
- name = "ReleaseUniversal gcc40";
- };
- F9988BB30D81586D00B6B03B /* ReleaseUniversal gcc40 */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- OTHER_LDFLAGS = (
- "$(OTHER_LDFLAGS_AQUA)",
- "$(OTHER_LDFLAGS)",
- );
- PRODUCT_NAME = tktest;
- };
- name = "ReleaseUniversal gcc40";
- };
- F9988BB40D81586D00B6B03B /* ReleaseUniversal gcc40 */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
- CFLAGS = "-arch i386 -arch x86_64 -arch ppc $(CFLAGS)";
- GCC_INPUT_FILETYPE = sourcecode.c.c;
- HEADER_SEARCH_PATHS = (
- /usr/X11R6/include,
- /usr/X11R6/include/freetype2,
- "$(HEADER_SEARCH_PATHS)",
- );
- LIBRARY_SEARCH_PATHS = (
- /usr/X11R6/lib,
- "$(LIBRARY_SEARCH_PATHS)",
- );
- PRODUCT_NAME = "tktest-X11";
- };
- name = "ReleaseUniversal gcc40";
- };
- F9988BB50D81587400B6B03B /* ReleaseUniversal llvm-gcc */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = F97AE82B0B65C69B00310EA2 /* Tk-Release.xcconfig */;
- buildSettings = {
- ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
- CFLAGS = "-arch i386 -arch x86_64 -arch ppc $(CFLAGS)";
- DEBUG_INFORMATION_FORMAT = dwarf;
- GCC = "llvm-gcc";
- GCC_C_LANGUAGE_STANDARD = gnu99;
- GCC_ENABLE_OBJC_GC = supported;
- GCC_ENABLE_PASCAL_STRINGS = NO;
- GCC_INPUT_FILETYPE = sourcecode.c.objc;
- GCC_OPTIMIZATION_LEVEL = 4;
- "GCC_OPTIMIZATION_LEVEL[arch=ppc]" = s;
- GCC_VERSION = com.apple.compilers.llvmgcc42;
- MACOSX_DEPLOYMENT_TARGET = 10.6;
- PREBINDING = NO;
- };
- name = "ReleaseUniversal llvm-gcc";
- };
- F9988BB60D81587400B6B03B /* ReleaseUniversal llvm-gcc */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- PRODUCT_NAME = Wish;
- SKIP_INSTALL = NO;
- };
- name = "ReleaseUniversal llvm-gcc";
- };
- F9988BB70D81587400B6B03B /* ReleaseUniversal llvm-gcc */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- OTHER_LDFLAGS = (
- "$(OTHER_LDFLAGS_AQUA)",
- "$(OTHER_LDFLAGS)",
- );
- PRODUCT_NAME = tktest;
- };
- name = "ReleaseUniversal llvm-gcc";
- };
- F9988BB80D81587400B6B03B /* ReleaseUniversal llvm-gcc */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
- CFLAGS = "-arch i386 -arch x86_64 -arch ppc $(CFLAGS)";
- GCC_INPUT_FILETYPE = sourcecode.c.c;
- HEADER_SEARCH_PATHS = (
- /usr/X11R6/include,
- /usr/X11R6/include/freetype2,
- "$(HEADER_SEARCH_PATHS)",
- );
- LIBRARY_SEARCH_PATHS = (
- /usr/X11R6/lib,
- "$(LIBRARY_SEARCH_PATHS)",
- );
- PRODUCT_NAME = "tktest-X11";
- };
- name = "ReleaseUniversal llvm-gcc";
- };
- F99EE73B0BE835310060D4AF /* DebugUnthreaded */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- PRODUCT_NAME = Wish;
- SKIP_INSTALL = NO;
- };
- name = DebugUnthreaded;
- };
- F99EE73C0BE835310060D4AF /* DebugLeaks */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- PRODUCT_NAME = Wish;
- SKIP_INSTALL = NO;
- };
- name = DebugLeaks;
- };
- F99EE73D0BE835310060D4AF /* DebugUnthreaded */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- OTHER_LDFLAGS = (
- "$(OTHER_LDFLAGS_AQUA)",
- "$(OTHER_LDFLAGS)",
- );
- PRODUCT_NAME = tktest;
- };
- name = DebugUnthreaded;
- };
- F99EE73E0BE835310060D4AF /* DebugLeaks */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- OTHER_LDFLAGS = (
- "$(OTHER_LDFLAGS_AQUA)",
- "$(OTHER_LDFLAGS)",
- );
- PRODUCT_NAME = tktest;
- };
- name = DebugLeaks;
- };
- F99EE73F0BE835310060D4AF /* DebugUnthreaded */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- GCC_INPUT_FILETYPE = sourcecode.c.c;
- HEADER_SEARCH_PATHS = (
- /usr/X11R6/include,
- /usr/X11R6/include/freetype2,
- "$(HEADER_SEARCH_PATHS)",
- );
- LIBRARY_SEARCH_PATHS = (
- /usr/X11R6/lib,
- "$(LIBRARY_SEARCH_PATHS)",
- );
- PRODUCT_NAME = "tktest-X11";
- };
- name = DebugUnthreaded;
- };
- F99EE7400BE835310060D4AF /* DebugLeaks */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- GCC_INPUT_FILETYPE = sourcecode.c.c;
- HEADER_SEARCH_PATHS = (
- /usr/X11R6/include,
- /usr/X11R6/include/freetype2,
- "$(HEADER_SEARCH_PATHS)",
- );
- LIBRARY_SEARCH_PATHS = (
- /usr/X11R6/lib,
- "$(LIBRARY_SEARCH_PATHS)",
- );
- PRODUCT_NAME = "tktest-X11";
- };
- name = DebugLeaks;
- };
- F99EE7410BE835310060D4AF /* DebugUnthreaded */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = F97AE8330B65C87F00310EA2 /* Tk-Debug.xcconfig */;
- buildSettings = {
- ARCHS = (
- "$(NATIVE_ARCH_64_BIT)",
- "$(NATIVE_ARCH_32_BIT)",
- );
- CONFIGURE_ARGS = "$(CONFIGURE_ARGS) --disable-threads";
- CPPFLAGS = "-arch $(CURRENT_ARCH) $(CPPFLAGS)";
- GCC_C_LANGUAGE_STANDARD = gnu99;
- GCC_ENABLE_OBJC_GC = supported;
- GCC_ENABLE_PASCAL_STRINGS = NO;
- GCC_INPUT_FILETYPE = sourcecode.c.objc;
- MACOSX_DEPLOYMENT_TARGET = 10.6;
- ONLY_ACTIVE_ARCH = YES;
- PREBINDING = NO;
- };
- name = DebugUnthreaded;
- };
- F99EE7420BE835310060D4AF /* DebugLeaks */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = F97AE8330B65C87F00310EA2 /* Tk-Debug.xcconfig */;
- buildSettings = {
- ARCHS = (
- "$(NATIVE_ARCH_64_BIT)",
- "$(NATIVE_ARCH_32_BIT)",
- );
- CPPFLAGS = "-arch $(CURRENT_ARCH) $(CPPFLAGS)";
- GCC_C_LANGUAGE_STANDARD = gnu99;
- GCC_ENABLE_OBJC_GC = unsupported;
- GCC_ENABLE_PASCAL_STRINGS = NO;
- GCC_INPUT_FILETYPE = sourcecode.c.objc;
- GCC_PREPROCESSOR_DEFINITIONS = (
- PURIFY,
- "$(GCC_PREPROCESSOR_DEFINITIONS)",
- );
- MACOSX_DEPLOYMENT_TARGET = 10.6;
- ONLY_ACTIVE_ARCH = YES;
- PREBINDING = NO;
- RUN_CLANG_STATIC_ANALYZER = YES;
- };
- name = DebugLeaks;
- };
- F9A9D1EF0FC77787002A2BE3 /* Debug clang */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = F97AE8330B65C87F00310EA2 /* Tk-Debug.xcconfig */;
- buildSettings = {
- ARCHS = (
- "$(NATIVE_ARCH_64_BIT)",
- "$(NATIVE_ARCH_32_BIT)",
- );
- CPPFLAGS = "-arch $(CURRENT_ARCH) $(CPPFLAGS)";
- GCC = clang;
- GCC_C_LANGUAGE_STANDARD = gnu99;
- GCC_ENABLE_OBJC_GC = supported;
- GCC_ENABLE_PASCAL_STRINGS = NO;
- GCC_INPUT_FILETYPE = sourcecode.c.objc;
- GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
- MACOSX_DEPLOYMENT_TARGET = 10.6;
- ONLY_ACTIVE_ARCH = YES;
- PREBINDING = NO;
- };
- name = "Debug clang";
- };
- F9A9D1F00FC77787002A2BE3 /* Debug clang */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- PRODUCT_NAME = Wish;
- SKIP_INSTALL = NO;
- };
- name = "Debug clang";
- };
- F9A9D1F10FC77787002A2BE3 /* Debug clang */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- CONFIGURE_ARGS = "tcl_cv_cc_visibility_hidden=no $(CONFIGURE_ARGS)";
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_ENABLE_FIX_AND_CONTINUE = YES;
- GCC_PREPROCESSOR_DEFINITIONS = (
- "__private_extern__=extern",
- "$(GCC_PREPROCESSOR_DEFINITIONS)",
- );
- GCC_SYMBOLS_PRIVATE_EXTERN = NO;
- OTHER_LDFLAGS = (
- "$(OTHER_LDFLAGS_AQUA)",
- "$(OTHER_LDFLAGS)",
- );
- PRODUCT_NAME = tktest;
- };
- name = "Debug clang";
- };
- F9A9D1F20FC77787002A2BE3 /* Debug clang */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- CONFIGURE_ARGS = "tcl_cv_cc_visibility_hidden=no $(CONFIGURE_ARGS)";
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_ENABLE_FIX_AND_CONTINUE = YES;
- GCC_PREPROCESSOR_DEFINITIONS = (
- "__private_extern__=extern",
- "$(GCC_PREPROCESSOR_DEFINITIONS)",
- );
- GCC_SYMBOLS_PRIVATE_EXTERN = NO;
- HEADER_SEARCH_PATHS = (
- /usr/X11R6/include,
- /usr/X11R6/include/freetype2,
- "$(HEADER_SEARCH_PATHS)",
- );
- LIBRARY_SEARCH_PATHS = (
- /usr/X11R6/lib,
- "$(LIBRARY_SEARCH_PATHS)",
- );
- PRODUCT_NAME = "tktest-X11";
- };
- name = "Debug clang";
- };
- F9A9D1F30FC77799002A2BE3 /* ReleaseUniversal clang */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = F97AE82B0B65C69B00310EA2 /* Tk-Release.xcconfig */;
- buildSettings = {
- ARCHS = (
- "$(NATIVE_ARCH_64_BIT)",
- "$(NATIVE_ARCH_32_BIT)",
- );
- CFLAGS = "-arch i386 -arch x86_64 $(CFLAGS)";
- DEBUG_INFORMATION_FORMAT = dwarf;
- GCC = clang;
- GCC_C_LANGUAGE_STANDARD = gnu99;
- GCC_ENABLE_OBJC_GC = supported;
- GCC_ENABLE_PASCAL_STRINGS = NO;
- GCC_INPUT_FILETYPE = sourcecode.c.objc;
- GCC_OPTIMIZATION_LEVEL = 4;
- GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
- MACOSX_DEPLOYMENT_TARGET = 10.6;
- PREBINDING = NO;
- };
- name = "ReleaseUniversal clang";
- };
- F9A9D1F40FC77799002A2BE3 /* ReleaseUniversal clang */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- PRODUCT_NAME = Wish;
- SKIP_INSTALL = NO;
- };
- name = "ReleaseUniversal clang";
- };
- F9A9D1F50FC77799002A2BE3 /* ReleaseUniversal clang */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- OTHER_LDFLAGS = (
- "$(OTHER_LDFLAGS_AQUA)",
- "$(OTHER_LDFLAGS)",
- );
- PRODUCT_NAME = tktest;
- };
- name = "ReleaseUniversal clang";
- };
- F9A9D1F60FC77799002A2BE3 /* ReleaseUniversal clang */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
- CFLAGS = "-arch i386 -arch x86_64 -arch ppc $(CFLAGS)";
- HEADER_SEARCH_PATHS = (
- /usr/X11R6/include,
- /usr/X11R6/include/freetype2,
- "$(HEADER_SEARCH_PATHS)",
- );
- LIBRARY_SEARCH_PATHS = (
- /usr/X11R6/lib,
- "$(LIBRARY_SEARCH_PATHS)",
- );
- PRODUCT_NAME = "tktest-X11";
- };
- name = "ReleaseUniversal clang";
- };
- F9EEED960C2FEFD300396116 /* ReleaseUniversal10.5SDK */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- PRODUCT_NAME = Wish;
- SKIP_INSTALL = NO;
- };
- name = ReleaseUniversal10.5SDK;
- };
- F9EEED970C2FEFD300396116 /* ReleaseUniversal10.5SDK */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- OTHER_LDFLAGS = (
- "$(OTHER_LDFLAGS_AQUA)",
- "$(OTHER_LDFLAGS)",
- );
- PRODUCT_NAME = tktest;
- };
- name = ReleaseUniversal10.5SDK;
- };
- F9EEED980C2FEFD300396116 /* ReleaseUniversal10.5SDK */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
- CFLAGS = "-arch i386 -arch x86_64 -arch ppc $(CFLAGS)";
- GCC_INPUT_FILETYPE = sourcecode.c.c;
- HEADER_SEARCH_PATHS = (
- /usr/X11R6/include,
- /usr/X11R6/include/freetype2,
- "$(HEADER_SEARCH_PATHS)",
- );
- LIBRARY_SEARCH_PATHS = (
- /usr/X11R6/lib,
- "$(LIBRARY_SEARCH_PATHS)",
- );
- PRODUCT_NAME = "tktest-X11";
- };
- name = ReleaseUniversal10.5SDK;
- };
- F9EEED990C2FEFD300396116 /* ReleaseUniversal10.5SDK */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = F97AE82B0B65C69B00310EA2 /* Tk-Release.xcconfig */;
- buildSettings = {
- ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
- CFLAGS = "-arch i386 -arch x86_64 -arch ppc $(CFLAGS)";
- CPPFLAGS = "-isysroot $(SDKROOT) $(CPPFLAGS)";
- GCC_C_LANGUAGE_STANDARD = gnu99;
- GCC_ENABLE_OBJC_GC = supported;
- GCC_ENABLE_PASCAL_STRINGS = NO;
- GCC_INPUT_FILETYPE = sourcecode.c.objc;
- MACOSX_DEPLOYMENT_TARGET = 10.5;
- PREBINDING = NO;
- SDKROOT = macosx10.5;
- };
- name = ReleaseUniversal10.5SDK;
- };
-/* End XCBuildConfiguration section */
-
-/* Begin XCConfigurationList section */
- F95CC8AB09158F3100EA5ACE /* Build configuration list for PBXNativeTarget "Tk" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- F95CC8AC09158F3100EA5ACE /* Debug */,
- F9A9D1F00FC77787002A2BE3 /* Debug clang */,
- F9988AB60D814C7500B6B03B /* Debug llvm-gcc */,
- F9988AB20D814C6500B6B03B /* Debug gcc40 */,
- F90E36D60F3B5C8400810A10 /* DebugNoGC */,
- F95CC8AE09158F3100EA5ACE /* DebugNoFixAndContinue */,
- F99EE73B0BE835310060D4AF /* DebugUnthreaded */,
- F98751300DE7B57E00B1C9EC /* DebugNoCF */,
- F98751340DE7B5A200B1C9EC /* DebugNoCFUnthreaded */,
- F93084370BB93D2800CD0B9E /* DebugMemCompile */,
- F99EE73C0BE835310060D4AF /* DebugLeaks */,
- F9359B260DF212DA00E04F67 /* DebugGCov */,
- F97AED1B0B660B2100310EA2 /* Debug64bit */,
- F95CC8AD09158F3100EA5ACE /* Release */,
- F91BCC4F093152310042A6BF /* ReleaseUniversal */,
- F9A9D1F40FC77799002A2BE3 /* ReleaseUniversal clang */,
- F9988BB60D81587400B6B03B /* ReleaseUniversal llvm-gcc */,
- F9988BB20D81586D00B6B03B /* ReleaseUniversal gcc40 */,
- F9EEED960C2FEFD300396116 /* ReleaseUniversal10.5SDK */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Debug;
- };
- F95CC8B009158F3100EA5ACE /* Build configuration list for PBXNativeTarget "tktest" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- F95CC8B109158F3100EA5ACE /* Debug */,
- F9A9D1F10FC77787002A2BE3 /* Debug clang */,
- F9988AB70D814C7500B6B03B /* Debug llvm-gcc */,
- F9988AB30D814C6500B6B03B /* Debug gcc40 */,
- F90E36D70F3B5C8400810A10 /* DebugNoGC */,
- F95CC8B309158F3100EA5ACE /* DebugNoFixAndContinue */,
- F99EE73D0BE835310060D4AF /* DebugUnthreaded */,
- F98751310DE7B57E00B1C9EC /* DebugNoCF */,
- F98751350DE7B5A200B1C9EC /* DebugNoCFUnthreaded */,
- F93084380BB93D2800CD0B9E /* DebugMemCompile */,
- F99EE73E0BE835310060D4AF /* DebugLeaks */,
- F9359B270DF212DA00E04F67 /* DebugGCov */,
- F97AED1C0B660B2100310EA2 /* Debug64bit */,
- F95CC8B209158F3100EA5ACE /* Release */,
- F91BCC50093152310042A6BF /* ReleaseUniversal */,
- F9A9D1F50FC77799002A2BE3 /* ReleaseUniversal clang */,
- F9988BB70D81587400B6B03B /* ReleaseUniversal llvm-gcc */,
- F9988BB30D81586D00B6B03B /* ReleaseUniversal gcc40 */,
- F9EEED970C2FEFD300396116 /* ReleaseUniversal10.5SDK */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Debug;
- };
- F95CC8B509158F3100EA5ACE /* Build configuration list for PBXProject "Tk" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- F95CC8B609158F3100EA5ACE /* Debug */,
- F9A9D1EF0FC77787002A2BE3 /* Debug clang */,
- F9988AB50D814C7500B6B03B /* Debug llvm-gcc */,
- F9988AB10D814C6500B6B03B /* Debug gcc40 */,
- F90E36D50F3B5C8400810A10 /* DebugNoGC */,
- F95CC8B809158F3100EA5ACE /* DebugNoFixAndContinue */,
- F99EE7410BE835310060D4AF /* DebugUnthreaded */,
- F987512F0DE7B57E00B1C9EC /* DebugNoCF */,
- F98751330DE7B5A200B1C9EC /* DebugNoCFUnthreaded */,
- F930843A0BB93D2800CD0B9E /* DebugMemCompile */,
- F99EE7420BE835310060D4AF /* DebugLeaks */,
- F9359B250DF212DA00E04F67 /* DebugGCov */,
- F97AED1E0B660B2100310EA2 /* Debug64bit */,
- F95CC8B709158F3100EA5ACE /* Release */,
- F91BCC51093152310042A6BF /* ReleaseUniversal */,
- F9A9D1F30FC77799002A2BE3 /* ReleaseUniversal clang */,
- F9988BB50D81587400B6B03B /* ReleaseUniversal llvm-gcc */,
- F9988BB10D81586D00B6B03B /* ReleaseUniversal gcc40 */,
- F9EEED990C2FEFD300396116 /* ReleaseUniversal10.5SDK */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Debug;
- };
- F97258A80A86873D00096C78 /* Build configuration list for PBXNativeTarget "tktest-X11" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- F97258A90A86873D00096C78 /* Debug */,
- F9A9D1F20FC77787002A2BE3 /* Debug clang */,
- F9988AB80D814C7500B6B03B /* Debug llvm-gcc */,
- F9988AB40D814C6500B6B03B /* Debug gcc40 */,
- F90E36D80F3B5C8400810A10 /* DebugNoGC */,
- F97258AB0A86873D00096C78 /* DebugNoFixAndContinue */,
- F99EE73F0BE835310060D4AF /* DebugUnthreaded */,
- F98751320DE7B57E00B1C9EC /* DebugNoCF */,
- F98751360DE7B5A200B1C9EC /* DebugNoCFUnthreaded */,
- F93084390BB93D2800CD0B9E /* DebugMemCompile */,
- F99EE7400BE835310060D4AF /* DebugLeaks */,
- F9359B280DF212DA00E04F67 /* DebugGCov */,
- F97AED1D0B660B2100310EA2 /* Debug64bit */,
- F97258AA0A86873D00096C78 /* Release */,
- F97258AC0A86873D00096C78 /* ReleaseUniversal */,
- F9A9D1F60FC77799002A2BE3 /* ReleaseUniversal clang */,
- F9988BB80D81587400B6B03B /* ReleaseUniversal llvm-gcc */,
- F9988BB40D81586D00B6B03B /* ReleaseUniversal gcc40 */,
- F9EEED980C2FEFD300396116 /* ReleaseUniversal10.5SDK */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Debug;
- };
-/* End XCConfigurationList section */
- };
- rootObject = 08FB7793FE84155DC02AAC07 /* Project object */;
-}
diff --git a/tk8.6/macosx/Wish-Info.plist.in b/tk8.6/macosx/Wish-Info.plist.in
deleted file mode 100644
index d2fc388..0000000
--- a/tk8.6/macosx/Wish-Info.plist.in
+++ /dev/null
@@ -1,82 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<!--
- Copyright (c) 2005-2009 Daniel A. Steffen <das@users.sourceforge.net>
- Copyright 2008-2009, Apple Inc.
-
- See the file "license.terms" for information on usage and redistribution of
- this file, and for a DISCLAIMER OF ALL WARRANTIES.
--->
-<plist version="1.0">
-<dict>
- <key>CFBundleDevelopmentRegion</key>
- <string>English</string>
- <key>CFBundleDocumentTypes</key>
- <array>
- <dict>
- <key>CFBundleTypeExtensions</key>
- <array>
- <string>tcl</string>
- <string>TCL</string>
- <string>*</string>
- </array>
- <key>CFBundleTypeMIMETypes</key>
- <array>
- <string>application/x-tcl</string>
- <string>text/plain</string>
- </array>
- <key>CFBundleTypeName</key>
- <string>NSStringPboardType</string>
- <key>CFBundleTypeOSTypes</key>
- <array>
- <string>TEXT</string>
- <string>****</string>
- </array>
- <key>CFBundleTypeRole</key>
- <string>Viewer</string>
- </dict>
- </array>
- <key>CFBundleExecutable</key>
- <string>Wish</string>
- <key>CFBundleGetInfoString</key>
- <string>Wish Shell @TK_VERSION@@TK_PATCH_LEVEL@,
- Copyright © 1989-@TK_YEAR@ Tcl Core Team,
- Copyright © 1989-@TK_YEAR@ Contributors,
- Copyright © 2011-@TK_YEAR@ Kevin Walzer/WordTech
- Communications LLC,
- Copyright © 2014-@TK_YEAR@ Marc Culler,
- Copyright © 2002-@TK_YEAR@ Daniel A. Steffen,
- Copyright © 2001-2009 Apple Inc.,
- Copyright © 2001-2002 Jim Ingham &amp; Ian Reid</string>
- <key>CFBundleIconFile</key>
- <string>Wish.icns</string>
- <key>CFBundleIdentifier</key>
- <string>com.tcltk.wish</string>
- <key>CFBundleInfoDictionaryVersion</key>
- <string>6.0</string>
- <key>CFBundleLocalizations</key>
- <array>
- @CFBUNDLELOCALIZATIONS@
- </array>
- <key>CFBundleName</key>
- <string>Wish</string>
- <key>CFBundlePackageType</key>
- <string>APPL</string>
- <key>CFBundleShortVersionString</key>
- <string>@TK_VERSION@@TK_PATCH_LEVEL@</string>
- <key>CFBundleSignature</key>
- <string>WiSH</string>
- <key>CFBundleVersion</key>
- <string>@TK_VERSION@@TK_PATCH_LEVEL@</string>
- <key>LSMinimumSystemVersion</key>
- <string>10.6.0</string>
- <key>LSRequiresCarbon</key>
- <true/>
- <key>NSAppleScriptEnabled</key>
- <true/>
- <key>OSAScriptingDefinition</key>
- <string>Wish.sdef</string>
- <key>NSHighResolutionCapable</key>
- <string>True</string>
-</dict>
-</plist>
diff --git a/tk8.6/macosx/Wish.sdef b/tk8.6/macosx/Wish.sdef
deleted file mode 100644
index 8873e95..0000000
--- a/tk8.6/macosx/Wish.sdef
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE dictionary SYSTEM "file://localhost/System/Library/DTDs/sdef.dtd">
-<!--
- Copyright (c) 1997 Sun Microsystems, Inc.
- Copyright 2009 Kevin Walzer/WordTech Communications LLC.
- Copyright (c) 2009 Daniel A. Steffen <das@users.sourceforge.net>
-
- See the file "license.terms" for information on usage and redistribution of
- this file, and for a DISCLAIMER OF ALL WARRANTIES.
--->
-<dictionary title="Wish Terminology">
- <suite name="Standard Suite" code="reqd" description="Common commands for all applications.">
- <command name="open" code="aevtodoc" description="Open a document.">
- <direct-parameter description="The file(s) to be opened.">
- <type type="file"/>
- <type type="file" list="yes"/>
- </direct-parameter>
- </command>
- <command name="print" code="aevtpdoc" description="Print a document.">
- <direct-parameter description="The file(s) to be printed.">
- <type type="file" list="yes"/>
- <type type="specifier"/>
- </direct-parameter>
- </command>
- <command name="quit" code="aevtquit" description="Quit the application."/>
- </suite>
- <suite name="Wish Suite" code="WIsH" description="Commands for the Wish application.">
- <command name="do script" code="miscdosc" description="Execute a Tcl script.">
- <direct-parameter description="Script to execute" type="text">
- <type type="text"/>
- </direct-parameter>
- <result description="Result">
- <type type="text"/>
- </result>
- </command>
- </suite>
-</dictionary>
diff --git a/tk8.6/macosx/configure b/tk8.6/macosx/configure
deleted file mode 100755
index 7b89937..0000000
--- a/tk8.6/macosx/configure
+++ /dev/null
@@ -1,10132 +0,0 @@
-#! /bin/sh
-# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for tk 8.6.
-#
-#
-# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
-#
-#
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in #(
- *posix*) :
- set -o posix ;; #(
- *) :
- ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
- && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='print -r --'
- as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='printf %s\n'
- as_echo_n='printf %s'
-else
- if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
- as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
- as_echo_n='/usr/ucb/echo -n'
- else
- as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
- as_echo_n_body='eval
- arg=$1;
- case $arg in #(
- *"$as_nl"*)
- expr "X$arg" : "X\\(.*\\)$as_nl";
- arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
- esac;
- expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
- '
- export as_echo_n_body
- as_echo_n='sh -c $as_echo_n_body as_echo'
- fi
- export as_echo_body
- as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- PATH_SEPARATOR=:
- (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
- (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
- PATH_SEPARATOR=';'
- }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order. Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" "" $as_nl"
-
-# Find who we are. Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
- as_myself=$0
-fi
-if test ! -f "$as_myself"; then
- $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
- exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there. '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
- && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-# Use a proper internal environment variable to ensure we don't fall
- # into an infinite loop, continuously re-executing ourselves.
- if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
- _as_can_reexec=no; export _as_can_reexec;
- # We cannot yet assume a decent shell, so we have to provide a
-# neutralization value for shells without unset; and this also
-# works around shells that cannot unset nonexistent variables.
-# Preserve -v and -x to the replacement shell.
-BASH_ENV=/dev/null
-ENV=/dev/null
-(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-case $- in # ((((
- *v*x* | *x*v* ) as_opts=-vx ;;
- *v* ) as_opts=-v ;;
- *x* ) as_opts=-x ;;
- * ) as_opts= ;;
-esac
-exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
-# Admittedly, this is quite paranoid, since all the known shells bail
-# out after a failed `exec'.
-$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
-as_fn_exit 255
- fi
- # We don't want this to propagate to other subprocesses.
- { _as_can_reexec=; unset _as_can_reexec;}
-if test "x$CONFIG_SHELL" = x; then
- as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '\${1+\"\$@\"}'='\"\$@\"'
- setopt NO_GLOB_SUBST
-else
- case \`(set -o) 2>/dev/null\` in #(
- *posix*) :
- set -o posix ;; #(
- *) :
- ;;
-esac
-fi
-"
- as_required="as_fn_return () { (exit \$1); }
-as_fn_success () { as_fn_return 0; }
-as_fn_failure () { as_fn_return 1; }
-as_fn_ret_success () { return 0; }
-as_fn_ret_failure () { return 1; }
-
-exitcode=0
-as_fn_success || { exitcode=1; echo as_fn_success failed.; }
-as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
-as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
-as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
-if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
-
-else
- exitcode=1; echo positional parameters were not saved.
-fi
-test x\$exitcode = x0 || exit 1
-test -x / || exit 1"
- as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
- as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
- eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
- test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
-test \$(( 1 + 1 )) = 2 || exit 1"
- if (eval "$as_required") 2>/dev/null; then :
- as_have_required=yes
-else
- as_have_required=no
-fi
- if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
-
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-as_found=false
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- as_found=:
- case $as_dir in #(
- /*)
- for as_base in sh bash ksh sh5; do
- # Try only shells that exist, to save several forks.
- as_shell=$as_dir/$as_base
- if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
- { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
- CONFIG_SHELL=$as_shell as_have_required=yes
- if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
- break 2
-fi
-fi
- done;;
- esac
- as_found=false
-done
-$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
- { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
- CONFIG_SHELL=$SHELL as_have_required=yes
-fi; }
-IFS=$as_save_IFS
-
-
- if test "x$CONFIG_SHELL" != x; then :
- export CONFIG_SHELL
- # We cannot yet assume a decent shell, so we have to provide a
-# neutralization value for shells without unset; and this also
-# works around shells that cannot unset nonexistent variables.
-# Preserve -v and -x to the replacement shell.
-BASH_ENV=/dev/null
-ENV=/dev/null
-(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-case $- in # ((((
- *v*x* | *x*v* ) as_opts=-vx ;;
- *v* ) as_opts=-v ;;
- *x* ) as_opts=-x ;;
- * ) as_opts= ;;
-esac
-exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
-# Admittedly, this is quite paranoid, since all the known shells bail
-# out after a failed `exec'.
-$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
-exit 255
-fi
-
- if test x$as_have_required = xno; then :
- $as_echo "$0: This script requires a shell more modern than all"
- $as_echo "$0: the shells that I found on your system."
- if test x${ZSH_VERSION+set} = xset ; then
- $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
- $as_echo "$0: be upgraded to zsh 4.3.4 or later."
- else
- $as_echo "$0: Please tell bug-autoconf@gnu.org about your system,
-$0: including any error possibly output before this
-$0: message. Then install a modern shell, or manually run
-$0: the script under such a shell if you do have one."
- fi
- exit 1
-fi
-fi
-fi
-SHELL=${CONFIG_SHELL-/bin/sh}
-export SHELL
-# Unset more variables known to interfere with behavior of common tools.
-CLICOLOR_FORCE= GREP_OPTIONS=
-unset CLICOLOR_FORCE GREP_OPTIONS
-
-## --------------------- ##
-## M4sh Shell Functions. ##
-## --------------------- ##
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
- { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
- return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
- set +e
- as_fn_set_status $1
- exit $1
-} # as_fn_exit
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
- case $as_dir in #(
- -*) as_dir=./$as_dir;;
- esac
- test -d "$as_dir" || eval $as_mkdir_p || {
- as_dirs=
- while :; do
- case $as_dir in #(
- *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
- *) as_qdir=$as_dir;;
- esac
- as_dirs="'$as_qdir' $as_dirs"
- as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- test -d "$as_dir" && break
- done
- test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-
-# as_fn_executable_p FILE
-# -----------------------
-# Test if FILE is an executable regular file.
-as_fn_executable_p ()
-{
- test -f "$1" && test -x "$1"
-} # as_fn_executable_p
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
- eval 'as_fn_append ()
- {
- eval $1+=\$2
- }'
-else
- as_fn_append ()
- {
- eval $1=\$$1\$2
- }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
- eval 'as_fn_arith ()
- {
- as_val=$(( $* ))
- }'
-else
- as_fn_arith ()
- {
- as_val=`expr "$@" || test $? -eq 1`
- }
-fi # as_fn_arith
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
- as_status=$1; test $as_status -eq 0 && as_status=1
- if test "$4"; then
- as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
- fi
- $as_echo "$as_me: error: $2" >&2
- as_fn_exit $as_status
-} # as_fn_error
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
- as_basename=basename
-else
- as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
- as_dirname=dirname
-else
- as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{
- s//\1/
- q
- }
- /^X\/\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\/\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-
- as_lineno_1=$LINENO as_lineno_1a=$LINENO
- as_lineno_2=$LINENO as_lineno_2a=$LINENO
- eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
- test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
- # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-)
- sed -n '
- p
- /[$]LINENO/=
- ' <$as_myself |
- sed '
- s/[$]LINENO.*/&-/
- t lineno
- b
- :lineno
- N
- :loop
- s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
- t loop
- s/-\n.*//
- ' >$as_me.lineno &&
- chmod +x "$as_me.lineno" ||
- { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
-
- # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
- # already done that, so ensure we don't try to do so again and fall
- # in an infinite loop. This has already happened in practice.
- _as_can_reexec=no; export _as_can_reexec
- # Don't try to exec as it changes $[0], causing all sort of problems
- # (the dirname of $[0] is not the place where we might find the
- # original and so on. Autoconf is especially sensitive to this).
- . "./$as_me.lineno"
- # Exit status is that of the last command.
- exit
-}
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
- case `echo 'xy\c'` in
- *c*) ECHO_T=' ';; # ECHO_T is single tab character.
- xy) ECHO_C='\c';;
- *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
- ECHO_T=' ';;
- esac;;
-*)
- ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
- rm -f conf$$.dir/conf$$.file
-else
- rm -f conf$$.dir
- mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
- if ln -s conf$$.file conf$$ 2>/dev/null; then
- as_ln_s='ln -s'
- # ... but there are two gotchas:
- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -pR'.
- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -pR'
- elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
- else
- as_ln_s='cp -pR'
- fi
-else
- as_ln_s='cp -pR'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p='mkdir -p "$as_dir"'
-else
- test -d ./-p && rmdir ./-p
- as_mkdir_p=false
-fi
-
-as_test_x='test -x'
-as_executable_p=as_fn_executable_p
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-test -n "$DJDIR" || exec 7<&0 </dev/null
-exec 6>&1
-
-# Name of the host.
-# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
-# so uname gets run too.
-ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-
-#
-# Initializations.
-#
-ac_default_prefix=/usr/local
-ac_clean_files=
-ac_config_libobj_dir=.
-LIBOBJS=
-cross_compiling=no
-subdirs=
-MFLAGS=
-MAKEFLAGS=
-
-# Identity of this package.
-PACKAGE_NAME='tk'
-PACKAGE_TARNAME='tk'
-PACKAGE_VERSION='8.6'
-PACKAGE_STRING='tk 8.6'
-PACKAGE_BUGREPORT=''
-PACKAGE_URL=''
-
-# Factoring default headers for most tests.
-ac_includes_default="\
-#include <stdio.h>
-#ifdef HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-# include <sys/stat.h>
-#endif
-#ifdef STDC_HEADERS
-# include <stdlib.h>
-# include <stddef.h>
-#else
-# ifdef HAVE_STDLIB_H
-# include <stdlib.h>
-# endif
-#endif
-#ifdef HAVE_STRING_H
-# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
-# include <memory.h>
-# endif
-# include <string.h>
-#endif
-#ifdef HAVE_STRINGS_H
-# include <strings.h>
-#endif
-#ifdef HAVE_INTTYPES_H
-# include <inttypes.h>
-#endif
-#ifdef HAVE_STDINT_H
-# include <stdint.h>
-#endif
-#ifdef HAVE_UNISTD_H
-# include <unistd.h>
-#endif"
-
-ac_subst_vars='LTLIBOBJS
-REZ_FLAGS
-REZ
-APP_RSRC_FILE
-LIB_RSRC_FILE
-WISH_RSRC_FILE
-TK_RSRC_FILE
-CFBUNDLELOCALIZATIONS
-EXTRA_WISH_LIBS
-EXTRA_BUILD_HTML
-EXTRA_INSTALL_BINARIES
-EXTRA_INSTALL
-EXTRA_APP_CC_SWITCHES
-EXTRA_CC_SWITCHES
-HTML_DIR
-PRIVATE_INCLUDE_DIR
-LIB_RUNTIME_DIR
-TK_LIBRARY
-TK_PKG_DIR
-TK_WINDOWINGSYSTEM
-LOCALES
-XLIBSW
-XINCLUDES
-TCL_STUB_FLAGS
-TK_BUILD_LIB_SPEC
-LD_LIBRARY_PATH_VAR
-TK_SHARED_BUILD
-TK_SRC_DIR
-TK_BUILD_STUB_LIB_PATH
-TK_BUILD_STUB_LIB_SPEC
-TK_INCLUDE_SPEC
-TK_STUB_LIB_PATH
-TK_STUB_LIB_SPEC
-TK_STUB_LIB_FLAG
-TK_STUB_LIB_FILE
-TK_LIB_SPEC
-TK_LIB_FLAG
-TK_LIB_FILE
-TK_YEAR
-TK_PATCH_LEVEL
-TK_MINOR_VERSION
-TK_MAJOR_VERSION
-TK_VERSION
-UNIX_FONT_OBJS
-XFT_LIBS
-XFT_CFLAGS
-XMKMF
-LDFLAGS_DEFAULT
-CFLAGS_DEFAULT
-INSTALL_STUB_LIB
-DLL_INSTALL_DIR
-INSTALL_LIB
-MAKE_STUB_LIB
-MAKE_LIB
-SHLIB_SUFFIX
-SHLIB_CFLAGS
-SHLIB_LD_LIBS
-TK_SHLIB_LD_EXTRAS
-TCL_SHLIB_LD_EXTRAS
-SHLIB_LD
-STLIB_LD
-LD_SEARCH_FLAGS
-CC_SEARCH_FLAGS
-LDFLAGS_OPTIMIZE
-LDFLAGS_DEBUG
-CFLAGS_WARNING
-CFLAGS_OPTIMIZE
-CFLAGS_DEBUG
-LDAIX_SRC
-PLAT_SRCS
-PLAT_OBJS
-DL_OBJS
-DL_LIBS
-TCL_LIBS
-LIBOBJS
-AR
-RANLIB
-TCL_THREADS
-EGREP
-GREP
-CPP
-OBJEXT
-EXEEXT
-ac_ct_CC
-CPPFLAGS
-LDFLAGS
-CFLAGS
-CC
-MAN_FLAGS
-BUILD_TCLSH
-TCLSH_PROG
-TCL_STUB_LIB_SPEC
-TCL_STUB_LIB_FLAG
-TCL_STUB_LIB_FILE
-TCL_LIB_SPEC
-TCL_LIB_FLAG
-TCL_LIB_FILE
-TCL_SRC_DIR
-TCL_BIN_DIR
-TCL_PATCH_LEVEL
-TCL_VERSION
-target_alias
-host_alias
-build_alias
-LIBS
-ECHO_T
-ECHO_N
-ECHO_C
-DEFS
-mandir
-localedir
-libdir
-psdir
-pdfdir
-dvidir
-htmldir
-infodir
-docdir
-oldincludedir
-includedir
-localstatedir
-sharedstatedir
-sysconfdir
-datadir
-datarootdir
-libexecdir
-sbindir
-bindir
-program_transform_name
-prefix
-exec_prefix
-PACKAGE_URL
-PACKAGE_BUGREPORT
-PACKAGE_STRING
-PACKAGE_VERSION
-PACKAGE_TARNAME
-PACKAGE_NAME
-PATH_SEPARATOR
-SHELL'
-ac_subst_files=''
-ac_user_opts='
-enable_option_checking
-with_tcl
-enable_man_symlinks
-enable_man_compression
-enable_man_suffix
-enable_threads
-enable_shared
-enable_64bit
-enable_64bit_vis
-enable_rpath
-enable_corefoundation
-enable_load
-enable_symbols
-enable_aqua
-with_x
-enable_xft
-enable_xss
-enable_framework
-'
- ac_precious_vars='build_alias
-host_alias
-target_alias
-CC
-CFLAGS
-LDFLAGS
-LIBS
-CPPFLAGS
-CPP
-XMKMF'
-
-
-# Initialize some variables set by options.
-ac_init_help=
-ac_init_version=false
-ac_unrecognized_opts=
-ac_unrecognized_sep=
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-cache_file=/dev/null
-exec_prefix=NONE
-no_create=
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-verbose=
-x_includes=NONE
-x_libraries=NONE
-
-# Installation directory options.
-# These are left unexpanded so users can "make install exec_prefix=/foo"
-# and all the variables that are supposed to be based on exec_prefix
-# by default will actually change.
-# Use braces instead of parens because sh, perl, etc. also accept them.
-# (The list follows the same order as the GNU Coding Standards.)
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datarootdir='${prefix}/share'
-datadir='${datarootdir}'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
-infodir='${datarootdir}/info'
-htmldir='${docdir}'
-dvidir='${docdir}'
-pdfdir='${docdir}'
-psdir='${docdir}'
-libdir='${exec_prefix}/lib'
-localedir='${datarootdir}/locale'
-mandir='${datarootdir}/man'
-
-ac_prev=
-ac_dashdash=
-for ac_option
-do
- # If the previous option needs an argument, assign it.
- if test -n "$ac_prev"; then
- eval $ac_prev=\$ac_option
- ac_prev=
- continue
- fi
-
- case $ac_option in
- *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
- *=) ac_optarg= ;;
- *) ac_optarg=yes ;;
- esac
-
- # Accept the important Cygnus configure options, so we can diagnose typos.
-
- case $ac_dashdash$ac_option in
- --)
- ac_dashdash=yes ;;
-
- -bindir | --bindir | --bindi | --bind | --bin | --bi)
- ac_prev=bindir ;;
- -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
- bindir=$ac_optarg ;;
-
- -build | --build | --buil | --bui | --bu)
- ac_prev=build_alias ;;
- -build=* | --build=* | --buil=* | --bui=* | --bu=*)
- build_alias=$ac_optarg ;;
-
- -cache-file | --cache-file | --cache-fil | --cache-fi \
- | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
- ac_prev=cache_file ;;
- -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
- | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
- cache_file=$ac_optarg ;;
-
- --config-cache | -C)
- cache_file=config.cache ;;
-
- -datadir | --datadir | --datadi | --datad)
- ac_prev=datadir ;;
- -datadir=* | --datadir=* | --datadi=* | --datad=*)
- datadir=$ac_optarg ;;
-
- -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
- | --dataroo | --dataro | --datar)
- ac_prev=datarootdir ;;
- -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
- | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
- datarootdir=$ac_optarg ;;
-
- -disable-* | --disable-*)
- ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid feature name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"enable_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval enable_$ac_useropt=no ;;
-
- -docdir | --docdir | --docdi | --doc | --do)
- ac_prev=docdir ;;
- -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
- docdir=$ac_optarg ;;
-
- -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
- ac_prev=dvidir ;;
- -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
- dvidir=$ac_optarg ;;
-
- -enable-* | --enable-*)
- ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid feature name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"enable_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval enable_$ac_useropt=\$ac_optarg ;;
-
- -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
- | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
- | --exec | --exe | --ex)
- ac_prev=exec_prefix ;;
- -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
- | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
- | --exec=* | --exe=* | --ex=*)
- exec_prefix=$ac_optarg ;;
-
- -gas | --gas | --ga | --g)
- # Obsolete; use --with-gas.
- with_gas=yes ;;
-
- -help | --help | --hel | --he | -h)
- ac_init_help=long ;;
- -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
- ac_init_help=recursive ;;
- -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
- ac_init_help=short ;;
-
- -host | --host | --hos | --ho)
- ac_prev=host_alias ;;
- -host=* | --host=* | --hos=* | --ho=*)
- host_alias=$ac_optarg ;;
-
- -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
- ac_prev=htmldir ;;
- -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
- | --ht=*)
- htmldir=$ac_optarg ;;
-
- -includedir | --includedir | --includedi | --included | --include \
- | --includ | --inclu | --incl | --inc)
- ac_prev=includedir ;;
- -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
- | --includ=* | --inclu=* | --incl=* | --inc=*)
- includedir=$ac_optarg ;;
-
- -infodir | --infodir | --infodi | --infod | --info | --inf)
- ac_prev=infodir ;;
- -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
- infodir=$ac_optarg ;;
-
- -libdir | --libdir | --libdi | --libd)
- ac_prev=libdir ;;
- -libdir=* | --libdir=* | --libdi=* | --libd=*)
- libdir=$ac_optarg ;;
-
- -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
- | --libexe | --libex | --libe)
- ac_prev=libexecdir ;;
- -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
- | --libexe=* | --libex=* | --libe=*)
- libexecdir=$ac_optarg ;;
-
- -localedir | --localedir | --localedi | --localed | --locale)
- ac_prev=localedir ;;
- -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
- localedir=$ac_optarg ;;
-
- -localstatedir | --localstatedir | --localstatedi | --localstated \
- | --localstate | --localstat | --localsta | --localst | --locals)
- ac_prev=localstatedir ;;
- -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
- | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
- localstatedir=$ac_optarg ;;
-
- -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
- ac_prev=mandir ;;
- -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
- mandir=$ac_optarg ;;
-
- -nfp | --nfp | --nf)
- # Obsolete; use --without-fp.
- with_fp=no ;;
-
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c | -n)
- no_create=yes ;;
-
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
- no_recursion=yes ;;
-
- -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
- | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
- | --oldin | --oldi | --old | --ol | --o)
- ac_prev=oldincludedir ;;
- -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
- | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
- | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
- oldincludedir=$ac_optarg ;;
-
- -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
- ac_prev=prefix ;;
- -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
- prefix=$ac_optarg ;;
-
- -program-prefix | --program-prefix | --program-prefi | --program-pref \
- | --program-pre | --program-pr | --program-p)
- ac_prev=program_prefix ;;
- -program-prefix=* | --program-prefix=* | --program-prefi=* \
- | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
- program_prefix=$ac_optarg ;;
-
- -program-suffix | --program-suffix | --program-suffi | --program-suff \
- | --program-suf | --program-su | --program-s)
- ac_prev=program_suffix ;;
- -program-suffix=* | --program-suffix=* | --program-suffi=* \
- | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
- program_suffix=$ac_optarg ;;
-
- -program-transform-name | --program-transform-name \
- | --program-transform-nam | --program-transform-na \
- | --program-transform-n | --program-transform- \
- | --program-transform | --program-transfor \
- | --program-transfo | --program-transf \
- | --program-trans | --program-tran \
- | --progr-tra | --program-tr | --program-t)
- ac_prev=program_transform_name ;;
- -program-transform-name=* | --program-transform-name=* \
- | --program-transform-nam=* | --program-transform-na=* \
- | --program-transform-n=* | --program-transform-=* \
- | --program-transform=* | --program-transfor=* \
- | --program-transfo=* | --program-transf=* \
- | --program-trans=* | --program-tran=* \
- | --progr-tra=* | --program-tr=* | --program-t=*)
- program_transform_name=$ac_optarg ;;
-
- -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
- ac_prev=pdfdir ;;
- -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
- pdfdir=$ac_optarg ;;
-
- -psdir | --psdir | --psdi | --psd | --ps)
- ac_prev=psdir ;;
- -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
- psdir=$ac_optarg ;;
-
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- silent=yes ;;
-
- -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
- ac_prev=sbindir ;;
- -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
- | --sbi=* | --sb=*)
- sbindir=$ac_optarg ;;
-
- -sharedstatedir | --sharedstatedir | --sharedstatedi \
- | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
- | --sharedst | --shareds | --shared | --share | --shar \
- | --sha | --sh)
- ac_prev=sharedstatedir ;;
- -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
- | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
- | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
- | --sha=* | --sh=*)
- sharedstatedir=$ac_optarg ;;
-
- -site | --site | --sit)
- ac_prev=site ;;
- -site=* | --site=* | --sit=*)
- site=$ac_optarg ;;
-
- -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
- ac_prev=srcdir ;;
- -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
- srcdir=$ac_optarg ;;
-
- -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
- | --syscon | --sysco | --sysc | --sys | --sy)
- ac_prev=sysconfdir ;;
- -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
- | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
- sysconfdir=$ac_optarg ;;
-
- -target | --target | --targe | --targ | --tar | --ta | --t)
- ac_prev=target_alias ;;
- -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
- target_alias=$ac_optarg ;;
-
- -v | -verbose | --verbose | --verbos | --verbo | --verb)
- verbose=yes ;;
-
- -version | --version | --versio | --versi | --vers | -V)
- ac_init_version=: ;;
-
- -with-* | --with-*)
- ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid package name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"with_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval with_$ac_useropt=\$ac_optarg ;;
-
- -without-* | --without-*)
- ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid package name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"with_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval with_$ac_useropt=no ;;
-
- --x)
- # Obsolete; use --with-x.
- with_x=yes ;;
-
- -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
- | --x-incl | --x-inc | --x-in | --x-i)
- ac_prev=x_includes ;;
- -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
- | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
- x_includes=$ac_optarg ;;
-
- -x-libraries | --x-libraries | --x-librarie | --x-librari \
- | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
- ac_prev=x_libraries ;;
- -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
- | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
- x_libraries=$ac_optarg ;;
-
- -*) as_fn_error $? "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information"
- ;;
-
- *=*)
- ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
- # Reject names that are not valid shell variable names.
- case $ac_envvar in #(
- '' | [0-9]* | *[!_$as_cr_alnum]* )
- as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
- esac
- eval $ac_envvar=\$ac_optarg
- export $ac_envvar ;;
-
- *)
- # FIXME: should be removed in autoconf 3.0.
- $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
- expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
- : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
- ;;
-
- esac
-done
-
-if test -n "$ac_prev"; then
- ac_option=--`echo $ac_prev | sed 's/_/-/g'`
- as_fn_error $? "missing argument to $ac_option"
-fi
-
-if test -n "$ac_unrecognized_opts"; then
- case $enable_option_checking in
- no) ;;
- fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
- *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
- esac
-fi
-
-# Check all directory arguments for consistency.
-for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
- datadir sysconfdir sharedstatedir localstatedir includedir \
- oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
- libdir localedir mandir
-do
- eval ac_val=\$$ac_var
- # Remove trailing slashes.
- case $ac_val in
- */ )
- ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
- eval $ac_var=\$ac_val;;
- esac
- # Be sure to have absolute directory names.
- case $ac_val in
- [\\/$]* | ?:[\\/]* ) continue;;
- NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
- esac
- as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
-done
-
-# There might be people who depend on the old broken behavior: `$host'
-# used to hold the argument of --host etc.
-# FIXME: To remove some day.
-build=$build_alias
-host=$host_alias
-target=$target_alias
-
-# FIXME: To remove some day.
-if test "x$host_alias" != x; then
- if test "x$build_alias" = x; then
- cross_compiling=maybe
- elif test "x$build_alias" != "x$host_alias"; then
- cross_compiling=yes
- fi
-fi
-
-ac_tool_prefix=
-test -n "$host_alias" && ac_tool_prefix=$host_alias-
-
-test "$silent" = yes && exec 6>/dev/null
-
-
-ac_pwd=`pwd` && test -n "$ac_pwd" &&
-ac_ls_di=`ls -di .` &&
-ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
- as_fn_error $? "working directory cannot be determined"
-test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
- as_fn_error $? "pwd does not report name of working directory"
-
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
- ac_srcdir_defaulted=yes
- # Try the directory containing this script, then the parent directory.
- ac_confdir=`$as_dirname -- "$as_myself" ||
-$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_myself" : 'X\(//\)[^/]' \| \
- X"$as_myself" : 'X\(//\)$' \| \
- X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_myself" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- srcdir=$ac_confdir
- if test ! -r "$srcdir/$ac_unique_file"; then
- srcdir=..
- fi
-else
- ac_srcdir_defaulted=no
-fi
-if test ! -r "$srcdir/$ac_unique_file"; then
- test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
- as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
-fi
-ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
-ac_abs_confdir=`(
- cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
- pwd)`
-# When building in place, set srcdir=.
-if test "$ac_abs_confdir" = "$ac_pwd"; then
- srcdir=.
-fi
-# Remove unnecessary trailing slashes from srcdir.
-# Double slashes in file names in object file debugging info
-# mess up M-x gdb in Emacs.
-case $srcdir in
-*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
-esac
-for ac_var in $ac_precious_vars; do
- eval ac_env_${ac_var}_set=\${${ac_var}+set}
- eval ac_env_${ac_var}_value=\$${ac_var}
- eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
- eval ac_cv_env_${ac_var}_value=\$${ac_var}
-done
-
-#
-# Report the --help message.
-#
-if test "$ac_init_help" = "long"; then
- # Omit some internal or obsolete options to make the list less imposing.
- # This message is too long to be a string in the A/UX 3.1 sh.
- cat <<_ACEOF
-\`configure' configures tk 8.6 to adapt to many kinds of systems.
-
-Usage: $0 [OPTION]... [VAR=VALUE]...
-
-To assign environment variables (e.g., CC, CFLAGS...), specify them as
-VAR=VALUE. See below for descriptions of some of the useful variables.
-
-Defaults for the options are specified in brackets.
-
-Configuration:
- -h, --help display this help and exit
- --help=short display options specific to this package
- --help=recursive display the short help of all the included packages
- -V, --version display version information and exit
- -q, --quiet, --silent do not print \`checking ...' messages
- --cache-file=FILE cache test results in FILE [disabled]
- -C, --config-cache alias for \`--cache-file=config.cache'
- -n, --no-create do not create output files
- --srcdir=DIR find the sources in DIR [configure dir or \`..']
-
-Installation directories:
- --prefix=PREFIX install architecture-independent files in PREFIX
- [$ac_default_prefix]
- --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
- [PREFIX]
-
-By default, \`make install' will install all the files in
-\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
-an installation prefix other than \`$ac_default_prefix' using \`--prefix',
-for instance \`--prefix=\$HOME'.
-
-For better control, use the options below.
-
-Fine tuning of the installation directories:
- --bindir=DIR user executables [EPREFIX/bin]
- --sbindir=DIR system admin executables [EPREFIX/sbin]
- --libexecdir=DIR program executables [EPREFIX/libexec]
- --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
- --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
- --localstatedir=DIR modifiable single-machine data [PREFIX/var]
- --libdir=DIR object code libraries [EPREFIX/lib]
- --includedir=DIR C header files [PREFIX/include]
- --oldincludedir=DIR C header files for non-gcc [/usr/include]
- --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
- --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
- --infodir=DIR info documentation [DATAROOTDIR/info]
- --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
- --mandir=DIR man documentation [DATAROOTDIR/man]
- --docdir=DIR documentation root [DATAROOTDIR/doc/tk]
- --htmldir=DIR html documentation [DOCDIR]
- --dvidir=DIR dvi documentation [DOCDIR]
- --pdfdir=DIR pdf documentation [DOCDIR]
- --psdir=DIR ps documentation [DOCDIR]
-_ACEOF
-
- cat <<\_ACEOF
-
-X features:
- --x-includes=DIR X include files are in DIR
- --x-libraries=DIR X library files are in DIR
-_ACEOF
-fi
-
-if test -n "$ac_init_help"; then
- case $ac_init_help in
- short | recursive ) echo "Configuration of tk 8.6:";;
- esac
- cat <<\_ACEOF
-
-Optional Features:
- --disable-option-checking ignore unrecognized --enable/--with options
- --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
- --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- --enable-man-symlinks use symlinks for the manpages (default: off)
- --enable-man-compression=PROG
- compress the manpages with PROG (default: off)
- --enable-man-suffix=STRING
- use STRING as a suffix to manpage file names
- (default: no, tk if enabled without
- specifying STRING)
- --enable-threads build with threads (default: on)
- --enable-shared build and link with shared libraries (default: on)
- --enable-64bit enable 64bit support (default: off)
- --enable-64bit-vis enable 64bit Sparc VIS support (default: off)
- --disable-rpath disable rpath support (default: on)
- --enable-corefoundation use CoreFoundation API on MacOSX (default: on)
- --enable-load allow dynamic loading and "load" command (default:
- on)
- --enable-symbols build with debugging symbols (default: off)
- --enable-aqua=yes|no use Aqua windowingsystem on Mac OS X (default: no)
- --enable-xft use freetype/fontconfig/xft (default: on)
- --enable-xss use XScreenSaver for activity timer (default: on)
- --enable-framework package shared libraries in MacOSX frameworks
- (default: off)
-
-Optional Packages:
- --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
- --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
- --with-tcl directory containing tcl configuration
- (tclConfig.sh)
- --with-x use the X Window System
-
-Some influential environment variables:
- CC C compiler command
- CFLAGS C compiler flags
- LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
- nonstandard directory <lib dir>
- LIBS libraries to pass to the linker, e.g. -l<library>
- CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
- you have headers in a nonstandard directory <include dir>
- CPP C preprocessor
- XMKMF Path to xmkmf, Makefile generator for X Window System
-
-Use these variables to override the choices made by `configure' or to help
-it to find libraries and programs with nonstandard names/locations.
-
-Report bugs to the package provider.
-_ACEOF
-ac_status=$?
-fi
-
-if test "$ac_init_help" = "recursive"; then
- # If there are subdirs, report their specific --help.
- for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
- test -d "$ac_dir" ||
- { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
- continue
- ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
- ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
- # A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
- case $ac_top_builddir_sub in
- "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
- *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
- esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
- .) # We are building in place.
- ac_srcdir=.
- ac_top_srcdir=$ac_top_builddir_sub
- ac_abs_top_srcdir=$ac_pwd ;;
- [\\/]* | ?:[\\/]* ) # Absolute name.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir
- ac_abs_top_srcdir=$srcdir ;;
- *) # Relative name.
- ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_build_prefix$srcdir
- ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
- cd "$ac_dir" || { ac_status=$?; continue; }
- # Check for guested configure.
- if test -f "$ac_srcdir/configure.gnu"; then
- echo &&
- $SHELL "$ac_srcdir/configure.gnu" --help=recursive
- elif test -f "$ac_srcdir/configure"; then
- echo &&
- $SHELL "$ac_srcdir/configure" --help=recursive
- else
- $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
- fi || ac_status=$?
- cd "$ac_pwd" || { ac_status=$?; break; }
- done
-fi
-
-test -n "$ac_init_help" && exit $ac_status
-if $ac_init_version; then
- cat <<\_ACEOF
-tk configure 8.6
-generated by GNU Autoconf 2.69
-
-Copyright (C) 2012 Free Software Foundation, Inc.
-This configure script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it.
-_ACEOF
- exit
-fi
-
-## ------------------------ ##
-## Autoconf initialization. ##
-## ------------------------ ##
-
-# ac_fn_c_try_compile LINENO
-# --------------------------
-# Try to compile conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_compile ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- rm -f conftest.$ac_objext
- if { { ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compile") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then :
- ac_retval=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1
-fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_compile
-
-# ac_fn_c_try_cpp LINENO
-# ----------------------
-# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_cpp ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if { { ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } > conftest.i && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then :
- ac_retval=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1
-fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_cpp
-
-# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists, giving a warning if it cannot be compiled using
-# the include files in INCLUDES and setting the cache variable VAR
-# accordingly.
-ac_fn_c_check_header_mongrel ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if eval \${$3+:} false; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-else
- # Is the header compilable?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
-$as_echo_n "checking $2 usability... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_header_compiler=yes
-else
- ac_header_compiler=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
-$as_echo_n "checking $2 presence... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <$2>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
- ac_header_preproc=yes
-else
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
-$as_echo "$ac_header_preproc" >&6; }
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
- yes:no: )
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
- ;;
- no:yes:* )
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
- ;;
-esac
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- eval "$3=\$ac_header_compiler"
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_header_mongrel
-
-# ac_fn_c_try_run LINENO
-# ----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
-# that executables *can* be run.
-ac_fn_c_try_run ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
- { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then :
- ac_retval=0
-else
- $as_echo "$as_me: program exited with status $ac_status" >&5
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=$ac_status
-fi
- rm -rf conftest.dSYM conftest_ipa8_conftest.oo
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_run
-
-# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists and can be compiled using the include files in
-# INCLUDES, setting the cache variable VAR accordingly.
-ac_fn_c_check_header_compile ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- eval "$3=yes"
-else
- eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_header_compile
-
-# ac_fn_c_try_link LINENO
-# -----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_link ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- rm -f conftest.$ac_objext conftest$ac_exeext
- if { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext && {
- test "$cross_compiling" = yes ||
- test -x conftest$ac_exeext
- }; then :
- ac_retval=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1
-fi
- # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
- # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
- # interfere with the next link command; also delete a directory that is
- # left behind by Apple's compiler. We do this before executing the actions.
- rm -rf conftest.dSYM conftest_ipa8_conftest.oo
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_link
-
-# ac_fn_c_check_func LINENO FUNC VAR
-# ----------------------------------
-# Tests whether FUNC exists, setting the cache variable VAR accordingly
-ac_fn_c_check_func ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $2 innocuous_$2
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $2 (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $2
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $2 ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined __stub_$2 || defined __stub___$2
-choke me
-#endif
-
-int
-main ()
-{
-return $2 ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- eval "$3=yes"
-else
- eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_func
-
-# ac_fn_c_check_type LINENO TYPE VAR INCLUDES
-# -------------------------------------------
-# Tests whether TYPE exists after having included INCLUDES, setting cache
-# variable VAR accordingly.
-ac_fn_c_check_type ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- eval "$3=no"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-if (sizeof ($2))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-if (sizeof (($2)))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
- eval "$3=yes"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_type
-cat >config.log <<_ACEOF
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-
-It was created by tk $as_me 8.6, which was
-generated by GNU Autoconf 2.69. Invocation command line was
-
- $ $0 $@
-
-_ACEOF
-exec 5>>config.log
-{
-cat <<_ASUNAME
-## --------- ##
-## Platform. ##
-## --------- ##
-
-hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
-/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
-
-/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
-/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
-/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
-/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
-/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
-
-_ASUNAME
-
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- $as_echo "PATH: $as_dir"
- done
-IFS=$as_save_IFS
-
-} >&5
-
-cat >&5 <<_ACEOF
-
-
-## ----------- ##
-## Core tests. ##
-## ----------- ##
-
-_ACEOF
-
-
-# Keep a trace of the command line.
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Strip out --silent because we don't want to record it for future runs.
-# Also quote any args containing shell meta-characters.
-# Make two passes to allow for proper duplicate-argument suppression.
-ac_configure_args=
-ac_configure_args0=
-ac_configure_args1=
-ac_must_keep_next=false
-for ac_pass in 1 2
-do
- for ac_arg
- do
- case $ac_arg in
- -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- continue ;;
- *\'*)
- ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
- esac
- case $ac_pass in
- 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
- 2)
- as_fn_append ac_configure_args1 " '$ac_arg'"
- if test $ac_must_keep_next = true; then
- ac_must_keep_next=false # Got value, back to normal.
- else
- case $ac_arg in
- *=* | --config-cache | -C | -disable-* | --disable-* \
- | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
- | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
- | -with-* | --with-* | -without-* | --without-* | --x)
- case "$ac_configure_args0 " in
- "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
- esac
- ;;
- -* ) ac_must_keep_next=true ;;
- esac
- fi
- as_fn_append ac_configure_args " '$ac_arg'"
- ;;
- esac
- done
-done
-{ ac_configure_args0=; unset ac_configure_args0;}
-{ ac_configure_args1=; unset ac_configure_args1;}
-
-# When interrupted or exit'd, cleanup temporary files, and complete
-# config.log. We remove comments because anyway the quotes in there
-# would cause problems or look ugly.
-# WARNING: Use '\'' to represent an apostrophe within the trap.
-# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
-trap 'exit_status=$?
- # Save into config.log some information that might help in debugging.
- {
- echo
-
- $as_echo "## ---------------- ##
-## Cache variables. ##
-## ---------------- ##"
- echo
- # The following way of writing the cache mishandles newlines in values,
-(
- for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
- eval ac_val=\$$ac_var
- case $ac_val in #(
- *${as_nl}*)
- case $ac_var in #(
- *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
- esac
- case $ac_var in #(
- _ | IFS | as_nl) ;; #(
- BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
- *) { eval $ac_var=; unset $ac_var;} ;;
- esac ;;
- esac
- done
- (set) 2>&1 |
- case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
- *${as_nl}ac_space=\ *)
- sed -n \
- "s/'\''/'\''\\\\'\'''\''/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
- ;; #(
- *)
- sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
- ;;
- esac |
- sort
-)
- echo
-
- $as_echo "## ----------------- ##
-## Output variables. ##
-## ----------------- ##"
- echo
- for ac_var in $ac_subst_vars
- do
- eval ac_val=\$$ac_var
- case $ac_val in
- *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
- esac
- $as_echo "$ac_var='\''$ac_val'\''"
- done | sort
- echo
-
- if test -n "$ac_subst_files"; then
- $as_echo "## ------------------- ##
-## File substitutions. ##
-## ------------------- ##"
- echo
- for ac_var in $ac_subst_files
- do
- eval ac_val=\$$ac_var
- case $ac_val in
- *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
- esac
- $as_echo "$ac_var='\''$ac_val'\''"
- done | sort
- echo
- fi
-
- if test -s confdefs.h; then
- $as_echo "## ----------- ##
-## confdefs.h. ##
-## ----------- ##"
- echo
- cat confdefs.h
- echo
- fi
- test "$ac_signal" != 0 &&
- $as_echo "$as_me: caught signal $ac_signal"
- $as_echo "$as_me: exit $exit_status"
- } >&5
- rm -f core *.core core.conftest.* &&
- rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
- exit $exit_status
-' 0
-for ac_signal in 1 2 13 15; do
- trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
-done
-ac_signal=0
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -f -r conftest* confdefs.h
-
-$as_echo "/* confdefs.h */" > confdefs.h
-
-# Predefined preprocessor variables.
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_NAME "$PACKAGE_NAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_VERSION "$PACKAGE_VERSION"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_STRING "$PACKAGE_STRING"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_URL "$PACKAGE_URL"
-_ACEOF
-
-
-# Let the site file select an alternate cache file if it wants to.
-# Prefer an explicitly selected file to automatically selected ones.
-ac_site_file1=NONE
-ac_site_file2=NONE
-if test -n "$CONFIG_SITE"; then
- # We do not want a PATH search for config.site.
- case $CONFIG_SITE in #((
- -*) ac_site_file1=./$CONFIG_SITE;;
- */*) ac_site_file1=$CONFIG_SITE;;
- *) ac_site_file1=./$CONFIG_SITE;;
- esac
-elif test "x$prefix" != xNONE; then
- ac_site_file1=$prefix/share/config.site
- ac_site_file2=$prefix/etc/config.site
-else
- ac_site_file1=$ac_default_prefix/share/config.site
- ac_site_file2=$ac_default_prefix/etc/config.site
-fi
-for ac_site_file in "$ac_site_file1" "$ac_site_file2"
-do
- test "x$ac_site_file" = xNONE && continue
- if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
-$as_echo "$as_me: loading site script $ac_site_file" >&6;}
- sed 's/^/| /' "$ac_site_file" >&5
- . "$ac_site_file" \
- || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "failed to load site script $ac_site_file
-See \`config.log' for more details" "$LINENO" 5; }
- fi
-done
-
-if test -r "$cache_file"; then
- # Some versions of bash will fail to source /dev/null (special files
- # actually), so we avoid doing that. DJGPP emulates it as a regular file.
- if test /dev/null != "$cache_file" && test -f "$cache_file"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
-$as_echo "$as_me: loading cache $cache_file" >&6;}
- case $cache_file in
- [\\/]* | ?:[\\/]* ) . "$cache_file";;
- *) . "./$cache_file";;
- esac
- fi
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
-$as_echo "$as_me: creating cache $cache_file" >&6;}
- >$cache_file
-fi
-
-# Check that the precious variables saved in the cache have kept the same
-# value.
-ac_cache_corrupted=false
-for ac_var in $ac_precious_vars; do
- eval ac_old_set=\$ac_cv_env_${ac_var}_set
- eval ac_new_set=\$ac_env_${ac_var}_set
- eval ac_old_val=\$ac_cv_env_${ac_var}_value
- eval ac_new_val=\$ac_env_${ac_var}_value
- case $ac_old_set,$ac_new_set in
- set,)
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,set)
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,);;
- *)
- if test "x$ac_old_val" != "x$ac_new_val"; then
- # differences in whitespace do not lead to failure.
- ac_old_val_w=`echo x $ac_old_val`
- ac_new_val_w=`echo x $ac_new_val`
- if test "$ac_old_val_w" != "$ac_new_val_w"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
-$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
- ac_cache_corrupted=:
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
-$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
- eval $ac_var=\$ac_old_val
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5
-$as_echo "$as_me: former value: \`$ac_old_val'" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5
-$as_echo "$as_me: current value: \`$ac_new_val'" >&2;}
- fi;;
- esac
- # Pass precious variables to config.status.
- if test "$ac_new_set" = set; then
- case $ac_new_val in
- *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
- *) ac_arg=$ac_var=$ac_new_val ;;
- esac
- case " $ac_configure_args " in
- *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
- *) as_fn_append ac_configure_args " '$ac_arg'" ;;
- esac
- fi
-done
-if $ac_cache_corrupted; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
-$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
- as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
-fi
-## -------------------- ##
-## Main body of script. ##
-## -------------------- ##
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-
-
-
- ac_config_headers="$ac_config_headers tkConfig.h:../unix/tkConfig.h.in"
-
-
-
-
-
-
-TK_VERSION=8.6
-TK_MAJOR_VERSION=8
-TK_MINOR_VERSION=6
-TK_PATCH_LEVEL=".9"
-VERSION=${TK_VERSION}
-LOCALES="cs da de el en en_gb eo es fr hu it nl pl pt ru sv"
-
-#--------------------------------------------------------------------
-# Find and load the tclConfig.sh file
-#--------------------------------------------------------------------
-
-
- #
- # Ok, lets find the tcl configuration
- # First, look for one uninstalled.
- # the alternative search directory is invoked by --with-tcl
- #
-
- if test x"${no_tcl}" = x ; then
- # we reset no_tcl in case something fails here
- no_tcl=true
-
-# Check whether --with-tcl was given.
-if test "${with_tcl+set}" = set; then :
- withval=$with_tcl; with_tclconfig="${withval}"
-fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Tcl configuration" >&5
-$as_echo_n "checking for Tcl configuration... " >&6; }
- if ${ac_cv_c_tclconfig+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
-
- # First check to see if --with-tcl was specified.
- if test x"${with_tclconfig}" != x ; then
- case "${with_tclconfig}" in
- */tclConfig.sh )
- if test -f "${with_tclconfig}"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: --with-tcl argument should refer to directory containing tclConfig.sh, not to tclConfig.sh itself" >&5
-$as_echo "$as_me: WARNING: --with-tcl argument should refer to directory containing tclConfig.sh, not to tclConfig.sh itself" >&2;}
- with_tclconfig="`echo "${with_tclconfig}" | sed 's!/tclConfig\.sh$!!'`"
- fi ;;
- esac
- if test -f "${with_tclconfig}/tclConfig.sh" ; then
- ac_cv_c_tclconfig="`(cd "${with_tclconfig}"; pwd)`"
- else
- as_fn_error $? "${with_tclconfig} directory doesn't contain tclConfig.sh" "$LINENO" 5
- fi
- fi
-
- # then check for a private Tcl installation
- if test x"${ac_cv_c_tclconfig}" = x ; then
- for i in \
- ../tcl \
- `ls -dr ../tcl[8-9].[0-9].[0-9]* 2>/dev/null` \
- `ls -dr ../tcl[8-9].[0-9] 2>/dev/null` \
- `ls -dr ../tcl[8-9].[0-9]* 2>/dev/null` \
- ../../tcl \
- `ls -dr ../../tcl[8-9].[0-9].[0-9]* 2>/dev/null` \
- `ls -dr ../../tcl[8-9].[0-9] 2>/dev/null` \
- `ls -dr ../../tcl[8-9].[0-9]* 2>/dev/null` \
- ../../../tcl \
- `ls -dr ../../../tcl[8-9].[0-9].[0-9]* 2>/dev/null` \
- `ls -dr ../../../tcl[8-9].[0-9] 2>/dev/null` \
- `ls -dr ../../../tcl[8-9].[0-9]* 2>/dev/null` ; do
- if test -f "$i/unix/tclConfig.sh" ; then
- ac_cv_c_tclconfig="`(cd $i/unix; pwd)`"
- break
- fi
- done
- fi
-
- # on Darwin, check in Framework installation locations
- if test "`uname -s`" = "Darwin" -a x"${ac_cv_c_tclconfig}" = x ; then
- for i in `ls -d ~/Library/Frameworks 2>/dev/null` \
- `ls -d /Library/Frameworks 2>/dev/null` \
- `ls -d /Network/Library/Frameworks 2>/dev/null` \
- `ls -d /System/Library/Frameworks 2>/dev/null` \
- ; do
- if test -f "$i/Tcl.framework/tclConfig.sh" ; then
- ac_cv_c_tclconfig="`(cd $i/Tcl.framework; pwd)`"
- break
- fi
- done
- fi
-
- # check in a few common install locations
- if test x"${ac_cv_c_tclconfig}" = x ; then
- for i in `ls -d ${libdir} 2>/dev/null` \
- `ls -d ${exec_prefix}/lib 2>/dev/null` \
- `ls -d ${prefix}/lib 2>/dev/null` \
- `ls -d /usr/local/lib 2>/dev/null` \
- `ls -d /usr/contrib/lib 2>/dev/null` \
- `ls -d /usr/pkg/lib 2>/dev/null` \
- `ls -d /usr/lib 2>/dev/null` \
- `ls -d /usr/lib64 2>/dev/null` \
- `ls -d /usr/local/lib/tcl8.6 2>/dev/null` \
- `ls -d /usr/local/lib/tcl/tcl8.6 2>/dev/null` \
- ; do
- if test -f "$i/tclConfig.sh" ; then
- ac_cv_c_tclconfig="`(cd $i; pwd)`"
- break
- fi
- done
- fi
-
- # check in a few other private locations
- if test x"${ac_cv_c_tclconfig}" = x ; then
- for i in \
- ${srcdir}/../tcl \
- `ls -dr ${srcdir}/../tcl[8-9].[0-9].[0-9]* 2>/dev/null` \
- `ls -dr ${srcdir}/../tcl[8-9].[0-9] 2>/dev/null` \
- `ls -dr ${srcdir}/../tcl[8-9].[0-9]* 2>/dev/null` ; do
- if test -f "$i/unix/tclConfig.sh" ; then
- ac_cv_c_tclconfig="`(cd $i/unix; pwd)`"
- break
- fi
- done
- fi
-
-fi
-
-
- if test x"${ac_cv_c_tclconfig}" = x ; then
- TCL_BIN_DIR="# no Tcl configs found"
- as_fn_error $? "Can't find Tcl configuration definitions. Use --with-tcl to specify a directory containing tclConfig.sh" "$LINENO" 5
- else
- no_tcl=
- TCL_BIN_DIR="${ac_cv_c_tclconfig}"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: found ${TCL_BIN_DIR}/tclConfig.sh" >&5
-$as_echo "found ${TCL_BIN_DIR}/tclConfig.sh" >&6; }
- fi
- fi
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for existence of ${TCL_BIN_DIR}/tclConfig.sh" >&5
-$as_echo_n "checking for existence of ${TCL_BIN_DIR}/tclConfig.sh... " >&6; }
-
- if test -f "${TCL_BIN_DIR}/tclConfig.sh" ; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: loading" >&5
-$as_echo "loading" >&6; }
- . "${TCL_BIN_DIR}/tclConfig.sh"
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: could not find ${TCL_BIN_DIR}/tclConfig.sh" >&5
-$as_echo "could not find ${TCL_BIN_DIR}/tclConfig.sh" >&6; }
- fi
-
- # eval is required to do the TCL_DBGX substitution
- eval "TCL_LIB_FILE=\"${TCL_LIB_FILE}\""
- eval "TCL_STUB_LIB_FILE=\"${TCL_STUB_LIB_FILE}\""
-
- # If the TCL_BIN_DIR is the build directory (not the install directory),
- # then set the common variable name to the value of the build variables.
- # For example, the variable TCL_LIB_SPEC will be set to the value
- # of TCL_BUILD_LIB_SPEC. An extension should make use of TCL_LIB_SPEC
- # instead of TCL_BUILD_LIB_SPEC since it will work with both an
- # installed and uninstalled version of Tcl.
- if test -f "${TCL_BIN_DIR}/Makefile" ; then
- TCL_LIB_SPEC="${TCL_BUILD_LIB_SPEC}"
- TCL_STUB_LIB_SPEC="${TCL_BUILD_STUB_LIB_SPEC}"
- TCL_STUB_LIB_PATH="${TCL_BUILD_STUB_LIB_PATH}"
- elif test "`uname -s`" = "Darwin"; then
- # If Tcl was built as a framework, attempt to use the libraries
- # from the framework at the given location so that linking works
- # against Tcl.framework installed in an arbitrary location.
- case ${TCL_DEFS} in
- *TCL_FRAMEWORK*)
- if test -f "${TCL_BIN_DIR}/${TCL_LIB_FILE}"; then
- for i in "`cd "${TCL_BIN_DIR}"; pwd`" \
- "`cd "${TCL_BIN_DIR}"/../..; pwd`"; do
- if test "`basename "$i"`" = "${TCL_LIB_FILE}.framework"; then
- TCL_LIB_SPEC="-F`dirname "$i" | sed -e 's/ /\\\\ /g'` -framework ${TCL_LIB_FILE}"
- break
- fi
- done
- fi
- if test -f "${TCL_BIN_DIR}/${TCL_STUB_LIB_FILE}"; then
- TCL_STUB_LIB_SPEC="-L`echo "${TCL_BIN_DIR}" | sed -e 's/ /\\\\ /g'` ${TCL_STUB_LIB_FLAG}"
- TCL_STUB_LIB_PATH="${TCL_BIN_DIR}/${TCL_STUB_LIB_FILE}"
- fi
- ;;
- esac
- fi
-
- # eval is required to do the TCL_DBGX substitution
- eval "TCL_LIB_FLAG=\"${TCL_LIB_FLAG}\""
- eval "TCL_LIB_SPEC=\"${TCL_LIB_SPEC}\""
- eval "TCL_STUB_LIB_FLAG=\"${TCL_STUB_LIB_FLAG}\""
- eval "TCL_STUB_LIB_SPEC=\"${TCL_STUB_LIB_SPEC}\""
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-if test "${TCL_MAJOR_VERSION}" -ne 8 ; then
- as_fn_error $? "${PACKAGE_NAME} ${PACKAGE_VERSION} requires Tcl 8.6+
-Found config for Tcl ${TCL_VERSION}" "$LINENO" 5
-fi
-if test "${TCL_MINOR_VERSION}" -lt 6 ; then
- as_fn_error $? "${PACKAGE_NAME} ${PACKAGE_VERSION} requires Tcl 8.6+
-Found config for Tcl ${TCL_VERSION}" "$LINENO" 5
-fi
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for tclsh" >&5
-$as_echo_n "checking for tclsh... " >&6; }
- if ${ac_cv_path_tclsh+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- search_path=`echo ${PATH} | sed -e 's/:/ /g'`
- for dir in $search_path ; do
- for j in `ls -r $dir/tclsh[8-9]* 2> /dev/null` \
- `ls -r $dir/tclsh* 2> /dev/null` ; do
- if test x"$ac_cv_path_tclsh" = x ; then
- if test -f "$j" ; then
- ac_cv_path_tclsh=$j
- break
- fi
- fi
- done
- done
-
-fi
-
-
- if test -f "$ac_cv_path_tclsh" ; then
- TCLSH_PROG="$ac_cv_path_tclsh"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TCLSH_PROG" >&5
-$as_echo "$TCLSH_PROG" >&6; }
- else
- # It is not an error if an installed version of Tcl can't be located.
- TCLSH_PROG=""
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: No tclsh found on PATH" >&5
-$as_echo "No tclsh found on PATH" >&6; }
- fi
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for tclsh in Tcl build directory" >&5
-$as_echo_n "checking for tclsh in Tcl build directory... " >&6; }
- BUILD_TCLSH="${TCL_BIN_DIR}"/tclsh
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BUILD_TCLSH" >&5
-$as_echo "$BUILD_TCLSH" >&6; }
-
-
-
-#------------------------------------------------------------------------
-# Handle the --prefix=... option
-#------------------------------------------------------------------------
-
-if test "${prefix}" = "NONE"; then
- prefix="$TCL_PREFIX"
-fi
-if test "${exec_prefix}" = "NONE"; then
- exec_prefix=$prefix
-fi
-# Make sure srcdir is fully qualified!
-srcdir="`cd "$srcdir" ; pwd`"
-TK_SRC_DIR="`cd "$srcdir"/..; pwd`"
-
-#------------------------------------------------------------------------
-# Compress and/or soft link the manpages?
-#------------------------------------------------------------------------
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use symlinks for manpages" >&5
-$as_echo_n "checking whether to use symlinks for manpages... " >&6; }
- # Check whether --enable-man-symlinks was given.
-if test "${enable_man_symlinks+set}" = set; then :
- enableval=$enable_man_symlinks; test "$enableval" != "no" && MAN_FLAGS="$MAN_FLAGS --symlinks"
-else
- enableval="no"
-fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enableval" >&5
-$as_echo "$enableval" >&6; }
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to compress the manpages" >&5
-$as_echo_n "checking whether to compress the manpages... " >&6; }
- # Check whether --enable-man-compression was given.
-if test "${enable_man_compression+set}" = set; then :
- enableval=$enable_man_compression; case $enableval in
- yes) as_fn_error $? "missing argument to --enable-man-compression" "$LINENO" 5;;
- no) ;;
- *) MAN_FLAGS="$MAN_FLAGS --compress $enableval";;
- esac
-else
- enableval="no"
-fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enableval" >&5
-$as_echo "$enableval" >&6; }
- if test "$enableval" != "no"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for compressed file suffix" >&5
-$as_echo_n "checking for compressed file suffix... " >&6; }
- touch TeST
- $enableval TeST
- Z=`ls TeST* | sed 's/^....//'`
- rm -f TeST*
- MAN_FLAGS="$MAN_FLAGS --extension $Z"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $Z" >&5
-$as_echo "$Z" >&6; }
- fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to add a package name suffix for the manpages" >&5
-$as_echo_n "checking whether to add a package name suffix for the manpages... " >&6; }
- # Check whether --enable-man-suffix was given.
-if test "${enable_man_suffix+set}" = set; then :
- enableval=$enable_man_suffix; case $enableval in
- yes) enableval="tk" MAN_FLAGS="$MAN_FLAGS --suffix $enableval";;
- no) ;;
- *) MAN_FLAGS="$MAN_FLAGS --suffix $enableval";;
- esac
-else
- enableval="no"
-fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enableval" >&5
-$as_echo "$enableval" >&6; }
-
-
-
-
-#------------------------------------------------------------------------
-# Standard compiler checks
-#------------------------------------------------------------------------
-
-# If the user did not set CFLAGS, set it now to keep
-# the AC_PROG_CC macro from adding "-g -O2".
-if test "${CFLAGS+set}" != "set" ; then
- CFLAGS=""
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_CC="${ac_tool_prefix}gcc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_CC"; then
- ac_ct_CC=$CC
- # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_CC="gcc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_CC" = x; then
- CC=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- CC=$ac_ct_CC
- fi
-else
- CC="$ac_cv_prog_CC"
-fi
-
-if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_CC="${ac_tool_prefix}cc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- fi
-fi
-if test -z "$CC"; then
- # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
- ac_prog_rejected=yes
- continue
- fi
- ac_cv_prog_CC="cc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-if test $ac_prog_rejected = yes; then
- # We found a bogon in the path, so make sure we never use it.
- set dummy $ac_cv_prog_CC
- shift
- if test $# != 0; then
- # We chose a different compiler from the bogus one.
- # However, it has the same basename, so the bogon will be chosen
- # first if we set CC to just the basename; use the full file name.
- shift
- ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
- fi
-fi
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- for ac_prog in cl.exe
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$CC" && break
- done
-fi
-if test -z "$CC"; then
- ac_ct_CC=$CC
- for ac_prog in cl.exe
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_CC="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$ac_ct_CC" && break
-done
-
- if test "x$ac_ct_CC" = x; then
- CC=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- CC=$ac_ct_CC
- fi
-fi
-
-fi
-
-
-test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "no acceptable C compiler found in \$PATH
-See \`config.log' for more details" "$LINENO" 5; }
-
-# Provide some information about the compiler.
-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-for ac_option in --version -v -V -qversion; do
- { { ac_try="$ac_compiler $ac_option >&5"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compiler $ac_option >&5") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- sed '10a\
-... rest of stderr output deleted ...
- 10q' conftest.err >conftest.er1
- cat conftest.er1 >&5
- fi
- rm -f conftest.er1 conftest.err
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
-done
-
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
-# Try to create an executable without -o first, disregard a.out.
-# It will help us diagnose broken compilers, and finding out an intuition
-# of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-
-# The possible output files:
-ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
-
-ac_rmfiles=
-for ac_file in $ac_files
-do
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
- * ) ac_rmfiles="$ac_rmfiles $ac_file";;
- esac
-done
-rm -f $ac_rmfiles
-
-if { { ac_try="$ac_link_default"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link_default") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then :
- # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
-# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
-# in a Makefile. We should not override ac_cv_exeext if it was cached,
-# so that the user can short-circuit this test for compilers unknown to
-# Autoconf.
-for ac_file in $ac_files ''
-do
- test -f "$ac_file" || continue
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
- ;;
- [ab].out )
- # We found the default executable, but exeext='' is most
- # certainly right.
- break;;
- *.* )
- if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
- then :; else
- ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- fi
- # We set ac_cv_exeext here because the later test for it is not
- # safe: cross compilers may not add the suffix if given an `-o'
- # argument, so we may need to know it at that point already.
- # Even if this section looks crufty: it has the advantage of
- # actually working.
- break;;
- * )
- break;;
- esac
-done
-test "$ac_cv_exeext" = no && ac_cv_exeext=
-
-else
- ac_file=''
-fi
-if test -z "$ac_file"; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "C compiler cannot create executables
-See \`config.log' for more details" "$LINENO" 5; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
-ac_exeext=$ac_cv_exeext
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
-$as_echo_n "checking for suffix of executables... " >&6; }
-if { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then :
- # If both `conftest.exe' and `conftest' are `present' (well, observable)
-# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
-# work properly (i.e., refer to `conftest.exe'), while it won't with
-# `rm'.
-for ac_file in conftest.exe conftest conftest.*; do
- test -f "$ac_file" || continue
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
- *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- break;;
- * ) break;;
- esac
-done
-else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest conftest$ac_cv_exeext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
-$as_echo "$ac_cv_exeext" >&6; }
-
-rm -f conftest.$ac_ext
-EXEEXT=$ac_cv_exeext
-ac_exeext=$EXEEXT
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdio.h>
-int
-main ()
-{
-FILE *f = fopen ("conftest.out", "w");
- return ferror (f) || fclose (f) != 0;
-
- ;
- return 0;
-}
-_ACEOF
-ac_clean_files="$ac_clean_files conftest.out"
-# Check that the compiler produces executables we can run. If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-if test "$cross_compiling" != yes; then
- { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- if { ac_try='./conftest$ac_cv_exeext'
- { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then
- cross_compiling=no
- else
- if test "$cross_compiling" = maybe; then
- cross_compiling=yes
- else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details" "$LINENO" 5; }
- fi
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
-rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
-$as_echo_n "checking for suffix of object files... " >&6; }
-if ${ac_cv_objext+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.o conftest.obj
-if { { ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compile") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then :
- for ac_file in conftest.o conftest.obj conftest.*; do
- test -f "$ac_file" || continue;
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
- *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
- break;;
- esac
-done
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest.$ac_cv_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
-$as_echo "$ac_cv_objext" >&6; }
-OBJEXT=$ac_cv_objext
-ac_objext=$OBJEXT
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
-$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if ${ac_cv_c_compiler_gnu+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-#ifndef __GNUC__
- choke me
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_compiler_gnu=yes
-else
- ac_compiler_gnu=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_c_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
-$as_echo "$ac_cv_c_compiler_gnu" >&6; }
-if test $ac_compiler_gnu = yes; then
- GCC=yes
-else
- GCC=
-fi
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
-$as_echo_n "checking whether $CC accepts -g... " >&6; }
-if ${ac_cv_prog_cc_g+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_save_c_werror_flag=$ac_c_werror_flag
- ac_c_werror_flag=yes
- ac_cv_prog_cc_g=no
- CFLAGS="-g"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_g=yes
-else
- CFLAGS=""
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
- ac_c_werror_flag=$ac_save_c_werror_flag
- CFLAGS="-g"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_g=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_c_werror_flag=$ac_save_c_werror_flag
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
-$as_echo "$ac_cv_prog_cc_g" >&6; }
-if test "$ac_test_CFLAGS" = set; then
- CFLAGS=$ac_save_CFLAGS
-elif test $ac_cv_prog_cc_g = yes; then
- if test "$GCC" = yes; then
- CFLAGS="-g -O2"
- else
- CFLAGS="-g"
- fi
-else
- if test "$GCC" = yes; then
- CFLAGS="-O2"
- else
- CFLAGS=
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
-$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if ${ac_cv_prog_cc_c89+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_cv_prog_cc_c89=no
-ac_save_CC=$CC
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdarg.h>
-#include <stdio.h>
-struct stat;
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
- char **p;
- int i;
-{
- return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
- char *s;
- va_list v;
- va_start (v,p);
- s = g (p, va_arg (v,int));
- va_end (v);
- return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
- function prototypes and stuff, but not '\xHH' hex character constants.
- These don't provoke an error unfortunately, instead are silently treated
- as 'x'. The following induces an error, until -std is added to get
- proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
- array size at least. It's necessary to write '\x00'==0 to get something
- that's true only with -std. */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
- inside strings and character constants. */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
-
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
- ;
- return 0;
-}
-_ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
- -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
- CC="$ac_save_CC $ac_arg"
- if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_c89=$ac_arg
-fi
-rm -f core conftest.err conftest.$ac_objext
- test "x$ac_cv_prog_cc_c89" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
-
-fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
- x)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
- xno)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
- *)
- CC="$CC $ac_cv_prog_cc_c89"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
-$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
-esac
-if test "x$ac_cv_prog_cc_c89" != xno; then :
-
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5
-$as_echo_n "checking for inline... " >&6; }
-if ${ac_cv_c_inline+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_cv_c_inline=no
-for ac_kw in inline __inline__ __inline; do
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifndef __cplusplus
-typedef int foo_t;
-static $ac_kw foo_t static_foo () {return 0; }
-$ac_kw foo_t foo () {return 0; }
-#endif
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_c_inline=$ac_kw
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- test "$ac_cv_c_inline" != no && break
-done
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5
-$as_echo "$ac_cv_c_inline" >&6; }
-
-case $ac_cv_c_inline in
- inline | yes) ;;
- *)
- case $ac_cv_c_inline in
- no) ac_val=;;
- *) ac_val=$ac_cv_c_inline;;
- esac
- cat >>confdefs.h <<_ACEOF
-#ifndef __cplusplus
-#define inline $ac_val
-#endif
-_ACEOF
- ;;
-esac
-
-
-#--------------------------------------------------------------------
-# Supply a substitute for stdlib.h if it doesn't define strtol,
-# strtoul, or strtod (which it doesn't in some versions of SunOS).
-#--------------------------------------------------------------------
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
-$as_echo_n "checking how to run the C preprocessor... " >&6; }
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
- CPP=
-fi
-if test -z "$CPP"; then
- if ${ac_cv_prog_CPP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # Double quotes because CPP needs to be expanded
- for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
- do
- ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
- Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
- # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether nonexistent headers
- # can be detected and how.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
- # Broken: success on invalid input.
-continue
-else
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
- break
-fi
-
- done
- ac_cv_prog_CPP=$CPP
-
-fi
- CPP=$ac_cv_prog_CPP
-else
- ac_cv_prog_CPP=$CPP
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
-$as_echo "$CPP" >&6; }
-ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
- Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
- # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether nonexistent headers
- # can be detected and how.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
- # Broken: success on invalid input.
-continue
-else
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-
-else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
-$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if ${ac_cv_path_GREP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -z "$GREP"; then
- ac_path_GREP_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in grep ggrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
- as_fn_executable_p "$ac_path_GREP" || continue
-# Check for GNU ac_path_GREP and select it if it is found.
- # Check for GNU $ac_path_GREP
-case `"$ac_path_GREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo 'GREP' >> "conftest.nl"
- "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_GREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_GREP="$ac_path_GREP"
- ac_path_GREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_GREP_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_GREP"; then
- as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- fi
-else
- ac_cv_path_GREP=$GREP
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
-$as_echo "$ac_cv_path_GREP" >&6; }
- GREP="$ac_cv_path_GREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
-$as_echo_n "checking for egrep... " >&6; }
-if ${ac_cv_path_EGREP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
- then ac_cv_path_EGREP="$GREP -E"
- else
- if test -z "$EGREP"; then
- ac_path_EGREP_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in egrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
- as_fn_executable_p "$ac_path_EGREP" || continue
-# Check for GNU ac_path_EGREP and select it if it is found.
- # Check for GNU $ac_path_EGREP
-case `"$ac_path_EGREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo 'EGREP' >> "conftest.nl"
- "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_EGREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_EGREP="$ac_path_EGREP"
- ac_path_EGREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_EGREP_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_EGREP"; then
- as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- fi
-else
- ac_cv_path_EGREP=$EGREP
-fi
-
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
-$as_echo "$ac_cv_path_EGREP" >&6; }
- EGREP="$ac_cv_path_EGREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if ${ac_cv_header_stdc+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_header_stdc=yes
-else
- ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
- # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "memchr" >/dev/null 2>&1; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "free" >/dev/null 2>&1; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
- if test "$cross_compiling" = yes; then :
- :
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
- (('a' <= (c) && (c) <= 'i') \
- || ('j' <= (c) && (c) <= 'r') \
- || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
- int i;
- for (i = 0; i < 256; i++)
- if (XOR (islower (i), ISLOWER (i))
- || toupper (i) != TOUPPER (i))
- return 2;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
- inttypes.h stdint.h unistd.h
-do :
- as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
-"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
- cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-ac_fn_c_check_header_mongrel "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default"
-if test "x$ac_cv_header_stdlib_h" = xyes; then :
- tk_ok=1
-else
- tk_ok=0
-fi
-
-
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "strtol" >/dev/null 2>&1; then :
-
-else
- tk_ok=0
-fi
-rm -f conftest*
-
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "strtoul" >/dev/null 2>&1; then :
-
-else
- tk_ok=0
-fi
-rm -f conftest*
-
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "strtod" >/dev/null 2>&1; then :
-
-else
- tk_ok=0
-fi
-rm -f conftest*
-
-if test $tk_ok = 0; then
-
-$as_echo "#define NO_STDLIB_H 1" >>confdefs.h
-
-fi
-
-#------------------------------------------------------------------------
-# If we're using GCC, see if the compiler understands -pipe. If so, use it.
-# It makes compiling go faster. (This is only a performance feature.)
-#------------------------------------------------------------------------
-
-if test -z "$no_pipe" && test -n "$GCC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the compiler understands -pipe" >&5
-$as_echo_n "checking if the compiler understands -pipe... " >&6; }
-if ${tcl_cv_cc_pipe+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- hold_cflags=$CFLAGS; CFLAGS="$CFLAGS -pipe"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- tcl_cv_cc_pipe=yes
-else
- tcl_cv_cc_pipe=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- CFLAGS=$hold_cflags
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $tcl_cv_cc_pipe" >&5
-$as_echo "$tcl_cv_cc_pipe" >&6; }
- if test $tcl_cv_cc_pipe = yes; then
- CFLAGS="$CFLAGS -pipe"
- fi
-fi
-
-#------------------------------------------------------------------------
-# Threads support - this auto-enables if Tcl was compiled threaded
-#------------------------------------------------------------------------
-
-
- # Check whether --enable-threads was given.
-if test "${enable_threads+set}" = set; then :
- enableval=$enable_threads; tcl_ok=$enableval
-else
- tcl_ok=yes
-fi
-
-
- if test "${TCL_THREADS}" = 1; then
- tcl_threaded_core=1;
- fi
-
- if test "$tcl_ok" = "yes" -o "${TCL_THREADS}" = 1; then
- TCL_THREADS=1
- # USE_THREAD_ALLOC tells us to try the special thread-based
- # allocator that significantly reduces lock contention
-
-$as_echo "#define USE_THREAD_ALLOC 1" >>confdefs.h
-
-
-$as_echo "#define _REENTRANT 1" >>confdefs.h
-
- if test "`uname -s`" = "SunOS" ; then
-
-$as_echo "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h
-
- fi
-
-$as_echo "#define _THREAD_SAFE 1" >>confdefs.h
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_mutex_init in -lpthread" >&5
-$as_echo_n "checking for pthread_mutex_init in -lpthread... " >&6; }
-if ${ac_cv_lib_pthread_pthread_mutex_init+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lpthread $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char pthread_mutex_init ();
-int
-main ()
-{
-return pthread_mutex_init ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_pthread_pthread_mutex_init=yes
-else
- ac_cv_lib_pthread_pthread_mutex_init=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthread_pthread_mutex_init" >&5
-$as_echo "$ac_cv_lib_pthread_pthread_mutex_init" >&6; }
-if test "x$ac_cv_lib_pthread_pthread_mutex_init" = xyes; then :
- tcl_ok=yes
-else
- tcl_ok=no
-fi
-
- if test "$tcl_ok" = "no"; then
- # Check a little harder for __pthread_mutex_init in the same
- # library, as some systems hide it there until pthread.h is
- # defined. We could alternatively do an AC_TRY_COMPILE with
- # pthread.h, but that will work with libpthread really doesn't
- # exist, like AIX 4.2. [Bug: 4359]
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __pthread_mutex_init in -lpthread" >&5
-$as_echo_n "checking for __pthread_mutex_init in -lpthread... " >&6; }
-if ${ac_cv_lib_pthread___pthread_mutex_init+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lpthread $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char __pthread_mutex_init ();
-int
-main ()
-{
-return __pthread_mutex_init ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_pthread___pthread_mutex_init=yes
-else
- ac_cv_lib_pthread___pthread_mutex_init=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthread___pthread_mutex_init" >&5
-$as_echo "$ac_cv_lib_pthread___pthread_mutex_init" >&6; }
-if test "x$ac_cv_lib_pthread___pthread_mutex_init" = xyes; then :
- tcl_ok=yes
-else
- tcl_ok=no
-fi
-
- fi
-
- if test "$tcl_ok" = "yes"; then
- # The space is needed
- THREADS_LIBS=" -lpthread"
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_mutex_init in -lpthreads" >&5
-$as_echo_n "checking for pthread_mutex_init in -lpthreads... " >&6; }
-if ${ac_cv_lib_pthreads_pthread_mutex_init+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lpthreads $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char pthread_mutex_init ();
-int
-main ()
-{
-return pthread_mutex_init ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_pthreads_pthread_mutex_init=yes
-else
- ac_cv_lib_pthreads_pthread_mutex_init=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthreads_pthread_mutex_init" >&5
-$as_echo "$ac_cv_lib_pthreads_pthread_mutex_init" >&6; }
-if test "x$ac_cv_lib_pthreads_pthread_mutex_init" = xyes; then :
- tcl_ok=yes
-else
- tcl_ok=no
-fi
-
- if test "$tcl_ok" = "yes"; then
- # The space is needed
- THREADS_LIBS=" -lpthreads"
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_mutex_init in -lc" >&5
-$as_echo_n "checking for pthread_mutex_init in -lc... " >&6; }
-if ${ac_cv_lib_c_pthread_mutex_init+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lc $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char pthread_mutex_init ();
-int
-main ()
-{
-return pthread_mutex_init ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_c_pthread_mutex_init=yes
-else
- ac_cv_lib_c_pthread_mutex_init=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_c_pthread_mutex_init" >&5
-$as_echo "$ac_cv_lib_c_pthread_mutex_init" >&6; }
-if test "x$ac_cv_lib_c_pthread_mutex_init" = xyes; then :
- tcl_ok=yes
-else
- tcl_ok=no
-fi
-
- if test "$tcl_ok" = "no"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_mutex_init in -lc_r" >&5
-$as_echo_n "checking for pthread_mutex_init in -lc_r... " >&6; }
-if ${ac_cv_lib_c_r_pthread_mutex_init+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lc_r $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char pthread_mutex_init ();
-int
-main ()
-{
-return pthread_mutex_init ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_c_r_pthread_mutex_init=yes
-else
- ac_cv_lib_c_r_pthread_mutex_init=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_c_r_pthread_mutex_init" >&5
-$as_echo "$ac_cv_lib_c_r_pthread_mutex_init" >&6; }
-if test "x$ac_cv_lib_c_r_pthread_mutex_init" = xyes; then :
- tcl_ok=yes
-else
- tcl_ok=no
-fi
-
- if test "$tcl_ok" = "yes"; then
- # The space is needed
- THREADS_LIBS=" -pthread"
- else
- TCL_THREADS=0
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Don't know how to find pthread lib on your system - you must disable thread support or edit the LIBS in the Makefile..." >&5
-$as_echo "$as_me: WARNING: Don't know how to find pthread lib on your system - you must disable thread support or edit the LIBS in the Makefile..." >&2;}
- fi
- fi
- fi
- fi
-
- # Does the pthread-implementation provide
- # 'pthread_attr_setstacksize' ?
-
- ac_saved_libs=$LIBS
- LIBS="$LIBS $THREADS_LIBS"
- for ac_func in pthread_attr_setstacksize pthread_atfork
-do :
- as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
- cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- LIBS=$ac_saved_libs
- else
- TCL_THREADS=0
- fi
- # Do checking message here to not mess up interleaved configure output
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for building with threads" >&5
-$as_echo_n "checking for building with threads... " >&6; }
- if test "${TCL_THREADS}" = 1; then
-
-$as_echo "#define TCL_THREADS 1" >>confdefs.h
-
- if test "${tcl_threaded_core}" = 1; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes (threaded core)" >&5
-$as_echo "yes (threaded core)" >&6; }
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
- fi
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- fi
-
-
-
-
-# Add the threads support libraries
-LIBS="$LIBS$THREADS_LIBS"
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to build libraries" >&5
-$as_echo_n "checking how to build libraries... " >&6; }
- # Check whether --enable-shared was given.
-if test "${enable_shared+set}" = set; then :
- enableval=$enable_shared; tcl_ok=$enableval
-else
- tcl_ok=yes
-fi
-
-
- if test "${enable_shared+set}" = set; then
- enableval="$enable_shared"
- tcl_ok=$enableval
- else
- tcl_ok=yes
- fi
-
- if test "$tcl_ok" = "yes" ; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: shared" >&5
-$as_echo "shared" >&6; }
- SHARED_BUILD=1
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: static" >&5
-$as_echo "static" >&6; }
- SHARED_BUILD=0
-
-$as_echo "#define STATIC_BUILD 1" >>confdefs.h
-
- fi
-
-
-#--------------------------------------------------------------------
-# The statements below define a collection of compile flags. This
-# macro depends on the value of SHARED_BUILD, and should be called
-# after SC_ENABLE_SHARED checks the configure switches.
-#--------------------------------------------------------------------
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_RANLIB+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$RANLIB"; then
- ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
-$as_echo "$RANLIB" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
- ac_ct_RANLIB=$RANLIB
- # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_RANLIB"; then
- ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_RANLIB="ranlib"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
-$as_echo "$ac_ct_RANLIB" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_RANLIB" = x; then
- RANLIB=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- RANLIB=$ac_ct_RANLIB
- fi
-else
- RANLIB="$ac_cv_prog_RANLIB"
-fi
-
-
-
- # Step 0.a: Enable 64 bit support?
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if 64bit support is requested" >&5
-$as_echo_n "checking if 64bit support is requested... " >&6; }
- # Check whether --enable-64bit was given.
-if test "${enable_64bit+set}" = set; then :
- enableval=$enable_64bit; do64bit=$enableval
-else
- do64bit=no
-fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $do64bit" >&5
-$as_echo "$do64bit" >&6; }
-
- # Step 0.b: Enable Solaris 64 bit VIS support?
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if 64bit Sparc VIS support is requested" >&5
-$as_echo_n "checking if 64bit Sparc VIS support is requested... " >&6; }
- # Check whether --enable-64bit-vis was given.
-if test "${enable_64bit_vis+set}" = set; then :
- enableval=$enable_64bit_vis; do64bitVIS=$enableval
-else
- do64bitVIS=no
-fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $do64bitVIS" >&5
-$as_echo "$do64bitVIS" >&6; }
- # Force 64bit on with VIS
- if test "$do64bitVIS" = "yes"; then :
- do64bit=yes
-fi
-
- # Step 0.c: Check if visibility support is available. Do this here so
- # that platform specific alternatives can be used below if this fails.
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if compiler supports visibility \"hidden\"" >&5
-$as_echo_n "checking if compiler supports visibility \"hidden\"... " >&6; }
-if ${tcl_cv_cc_visibility_hidden+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- hold_cflags=$CFLAGS; CFLAGS="$CFLAGS -Werror"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
- extern __attribute__((__visibility__("hidden"))) void f(void);
- void f(void) {}
-int
-main ()
-{
-f();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- tcl_cv_cc_visibility_hidden=yes
-else
- tcl_cv_cc_visibility_hidden=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- CFLAGS=$hold_cflags
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $tcl_cv_cc_visibility_hidden" >&5
-$as_echo "$tcl_cv_cc_visibility_hidden" >&6; }
- if test $tcl_cv_cc_visibility_hidden = yes; then :
-
-
-$as_echo "#define MODULE_SCOPE extern __attribute__((__visibility__(\"hidden\")))" >>confdefs.h
-
-
-$as_echo "#define HAVE_HIDDEN 1" >>confdefs.h
-
-
-fi
-
- # Step 0.d: Disable -rpath support?
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if rpath support is requested" >&5
-$as_echo_n "checking if rpath support is requested... " >&6; }
- # Check whether --enable-rpath was given.
-if test "${enable_rpath+set}" = set; then :
- enableval=$enable_rpath; doRpath=$enableval
-else
- doRpath=yes
-fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $doRpath" >&5
-$as_echo "$doRpath" >&6; }
-
- # Step 1: set the variable "system" to hold the name and version number
- # for the system.
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking system version" >&5
-$as_echo_n "checking system version... " >&6; }
-if ${tcl_cv_sys_version+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- if test -f /usr/lib/NextStep/software_version; then
- tcl_cv_sys_version=NEXTSTEP-`awk '/3/,/3/' /usr/lib/NextStep/software_version`
- else
- tcl_cv_sys_version=`uname -s`-`uname -r`
- if test "$?" -ne 0 ; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: can't find uname command" >&5
-$as_echo "$as_me: WARNING: can't find uname command" >&2;}
- tcl_cv_sys_version=unknown
- else
- # Special check for weird MP-RAS system (uname returns weird
- # results, and the version is kept in special file).
-
- if test -r /etc/.relid -a "X`uname -n`" = "X`uname -s`" ; then
- tcl_cv_sys_version=MP-RAS-`awk '{print $3}' /etc/.relid`
- fi
- if test "`uname -s`" = "AIX" ; then
- tcl_cv_sys_version=AIX-`uname -v`.`uname -r`
- fi
- fi
- fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $tcl_cv_sys_version" >&5
-$as_echo "$tcl_cv_sys_version" >&6; }
- system=$tcl_cv_sys_version
-
-
- # Step 2: check for existence of -ldl library. This is needed because
- # Linux can use either -ldl or -ldld for dynamic loading.
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if ${ac_cv_lib_dl_dlopen+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_dl_dlopen=yes
-else
- ac_cv_lib_dl_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
-$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
- have_dl=yes
-else
- have_dl=no
-fi
-
-
- # Require ranlib early so we can override it in special cases below.
-
-
-
- # Step 3: set configuration options based on system name and version.
-
- do64bit_ok=no
- # default to '{$LIBS}' and set to "" on per-platform necessary basis
- SHLIB_LD_LIBS='${LIBS}'
- LDFLAGS_ORIG="$LDFLAGS"
- # When ld needs options to work in 64-bit mode, put them in
- # LDFLAGS_ARCH so they eventually end up in LDFLAGS even if [load]
- # is disabled by the user. [Bug 1016796]
- LDFLAGS_ARCH=""
- UNSHARED_LIB_SUFFIX=""
- TCL_TRIM_DOTS='`echo ${VERSION} | tr -d .`'
- ECHO_VERSION='`echo ${VERSION}`'
- TCL_LIB_VERSIONS_OK=ok
- CFLAGS_DEBUG=-g
- if test "$GCC" = yes; then :
-
- CFLAGS_OPTIMIZE=-O2
- CFLAGS_WARNING="-Wall"
-
-else
-
- CFLAGS_OPTIMIZE=-O
- CFLAGS_WARNING=""
-
-fi
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ar; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AR+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$AR"; then
- ac_cv_prog_AR="$AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_AR="${ac_tool_prefix}ar"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-AR=$ac_cv_prog_AR
-if test -n "$AR"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
-$as_echo "$AR" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_AR"; then
- ac_ct_AR=$AR
- # Extract the first word of "ar", so it can be a program name with args.
-set dummy ar; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_AR+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_AR"; then
- ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_AR="ar"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_AR=$ac_cv_prog_ac_ct_AR
-if test -n "$ac_ct_AR"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
-$as_echo "$ac_ct_AR" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_AR" = x; then
- AR=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- AR=$ac_ct_AR
- fi
-else
- AR="$ac_cv_prog_AR"
-fi
-
- STLIB_LD='${AR} cr'
- LD_LIBRARY_PATH_VAR="LD_LIBRARY_PATH"
- PLAT_OBJS=""
- PLAT_SRCS=""
- LDAIX_SRC=""
- if test "x${SHLIB_VERSION}" = x; then :
- SHLIB_VERSION=".1.0"
-else
- SHLIB_VERSION=".${SHLIB_VERSION}"
-fi
- case $system in
- AIX-*)
- if test "${TCL_THREADS}" = "1" -a "$GCC" != "yes"; then :
-
- # AIX requires the _r compiler when gcc isn't being used
- case "${CC}" in
- *_r|*_r\ *)
- # ok ...
- ;;
- *)
- # Make sure only first arg gets _r
- CC=`echo "$CC" | sed -e 's/^\([^ ]*\)/\1_r/'`
- ;;
- esac
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: Using $CC for compiling with threads" >&5
-$as_echo "Using $CC for compiling with threads" >&6; }
-
-fi
- LIBS="$LIBS -lc"
- SHLIB_CFLAGS=""
- SHLIB_SUFFIX=".so"
-
- DL_OBJS="tclLoadDl.o"
- LD_LIBRARY_PATH_VAR="LIBPATH"
-
- # ldAix No longer needed with use of -bexpall/-brtl
- # but some extensions may still reference it
- LDAIX_SRC='$(UNIX_DIR)/ldAix'
-
- # Check to enable 64-bit flags for compiler/linker
- if test "$do64bit" = yes; then :
-
- if test "$GCC" = yes; then :
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 64bit mode not supported with GCC on $system" >&5
-$as_echo "$as_me: WARNING: 64bit mode not supported with GCC on $system" >&2;}
-
-else
-
- do64bit_ok=yes
- CFLAGS="$CFLAGS -q64"
- LDFLAGS_ARCH="-q64"
- RANLIB="${RANLIB} -X64"
- AR="${AR} -X64"
- SHLIB_LD_FLAGS="-b64"
-
-fi
-
-fi
-
- if test "`uname -m`" = ia64; then :
-
- # AIX-5 uses ELF style dynamic libraries on IA-64, but not PPC
- SHLIB_LD="/usr/ccs/bin/ld -G -z text"
- # AIX-5 has dl* in libc.so
- DL_LIBS=""
- if test "$GCC" = yes; then :
-
- CC_SEARCH_FLAGS='-Wl,-R,${LIB_RUNTIME_DIR}'
-
-else
-
- CC_SEARCH_FLAGS='-R${LIB_RUNTIME_DIR}'
-
-fi
- LD_SEARCH_FLAGS='-R ${LIB_RUNTIME_DIR}'
-
-else
-
- if test "$GCC" = yes; then :
-
- SHLIB_LD='${CC} -shared -Wl,-bexpall'
-
-else
-
- SHLIB_LD="/bin/ld -bhalt:4 -bM:SRE -bexpall -H512 -T512 -bnoentry"
- LDFLAGS="$LDFLAGS -brtl"
-
-fi
- SHLIB_LD="${SHLIB_LD} ${SHLIB_LD_FLAGS}"
- DL_LIBS="-ldl"
- CC_SEARCH_FLAGS='-L${LIB_RUNTIME_DIR}'
- LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
-
-fi
- ;;
- BeOS*)
- SHLIB_CFLAGS="-fPIC"
- SHLIB_LD='${CC} -nostart'
- SHLIB_SUFFIX=".so"
- DL_OBJS="tclLoadDl.o"
- DL_LIBS="-ldl"
-
- #-----------------------------------------------------------
- # Check for inet_ntoa in -lbind, for BeOS (which also needs
- # -lsocket, even if the network functions are in -lnet which
- # is always linked to, for compatibility.
- #-----------------------------------------------------------
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for inet_ntoa in -lbind" >&5
-$as_echo_n "checking for inet_ntoa in -lbind... " >&6; }
-if ${ac_cv_lib_bind_inet_ntoa+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lbind $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char inet_ntoa ();
-int
-main ()
-{
-return inet_ntoa ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_bind_inet_ntoa=yes
-else
- ac_cv_lib_bind_inet_ntoa=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bind_inet_ntoa" >&5
-$as_echo "$ac_cv_lib_bind_inet_ntoa" >&6; }
-if test "x$ac_cv_lib_bind_inet_ntoa" = xyes; then :
- LIBS="$LIBS -lbind -lsocket"
-fi
-
- ;;
- BSD/OS-2.1*|BSD/OS-3*)
- SHLIB_CFLAGS=""
- SHLIB_LD="shlicc -r"
- SHLIB_SUFFIX=".so"
- DL_OBJS="tclLoadDl.o"
- DL_LIBS="-ldl"
- CC_SEARCH_FLAGS=""
- LD_SEARCH_FLAGS=""
- ;;
- BSD/OS-4.*)
- SHLIB_CFLAGS="-export-dynamic -fPIC"
- SHLIB_LD='${CC} -shared'
- SHLIB_SUFFIX=".so"
- DL_OBJS="tclLoadDl.o"
- DL_LIBS="-ldl"
- LDFLAGS="$LDFLAGS -export-dynamic"
- CC_SEARCH_FLAGS=""
- LD_SEARCH_FLAGS=""
- ;;
- CYGWIN_*|MINGW32*)
- SHLIB_CFLAGS=""
- SHLIB_LD='${CC} -shared'
- SHLIB_SUFFIX=".dll"
- DL_OBJS="tclLoadDl.o"
- PLAT_OBJS='${CYGWIN_OBJS}'
- PLAT_SRCS='${CYGWIN_SRCS}'
- DL_LIBS="-ldl"
- CC_SEARCH_FLAGS=""
- LD_SEARCH_FLAGS=""
- TCL_NEEDS_EXP_FILE=1
- TCL_EXPORT_FILE_SUFFIX='${VERSION}\$\{DBGX\}.dll.a'
- SHLIB_LD_LIBS="${SHLIB_LD_LIBS} -Wl,--out-implib,\$@.a"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Cygwin version of gcc" >&5
-$as_echo_n "checking for Cygwin version of gcc... " >&6; }
-if ${ac_cv_cygwin+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
- #ifdef __CYGWIN__
- #error cygwin
- #endif
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_cygwin=no
-else
- ac_cv_cygwin=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cygwin" >&5
-$as_echo "$ac_cv_cygwin" >&6; }
- if test "$ac_cv_cygwin" = "no"; then
- as_fn_error $? "${CC} is not a cygwin compiler." "$LINENO" 5
- fi
- if test "x${TCL_THREADS}" = "x0"; then
- as_fn_error $? "CYGWIN compile is only supported with --enable-threads" "$LINENO" 5
- fi
- do64bit_ok=yes
- if test "x${SHARED_BUILD}" = "x1"; then
- echo "running cd ../win; ${CONFIG_SHELL-/bin/sh} ./configure $ac_configure_args"
- # The eval makes quoting arguments work.
- if cd ../win; eval ${CONFIG_SHELL-/bin/sh} ./configure $ac_configure_args; cd ../unix
- then :
- else
- { echo "configure: error: configure failed for ../win" 1>&2; exit 1; }
- fi
- fi
- ;;
- dgux*)
- SHLIB_CFLAGS="-K PIC"
- SHLIB_LD='${CC} -G'
- SHLIB_LD_LIBS=""
- SHLIB_SUFFIX=".so"
- DL_OBJS="tclLoadDl.o"
- DL_LIBS="-ldl"
- CC_SEARCH_FLAGS=""
- LD_SEARCH_FLAGS=""
- ;;
- Haiku*)
- LDFLAGS="$LDFLAGS -Wl,--export-dynamic"
- SHLIB_CFLAGS="-fPIC"
- SHLIB_SUFFIX=".so"
- SHLIB_LD='${CC} ${CFLAGS} ${LDFLAGS} -shared'
- DL_OBJS="tclLoadDl.o"
- DL_LIBS="-lroot"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for inet_ntoa in -lnetwork" >&5
-$as_echo_n "checking for inet_ntoa in -lnetwork... " >&6; }
-if ${ac_cv_lib_network_inet_ntoa+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lnetwork $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char inet_ntoa ();
-int
-main ()
-{
-return inet_ntoa ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_network_inet_ntoa=yes
-else
- ac_cv_lib_network_inet_ntoa=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_network_inet_ntoa" >&5
-$as_echo "$ac_cv_lib_network_inet_ntoa" >&6; }
-if test "x$ac_cv_lib_network_inet_ntoa" = xyes; then :
- LIBS="$LIBS -lnetwork"
-fi
-
- ;;
- HP-UX-*.11.*)
- # Use updated header definitions where possible
-
-$as_echo "#define _XOPEN_SOURCE_EXTENDED 1" >>confdefs.h
-
-
-$as_echo "#define _XOPEN_SOURCE 1" >>confdefs.h
-
- LIBS="$LIBS -lxnet" # Use the XOPEN network library
-
- if test "`uname -m`" = ia64; then :
-
- SHLIB_SUFFIX=".so"
-
-else
-
- SHLIB_SUFFIX=".sl"
-
-fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
-$as_echo_n "checking for shl_load in -ldld... " >&6; }
-if ${ac_cv_lib_dld_shl_load+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char shl_load ();
-int
-main ()
-{
-return shl_load ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_dld_shl_load=yes
-else
- ac_cv_lib_dld_shl_load=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
-$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
-if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
- tcl_ok=yes
-else
- tcl_ok=no
-fi
-
- if test "$tcl_ok" = yes; then :
-
- SHLIB_CFLAGS="+z"
- SHLIB_LD="ld -b"
- DL_OBJS="tclLoadShl.o"
- DL_LIBS="-ldld"
- LDFLAGS="$LDFLAGS -Wl,-E"
- CC_SEARCH_FLAGS='-Wl,+s,+b,${LIB_RUNTIME_DIR}:.'
- LD_SEARCH_FLAGS='+s +b ${LIB_RUNTIME_DIR}:.'
- LD_LIBRARY_PATH_VAR="SHLIB_PATH"
-
-fi
- if test "$GCC" = yes; then :
-
- SHLIB_LD='${CC} -shared'
- LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
-
-else
-
- CFLAGS="$CFLAGS -z"
-
-fi
-
- # Users may want PA-RISC 1.1/2.0 portable code - needs HP cc
- #CFLAGS="$CFLAGS +DAportable"
-
- # Check to enable 64-bit flags for compiler/linker
- if test "$do64bit" = "yes"; then :
-
- if test "$GCC" = yes; then :
-
- case `${CC} -dumpmachine` in
- hppa64*)
- # 64-bit gcc in use. Fix flags for GNU ld.
- do64bit_ok=yes
- SHLIB_LD='${CC} -shared'
- if test $doRpath = yes; then :
-
- CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
-fi
- LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
- ;;
- *)
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 64bit mode not supported with GCC on $system" >&5
-$as_echo "$as_me: WARNING: 64bit mode not supported with GCC on $system" >&2;}
- ;;
- esac
-
-else
-
- do64bit_ok=yes
- CFLAGS="$CFLAGS +DD64"
- LDFLAGS_ARCH="+DD64"
-
-fi
-
-fi ;;
- HP-UX-*.08.*|HP-UX-*.09.*|HP-UX-*.10.*)
- SHLIB_SUFFIX=".sl"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
-$as_echo_n "checking for shl_load in -ldld... " >&6; }
-if ${ac_cv_lib_dld_shl_load+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char shl_load ();
-int
-main ()
-{
-return shl_load ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_dld_shl_load=yes
-else
- ac_cv_lib_dld_shl_load=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
-$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
-if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
- tcl_ok=yes
-else
- tcl_ok=no
-fi
-
- if test "$tcl_ok" = yes; then :
-
- SHLIB_CFLAGS="+z"
- SHLIB_LD="ld -b"
- SHLIB_LD_LIBS=""
- DL_OBJS="tclLoadShl.o"
- DL_LIBS="-ldld"
- LDFLAGS="$LDFLAGS -Wl,-E"
- CC_SEARCH_FLAGS='-Wl,+s,+b,${LIB_RUNTIME_DIR}:.'
- LD_SEARCH_FLAGS='+s +b ${LIB_RUNTIME_DIR}:.'
- LD_LIBRARY_PATH_VAR="SHLIB_PATH"
-
-fi ;;
- IRIX-5.*)
- SHLIB_CFLAGS=""
- SHLIB_LD="ld -shared -rdata_shared"
- SHLIB_SUFFIX=".so"
- DL_OBJS="tclLoadDl.o"
- DL_LIBS=""
- case " $LIBOBJS " in
- *" mkstemp.$ac_objext "* ) ;;
- *) LIBOBJS="$LIBOBJS mkstemp.$ac_objext"
- ;;
-esac
-
- if test $doRpath = yes; then :
-
- CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
- LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR}'
-fi
- ;;
- IRIX-6.*)
- SHLIB_CFLAGS=""
- SHLIB_LD="ld -n32 -shared -rdata_shared"
- SHLIB_SUFFIX=".so"
- DL_OBJS="tclLoadDl.o"
- DL_LIBS=""
- case " $LIBOBJS " in
- *" mkstemp.$ac_objext "* ) ;;
- *) LIBOBJS="$LIBOBJS mkstemp.$ac_objext"
- ;;
-esac
-
- if test $doRpath = yes; then :
-
- CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
- LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR}'
-fi
- if test "$GCC" = yes; then :
-
- CFLAGS="$CFLAGS -mabi=n32"
- LDFLAGS="$LDFLAGS -mabi=n32"
-
-else
-
- case $system in
- IRIX-6.3)
- # Use to build 6.2 compatible binaries on 6.3.
- CFLAGS="$CFLAGS -n32 -D_OLD_TERMIOS"
- ;;
- *)
- CFLAGS="$CFLAGS -n32"
- ;;
- esac
- LDFLAGS="$LDFLAGS -n32"
-
-fi
- ;;
- IRIX64-6.*)
- SHLIB_CFLAGS=""
- SHLIB_LD="ld -n32 -shared -rdata_shared"
- SHLIB_SUFFIX=".so"
- DL_OBJS="tclLoadDl.o"
- DL_LIBS=""
- case " $LIBOBJS " in
- *" mkstemp.$ac_objext "* ) ;;
- *) LIBOBJS="$LIBOBJS mkstemp.$ac_objext"
- ;;
-esac
-
- if test $doRpath = yes; then :
-
- CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
- LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR}'
-fi
-
- # Check to enable 64-bit flags for compiler/linker
-
- if test "$do64bit" = yes; then :
-
- if test "$GCC" = yes; then :
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 64bit mode not supported by gcc" >&5
-$as_echo "$as_me: WARNING: 64bit mode not supported by gcc" >&2;}
-
-else
-
- do64bit_ok=yes
- SHLIB_LD="ld -64 -shared -rdata_shared"
- CFLAGS="$CFLAGS -64"
- LDFLAGS_ARCH="-64"
-
-fi
-
-fi
- ;;
- Linux*|GNU*|NetBSD-Debian)
- SHLIB_CFLAGS="-fPIC"
- SHLIB_SUFFIX=".so"
-
- CFLAGS_OPTIMIZE="-O2"
- # egcs-2.91.66 on Redhat Linux 6.0 generates lots of warnings
- # when you inline the string and math operations. Turn this off to
- # get rid of the warnings.
- #CFLAGS_OPTIMIZE="${CFLAGS_OPTIMIZE} -D__NO_STRING_INLINES -D__NO_MATH_INLINES"
-
- SHLIB_LD='${CC} ${CFLAGS} ${LDFLAGS} -shared'
- DL_OBJS="tclLoadDl.o"
- DL_LIBS="-ldl"
- LDFLAGS="$LDFLAGS -Wl,--export-dynamic"
- if test $doRpath = yes; then :
-
- CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
-fi
- LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
- if test "`uname -m`" = "alpha"; then :
- CFLAGS="$CFLAGS -mieee"
-fi
- if test $do64bit = yes; then :
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if compiler accepts -m64 flag" >&5
-$as_echo_n "checking if compiler accepts -m64 flag... " >&6; }
-if ${tcl_cv_cc_m64+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- hold_cflags=$CFLAGS
- CFLAGS="$CFLAGS -m64"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- tcl_cv_cc_m64=yes
-else
- tcl_cv_cc_m64=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- CFLAGS=$hold_cflags
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $tcl_cv_cc_m64" >&5
-$as_echo "$tcl_cv_cc_m64" >&6; }
- if test $tcl_cv_cc_m64 = yes; then :
-
- CFLAGS="$CFLAGS -m64"
- do64bit_ok=yes
-
-fi
-
-fi
-
- # The combo of gcc + glibc has a bug related to inlining of
- # functions like strtod(). The -fno-builtin flag should address
- # this problem but it does not work. The -fno-inline flag is kind
- # of overkill but it works. Disable inlining only when one of the
- # files in compat/*.c is being linked in.
-
- if test x"${USE_COMPAT}" != x; then :
- CFLAGS="$CFLAGS -fno-inline"
-fi
- ;;
- Lynx*)
- SHLIB_CFLAGS="-fPIC"
- SHLIB_SUFFIX=".so"
- CFLAGS_OPTIMIZE=-02
- SHLIB_LD='${CC} -shared'
- DL_OBJS="tclLoadDl.o"
- DL_LIBS="-mshared -ldl"
- LD_FLAGS="-Wl,--export-dynamic"
- if test $doRpath = yes; then :
-
- CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
- LD_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
-fi
- ;;
- MP-RAS-02*)
- SHLIB_CFLAGS="-K PIC"
- SHLIB_LD='${CC} -G'
- SHLIB_LD_LIBS=""
- SHLIB_SUFFIX=".so"
- DL_OBJS="tclLoadDl.o"
- DL_LIBS="-ldl"
- CC_SEARCH_FLAGS=""
- LD_SEARCH_FLAGS=""
- ;;
- MP-RAS-*)
- SHLIB_CFLAGS="-K PIC"
- SHLIB_LD='${CC} -G'
- SHLIB_LD_LIBS=""
- SHLIB_SUFFIX=".so"
- DL_OBJS="tclLoadDl.o"
- DL_LIBS="-ldl"
- LDFLAGS="$LDFLAGS -Wl,-Bexport"
- CC_SEARCH_FLAGS=""
- LD_SEARCH_FLAGS=""
- ;;
- OpenBSD-*)
- arch=`arch -s`
- case "$arch" in
- alpha|sparc64)
- SHLIB_CFLAGS="-fPIC"
- ;;
- *)
- SHLIB_CFLAGS="-fpic"
- ;;
- esac
- SHLIB_LD='${CC} ${SHLIB_CFLAGS} -shared'
- SHLIB_SUFFIX=".so"
- DL_OBJS="tclLoadDl.o"
- DL_LIBS=""
- if test $doRpath = yes; then :
-
- CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
-fi
- LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
- SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.so${SHLIB_VERSION}'
- LDFLAGS="-Wl,-export-dynamic"
- CFLAGS_OPTIMIZE="-O2"
- if test "${TCL_THREADS}" = "1"; then :
-
- # On OpenBSD: Compile with -pthread
- # Don't link with -lpthread
- LIBS=`echo $LIBS | sed s/-lpthread//`
- CFLAGS="$CFLAGS -pthread"
-
-fi
- # OpenBSD doesn't do version numbers with dots.
- UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.a'
- TCL_LIB_VERSIONS_OK=nodots
- ;;
- NetBSD-*)
- # NetBSD has ELF and can use 'cc -shared' to build shared libs
- SHLIB_CFLAGS="-fPIC"
- SHLIB_LD='${CC} ${SHLIB_CFLAGS} -shared'
- SHLIB_SUFFIX=".so"
- DL_OBJS="tclLoadDl.o"
- DL_LIBS=""
- LDFLAGS="$LDFLAGS -export-dynamic"
- if test $doRpath = yes; then :
-
- CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
-fi
- LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
- if test "${TCL_THREADS}" = "1"; then :
-
- # The -pthread needs to go in the CFLAGS, not LIBS
- LIBS=`echo $LIBS | sed s/-pthread//`
- CFLAGS="$CFLAGS -pthread"
- LDFLAGS="$LDFLAGS -pthread"
-
-fi
- ;;
- DragonFly-*|FreeBSD-*)
- # This configuration from FreeBSD Ports.
- SHLIB_CFLAGS="-fPIC"
- SHLIB_LD="${CC} -shared"
- SHLIB_LD_LIBS="${SHLIB_LD_LIBS} -Wl,-soname,\$@"
- SHLIB_SUFFIX=".so"
- DL_OBJS="tclLoadDl.o"
- DL_LIBS=""
- LDFLAGS=""
- if test $doRpath = yes; then :
-
- CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
- LD_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
-fi
- if test "${TCL_THREADS}" = "1"; then :
-
- # The -pthread needs to go in the LDFLAGS, not LIBS
- LIBS=`echo $LIBS | sed s/-pthread//`
- CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
- LDFLAGS="$LDFLAGS $PTHREAD_LIBS"
-fi
- case $system in
- FreeBSD-3.*)
- # Version numbers are dot-stripped by system policy.
- TCL_TRIM_DOTS=`echo ${VERSION} | tr -d .`
- UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.a'
- SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.so'
- TCL_LIB_VERSIONS_OK=nodots
- ;;
- esac
- ;;
- Darwin-*)
- CFLAGS_OPTIMIZE="-Os"
- SHLIB_CFLAGS="-fno-common"
- # To avoid discrepancies between what headers configure sees during
- # preprocessing tests and compiling tests, move any -isysroot and
- # -mmacosx-version-min flags from CFLAGS to CPPFLAGS:
- CPPFLAGS="${CPPFLAGS} `echo " ${CFLAGS}" | \
- awk 'BEGIN {FS=" +-";ORS=" "}; {for (i=2;i<=NF;i++) \
- if ($i~/^(isysroot|mmacosx-version-min)/) print "-"$i}'`"
- CFLAGS="`echo " ${CFLAGS}" | \
- awk 'BEGIN {FS=" +-";ORS=" "}; {for (i=2;i<=NF;i++) \
- if (!($i~/^(isysroot|mmacosx-version-min)/)) print "-"$i}'`"
- if test $do64bit = yes; then :
-
- case `arch` in
- ppc)
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if compiler accepts -arch ppc64 flag" >&5
-$as_echo_n "checking if compiler accepts -arch ppc64 flag... " >&6; }
-if ${tcl_cv_cc_arch_ppc64+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- hold_cflags=$CFLAGS
- CFLAGS="$CFLAGS -arch ppc64 -mpowerpc64 -mcpu=G5"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- tcl_cv_cc_arch_ppc64=yes
-else
- tcl_cv_cc_arch_ppc64=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- CFLAGS=$hold_cflags
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $tcl_cv_cc_arch_ppc64" >&5
-$as_echo "$tcl_cv_cc_arch_ppc64" >&6; }
- if test $tcl_cv_cc_arch_ppc64 = yes; then :
-
- CFLAGS="$CFLAGS -arch ppc64 -mpowerpc64 -mcpu=G5"
- do64bit_ok=yes
-
-fi;;
- i386)
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if compiler accepts -arch x86_64 flag" >&5
-$as_echo_n "checking if compiler accepts -arch x86_64 flag... " >&6; }
-if ${tcl_cv_cc_arch_x86_64+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- hold_cflags=$CFLAGS
- CFLAGS="$CFLAGS -arch x86_64"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- tcl_cv_cc_arch_x86_64=yes
-else
- tcl_cv_cc_arch_x86_64=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- CFLAGS=$hold_cflags
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $tcl_cv_cc_arch_x86_64" >&5
-$as_echo "$tcl_cv_cc_arch_x86_64" >&6; }
- if test $tcl_cv_cc_arch_x86_64 = yes; then :
-
- CFLAGS="$CFLAGS -arch x86_64"
- do64bit_ok=yes
-
-fi;;
- *)
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Don't know how enable 64-bit on architecture \`arch\`" >&5
-$as_echo "$as_me: WARNING: Don't know how enable 64-bit on architecture \`arch\`" >&2;};;
- esac
-
-else
-
- # Check for combined 32-bit and 64-bit fat build
- if echo "$CFLAGS " |grep -E -q -- '-arch (ppc64|x86_64) ' \
- && echo "$CFLAGS " |grep -E -q -- '-arch (ppc|i386) '; then :
-
- fat_32_64=yes
-fi
-
-fi
- SHLIB_LD='${CC} -dynamiclib ${CFLAGS} ${LDFLAGS}'
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if ld accepts -single_module flag" >&5
-$as_echo_n "checking if ld accepts -single_module flag... " >&6; }
-if ${tcl_cv_ld_single_module+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- hold_ldflags=$LDFLAGS
- LDFLAGS="$LDFLAGS -dynamiclib -Wl,-single_module"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-int i;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- tcl_cv_ld_single_module=yes
-else
- tcl_cv_ld_single_module=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LDFLAGS=$hold_ldflags
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $tcl_cv_ld_single_module" >&5
-$as_echo "$tcl_cv_ld_single_module" >&6; }
- if test $tcl_cv_ld_single_module = yes; then :
-
- SHLIB_LD="${SHLIB_LD} -Wl,-single_module"
-
-fi
- SHLIB_SUFFIX=".dylib"
- DL_OBJS="tclLoadDyld.o"
- DL_LIBS=""
- # Don't use -prebind when building for Mac OS X 10.4 or later only:
- if test "`echo "${MACOSX_DEPLOYMENT_TARGET}" | awk -F '10\\.' '{print int($2)}'`" -lt 4 -a \
- "`echo "${CPPFLAGS}" | awk -F '-mmacosx-version-min=10\\.' '{print int($2)}'`" -lt 4; then :
-
- LDFLAGS="$LDFLAGS -prebind"
-fi
- LDFLAGS="$LDFLAGS -headerpad_max_install_names"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if ld accepts -search_paths_first flag" >&5
-$as_echo_n "checking if ld accepts -search_paths_first flag... " >&6; }
-if ${tcl_cv_ld_search_paths_first+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- hold_ldflags=$LDFLAGS
- LDFLAGS="$LDFLAGS -Wl,-search_paths_first"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-int i;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- tcl_cv_ld_search_paths_first=yes
-else
- tcl_cv_ld_search_paths_first=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LDFLAGS=$hold_ldflags
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $tcl_cv_ld_search_paths_first" >&5
-$as_echo "$tcl_cv_ld_search_paths_first" >&6; }
- if test $tcl_cv_ld_search_paths_first = yes; then :
-
- LDFLAGS="$LDFLAGS -Wl,-search_paths_first"
-
-fi
- if test "$tcl_cv_cc_visibility_hidden" != yes; then :
-
-
-$as_echo "#define MODULE_SCOPE __private_extern__" >>confdefs.h
-
-
-fi
- CC_SEARCH_FLAGS=""
- LD_SEARCH_FLAGS=""
- LD_LIBRARY_PATH_VAR="DYLD_LIBRARY_PATH"
-
-$as_echo "#define MAC_OSX_TCL 1" >>confdefs.h
-
- PLAT_OBJS='${MAC_OSX_OBJS}'
- PLAT_SRCS='${MAC_OSX_SRCS}'
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use CoreFoundation" >&5
-$as_echo_n "checking whether to use CoreFoundation... " >&6; }
- # Check whether --enable-corefoundation was given.
-if test "${enable_corefoundation+set}" = set; then :
- enableval=$enable_corefoundation; tcl_corefoundation=$enableval
-else
- tcl_corefoundation=yes
-fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $tcl_corefoundation" >&5
-$as_echo "$tcl_corefoundation" >&6; }
- if test $tcl_corefoundation = yes; then :
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CoreFoundation.framework" >&5
-$as_echo_n "checking for CoreFoundation.framework... " >&6; }
-if ${tcl_cv_lib_corefoundation+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- hold_libs=$LIBS
- if test "$fat_32_64" = yes; then :
-
- for v in CFLAGS CPPFLAGS LDFLAGS; do
- # On Tiger there is no 64-bit CF, so remove 64-bit
- # archs from CFLAGS et al. while testing for
- # presence of CF. 64-bit CF is disabled in
- # tclUnixPort.h if necessary.
- eval 'hold_'$v'="$'$v'";'$v'="`echo "$'$v' "|sed -e "s/-arch ppc64 / /g" -e "s/-arch x86_64 / /g"`"'
- done
-fi
- LIBS="$LIBS -framework CoreFoundation"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <CoreFoundation/CoreFoundation.h>
-int
-main ()
-{
-CFBundleRef b = CFBundleGetMainBundle();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- tcl_cv_lib_corefoundation=yes
-else
- tcl_cv_lib_corefoundation=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- if test "$fat_32_64" = yes; then :
-
- for v in CFLAGS CPPFLAGS LDFLAGS; do
- eval $v'="$hold_'$v'"'
- done
-fi
- LIBS=$hold_libs
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $tcl_cv_lib_corefoundation" >&5
-$as_echo "$tcl_cv_lib_corefoundation" >&6; }
- if test $tcl_cv_lib_corefoundation = yes; then :
-
- LIBS="$LIBS -framework CoreFoundation"
-
-$as_echo "#define HAVE_COREFOUNDATION 1" >>confdefs.h
-
-
-else
- tcl_corefoundation=no
-fi
- if test "$fat_32_64" = yes -a $tcl_corefoundation = yes; then :
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 64-bit CoreFoundation" >&5
-$as_echo_n "checking for 64-bit CoreFoundation... " >&6; }
-if ${tcl_cv_lib_corefoundation_64+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- for v in CFLAGS CPPFLAGS LDFLAGS; do
- eval 'hold_'$v'="$'$v'";'$v'="`echo "$'$v' "|sed -e "s/-arch ppc / /g" -e "s/-arch i386 / /g"`"'
- done
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <CoreFoundation/CoreFoundation.h>
-int
-main ()
-{
-CFBundleRef b = CFBundleGetMainBundle();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- tcl_cv_lib_corefoundation_64=yes
-else
- tcl_cv_lib_corefoundation_64=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- for v in CFLAGS CPPFLAGS LDFLAGS; do
- eval $v'="$hold_'$v'"'
- done
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $tcl_cv_lib_corefoundation_64" >&5
-$as_echo "$tcl_cv_lib_corefoundation_64" >&6; }
- if test $tcl_cv_lib_corefoundation_64 = no; then :
-
-
-$as_echo "#define NO_COREFOUNDATION_64 1" >>confdefs.h
-
- LDFLAGS="$LDFLAGS -Wl,-no_arch_warnings"
-
-fi
-
-fi
-
-fi
- ;;
- NEXTSTEP-*)
- SHLIB_CFLAGS=""
- SHLIB_LD='${CC} -nostdlib -r'
- SHLIB_LD_LIBS=""
- SHLIB_SUFFIX=".so"
- DL_OBJS="tclLoadNext.o"
- DL_LIBS=""
- CC_SEARCH_FLAGS=""
- LD_SEARCH_FLAGS=""
- ;;
- OS/390-*)
- SHLIB_LD_LIBS=""
- CFLAGS_OPTIMIZE="" # Optimizer is buggy
-
-$as_echo "#define _OE_SOCKETS 1" >>confdefs.h
-
- ;;
- OSF1-1.0|OSF1-1.1|OSF1-1.2)
- # OSF/1 1.[012] from OSF, and derivatives, including Paragon OSF/1
- SHLIB_CFLAGS=""
- # Hack: make package name same as library name
- SHLIB_LD='ld -R -export :'
- SHLIB_LD_LIBS=""
- SHLIB_SUFFIX=".so"
- DL_OBJS="tclLoadOSF.o"
- DL_LIBS=""
- CC_SEARCH_FLAGS=""
- LD_SEARCH_FLAGS=""
- ;;
- OSF1-1.*)
- # OSF/1 1.3 from OSF using ELF, and derivatives, including AD2
- SHLIB_CFLAGS="-fPIC"
- if test "$SHARED_BUILD" = 1; then :
- SHLIB_LD="ld -shared"
-else
-
- SHLIB_LD="ld -non_shared"
-
-fi
- SHLIB_LD_LIBS=""
- SHLIB_SUFFIX=".so"
- DL_OBJS="tclLoadDl.o"
- DL_LIBS=""
- CC_SEARCH_FLAGS=""
- LD_SEARCH_FLAGS=""
- ;;
- OSF1-V*)
- # Digital OSF/1
- SHLIB_CFLAGS=""
- if test "$SHARED_BUILD" = 1; then :
-
- SHLIB_LD='ld -shared -expect_unresolved "*"'
-
-else
-
- SHLIB_LD='ld -non_shared -expect_unresolved "*"'
-
-fi
- SHLIB_SUFFIX=".so"
- DL_OBJS="tclLoadDl.o"
- DL_LIBS=""
- if test $doRpath = yes; then :
-
- CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
- LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR}'
-fi
- if test "$GCC" = yes; then :
- CFLAGS="$CFLAGS -mieee"
-else
-
- CFLAGS="$CFLAGS -DHAVE_TZSET -std1 -ieee"
-fi
- # see pthread_intro(3) for pthread support on osf1, k.furukawa
- if test "${TCL_THREADS}" = 1; then :
-
- CFLAGS="$CFLAGS -DHAVE_PTHREAD_ATTR_SETSTACKSIZE"
- CFLAGS="$CFLAGS -DTCL_THREAD_STACK_MIN=PTHREAD_STACK_MIN*64"
- LIBS=`echo $LIBS | sed s/-lpthreads//`
- if test "$GCC" = yes; then :
-
- LIBS="$LIBS -lpthread -lmach -lexc"
-
-else
-
- CFLAGS="$CFLAGS -pthread"
- LDFLAGS="$LDFLAGS -pthread"
-
-fi
-
-fi
- ;;
- QNX-6*)
- # QNX RTP
- # This may work for all QNX, but it was only reported for v6.
- SHLIB_CFLAGS="-fPIC"
- SHLIB_LD="ld -Bshareable -x"
- SHLIB_LD_LIBS=""
- SHLIB_SUFFIX=".so"
- DL_OBJS="tclLoadDl.o"
- # dlopen is in -lc on QNX
- DL_LIBS=""
- CC_SEARCH_FLAGS=""
- LD_SEARCH_FLAGS=""
- ;;
- SCO_SV-3.2*)
- # Note, dlopen is available only on SCO 3.2.5 and greater. However,
- # this test works, since "uname -s" was non-standard in 3.2.4 and
- # below.
- if test "$GCC" = yes; then :
-
- SHLIB_CFLAGS="-fPIC -melf"
- LDFLAGS="$LDFLAGS -melf -Wl,-Bexport"
-
-else
-
- SHLIB_CFLAGS="-Kpic -belf"
- LDFLAGS="$LDFLAGS -belf -Wl,-Bexport"
-
-fi
- SHLIB_LD="ld -G"
- SHLIB_LD_LIBS=""
- SHLIB_SUFFIX=".so"
- DL_OBJS="tclLoadDl.o"
- DL_LIBS=""
- CC_SEARCH_FLAGS=""
- LD_SEARCH_FLAGS=""
- ;;
- SINIX*5.4*)
- SHLIB_CFLAGS="-K PIC"
- SHLIB_LD='${CC} -G'
- SHLIB_LD_LIBS=""
- SHLIB_SUFFIX=".so"
- DL_OBJS="tclLoadDl.o"
- DL_LIBS="-ldl"
- CC_SEARCH_FLAGS=""
- LD_SEARCH_FLAGS=""
- ;;
- SunOS-4*)
- SHLIB_CFLAGS="-PIC"
- SHLIB_LD="ld"
- SHLIB_LD_LIBS=""
- SHLIB_SUFFIX=".so"
- DL_OBJS="tclLoadDl.o"
- DL_LIBS="-ldl"
- CC_SEARCH_FLAGS='-L${LIB_RUNTIME_DIR}'
- LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
-
- # SunOS can't handle version numbers with dots in them in library
- # specs, like -ltcl7.5, so use -ltcl75 instead. Also, it
- # requires an extra version number at the end of .so file names.
- # So, the library has to have a name like libtcl75.so.1.0
-
- SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.so${SHLIB_VERSION}'
- UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.a'
- TCL_LIB_VERSIONS_OK=nodots
- ;;
- SunOS-5.[0-6])
- # Careful to not let 5.10+ fall into this case
-
- # Note: If _REENTRANT isn't defined, then Solaris
- # won't define thread-safe library routines.
-
-
-$as_echo "#define _REENTRANT 1" >>confdefs.h
-
-
-$as_echo "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h
-
-
- SHLIB_CFLAGS="-KPIC"
- SHLIB_SUFFIX=".so"
- DL_OBJS="tclLoadDl.o"
- DL_LIBS="-ldl"
- if test "$GCC" = yes; then :
-
- SHLIB_LD='${CC} -shared'
- CC_SEARCH_FLAGS='-Wl,-R,${LIB_RUNTIME_DIR}'
- LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
-
-else
-
- SHLIB_LD="/usr/ccs/bin/ld -G -z text"
- CC_SEARCH_FLAGS='-R ${LIB_RUNTIME_DIR}'
- LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
-
-fi
- ;;
- SunOS-5*)
- # Note: If _REENTRANT isn't defined, then Solaris
- # won't define thread-safe library routines.
-
-
-$as_echo "#define _REENTRANT 1" >>confdefs.h
-
-
-$as_echo "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h
-
-
- SHLIB_CFLAGS="-KPIC"
-
- # Check to enable 64-bit flags for compiler/linker
- if test "$do64bit" = yes; then :
-
- arch=`isainfo`
- if test "$arch" = "sparcv9 sparc"; then :
-
- if test "$GCC" = yes; then :
-
- if test "`${CC} -dumpversion | awk -F. '{print $1}'`" -lt 3; then :
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 64bit mode not supported with GCC < 3.2 on $system" >&5
-$as_echo "$as_me: WARNING: 64bit mode not supported with GCC < 3.2 on $system" >&2;}
-
-else
-
- do64bit_ok=yes
- CFLAGS="$CFLAGS -m64 -mcpu=v9"
- LDFLAGS="$LDFLAGS -m64 -mcpu=v9"
- SHLIB_CFLAGS="-fPIC"
-
-fi
-
-else
-
- do64bit_ok=yes
- if test "$do64bitVIS" = yes; then :
-
- CFLAGS="$CFLAGS -xarch=v9a"
- LDFLAGS_ARCH="-xarch=v9a"
-
-else
-
- CFLAGS="$CFLAGS -xarch=v9"
- LDFLAGS_ARCH="-xarch=v9"
-
-fi
- # Solaris 64 uses this as well
- #LD_LIBRARY_PATH_VAR="LD_LIBRARY_PATH_64"
-
-fi
-
-else
- if test "$arch" = "amd64 i386"; then :
-
- if test "$GCC" = yes; then :
-
- case $system in
- SunOS-5.1[1-9]*|SunOS-5.[2-9][0-9]*)
- do64bit_ok=yes
- CFLAGS="$CFLAGS -m64"
- LDFLAGS="$LDFLAGS -m64";;
- *)
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 64bit mode not supported with GCC on $system" >&5
-$as_echo "$as_me: WARNING: 64bit mode not supported with GCC on $system" >&2;};;
- esac
-
-else
-
- do64bit_ok=yes
- case $system in
- SunOS-5.1[1-9]*|SunOS-5.[2-9][0-9]*)
- CFLAGS="$CFLAGS -m64"
- LDFLAGS="$LDFLAGS -m64";;
- *)
- CFLAGS="$CFLAGS -xarch=amd64"
- LDFLAGS="$LDFLAGS -xarch=amd64";;
- esac
-
-fi
-
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 64bit mode not supported for $arch" >&5
-$as_echo "$as_me: WARNING: 64bit mode not supported for $arch" >&2;}
-fi
-fi
-
-fi
-
- #--------------------------------------------------------------------
- # On Solaris 5.x i386 with the sunpro compiler we need to link
- # with sunmath to get floating point rounding control
- #--------------------------------------------------------------------
- if test "$GCC" = yes; then :
- use_sunmath=no
-else
-
- arch=`isainfo`
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use -lsunmath for fp rounding control" >&5
-$as_echo_n "checking whether to use -lsunmath for fp rounding control... " >&6; }
- if test "$arch" = "amd64 i386" -o "$arch" = "i386"; then :
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
- MATH_LIBS="-lsunmath $MATH_LIBS"
- ac_fn_c_check_header_mongrel "$LINENO" "sunmath.h" "ac_cv_header_sunmath_h" "$ac_includes_default"
-if test "x$ac_cv_header_sunmath_h" = xyes; then :
-
-fi
-
-
- use_sunmath=yes
-
-else
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- use_sunmath=no
-
-fi
-
-fi
- SHLIB_SUFFIX=".so"
- DL_OBJS="tclLoadDl.o"
- DL_LIBS="-ldl"
- if test "$GCC" = yes; then :
-
- SHLIB_LD='${CC} -shared'
- CC_SEARCH_FLAGS='-Wl,-R,${LIB_RUNTIME_DIR}'
- LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
- if test "$do64bit_ok" = yes; then :
-
- if test "$arch" = "sparcv9 sparc"; then :
-
- # We need to specify -static-libgcc or we need to
- # add the path to the sparv9 libgcc.
- SHLIB_LD="$SHLIB_LD -m64 -mcpu=v9 -static-libgcc"
- # for finding sparcv9 libgcc, get the regular libgcc
- # path, remove so name and append 'sparcv9'
- #v9gcclibdir="`gcc -print-file-name=libgcc_s.so` | ..."
- #CC_SEARCH_FLAGS="${CC_SEARCH_FLAGS},-R,$v9gcclibdir"
-
-else
- if test "$arch" = "amd64 i386"; then :
-
- SHLIB_LD="$SHLIB_LD -m64 -static-libgcc"
-
-fi
-fi
-
-fi
-
-else
-
- if test "$use_sunmath" = yes; then :
- textmode=textoff
-else
- textmode=text
-fi
- case $system in
- SunOS-5.[1-9][0-9]*|SunOS-5.[7-9])
- SHLIB_LD="\${CC} -G -z $textmode \${LDFLAGS}";;
- *)
- SHLIB_LD="/usr/ccs/bin/ld -G -z $textmode";;
- esac
- CC_SEARCH_FLAGS='-Wl,-R,${LIB_RUNTIME_DIR}'
- LD_SEARCH_FLAGS='-R ${LIB_RUNTIME_DIR}'
-
-fi
- ;;
- UNIX_SV* | UnixWare-5*)
- SHLIB_CFLAGS="-KPIC"
- SHLIB_LD='${CC} -G'
- SHLIB_LD_LIBS=""
- SHLIB_SUFFIX=".so"
- DL_OBJS="tclLoadDl.o"
- DL_LIBS="-ldl"
- # Some UNIX_SV* systems (unixware 1.1.2 for example) have linkers
- # that don't grok the -Bexport option. Test that it does.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld accepts -Bexport flag" >&5
-$as_echo_n "checking for ld accepts -Bexport flag... " >&6; }
-if ${tcl_cv_ld_Bexport+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- hold_ldflags=$LDFLAGS
- LDFLAGS="$LDFLAGS -Wl,-Bexport"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-int i;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- tcl_cv_ld_Bexport=yes
-else
- tcl_cv_ld_Bexport=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LDFLAGS=$hold_ldflags
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $tcl_cv_ld_Bexport" >&5
-$as_echo "$tcl_cv_ld_Bexport" >&6; }
- if test $tcl_cv_ld_Bexport = yes; then :
-
- LDFLAGS="$LDFLAGS -Wl,-Bexport"
-
-fi
- CC_SEARCH_FLAGS=""
- LD_SEARCH_FLAGS=""
- ;;
- esac
-
- if test "$do64bit" = yes -a "$do64bit_ok" = no; then :
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 64bit support being disabled -- don't know magic for this platform" >&5
-$as_echo "$as_me: WARNING: 64bit support being disabled -- don't know magic for this platform" >&2;}
-
-fi
-
- if test "$do64bit" = yes -a "$do64bit_ok" = yes; then :
-
-
-$as_echo "#define TCL_CFG_DO64BIT 1" >>confdefs.h
-
-
-fi
-
-
-
- # Step 4: disable dynamic loading if requested via a command-line switch.
-
- # Check whether --enable-load was given.
-if test "${enable_load+set}" = set; then :
- enableval=$enable_load; tcl_ok=$enableval
-else
- tcl_ok=yes
-fi
-
- if test "$tcl_ok" = no; then :
- DL_OBJS=""
-fi
-
- if test "x$DL_OBJS" != x; then :
- BUILD_DLTEST="\$(DLTEST_TARGETS)"
-else
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Can't figure out how to do dynamic loading or shared libraries on this system." >&5
-$as_echo "$as_me: WARNING: Can't figure out how to do dynamic loading or shared libraries on this system." >&2;}
- SHLIB_CFLAGS=""
- SHLIB_LD=""
- SHLIB_SUFFIX=""
- DL_OBJS="tclLoadNone.o"
- DL_LIBS=""
- LDFLAGS="$LDFLAGS_ORIG"
- CC_SEARCH_FLAGS=""
- LD_SEARCH_FLAGS=""
- BUILD_DLTEST=""
-
-fi
- LDFLAGS="$LDFLAGS $LDFLAGS_ARCH"
-
- # If we're running gcc, then change the C flags for compiling shared
- # libraries to the right flags for gcc, instead of those for the
- # standard manufacturer compiler.
-
- if test "$DL_OBJS" != "tclLoadNone.o" -a "$GCC" = yes; then :
-
- case $system in
- AIX-*) ;;
- BSD/OS*) ;;
- CYGWIN_*|MINGW32_*) ;;
- IRIX*) ;;
- NetBSD-*|DragonFly-*|FreeBSD-*|OpenBSD-*) ;;
- Darwin-*) ;;
- SCO_SV-3.2*) ;;
- *) SHLIB_CFLAGS="-fPIC" ;;
- esac
-fi
-
- if test "$tcl_cv_cc_visibility_hidden" != yes; then :
-
-
-$as_echo "#define MODULE_SCOPE extern" >>confdefs.h
-
-
-fi
-
- if test "$SHARED_LIB_SUFFIX" = ""; then :
-
- SHARED_LIB_SUFFIX='${VERSION}${SHLIB_SUFFIX}'
-fi
- if test "$UNSHARED_LIB_SUFFIX" = ""; then :
-
- UNSHARED_LIB_SUFFIX='${VERSION}.a'
-fi
- DLL_INSTALL_DIR="\$(LIB_INSTALL_DIR)"
-
- if test "${SHARED_BUILD}" = 1 -a "${SHLIB_SUFFIX}" != ""; then :
-
- LIB_SUFFIX=${SHARED_LIB_SUFFIX}
- MAKE_LIB='${SHLIB_LD} -o $@ ${OBJS} ${SHLIB_LD_LIBS} ${TCL_SHLIB_LD_EXTRAS} ${TK_SHLIB_LD_EXTRAS} ${LD_SEARCH_FLAGS}'
- if test "${SHLIB_SUFFIX}" = ".dll"; then :
-
- INSTALL_LIB='$(INSTALL_LIBRARY) $(LIB_FILE) "$(BIN_INSTALL_DIR)/$(LIB_FILE)";if test -f $(LIB_FILE).a; then $(INSTALL_DATA) $(LIB_FILE).a "$(LIB_INSTALL_DIR)"; fi;'
- DLL_INSTALL_DIR="\$(BIN_INSTALL_DIR)"
-
-else
-
- INSTALL_LIB='$(INSTALL_LIBRARY) $(LIB_FILE) "$(LIB_INSTALL_DIR)/$(LIB_FILE)"'
-
-fi
-
-else
-
- LIB_SUFFIX=${UNSHARED_LIB_SUFFIX}
-
- if test "$RANLIB" = ""; then :
-
- MAKE_LIB='$(STLIB_LD) $@ ${OBJS}'
-
-else
-
- MAKE_LIB='${STLIB_LD} $@ ${OBJS} ; ${RANLIB} $@'
-
-fi
- INSTALL_LIB='$(INSTALL_LIBRARY) $(LIB_FILE) "$(LIB_INSTALL_DIR)/$(LIB_FILE)"'
-
-fi
-
- # Stub lib does not depend on shared/static configuration
- if test "$RANLIB" = ""; then :
-
- MAKE_STUB_LIB='${STLIB_LD} $@ ${STUB_LIB_OBJS}'
-
-else
-
- MAKE_STUB_LIB='${STLIB_LD} $@ ${STUB_LIB_OBJS} ; ${RANLIB} $@'
-
-fi
- INSTALL_STUB_LIB='$(INSTALL_LIBRARY) $(STUB_LIB_FILE) "$(LIB_INSTALL_DIR)/$(STUB_LIB_FILE)"'
-
- # Define TCL_LIBS now that we know what DL_LIBS is.
- # The trick here is that we don't want to change the value of TCL_LIBS if
- # it is already set when tclConfig.sh had been loaded by Tk.
- if test "x${TCL_LIBS}" = x; then :
-
- TCL_LIBS="${DL_LIBS} ${LIBS} ${MATH_LIBS}"
-fi
-
-
- # See if the compiler supports casting to a union type.
- # This is used to stop gcc from printing a compiler
- # warning when initializing a union member.
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cast to union support" >&5
-$as_echo_n "checking for cast to union support... " >&6; }
-if ${tcl_cv_cast_to_union+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- union foo { int i; double d; };
- union foo f = (union foo) (int) 0;
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- tcl_cv_cast_to_union=yes
-else
- tcl_cv_cast_to_union=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $tcl_cv_cast_to_union" >&5
-$as_echo "$tcl_cv_cast_to_union" >&6; }
- if test "$tcl_cv_cast_to_union" = "yes"; then
-
-$as_echo "#define HAVE_CAST_TO_UNION 1" >>confdefs.h
-
- fi
-
- # FIXME: This subst was left in only because the TCL_DL_LIBS
- # entry in tclConfig.sh uses it. It is not clear why someone
- # would use TCL_DL_LIBS instead of TCL_LIBS.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define TCL_SHLIB_EXT "${SHLIB_SUFFIX}"
-_ACEOF
-
-
-
-
-
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for build with symbols" >&5
-$as_echo_n "checking for build with symbols... " >&6; }
- # Check whether --enable-symbols was given.
-if test "${enable_symbols+set}" = set; then :
- enableval=$enable_symbols; tcl_ok=$enableval
-else
- tcl_ok=no
-fi
-
-# FIXME: Currently, LDFLAGS_DEFAULT is not used, it should work like CFLAGS_DEFAULT.
- DBGX=""
- if test "$tcl_ok" = "no"; then
- CFLAGS_DEFAULT='$(CFLAGS_OPTIMIZE)'
- LDFLAGS_DEFAULT='$(LDFLAGS_OPTIMIZE)'
-
-$as_echo "#define NDEBUG 1" >>confdefs.h
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-$as_echo "#define TCL_CFG_OPTIMIZED 1" >>confdefs.h
-
- else
- CFLAGS_DEFAULT='$(CFLAGS_DEBUG)'
- LDFLAGS_DEFAULT='$(LDFLAGS_DEBUG)'
- if test "$tcl_ok" = "yes"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes (standard debugging)" >&5
-$as_echo "yes (standard debugging)" >&6; }
- fi
- fi
-
-
-
- if test "$tcl_ok" = "mem" -o "$tcl_ok" = "all"; then
-
-$as_echo "#define TCL_MEM_DEBUG 1" >>confdefs.h
-
- fi
-
-
-
- if test "$tcl_ok" != "yes" -a "$tcl_ok" != "no"; then
- if test "$tcl_ok" = "all"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: enabled symbols mem debugging" >&5
-$as_echo "enabled symbols mem debugging" >&6; }
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: enabled $tcl_ok debugging" >&5
-$as_echo "enabled $tcl_ok debugging" >&6; }
- fi
- fi
-
-
-#--------------------------------------------------------------------
-# Detect what compiler flags to set for 64-bit support.
-#--------------------------------------------------------------------
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for required early compiler flags" >&5
-$as_echo_n "checking for required early compiler flags... " >&6; }
- tcl_flags=""
-
- if ${tcl_cv_flag__isoc99_source+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-int
-main ()
-{
-char *p = (char *)strtoll; char *q = (char *)strtoull;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- tcl_cv_flag__isoc99_source=no
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#define _ISOC99_SOURCE 1
-#include <stdlib.h>
-int
-main ()
-{
-char *p = (char *)strtoll; char *q = (char *)strtoull;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- tcl_cv_flag__isoc99_source=yes
-else
- tcl_cv_flag__isoc99_source=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-
- if test "x${tcl_cv_flag__isoc99_source}" = "xyes" ; then
-
-$as_echo "#define _ISOC99_SOURCE 1" >>confdefs.h
-
- tcl_flags="$tcl_flags _ISOC99_SOURCE"
- fi
-
-
- if ${tcl_cv_flag__largefile64_source+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/stat.h>
-int
-main ()
-{
-struct stat64 buf; int i = stat64("/", &buf);
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- tcl_cv_flag__largefile64_source=no
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#define _LARGEFILE64_SOURCE 1
-#include <sys/stat.h>
-int
-main ()
-{
-struct stat64 buf; int i = stat64("/", &buf);
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- tcl_cv_flag__largefile64_source=yes
-else
- tcl_cv_flag__largefile64_source=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-
- if test "x${tcl_cv_flag__largefile64_source}" = "xyes" ; then
-
-$as_echo "#define _LARGEFILE64_SOURCE 1" >>confdefs.h
-
- tcl_flags="$tcl_flags _LARGEFILE64_SOURCE"
- fi
-
-
- if ${tcl_cv_flag__largefile_source64+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/stat.h>
-int
-main ()
-{
-char *p = (char *)open64;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- tcl_cv_flag__largefile_source64=no
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#define _LARGEFILE_SOURCE64 1
-#include <sys/stat.h>
-int
-main ()
-{
-char *p = (char *)open64;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- tcl_cv_flag__largefile_source64=yes
-else
- tcl_cv_flag__largefile_source64=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-
- if test "x${tcl_cv_flag__largefile_source64}" = "xyes" ; then
-
-$as_echo "#define _LARGEFILE_SOURCE64 1" >>confdefs.h
-
- tcl_flags="$tcl_flags _LARGEFILE_SOURCE64"
- fi
-
- if test "x${tcl_flags}" = "x" ; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
-$as_echo "none" >&6; }
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${tcl_flags}" >&5
-$as_echo "${tcl_flags}" >&6; }
- fi
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 64-bit integer type" >&5
-$as_echo_n "checking for 64-bit integer type... " >&6; }
- if ${tcl_cv_type_64bit+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- tcl_cv_type_64bit=none
- # See if the compiler knows natively about __int64
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-__int64 value = (__int64) 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- tcl_type_64bit=__int64
-else
- tcl_type_64bit="long long"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- # See if we should use long anyway Note that we substitute in the
- # type that is our current guess for a 64-bit type inside this check
- # program, so it should be modified only carefully...
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-switch (0) {
- case 1: case (sizeof(${tcl_type_64bit})==sizeof(long)): ;
- }
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- tcl_cv_type_64bit=${tcl_type_64bit}
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-
- if test "${tcl_cv_type_64bit}" = none ; then
-
-$as_echo "#define TCL_WIDE_INT_IS_LONG 1" >>confdefs.h
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: using long" >&5
-$as_echo "using long" >&6; }
- else
-
-cat >>confdefs.h <<_ACEOF
-#define TCL_WIDE_INT_TYPE ${tcl_cv_type_64bit}
-_ACEOF
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${tcl_cv_type_64bit}" >&5
-$as_echo "${tcl_cv_type_64bit}" >&6; }
-
- # Now check for auxiliary declarations
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct dirent64" >&5
-$as_echo_n "checking for struct dirent64... " >&6; }
-if ${tcl_cv_struct_dirent64+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <dirent.h>
-int
-main ()
-{
-struct dirent64 p;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- tcl_cv_struct_dirent64=yes
-else
- tcl_cv_struct_dirent64=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $tcl_cv_struct_dirent64" >&5
-$as_echo "$tcl_cv_struct_dirent64" >&6; }
- if test "x${tcl_cv_struct_dirent64}" = "xyes" ; then
-
-$as_echo "#define HAVE_STRUCT_DIRENT64 1" >>confdefs.h
-
- fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for DIR64" >&5
-$as_echo_n "checking for DIR64... " >&6; }
-if ${tcl_cv_DIR64+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <dirent.h>
-int
-main ()
-{
-struct dirent64 *p; DIR64 d = opendir64(".");
- p = readdir64(d); rewinddir64(d); closedir64(d);
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- tcl_cv_DIR64=yes
-else
- tcl_cv_DIR64=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $tcl_cv_DIR64" >&5
-$as_echo "$tcl_cv_DIR64" >&6; }
- if test "x${tcl_cv_DIR64}" = "xyes" ; then
-
-$as_echo "#define HAVE_DIR64 1" >>confdefs.h
-
- fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct stat64" >&5
-$as_echo_n "checking for struct stat64... " >&6; }
-if ${tcl_cv_struct_stat64+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/stat.h>
-int
-main ()
-{
-struct stat64 p;
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- tcl_cv_struct_stat64=yes
-else
- tcl_cv_struct_stat64=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $tcl_cv_struct_stat64" >&5
-$as_echo "$tcl_cv_struct_stat64" >&6; }
- if test "x${tcl_cv_struct_stat64}" = "xyes" ; then
-
-$as_echo "#define HAVE_STRUCT_STAT64 1" >>confdefs.h
-
- fi
-
- for ac_func in open64 lseek64
-do :
- as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
- cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for off64_t" >&5
-$as_echo_n "checking for off64_t... " >&6; }
- if ${tcl_cv_type_off64_t+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
-int
-main ()
-{
-off64_t offset;
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- tcl_cv_type_off64_t=yes
-else
- tcl_cv_type_off64_t=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-
- if test "x${tcl_cv_type_off64_t}" = "xyes" && \
- test "x${ac_cv_func_lseek64}" = "xyes" && \
- test "x${ac_cv_func_open64}" = "xyes" ; then
-
-$as_echo "#define HAVE_TYPE_OFF64_T 1" >>confdefs.h
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- fi
- fi
-
-
-#--------------------------------------------------------------------
-# Check endianness because we can optimize some operations
-#--------------------------------------------------------------------
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
-$as_echo_n "checking whether byte ordering is bigendian... " >&6; }
-if ${ac_cv_c_bigendian+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_cv_c_bigendian=unknown
- # See if we're dealing with a universal compiler.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifndef __APPLE_CC__
- not a universal capable compiler
- #endif
- typedef int dummy;
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
- # Check for potential -arch flags. It is not universal unless
- # there are at least two -arch flags with different values.
- ac_arch=
- ac_prev=
- for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do
- if test -n "$ac_prev"; then
- case $ac_word in
- i?86 | x86_64 | ppc | ppc64)
- if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then
- ac_arch=$ac_word
- else
- ac_cv_c_bigendian=universal
- break
- fi
- ;;
- esac
- ac_prev=
- elif test "x$ac_word" = "x-arch"; then
- ac_prev=arch
- fi
- done
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- if test $ac_cv_c_bigendian = unknown; then
- # See if sys/param.h defines the BYTE_ORDER macro.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
- #include <sys/param.h>
-
-int
-main ()
-{
-#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \
- && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \
- && LITTLE_ENDIAN)
- bogus endian macros
- #endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- # It does; now see whether it defined to BIG_ENDIAN or not.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
- #include <sys/param.h>
-
-int
-main ()
-{
-#if BYTE_ORDER != BIG_ENDIAN
- not big endian
- #endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_c_bigendian=yes
-else
- ac_cv_c_bigendian=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
- if test $ac_cv_c_bigendian = unknown; then
- # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris).
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <limits.h>
-
-int
-main ()
-{
-#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN)
- bogus endian macros
- #endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- # It does; now see whether it defined to _BIG_ENDIAN or not.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <limits.h>
-
-int
-main ()
-{
-#ifndef _BIG_ENDIAN
- not big endian
- #endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_c_bigendian=yes
-else
- ac_cv_c_bigendian=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
- if test $ac_cv_c_bigendian = unknown; then
- # Compile a test program.
- if test "$cross_compiling" = yes; then :
- # Try to guess by grepping values from an object file.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-short int ascii_mm[] =
- { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
- short int ascii_ii[] =
- { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
- int use_ascii (int i) {
- return ascii_mm[i] + ascii_ii[i];
- }
- short int ebcdic_ii[] =
- { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
- short int ebcdic_mm[] =
- { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
- int use_ebcdic (int i) {
- return ebcdic_mm[i] + ebcdic_ii[i];
- }
- extern int foo;
-
-int
-main ()
-{
-return use_ascii (foo) == use_ebcdic (foo);
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
- ac_cv_c_bigendian=yes
- fi
- if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
- if test "$ac_cv_c_bigendian" = unknown; then
- ac_cv_c_bigendian=no
- else
- # finding both strings is unlikely to happen, but who knows?
- ac_cv_c_bigendian=unknown
- fi
- fi
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-
- /* Are we little or big endian? From Harbison&Steele. */
- union
- {
- long int l;
- char c[sizeof (long int)];
- } u;
- u.l = 1;
- return u.c[sizeof (long int) - 1] == 1;
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- ac_cv_c_bigendian=no
-else
- ac_cv_c_bigendian=yes
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5
-$as_echo "$ac_cv_c_bigendian" >&6; }
- case $ac_cv_c_bigendian in #(
- yes)
- $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h
-;; #(
- no)
- ;; #(
- universal)
-
-$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
-
- ;; #(
- *)
- as_fn_error $? "unknown endianness
- presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
- esac
-
-
-#------------------------------------------------------------------------
-# If Tcl and Tk are installed in different places, adjust the library
-# search path to reflect this.
-#------------------------------------------------------------------------
-
-LIB_RUNTIME_DIR='$(libdir)'
-
-if test "$TCL_EXEC_PREFIX" != "$exec_prefix"; then
- LIB_RUNTIME_DIR="${LIB_RUNTIME_DIR}:${TCL_EXEC_PREFIX}/lib"
-fi
-
-if test "$TCL_PREFIX" != "$prefix"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING:
- Different --prefix selected for Tk and Tcl!
- [package require Tk] may not work correctly in tclsh." >&5
-$as_echo "$as_me: WARNING:
- Different --prefix selected for Tk and Tcl!
- [package require Tk] may not work correctly in tclsh." >&2;}
-fi
-
-#--------------------------------------------------------------------
-# Include sys/select.h if it exists and if it supplies things
-# that appear to be useful and aren't already in sys/types.h.
-# This appears to be true only on the RS/6000 under AIX. Some
-# systems like OSF/1 have a sys/select.h that's of no use, and
-# other systems like SCO UNIX have a sys/select.h that's
-# pernicious. If "fd_set" isn't defined anywhere then set a
-# special flag.
-#--------------------------------------------------------------------
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fd_set in sys/types" >&5
-$as_echo_n "checking for fd_set in sys/types... " >&6; }
-if ${tcl_cv_type_fd_set+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
-int
-main ()
-{
-fd_set readMask, writeMask;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- tcl_cv_type_fd_set=yes
-else
- tcl_cv_type_fd_set=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $tcl_cv_type_fd_set" >&5
-$as_echo "$tcl_cv_type_fd_set" >&6; }
-tk_ok=$tcl_cv_type_fd_set
-if test $tk_ok = no; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fd_mask in sys/select" >&5
-$as_echo_n "checking for fd_mask in sys/select... " >&6; }
-if ${tcl_cv_grep_fd_mask+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/select.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "fd_mask" >/dev/null 2>&1; then :
- tcl_cv_grep_fd_mask=present
-else
- tcl_cv_grep_fd_mask=missing
-fi
-rm -f conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $tcl_cv_grep_fd_mask" >&5
-$as_echo "$tcl_cv_grep_fd_mask" >&6; }
- if test $tcl_cv_grep_fd_mask = present; then
-
-$as_echo "#define HAVE_SYS_SELECT_H 1" >>confdefs.h
-
- tk_ok=yes
- fi
-fi
-if test $tk_ok = no; then
-
-$as_echo "#define NO_FD_SET 1" >>confdefs.h
-
-fi
-
-#------------------------------------------------------------------------------
-# Find out all about time handling differences.
-#------------------------------------------------------------------------------
-
-for ac_header in sys/time.h
-do :
- ac_fn_c_check_header_mongrel "$LINENO" "sys/time.h" "ac_cv_header_sys_time_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_time_h" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_SYS_TIME_H 1
-_ACEOF
-
-fi
-
-done
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether time.h and sys/time.h may both be included" >&5
-$as_echo_n "checking whether time.h and sys/time.h may both be included... " >&6; }
-if ${ac_cv_header_time+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <sys/time.h>
-#include <time.h>
-
-int
-main ()
-{
-if ((struct tm *) 0)
-return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_header_time=yes
-else
- ac_cv_header_time=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_time" >&5
-$as_echo "$ac_cv_header_time" >&6; }
-if test $ac_cv_header_time = yes; then
-
-$as_echo "#define TIME_WITH_SYS_TIME 1" >>confdefs.h
-
-fi
-
-
-#--------------------------------------------------------------------
-# Check for various typedefs and provide substitutes if
-# they don't exist.
-#--------------------------------------------------------------------
-
-ac_fn_c_check_type "$LINENO" "mode_t" "ac_cv_type_mode_t" "$ac_includes_default"
-if test "x$ac_cv_type_mode_t" = xyes; then :
-
-else
-
-cat >>confdefs.h <<_ACEOF
-#define mode_t int
-_ACEOF
-
-fi
-
-ac_fn_c_check_type "$LINENO" "pid_t" "ac_cv_type_pid_t" "$ac_includes_default"
-if test "x$ac_cv_type_pid_t" = xyes; then :
-
-else
-
-cat >>confdefs.h <<_ACEOF
-#define pid_t int
-_ACEOF
-
-fi
-
-ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
-if test "x$ac_cv_type_size_t" = xyes; then :
-
-else
-
-cat >>confdefs.h <<_ACEOF
-#define size_t unsigned int
-_ACEOF
-
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for uid_t in sys/types.h" >&5
-$as_echo_n "checking for uid_t in sys/types.h... " >&6; }
-if ${ac_cv_type_uid_t+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "uid_t" >/dev/null 2>&1; then :
- ac_cv_type_uid_t=yes
-else
- ac_cv_type_uid_t=no
-fi
-rm -f conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_uid_t" >&5
-$as_echo "$ac_cv_type_uid_t" >&6; }
-if test $ac_cv_type_uid_t = no; then
-
-$as_echo "#define uid_t int" >>confdefs.h
-
-
-$as_echo "#define gid_t int" >>confdefs.h
-
-fi
-
-
-ac_fn_c_check_type "$LINENO" "intptr_t" "ac_cv_type_intptr_t" "$ac_includes_default"
-if test "x$ac_cv_type_intptr_t" = xyes; then :
-
-
-$as_echo "#define HAVE_INTPTR_T 1" >>confdefs.h
-
-else
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pointer-size signed integer type" >&5
-$as_echo_n "checking for pointer-size signed integer type... " >&6; }
-if ${tcl_cv_intptr_t+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- for tcl_cv_intptr_t in "int" "long" "long long" none; do
- if test "$tcl_cv_intptr_t" != none; then
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(sizeof (void *) <= sizeof ($tcl_cv_intptr_t))];
-test_array [0] = 0;
-return test_array [0];
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- tcl_ok=yes
-else
- tcl_ok=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- test "$tcl_ok" = yes && break; fi
- done
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $tcl_cv_intptr_t" >&5
-$as_echo "$tcl_cv_intptr_t" >&6; }
- if test "$tcl_cv_intptr_t" != none; then
-
-cat >>confdefs.h <<_ACEOF
-#define intptr_t $tcl_cv_intptr_t
-_ACEOF
-
- fi
-
-fi
-
-ac_fn_c_check_type "$LINENO" "uintptr_t" "ac_cv_type_uintptr_t" "$ac_includes_default"
-if test "x$ac_cv_type_uintptr_t" = xyes; then :
-
-
-$as_echo "#define HAVE_UINTPTR_T 1" >>confdefs.h
-
-else
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pointer-size unsigned integer type" >&5
-$as_echo_n "checking for pointer-size unsigned integer type... " >&6; }
-if ${tcl_cv_uintptr_t+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- for tcl_cv_uintptr_t in "unsigned int" "unsigned long" "unsigned long long" \
- none; do
- if test "$tcl_cv_uintptr_t" != none; then
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(sizeof (void *) <= sizeof ($tcl_cv_uintptr_t))];
-test_array [0] = 0;
-return test_array [0];
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- tcl_ok=yes
-else
- tcl_ok=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- test "$tcl_ok" = yes && break; fi
- done
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $tcl_cv_uintptr_t" >&5
-$as_echo "$tcl_cv_uintptr_t" >&6; }
- if test "$tcl_cv_uintptr_t" != none; then
-
-cat >>confdefs.h <<_ACEOF
-#define uintptr_t $tcl_cv_uintptr_t
-_ACEOF
-
- fi
-
-fi
-
-
-#-------------------------------------------
-# In OS/390 struct pwd has no pw_gecos field
-#-------------------------------------------
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking pw_gecos in struct pwd" >&5
-$as_echo_n "checking pw_gecos in struct pwd... " >&6; }
-if ${tcl_cv_pwd_pw_gecos+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <pwd.h>
-int
-main ()
-{
-struct passwd pwd; pwd.pw_gecos;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- tcl_cv_pwd_pw_gecos=yes
-else
- tcl_cv_pwd_pw_gecos=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $tcl_cv_pwd_pw_gecos" >&5
-$as_echo "$tcl_cv_pwd_pw_gecos" >&6; }
-if test $tcl_cv_pwd_pw_gecos = yes; then
-
-$as_echo "#define HAVE_PW_GECOS 1" >>confdefs.h
-
-fi
-
-#--------------------------------------------------------------------
-# On Mac OS X, we can build either with X11 or with Aqua
-#--------------------------------------------------------------------
-
-if test "`uname -s`" = "Darwin" ; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use Aqua" >&5
-$as_echo_n "checking whether to use Aqua... " >&6; }
- # Check whether --enable-aqua was given.
-if test "${enable_aqua+set}" = set; then :
- enableval=$enable_aqua; tk_aqua=$enableval
-else
- tk_aqua=no
-fi
-
- if test $tk_aqua = yes -o $tk_aqua = cocoa; then
- tk_aqua=yes
- if test $tcl_corefoundation = no; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Aqua can only be used when CoreFoundation is available" >&5
-$as_echo "$as_me: WARNING: Aqua can only be used when CoreFoundation is available" >&2;}
- tk_aqua=no
- fi
- if test ! -d /System/Library/Frameworks/Cocoa.framework; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Aqua can only be used when Cocoa is available" >&5
-$as_echo "$as_me: WARNING: Aqua can only be used when Cocoa is available" >&2;}
- tk_aqua=no
- fi
- if test "`uname -r | awk -F. '{print $1}'`" -lt 9; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Aqua requires Mac OS X 10.5 or later" >&5
-$as_echo "$as_me: WARNING: Aqua requires Mac OS X 10.5 or later" >&2;}
- tk_aqua=no
- fi
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $tk_aqua" >&5
-$as_echo "$tk_aqua" >&6; }
- if test "$fat_32_64" = yes; then
- if test $tk_aqua = no; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 64-bit X11" >&5
-$as_echo_n "checking for 64-bit X11... " >&6; }
-if ${tcl_cv_lib_x11_64+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- for v in CFLAGS CPPFLAGS LDFLAGS; do
- eval 'hold_'$v'="$'$v'";'$v'="`echo "$'$v' "|sed -e "s/-arch ppc / /g" -e "s/-arch i386 / /g"`"'
- done
- CPPFLAGS="$CPPFLAGS -I/usr/X11R6/include"
- LDFLAGS="$LDFLAGS -L/usr/X11R6/lib -lX11"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <X11/Xlib.h>
-int
-main ()
-{
-XrmInitialize();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- tcl_cv_lib_x11_64=yes
-else
- tcl_cv_lib_x11_64=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- for v in CFLAGS CPPFLAGS LDFLAGS; do
- eval $v'="$hold_'$v'"'
- done
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $tcl_cv_lib_x11_64" >&5
-$as_echo "$tcl_cv_lib_x11_64" >&6; }
- fi
- # remove 64-bit arch flags from CFLAGS et al. for combined 32 & 64 bit
- # fat builds if configuration does not support 64-bit.
- if test "$tcl_cv_lib_x11_64" = no; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: Removing 64-bit architectures from compiler & linker flags" >&5
-$as_echo "$as_me: Removing 64-bit architectures from compiler & linker flags" >&6;}
- for v in CFLAGS CPPFLAGS LDFLAGS; do
- eval $v'="`echo "$'$v' "|sed -e "s/-arch ppc64 / /g" -e "s/-arch x86_64 / /g"`"'
- done
- fi
- fi
- if test $tk_aqua = no; then
- # check if weak linking whole libraries is possible.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if ld accepts -weak-l flag" >&5
-$as_echo_n "checking if ld accepts -weak-l flag... " >&6; }
-if ${tcl_cv_ld_weak_l+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- hold_ldflags=$LDFLAGS
- LDFLAGS="$LDFLAGS -Wl,-weak-lm"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
-double f = sin(1.0);
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- tcl_cv_ld_weak_l=yes
-else
- tcl_cv_ld_weak_l=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LDFLAGS=$hold_ldflags
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $tcl_cv_ld_weak_l" >&5
-$as_echo "$tcl_cv_ld_weak_l" >&6; }
- fi
- for ac_header in AvailabilityMacros.h
-do :
- ac_fn_c_check_header_mongrel "$LINENO" "AvailabilityMacros.h" "ac_cv_header_AvailabilityMacros_h" "$ac_includes_default"
-if test "x$ac_cv_header_AvailabilityMacros_h" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_AVAILABILITYMACROS_H 1
-_ACEOF
-
-fi
-
-done
-
- if test "$ac_cv_header_AvailabilityMacros_h" = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if weak import is available" >&5
-$as_echo_n "checking if weak import is available... " >&6; }
-if ${tcl_cv_cc_weak_import+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- hold_cflags=$CFLAGS; CFLAGS="$CFLAGS -Werror"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
- #ifdef __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__
- #if __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 1020
- #error __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 1020
- #endif
- #elif MAC_OS_X_VERSION_MIN_REQUIRED < 1020
- #error MAC_OS_X_VERSION_MIN_REQUIRED < 1020
- #endif
- int rand(void) __attribute__((weak_import));
-
-int
-main ()
-{
-rand();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- tcl_cv_cc_weak_import=yes
-else
- tcl_cv_cc_weak_import=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- CFLAGS=$hold_cflags
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $tcl_cv_cc_weak_import" >&5
-$as_echo "$tcl_cv_cc_weak_import" >&6; }
- if test $tcl_cv_cc_weak_import = yes; then
-
-$as_echo "#define HAVE_WEAK_IMPORT 1" >>confdefs.h
-
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if Darwin SUSv3 extensions are available" >&5
-$as_echo_n "checking if Darwin SUSv3 extensions are available... " >&6; }
-if ${tcl_cv_cc_darwin_c_source+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- hold_cflags=$CFLAGS; CFLAGS="$CFLAGS -Werror"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
- #ifdef __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__
- #if __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 1050
- #error __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 1050
- #endif
- #elif MAC_OS_X_VERSION_MIN_REQUIRED < 1050
- #error MAC_OS_X_VERSION_MIN_REQUIRED < 1050
- #endif
- #define _DARWIN_C_SOURCE 1
- #include <sys/cdefs.h>
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- tcl_cv_cc_darwin_c_source=yes
-else
- tcl_cv_cc_darwin_c_source=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- CFLAGS=$hold_cflags
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $tcl_cv_cc_darwin_c_source" >&5
-$as_echo "$tcl_cv_cc_darwin_c_source" >&6; }
- if test $tcl_cv_cc_darwin_c_source = yes; then
-
-$as_echo "#define _DARWIN_C_SOURCE 1" >>confdefs.h
-
- fi
- fi
-else
- tk_aqua=no
-fi
-
-if test $tk_aqua = yes; then
-
-$as_echo "#define MAC_OSX_TK 1" >>confdefs.h
-
- LIBS="$LIBS -framework Cocoa -framework Carbon -framework IOKit"
- EXTRA_CC_SWITCHES='-std=gnu99 -x objective-c'
- TK_WINDOWINGSYSTEM=AQUA
- if test -n "${enable_symbols}" -a "${enable_symbols}" != no; then
-
-$as_echo "#define TK_MAC_DEBUG 1" >>confdefs.h
-
- fi
-else
- #--------------------------------------------------------------------
- # Locate the X11 header files and the X11 library archive. Try
- # the ac_path_x macro first, but if it doesn't find the X stuff
- # (e.g. because there's no xmkmf program) then check through
- # a list of possible directories. Under some conditions the
- # autoconf macro will return an include directory that contains
- # no include files, so double-check its result just to be safe.
- #--------------------------------------------------------------------
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for X" >&5
-$as_echo_n "checking for X... " >&6; }
-
-
-# Check whether --with-x was given.
-if test "${with_x+set}" = set; then :
- withval=$with_x;
-fi
-
-# $have_x is `yes', `no', `disabled', or empty when we do not yet know.
-if test "x$with_x" = xno; then
- # The user explicitly disabled X.
- have_x=disabled
-else
- case $x_includes,$x_libraries in #(
- *\'*) as_fn_error $? "cannot use X directory names containing '" "$LINENO" 5;; #(
- *,NONE | NONE,*) if ${ac_cv_have_x+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # One or both of the vars are not set, and there is no cached value.
-ac_x_includes=no ac_x_libraries=no
-rm -f -r conftest.dir
-if mkdir conftest.dir; then
- cd conftest.dir
- cat >Imakefile <<'_ACEOF'
-incroot:
- @echo incroot='${INCROOT}'
-usrlibdir:
- @echo usrlibdir='${USRLIBDIR}'
-libdir:
- @echo libdir='${LIBDIR}'
-_ACEOF
- if (export CC; ${XMKMF-xmkmf}) >/dev/null 2>/dev/null && test -f Makefile; then
- # GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
- for ac_var in incroot usrlibdir libdir; do
- eval "ac_im_$ac_var=\`\${MAKE-make} $ac_var 2>/dev/null | sed -n 's/^$ac_var=//p'\`"
- done
- # Open Windows xmkmf reportedly sets LIBDIR instead of USRLIBDIR.
- for ac_extension in a so sl dylib la dll; do
- if test ! -f "$ac_im_usrlibdir/libX11.$ac_extension" &&
- test -f "$ac_im_libdir/libX11.$ac_extension"; then
- ac_im_usrlibdir=$ac_im_libdir; break
- fi
- done
- # Screen out bogus values from the imake configuration. They are
- # bogus both because they are the default anyway, and because
- # using them would break gcc on systems where it needs fixed includes.
- case $ac_im_incroot in
- /usr/include) ac_x_includes= ;;
- *) test -f "$ac_im_incroot/X11/Xos.h" && ac_x_includes=$ac_im_incroot;;
- esac
- case $ac_im_usrlibdir in
- /usr/lib | /usr/lib64 | /lib | /lib64) ;;
- *) test -d "$ac_im_usrlibdir" && ac_x_libraries=$ac_im_usrlibdir ;;
- esac
- fi
- cd ..
- rm -f -r conftest.dir
-fi
-
-# Standard set of common directories for X headers.
-# Check X11 before X11Rn because it is often a symlink to the current release.
-ac_x_header_dirs='
-/usr/X11/include
-/usr/X11R7/include
-/usr/X11R6/include
-/usr/X11R5/include
-/usr/X11R4/include
-
-/usr/include/X11
-/usr/include/X11R7
-/usr/include/X11R6
-/usr/include/X11R5
-/usr/include/X11R4
-
-/usr/local/X11/include
-/usr/local/X11R7/include
-/usr/local/X11R6/include
-/usr/local/X11R5/include
-/usr/local/X11R4/include
-
-/usr/local/include/X11
-/usr/local/include/X11R7
-/usr/local/include/X11R6
-/usr/local/include/X11R5
-/usr/local/include/X11R4
-
-/usr/X386/include
-/usr/x386/include
-/usr/XFree86/include/X11
-
-/usr/include
-/usr/local/include
-/usr/unsupported/include
-/usr/athena/include
-/usr/local/x11r5/include
-/usr/lpp/Xamples/include
-
-/usr/openwin/include
-/usr/openwin/share/include'
-
-if test "$ac_x_includes" = no; then
- # Guess where to find include files, by looking for Xlib.h.
- # First, try using that file with no special directory specified.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <X11/Xlib.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
- # We can compile using X headers with no special include directory.
-ac_x_includes=
-else
- for ac_dir in $ac_x_header_dirs; do
- if test -r "$ac_dir/X11/Xlib.h"; then
- ac_x_includes=$ac_dir
- break
- fi
-done
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-fi # $ac_x_includes = no
-
-if test "$ac_x_libraries" = no; then
- # Check for the libraries.
- # See if we find them without any special options.
- # Don't add to $LIBS permanently.
- ac_save_LIBS=$LIBS
- LIBS="-lX11 $LIBS"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <X11/Xlib.h>
-int
-main ()
-{
-XrmInitialize ()
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- LIBS=$ac_save_LIBS
-# We can link X programs with no special library path.
-ac_x_libraries=
-else
- LIBS=$ac_save_LIBS
-for ac_dir in `$as_echo "$ac_x_includes $ac_x_header_dirs" | sed s/include/lib/g`
-do
- # Don't even attempt the hair of trying to link an X program!
- for ac_extension in a so sl dylib la dll; do
- if test -r "$ac_dir/libX11.$ac_extension"; then
- ac_x_libraries=$ac_dir
- break 2
- fi
- done
-done
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi # $ac_x_libraries = no
-
-case $ac_x_includes,$ac_x_libraries in #(
- no,* | *,no | *\'*)
- # Didn't find X, or a directory has "'" in its name.
- ac_cv_have_x="have_x=no";; #(
- *)
- # Record where we found X for the cache.
- ac_cv_have_x="have_x=yes\
- ac_x_includes='$ac_x_includes'\
- ac_x_libraries='$ac_x_libraries'"
-esac
-fi
-;; #(
- *) have_x=yes;;
- esac
- eval "$ac_cv_have_x"
-fi # $with_x != no
-
-if test "$have_x" != yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_x" >&5
-$as_echo "$have_x" >&6; }
- no_x=yes
-else
- # If each of the values was on the command line, it overrides each guess.
- test "x$x_includes" = xNONE && x_includes=$ac_x_includes
- test "x$x_libraries" = xNONE && x_libraries=$ac_x_libraries
- # Update the cache value to reflect the command line values.
- ac_cv_have_x="have_x=yes\
- ac_x_includes='$x_includes'\
- ac_x_libraries='$x_libraries'"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: libraries $x_libraries, headers $x_includes" >&5
-$as_echo "libraries $x_libraries, headers $x_includes" >&6; }
-fi
-
- not_really_there=""
- if test "$no_x" = ""; then
- if test "$x_includes" = ""; then
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <X11/Xlib.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
- not_really_there="yes"
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
- else
- if test ! -r $x_includes/X11/Xlib.h; then
- not_really_there="yes"
- fi
- fi
- fi
- if test "$no_x" = "yes" -o "$not_really_there" = "yes"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for X11 header files" >&5
-$as_echo_n "checking for X11 header files... " >&6; }
- found_xincludes="no"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <X11/Xlib.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
- found_xincludes="yes"
-else
- found_xincludes="no"
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
- if test "$found_xincludes" = "no"; then
- dirs="/usr/unsupported/include /usr/local/include /usr/X386/include /usr/X11R6/include /usr/X11R5/include /usr/include/X11R5 /usr/include/X11R4 /usr/openwin/include /usr/X11/include /usr/sww/include"
- for i in $dirs ; do
- if test -r $i/X11/Xlib.h; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $i" >&5
-$as_echo "$i" >&6; }
- XINCLUDES=" -I$i"
- found_xincludes="yes"
- break
- fi
- done
- fi
- else
- if test "$x_includes" != ""; then
- XINCLUDES="-I$x_includes"
- found_xincludes="yes"
- fi
- fi
- if test "$found_xincludes" = "no"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: couldn't find any!" >&5
-$as_echo "couldn't find any!" >&6; }
- fi
-
- if test "$no_x" = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for X11 libraries" >&5
-$as_echo_n "checking for X11 libraries... " >&6; }
- XLIBSW=nope
- dirs="/usr/unsupported/lib /usr/local/lib /usr/X386/lib /usr/X11R6/lib /usr/X11R5/lib /usr/lib/X11R5 /usr/lib/X11R4 /usr/openwin/lib /usr/X11/lib /usr/sww/X11/lib"
- for i in $dirs ; do
- if test -r $i/libX11.a -o -r $i/libX11.so -o -r $i/libX11.sl -o -r $i/libX11.dylib; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $i" >&5
-$as_echo "$i" >&6; }
- XLIBSW="-L$i -lX11"
- x_libraries="$i"
- break
- fi
- done
- else
- if test "$x_libraries" = ""; then
- XLIBSW=-lX11
- else
- XLIBSW="-L$x_libraries -lX11"
- fi
- fi
- if test "$XLIBSW" = nope ; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XCreateWindow in -lXwindow" >&5
-$as_echo_n "checking for XCreateWindow in -lXwindow... " >&6; }
-if ${ac_cv_lib_Xwindow_XCreateWindow+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lXwindow $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char XCreateWindow ();
-int
-main ()
-{
-return XCreateWindow ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_Xwindow_XCreateWindow=yes
-else
- ac_cv_lib_Xwindow_XCreateWindow=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Xwindow_XCreateWindow" >&5
-$as_echo "$ac_cv_lib_Xwindow_XCreateWindow" >&6; }
-if test "x$ac_cv_lib_Xwindow_XCreateWindow" = xyes; then :
- XLIBSW=-lXwindow
-fi
-
- fi
- if test "$XLIBSW" = nope ; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: could not find any! Using -lX11." >&5
-$as_echo "could not find any! Using -lX11." >&6; }
- XLIBSW=-lX11
- fi
-
- TK_WINDOWINGSYSTEM=X11
-fi
-
-#--------------------------------------------------------------------
-# Various manipulations on the search path used at runtime to
-# find shared libraries:
-# 1. If the X library binaries are in a non-standard directory,
-# add the X library location into that search path.
-# 2. On systems such as AIX and Ultrix that use "-L" as the
-# search path option, colons cannot be used to separate
-# directories from each other. Change colons to " -L".
-# 3. Create two sets of search flags, one for use in cc lines
-# and the other for when the linker is invoked directly. In
-# the second case, '-Wl,' must be stripped off and commas must
-# be replaced by spaces.
-#--------------------------------------------------------------------
-
-if test "x${x_libraries}" != "x"; then
- if test "x${x_libraries}" != "xNONE"; then
- LIB_RUNTIME_DIR="${LIB_RUNTIME_DIR}:${x_libraries}"
- fi
-fi
-if test "${TCL_LD_SEARCH_FLAGS}" = '-L${LIB_RUNTIME_DIR}'; then
- LIB_RUNTIME_DIR=`echo ${LIB_RUNTIME_DIR} |sed -e 's/:/ -L/g'`
-fi
-
-#--------------------------------------------------------------------
-# Check for the existence of various libraries. The order here
-# is important, so that then end up in the right order in the
-# command line generated by make. The -lsocket and -lnsl libraries
-# require a couple of special tricks:
-# 1. Use "connect" and "accept" to check for -lsocket, and
-# "gethostbyname" to check for -lnsl.
-# 2. Use each function name only once: can't redo a check because
-# autoconf caches the results of the last check and won't redo it.
-# 3. Use -lnsl and -lsocket only if they supply procedures that
-# aren't already present in the normal libraries. This is because
-# IRIX 5.2 has libraries, but they aren't needed and they're
-# bogus: they goof up name resolution if used.
-# 4. On some SVR4 systems, can't use -lsocket without -lnsl too.
-# To get around this problem, check for both libraries together
-# if -lsocket doesn't work by itself.
-#--------------------------------------------------------------------
-
-if test $tk_aqua = no; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lXbsd" >&5
-$as_echo_n "checking for main in -lXbsd... " >&6; }
-if ${ac_cv_lib_Xbsd_main+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lXbsd $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-
-int
-main ()
-{
-return main ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_Xbsd_main=yes
-else
- ac_cv_lib_Xbsd_main=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Xbsd_main" >&5
-$as_echo "$ac_cv_lib_Xbsd_main" >&6; }
-if test "x$ac_cv_lib_Xbsd_main" = xyes; then :
- LIBS="$LIBS -lXbsd"
-fi
-
-fi
-
-#--------------------------------------------------------------------
-# One more check related to the X libraries. The standard releases
-# of Ultrix don't support the "xauth" mechanism, so send won't work
-# unless TK_NO_SECURITY is defined. However, there are usually copies
-# of the MIT X server available as well, which do support xauth.
-# Check for the MIT stuff and use it if it exists.
-#
-# Note: can't use ac_check_lib macro (at least, not in Autoconf 2.1)
-# because it can't deal with the "-" in the library name.
-#--------------------------------------------------------------------
-
-if test -d /usr/include/mit -a $tk_aqua = no; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking MIT X libraries" >&5
-$as_echo_n "checking MIT X libraries... " >&6; }
- tk_oldCFlags=$CFLAGS
- CFLAGS="$CFLAGS -I/usr/include/mit"
- tk_oldLibs=$LIBS
- LIBS="$LIBS -lX11-mit"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
- #include <X11/Xlib.h>
-
-int
-main ()
-{
-
- XOpenDisplay(0);
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
- XLIBSW="-lX11-mit"
- XINCLUDES="-I/usr/include/mit"
-
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- CFLAGS=$tk_oldCFlags
- LIBS=$tk_oldLibs
-fi
-
-#--------------------------------------------------------------------
-# Check for freetype / fontconfig / Xft support.
-#--------------------------------------------------------------------
-
-if test $tk_aqua = no; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use xft" >&5
-$as_echo_n "checking whether to use xft... " >&6; }
- # Check whether --enable-xft was given.
-if test "${enable_xft+set}" = set; then :
- enableval=$enable_xft; enable_xft=$enableval
-else
- enable_xft="default"
-fi
-
- XFT_CFLAGS=""
- XFT_LIBS=""
- if test "$enable_xft" = "no" ; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_xft" >&5
-$as_echo "$enable_xft" >&6; }
- else
- found_xft="yes"
- XFT_CFLAGS=`xft-config --cflags 2>/dev/null` || found_xft="no"
- XFT_LIBS=`xft-config --libs 2>/dev/null` || found_xft="no"
- if test "$found_xft" = "no" ; then
- found_xft=yes
- XFT_CFLAGS=`pkg-config --cflags xft 2>/dev/null` || found_xft="no"
- XFT_LIBS=`pkg-config --libs xft 2>/dev/null` || found_xft="no"
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $found_xft" >&5
-$as_echo "$found_xft" >&6; }
- if test "$found_xft" = "yes" ; then
- tk_oldCFlags=$CFLAGS
- CFLAGS="$CFLAGS $XINCLUDES $XFT_CFLAGS"
- tk_oldLibs=$LIBS
- LIBS="$tk_oldLIBS $XFT_LIBS $XLIBSW"
- ac_fn_c_check_header_compile "$LINENO" "X11/Xft/Xft.h" "ac_cv_header_X11_Xft_Xft_h" "#include <X11/Xlib.h>
-"
-if test "x$ac_cv_header_X11_Xft_Xft_h" = xyes; then :
-
-else
-
- found_xft=no
-
-fi
-
-
- CFLAGS=$tk_oldCFlags
- LIBS=$tk_oldLibs
- fi
- if test "$found_xft" = "yes" ; then
- tk_oldCFlags=$CFLAGS
- CFLAGS="$CFLAGS $XINCLUDES $XFT_CFLAGS"
- tk_oldLibs=$LIBS
- LIBS="$tk_oldLIBS $XFT_LIBS $XLIBSW"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XftFontOpen in -lXft" >&5
-$as_echo_n "checking for XftFontOpen in -lXft... " >&6; }
-if ${ac_cv_lib_Xft_XftFontOpen+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lXft $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char XftFontOpen ();
-int
-main ()
-{
-return XftFontOpen ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_Xft_XftFontOpen=yes
-else
- ac_cv_lib_Xft_XftFontOpen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Xft_XftFontOpen" >&5
-$as_echo "$ac_cv_lib_Xft_XftFontOpen" >&6; }
-if test "x$ac_cv_lib_Xft_XftFontOpen" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBXFT 1
-_ACEOF
-
- LIBS="-lXft $LIBS"
-
-else
-
- found_xft=no
-
-fi
-
- CFLAGS=$tk_oldCFlags
- LIBS=$tk_oldLibs
- fi
- if test "$found_xft" = "yes" ; then
- tk_oldCFlags=$CFLAGS
- CFLAGS="$CFLAGS $XINCLUDES $XFT_CFLAGS"
- tk_oldLibs=$LIBS
- LIBS="$tk_oldLIBS $XFT_LIBS $XLIBSW -lfontconfig"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for FcFontSort in -lfontconfig" >&5
-$as_echo_n "checking for FcFontSort in -lfontconfig... " >&6; }
-if ${ac_cv_lib_fontconfig_FcFontSort+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lfontconfig $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char FcFontSort ();
-int
-main ()
-{
-return FcFontSort ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_fontconfig_FcFontSort=yes
-else
- ac_cv_lib_fontconfig_FcFontSort=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fontconfig_FcFontSort" >&5
-$as_echo "$ac_cv_lib_fontconfig_FcFontSort" >&6; }
-if test "x$ac_cv_lib_fontconfig_FcFontSort" = xyes; then :
-
- XFT_LIBS="$XFT_LIBS -lfontconfig"
-
-fi
-
- CFLAGS=$tk_oldCFlags
- LIBS=$tk_oldLibs
- fi
- if test "$found_xft" = "no" ; then
- if test "$enable_xft" = "yes" ; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Can't find xft configuration, or xft is unusable" >&5
-$as_echo "$as_me: WARNING: Can't find xft configuration, or xft is unusable" >&2;}
- fi
- enable_xft=no
- XFT_CFLAGS=""
- XFT_LIBS=""
- else
- enable_xft=yes
- fi
- fi
- if test $enable_xft = "yes" ; then
- UNIX_FONT_OBJS=tkUnixRFont.o
-
-$as_echo "#define HAVE_XFT 1" >>confdefs.h
-
- else
- UNIX_FONT_OBJS=tkUnixFont.o
- fi
-
-
-
-fi
-
-#--------------------------------------------------------------------
-# Check for XkbKeycodeToKeysym.
-#--------------------------------------------------------------------
-
-if test $tk_aqua = no; then
- tk_oldCFlags=$CFLAGS
- tk_oldLibs=$LIBS
- CFLAGS="$CFLAGS $XINCLUDES"
- LIBS="$LIBS $XLIBSW"
- ac_fn_c_check_header_compile "$LINENO" "X11/XKBlib.h" "ac_cv_header_X11_XKBlib_h" "#include <X11/Xlib.h>
-"
-if test "x$ac_cv_header_X11_XKBlib_h" = xyes; then :
-
- xkblib_header_found=yes
-
-else
-
- xkblib_header_found=no
-
-fi
-
-
- if test $xkblib_header_found = "yes" ; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XkbKeycodeToKeysym in -lX11" >&5
-$as_echo_n "checking for XkbKeycodeToKeysym in -lX11... " >&6; }
-if ${ac_cv_lib_X11_XkbKeycodeToKeysym+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lX11 $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char XkbKeycodeToKeysym ();
-int
-main ()
-{
-return XkbKeycodeToKeysym ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_X11_XkbKeycodeToKeysym=yes
-else
- ac_cv_lib_X11_XkbKeycodeToKeysym=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_X11_XkbKeycodeToKeysym" >&5
-$as_echo "$ac_cv_lib_X11_XkbKeycodeToKeysym" >&6; }
-if test "x$ac_cv_lib_X11_XkbKeycodeToKeysym" = xyes; then :
-
- xkbkeycodetokeysym_found=yes
-
-else
-
- xkbkeycodetokeysym_found=no
-
-fi
-
- else
- xkbkeycodetokeysym_found=no
- fi
- if test $xkbkeycodetokeysym_found = "yes" ; then
-
-$as_echo "#define HAVE_XKBKEYCODETOKEYSYM 1" >>confdefs.h
-
- fi
- CFLAGS=$tk_oldCFlags
- LIBS=$tk_oldLibs
-fi
-
-#--------------------------------------------------------------------
-# Check whether XKeycodeToKeysym is deprecated in X11 headers.
-#--------------------------------------------------------------------
-
-if test $tk_aqua = no && test "$GCC" = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether XKeycodeToKeysym is deprecated" >&5
-$as_echo_n "checking whether XKeycodeToKeysym is deprecated... " >&6; }
- tk_oldCFlags=$CFLAGS
- CFLAGS="$CFLAGS -Werror"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
- #include <X11/Xlib.h>
-
-int
-main ()
-{
-
- XKeycodeToKeysym(0,0,0);
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-else
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-$as_echo "#define XKEYCODETOKEYSYM_IS_DEPRECATED 1" >>confdefs.h
-
-
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- CFLAGS=$tk_oldCFlags
-fi
-
-#--------------------------------------------------------------------
-# XXX Do this last.
-# It might modify XLIBSW which could affect other tests.
-#
-# Check whether the header and library for the XScreenSaver
-# extension are available, and set HAVE_XSS if so.
-# XScreenSaver is needed for Tk_GetUserInactiveTime().
-#--------------------------------------------------------------------
-
-if test $tk_aqua = no; then
- tk_oldCFlags=$CFLAGS
- CFLAGS="$CFLAGS $XINCLUDES"
- tk_oldLibs=$LIBS
- LIBS="$tk_oldLibs $XLIBSW"
- xss_header_found=no
- xss_lib_found=no
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to try to use XScreenSaver" >&5
-$as_echo_n "checking whether to try to use XScreenSaver... " >&6; }
- # Check whether --enable-xss was given.
-if test "${enable_xss+set}" = set; then :
- enableval=$enable_xss; enable_xss=$enableval
-else
- enable_xss=yes
-fi
-
- if test "$enable_xss" = "no" ; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_xss" >&5
-$as_echo "$enable_xss" >&6; }
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_xss" >&5
-$as_echo "$enable_xss" >&6; }
- ac_fn_c_check_header_compile "$LINENO" "X11/extensions/scrnsaver.h" "ac_cv_header_X11_extensions_scrnsaver_h" "#include <X11/Xlib.h>
-"
-if test "x$ac_cv_header_X11_extensions_scrnsaver_h" = xyes; then :
-
- xss_header_found=yes
-
-fi
-
-
- ac_fn_c_check_func "$LINENO" "XScreenSaverQueryInfo" "ac_cv_func_XScreenSaverQueryInfo"
-if test "x$ac_cv_func_XScreenSaverQueryInfo" = xyes; then :
-
-else
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XScreenSaverQueryInfo in -lXext" >&5
-$as_echo_n "checking for XScreenSaverQueryInfo in -lXext... " >&6; }
-if ${ac_cv_lib_Xext_XScreenSaverQueryInfo+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lXext $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char XScreenSaverQueryInfo ();
-int
-main ()
-{
-return XScreenSaverQueryInfo ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_Xext_XScreenSaverQueryInfo=yes
-else
- ac_cv_lib_Xext_XScreenSaverQueryInfo=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Xext_XScreenSaverQueryInfo" >&5
-$as_echo "$ac_cv_lib_Xext_XScreenSaverQueryInfo" >&6; }
-if test "x$ac_cv_lib_Xext_XScreenSaverQueryInfo" = xyes; then :
-
- XLIBSW="$XLIBSW -lXext"
- xss_lib_found=yes
-
-else
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XScreenSaverQueryInfo in -lXss" >&5
-$as_echo_n "checking for XScreenSaverQueryInfo in -lXss... " >&6; }
-if ${ac_cv_lib_Xss_XScreenSaverQueryInfo+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lXss -lXext $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char XScreenSaverQueryInfo ();
-int
-main ()
-{
-return XScreenSaverQueryInfo ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_Xss_XScreenSaverQueryInfo=yes
-else
- ac_cv_lib_Xss_XScreenSaverQueryInfo=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Xss_XScreenSaverQueryInfo" >&5
-$as_echo "$ac_cv_lib_Xss_XScreenSaverQueryInfo" >&6; }
-if test "x$ac_cv_lib_Xss_XScreenSaverQueryInfo" = xyes; then :
-
- if test "$tcl_cv_ld_weak_l" = yes; then
- # On Darwin, weak link libXss if possible,
- # as it is only available on Tiger or later.
- XLIBSW="$XLIBSW -Wl,-weak-lXss -lXext"
- else
- XLIBSW="$XLIBSW -lXss -lXext"
- fi
- xss_lib_found=yes
-
-fi
-
-
-fi
-
-
-fi
-
- fi
- if test $enable_xss = yes -a $xss_lib_found = yes -a $xss_header_found = yes; then
-
-$as_echo "#define HAVE_XSS 1" >>confdefs.h
-
- fi
- CFLAGS=$tk_oldCFlags
- LIBS=$tk_oldLibs
-fi
-
-#--------------------------------------------------------------------
-# Figure out whether "char" is unsigned. If so, set a
-# #define for __CHAR_UNSIGNED__.
-#--------------------------------------------------------------------
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether char is unsigned" >&5
-$as_echo_n "checking whether char is unsigned... " >&6; }
-if ${ac_cv_c_char_unsigned+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((char) -1) < 0)];
-test_array [0] = 0;
-return test_array [0];
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_c_char_unsigned=no
-else
- ac_cv_c_char_unsigned=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_char_unsigned" >&5
-$as_echo "$ac_cv_c_char_unsigned" >&6; }
-if test $ac_cv_c_char_unsigned = yes && test "$GCC" != yes; then
- $as_echo "#define __CHAR_UNSIGNED__ 1" >>confdefs.h
-
-fi
-
-
-#--------------------------------------------------------------------
-# The statements below define a collection of symbols related to
-# building libtk as a shared library instead of a static library.
-#--------------------------------------------------------------------
-
-eval eval "TK_UNSHARED_LIB_SUFFIX=${UNSHARED_LIB_SUFFIX}"
-eval eval "TK_SHARED_LIB_SUFFIX=${SHARED_LIB_SUFFIX}"
-eval "TK_LIB_FILE=libtk${LIB_SUFFIX}"
-
-# tkConfig.sh needs a version of the _LIB_SUFFIX that has been eval'ed
-# since on some platforms TK_LIB_FILE contains shell escapes.
-
-eval "TK_LIB_FILE=${TK_LIB_FILE}"
-
-if test "${SHARED_BUILD}" = "1" -a "${SHLIB_SUFFIX}" != ""; then
- SHLIB_LD_LIBS="${SHLIB_LD_LIBS} \${TCL_STUB_LIB_SPEC}"
- TCL_STUB_FLAGS="-DUSE_TCL_STUBS"
-fi
-
-TK_LIBRARY='$(prefix)/lib/tk$(VERSION)'
-PRIVATE_INCLUDE_DIR='$(includedir)'
-HTML_DIR='$(DISTDIR)/html'
-TK_PKG_DIR='tk$(VERSION)'
-TK_RSRC_FILE='tk$(VERSION).rsrc'
-WISH_RSRC_FILE='wish$(VERSION).rsrc'
-
-# Note: in the following variable, it's important to use the absolute
-# path name of the Tcl directory rather than "..": this is because
-# AIX remembers this path and will attempt to use it at run-time to look
-# up the Tcl library.
-
-if test "`uname -s`" = "Darwin" ; then
-
- if test "`uname -s`" = "Darwin" ; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to package libraries" >&5
-$as_echo_n "checking how to package libraries... " >&6; }
- # Check whether --enable-framework was given.
-if test "${enable_framework+set}" = set; then :
- enableval=$enable_framework; enable_framework=$enableval
-else
- enable_framework=no
-fi
-
- if test $enable_framework = yes; then
- if test $SHARED_BUILD = 0; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Frameworks can only be built if --enable-shared is yes" >&5
-$as_echo "$as_me: WARNING: Frameworks can only be built if --enable-shared is yes" >&2;}
- enable_framework=no
- fi
- if test $tcl_corefoundation = no; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Frameworks can only be used when CoreFoundation is available" >&5
-$as_echo "$as_me: WARNING: Frameworks can only be used when CoreFoundation is available" >&2;}
- enable_framework=no
- fi
- fi
- if test $enable_framework = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: framework" >&5
-$as_echo "framework" >&6; }
- FRAMEWORK_BUILD=1
- else
- if test $SHARED_BUILD = 1; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: shared library" >&5
-$as_echo "shared library" >&6; }
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: static library" >&5
-$as_echo "static library" >&6; }
- fi
- FRAMEWORK_BUILD=0
- fi
- fi
-
- TK_SHLIB_LD_EXTRAS="-compatibility_version ${TK_VERSION} -current_version ${TK_VERSION}`echo ${TK_PATCH_LEVEL} | awk '{match($0, "\\\.[0-9]+"); print substr($0,RSTART,RLENGTH)}'`"
- TK_SHLIB_LD_EXTRAS="${TK_SHLIB_LD_EXTRAS}"' -install_name "${DYLIB_INSTALL_DIR}/${TK_LIB_FILE}" -unexported_symbols_list $$(f=$(TK_LIB_FILE).E && nm -gp tkMacOSX*.o 2>/dev/null | awk "/^[0-9a-f]+ . \.objc/ {print \$$3}" > $$f && nm -gjp "$(TCL_BIN_DIR)"/$(TCL_STUB_LIB_FILE) | grep ^_[^_] >> $$f && echo $$f)'
- echo "$LDFLAGS " | grep -q -- '-prebind ' && TK_SHLIB_LD_EXTRAS="${TK_SHLIB_LD_EXTRAS}"' -seg1addr 0xb000000'
- TK_SHLIB_LD_EXTRAS="${TK_SHLIB_LD_EXTRAS}"' -sectcreate __TEXT __info_plist Tk-Info.plist'
- EXTRA_WISH_LIBS='-sectcreate __TEXT __info_plist Wish-Info.plist'
- EXTRA_APP_CC_SWITCHES="${EXTRA_APP_CC_SWITCHES}"' -mdynamic-no-pic'
- ac_config_files="$ac_config_files Tk-Info.plist:../macosx/Tk-Info.plist.in Wish-Info.plist:../macosx/Wish-Info.plist.in"
-
- for l in ${LOCALES}; do CFBUNDLELOCALIZATIONS="${CFBUNDLELOCALIZATIONS}<string>$l</string>"; done
- TK_YEAR="`date +%Y`"
-fi
-
-if test "$FRAMEWORK_BUILD" = "1" ; then
-
-$as_echo "#define TK_FRAMEWORK 1" >>confdefs.h
-
- # Construct a fake local framework structure to make linking with
- # '-framework Tk' and running of tktest work
- ac_config_commands="$ac_config_commands Tk.framework"
-
- LD_LIBRARY_PATH_VAR="DYLD_FRAMEWORK_PATH"
- if test "${libdir}" = '${exec_prefix}/lib'; then
- # override libdir default
- libdir="/Library/Frameworks"
- fi
- TK_LIB_FILE="Tk"
- TK_LIB_FLAG="-framework Tk"
- TK_BUILD_LIB_SPEC="-F`pwd | sed -e 's/ /\\\\ /g'` -framework Tk"
- TK_LIB_SPEC="-F${libdir} -framework Tk"
- libdir="${libdir}/Tk.framework/Versions/\${VERSION}"
- TK_LIBRARY="${libdir}/Resources/Scripts"
- TK_PKG_DIR="Resources/Scripts"
- TK_RSRC_FILE="Tk.rsrc"
- WISH_RSRC_FILE="Wish.rsrc"
- includedir="${libdir}/Headers"
- PRIVATE_INCLUDE_DIR="${libdir}/PrivateHeaders"
- HTML_DIR="${libdir}/Resources/Documentation/Reference/Tk"
- EXTRA_INSTALL="install-private-headers html-tk"
- EXTRA_BUILD_HTML='@ln -fs contents.htm "$(HTML_INSTALL_DIR)"/TkTOC.html'
- EXTRA_INSTALL_BINARIES='@echo "Installing Info.plist to $(LIB_INSTALL_DIR)/Resources/" && $(INSTALL_DATA_DIR) "$(LIB_INSTALL_DIR)/Resources" && $(INSTALL_DATA) Tk-Info.plist "$(LIB_INSTALL_DIR)/Resources/Info.plist"'
- EXTRA_INSTALL_BINARIES="$EXTRA_INSTALL_BINARIES"' && echo "Installing license.terms to $(LIB_INSTALL_DIR)/Resources/" && $(INSTALL_DATA) "$(TOP_DIR)/license.terms" "$(LIB_INSTALL_DIR)/Resources"'
- if test $tk_aqua = yes; then
- EXTRA_INSTALL_BINARIES="$EXTRA_INSTALL_BINARIES"' && echo "Installing Images to $(LIB_INSTALL_DIR)/Resources/" && $(INSTALL_DATA_DIR) "$(LIB_INSTALL_DIR)/Resources" && for i in Tk.tiff Tk.icns; do $(INSTALL_DATA) "$(MAC_OSX_DIR)/$$i" "$(LIB_INSTALL_DIR)/Resources"; done'
- EXTRA_INSTALL_BINARIES="$EXTRA_INSTALL_BINARIES"' && echo "Installing wish$(VERSION) script to $(INSTALL_ROOT)/'"${bindir}"'/" && $(INSTALL_DATA_DIR) "$(INSTALL_ROOT)/'"${bindir}"'" && printf > "$(INSTALL_ROOT)/'"${bindir}"'/wish$(VERSION)" "#!/bin/sh\n\"\$$(dirname \$$0)'"`eval d="${bindir}"; echo "$d" | sed -e 's#/[^/][^/]*#/..#g'`"'$(bindir)/Wish\" \"\$$@\"" && chmod +x "$(INSTALL_ROOT)/'"${bindir}"'/wish$(VERSION)"'
- bindir="${libdir}/Resources/Wish.app/Contents/MacOS"
- EXTRA_INSTALL_BINARIES="$EXTRA_INSTALL_BINARIES"' && echo "Installing Info.plist to $(BIN_INSTALL_DIR)/.." && $(INSTALL_DATA) Wish-Info.plist "$(BIN_INSTALL_DIR)/../Info.plist" && mv -f "$(BIN_INSTALL_DIR)/wish$(VERSION)" "$(BIN_INSTALL_DIR)/Wish"'
- EXTRA_INSTALL_BINARIES="$EXTRA_INSTALL_BINARIES"' && echo "Installing Wish.icns to $(BIN_INSTALL_DIR)/../Resources" && $(INSTALL_DATA_DIR) "$(BIN_INSTALL_DIR)/../Resources"'
- EXTRA_INSTALL_BINARIES="$EXTRA_INSTALL_BINARIES"' && $(INSTALL_DATA) "$(MAC_OSX_DIR)/Tk.icns" "$(BIN_INSTALL_DIR)/../Resources/Wish.icns"'
- EXTRA_INSTALL_BINARIES="$EXTRA_INSTALL_BINARIES"' && echo "Installing Wish.sdef to $(BIN_INSTALL_DIR)/../Resources" && $(INSTALL_DATA) "$(MAC_OSX_DIR)/Wish.sdef" "$(BIN_INSTALL_DIR)/../Resources"'
- fi
- EXTRA_INSTALL_BINARIES="$EXTRA_INSTALL_BINARIES"' && echo "Finalizing Tk.framework" && rm -f "$(LIB_INSTALL_DIR)/../Current" && ln -s "$(VERSION)" "$(LIB_INSTALL_DIR)/../Current" && for f in "$(LIB_FILE)" tkConfig.sh Resources Headers PrivateHeaders; do rm -f "$(LIB_INSTALL_DIR)/../../$$f" && ln -s "Versions/Current/$$f" "$(LIB_INSTALL_DIR)/../.."; done && f="$(STUB_LIB_FILE)" && rm -f "$(LIB_INSTALL_DIR)/../../$$f" && ln -s "Versions/$(VERSION)/$$f" "$(LIB_INSTALL_DIR)/../.."'
- # Don't use AC_DEFINE for the following as the framework version define
- # needs to go into the Makefile even when using autoheader, so that we
- # can pick up a potential make override of VERSION. Also, don't put this
- # into CFLAGS as it should not go into tkConfig.sh
- EXTRA_CC_SWITCHES="$EXTRA_CC_SWITCHES"' -DTK_FRAMEWORK_VERSION=\"$(VERSION)\"'
-else
- if test $tk_aqua = yes; then
- EXTRA_INSTALL_BINARIES='@echo "Installing Images to $(LIB_INSTALL_DIR)/" && $(INSTALL_DATA_DIR) "$(LIB_INSTALL_DIR)" && for i in Tk.tiff Tk.icns; do $(INSTALL_DATA) "$(MAC_OSX_DIR)/$$i" "$(LIB_INSTALL_DIR)"; done'
- fi
- # libdir must be a fully qualified path and not ${exec_prefix}/lib
- eval libdir="$libdir"
- if test "${ac_cv_cygwin}" = "yes" -a "$SHARED_BUILD" = "1"; then
- TK_LIB_FLAG="-ltk`echo ${TK_VERSION} | tr -d .`"
- TK_BUILD_LIB_SPEC="-L\$(TOP_DIR)/win ${TK_LIB_FLAG}"
- else
- if test "${TCL_LIB_VERSIONS_OK}" = "ok"; then
- TK_LIB_FLAG="-ltk${TK_VERSION}"
- else
- TK_LIB_FLAG="-ltk`echo ${TK_VERSION} | tr -d .`"
- fi
- TK_BUILD_LIB_SPEC="-L`pwd | sed -e 's/ /\\\\ /g'` ${TK_LIB_FLAG}"
- fi
- TK_LIB_SPEC="-L${libdir} ${TK_LIB_FLAG}"
-fi
-
-#--------------------------------------------------------------------
-# The statements below define various symbols relating to Tk
-# stub support.
-#--------------------------------------------------------------------
-
-# Replace ${VERSION} with contents of ${TK_VERSION}
-eval "TK_STUB_LIB_FILE=libtkstub${TK_UNSHARED_LIB_SUFFIX}"
-eval "TK_STUB_LIB_DIR=${libdir}"
-
-if test "${TCL_LIB_VERSIONS_OK}" = "ok"; then
- TK_STUB_LIB_FLAG="-ltkstub${TK_VERSION}"
-else
- TK_STUB_LIB_FLAG="-ltkstub`echo ${TK_VERSION} | tr -d .`"
-fi
-
-TK_BUILD_STUB_LIB_SPEC="-L`pwd | sed -e 's/ /\\\\ /g'` ${TK_STUB_LIB_FLAG}"
-TK_STUB_LIB_SPEC="-L${TK_STUB_LIB_DIR} ${TK_STUB_LIB_FLAG}"
-TK_BUILD_STUB_LIB_PATH="`pwd`/${TK_STUB_LIB_FILE}"
-TK_STUB_LIB_PATH="${TK_STUB_LIB_DIR}/${TK_STUB_LIB_FILE}"
-
-# Install time header dir can be set via --includedir
-eval "TK_INCLUDE_SPEC=\"-I${includedir}\""
-
-#------------------------------------------------------------------------
-# tkConfig.sh refers to this by a different name
-#------------------------------------------------------------------------
-
-TK_SHARED_BUILD=${SHARED_BUILD}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-ac_config_files="$ac_config_files Makefile:../unix/Makefile.in tkConfig.sh:../unix/tkConfig.sh.in tk.pc:../unix/tk.pc.in"
-
-cat >confcache <<\_ACEOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs, see configure's option --config-cache.
-# It is not useful on other systems. If it contains results you don't
-# want to keep, you may remove or edit it.
-#
-# config.status only pays attention to the cache file if you give it
-# the --recheck option to rerun configure.
-#
-# `ac_cv_env_foo' variables (set or unset) will be overridden when
-# loading this file, other *unset* `ac_cv_foo' will be assigned the
-# following values.
-
-_ACEOF
-
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, we kill variables containing newlines.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(
- for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
- eval ac_val=\$$ac_var
- case $ac_val in #(
- *${as_nl}*)
- case $ac_var in #(
- *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
- esac
- case $ac_var in #(
- _ | IFS | as_nl) ;; #(
- BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
- *) { eval $ac_var=; unset $ac_var;} ;;
- esac ;;
- esac
- done
-
- (set) 2>&1 |
- case $as_nl`(ac_space=' '; set) 2>&1` in #(
- *${as_nl}ac_space=\ *)
- # `set' does not quote correctly, so add quotes: double-quote
- # substitution turns \\\\ into \\, and sed turns \\ into \.
- sed -n \
- "s/'/'\\\\''/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
- ;; #(
- *)
- # `set' quotes correctly as required by POSIX, so do not add quotes.
- sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
- ;;
- esac |
- sort
-) |
- sed '
- /^ac_cv_env_/b end
- t clear
- :clear
- s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
- t end
- s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
- :end' >>confcache
-if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
- if test -w "$cache_file"; then
- if test "x$cache_file" != "x/dev/null"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
-$as_echo "$as_me: updating cache $cache_file" >&6;}
- if test ! -f "$cache_file" || test -h "$cache_file"; then
- cat confcache >"$cache_file"
- else
- case $cache_file in #(
- */* | ?:*)
- mv -f confcache "$cache_file"$$ &&
- mv -f "$cache_file"$$ "$cache_file" ;; #(
- *)
- mv -f confcache "$cache_file" ;;
- esac
- fi
- fi
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
-$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
- fi
-fi
-rm -f confcache
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-DEFS=-DHAVE_CONFIG_H
-
-ac_libobjs=
-ac_ltlibobjs=
-U=
-for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
- # 1. Remove the extension, and $U if already installed.
- ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
- ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
- # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
- # will be set to the directory where LIBOBJS objects are built.
- as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
- as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
-done
-LIBOBJS=$ac_libobjs
-
-LTLIBOBJS=$ac_ltlibobjs
-
-
-DEFS="-DHAVE_TK_CONFIG_H -imacros tkConfig.h"
-CFLAGS="${CFLAGS} ${CPPFLAGS}"; CPPFLAGS=""
-
-
-: "${CONFIG_STATUS=./config.status}"
-ac_write_fail=0
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
-$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
-as_write_fail=0
-cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
-#! $SHELL
-# Generated by $as_me.
-# Run this file to recreate the current configuration.
-# Compiler output produced by configure, useful for debugging
-# configure, is in config.log if it exists.
-
-debug=false
-ac_cs_recheck=false
-ac_cs_silent=false
-
-SHELL=\${CONFIG_SHELL-$SHELL}
-export SHELL
-_ASEOF
-cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in #(
- *posix*) :
- set -o posix ;; #(
- *) :
- ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
- && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='print -r --'
- as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='printf %s\n'
- as_echo_n='printf %s'
-else
- if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
- as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
- as_echo_n='/usr/ucb/echo -n'
- else
- as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
- as_echo_n_body='eval
- arg=$1;
- case $arg in #(
- *"$as_nl"*)
- expr "X$arg" : "X\\(.*\\)$as_nl";
- arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
- esac;
- expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
- '
- export as_echo_n_body
- as_echo_n='sh -c $as_echo_n_body as_echo'
- fi
- export as_echo_body
- as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- PATH_SEPARATOR=:
- (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
- (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
- PATH_SEPARATOR=';'
- }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order. Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" "" $as_nl"
-
-# Find who we are. Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
- as_myself=$0
-fi
-if test ! -f "$as_myself"; then
- $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
- exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there. '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
- && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
- as_status=$1; test $as_status -eq 0 && as_status=1
- if test "$4"; then
- as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
- fi
- $as_echo "$as_me: error: $2" >&2
- as_fn_exit $as_status
-} # as_fn_error
-
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
- return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
- set +e
- as_fn_set_status $1
- exit $1
-} # as_fn_exit
-
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
- { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
- eval 'as_fn_append ()
- {
- eval $1+=\$2
- }'
-else
- as_fn_append ()
- {
- eval $1=\$$1\$2
- }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
- eval 'as_fn_arith ()
- {
- as_val=$(( $* ))
- }'
-else
- as_fn_arith ()
- {
- as_val=`expr "$@" || test $? -eq 1`
- }
-fi # as_fn_arith
-
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
- as_basename=basename
-else
- as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
- as_dirname=dirname
-else
- as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{
- s//\1/
- q
- }
- /^X\/\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\/\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
- case `echo 'xy\c'` in
- *c*) ECHO_T=' ';; # ECHO_T is single tab character.
- xy) ECHO_C='\c';;
- *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
- ECHO_T=' ';;
- esac;;
-*)
- ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
- rm -f conf$$.dir/conf$$.file
-else
- rm -f conf$$.dir
- mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
- if ln -s conf$$.file conf$$ 2>/dev/null; then
- as_ln_s='ln -s'
- # ... but there are two gotchas:
- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -pR'.
- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -pR'
- elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
- else
- as_ln_s='cp -pR'
- fi
-else
- as_ln_s='cp -pR'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
- case $as_dir in #(
- -*) as_dir=./$as_dir;;
- esac
- test -d "$as_dir" || eval $as_mkdir_p || {
- as_dirs=
- while :; do
- case $as_dir in #(
- *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
- *) as_qdir=$as_dir;;
- esac
- as_dirs="'$as_qdir' $as_dirs"
- as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- test -d "$as_dir" && break
- done
- test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p='mkdir -p "$as_dir"'
-else
- test -d ./-p && rmdir ./-p
- as_mkdir_p=false
-fi
-
-
-# as_fn_executable_p FILE
-# -----------------------
-# Test if FILE is an executable regular file.
-as_fn_executable_p ()
-{
- test -f "$1" && test -x "$1"
-} # as_fn_executable_p
-as_test_x='test -x'
-as_executable_p=as_fn_executable_p
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-exec 6>&1
-## ----------------------------------- ##
-## Main body of $CONFIG_STATUS script. ##
-## ----------------------------------- ##
-_ASEOF
-test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# Save the log message, to keep $0 and so on meaningful, and to
-# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling.
-ac_log="
-This file was extended by tk $as_me 8.6, which was
-generated by GNU Autoconf 2.69. Invocation command line was
-
- CONFIG_FILES = $CONFIG_FILES
- CONFIG_HEADERS = $CONFIG_HEADERS
- CONFIG_LINKS = $CONFIG_LINKS
- CONFIG_COMMANDS = $CONFIG_COMMANDS
- $ $0 $@
-
-on `(hostname || uname -n) 2>/dev/null | sed 1q`
-"
-
-_ACEOF
-
-case $ac_config_files in *"
-"*) set x $ac_config_files; shift; ac_config_files=$*;;
-esac
-
-case $ac_config_headers in *"
-"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
-esac
-
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-# Files that config.status was made for.
-config_files="$ac_config_files"
-config_headers="$ac_config_headers"
-config_commands="$ac_config_commands"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-ac_cs_usage="\
-\`$as_me' instantiates files and other configuration actions
-from templates according to the current configuration. Unless the files
-and actions are specified as TAGs, all are instantiated by default.
-
-Usage: $0 [OPTION]... [TAG]...
-
- -h, --help print this help, then exit
- -V, --version print version number and configuration settings, then exit
- --config print configuration, then exit
- -q, --quiet, --silent
- do not print progress messages
- -d, --debug don't remove temporary files
- --recheck update $as_me by reconfiguring in the same conditions
- --file=FILE[:TEMPLATE]
- instantiate the configuration file FILE
- --header=FILE[:TEMPLATE]
- instantiate the configuration header FILE
-
-Configuration files:
-$config_files
-
-Configuration headers:
-$config_headers
-
-Configuration commands:
-$config_commands
-
-Report bugs to the package provider."
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
-ac_cs_version="\\
-tk config.status 8.6
-configured by $0, generated by GNU Autoconf 2.69,
- with options \\"\$ac_cs_config\\"
-
-Copyright (C) 2012 Free Software Foundation, Inc.
-This config.status script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it."
-
-ac_pwd='$ac_pwd'
-srcdir='$srcdir'
-test -n "\$AWK" || AWK=awk
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# The default lists apply if the user does not specify any file.
-ac_need_defaults=:
-while test $# != 0
-do
- case $1 in
- --*=?*)
- ac_option=`expr "X$1" : 'X\([^=]*\)='`
- ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
- ac_shift=:
- ;;
- --*=)
- ac_option=`expr "X$1" : 'X\([^=]*\)='`
- ac_optarg=
- ac_shift=:
- ;;
- *)
- ac_option=$1
- ac_optarg=$2
- ac_shift=shift
- ;;
- esac
-
- case $ac_option in
- # Handling of the options.
- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
- ac_cs_recheck=: ;;
- --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
- $as_echo "$ac_cs_version"; exit ;;
- --config | --confi | --conf | --con | --co | --c )
- $as_echo "$ac_cs_config"; exit ;;
- --debug | --debu | --deb | --de | --d | -d )
- debug=: ;;
- --file | --fil | --fi | --f )
- $ac_shift
- case $ac_optarg in
- *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
- '') as_fn_error $? "missing file argument" ;;
- esac
- as_fn_append CONFIG_FILES " '$ac_optarg'"
- ac_need_defaults=false;;
- --header | --heade | --head | --hea )
- $ac_shift
- case $ac_optarg in
- *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
- esac
- as_fn_append CONFIG_HEADERS " '$ac_optarg'"
- ac_need_defaults=false;;
- --he | --h)
- # Conflict between --help and --header
- as_fn_error $? "ambiguous option: \`$1'
-Try \`$0 --help' for more information.";;
- --help | --hel | -h )
- $as_echo "$ac_cs_usage"; exit ;;
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil | --si | --s)
- ac_cs_silent=: ;;
-
- # This is an error.
- -*) as_fn_error $? "unrecognized option: \`$1'
-Try \`$0 --help' for more information." ;;
-
- *) as_fn_append ac_config_targets " $1"
- ac_need_defaults=false ;;
-
- esac
- shift
-done
-
-ac_configure_extra_args=
-
-if $ac_cs_silent; then
- exec 6>/dev/null
- ac_configure_extra_args="$ac_configure_extra_args --silent"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-if \$ac_cs_recheck; then
- set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
- shift
- \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
- CONFIG_SHELL='$SHELL'
- export CONFIG_SHELL
- exec "\$@"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-exec 5>>config.log
-{
- echo
- sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
- $as_echo "$ac_log"
-} >&5
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-#
-# INIT-COMMANDS
-#
-VERSION=${TK_VERSION} && tk_aqua=${tk_aqua}
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-
-# Handling of arguments.
-for ac_config_target in $ac_config_targets
-do
- case $ac_config_target in
- "tkConfig.h") CONFIG_HEADERS="$CONFIG_HEADERS tkConfig.h:../unix/tkConfig.h.in" ;;
- "Tk-Info.plist") CONFIG_FILES="$CONFIG_FILES Tk-Info.plist:../macosx/Tk-Info.plist.in" ;;
- "Wish-Info.plist") CONFIG_FILES="$CONFIG_FILES Wish-Info.plist:../macosx/Wish-Info.plist.in" ;;
- "Tk.framework") CONFIG_COMMANDS="$CONFIG_COMMANDS Tk.framework" ;;
- "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile:../unix/Makefile.in" ;;
- "tkConfig.sh") CONFIG_FILES="$CONFIG_FILES tkConfig.sh:../unix/tkConfig.sh.in" ;;
- "tk.pc") CONFIG_FILES="$CONFIG_FILES tk.pc:../unix/tk.pc.in" ;;
-
- *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
- esac
-done
-
-
-# If the user did not use the arguments to specify the items to instantiate,
-# then the envvar interface is used. Set only those that are not.
-# We use the long form for the default assignment because of an extremely
-# bizarre bug on SunOS 4.1.3.
-if $ac_need_defaults; then
- test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
- test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
- test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
-fi
-
-# Have a temporary directory for convenience. Make it in the build tree
-# simply because there is no reason against having it here, and in addition,
-# creating and moving files from /tmp can sometimes cause problems.
-# Hook for its removal unless debugging.
-# Note that there is a small window in which the directory will not be cleaned:
-# after its creation but before its name has been assigned to `$tmp'.
-$debug ||
-{
- tmp= ac_tmp=
- trap 'exit_status=$?
- : "${ac_tmp:=$tmp}"
- { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
-' 0
- trap 'as_fn_exit 1' 1 2 13 15
-}
-# Create a (secure) tmp directory for tmp files.
-
-{
- tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
- test -d "$tmp"
-} ||
-{
- tmp=./conf$$-$RANDOM
- (umask 077 && mkdir "$tmp")
-} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
-ac_tmp=$tmp
-
-# Set up the scripts for CONFIG_FILES section.
-# No need to generate them if there are no CONFIG_FILES.
-# This happens for instance with `./config.status config.h'.
-if test -n "$CONFIG_FILES"; then
-
-
-ac_cr=`echo X | tr X '\015'`
-# On cygwin, bash can eat \r inside `` if the user requested igncr.
-# But we know of no other shell where ac_cr would be empty at this
-# point, so we can use a bashism as a fallback.
-if test "x$ac_cr" = x; then
- eval ac_cr=\$\'\\r\'
-fi
-ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
-if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
- ac_cs_awk_cr='\\r'
-else
- ac_cs_awk_cr=$ac_cr
-fi
-
-echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
-_ACEOF
-
-
-{
- echo "cat >conf$$subs.awk <<_ACEOF" &&
- echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
- echo "_ACEOF"
-} >conf$$subs.sh ||
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
-ac_delim='%!_!# '
-for ac_last_try in false false false false false :; do
- . ./conf$$subs.sh ||
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-
- ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
- if test $ac_delim_n = $ac_delim_num; then
- break
- elif $ac_last_try; then
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
- else
- ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
- fi
-done
-rm -f conf$$subs.sh
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
-_ACEOF
-sed -n '
-h
-s/^/S["/; s/!.*/"]=/
-p
-g
-s/^[^!]*!//
-:repl
-t repl
-s/'"$ac_delim"'$//
-t delim
-:nl
-h
-s/\(.\{148\}\)..*/\1/
-t more1
-s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
-p
-n
-b repl
-:more1
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t nl
-:delim
-h
-s/\(.\{148\}\)..*/\1/
-t more2
-s/["\\]/\\&/g; s/^/"/; s/$/"/
-p
-b
-:more2
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t delim
-' <conf$$subs.awk | sed '
-/^[^""]/{
- N
- s/\n//
-}
-' >>$CONFIG_STATUS || ac_write_fail=1
-rm -f conf$$subs.awk
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-_ACAWK
-cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
- for (key in S) S_is_set[key] = 1
- FS = ""
-
-}
-{
- line = $ 0
- nfields = split(line, field, "@")
- substed = 0
- len = length(field[1])
- for (i = 2; i < nfields; i++) {
- key = field[i]
- keylen = length(key)
- if (S_is_set[key]) {
- value = S[key]
- line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
- len += length(value) + length(field[++i])
- substed = 1
- } else
- len += 1 + keylen
- }
-
- print line
-}
-
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
- sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
-else
- cat
-fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
- || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
-_ACEOF
-
-# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
-# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
- ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{
-h
-s///
-s/^/:/
-s/[ ]*$/:/
-s/:\$(srcdir):/:/g
-s/:\${srcdir}:/:/g
-s/:@srcdir@:/:/g
-s/^:*//
-s/:*$//
-x
-s/\(=[ ]*\).*/\1/
-G
-s/\n//
-s/^[^=]*=[ ]*$//
-}'
-fi
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-fi # test -n "$CONFIG_FILES"
-
-# Set up the scripts for CONFIG_HEADERS section.
-# No need to generate them if there are no CONFIG_HEADERS.
-# This happens for instance with `./config.status Makefile'.
-if test -n "$CONFIG_HEADERS"; then
-cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
-BEGIN {
-_ACEOF
-
-# Transform confdefs.h into an awk script `defines.awk', embedded as
-# here-document in config.status, that substitutes the proper values into
-# config.h.in to produce config.h.
-
-# Create a delimiter string that does not exist in confdefs.h, to ease
-# handling of long lines.
-ac_delim='%!_!# '
-for ac_last_try in false false :; do
- ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
- if test -z "$ac_tt"; then
- break
- elif $ac_last_try; then
- as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
- else
- ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
- fi
-done
-
-# For the awk script, D is an array of macro values keyed by name,
-# likewise P contains macro parameters if any. Preserve backslash
-# newline sequences.
-
-ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
-sed -n '
-s/.\{148\}/&'"$ac_delim"'/g
-t rset
-:rset
-s/^[ ]*#[ ]*define[ ][ ]*/ /
-t def
-d
-:def
-s/\\$//
-t bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3"/p
-s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p
-d
-:bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3\\\\\\n"\\/p
-t cont
-s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
-t cont
-d
-:cont
-n
-s/.\{148\}/&'"$ac_delim"'/g
-t clear
-:clear
-s/\\$//
-t bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/"/p
-d
-:bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
-b cont
-' <confdefs.h | sed '
-s/'"$ac_delim"'/"\\\
-"/g' >>$CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
- for (key in D) D_is_set[key] = 1
- FS = ""
-}
-/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
- line = \$ 0
- split(line, arg, " ")
- if (arg[1] == "#") {
- defundef = arg[2]
- mac1 = arg[3]
- } else {
- defundef = substr(arg[1], 2)
- mac1 = arg[2]
- }
- split(mac1, mac2, "(") #)
- macro = mac2[1]
- prefix = substr(line, 1, index(line, defundef) - 1)
- if (D_is_set[macro]) {
- # Preserve the white space surrounding the "#".
- print prefix "define", macro P[macro] D[macro]
- next
- } else {
- # Replace #undef with comments. This is necessary, for example,
- # in the case of _POSIX_SOURCE, which is predefined and required
- # on some systems where configure will not decide to define it.
- if (defundef == "undef") {
- print "/*", prefix defundef, macro, "*/"
- next
- }
- }
-}
-{ print }
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
- as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
-fi # test -n "$CONFIG_HEADERS"
-
-
-eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS"
-shift
-for ac_tag
-do
- case $ac_tag in
- :[FHLC]) ac_mode=$ac_tag; continue;;
- esac
- case $ac_mode$ac_tag in
- :[FHL]*:*);;
- :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
- :[FH]-) ac_tag=-:-;;
- :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
- esac
- ac_save_IFS=$IFS
- IFS=:
- set x $ac_tag
- IFS=$ac_save_IFS
- shift
- ac_file=$1
- shift
-
- case $ac_mode in
- :L) ac_source=$1;;
- :[FH])
- ac_file_inputs=
- for ac_f
- do
- case $ac_f in
- -) ac_f="$ac_tmp/stdin";;
- *) # Look for the file first in the build tree, then in the source tree
- # (if the path is not absolute). The absolute path cannot be DOS-style,
- # because $ac_f cannot contain `:'.
- test -f "$ac_f" ||
- case $ac_f in
- [\\/$]*) false;;
- *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
- esac ||
- as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
- esac
- case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
- as_fn_append ac_file_inputs " '$ac_f'"
- done
-
- # Let's still pretend it is `configure' which instantiates (i.e., don't
- # use $as_me), people would be surprised to read:
- # /* config.h. Generated by config.status. */
- configure_input='Generated from '`
- $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
- `' by configure.'
- if test x"$ac_file" != x-; then
- configure_input="$ac_file. $configure_input"
- { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
-$as_echo "$as_me: creating $ac_file" >&6;}
- fi
- # Neutralize special characters interpreted by sed in replacement strings.
- case $configure_input in #(
- *\&* | *\|* | *\\* )
- ac_sed_conf_input=`$as_echo "$configure_input" |
- sed 's/[\\\\&|]/\\\\&/g'`;; #(
- *) ac_sed_conf_input=$configure_input;;
- esac
-
- case $ac_tag in
- *:-:* | *:-) cat >"$ac_tmp/stdin" \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
- esac
- ;;
- esac
-
- ac_dir=`$as_dirname -- "$ac_file" ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$ac_file" : 'X\(//\)[^/]' \| \
- X"$ac_file" : 'X\(//\)$' \| \
- X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$ac_file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- as_dir="$ac_dir"; as_fn_mkdir_p
- ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
- ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
- # A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
- case $ac_top_builddir_sub in
- "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
- *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
- esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
- .) # We are building in place.
- ac_srcdir=.
- ac_top_srcdir=$ac_top_builddir_sub
- ac_abs_top_srcdir=$ac_pwd ;;
- [\\/]* | ?:[\\/]* ) # Absolute name.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir
- ac_abs_top_srcdir=$srcdir ;;
- *) # Relative name.
- ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_build_prefix$srcdir
- ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-
- case $ac_mode in
- :F)
- #
- # CONFIG_FILE
- #
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# If the template does not know about datarootdir, expand it.
-# FIXME: This hack should be removed a few years after 2.60.
-ac_datarootdir_hack=; ac_datarootdir_seen=
-ac_sed_dataroot='
-/datarootdir/ {
- p
- q
-}
-/@datadir@/p
-/@docdir@/p
-/@infodir@/p
-/@localedir@/p
-/@mandir@/p'
-case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
-*datarootdir*) ac_datarootdir_seen=yes;;
-*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
-$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
- ac_datarootdir_hack='
- s&@datadir@&$datadir&g
- s&@docdir@&$docdir&g
- s&@infodir@&$infodir&g
- s&@localedir@&$localedir&g
- s&@mandir@&$mandir&g
- s&\\\${datarootdir}&$datarootdir&g' ;;
-esac
-_ACEOF
-
-# Neutralize VPATH when `$srcdir' = `.'.
-# Shell code in configure.ac might set extrasub.
-# FIXME: do we really want to maintain this feature?
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_sed_extra="$ac_vpsub
-$extrasub
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-:t
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s|@configure_input@|$ac_sed_conf_input|;t t
-s&@top_builddir@&$ac_top_builddir_sub&;t t
-s&@top_build_prefix@&$ac_top_build_prefix&;t t
-s&@srcdir@&$ac_srcdir&;t t
-s&@abs_srcdir@&$ac_abs_srcdir&;t t
-s&@top_srcdir@&$ac_top_srcdir&;t t
-s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
-s&@builddir@&$ac_builddir&;t t
-s&@abs_builddir@&$ac_abs_builddir&;t t
-s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
-$ac_datarootdir_hack
-"
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
- >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-
-test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
- { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
- { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \
- "$ac_tmp/out"`; test -z "$ac_out"; } &&
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined. Please make sure it is defined" >&5
-$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined. Please make sure it is defined" >&2;}
-
- rm -f "$ac_tmp/stdin"
- case $ac_file in
- -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
- *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
- esac \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- ;;
- :H)
- #
- # CONFIG_HEADER
- #
- if test x"$ac_file" != x-; then
- {
- $as_echo "/* $configure_input */" \
- && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
- } >"$ac_tmp/config.h" \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
-$as_echo "$as_me: $ac_file is unchanged" >&6;}
- else
- rm -f "$ac_file"
- mv "$ac_tmp/config.h" "$ac_file" \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- fi
- else
- $as_echo "/* $configure_input */" \
- && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
- || as_fn_error $? "could not create -" "$LINENO" 5
- fi
- ;;
-
- :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
-$as_echo "$as_me: executing $ac_file commands" >&6;}
- ;;
- esac
-
-
- case $ac_file$ac_mode in
- "Tk.framework":C) n=Tk &&
- f=$n.framework && v=Versions/$VERSION &&
- rm -rf $f && mkdir -p $f/$v/Resources &&
- ln -s $v/$n $v/Resources $f && ln -s ../../../$n $f/$v &&
- ln -s ../../../../$n-Info.plist $f/$v/Resources/Info.plist &&
- if test $tk_aqua = yes; then ln -s ../../../../$n.rsrc $f/$v/Resources; fi &&
- unset n f v
- ;;
-
- esac
-done # for ac_tag
-
-
-as_fn_exit 0
-_ACEOF
-ac_clean_files=$ac_clean_files_save
-
-test $ac_write_fail = 0 ||
- as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
-
-
-# configure is writing to config.log, and then calls config.status.
-# config.status does its own redirection, appending to config.log.
-# Unfortunately, on DOS this fails, as config.log is still kept open
-# by configure, so config.status won't be able to write to it; its
-# output is simply discarded. So we exec the FD to /dev/null,
-# effectively closing config.log, so it can be properly (re)opened and
-# appended to by config.status. When coming back to configure, we
-# need to make the FD available again.
-if test "$no_create" != yes; then
- ac_cs_success=:
- ac_config_status_args=
- test "$silent" = yes &&
- ac_config_status_args="$ac_config_status_args --quiet"
- exec 5>/dev/null
- $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
- exec 5>>config.log
- # Use ||, not &&, to avoid exiting from the if with $? = 1, which
- # would make configure fail if this is the last instruction.
- $ac_cs_success || as_fn_exit 1
-fi
-if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
-$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
-fi
-
-
-
diff --git a/tk8.6/macosx/configure.ac b/tk8.6/macosx/configure.ac
deleted file mode 100644
index 69573c5..0000000
--- a/tk8.6/macosx/configure.ac
+++ /dev/null
@@ -1,11 +0,0 @@
-#! /bin/bash -norc
-dnl This file is an input file used by the GNU "autoconf" program to
-dnl generate the file "configure", which is run during Tk installation
-dnl to configure the system for the local environment.
-
-dnl Ensure that the config (auto)headers support is used, then just
-dnl include the configure sources from ../unix:
-
-m4_include(../unix/aclocal.m4)
-m4_define(SC_USE_CONFIG_HEADERS)
-m4_include(../unix/configure.in)
diff --git a/tk8.6/macosx/license.terms b/tk8.6/macosx/license.terms
deleted file mode 100644
index 0126435..0000000
--- a/tk8.6/macosx/license.terms
+++ /dev/null
@@ -1,40 +0,0 @@
-This software is copyrighted by the Regents of the University of
-California, Sun Microsystems, Inc., Scriptics Corporation, ActiveState
-Corporation, Apple Inc. and other parties. The following terms apply to
-all files associated with the software unless explicitly disclaimed in
-individual files.
-
-The authors hereby grant permission to use, copy, modify, distribute,
-and license this software and its documentation for any purpose, provided
-that existing copyright notices are retained in all copies and that this
-notice is included verbatim in any distributions. No written agreement,
-license, or royalty fee is required for any of the authorized uses.
-Modifications to this software may be copyrighted by their authors
-and need not follow the licensing terms described here, provided that
-the new terms are clearly indicated on the first page of each file where
-they apply.
-
-IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY
-FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
-ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY
-DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-
-THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES,
-INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE
-IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE
-NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR
-MODIFICATIONS.
-
-GOVERNMENT USE: If you are acquiring this software on behalf of the
-U.S. government, the Government shall have only "Restricted Rights"
-in the software and related documentation as defined in the Federal
-Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2). If you
-are acquiring the software on behalf of the Department of Defense, the
-software shall be classified as "Commercial Computer Software" and the
-Government shall have only "Restricted Rights" as defined in Clause
-252.227-7013 (b) (3) of DFARs. Notwithstanding the foregoing, the
-authors grant the U.S. Government and others acting in its behalf
-permission to use and distribute the software in accordance with the
-terms specified in this license.
diff --git a/tk8.6/macosx/tkMacOSX.h b/tk8.6/macosx/tkMacOSX.h
deleted file mode 100644
index 05ea6c2..0000000
--- a/tk8.6/macosx/tkMacOSX.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * tkMacOSX.h --
- *
- * Declarations of Macintosh specific exported variables and procedures.
- *
- * Copyright (c) 1995-1997 Sun Microsystems, Inc.
- * Copyright 2001-2009, Apple Inc.
- * Copyright (c) 2005-2009 Daniel A. Steffen <das@users.sourceforge.net>
- *
- * See the file "license.terms" for information on usage and redistribution
- * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
- */
-
-#ifndef _TKMAC
-#define _TKMAC
-
-#ifndef _TK
-#include "tk.h"
-#endif
-
-/*
- * Structures and function types for handling Netscape-type in process
- * embedding where Tk does not control the top-level
- */
-
-typedef int (Tk_MacOSXEmbedRegisterWinProc) (long winID, Tk_Window window);
-typedef void* (Tk_MacOSXEmbedGetGrafPortProc) (Tk_Window window);
-typedef int (Tk_MacOSXEmbedMakeContainerExistProc) (Tk_Window window);
-typedef void (Tk_MacOSXEmbedGetClipProc) (Tk_Window window, TkRegion rgn);
-typedef void (Tk_MacOSXEmbedGetOffsetInParentProc) (Tk_Window window, void *ulCorner);
-
-#include "tkPlatDecls.h"
-
-#endif /* _TKMAC */
diff --git a/tk8.6/macosx/tkMacOSXBitmap.c b/tk8.6/macosx/tkMacOSXBitmap.c
deleted file mode 100644
index 1a20bd5..0000000
--- a/tk8.6/macosx/tkMacOSXBitmap.c
+++ /dev/null
@@ -1,460 +0,0 @@
-/*
- * tkMacOSXBitmap.c --
- *
- * This file handles the implementation of native bitmaps.
- *
- * Copyright (c) 1996-1997 Sun Microsystems, Inc.
- * Copyright 2001-2009, Apple Inc.
- * Copyright (c) 2006-2009 Daniel A. Steffen <das@users.sourceforge.net>
- *
- * See the file "license.terms" for information on usage and redistribution
- * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
- */
-
-#include "tkMacOSXPrivate.h"
-#include "tkMacOSXConstants.h"
-/*
- * This structure holds information about native bitmaps.
- */
-
-typedef struct {
- const char *name; /* Name of icon. */
- OSType iconType; /* OSType of icon. */
-} BuiltInIcon;
-
-/*
- * This array mapps a string name to the supported builtin icons
- * on the Macintosh.
- */
-
-static BuiltInIcon builtInIcons[] = {
- {"document", kGenericDocumentIcon},
- {"stationery", kGenericStationeryIcon},
- {"edition", kGenericEditionFileIcon},
- {"application", kGenericApplicationIcon},
- {"accessory", kGenericDeskAccessoryIcon},
- {"folder", kGenericFolderIcon},
- {"pfolder", kPrivateFolderIcon},
- {"trash", kTrashIcon},
- {"floppy", kGenericFloppyIcon},
- {"ramdisk", kGenericRAMDiskIcon},
- {"cdrom", kGenericCDROMIcon},
- {"preferences", kGenericPreferencesIcon},
- {"querydoc", kGenericQueryDocumentIcon},
- {"stop", kAlertStopIcon},
- {"note", kAlertNoteIcon},
- {"caution", kAlertCautionIcon},
- {NULL}
-};
-
-#define builtInIconSize 32
-
-static Tcl_HashTable iconBitmapTable = {};
-typedef struct {
- int kind, width, height;
- char *value;
-} IconBitmap;
-
-static const char *const iconBitmapOptionStrings[] = {
- "-file", "-fileType", "-osType", "-systemType", "-namedImage",
- "-imageFile", NULL
-};
-enum iconBitmapOptions {
- ICON_FILE, ICON_FILETYPE, ICON_OSTYPE, ICON_SYSTEMTYPE, ICON_NAMEDIMAGE,
- ICON_IMAGEFILE,
-};
-
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpDefineNativeBitmaps --
- *
- * Add native bitmaps.
- *
- * Results:
- * A standard Tcl result. If an error occurs then TCL_ERROR is
- * returned and a message is left in the interp's result.
- *
- * Side effects:
- * "Name" is entered into the bitmap table and may be used from
- * here on to refer to the given bitmap.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpDefineNativeBitmaps(void)
-{
- Tcl_HashTable *tablePtr = TkGetBitmapPredefTable();
- BuiltInIcon *builtInPtr;
-
- for (builtInPtr = builtInIcons; builtInPtr->name != NULL; builtInPtr++) {
- Tcl_HashEntry *predefHashPtr;
- Tk_Uid name;
- int isNew;
-
- name = Tk_GetUid(builtInPtr->name);
- predefHashPtr = Tcl_CreateHashEntry(tablePtr, name, &isNew);
- if (isNew) {
- TkPredefBitmap *predefPtr = ckalloc(sizeof(TkPredefBitmap));
-
- predefPtr->source = UINT2PTR(builtInPtr->iconType);
- predefPtr->width = builtInIconSize;
- predefPtr->height = builtInIconSize;
- predefPtr->native = 1;
- Tcl_SetHashValue(predefHashPtr, predefPtr);
- }
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * GetBitmapForIcon --
- *
- * Results:
- * Bitmap for the given IconRef.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-static Pixmap
-GetBitmapForIcon(
- Display *display,
- IconRef icon,
- CGSize size)
-{
- TkMacOSXDrawingContext dc;
- Pixmap pixmap;
-
- pixmap = Tk_GetPixmap(display, None, size.width, size.height, 0);
- if (TkMacOSXSetupDrawingContext(pixmap, NULL, 1, &dc)) {
- if (dc.context) {
- const CGAffineTransform t = { .a = 1, .b = 0, .c = 0, .d = -1,
- .tx = 0, .ty = size.height };
- const CGRect r = { .origin = { .x = 0, .y = 0 }, .size = size };
-
- CGContextConcatCTM(dc.context, t);
- PlotIconRefInContext(dc.context, &r, kAlignAbsoluteCenter,
- kTransformNone, NULL, kPlotIconRefNormalFlags, icon);
- }
- TkMacOSXRestoreDrawingContext(&dc);
- }
- return pixmap;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpCreateNativeBitmap --
- *
- * Create native bitmap.
- *
- * Results:
- * Native bitmap.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-Pixmap
-TkpCreateNativeBitmap(
- Display *display,
- const void *source) /* Info about the icon to build. */
-{
- Pixmap pixmap;
- IconRef icon;
- OSErr err;
-
- err = ChkErr(GetIconRef, kOnSystemDisk, kSystemIconsCreator,
- PTR2UINT(source), &icon);
- if (err == noErr) {
- pixmap = GetBitmapForIcon(display, icon, CGSizeMake(builtInIconSize,
- builtInIconSize));
- ReleaseIconRef(icon);
- } else {
- pixmap = Tk_GetPixmap(display, None, builtInIconSize,
- builtInIconSize, 0);
- }
- return pixmap;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * OSTypeFromString --
- *
- * Helper to convert string to OSType.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * t is set to OSType if conversion successful.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-OSTypeFromString(const char *s, OSType *t) {
- int result = TCL_ERROR;
- Tcl_DString ds;
- Tcl_Encoding encoding = Tcl_GetEncoding(NULL, "macRoman");
-
- Tcl_UtfToExternalDString(encoding, s, -1, &ds);
- if (Tcl_DStringLength(&ds) <= 4) {
- char string[4] = {};
- memcpy(string, Tcl_DStringValue(&ds), (size_t) Tcl_DStringLength(&ds));
- *t = (OSType) string[0] << 24 | (OSType) string[1] << 16 |
- (OSType) string[2] << 8 | (OSType) string[3];
- result = TCL_OK;
- }
- Tcl_DStringFree(&ds);
- Tcl_FreeEncoding(encoding);
- return result;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpGetNativeAppBitmap --
- *
- * Get a named native bitmap.
- *
- * Attemps to interpret the given name in order as:
- * - name defined by ::tk::mac::iconBitmap
- * - NSImage named image name
- * - NSImage url string
- * - 4-char OSType of IconServices icon
- *
- * Results:
- * Native bitmap or None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-Pixmap
-TkpGetNativeAppBitmap(
- Display *display, /* The display. */
- const char *name, /* The name of the bitmap. */
- int *width, /* The width & height of the bitmap. */
- int *height)
-{
- Tcl_HashEntry *hPtr;
- Pixmap pixmap = None;
- NSString *string;
- NSImage *image = nil;
- NSSize size = { .width = builtInIconSize, .height = builtInIconSize };
-
- if (iconBitmapTable.buckets &&
- (hPtr = Tcl_FindHashEntry(&iconBitmapTable, name))) {
- OSType type;
- IconBitmap *iconBitmap = Tcl_GetHashValue(hPtr);
- name = NULL;
- size = NSMakeSize(iconBitmap->width, iconBitmap->height);
- switch (iconBitmap->kind) {
- case ICON_FILE:
- string = [[NSString stringWithUTF8String:iconBitmap->value]
- stringByExpandingTildeInPath];
- image = [[NSWorkspace sharedWorkspace] iconForFile:string];
- break;
- case ICON_FILETYPE:
- string = [NSString stringWithUTF8String:iconBitmap->value];
- image = [[NSWorkspace sharedWorkspace] iconForFileType:string];
- break;
- case ICON_OSTYPE:
- if (OSTypeFromString(iconBitmap->value, &type) == TCL_OK) {
- string = NSFileTypeForHFSTypeCode(type);
- image = [[NSWorkspace sharedWorkspace] iconForFileType:string];
- }
- break;
- case ICON_SYSTEMTYPE:
- name = iconBitmap->value;
- break;
- case ICON_NAMEDIMAGE:
- string = [NSString stringWithUTF8String:iconBitmap->value];
- image = [NSImage imageNamed:string];
- break;
- case ICON_IMAGEFILE:
- string = [[NSString stringWithUTF8String:iconBitmap->value]
- stringByExpandingTildeInPath];
- image = [[[NSImage alloc] initWithContentsOfFile:string]
- autorelease];
- break;
- }
- if (image) {
- [image setSize:size];
- }
- } else {
- string = [NSString stringWithUTF8String:name];
- image = [NSImage imageNamed:string];
- if (!image) {
- NSURL *url = [NSURL fileURLWithPath:string];
- if (url) {
- image = [[[NSImage alloc] initWithContentsOfURL:url]
- autorelease];
- }
- }
- if (image) {
- size = [image size];
- }
- }
- if (image) {
- TkMacOSXDrawingContext dc;
- int depth = 0;
-
-#ifdef MAC_OSX_TK_TODO
- for (NSImageRep *r in [image representations]) {
- NSInteger bitsPerSample = [r bitsPerSample];
- if (bitsPerSample && bitsPerSample > depth) {
- depth = bitsPerSample;
- };
- }
- if (depth == 1) {
- /* TODO: convert BW NSImage to CGImageMask */
- }
-#endif
- pixmap = Tk_GetPixmap(display, None, size.width, size.height, depth);
- *width = size.width;
- *height = size.height;
- if (TkMacOSXSetupDrawingContext(pixmap, NULL, 1, &dc)) {
- if (dc.context) {
- CGAffineTransform t = { .a = 1, .b = 0, .c = 0, .d = -1,
- .tx = 0, .ty = size.height};
-
- CGContextConcatCTM(dc.context, t);
- [NSGraphicsContext saveGraphicsState];
- [NSGraphicsContext setCurrentContext:[NSGraphicsContext
- graphicsContextWithGraphicsPort:dc.context flipped:NO]];
- [image drawAtPoint:NSZeroPoint fromRect:NSZeroRect
- operation:NSCompositeCopy fraction:1.0];
- [NSGraphicsContext restoreGraphicsState];
- }
- TkMacOSXRestoreDrawingContext(&dc);
- }
- } else if (name) {
- OSType iconType;
- if (OSTypeFromString(name, &iconType) == TCL_OK) {
- IconRef icon;
- OSErr err = ChkErr(GetIconRef, kOnSystemDisk, kSystemIconsCreator,
- iconType, &icon);
- if (err == noErr) {
- pixmap = GetBitmapForIcon(display, icon, NSSizeToCGSize(size));
- *width = size.width;
- *height = size.height;
- ReleaseIconRef(icon);
- }
- }
- }
- return pixmap;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXIconBitmapObjCmd --
- *
- * Implements the ::tk::mac::iconBitmap command.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * none
- *
- *----------------------------------------------------------------------
- */
-
-int
-TkMacOSXIconBitmapObjCmd(
- ClientData clientData, /* Unused. */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- Tcl_HashEntry *hPtr;
- int i = 1, len, isNew, result = TCL_ERROR;
- const char *name, *value;
- IconBitmap ib, *iconBitmap;
-
- if (objc != 6) {
- Tcl_WrongNumArgs(interp, 1, objv, "name width height "
- "-file|-fileType|-osType|-systemType|-namedImage|-imageFile "
- "value");
- goto end;
- }
- name = Tcl_GetStringFromObj(objv[i++], &len);
- if (!len) {
- Tcl_SetObjResult(interp, Tcl_NewStringObj("empty bitmap name", -1));
- Tcl_SetErrorCode(interp, "TK", "MACBITMAP", "BAD", NULL);
- goto end;
- }
- if (Tcl_GetIntFromObj(interp, objv[i++], &ib.width) != TCL_OK) {
- goto end;
- }
- if (Tcl_GetIntFromObj(interp, objv[i++], &ib.height) != TCL_OK) {
- goto end;
- }
- if (Tcl_GetIndexFromObjStruct(interp, objv[i++], iconBitmapOptionStrings,
- sizeof(char *), "kind", TCL_EXACT, &ib.kind) != TCL_OK) {
- goto end;
- }
- value = Tcl_GetStringFromObj(objv[i++], &len);
- if (!len) {
- Tcl_SetObjResult(interp, Tcl_NewStringObj("empty bitmap value", -1));
- Tcl_SetErrorCode(interp, "TK", "MACBITMAP", "EMPTY", NULL);
- goto end;
- }
-#if 0
- if ((kind == ICON_TYPE || kind == ICON_SYSTEM)) {
- Tcl_DString ds;
- Tcl_Encoding encoding = Tcl_GetEncoding(NULL, "macRoman");
-
- Tcl_UtfToExternalDString(encoding, value, -1, &ds);
- len = Tcl_DStringLength(&ds);
- Tcl_DStringFree(&ds);
- Tcl_FreeEncoding(encoding);
- if (len > 4) {
- Tcl_SetObjResult(interp, Tcl_NewStringObj(
- "invalid bitmap value", -1));
- Tcl_SetErrorCode(interp, "TK", "MACBITMAP", "INVALID", NULL);
- goto end;
- }
- }
-#endif
- ib.value = ckalloc(len + 1);
- strcpy(ib.value, value);
- if (!iconBitmapTable.buckets) {
- Tcl_InitHashTable(&iconBitmapTable, TCL_STRING_KEYS);
- }
- hPtr = Tcl_CreateHashEntry(&iconBitmapTable, name, &isNew);
- if (!isNew) {
- iconBitmap = Tcl_GetHashValue(hPtr);
- ckfree(iconBitmap->value);
- } else {
- iconBitmap = ckalloc(sizeof(IconBitmap));
- Tcl_SetHashValue(hPtr, iconBitmap);
- }
- *iconBitmap = ib;
- result = TCL_OK;
- end:
- return result;
-}
-
-/*
- * Local Variables:
- * mode: objc
- * c-basic-offset: 4
- * fill-column: 79
- * coding: utf-8
- * End:
- */
diff --git a/tk8.6/macosx/tkMacOSXButton.c b/tk8.6/macosx/tkMacOSXButton.c
deleted file mode 100644
index ea78d43..0000000
--- a/tk8.6/macosx/tkMacOSXButton.c
+++ /dev/null
@@ -1,1211 +0,0 @@
-/*
- * tkMacOSXButton.c --
- *
- * This file implements the Macintosh specific portion of the
- * button widgets.
- *
- * Copyright (c) 1996-1997 by Sun Microsystems, Inc.
- * Copyright 2001, Apple Computer, Inc.
- * Copyright (c) 2006-2007 Daniel A. Steffen <das@users.sourceforge.net>
- * Copyright 2007 Revar Desmera.
- * Copyright 2015 Kevin Walzer/WordTech Communications LLC.
- * Copyright 2015 Marc Culler.
- *
- * See the file "license.terms" for information on usage and redistribution
- * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
- *
- */
-
-#include "tkMacOSXPrivate.h"
-#include "tkButton.h"
-#include "tkMacOSXFont.h"
-#include "tkMacOSXDebug.h"
-
-#define FIRST_DRAW 2
-#define ACTIVE 4
-
-/*
- * Extra padding used for computing the content size that should
- * be allowed when drawing the HITheme button.
- */
-
-#define HI_PADX 2
-#define HI_PADY 1
-
-/*
- * Some defines used to control what type of control is drawn.
- */
-
-#define DRAW_LABEL 0 /* Labels are treated genericly. */
-#define DRAW_CONTROL 1 /* Draw using the Native control. */
-#define DRAW_CUSTOM 2 /* Make our own button drawing. */
-#define DRAW_BEVEL 3
-
-/*
- * The delay in milliseconds between pulsing default button redraws.
- */
-#define PULSE_TIMER_MSECS 62 /* Largest value that didn't look stuttery */
-
-/*
- * Declaration of Mac specific button structure.
- */
-
-
-typedef struct {
- int drawType;
- Tk_3DBorder border;
- int relief;
- int offset; /* 0 means this is a normal widget. 1 means
- * it is an image button, so we offset the
- * image to make the button appear to move
- * up and down as the relief changes. */
- GC gc;
- int hasImageOrBitmap;
-} DrawParams;
-
-typedef struct {
- TkButton info; /* Generic button info */
- int id;
- int usingControl;
- int useTkText;
- int flags; /* Initialisation status */
- ThemeButtonKind btnkind;
- HIThemeButtonDrawInfo drawinfo;
- HIThemeButtonDrawInfo lastdrawinfo;
- DrawParams drawParams;
- Tcl_TimerToken defaultPulseHandler;
-} MacButton;
-
-/*
- * Forward declarations for procedures defined later in this file:
- */
-
-
-static void ButtonBackgroundDrawCB (const HIRect *btnbounds, MacButton *ptr,
- SInt16 depth, Boolean isColorDev);
-static void ButtonContentDrawCB (const HIRect *bounds, ThemeButtonKind kind,
- const HIThemeButtonDrawInfo *info, MacButton *ptr, SInt16 depth,
- Boolean isColorDev);
-static void ButtonEventProc(ClientData clientData, XEvent *eventPtr);
-static void TkMacOSXComputeButtonParams (TkButton * butPtr, ThemeButtonKind* btnkind,
- HIThemeButtonDrawInfo* drawinfo);
-static int TkMacOSXComputeButtonDrawParams (TkButton * butPtr, DrawParams * dpPtr);
-static void TkMacOSXDrawButton (MacButton *butPtr, GC gc, Pixmap pixmap);
-static void DrawButtonImageAndText(TkButton* butPtr);
-static void PulseDefaultButtonProc(ClientData clientData);
-
-
-/*
- * The class procedure table for the button widgets.
- */
-
-const Tk_ClassProcs tkpButtonProcs = {
- sizeof(Tk_ClassProcs), /* size */
- TkButtonWorldChanged, /* worldChangedProc */
-};
-
-static int bCount;
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpButtonSetDefaults --
- *
- * This procedure is invoked before option tables are created for
- * buttons. It modifies some of the default values to match the current
- * values defined for this platform.
- *
- * Results:
- * Some of the default values in *specPtr are modified.
- *
- * Side effects:
- * Updates some of.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpButtonSetDefaults()
-{
-/*No-op.*/
-}
-
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpCreateButton --
- *
- * Allocate a new TkButton structure.
- *
- * Results:
- * Returns a newly allocated TkButton structure.
- *
- * Side effects:
- * Registers an event handler for the widget.
- *
- *----------------------------------------------------------------------
- */
-
-TkButton *
-TkpCreateButton(
- Tk_Window tkwin)
-{
- MacButton *macButtonPtr = (MacButton *) ckalloc(sizeof(MacButton));
-
- Tk_CreateEventHandler(tkwin, ActivateMask,
- ButtonEventProc, (ClientData) macButtonPtr);
- macButtonPtr->id = bCount++;
- macButtonPtr->flags = FIRST_DRAW;
- macButtonPtr->btnkind = kThemePushButton;
- macButtonPtr->defaultPulseHandler = NULL;
- bzero(&macButtonPtr->drawinfo, sizeof(macButtonPtr->drawinfo));
- bzero(&macButtonPtr->lastdrawinfo, sizeof(macButtonPtr->lastdrawinfo));
-
- return (TkButton *)macButtonPtr;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpDisplayButton --
- *
- * This procedure is invoked to display a button widget. It is
- * normally invoked as an idle handler.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Commands are output to X to display the button in its
- * current mode. The REDRAW_PENDING flag is cleared.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpDisplayButton(
- ClientData clientData) /* Information about widget. */
-{
- MacButton *macButtonPtr = (MacButton *) clientData;
- TkButton *butPtr = (TkButton *) clientData;
- Tk_Window tkwin = butPtr->tkwin;
- Pixmap pixmap;
- DrawParams* dpPtr = &macButtonPtr->drawParams;
- int needhighlight = 0;
-
- butPtr->flags &= ~REDRAW_PENDING;
- if ((butPtr->tkwin == NULL) || !Tk_IsMapped(tkwin)) {
- return;
- }
- pixmap = (Pixmap) Tk_WindowId(tkwin);
- TkMacOSXSetUpClippingRgn(Tk_WindowId(tkwin));
-
- if (TkMacOSXComputeButtonDrawParams(butPtr, dpPtr) ) {
- macButtonPtr->useTkText = 0;
- } else {
- macButtonPtr->useTkText = 1;
- }
-
-
- /*
- * Set up clipping region. Make sure the we are using the port
- * for this button, or we will set the wrong window's clip.
- */
-
- if (macButtonPtr->useTkText) {
- if (butPtr->type == TYPE_BUTTON) {
- Tk_Fill3DRectangle(tkwin, pixmap, butPtr->highlightBorder, 0, 0,
- Tk_Width(tkwin), Tk_Height(tkwin), 0, TK_RELIEF_FLAT);
- } else {
- Tk_Fill3DRectangle(tkwin, pixmap, butPtr->normalBorder, 0, 0,
- Tk_Width(tkwin), Tk_Height(tkwin), 0, TK_RELIEF_FLAT);
- }
-
- /* Display image or bitmap or text for labels or custom controls. */
- DrawButtonImageAndText(butPtr);
- needhighlight = 1;
- } else {
- /* Draw the native portion of the buttons. */
- TkMacOSXDrawButton(macButtonPtr, dpPtr->gc, pixmap);
-
- /* Draw highlight border, if needed. */
- if (butPtr->highlightWidth < 3) {
- needhighlight = 1;
- }
- }
-
- /* Draw highlight border, if needed. */
- if (needhighlight) {
- if ((butPtr->flags & GOT_FOCUS)) {
- Tk_Draw3DRectangle(tkwin, pixmap, butPtr->normalBorder, 0, 0,
- Tk_Width(tkwin), Tk_Height(tkwin),
- butPtr->highlightWidth, TK_RELIEF_SOLID);
- }
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpComputeButtonGeometry --
- *
- * After changes in a button's text or bitmap, this procedure
- * recomputes the button's geometry and passes this information
- * along to the geometry manager for the window.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The button's window may change size.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpComputeButtonGeometry(
- TkButton *butPtr) /* Button whose geometry may have changed. */
-{
- int width = 0, height = 0, charWidth = 1, haveImage = 0, haveText = 0;
- int txtWidth = 0, txtHeight = 0;
- MacButton *mbPtr = (MacButton*)butPtr;
- Tk_FontMetrics fm;
- DrawParams drawParams;
-
- /*
- * First figure out the size of the contents of the button.
- */
-
- TkMacOSXComputeButtonParams(butPtr, &mbPtr->btnkind, &mbPtr->drawinfo);
-
- /*
- * If the indicator is on, get its size.
- */
-
- if ( butPtr->indicatorOn ) {
- switch (butPtr->type) {
- case TYPE_RADIO_BUTTON:
- GetThemeMetric(kThemeMetricRadioButtonWidth, (SInt32 *)&butPtr->indicatorDiameter);
- break;
- case TYPE_CHECK_BUTTON:
- GetThemeMetric(kThemeMetricCheckBoxWidth, (SInt32 *)&butPtr->indicatorDiameter);
- break;
- default:
- break;
- }
- /* Allow 2px extra space next to the indicator. */
- butPtr->indicatorSpace = butPtr->indicatorDiameter + 2;
- } else {
- butPtr->indicatorSpace = 0;
- butPtr->indicatorDiameter = 0;
- }
-
- if (butPtr->image != NULL) {
- Tk_SizeOfImage(butPtr->image, &width, &height);
- haveImage = 1;
- } else if (butPtr->bitmap != None) {
- Tk_SizeOfBitmap(butPtr->display, butPtr->bitmap, &width, &height);
- haveImage = 1;
- }
-
- if (haveImage == 0 || butPtr->compound != COMPOUND_NONE) {
- Tk_FreeTextLayout(butPtr->textLayout);
- butPtr->textLayout = Tk_ComputeTextLayout(butPtr->tkfont,
- Tcl_GetString(butPtr->textPtr), -1, butPtr->wrapLength,
- butPtr->justify, 0, &butPtr->textWidth, &butPtr->textHeight);
-
- txtWidth = butPtr->textWidth;
- txtHeight = butPtr->textHeight;
- charWidth = Tk_TextWidth(butPtr->tkfont, "0", 1);
- Tk_GetFontMetrics(butPtr->tkfont, &fm);
- haveText = (txtWidth != 0 && txtHeight != 0);
- }
-
- if (haveImage && haveText) { /* Image and Text */
- switch ((enum compound) butPtr->compound) {
- case COMPOUND_TOP:
- case COMPOUND_BOTTOM:
- /*
- * Image is above or below text.
- */
-
- height += txtHeight + butPtr->padY;
- width = (width > txtWidth ? width : txtWidth);
- break;
- case COMPOUND_LEFT:
- case COMPOUND_RIGHT:
- /*
- * Image is left or right of text.
- */
-
- width += txtWidth + butPtr->padX;
- height = (height > txtHeight ? height : txtHeight);
- break;
- case COMPOUND_CENTER:
- /*
- * Image and text are superimposed.
- */
-
- width = (width > txtWidth ? width : txtWidth);
- height = (height > txtHeight ? height : txtHeight);
- break;
- default:
- break;
- }
- width += butPtr->indicatorSpace;
-
- } else if (haveImage) { /* Image only */
- width = butPtr->width > 0 ? butPtr->width : width + butPtr->indicatorSpace;
- height = butPtr->height > 0 ? butPtr->height : height;
-
- } else { /* Text only */
- width = txtWidth + butPtr->indicatorSpace;
- height = txtHeight;
- if (butPtr->width > 0) {
- width = butPtr->width * charWidth;
- }
- if (butPtr->height > 0) {
- height = butPtr->height * fm.linespace;
- }
- }
-
- /* Add padding */
- width += 2 * butPtr->padX;
- height += 2 * butPtr->padY;
-
- /*
- * Now figure out the size of the border decorations for the button.
- */
-
- if (butPtr->highlightWidth < 0) {
- butPtr->highlightWidth = 0;
- }
-
- butPtr->inset = 0;
- butPtr->inset += butPtr->highlightWidth;
-
- if (TkMacOSXComputeButtonDrawParams(butPtr,&drawParams)) {
- HIRect tmpRect;
- HIRect contBounds;
- int paddingx = 0;
- int paddingy = 0;
-
- tmpRect = CGRectMake(0, 0, width + 2*HI_PADX, height + 2*HI_PADY);
-
- HIThemeGetButtonContentBounds(&tmpRect, &mbPtr->drawinfo, &contBounds);
- /* If the content region has a minimum height, match it. */
- if (height < contBounds.size.height) {
- height = contBounds.size.height;
- }
-
- /* If the content region has a minimum width, match it. */
- if (width < contBounds.size.width) {
- width = contBounds.size.width;
- }
-
- /* Pad to fill difference between content bounds and button bounds. */
- paddingx = contBounds.origin.x;
- paddingy = contBounds.origin.y;
-
- if (height < paddingx - 4) {
- /* can't have buttons much shorter than button side diameter. */
- height = paddingx - 4;
- }
-
- } else {
- height += butPtr->borderWidth*2;
- width += butPtr->borderWidth*2;
- }
-
- width += butPtr->inset*2;
- height += butPtr->inset*2;
- if ([NSApp macMinorVersion] == 6) {
- width += 12;
- }
-
- Tk_GeometryRequest(butPtr->tkwin, width, height);
- Tk_SetInternalBorder(butPtr->tkwin, butPtr->inset);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * DrawButtonImageAndText --
- *
- * Draws the image and text associated with a button or label.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The image and text are drawn.
- *
- *----------------------------------------------------------------------
- */
-static void
-DrawButtonImageAndText(
- TkButton* butPtr)
-{
-
- MacButton *mbPtr = (MacButton*)butPtr;
- Tk_Window tkwin = butPtr->tkwin;
- Pixmap pixmap;
- int haveImage = 0;
- int haveText = 0;
- int imageWidth = 0;
- int imageHeight = 0;
- int imageXOffset = 0;
- int imageYOffset = 0;
- int textXOffset = 0;
- int textYOffset = 0;
- int width = 0;
- int height = 0;
- int fullWidth = 0;
- int fullHeight = 0;
- int pressed = 0;
-
-
- if (tkwin == NULL || !Tk_IsMapped(tkwin)) {
- return;
- }
-
- DrawParams* dpPtr = &mbPtr->drawParams;
- pixmap = (Pixmap)Tk_WindowId(tkwin);
-
- if (butPtr->image != None) {
- Tk_SizeOfImage(butPtr->image, &width, &height);
- haveImage = 1;
- } else if (butPtr->bitmap != None) {
- Tk_SizeOfBitmap(butPtr->display, butPtr->bitmap, &width, &height);
- haveImage = 1;
- }
-
- imageWidth = width;
- imageHeight = height;
-
- if (mbPtr->drawinfo.state == kThemeStatePressed) {
- /* Offset bitmaps by a bit when the button is pressed. */
- pressed = 1;
- }
-
- haveText = (butPtr->textWidth != 0 && butPtr->textHeight != 0);
- if (haveImage && haveText) { /* Image and Text */
- int x;
- int y;
- textXOffset = 0;
- textYOffset = 0;
- fullWidth = 0;
- fullHeight = 0;
-
- switch ((enum compound) butPtr->compound) {
- case COMPOUND_TOP:
- case COMPOUND_BOTTOM: {
- /* Image is above or below text */
- if (butPtr->compound == COMPOUND_TOP) {
- textYOffset = height + butPtr->padY;
- } else {
- imageYOffset = butPtr->textHeight + butPtr->padY;
- }
- fullHeight = height + butPtr->textHeight + butPtr->padY;
- fullWidth = (width > butPtr->textWidth ? width :
- butPtr->textWidth);
- textXOffset = (fullWidth - butPtr->textWidth)/2;
- imageXOffset = (fullWidth - width)/2;
- break;
- }
- case COMPOUND_LEFT:
- case COMPOUND_RIGHT: {
- /*
- * Image is left or right of text
- */
-
- if (butPtr->compound == COMPOUND_LEFT) {
- textXOffset = width + butPtr->padX;
- } else {
- imageXOffset = butPtr->textWidth + butPtr->padX;
- }
- fullWidth = butPtr->textWidth + butPtr->padX + width;
- fullHeight = (height > butPtr->textHeight ? height :
- butPtr->textHeight);
- textYOffset = (fullHeight - butPtr->textHeight)/2;
- imageYOffset = (fullHeight - height)/2;
- break;
- }
- case COMPOUND_CENTER: {
- /*
- * Image and text are superimposed
- */
-
- fullWidth = (width > butPtr->textWidth ? width :
- butPtr->textWidth);
- fullHeight = (height > butPtr->textHeight ? height :
- butPtr->textHeight);
- textXOffset = (fullWidth - butPtr->textWidth)/2;
- imageXOffset = (fullWidth - width)/2;
- textYOffset = (fullHeight - butPtr->textHeight)/2;
- imageYOffset = (fullHeight - height)/2;
- break;
- }
- default:
- break;
- }
-
- TkComputeAnchor(butPtr->anchor, tkwin,
- butPtr->padX + butPtr->borderWidth,
- butPtr->padY + butPtr->borderWidth,
- fullWidth + butPtr->indicatorSpace, fullHeight, &x, &y);
- x += butPtr->indicatorSpace;
-
- if (dpPtr->relief == TK_RELIEF_SUNKEN) {
- x += dpPtr->offset;
- y += dpPtr->offset;
- } else if (dpPtr->relief == TK_RELIEF_RAISED) {
- x -= dpPtr->offset;
- y -= dpPtr->offset;
- }
- if (pressed) {
- x += dpPtr->offset;
- y += dpPtr->offset;
- }
- imageXOffset += x;
- imageYOffset += y;
- textYOffset -= 1;
-
- if (butPtr->image != NULL) {
- if ((butPtr->selectImage != NULL) &&
- (butPtr->flags & SELECTED)) {
- Tk_RedrawImage(butPtr->selectImage, 0, 0,
- width, height, pixmap, imageXOffset, imageYOffset);
- } else if ((butPtr->tristateImage != NULL) &&
- (butPtr->flags & TRISTATED)) {
- Tk_RedrawImage(butPtr->tristateImage, 0, 0,
- width, height, pixmap, imageXOffset, imageYOffset);
- } else {
- Tk_RedrawImage(butPtr->image, 0, 0, width,
- height, pixmap, imageXOffset, imageYOffset);
- }
- } else {
- XSetClipOrigin(butPtr->display, dpPtr->gc,
- imageXOffset, imageYOffset);
- XCopyPlane(butPtr->display, butPtr->bitmap, pixmap, dpPtr->gc,
- 0, 0, (unsigned int) width, (unsigned int) height,
- imageXOffset, imageYOffset, 1);
- XSetClipOrigin(butPtr->display, dpPtr->gc, 0, 0);
- }
-
- Tk_DrawTextLayout(butPtr->display, pixmap,
- dpPtr->gc, butPtr->textLayout,
- x + textXOffset, y + textYOffset, 0, -1);
- Tk_UnderlineTextLayout(butPtr->display, pixmap, dpPtr->gc,
- butPtr->textLayout,
- x + textXOffset, y + textYOffset,
- butPtr->underline);
- } else if (haveImage) { /* Image only */
- int x = 0;
- int y;
- TkComputeAnchor(butPtr->anchor, tkwin,
- butPtr->padX + butPtr->borderWidth,
- butPtr->padY + butPtr->borderWidth,
- width + butPtr->indicatorSpace,
- height, &x, &y);
- x += butPtr->indicatorSpace;
- if (pressed) {
- x += dpPtr->offset;
- y += dpPtr->offset;
- }
- imageXOffset += x;
- imageYOffset += y;
-
- if (butPtr->image != NULL) {
-
- if ((butPtr->selectImage != NULL) &&
- (butPtr->flags & SELECTED)) {
- Tk_RedrawImage(butPtr->selectImage, 0, 0, width,
- height, pixmap, imageXOffset, imageYOffset);
- } else if ((butPtr->tristateImage != NULL) &&
- (butPtr->flags & TRISTATED)) {
- Tk_RedrawImage(butPtr->tristateImage, 0, 0, width,
- height, pixmap, imageXOffset, imageYOffset);
- } else {
- Tk_RedrawImage(butPtr->image, 0, 0, width, height,
- pixmap, imageXOffset, imageYOffset);
- }
- } else {
- XSetClipOrigin(butPtr->display, dpPtr->gc, x, y);
- XCopyPlane(butPtr->display, butPtr->bitmap,
- pixmap, dpPtr->gc,
- 0, 0, (unsigned int) width,
- (unsigned int) height,
- imageXOffset, imageYOffset, 1);
- XSetClipOrigin(butPtr->display, dpPtr->gc, 0, 0);
- }
- } else { /* Text only */
- int x, y;
- TkComputeAnchor(butPtr->anchor, tkwin, butPtr->padX, butPtr->padY,
- butPtr->textWidth + butPtr->indicatorSpace,
- butPtr->textHeight, &x, &y);
- x += butPtr->indicatorSpace;
- Tk_DrawTextLayout(butPtr->display, pixmap, dpPtr->gc, butPtr->textLayout,
- x, y, 0, -1);
- }
-
- /*
- * If the button is disabled with a stipple rather than a special
- * foreground color, generate the stippled effect. If the widget
- * is selected and we use a different background color when selected,
- * must temporarily modify the GC so the stippling is the right color.
- */
-
- if (mbPtr->useTkText) {
- if ((butPtr->state == STATE_DISABLED)
- && ((butPtr->disabledFg == NULL) || (butPtr->image != NULL))) {
- if ((butPtr->flags & SELECTED) && !butPtr->indicatorOn
- && (butPtr->selectBorder != NULL)) {
- XSetForeground(butPtr->display, butPtr->stippleGC,
- Tk_3DBorderColor(butPtr->selectBorder)->pixel);
- }
- /*
- * Stipple the whole button if no disabledFg was specified,
- * otherwise restrict stippling only to displayed image
- */
- if (butPtr->disabledFg == NULL) {
- XFillRectangle(butPtr->display, pixmap, butPtr->stippleGC,
- 0, 0, (unsigned) Tk_Width(tkwin),
- (unsigned) Tk_Height(tkwin));
- } else {
- XFillRectangle(butPtr->display, pixmap, butPtr->stippleGC,
- imageXOffset, imageYOffset,
- (unsigned) imageWidth, (unsigned) imageHeight);
- }
- if ((butPtr->flags & SELECTED) && !butPtr->indicatorOn
- && (butPtr->selectBorder != NULL)
- ) {
- XSetForeground(butPtr->display, butPtr->stippleGC,
- Tk_3DBorderColor(butPtr->normalBorder)->pixel);
- }
- }
-
- /*
- * Draw the border and traversal highlight last. This way, if the
- * button's contents overflow they'll be covered up by the border.
- */
-
- if (dpPtr->relief != TK_RELIEF_FLAT) {
- int inset = butPtr->highlightWidth;
- Tk_Draw3DRectangle(tkwin, pixmap, dpPtr->border, inset, inset,
- Tk_Width(tkwin) - 2*inset, Tk_Height(tkwin) - 2*inset,
- butPtr->borderWidth, dpPtr->relief);
- }
- }
-
- }
-
-
-
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpDestroyButton --
- *
- * Free data structures associated with the button control.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Restores the default control state.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpDestroyButton(
- TkButton *butPtr)
-{
- MacButton *mbPtr = (MacButton *) butPtr; /* Mac button. */
- if (mbPtr->defaultPulseHandler) {
- Tcl_DeleteTimerHandler(mbPtr->defaultPulseHandler);
- }
-}
-
-/*
- *--------------------------------------------------------------
- *
- * TkMacOSXDrawButton --
- *
- * This function draws the tk button using Mac controls
- * In addition, this code may apply custom colors passed
- * in the TkButton.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The control is created, or reinitialised as needed
- *
- *--------------------------------------------------------------
- */
-
-static void
-TkMacOSXDrawButton(
- MacButton *mbPtr, /* Mac button. */
- GC gc, /* The GC we are drawing into - needed for
- * the bevel button */
- Pixmap pixmap) /* The pixmap we are drawing into - needed
- * for the bevel button */
-{
- TkButton * butPtr = ( TkButton *)mbPtr;
- TkWindow * winPtr;
- HIRect cntrRect;
- TkMacOSXDrawingContext dc;
- DrawParams* dpPtr = &mbPtr->drawParams;
- int useNewerHITools = 1;
-
- winPtr = (TkWindow *)butPtr->tkwin;
-
- TkMacOSXComputeButtonParams(butPtr, &mbPtr->btnkind, &mbPtr->drawinfo);
-
- cntrRect = CGRectMake(winPtr->privatePtr->xOff,
- winPtr->privatePtr->yOff,
- Tk_Width(butPtr->tkwin),
- Tk_Height(butPtr->tkwin));
-
- cntrRect = CGRectInset(cntrRect, butPtr->inset, butPtr->inset);
-
- if (useNewerHITools == 1) {
- HIRect contHIRec;
- static HIThemeButtonDrawInfo hiinfo;
-
- ButtonBackgroundDrawCB(&cntrRect, mbPtr, 32, true);
-
- if (!TkMacOSXSetupDrawingContext(pixmap, dpPtr->gc, 1, &dc)) {
- return;
- }
-
- hiinfo.version = 0;
- hiinfo.state = mbPtr->drawinfo.state;
- hiinfo.kind = mbPtr->btnkind;
- hiinfo.value = mbPtr->drawinfo.value;
- hiinfo.adornment = mbPtr->drawinfo.adornment;
- hiinfo.animation.time.current = CFAbsoluteTimeGetCurrent();
- if (hiinfo.animation.time.start == 0) {
- hiinfo.animation.time.start = hiinfo.animation.time.current;
- }
-
- HIThemeDrawButton(&cntrRect, &hiinfo, dc.context, kHIThemeOrientationNormal,
- &contHIRec);
-
- TkMacOSXRestoreDrawingContext(&dc);
- ButtonContentDrawCB(&contHIRec, mbPtr->btnkind, &mbPtr->drawinfo,
- (MacButton *)mbPtr, 32, true);
-
- } else {
- if (!TkMacOSXSetupDrawingContext(pixmap, dpPtr->gc, 1, &dc)) {
- return;
- }
-
- TkMacOSXRestoreDrawingContext(&dc);
- }
- mbPtr->lastdrawinfo = mbPtr->drawinfo;
-}
-
-/*
- *--------------------------------------------------------------
- *
- * ButtonBackgroundDrawCB --
- *
- * This function draws the background that
- * lies under checkboxes and radiobuttons.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The background gets updated to the current color.
- *
- *--------------------------------------------------------------
- */
-static void
-ButtonBackgroundDrawCB (
- const HIRect * btnbounds,
- MacButton *ptr,
- SInt16 depth,
- Boolean isColorDev)
-{
- MacButton* mbPtr = (MacButton*)ptr;
- TkButton* butPtr = (TkButton*)mbPtr;
- Tk_Window tkwin = butPtr->tkwin;
- Pixmap pixmap;
- int usehlborder = 0;
-
- if (tkwin == NULL || !Tk_IsMapped(tkwin)) {
- return;
- }
- pixmap = (Pixmap)Tk_WindowId(tkwin);
-
- if (butPtr->type != TYPE_LABEL) {
- switch (mbPtr->btnkind) {
- case kThemeSmallBevelButton:
- case kThemeBevelButton:
- case kThemeRoundedBevelButton:
- case kThemePushButton:
- usehlborder = 1;
- break;
- }
- }
- if (usehlborder) {
- Tk_Fill3DRectangle(tkwin, pixmap, butPtr->highlightBorder, 0, 0,
- Tk_Width(tkwin), Tk_Height(tkwin), 0, TK_RELIEF_FLAT);
- } else {
- Tk_Fill3DRectangle(tkwin, pixmap, butPtr->normalBorder, 0, 0,
- Tk_Width(tkwin), Tk_Height(tkwin), 0, TK_RELIEF_FLAT);
- }
-}
-
-/*
- *--------------------------------------------------------------
- *
- * ButtonContentDrawCB --
- *
- * This function draws the label and image for the button.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The content of the button gets updated.
- *
- *--------------------------------------------------------------
- */
-static void
-ButtonContentDrawCB (
- const HIRect * btnbounds,
- ThemeButtonKind kind,
- const HIThemeButtonDrawInfo *drawinfo,
- MacButton *ptr,
- SInt16 depth,
- Boolean isColorDev)
-{
- TkButton *butPtr = (TkButton *)ptr;
- Tk_Window tkwin = butPtr->tkwin;
-
- if (tkwin == NULL || !Tk_IsMapped(tkwin)) {
- return;
- }
-
- /*
- * Overlay Tk elements over button native region: drawing elements
- * within button boundaries/native region causes unpredictable metrics.
- */
- DrawButtonImageAndText( butPtr);
-}
-
-/*
- *--------------------------------------------------------------
- *
- * ButtonEventProc --
- *
- * This procedure is invoked by the Tk dispatcher for various
- * events on buttons.
- *
- * Results:
- * None.
- *
- * Side effects:
- * When it gets exposed, it is redisplayed.
- *
- *--------------------------------------------------------------
- */
-
-static void
-ButtonEventProc(
- ClientData clientData, /* Information about window. */
- XEvent *eventPtr) /* Information about event. */
-{
- TkButton *buttonPtr = (TkButton *) clientData;
- MacButton *mbPtr = (MacButton *) clientData;
-
- if (eventPtr->type == ActivateNotify
- || eventPtr->type == DeactivateNotify) {
- if ((buttonPtr->tkwin == NULL) || (!Tk_IsMapped(buttonPtr->tkwin))) {
- return;
- }
- if (eventPtr->type == ActivateNotify) {
- mbPtr->flags |= ACTIVE;
- } else {
- mbPtr->flags &= ~ACTIVE;
- }
- if ((buttonPtr->flags & REDRAW_PENDING) == 0) {
- Tcl_DoWhenIdle(TkpDisplayButton, (ClientData) buttonPtr);
- buttonPtr->flags |= REDRAW_PENDING;
- }
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXComputeButtonParams --
- *
- * This procedure computes the various parameters used
- * when creating a Carbon Appearance control.
- * These are determined by the various tk button parameters
- *
- * Results:
- * None.
- *
- * Side effects:
- * Sets the btnkind and drawinfo parameters
- *
- *----------------------------------------------------------------------
- */
-
-static void
-TkMacOSXComputeButtonParams(
- TkButton * butPtr,
- ThemeButtonKind* btnkind,
- HIThemeButtonDrawInfo *drawinfo)
-{
- MacButton *mbPtr = (MacButton *)butPtr;
-
- if (butPtr->borderWidth <= 2) {
- *btnkind = kThemeSmallBevelButton;
- } else if (butPtr->borderWidth == 3) {
- *btnkind = kThemeBevelButton;
- } else if (butPtr->borderWidth == 4) {
- *btnkind = kThemeRoundedBevelButton;
- } else {
- *btnkind = kThemePushButton;
- }
-
- if ((butPtr->image == None) && (butPtr->bitmap == None)) {
- switch (butPtr->type) {
- case TYPE_BUTTON:
- *btnkind = kThemePushButton;
- break;
- case TYPE_RADIO_BUTTON:
- if (butPtr->borderWidth <= 1) {
- *btnkind = kThemeSmallRadioButton;
- } else {
- *btnkind = kThemeRadioButton;
- }
- break;
- case TYPE_CHECK_BUTTON:
- if (butPtr->borderWidth <= 1) {
- *btnkind = kThemeSmallCheckBox;
- } else {
- *btnkind = kThemeCheckBox;
- }
- break;
- }
- }
-
- if (butPtr->indicatorOn) {
- switch (butPtr->type) {
- case TYPE_RADIO_BUTTON:
- if (butPtr->borderWidth <= 1) {
- *btnkind = kThemeSmallRadioButton;
- } else {
- *btnkind = kThemeRadioButton;
- }
- break;
- case TYPE_CHECK_BUTTON:
- if (butPtr->borderWidth <= 1) {
- *btnkind = kThemeSmallCheckBox;
- } else {
- *btnkind = kThemeCheckBox;
- }
- break;
- }
- } else {
- if (butPtr->type == TYPE_RADIO_BUTTON ||
- butPtr->type == TYPE_CHECK_BUTTON
- ) {
- if (*btnkind == kThemePushButton) {
- *btnkind = kThemeBevelButton;
- }
- }
- }
-
- if (butPtr->flags & SELECTED) {
- drawinfo->value = kThemeButtonOn;
- } else if (butPtr->flags & TRISTATED) {
- drawinfo->value = kThemeButtonMixed;
- } else {
- drawinfo->value = kThemeButtonOff;
- }
-
- if ((mbPtr->flags & FIRST_DRAW) != 0) {
- mbPtr->flags &= ~FIRST_DRAW;
- if (Tk_MacOSXIsAppInFront()) {
- mbPtr->flags |= ACTIVE;
- }
- }
-
- drawinfo->state = kThemeStateInactive;
- if ((mbPtr->flags & ACTIVE) == 0) {
- if (butPtr->state == STATE_DISABLED) {
- drawinfo->state = kThemeStateUnavailableInactive;
- } else {
- drawinfo->state = kThemeStateInactive;
- }
- } else if (butPtr->state == STATE_DISABLED) {
- drawinfo->state = kThemeStateUnavailable;
- } else if (butPtr->state == STATE_ACTIVE) {
- drawinfo->state = kThemeStatePressed;
- } else {
- drawinfo->state = kThemeStateActive;
- }
-
- drawinfo->adornment = kThemeAdornmentNone;
- if (butPtr->defaultState == DEFAULT_ACTIVE) {
- drawinfo->adornment |= kThemeAdornmentDefault;
- if (!mbPtr->defaultPulseHandler) {
- mbPtr->defaultPulseHandler = Tcl_CreateTimerHandler(
- PULSE_TIMER_MSECS, PulseDefaultButtonProc,
- (ClientData) butPtr);
- }
- } else if (mbPtr->defaultPulseHandler) {
- Tcl_DeleteTimerHandler(mbPtr->defaultPulseHandler);
- }
- if (butPtr->highlightWidth >= 3) {
- if ((butPtr->flags & GOT_FOCUS)) {
- drawinfo->adornment |= kThemeAdornmentFocus;
- }
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXComputeButtonDrawParams --
- *
- * This procedure computes the various parameters used
- * when drawing a button
- * These are determined by the various tk button parameters
- *
- * Results:
- * 1 if control will be used, 0 otherwise.
- *
- * Side effects:
- * Sets the button draw parameters
- *
- *----------------------------------------------------------------------
- */
-
-static int
-TkMacOSXComputeButtonDrawParams(
- TkButton *butPtr,
- DrawParams *dpPtr)
-{
- MacButton *mbPtr = (MacButton *)butPtr;
-
- dpPtr->hasImageOrBitmap = ((butPtr->image != NULL)
- || (butPtr->bitmap != None));
-
- if (butPtr->type != TYPE_LABEL) {
- dpPtr->offset = 0;
- if (dpPtr->hasImageOrBitmap) {
- switch (mbPtr->btnkind) {
- case kThemeSmallBevelButton:
- case kThemeBevelButton:
- case kThemeRoundedBevelButton:
- case kThemePushButton:
- dpPtr->offset = 1;
- break;
- }
- }
- }
-
-
- dpPtr->border = butPtr->normalBorder;
- if ((butPtr->state == STATE_DISABLED) && (butPtr->disabledFg != NULL)) {
- dpPtr->gc = butPtr->disabledGC;
- } else if (butPtr->type == TYPE_BUTTON && butPtr->state == STATE_ACTIVE) {
- dpPtr->gc = butPtr->activeTextGC;
- dpPtr->border = butPtr->activeBorder;
- } else {
- dpPtr->gc = butPtr->normalTextGC;
- }
-
- if ((butPtr->flags & SELECTED) && (butPtr->state != STATE_ACTIVE)
- && (butPtr->selectBorder != NULL) && !butPtr->indicatorOn) {
- dpPtr->border = butPtr->selectBorder;
- }
-
- /*
- * Override the relief specified for the button if this is a
- * checkbutton or radiobutton and there's no indicator.
- */
-
- dpPtr->relief = butPtr->relief;
-
- if ((butPtr->type >= TYPE_CHECK_BUTTON) && !butPtr->indicatorOn) {
- if (!dpPtr->hasImageOrBitmap) {
- dpPtr->relief = (butPtr->flags & SELECTED) ? TK_RELIEF_SUNKEN
- : TK_RELIEF_RAISED;
- }
- }
-
- /*
- * Determine the draw type
- */
-
- if (butPtr->type == TYPE_LABEL) {
- dpPtr->drawType = DRAW_LABEL;
- } else if (butPtr->type == TYPE_BUTTON) {
- if (!dpPtr->hasImageOrBitmap) {
- dpPtr->drawType = DRAW_CONTROL;
- } else {
- dpPtr->drawType = DRAW_BEVEL;
- }
- } else if (butPtr->indicatorOn) {
- dpPtr->drawType = DRAW_CONTROL;
- } else if (dpPtr->hasImageOrBitmap) {
- dpPtr->drawType = DRAW_BEVEL;
- } else {
- dpPtr->drawType = DRAW_CUSTOM;
- }
-
- if ((dpPtr->drawType == DRAW_CONTROL) || (dpPtr->drawType == DRAW_BEVEL)) {
- return 1;
- } else {
- return 0;
- }
-}
-
-/*
- *--------------------------------------------------------------
- *
- * PulseDefaultButtonProc --
- *
- * This function redraws the button on a timer, to pulse
- * default buttons.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Sets a timer to run itself again.
- *
- *--------------------------------------------------------------
- */
-static void
-PulseDefaultButtonProc(ClientData clientData)
-{
- MacButton *mbPtr = (MacButton *)clientData;
- TkpDisplayButton(clientData);
- mbPtr->defaultPulseHandler = Tcl_CreateTimerHandler(
- PULSE_TIMER_MSECS, PulseDefaultButtonProc, clientData);
-}
-
-/*
- * Local Variables:
- * mode: objc
- * c-basic-offset: 4
- * fill-column: 79
- * coding: utf-8
- * End:
- */
diff --git a/tk8.6/macosx/tkMacOSXClipboard.c b/tk8.6/macosx/tkMacOSXClipboard.c
deleted file mode 100644
index efd3c69..0000000
--- a/tk8.6/macosx/tkMacOSXClipboard.c
+++ /dev/null
@@ -1,299 +0,0 @@
-/*
- * tkMacOSXClipboard.c --
- *
- * This file manages the clipboard for the Tk toolkit.
- *
- * Copyright (c) 1995-1997 Sun Microsystems, Inc.
- * Copyright 2001-2009, Apple Inc.
- * Copyright (c) 2006-2009 Daniel A. Steffen <das@users.sourceforge.net>
- *
- * See the file "license.terms" for information on usage and redistribution
- * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
- */
-
-#include "tkMacOSXPrivate.h"
-#include "tkMacOSXConstants.h"
-#include "tkSelect.h"
-
-static NSInteger changeCount = -1;
-static Tk_Window clipboardOwner = NULL;
-
-#pragma mark TKApplication(TKClipboard)
-
-@implementation TKApplication(TKClipboard)
-- (void) tkProvidePasteboard: (TkDisplay *) dispPtr
- pasteboard: (NSPasteboard *) sender
- provideDataForType: (NSString *) type
-{
- NSMutableString *string = [NSMutableString new];
-
- if (dispPtr && dispPtr->clipboardActive &&
- [type isEqualToString:NSStringPboardType]) {
- for (TkClipboardTarget *targetPtr = dispPtr->clipTargetPtr; targetPtr;
- targetPtr = targetPtr->nextPtr) {
- if (targetPtr->type == XA_STRING ||
- targetPtr->type == dispPtr->utf8Atom) {
- for (TkClipboardBuffer *cbPtr = targetPtr->firstBufferPtr;
- cbPtr; cbPtr = cbPtr->nextPtr) {
- NSString *s = [[NSString alloc] initWithBytesNoCopy:
- cbPtr->buffer length:cbPtr->length
- encoding:NSUTF8StringEncoding freeWhenDone:NO];
-
- [string appendString:s];
- [s release];
- }
- break;
- }
- }
- }
- [sender setString:string forType:type];
- [string release];
-}
-
-- (void) tkProvidePasteboard: (TkDisplay *) dispPtr
-{
- if (dispPtr && dispPtr->clipboardActive) {
- [self tkProvidePasteboard:dispPtr
- pasteboard:[NSPasteboard generalPasteboard]
- provideDataForType:NSStringPboardType];
- }
-}
-
-- (void) pasteboard: (NSPasteboard *) sender
- provideDataForType: (NSString *) type
-{
- [self tkProvidePasteboard:TkGetDisplayList() pasteboard:sender
- provideDataForType:type];
-}
-
-- (void) tkCheckPasteboard
-{
- if (clipboardOwner && [[NSPasteboard generalPasteboard] changeCount] !=
- changeCount) {
- TkDisplay *dispPtr = TkGetDisplayList();
- if (dispPtr) {
- XEvent event;
- event.xany.type = SelectionClear;
- event.xany.serial = NextRequest(Tk_Display(clipboardOwner));
- event.xany.send_event = False;
- event.xany.window = Tk_WindowId(clipboardOwner);
- event.xany.display = Tk_Display(clipboardOwner);
- event.xselectionclear.selection = dispPtr->clipboardAtom;
- Tk_QueueWindowEvent(&event, TCL_QUEUE_TAIL);
- }
- clipboardOwner = NULL;
- }
-}
-@end
-
-#pragma mark -
-
-/*
- *----------------------------------------------------------------------
- *
- * TkSelGetSelection --
- *
- * Retrieve the specified selection from another process. For now, only
- * fetching XA_STRING from CLIPBOARD is supported. Eventually other types
- * should be allowed.
- *
- * Results:
- * The return value is a standard Tcl return value. If an error occurs
- * (such as no selection exists) then an error message is left in the
- * interp's result.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-int
-TkSelGetSelection(
- Tcl_Interp *interp, /* Interpreter to use for reporting errors. */
- Tk_Window tkwin, /* Window on whose behalf to retrieve the
- * selection (determines display from which to
- * retrieve). */
- Atom selection, /* Selection to retrieve. */
- Atom target, /* Desired form in which selection is to be
- * returned. */
- Tk_GetSelProc *proc, /* Procedure to call to process the selection,
- * once it has been retrieved. */
- ClientData clientData) /* Arbitrary value to pass to proc. */
-{
- int result = TCL_ERROR;
- TkDisplay *dispPtr = ((TkWindow *) tkwin)->dispPtr;
-
- int haveExternalClip = ([[NSPasteboard generalPasteboard] changeCount] != changeCount);
- if (dispPtr && (haveExternalClip || dispPtr->clipboardActive)
- && selection == dispPtr->clipboardAtom
- && (target == XA_STRING || target == dispPtr->utf8Atom)) {
- NSString *string = nil;
- NSPasteboard *pb = [NSPasteboard generalPasteboard];
- NSString *type = [pb availableTypeFromArray:[NSArray arrayWithObject:
- NSStringPboardType]];
-
- if (type) {
- string = [pb stringForType:type];
- }
- result = proc(clientData, interp, string ? [string UTF8String] : "");
- } else {
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "%s selection doesn't exist or form \"%s\" not defined",
- Tk_GetAtomName(tkwin, selection),
- Tk_GetAtomName(tkwin, target)));
- Tcl_SetErrorCode(interp, "TK", "SELECTION", "EXISTS", NULL);
- }
- return result;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * XSetSelectionOwner --
- *
- * This function claims ownership of the specified selection. If the
- * selection is CLIPBOARD, then we empty the system clipboard.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-int
-XSetSelectionOwner(
- Display *display, /* X Display. */
- Atom selection, /* What selection to own. */
- Window owner, /* Window to be the owner. */
- Time time) /* The current time? */
-{
- TkDisplay *dispPtr = TkGetDisplayList();
-
- if (dispPtr && selection == dispPtr->clipboardAtom) {
- clipboardOwner = owner ? Tk_IdToWindow(display, owner) : NULL;
- if (!dispPtr->clipboardActive) {
- NSPasteboard *pb = [NSPasteboard generalPasteboard];
- changeCount = [pb declareTypes:[NSArray array] owner:NSApp];
- }
- }
- return Success;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXSelDeadWindow --
- *
- * This function is invoked just before a TkWindow is deleted. It
- * performs selection-related cleanup.
- *
- * Results:
- * None.
- *
- * Side effects:
- * clipboardOwner is cleared.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkMacOSXSelDeadWindow(
- TkWindow *winPtr)
-{
- if (winPtr && winPtr == (TkWindow *)clipboardOwner) {
- clipboardOwner = NULL;
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkSelUpdateClipboard --
- *
- * This function is called to force the clipboard to be updated after new
- * data is added.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkSelUpdateClipboard(
- TkWindow *winPtr, /* Window associated with clipboard. */
- TkClipboardTarget *targetPtr)
- /* Info about the content. */
-{
- NSPasteboard *pb = [NSPasteboard generalPasteboard];
-
- changeCount = [pb addTypes:[NSArray arrayWithObject:NSStringPboardType]
- owner:NSApp];
-}
-
-/*
- *--------------------------------------------------------------
- *
- * TkSelEventProc --
- *
- * This procedure is invoked whenever a selection-related event occurs.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Lots: depends on the type of event.
- *
- *--------------------------------------------------------------
- */
-
-void
-TkSelEventProc(
- Tk_Window tkwin, /* Window for which event was targeted. */
- register XEvent *eventPtr) /* X event: either SelectionClear,
- * SelectionRequest, or SelectionNotify. */
-{
- if (eventPtr->type == SelectionClear) {
- clipboardOwner = NULL;
- TkSelClearSelection(tkwin, eventPtr);
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkSelPropProc --
- *
- * This procedure is invoked when property-change events occur on windows
- * not known to the toolkit. This is a stub function under Windows.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkSelPropProc(
- register XEvent *eventPtr) /* X PropertyChange event. */
-{
-}
-
-/*
- * Local Variables:
- * mode: objc
- * c-basic-offset: 4
- * fill-column: 79
- * coding: utf-8
- * End:
- */
diff --git a/tk8.6/macosx/tkMacOSXColor.c b/tk8.6/macosx/tkMacOSXColor.c
deleted file mode 100644
index 459ca47..0000000
--- a/tk8.6/macosx/tkMacOSXColor.c
+++ /dev/null
@@ -1,729 +0,0 @@
-/*
- * tkMacOSXColor.c --
- *
- * This file maintains a database of color values for the Tk
- * toolkit, in order to avoid round-trips to the server to
- * map color names to pixel values.
- *
- * Copyright (c) 1990-1994 The Regents of the University of California.
- * Copyright (c) 1994-1996 Sun Microsystems, Inc.
- * Copyright 2001-2009, Apple Inc.
- * Copyright (c) 2006-2009 Daniel A. Steffen <das@users.sourceforge.net>
- *
- * See the file "license.terms" for information on usage and redistribution
- * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
- */
-
-#include "tkMacOSXPrivate.h"
-#include "tkColor.h"
-
-struct SystemColorMapEntry {
- const char *name;
- ThemeBrush brush;
- ThemeTextColor textColor;
- ThemeBackgroundKind background;
-}; /* unsigned char pixelCode; */
-
-/*
- * Array of system color definitions: the array index is required to equal the
- * color's (pixelCode - MIN_PIXELCODE), i.e. the array order needs to be kept
- * in sync with the public pixel code values in tkMacOSXPort.h !
- */
-
-#define MIN_PIXELCODE 30
-static const struct SystemColorMapEntry systemColorMap[] = {
- { "Transparent", 0, 0, 0 }, /* 30: TRANSPARENT_PIXEL */
- { "Highlight", kThemeBrushPrimaryHighlightColor, 0, 0 }, /* 31: HIGHLIGHT_PIXEL */
- { "HighlightSecondary", kThemeBrushSecondaryHighlightColor, 0, 0 }, /* 32: HIGHLIGHT_SECONDARY_PIXEL */
- { "HighlightText", kThemeBrushBlack, 0, 0 }, /* 33: HIGHLIGHT_TEXT_PIXEL */
- { "HighlightAlternate", kThemeBrushAlternatePrimaryHighlightColor, 0, 0 }, /* 34: HIGHLIGHT_ALTERNATE_PIXEL */
- { "ButtonText", 0, kThemeTextColorPushButtonActive, 0 }, /* 35: CONTROL_TEXT_PIXEL */
- { "PrimaryHighlightColor", kThemeBrushPrimaryHighlightColor, 0, 0 }, /* 36 */
- { "ButtonFace", kThemeBrushButtonFaceActive, 0, 0 }, /* 37: CONTROL_BODY_PIXEL */
- { "SecondaryHighlightColor", kThemeBrushSecondaryHighlightColor, 0, 0 }, /* 38 */
- { "ButtonFrame", kThemeBrushButtonFrameActive, 0, 0 }, /* 39: CONTROL_FRAME_PIXEL */
- { "AlternatePrimaryHighlightColor", kThemeBrushAlternatePrimaryHighlightColor, 0, 0 }, /* 40 */
- { "WindowBody", kThemeBrushDocumentWindowBackground, 0, 0 }, /* 41: WINDOW_BODY_PIXEL */
- { "SheetBackground", kThemeBrushSheetBackground, 0, 0 }, /* 42 */
- { "MenuActive", kThemeBrushMenuBackgroundSelected, 0, 0 }, /* 43: MENU_ACTIVE_PIXEL */
- { "Black", kThemeBrushBlack, 0, 0 }, /* 44 */
- { "MenuActiveText", 0, kThemeTextColorMenuItemSelected, 0 }, /* 45: MENU_ACTIVE_TEXT_PIXEL */
- { "White", kThemeBrushWhite, 0, 0 }, /* 46 */
- { "Menu", kThemeBrushMenuBackground, 0, 0 }, /* 47: MENU_BACKGROUND_PIXEL */
- { "DialogBackgroundActive", kThemeBrushDialogBackgroundActive, 0, 0 }, /* 48 */
- { "MenuDisabled", 0, kThemeTextColorMenuItemDisabled, 0 }, /* 49: MENU_DISABLED_PIXEL */
- { "DialogBackgroundInactive", kThemeBrushDialogBackgroundInactive, 0, 0 }, /* 50 */
- { "MenuText", 0, kThemeTextColorMenuItemActive, 0 }, /* 51: MENU_TEXT_PIXEL */
- { "AppearanceColor", 0, 0, 0 }, /* 52: APPEARANCE_PIXEL */
- { "AlertBackgroundActive", kThemeBrushAlertBackgroundActive, 0, 0 }, /* 53 */
- { "AlertBackgroundInactive", kThemeBrushAlertBackgroundInactive, 0, 0 }, /* 54 */
- { "ModelessDialogBackgroundActive", kThemeBrushModelessDialogBackgroundActive, 0, 0 }, /* 55 */
- { "ModelessDialogBackgroundInactive", kThemeBrushModelessDialogBackgroundInactive, 0, 0 }, /* 56 */
- { "UtilityWindowBackgroundActive", kThemeBrushUtilityWindowBackgroundActive, 0, 0 }, /* 57 */
- { "UtilityWindowBackgroundInactive", kThemeBrushUtilityWindowBackgroundInactive, 0, 0 }, /* 58 */
- { "ListViewSortColumnBackground", kThemeBrushListViewSortColumnBackground, 0, 0 }, /* 59 */
- { "ListViewBackground", kThemeBrushListViewBackground, 0, 0 }, /* 60 */
- { "IconLabelBackground", kThemeBrushIconLabelBackground, 0, 0 }, /* 61 */
- { "ListViewSeparator", kThemeBrushListViewSeparator, 0, 0 }, /* 62 */
- { "ChasingArrows", kThemeBrushChasingArrows, 0, 0 }, /* 63 */
- { "DragHilite", kThemeBrushDragHilite, 0, 0 }, /* 64 */
- { "DocumentWindowBackground", kThemeBrushDocumentWindowBackground, 0, 0 }, /* 65 */
- { "FinderWindowBackground", kThemeBrushFinderWindowBackground, 0, 0 }, /* 66 */
- { "ScrollBarDelimiterActive", kThemeBrushScrollBarDelimiterActive, 0, 0 }, /* 67 */
- { "ScrollBarDelimiterInactive", kThemeBrushScrollBarDelimiterInactive, 0, 0 }, /* 68 */
- { "FocusHighlight", kThemeBrushFocusHighlight, 0, 0 }, /* 69 */
- { "PopupArrowActive", kThemeBrushPopupArrowActive, 0, 0 }, /* 70 */
- { "PopupArrowPressed", kThemeBrushPopupArrowPressed, 0, 0 }, /* 71 */
- { "PopupArrowInactive", kThemeBrushPopupArrowInactive, 0, 0 }, /* 72 */
- { "AppleGuideCoachmark", kThemeBrushAppleGuideCoachmark, 0, 0 }, /* 73 */
- { "IconLabelBackgroundSelected", kThemeBrushIconLabelBackgroundSelected, 0, 0 }, /* 74 */
- { "StaticAreaFill", kThemeBrushStaticAreaFill, 0, 0 }, /* 75 */
- { "ActiveAreaFill", kThemeBrushActiveAreaFill, 0, 0 }, /* 76 */
- { "ButtonFrameActive", kThemeBrushButtonFrameActive, 0, 0 }, /* 77 */
- { "ButtonFrameInactive", kThemeBrushButtonFrameInactive, 0, 0 }, /* 78 */
- { "ButtonFaceActive", kThemeBrushButtonFaceActive, 0, 0 }, /* 79 */
- { "ButtonFaceInactive", kThemeBrushButtonFaceInactive, 0, 0 }, /* 80 */
- { "ButtonFacePressed", kThemeBrushButtonFacePressed, 0, 0 }, /* 81 */
- { "ButtonActiveDarkShadow", kThemeBrushButtonActiveDarkShadow, 0, 0 }, /* 82 */
- { "ButtonActiveDarkHighlight", kThemeBrushButtonActiveDarkHighlight, 0, 0 }, /* 83 */
- { "ButtonActiveLightShadow", kThemeBrushButtonActiveLightShadow, 0, 0 }, /* 84 */
- { "ButtonActiveLightHighlight", kThemeBrushButtonActiveLightHighlight, 0, 0 }, /* 85 */
- { "ButtonInactiveDarkShadow", kThemeBrushButtonInactiveDarkShadow, 0, 0 }, /* 86 */
- { "ButtonInactiveDarkHighlight", kThemeBrushButtonInactiveDarkHighlight, 0, 0 }, /* 87 */
- { "ButtonInactiveLightShadow", kThemeBrushButtonInactiveLightShadow, 0, 0 }, /* 88 */
- { "ButtonInactiveLightHighlight", kThemeBrushButtonInactiveLightHighlight, 0, 0 }, /* 89 */
- { "ButtonPressedDarkShadow", kThemeBrushButtonPressedDarkShadow, 0, 0 }, /* 90 */
- { "ButtonPressedDarkHighlight", kThemeBrushButtonPressedDarkHighlight, 0, 0 }, /* 91 */
- { "ButtonPressedLightShadow", kThemeBrushButtonPressedLightShadow, 0, 0 }, /* 92 */
- { "ButtonPressedLightHighlight", kThemeBrushButtonPressedLightHighlight, 0, 0 }, /* 93 */
- { "BevelActiveLight", kThemeBrushBevelActiveLight, 0, 0 }, /* 94 */
- { "BevelActiveDark", kThemeBrushBevelActiveDark, 0, 0 }, /* 95 */
- { "BevelInactiveLight", kThemeBrushBevelInactiveLight, 0, 0 }, /* 96 */
- { "BevelInactiveDark", kThemeBrushBevelInactiveDark, 0, 0 }, /* 97 */
- { "NotificationWindowBackground", kThemeBrushNotificationWindowBackground, 0, 0 }, /* 98 */
- { "MovableModalBackground", kThemeBrushMovableModalBackground, 0, 0 }, /* 99 */
- { "SheetBackgroundOpaque", kThemeBrushSheetBackgroundOpaque, 0, 0 }, /* 100 */
- { "DrawerBackground", kThemeBrushDrawerBackground, 0, 0 }, /* 101 */
- { "ToolbarBackground", kThemeBrushToolbarBackground, 0, 0 }, /* 102 */
- { "SheetBackgroundTransparent", kThemeBrushSheetBackgroundTransparent, 0, 0 }, /* 103 */
- { "MenuBackground", kThemeBrushMenuBackground, 0, 0 }, /* 104 */
- { "Pixel", 0, 0, 0 }, /* 105: PIXEL_MAGIC */
- { "MenuBackgroundSelected", kThemeBrushMenuBackgroundSelected, 0, 0 }, /* 106 */
- { "ListViewOddRowBackground", kThemeBrushListViewOddRowBackground, 0, 0 }, /* 107 */
- { "ListViewEvenRowBackground", kThemeBrushListViewEvenRowBackground, 0, 0 }, /* 108 */
- { "ListViewColumnDivider", kThemeBrushListViewColumnDivider, 0, 0 }, /* 109 */
- { "BlackText", 0, kThemeTextColorBlack, 0 }, /* 110 */
- { "DialogActiveText", 0, kThemeTextColorDialogActive, 0 }, /* 111 */
- { "DialogInactiveText", 0, kThemeTextColorDialogInactive, 0 }, /* 112 */
- { "AlertActiveText", 0, kThemeTextColorAlertActive, 0 }, /* 113 */
- { "AlertInactiveText", 0, kThemeTextColorAlertInactive, 0 }, /* 114 */
- { "ModelessDialogActiveText", 0, kThemeTextColorModelessDialogActive, 0 }, /* 115 */
- { "ModelessDialogInactiveText", 0, kThemeTextColorModelessDialogInactive, 0 }, /* 116 */
- { "WindowHeaderActiveText", 0, kThemeTextColorWindowHeaderActive, 0 }, /* 117 */
- { "WindowHeaderInactiveText", 0, kThemeTextColorWindowHeaderInactive, 0 }, /* 118 */
- { "PlacardActiveText", 0, kThemeTextColorPlacardActive, 0 }, /* 119 */
- { "PlacardInactiveText", 0, kThemeTextColorPlacardInactive, 0 }, /* 120 */
- { "PlacardPressedText", 0, kThemeTextColorPlacardPressed, 0 }, /* 121 */
- { "PushButtonActiveText", 0, kThemeTextColorPushButtonActive, 0 }, /* 122 */
- { "PushButtonInactiveText", 0, kThemeTextColorPushButtonInactive, 0 }, /* 123 */
- { "PushButtonPressedText", 0, kThemeTextColorPushButtonPressed, 0 }, /* 124 */
- { "BevelButtonActiveText", 0, kThemeTextColorBevelButtonActive, 0 }, /* 125 */
- { "BevelButtonInactiveText", 0, kThemeTextColorBevelButtonInactive, 0 }, /* 126 */
- { "BevelButtonPressedText", 0, kThemeTextColorBevelButtonPressed, 0 }, /* 127 */
- { "PopupButtonActiveText", 0, kThemeTextColorPopupButtonActive, 0 }, /* 128 */
- { "PopupButtonInactiveText", 0, kThemeTextColorPopupButtonInactive, 0 }, /* 129 */
- { "PopupButtonPressedText", 0, kThemeTextColorPopupButtonPressed, 0 }, /* 130 */
- { "IconLabelText", 0, kThemeTextColorIconLabel, 0 }, /* 131 */
- { "ListViewText", 0, kThemeTextColorListView, 0 }, /* 132 */
- { "DocumentWindowTitleActiveText", 0, kThemeTextColorDocumentWindowTitleActive, 0 }, /* 133 */
- { "DocumentWindowTitleInactiveText", 0, kThemeTextColorDocumentWindowTitleInactive, 0 }, /* 134 */
- { "MovableModalWindowTitleActiveText", 0, kThemeTextColorMovableModalWindowTitleActive, 0 }, /* 135 */
- { "MovableModalWindowTitleInactiveText",0, kThemeTextColorMovableModalWindowTitleInactive, 0 }, /* 136 */
- { "UtilityWindowTitleActiveText", 0, kThemeTextColorUtilityWindowTitleActive, 0 }, /* 137 */
- { "UtilityWindowTitleInactiveText", 0, kThemeTextColorUtilityWindowTitleInactive, 0 }, /* 138 */
- { "PopupWindowTitleActiveText", 0, kThemeTextColorPopupWindowTitleActive, 0 }, /* 139 */
- { "PopupWindowTitleInactiveText", 0, kThemeTextColorPopupWindowTitleInactive, 0 }, /* 140 */
- { "RootMenuActiveText", 0, kThemeTextColorRootMenuActive, 0 }, /* 141 */
- { "RootMenuSelectedText", 0, kThemeTextColorRootMenuSelected, 0 }, /* 142 */
- { "RootMenuDisabledText", 0, kThemeTextColorRootMenuDisabled, 0 }, /* 143 */
- { "MenuItemActiveText", 0, kThemeTextColorMenuItemActive, 0 }, /* 144 */
- { "MenuItemSelectedText", 0, kThemeTextColorMenuItemSelected, 0 }, /* 145 */
- { "MenuItemDisabledText", 0, kThemeTextColorMenuItemDisabled, 0 }, /* 146 */
- { "PopupLabelActiveText", 0, kThemeTextColorPopupLabelActive, 0 }, /* 147 */
- { "PopupLabelInactiveText", 0, kThemeTextColorPopupLabelInactive, 0 }, /* 148 */
- { "TabFrontActiveText", 0, kThemeTextColorTabFrontActive, 0 }, /* 149 */
- { "TabNonFrontActiveText", 0, kThemeTextColorTabNonFrontActive, 0 }, /* 150 */
- { "TabNonFrontPressedText", 0, kThemeTextColorTabNonFrontPressed, 0 }, /* 151 */
- { "TabFrontInactiveText", 0, kThemeTextColorTabFrontInactive, 0 }, /* 152 */
- { "TabNonFrontInactiveText", 0, kThemeTextColorTabNonFrontInactive, 0 }, /* 153 */
- { "IconLabelSelectedText", 0, kThemeTextColorIconLabelSelected, 0 }, /* 154 */
- { "BevelButtonStickyActiveText", 0, kThemeTextColorBevelButtonStickyActive, 0 }, /* 155 */
- { "BevelButtonStickyInactiveText", 0, kThemeTextColorBevelButtonStickyInactive, 0 }, /* 156 */
- { "NotificationText", 0, kThemeTextColorNotification, 0 }, /* 157 */
- { "SystemDetailText", 0, kThemeTextColorSystemDetail, 0 }, /* 158 */
- { "WhiteText", 0, kThemeTextColorWhite, 0 }, /* 159 */
- { "TabPaneBackground", 0, 0, kThemeBackgroundTabPane }, /* 160 */
- { "PlacardBackground", 0, 0, kThemeBackgroundPlacard }, /* 161 */
- { "WindowHeaderBackground", 0, 0, kThemeBackgroundWindowHeader }, /* 162 */
- { "ListViewWindowHeaderBackground", 0, 0, kThemeBackgroundListViewWindowHeader }, /* 163 */
- { "SecondaryGroupBoxBackground", 0, 0, kThemeBackgroundSecondaryGroupBox }, /* 164 */
- { "MetalBackground", 0, 0, kThemeBackgroundMetal }, /* 165 */
- { NULL, 0, 0, 0 }
-};
-#define MAX_PIXELCODE 165
-
-/*
- *----------------------------------------------------------------------
- *
- * GetThemeFromPixelCode --
- *
- * When given a pixel code corresponding to a theme system color,
- * set one of brush, textColor or background to the corresponding
- * Appearance Mgr theme constant.
- *
- * Results:
- * Returns false if not a real pixel, true otherwise.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-GetThemeFromPixelCode(
- unsigned char code,
- ThemeBrush *brush,
- ThemeTextColor *textColor,
- ThemeBackgroundKind *background)
-{
- if (code >= MIN_PIXELCODE && code <= MAX_PIXELCODE) {
- *brush = systemColorMap[code - MIN_PIXELCODE].brush;
- *textColor = systemColorMap[code - MIN_PIXELCODE].textColor;
- *background = systemColorMap[code - MIN_PIXELCODE].background;
- } else {
- *brush = 0;
- *textColor = 0;
- *background = 0;
- }
- if (!*brush && !*textColor && !*background && code != PIXEL_MAGIC &&
- code != TRANSPARENT_PIXEL) {
- return false;
- } else {
- return true;
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * GetThemeColor --
- *
- * Get RGB color for a given system color or pixel value.
- *
- * Results:
- * OSStatus
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-static OSStatus
-GetThemeColor(
- unsigned long pixel,
- ThemeBrush brush,
- ThemeTextColor textColor,
- ThemeBackgroundKind background,
- CGColorRef *c)
-{
- OSStatus err = noErr;
-
- if (brush) {
- err = ChkErr(HIThemeBrushCreateCGColor, brush, c);
- /*} else if (textColor) {
- err = ChkErr(GetThemeTextColor, textColor, 32, true, c);*/
- } else {
- CGFloat rgba[4] = {0, 0, 0, 1};
-
- switch ((pixel >> 24) & 0xff) {
- case PIXEL_MAGIC: {
- unsigned short red, green, blue;
- red = (pixel >> 16) & 0xff;
- green = (pixel >> 8) & 0xff;
- blue = (pixel ) & 0xff;
- red |= red << 8;
- green |= green << 8;
- blue |= blue << 8;
- rgba[0] = red / 65535.0;
- rgba[1] = green / 65535.0;
- rgba[2] = blue / 65535.0;
- break;
- }
- case TRANSPARENT_PIXEL:
- rgba[3] = 0.0;
- break;
- }
-
- static CGColorSpaceRef deviceRGBSpace = NULL;
- if (!deviceRGBSpace) {
- deviceRGBSpace = CGColorSpaceCreateDeviceRGB();
- }
- *c = CGColorCreate(deviceRGBSpace, rgba );
- }
- return err;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkSetMacColor --
- *
- * Creates a CGColorRef from a X style pixel value.
- *
- * Results:
- * Returns false if not a real pixel, true otherwise.
- *
- * Side effects:
- * The variable macColor is set to a new CGColorRef, the caller is
- * responsible for releasing it!
- *
- *----------------------------------------------------------------------
- */
-
-int
-TkSetMacColor(
- unsigned long pixel, /* Pixel value to convert. */
- void *macColor) /* CGColorRef to modify. */
-{
- CGColorRef *color = (CGColorRef*)macColor;
- OSStatus err = -1;
- ThemeBrush brush;
- ThemeTextColor textColor;
- ThemeBackgroundKind background;
-
- if (GetThemeFromPixelCode((pixel >> 24) & 0xff, &brush, &textColor,
- &background)) {
- err = ChkErr(GetThemeColor, pixel, brush, textColor, background,
- color);
- }
- return (err == noErr);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpInitGCCache, TkpFreeGCCache, CopyCachedColor, SetCachedColor --
- *
- * Maintain a per-GC cache of previously converted CGColorRefs
- *
- * Results:
- * None resp. retained CGColorRef for CopyCachedColor()
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpInitGCCache(
- GC gc)
-{
- bzero(TkpGetGCCache(gc), sizeof(TkpGCCache));
-}
-
-void
-TkpFreeGCCache(
- GC gc)
-{
- TkpGCCache *gcCache = TkpGetGCCache(gc);
-
- if (gcCache->cachedForegroundColor) {
- CFRelease(gcCache->cachedForegroundColor);
- }
- if (gcCache->cachedBackgroundColor) {
- CFRelease(gcCache->cachedBackgroundColor);
- }
-}
-
-static CGColorRef
-CopyCachedColor(
- GC gc,
- unsigned long pixel)
-{
- TkpGCCache *gcCache = TkpGetGCCache(gc);
- CGColorRef cgColor = NULL;
-
- if (gcCache) {
- if (gcCache->cachedForeground == pixel) {
- cgColor = gcCache->cachedForegroundColor;
- } else if (gcCache->cachedBackground == pixel) {
- cgColor = gcCache->cachedBackgroundColor;
- }
- if (cgColor) {
- CFRetain(cgColor);
- }
- }
- return cgColor;
-}
-
-static void
-SetCachedColor(
- GC gc,
- unsigned long pixel,
- CGColorRef cgColor)
-{
- TkpGCCache *gcCache = TkpGetGCCache(gc);
-
- if (gcCache && cgColor) {
- if (gc->foreground == pixel) {
- if (gcCache->cachedForegroundColor) {
- CFRelease(gcCache->cachedForegroundColor);
- }
- gcCache->cachedForegroundColor = (CGColorRef) CFRetain(cgColor);
- gcCache->cachedForeground = pixel;
- } else if (gc->background == pixel) {
- if (gcCache->cachedBackgroundColor) {
- CFRelease(gcCache->cachedBackgroundColor);
- }
- gcCache->cachedBackgroundColor = (CGColorRef) CFRetain(cgColor);
- gcCache->cachedBackground = pixel;
- }
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXCreateCGColor --
- *
- * Creates a CGColorRef from a X style pixel value.
- *
- * Results:
- * Returns NULL if not a real pixel, CGColorRef otherwise.
- *
- * Side effects:
- * None
- *
- *----------------------------------------------------------------------
- */
-
-CGColorRef
-TkMacOSXCreateCGColor(
- GC gc,
- unsigned long pixel) /* Pixel value to convert. */
-{
- CGColorRef cgColor = CopyCachedColor(gc, pixel);
-
- if (!cgColor && TkSetMacColor(pixel, &cgColor)) {
- SetCachedColor(gc, pixel, cgColor);
- }
- return cgColor;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXGetNSColor --
- *
- * Creates an autoreleased NSColor from a X style pixel value.
- *
- * Results:
- * Returns nil if not a real pixel, NSColor* otherwise.
- *
- * Side effects:
- * None
- *
- *----------------------------------------------------------------------
- */
-
-NSColor*
-TkMacOSXGetNSColor(
- GC gc,
- unsigned long pixel) /* Pixel value to convert. */
-{
- CGColorRef cgColor = TkMacOSXCreateCGColor(gc, pixel);
- NSColor *nsColor = nil;
-
- if (cgColor) {
- NSColorSpace *colorSpace = [[NSColorSpace alloc]
- initWithCGColorSpace:CGColorGetColorSpace(cgColor)];
- nsColor = [NSColor colorWithColorSpace:colorSpace
- components:CGColorGetComponents(cgColor)
- count:CGColorGetNumberOfComponents(cgColor)];
- [colorSpace release];
- CFRelease(cgColor);
- }
- return nsColor;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXSetColorInContext --
- *
- * Sets fill and stroke color in the given CG context from an X
- * pixel value, or if the pixel code indicates a system color,
- * sets the corresponding brush, textColor or background via
- * HITheme APIs if available or Appearance mgr APIs.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkMacOSXSetColorInContext(
- GC gc,
- unsigned long pixel,
- CGContextRef context)
-{
- OSStatus err = -1;
- CGColorRef cgColor = CopyCachedColor(gc, pixel);
- ThemeBrush brush;
- ThemeTextColor textColor;
- ThemeBackgroundKind background;
-
- if (!cgColor && GetThemeFromPixelCode((pixel >> 24) & 0xff, &brush,
- &textColor, &background)) {
- if (brush) {
- err = ChkErr(HIThemeSetFill, brush, NULL, context,
- kHIThemeOrientationNormal);
- if (err == noErr) {
- err = ChkErr(HIThemeSetStroke, brush, NULL, context,
- kHIThemeOrientationNormal);
- }
- } else if (textColor) {
- err = ChkErr(HIThemeSetTextFill, textColor, NULL, context,
- kHIThemeOrientationNormal);
- } else if (background) {
- CGRect rect = CGContextGetClipBoundingBox(context);
- HIThemeBackgroundDrawInfo info = { 0, kThemeStateActive,
- background };
-
- err = ChkErr(HIThemeApplyBackground, &rect, &info,
- context, kHIThemeOrientationNormal);
- }
- if (err == noErr) {
- return;
- }
- err = ChkErr(GetThemeColor, pixel, brush, textColor, background,
- &cgColor);
- if (err == noErr) {
- SetCachedColor(gc, pixel, cgColor);
- }
- } else if (!cgColor) {
- TkMacOSXDbgMsg("Ignored unknown pixel value 0x%lx", pixel);
- }
- if (cgColor) {
- CGContextSetFillColorWithColor(context, cgColor);
- CGContextSetStrokeColorWithColor(context, cgColor);
- CGColorRelease(cgColor);
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpGetColor --
- *
- * Allocate a new TkColor for the color with the given name.
- *
- * Results:
- * Returns a newly allocated TkColor, or NULL on failure.
- *
- * Side effects:
- * May invalidate the colormap cache associated with tkwin upon
- * allocating a new colormap entry. Allocates a new TkColor
- * structure.
- *
- *----------------------------------------------------------------------
- */
-
-TkColor *
-TkpGetColor(
- Tk_Window tkwin, /* Window in which color will be used. */
- Tk_Uid name) /* Name of color to allocated (in form
- * suitable for passing to XParseColor). */
-{
- Display *display = tkwin != None ? Tk_Display(tkwin) : NULL;
- Colormap colormap = tkwin!= None ? Tk_Colormap(tkwin) : None;
- TkColor *tkColPtr;
- XColor color;
-
- /*
- * Check to see if this is a system color. Otherwise, XParseColor
- * will do all the work.
- */
- if (strncasecmp(name, "system", 6) == 0) {
- Tcl_Obj *strPtr = Tcl_NewStringObj(name+6, -1);
- int idx, result;
-
- result = Tcl_GetIndexFromObjStruct(NULL, strPtr, systemColorMap,
- sizeof(struct SystemColorMapEntry), NULL, TCL_EXACT, &idx);
- Tcl_DecrRefCount(strPtr);
- if (result == TCL_OK) {
- OSStatus err;
- CGColorRef c;
- unsigned char pixelCode = idx + MIN_PIXELCODE;
- ThemeBrush brush = systemColorMap[idx].brush;
- ThemeTextColor textColor = systemColorMap[idx].textColor;
- ThemeBackgroundKind background = systemColorMap[idx].background;
-
- err = ChkErr(GetThemeColor, 0, brush, textColor, background, &c);
- if (err == noErr) {
- const size_t n = CGColorGetNumberOfComponents(c);
- const CGFloat *rgba = CGColorGetComponents(c);
-
- switch (n) {
- case 4:
- color.red = rgba[0] * 65535.0;
- color.green = rgba[1] * 65535.0;
- color.blue = rgba[2] * 65535.0;
- break;
- case 2:
- color.red = color.green = color.blue = rgba[0] * 65535.0;
- break;
- default:
- Tcl_Panic("CGColor with %d components", (int) n);
- }
- color.pixel = ((((((pixelCode << 8)
- | ((color.red >> 8) & 0xff)) << 8)
- | ((color.green >> 8) & 0xff)) << 8)
- | ((color.blue >> 8) & 0xff));
- CGColorRelease(c);
- goto validXColor;
- }
- CGColorRelease(c);
- }
- }
-
- if (TkParseColor(display, colormap, name, &color) == 0) {
- return NULL;
- }
-
-validXColor:
- tkColPtr = ckalloc(sizeof(TkColor));
- tkColPtr->color = color;
-
- return tkColPtr;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpGetColorByValue --
- *
- * Given a desired set of red-green-blue intensities for a color,
- * locate a pixel value to use to draw that color in a given
- * window.
- *
- * Results:
- * The return value is a pointer to an TkColor structure that
- * indicates the closest red, blue, and green intensities available
- * to those specified in colorPtr, and also specifies a pixel
- * value to use to draw in that color.
- *
- * Side effects:
- * May invalidate the colormap cache for the specified window.
- * Allocates a new TkColor structure.
- *
- *----------------------------------------------------------------------
- */
-
-TkColor *
-TkpGetColorByValue(
- Tk_Window tkwin, /* Window in which color will be used. */
- XColor *colorPtr) /* Red, green, and blue fields indicate
- * desired color. */
-{
- TkColor *tkColPtr = ckalloc(sizeof(TkColor));
-
- tkColPtr->color.red = colorPtr->red;
- tkColPtr->color.green = colorPtr->green;
- tkColPtr->color.blue = colorPtr->blue;
- tkColPtr->color.pixel = TkpGetPixel(&tkColPtr->color);
- return tkColPtr;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * Stub functions --
- *
- * These functions are just stubs for functions that either
- * don't make sense on the Mac or have yet to be implemented.
- *
- * Results:
- * None.
- *
- * Side effects:
- * These calls do nothing - which may not be expected.
- *
- *----------------------------------------------------------------------
- */
-
-Status
-XAllocColor(
- Display *display, /* Display. */
- Colormap map, /* Not used. */
- XColor *colorPtr) /* XColor struct to modify. */
-{
- display->request++;
- colorPtr->pixel = TkpGetPixel(colorPtr);
- return 1;
-}
-
-Colormap
-XCreateColormap(
- Display *display, /* Display. */
- Window window, /* X window. */
- Visual *visual, /* Not used. */
- int alloc) /* Not used. */
-{
- static Colormap index = 1;
-
- /*
- * Just return a new value each time.
- */
- return index++;
-}
-
-int
-XFreeColormap(
- Display* display, /* Display. */
- Colormap colormap) /* Colormap. */
-{
- return Success;
-}
-
-int
-XFreeColors(
- Display* display, /* Display. */
- Colormap colormap, /* Colormap. */
- unsigned long* pixels, /* Array of pixels. */
- int npixels, /* Number of pixels. */
- unsigned long planes) /* Number of pixel planes. */
-{
- /*
- * The Macintosh version of Tk uses TrueColor. Nothing
- * needs to be done to release colors as there really is
- * no colormap in the Tk sense.
- */
- return Success;
-}
-
-/*
- * Local Variables:
- * mode: objc
- * c-basic-offset: 4
- * fill-column: 79
- * coding: utf-8
- * End:
- */
diff --git a/tk8.6/macosx/tkMacOSXConfig.c b/tk8.6/macosx/tkMacOSXConfig.c
deleted file mode 100644
index 841fc54..0000000
--- a/tk8.6/macosx/tkMacOSXConfig.c
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * tkMacOSXConfig.c --
- *
- * This module implements the Macintosh system defaults for
- * the configuration package.
- *
- * Copyright (c) 1997 by Sun Microsystems, Inc.
- * Copyright 2001, Apple Inc.
- *
- * See the file "license.terms" for information on usage and redistribution
- * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
- */
-
-#include "tkInt.h"
-
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpGetSystemDefault --
- *
- * Given a dbName and className for a configuration option,
- * return a string representation of the option.
- *
- * Results:
- * Returns a Tk_Uid that is the string identifier that identifies
- * this option. Returns NULL if there are no system defaults
- * that match this pair.
- *
- * Side effects:
- * None, once the package is initialized.
- *
- *----------------------------------------------------------------------
- */
-
-Tcl_Obj *
-TkpGetSystemDefault(
- Tk_Window tkwin, /* A window to use. */
- const char *dbName, /* The option database name. */
- const char *className) /* The name of the option class. */
-{
- return NULL;
-}
-
-/*
- * Local Variables:
- * mode: objc
- * c-basic-offset: 4
- * fill-column: 79
- * coding: utf-8
- * End:
- */
diff --git a/tk8.6/macosx/tkMacOSXConstants.h b/tk8.6/macosx/tkMacOSXConstants.h
deleted file mode 100644
index 0badf1a..0000000
--- a/tk8.6/macosx/tkMacOSXConstants.h
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * tkMacOSXConstants.h --
- *
- * Macros which map the names of NS constants used in the Tk code to
- * the new name that Apple came up with for subsequent versions of the
- * operating system. (Each new OS release seems to come with a new
- * naming convention for the same old constants.)
- *
- * Copyright (c) 2017 Marc Culler
- *
- * See the file "license.terms" for information on usage and redistribution
- * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
- */
-
-#ifndef _TKMACCONSTANTS
-#define _TKMACCONSTANTS
-
-#if MAC_OS_X_VERSION_MAX_ALLOWED < 1070
-#define NSFullScreenWindowMask (1 << 14)
-#endif
-
-/*
- * Let's raise a glass for the project manager who improves our lives by
- * generating deprecation warnings about pointless changes of the names
- * of constants.
- */
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1090
-#define kCTFontDefaultOrientation kCTFontOrientationDefault
-#define kCTFontVerticalOrientation kCTFontOrientationVertical
-#endif
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= 101000
-#define NSOKButton NSModalResponseOK
-#endif
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= 101100
-#define kCTFontUserFixedPitchFontType kCTFontUIFontUserFixedPitch
-#endif
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= 101200
-#define NSAppKitDefined NSEventTypeAppKitDefined
-#define NSApplicationDefined NSEventTypeApplicationDefined
-#define NSApplicationActivatedEventType NSEventSubtypeApplicationActivated
-#define NSApplicationDeactivatedEventType NSEventSubtypeApplicationDeactivated
-#define NSWindowExposedEventType NSEventSubtypeWindowExposed
-#define NSScreenChangedEventType NSEventSubtypeScreenChanged
-#define NSWindowMovedEventType NSEventSubtypeWindowMoved
-#define NSKeyUp NSEventTypeKeyUp
-#define NSKeyDown NSEventTypeKeyDown
-#define NSFlagsChanged NSEventTypeFlagsChanged
-#define NSLeftMouseDown NSEventTypeLeftMouseDown
-#define NSLeftMouseUp NSEventTypeLeftMouseUp
-#define NSRightMouseDown NSEventTypeRightMouseDown
-#define NSRightMouseUp NSEventTypeRightMouseUp
-#define NSLeftMouseDragged NSEventTypeLeftMouseDragged
-#define NSRightMouseDragged NSEventTypeRightMouseDragged
-#define NSMouseMoved NSEventTypeMouseMoved
-#define NSMouseEntered NSEventTypeMouseEntered
-#define NSMouseExited NSEventTypeMouseExited
-#define NSScrollWheel NSEventTypeScrollWheel
-#define NSOtherMouseDown NSEventTypeOtherMouseDown
-#define NSOtherMouseUp NSEventTypeOtherMouseUp
-#define NSOtherMouseDragged NSEventTypeOtherMouseDragged
-#define NSTabletPoint NSEventTypeTabletPoint
-#define NSTabletProximity NSEventTypeTabletProximity
-#define NSDeviceIndependentModifierFlagsMask NSEventModifierFlagDeviceIndependentFlagsMask
-#define NSCommandKeyMask NSEventModifierFlagCommand
-#define NSShiftKeyMask NSEventModifierFlagShift
-#define NSAlphaShiftKeyMask NSEventModifierFlagCapsLock
-#define NSAlternateKeyMask NSEventModifierFlagOption
-#define NSControlKeyMask NSEventModifierFlagControl
-#define NSNumericPadKeyMask NSEventModifierFlagNumericPad
-#define NSFunctionKeyMask NSEventModifierFlagFunction
-#define NSCursorUpdate NSEventTypeCursorUpdate
-#define NSTexturedBackgroundWindowMask NSWindowStyleMaskTexturedBackground
-#define NSCompositeCopy NSCompositingOperationCopy
-#define NSWarningAlertStyle NSAlertStyleWarning
-#define NSInformationalAlertStyle NSAlertStyleInformational
-#define NSCriticalAlertStyle NSAlertStyleCritical
-#define NSCenterTextAlignment NSTextAlignmentCenter
-#define NSDeviceIndependentModifierFlagsMask NSEventModifierFlagDeviceIndependentFlagsMask
-#define NSCommandKeyMask NSEventModifierFlagCommand
-#define NSShiftKeyMask NSEventModifierFlagShift
-#define NSAlphaShiftKeyMask NSEventModifierFlagCapsLock
-#define NSAlternateKeyMask NSEventModifierFlagOption
-#define NSControlKeyMask NSEventModifierFlagControl
-#define NSNumericPadKeyMask NSEventModifierFlagNumericPad
-#define NSFunctionKeyMask NSEventModifierFlagFunction
-#define NSKeyUp NSEventTypeKeyUp
-#define NSKeyDown NSEventTypeKeyDown
-#define NSFlagsChanged NSEventTypeFlagsChanged
-#define NSAlphaShiftKeyMask NSEventModifierFlagCapsLock
-#define NSShiftKeyMask NSEventModifierFlagShift
-#define NSAnyEventMask NSEventMaskAny
-#define NSApplicationDefinedMask NSEventMaskApplicationDefined
-#define NSTexturedBackgroundWindowMask NSWindowStyleMaskTexturedBackground
-#define NSUtilityWindowMask NSWindowStyleMaskUtilityWindow
-#define NSNonactivatingPanelMask NSWindowStyleMaskNonactivatingPanel
-#define NSDocModalWindowMask NSWindowStyleMaskDocModalWindow
-#define NSHUDWindowMask NSWindowStyleMaskHUDWindow
-#define NSTitledWindowMask NSWindowStyleMaskTitled
-#define NSClosableWindowMask NSWindowStyleMaskClosable
-#define NSResizableWindowMask NSWindowStyleMaskResizable
-#define NSUnifiedTitleAndToolbarWindowMask NSWindowStyleMaskUnifiedTitleAndToolbar
-#define NSMiniaturizableWindowMask NSWindowStyleMaskMiniaturizable
-#define NSBorderlessWindowMask NSWindowStyleMaskBorderless
-#define NSFullScreenWindowMask NSWindowStyleMaskFullScreen
-#endif
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= 101400
-#define NSStringPboardType NSPasteboardTypeString
-#define NSOnState NSControlStateValueOn
-#define NSOffState NSControlStateValueOff
-// Now we are also changing names of methods!
-#define graphicsContextWithGraphicsPort graphicsContextWithCGContext
-#endif
-
-
-#endif
-
diff --git a/tk8.6/macosx/tkMacOSXCursor.c b/tk8.6/macosx/tkMacOSXCursor.c
deleted file mode 100644
index b6394b7..0000000
--- a/tk8.6/macosx/tkMacOSXCursor.c
+++ /dev/null
@@ -1,595 +0,0 @@
-/*
- * tkMacOSXCursor.c --
- *
- * This file contains Macintosh specific cursor related routines.
- *
- * Copyright (c) 1995-1997 Sun Microsystems, Inc.
- * Copyright 2001-2009, Apple Inc.
- * Copyright (c) 2006-2009 Daniel A. Steffen <das@users.sourceforge.net>
- *
- * See the file "license.terms" for information on usage and redistribution
- * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
- */
-
-#include "tkMacOSXPrivate.h"
-#include "tkMacOSXCursors.h"
-#include "tkMacOSXXCursors.h"
-
-/*
- * Mac Cursor Types.
- */
-
-#define NONE -1 /* Hidden cursor */
-#define SELECTOR 1 /* NSCursor class method */
-#define IMAGENAMED 2 /* Named NSImage */
-#define IMAGEPATH 3 /* Path to NSImage */
-#define IMAGEBITMAP 4 /* Pointer to 16x16 cursor bitmap data */
-
-#define pix 16 /* Pixel width & height of cursor bitmap data */
-
-/*
- * The following data structure contains the system specific data necessary to
- * control Windows cursors.
- */
-
-typedef struct {
- TkCursor info; /* Generic cursor info used by tkCursor.c */
- NSCursor *macCursor; /* Macintosh cursor */
- int type; /* Type of Mac cursor */
-} TkMacOSXCursor;
-
-/*
- * The table below is used to map from the name of a predefined cursor
- * to a NSCursor.
- */
-
-struct CursorName {
- const char *name;
- const int kind;
- id id1, id2;
- NSPoint hotspot;
-};
-
-#define MacCursorData(n) ((id)tkMacOSXCursors[TK_MAC_CURSOR_##n])
-#define MacXCursorData(n) ((id)tkMacOSXXCursors[TK_MAC_XCURSOR_##n])
-
-static const struct CursorName cursorNames[] = {
- {"none", NONE, nil},
- {"arrow", SELECTOR, @"arrowCursor"},
- {"top_left_arrow", SELECTOR, @"arrowCursor"},
- {"left_ptr", SELECTOR, @"arrowCursor"},
- {"copyarrow", SELECTOR, @"dragCopyCursor", @"_copyDragCursor"},
- {"aliasarrow", SELECTOR, @"dragLinkCursor", @"_linkDragCursor"},
- {"contextualmenuarrow", SELECTOR, @"contextualMenuCursor"},
- {"movearrow", SELECTOR, @"_moveCursor"},
- {"ibeam", SELECTOR, @"IBeamCursor"},
- {"text", SELECTOR, @"IBeamCursor"},
- {"xterm", SELECTOR, @"IBeamCursor"},
- {"cross", SELECTOR, @"crosshairCursor"},
- {"crosshair", SELECTOR, @"crosshairCursor"},
- {"cross-hair", SELECTOR, @"crosshairCursor"},
- {"tcross", SELECTOR, @"crosshairCursor"},
- {"hand", SELECTOR, @"openHandCursor"},
- {"openhand", SELECTOR, @"openHandCursor"},
- {"closedhand", SELECTOR, @"closedHandCursor"},
- {"fist", SELECTOR, @"closedHandCursor"},
- {"pointinghand", SELECTOR, @"pointingHandCursor"},
- {"resize", SELECTOR, @"arrowCursor"},
- {"resizeleft", SELECTOR, @"resizeLeftCursor"},
- {"resizeright", SELECTOR, @"resizeRightCursor"},
- {"resizeleftright", SELECTOR, @"resizeLeftRightCursor"},
- {"resizeup", SELECTOR, @"resizeUpCursor"},
- {"resizedown", SELECTOR, @"resizeDownCursor"},
- {"resizeupdown", SELECTOR, @"resizeUpDownCursor"},
- {"resizebottomleft", SELECTOR, @"_bottomLeftResizeCursor"},
- {"resizetopleft", SELECTOR, @"_topLeftResizeCursor"},
- {"resizebottomright", SELECTOR, @"_bottomRightResizeCursor"},
- {"resizetopright", SELECTOR, @"_topRightResizeCursor"},
- {"notallowed", SELECTOR, @"operationNotAllowedCursor"},
- {"poof", SELECTOR, @"disappearingItemCursor"},
- {"wait", SELECTOR, @"busyButClickableCursor"},
- {"spinning", SELECTOR, @"busyButClickableCursor"},
- {"countinguphand", SELECTOR, @"busyButClickableCursor"},
- {"countingdownhand", SELECTOR, @"busyButClickableCursor"},
- {"countingupanddownhand", SELECTOR, @"busyButClickableCursor"},
- {"help", IMAGENAMED, @"NSHelpCursor", nil, {8, 8}},
-// {"hand", IMAGEBITMAP, MacCursorData(hand)},
- {"bucket", IMAGEBITMAP, MacCursorData(bucket)},
- {"cancel", IMAGEBITMAP, MacCursorData(cancel)},
-// {"resize", IMAGEBITMAP, MacCursorData(resize)},
- {"eyedrop", IMAGEBITMAP, MacCursorData(eyedrop)},
- {"eyedrop-full", IMAGEBITMAP, MacCursorData(eyedrop_full)},
- {"zoom-in", IMAGEBITMAP, MacCursorData(zoom_in)},
- {"zoom-out", IMAGEBITMAP, MacCursorData(zoom_out)},
- {"X_cursor", IMAGEBITMAP, MacXCursorData(X_cursor)},
-// {"arrow", IMAGEBITMAP, MacXCursorData(arrow)},
- {"based_arrow_down", IMAGEBITMAP, MacXCursorData(based_arrow_down)},
- {"based_arrow_up", IMAGEBITMAP, MacXCursorData(based_arrow_up)},
- {"boat", IMAGEBITMAP, MacXCursorData(boat)},
- {"bogosity", IMAGEBITMAP, MacXCursorData(bogosity)},
- {"bottom_left_corner", IMAGEBITMAP, MacXCursorData(bottom_left_corner)},
- {"bottom_right_corner", IMAGEBITMAP, MacXCursorData(bottom_right_corner)},
- {"bottom_side", IMAGEBITMAP, MacXCursorData(bottom_side)},
- {"bottom_tee", IMAGEBITMAP, MacXCursorData(bottom_tee)},
- {"box_spiral", IMAGEBITMAP, MacXCursorData(box_spiral)},
- {"center_ptr", IMAGEBITMAP, MacXCursorData(center_ptr)},
- {"circle", IMAGEBITMAP, MacXCursorData(circle)},
- {"clock", IMAGEBITMAP, MacXCursorData(clock)},
- {"coffee_mug", IMAGEBITMAP, MacXCursorData(coffee_mug)},
-// {"cross", IMAGEBITMAP, MacXCursorData(cross)},
- {"cross_reverse", IMAGEBITMAP, MacXCursorData(cross_reverse)},
-// {"crosshair", IMAGEBITMAP, MacXCursorData(crosshair)},
- {"diamond_cross", IMAGEBITMAP, MacXCursorData(diamond_cross)},
- {"dot", IMAGEBITMAP, MacXCursorData(dot)},
- {"dotbox", IMAGEBITMAP, MacXCursorData(dotbox)},
- {"double_arrow", IMAGEBITMAP, MacXCursorData(double_arrow)},
- {"draft_large", IMAGEBITMAP, MacXCursorData(draft_large)},
- {"draft_small", IMAGEBITMAP, MacXCursorData(draft_small)},
- {"draped_box", IMAGEBITMAP, MacXCursorData(draped_box)},
- {"exchange", IMAGEBITMAP, MacXCursorData(exchange)},
- {"fleur", IMAGEBITMAP, MacXCursorData(fleur)},
- {"gobbler", IMAGEBITMAP, MacXCursorData(gobbler)},
- {"gumby", IMAGEBITMAP, MacXCursorData(gumby)},
- {"hand1", IMAGEBITMAP, MacXCursorData(hand1)},
- {"hand2", IMAGEBITMAP, MacXCursorData(hand2)},
- {"heart", IMAGEBITMAP, MacXCursorData(heart)},
- {"icon", IMAGEBITMAP, MacXCursorData(icon)},
- {"iron_cross", IMAGEBITMAP, MacXCursorData(iron_cross)},
-// {"left_ptr", IMAGEBITMAP, MacXCursorData(left_ptr)},
- {"left_side", IMAGEBITMAP, MacXCursorData(left_side)},
- {"left_tee", IMAGEBITMAP, MacXCursorData(left_tee)},
- {"leftbutton", IMAGEBITMAP, MacXCursorData(leftbutton)},
- {"ll_angle", IMAGEBITMAP, MacXCursorData(ll_angle)},
- {"lr_angle", IMAGEBITMAP, MacXCursorData(lr_angle)},
- {"man", IMAGEBITMAP, MacXCursorData(man)},
- {"middlebutton", IMAGEBITMAP, MacXCursorData(middlebutton)},
- {"mouse", IMAGEBITMAP, MacXCursorData(mouse)},
- {"pencil", IMAGEBITMAP, MacXCursorData(pencil)},
- {"pirate", IMAGEBITMAP, MacXCursorData(pirate)},
- {"plus", IMAGEBITMAP, MacXCursorData(plus)},
- {"question_arrow", IMAGEBITMAP, MacXCursorData(question_arrow)},
- {"right_ptr", IMAGEBITMAP, MacXCursorData(right_ptr)},
- {"right_side", IMAGEBITMAP, MacXCursorData(right_side)},
- {"right_tee", IMAGEBITMAP, MacXCursorData(right_tee)},
- {"rightbutton", IMAGEBITMAP, MacXCursorData(rightbutton)},
- {"rtl_logo", IMAGEBITMAP, MacXCursorData(rtl_logo)},
- {"sailboat", IMAGEBITMAP, MacXCursorData(sailboat)},
- {"sb_down_arrow", IMAGEBITMAP, MacXCursorData(sb_down_arrow)},
- {"sb_h_double_arrow", IMAGEBITMAP, MacXCursorData(sb_h_double_arrow)},
- {"sb_left_arrow", IMAGEBITMAP, MacXCursorData(sb_left_arrow)},
- {"sb_right_arrow", IMAGEBITMAP, MacXCursorData(sb_right_arrow)},
- {"sb_up_arrow", IMAGEBITMAP, MacXCursorData(sb_up_arrow)},
- {"sb_v_double_arrow", IMAGEBITMAP, MacXCursorData(sb_v_double_arrow)},
- {"shuttle", IMAGEBITMAP, MacXCursorData(shuttle)},
- {"sizing", IMAGEBITMAP, MacXCursorData(sizing)},
- {"spider", IMAGEBITMAP, MacXCursorData(spider)},
- {"spraycan", IMAGEBITMAP, MacXCursorData(spraycan)},
- {"star", IMAGEBITMAP, MacXCursorData(star)},
- {"target", IMAGEBITMAP, MacXCursorData(target)},
-// {"tcross", IMAGEBITMAP, MacXCursorData(tcross)},
-// {"top_left_arrow", IMAGEBITMAP, MacXCursorData(top_left_arrow)},
- {"top_left_corner", IMAGEBITMAP, MacXCursorData(top_left_corner)},
- {"top_right_corner", IMAGEBITMAP, MacXCursorData(top_right_corner)},
- {"top_side", IMAGEBITMAP, MacXCursorData(top_side)},
- {"top_tee", IMAGEBITMAP, MacXCursorData(top_tee)},
- {"trek", IMAGEBITMAP, MacXCursorData(trek)},
- {"ul_angle", IMAGEBITMAP, MacXCursorData(ul_angle)},
- {"umbrella", IMAGEBITMAP, MacXCursorData(umbrella)},
- {"ur_angle", IMAGEBITMAP, MacXCursorData(ur_angle)},
- {"watch", IMAGEBITMAP, MacXCursorData(watch)},
-// {"xterm", IMAGEBITMAP, MacXCursorData(xterm)},
- {NULL}
-};
-
-/*
- * Declarations of static variables used in this file.
- */
-
-static TkMacOSXCursor * gCurrentCursor = NULL;
- /* A pointer to the current cursor. */
-static int gResizeOverride = false;
- /* A boolean indicating whether we should use
- * the resize cursor during installations. */
-static int gTkOwnsCursor = true;/* A boolean indicating whether Tk owns the
- * cursor. If not (for instance, in the case
- * where a Tk window is embedded in another
- * app's window, and the cursor is out of the
- * tk window, we will not attempt to adjust
- * the cursor. */
-
-/*
- * Declarations of procedures local to this file
- */
-
-static void FindCursorByName(TkMacOSXCursor *macCursorPtr, const char *string);
-
-/*
- *----------------------------------------------------------------------
- *
- * FindCursorByName --
- *
- * Retrieve a system cursor by name, and fill the macCursorPtr
- * structure. If the cursor cannot be found, the macCursor field
- * will be nil.
- *
- * Results:
- * Fills the macCursorPtr record.
- *
- * Side effects:
- * None
- *
- *----------------------------------------------------------------------
- */
-
-void
-FindCursorByName(
- TkMacOSXCursor *macCursorPtr,
- const char *name)
-{
- NSString *path = nil;
- NSImage *image = nil;
- NSPoint hotSpot = NSZeroPoint;
- int haveHotSpot = 0, result = TCL_ERROR;
- NSCursor *macCursor = nil;
-
- if (name[0] == '@') {
- /*
- * System cursor of type @filename
- */
-
- macCursorPtr->type = IMAGEPATH;
- path = [NSString stringWithUTF8String:&name[1]];
- } else {
- Tcl_Obj *strPtr = Tcl_NewStringObj(name, -1);
- int idx;
-
- result = Tcl_GetIndexFromObjStruct(NULL, strPtr, cursorNames,
- sizeof(struct CursorName), NULL, TCL_EXACT, &idx);
- Tcl_DecrRefCount(strPtr);
- if (result == TCL_OK) {
- macCursorPtr->type = cursorNames[idx].kind;
- switch (cursorNames[idx].kind) {
- case SELECTOR: {
- SEL selector = NSSelectorFromString(cursorNames[idx].id1);
- if ([NSCursor respondsToSelector:selector]) {
- macCursor = [[NSCursor performSelector:selector] retain];
- } else if (cursorNames[idx].id2) {
- selector = NSSelectorFromString(cursorNames[idx].id2);
- if ([NSCursor respondsToSelector:selector]) {
- macCursor = [[NSCursor performSelector:selector] retain];
- }
- }
- break;
- }
- case IMAGENAMED:
- image = [[NSImage imageNamed:cursorNames[idx].id1] retain];
- hotSpot = cursorNames[idx].hotspot;
- haveHotSpot = 1;
- break;
- case IMAGEPATH:
- path = [NSApp tkFrameworkImagePath:cursorNames[idx].id1];
- break;
- case IMAGEBITMAP: {
- unsigned char *bitmap = (unsigned char *)(cursorNames[idx].id1);
- NSBitmapImageRep *bitmapImageRep = NULL;
- CGImageRef img = NULL, mask = NULL, maskedImg = NULL;
- static const CGFloat decodeWB[] = {1, 0};
- CGColorSpaceRef colorspace = CGColorSpaceCreateWithName(
- kCGColorSpaceGenericGray);
- CGDataProviderRef provider = CGDataProviderCreateWithData(NULL,
- bitmap, pix*pix/8, NULL);
- if (provider) {
- img = CGImageCreate(pix, pix, 1, 1, pix/8, colorspace,
- kCGBitmapByteOrderDefault, provider, decodeWB, 0,
- kCGRenderingIntentDefault);
- CFRelease(provider);
- }
- provider = CGDataProviderCreateWithData(NULL, bitmap +
- pix*pix/8, pix*pix/8, NULL);
- if (provider) {
- mask = CGImageMaskCreate(pix, pix, 1, 1, pix/8, provider,
- decodeWB, 0);
- CFRelease(provider);
- }
- if (img && mask) {
- maskedImg = CGImageCreateWithMask(img, mask);
- }
- if (maskedImg) {
- bitmapImageRep = [[NSBitmapImageRep alloc]
- initWithCGImage:maskedImg];
- CFRelease(maskedImg);
- }
- if (mask) { CFRelease(mask); }
- if (img) { CFRelease(img); }
- if (colorspace) { CFRelease(colorspace); }
- if (bitmapImageRep) {
- image = [[NSImage alloc] initWithSize:NSMakeSize(pix, pix)];
- [image addRepresentation:bitmapImageRep];
- [bitmapImageRep release];
- }
- uint16_t *hotSpotData = (uint16_t*)(bitmap + 2*pix*pix/8);
- hotSpot.y = CFSwapInt16BigToHost(*hotSpotData++);
- hotSpot.x = CFSwapInt16BigToHost(*hotSpotData);
- haveHotSpot = 1;
- break;
- }
- }
- }
- }
- if (path) {
- image = [[NSImage alloc] initWithContentsOfFile:path];
- }
- if (!image && !macCursor && result != TCL_OK) {
- macCursorPtr->type = IMAGENAMED;
- image = [[NSImage imageNamed:[NSString stringWithUTF8String:name]]
- retain];
- haveHotSpot = 0;
- }
- if (image) {
- if (!haveHotSpot && [[path pathExtension] isEqualToString:@"cur"]) {
- NSData *data = [NSData dataWithContentsOfFile:path];
- if ([data length] > 14) {
- uint16_t *hotSpotData = (uint16_t*)((char*) [data bytes] + 10);
- hotSpot.x = CFSwapInt16LittleToHost(*hotSpotData++);
- hotSpot.y = CFSwapInt16LittleToHost(*hotSpotData);
- haveHotSpot = 1;
- }
- }
- if (!haveHotSpot) {
- NSSize size = [image size];
- hotSpot.x = size.width * 0.5;
- hotSpot.y = size.height * 0.5;
- }
- hotSpot.y = -hotSpot.y;
- macCursor = [[NSCursor alloc] initWithImage:image hotSpot:hotSpot];
- [image release];
- }
- macCursorPtr->macCursor = macCursor;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkGetCursorByName --
- *
- * Retrieve a system cursor by name.
- *
- * Results:
- * Returns a new cursor, or NULL on errors.
- *
- * Side effects:
- * Allocates a new cursor.
- *
- *----------------------------------------------------------------------
- */
-
-TkCursor *
-TkGetCursorByName(
- Tcl_Interp *interp, /* Interpreter to use for error reporting. */
- Tk_Window tkwin, /* Window in which cursor will be used. */
- Tk_Uid string) /* Description of cursor. See manual entry
- * for details on legal syntax. */
-{
- TkMacOSXCursor *macCursorPtr = NULL;
- const char **argv = NULL;
- int argc;
-
- /*
- * All cursor names are valid lists of one element (for
- * TkX11-compatibility), even unadorned system cursor names.
- */
-
- if (Tcl_SplitList(interp, string, &argc, &argv) == TCL_OK) {
- if (argc) {
- macCursorPtr = ckalloc(sizeof(TkMacOSXCursor));
- macCursorPtr->info.cursor = (Tk_Cursor) macCursorPtr;
- macCursorPtr->macCursor = nil;
- macCursorPtr->type = 0;
- FindCursorByName(macCursorPtr, argv[0]);
- }
- ckfree(argv);
- }
- if (!macCursorPtr || (!macCursorPtr->macCursor &&
- macCursorPtr->type != NONE)) {
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "bad cursor spec \"%s\"", string));
- Tcl_SetErrorCode(interp, "TK", "VALUE", "CURSOR", NULL);
- if (macCursorPtr) {
- ckfree(macCursorPtr);
- macCursorPtr = NULL;
- }
- }
- return (TkCursor *) macCursorPtr;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkCreateCursorFromData --
- *
- * Creates a cursor from the source and mask bits.
- *
- * Results:
- * Returns a new cursor, or NULL on errors.
- *
- * Side effects:
- * Allocates a new cursor.
- *
- *----------------------------------------------------------------------
- */
-
-TkCursor *
-TkCreateCursorFromData(
- Tk_Window tkwin, /* Window in which cursor will be used. */
- const char *source, /* Bitmap data for cursor shape. */
- const char *mask, /* Bitmap data for cursor mask. */
- int width, int height, /* Dimensions of cursor. */
- int xHot, int yHot, /* Location of hot-spot in cursor. */
- XColor fgColor, /* Foreground color for cursor. */
- XColor bgColor) /* Background color for cursor. */
-{
- return NULL;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpFreeCursor --
- *
- * This procedure is called to release a cursor allocated by
- * TkGetCursorByName.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The cursor data structure is deallocated.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpFreeCursor(
- TkCursor *cursorPtr)
-{
- TkMacOSXCursor *macCursorPtr = (TkMacOSXCursor *) cursorPtr;
-
- [macCursorPtr->macCursor release];
- macCursorPtr->macCursor = NULL;
- if (macCursorPtr == gCurrentCursor) {
- gCurrentCursor = NULL;
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXInstallCursor --
- *
- * Installs either the current cursor as defined by TkpSetCursor or a
- * resize cursor as the cursor the Macintosh should currently display.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Changes the Macintosh mouse cursor.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkMacOSXInstallCursor(
- int resizeOverride)
-{
- TkMacOSXCursor *macCursorPtr = gCurrentCursor;
- static int cursorHidden = 0;
- int cursorNone = 0;
-
- gResizeOverride = resizeOverride;
-
- if (resizeOverride || !macCursorPtr) {
- [[NSCursor arrowCursor] set];
- } else {
- switch (macCursorPtr->type) {
- case NONE:
- if (!cursorHidden) {
- cursorHidden = 1;
- [NSCursor hide];
- }
- cursorNone = 1;
- break;
- case SELECTOR:
- case IMAGENAMED:
- case IMAGEPATH:
- case IMAGEBITMAP:
- default:
- [macCursorPtr->macCursor set];
- break;
- }
- }
- if (cursorHidden && !cursorNone) {
- cursorHidden = 0;
- [NSCursor unhide];
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpSetCursor --
- *
- * Set the current cursor and install it.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Changes the current cursor.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpSetCursor(
- TkpCursor cursor)
-{
- int cursorChanged = 1;
-
- if (!gTkOwnsCursor) {
- return;
- }
-
- if (cursor == None) {
- /*
- * This is a little tricky. We can't really tell whether
- * gCurrentCursor is NULL because it was NULL last time around or
- * because we just freed the current cursor. So if the input cursor is
- * NULL, we always need to reset it, we can't trust the cursorChanged
- * logic.
- */
-
- gCurrentCursor = NULL;
- } else {
- if (gCurrentCursor == (TkMacOSXCursor *) cursor) {
- cursorChanged = 0;
- }
- gCurrentCursor = (TkMacOSXCursor *) cursor;
- }
-
- if (Tk_MacOSXIsAppInFront() && cursorChanged) {
- TkMacOSXInstallCursor(gResizeOverride);
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * Tk_MacOSXTkOwnsCursor --
- *
- * Sets whether Tk has the right to adjust the cursor.
- *
- * Results:
- * None.
- *
- * Side effects:
- * May keep Tk from changing the cursor.
- *
- *----------------------------------------------------------------------
- */
-
-void
-Tk_MacOSXTkOwnsCursor(
- int tkOwnsIt)
-{
- gTkOwnsCursor = tkOwnsIt;
-}
-
-/*
- * Local Variables:
- * mode: objc
- * c-basic-offset: 4
- * fill-column: 79
- * coding: utf-8
- * End:
- */
diff --git a/tk8.6/macosx/tkMacOSXCursors.h b/tk8.6/macosx/tkMacOSXCursors.h
deleted file mode 100644
index 2cf00fb..0000000
--- a/tk8.6/macosx/tkMacOSXCursors.h
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * tkMacOSXCursors.h --
- *
- * This file defines a set of Macintosh cursor resources that
- * are only available on the Macintosh platform.
- *
- * Copyright (c) 1995-1996 Sun Microsystems, Inc.
- * Copyright 2008-2009, Apple Inc.
- * Copyright (c) 2008-2009 Daniel A. Steffen <das@users.sourceforge.net>
- *
- * See the file "license.terms" for information on usage and redistribution
- * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
- */
-
-static const unsigned char tkMacOSXCursors[][68] = {
-
-#define TK_MAC_CURSOR_hand 0
-[TK_MAC_CURSOR_hand] = {
- 0x01, 0x80, 0x1A, 0x70, 0x26, 0x48, 0x26, 0x4A, 0x12, 0x4D, 0x12, 0x49, 0x68, 0x09, 0x98, 0x01,
- 0x88, 0x02, 0x40, 0x02, 0x20, 0x02, 0x20, 0x04, 0x10, 0x04, 0x08, 0x08, 0x04, 0x08, 0x04, 0x08,
- 0x01, 0x80, 0x1B, 0xF0, 0x3F, 0xF8, 0x3F, 0xFA, 0x1F, 0xFF, 0x1F, 0xFF, 0x6F, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFE, 0x7F, 0xFE, 0x3F, 0xFE, 0x3F, 0xFC, 0x1F, 0xFC, 0x0F, 0xF8, 0x07, 0xF8, 0x07, 0xF8,
- 0x00, 0x09, 0x00, 0x08,
-},
-
-#define TK_MAC_CURSOR_bucket 2
-[TK_MAC_CURSOR_bucket] = {
- 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x09, 0x80, 0x09, 0x40, 0x0B, 0x30, 0x0D, 0x18, 0x09, 0x0C,
- 0x12, 0x9C, 0x21, 0x2C, 0x10, 0x4C, 0x08, 0x8C, 0x05, 0x0C, 0x02, 0x08, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x09, 0x80, 0x09, 0xC0, 0x0B, 0xF0, 0x0F, 0xF8, 0x0F, 0xFC,
- 0x1F, 0xFC, 0x3F, 0xEC, 0x1F, 0xCC, 0x0F, 0x8C, 0x07, 0x0C, 0x02, 0x08, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x0D, 0x00, 0x0C,
-},
-
-#define TK_MAC_CURSOR_cancel 3
-[TK_MAC_CURSOR_cancel] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x31, 0x80, 0x4A, 0x40, 0x4A, 0x40, 0x3F, 0x80,
- 0x0A, 0x00, 0x3F, 0x80, 0x4A, 0x40, 0x4A, 0x46, 0x31, 0x86, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x31, 0x80, 0x7B, 0xC0, 0xFF, 0xE0, 0xFF, 0xE0, 0x7F, 0xC0,
- 0x3F, 0x80, 0x7F, 0xC0, 0xFF, 0xE6, 0xFF, 0xEF, 0x7B, 0xCF, 0x31, 0x86, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x08, 0x00, 0x05,
-},
-
-#define TK_MAC_CURSOR_resize 4
-[TK_MAC_CURSOR_resize] = {
- 0xFF, 0xFF, 0x80, 0x01, 0xBF, 0x01, 0xA1, 0x81, 0xA1, 0xF9, 0xA1, 0x8D, 0xA1, 0x8D, 0xBF, 0x8D,
- 0x9F, 0x8D, 0x88, 0x0D, 0x88, 0x0D, 0x88, 0x0D, 0x8F, 0xFD, 0x87, 0xFD, 0x80, 0x01, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0x00, 0x08, 0x00, 0x08,
-},
-
-#define TK_MAC_CURSOR_eyedrop 5
-[TK_MAC_CURSOR_eyedrop] = {
- 0x00, 0x0E, 0x00, 0x1F, 0x00, 0x1F, 0x00, 0xFF, 0x00, 0x7E, 0x00, 0xB8, 0x01, 0x18, 0x02, 0x28,
- 0x04, 0x40, 0x08, 0x80, 0x11, 0x00, 0x22, 0x00, 0x44, 0x00, 0x48, 0x00, 0xB0, 0x00, 0x40, 0x00,
- 0x00, 0x0E, 0x00, 0x1F, 0x00, 0x1F, 0x00, 0xFF, 0x00, 0x7E, 0x00, 0xF8, 0x01, 0xF8, 0x03, 0xE8,
- 0x07, 0xC0, 0x0F, 0x80, 0x1F, 0x00, 0x3E, 0x00, 0x7C, 0x00, 0x78, 0x00, 0xF0, 0x00, 0x40, 0x00,
- 0x00, 0x0F, 0x00, 0x00,
-},
-
-#define TK_MAC_CURSOR_eyedrop_full 6
-[TK_MAC_CURSOR_eyedrop_full] = {
- 0x00, 0x0E, 0x00, 0x1F, 0x00, 0x1F, 0x00, 0xFF, 0x00, 0x7E, 0x00, 0xB8, 0x01, 0x18, 0x03, 0x28,
- 0x07, 0xC0, 0x0F, 0x80, 0x1F, 0x00, 0x3E, 0x00, 0x7C, 0x00, 0x78, 0x00, 0xF0, 0x00, 0x40, 0x00,
- 0x00, 0x0E, 0x00, 0x1F, 0x00, 0x1F, 0x00, 0xFF, 0x00, 0x7E, 0x00, 0xF8, 0x01, 0xF8, 0x03, 0xE8,
- 0x07, 0xC0, 0x0F, 0x80, 0x1F, 0x00, 0x3E, 0x00, 0x7C, 0x00, 0x78, 0x00, 0xF0, 0x00, 0x40, 0x00,
- 0x00, 0x0F, 0x00, 0x00,
-},
-
-#define TK_MAC_CURSOR_zoom_in 7
-[TK_MAC_CURSOR_zoom_in] = {
- 0x07, 0x80, 0x18, 0x60, 0x27, 0x90, 0x58, 0x68, 0x53, 0x28, 0xA3, 0x14, 0xAF, 0xD4, 0xAF, 0xD4,
- 0xA3, 0x14, 0x53, 0x28, 0x58, 0x68, 0x27, 0x98, 0x18, 0x7C, 0x07, 0x8E, 0x00, 0x07, 0x00, 0x03,
- 0x07, 0x80, 0x1F, 0xE0, 0x3F, 0xF0, 0x78, 0x78, 0x73, 0x38, 0xE3, 0x1C, 0xEF, 0xDC, 0xEF, 0xDC,
- 0xE3, 0x1C, 0x73, 0x38, 0x78, 0x78, 0x3F, 0xF8, 0x1F, 0xFC, 0x07, 0x8E, 0x00, 0x07, 0x00, 0x03,
- 0x00, 0x07, 0x00, 0x07,
-},
-
-#define TK_MAC_CURSOR_zoom_out 8
-[TK_MAC_CURSOR_zoom_out] = {
- 0x07, 0x80, 0x18, 0x60, 0x27, 0x90, 0x58, 0x68, 0x50, 0x28, 0xA0, 0x14, 0xAF, 0xD4, 0xAF, 0xD4,
- 0xA0, 0x14, 0x50, 0x28, 0x58, 0x68, 0x27, 0x98, 0x18, 0x7C, 0x07, 0x8E, 0x00, 0x07, 0x00, 0x03,
- 0x07, 0x80, 0x1F, 0xE0, 0x3F, 0xF0, 0x78, 0x78, 0x70, 0x38, 0xE0, 0x1C, 0xEF, 0xDC, 0xEF, 0xDC,
- 0xE0, 0x1C, 0x70, 0x38, 0x78, 0x78, 0x3F, 0xF8, 0x1F, 0xFC, 0x07, 0x8E, 0x00, 0x07, 0x00, 0x03,
- 0x00, 0x07, 0x00, 0x07,
-},
-
-};
diff --git a/tk8.6/macosx/tkMacOSXDebug.c b/tk8.6/macosx/tkMacOSXDebug.c
deleted file mode 100644
index 78008f0..0000000
--- a/tk8.6/macosx/tkMacOSXDebug.c
+++ /dev/null
@@ -1,166 +0,0 @@
-/*
- * tkMacOSXDebug.c --
- *
- * Implementation of Macintosh specific functions for debugging MacOS
- * events, regions, etc...
- *
- * Copyright 2001-2009, Apple Inc.
- * Copyright (c) 2006-2009 Daniel A. Steffen <das@users.sourceforge.net>
- *
- * See the file "license.terms" for information on usage and redistribution
- * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
- */
-
-#include "tkMacOSXPrivate.h"
-#include "tkMacOSXDebug.h"
-
-#ifdef TK_MAC_DEBUG
-
-#include <mach-o/dyld.h>
-#include <mach-o/nlist.h>
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXGetNamedDebugSymbol --
- *
- * Dynamically acquire address of a named symbol from a loaded dynamic
- * library, so that we can use API that may not be available on all OS
- * versions. For debugging purposes, if we cannot find the symbol with
- * the usual dynamic library APIs, we manually walk the symbol table of
- * the loaded library. This allows access to unexported symbols such as
- * private_extern internal debugging functions. If module is NULL or the
- * empty string, search all loaded libraries (could be very expensive and
- * should be avoided).
- *
- * THIS FUCTION IS ONLY TO BE USED FOR DEBUGGING PURPOSES, IT MAY BREAK
- * UNEXPECTEDLY IN THE FUTURE!
- *
- * Results:
- * Address of given symbol or NULL if unavailable.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-MODULE_SCOPE void *
-TkMacOSXGetNamedDebugSymbol(
- const char *module,
- const char *symbol)
-{
- void *addr = TkMacOSXGetNamedSymbol(module, symbol);
-
-#ifndef __LP64__
- if (!addr) {
- const struct mach_header *mh = NULL;
- uint32_t i, n = _dyld_image_count();
- size_t module_len = 0;
-
- if (module && *module) {
- module_len = strlen(module);
- }
- for (i = 0; i < n; i++) {
- if (module && *module) {
- /* Find image with given module name */
- char *name;
- const char *path = _dyld_get_image_name(i);
-
- if (!path) {
- continue;
- }
- name = strrchr(path, '/') + 1;
- if (strncmp(name, module, module_len) != 0) {
- continue;
- }
- }
- mh = _dyld_get_image_header(i);
- if (mh) {
- struct load_command *lc;
- struct symtab_command *st = NULL;
- struct segment_command *sg = NULL;
- uint32_t j, m, nsect = 0, txtsectx = 0;
-
- lc = (struct load_command*)((const char*) mh +
- sizeof(struct mach_header));
- m = mh->ncmds;
- for (j = 0; j < m; j++) {
- /* Find symbol table and index of __text section */
- if (lc->cmd == LC_SEGMENT) {
- /* Find last segment before symbol table */
- sg = (struct segment_command*) lc;
- if (!txtsectx) {
- /* Count total sections until (__TEXT, __text) */
- uint32_t k, ns = sg->nsects;
-
- if (strcmp(sg->segname, SEG_TEXT) == 0) {
- struct section *s = (struct section *)(
- (char *)sg +
- sizeof(struct segment_command));
-
- for(k = 0; k < ns; k++) {
- if (strcmp(s->sectname, SECT_TEXT) == 0) {
- txtsectx = nsect+k+1;
- break;
- }
- s++;
- }
- }
- nsect += ns;
- }
- } else if (!st && lc->cmd == LC_SYMTAB) {
- st = (struct symtab_command *) lc;
- break;
- }
- lc = (struct load_command *)((char *) lc + lc->cmdsize);
- }
- if (st && sg && txtsectx) {
- intptr_t base, slide = _dyld_get_image_vmaddr_slide(i);
- char *strings;
- struct nlist *sym;
- uint32_t strsize = st->strsize;
- int32_t strx;
-
- /*
- * Offset file positions by difference to actual position
- * in memory of last segment before symbol table:
- */
-
- base = (intptr_t) sg->vmaddr + slide - sg->fileoff;
- strings = (char *) (base + st->stroff);
- sym = (struct nlist *) (base + st->symoff);
- m = st->nsyms;
- for (j = 0; j < m; j++) {
- /* Find symbol with given name in __text section */
- strx = sym->n_un.n_strx;
- if ((sym->n_type & N_TYPE) == N_SECT &&
- sym->n_sect == txtsectx &&
- strx > 0 && (uint32_t) strx < strsize &&
- strcmp(strings + strx, symbol) == 0) {
- addr = (char*) sym->n_value + slide;
- break;
- }
- sym++;
- }
- }
- }
- if (module && *module) {
- /* If given a module name, only search corresponding image */
- break;
- }
- }
- }
-#endif /* __LP64__ */
- return addr;
-}
-#endif /* TK_MAC_DEBUG */
-
-/*
- * Local Variables:
- * mode: objc
- * c-basic-offset: 4
- * fill-column: 79
- * coding: utf-8
- * End:
- */
diff --git a/tk8.6/macosx/tkMacOSXDebug.h b/tk8.6/macosx/tkMacOSXDebug.h
deleted file mode 100644
index ab37187..0000000
--- a/tk8.6/macosx/tkMacOSXDebug.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * tkMacOSXDebug.h --
- *
- * Declarations of Macintosh specific functions for debugging MacOS events,
- * regions, etc...
- *
- * Copyright 2001-2009, Apple Inc.
- * Copyright (c) 2005-2009 Daniel A. Steffen <das@users.sourceforge.net>
- *
- * See the file "license.terms" for information on usage and redistribution
- * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
- */
-
-#ifndef _TKMACDEBUG
-#define _TKMACDEBUG
-
-#ifndef _TKMACINT
-#include "tkMacOSXInt.h"
-#endif
-
-#ifdef TK_MAC_DEBUG
-
-MODULE_SCOPE void* TkMacOSXGetNamedDebugSymbol(const char* module, const char* symbol);
-
-/* Macro to abstract common use of TkMacOSXGetNamedDebugSymbol to initialize named symbols */
-#define TkMacOSXInitNamedDebugSymbol(module, ret, symbol, ...) \
- static ret (* symbol)(__VA_ARGS__) = (void*)(-1L); \
- if (symbol == (void*)(-1L)) { \
- symbol = TkMacOSXGetNamedDebugSymbol(STRINGIFY(module), STRINGIFY(_##symbol));\
- }
-
-#endif /* TK_MAC_DEBUG */
-
-#endif
diff --git a/tk8.6/macosx/tkMacOSXDefault.h b/tk8.6/macosx/tkMacOSXDefault.h
deleted file mode 100644
index 5a53bdd..0000000
--- a/tk8.6/macosx/tkMacOSXDefault.h
+++ /dev/null
@@ -1,570 +0,0 @@
-/*
- * tkMacOSXDefault.h --
- *
- * This file defines the defaults for all options for all of
- * the Tk widgets.
- *
- * Copyright (c) 1991-1994 The Regents of the University of California.
- * Copyright (c) 1994-1997 Sun Microsystems, Inc.
- * Copyright 2001-2009, Apple Inc.
- * Copyright (c) 2006-2009 Daniel A. Steffen <das@users.sourceforge.net>
- *
- * See the file "license.terms" for information on usage and redistribution
- * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
- */
-
-#ifndef _TKMACDEFAULT
-#define _TKMACDEFAULT
-
-//#ifndef TK_MAC_BUTTON_USE_COMPATIBILITY_METRICS
-//#define TK_MAC_BUTTON_USE_COMPATIBILITY_METRICS 1
-//#endif
-
-/*
- * The definitions below provide symbolic names for the default colors.
- * NORMAL_BG - Normal background color.
- * ACTIVE_BG - Background color when widget is active.
- * SELECT_BG - Background color for selected text.
- * SELECT_FG - Foreground color for selected text.
- * TROUGH - Background color for troughs in scales and scrollbars.
- * INDICATOR - Color for indicator when button is selected.
- * DISABLED - Foreground color when widget is disabled.
- */
-
-#define BLACK "Black"
-#define WHITE "White"
-#define NORMAL_BG "systemWindowBody"
-#define ACTIVE_BG "systemButtonFacePressed"
-#define ACTIVE_FG "systemPushButtonPressedText"
-#define SELECT_BG "systemHighlight"
-#define SELECT_FG None
-#define INACTIVE_SELECT_BG "systemHighlightSecondary"
-#define TROUGH "#c3c3c3"
-#define INDICATOR "#b03060"
-#define DISABLED "#a3a3a3"
-
-/*
- * Defaults for labels, buttons, checkbuttons, and radiobuttons:
- */
-
-#define DEF_BUTTON_ANCHOR "center"
-#define DEF_BUTTON_ACTIVE_BG_COLOR ACTIVE_BG
-#define DEF_BUTTON_ACTIVE_BG_MONO BLACK
-#define DEF_BUTTON_ACTIVE_FG_COLOR ACTIVE_FG
-#define DEF_CHKRAD_ACTIVE_FG_COLOR DEF_BUTTON_ACTIVE_FG_COLOR
-#define DEF_BUTTON_ACTIVE_FG_MONO WHITE
-/* #define DEF_BUTTON_BG_COLOR "systemButtonFace"*/
-#define DEF_BUTTON_BG_COLOR WHITE
-#define DEF_BUTTON_BG_MONO WHITE
-#define DEF_BUTTON_BITMAP ""
-#define DEF_BUTTON_BORDER_WIDTH "2"
-#define DEF_BUTTON_CURSOR ""
-#define DEF_BUTTON_COMMAND ""
-#define DEF_BUTTON_COMPOUND "none"
-#define DEF_BUTTON_DEFAULT "disabled"
-#define DEF_BUTTON_DISABLED_FG_COLOR DISABLED
-#define DEF_BUTTON_DISABLED_FG_MONO ""
-#define DEF_BUTTON_FG "systemButtonText"
-#define DEF_CHKRAD_FG DEF_BUTTON_FG
-#define DEF_BUTTON_FONT "TkDefaultFont"
-#define DEF_BUTTON_HEIGHT "0"
-#define DEF_BUTTON_HIGHLIGHT_BG_COLOR DEF_BUTTON_BG_COLOR
-#define DEF_BUTTON_HIGHLIGHT_BG_MONO DEF_BUTTON_BG_MONO
-#define DEF_BUTTON_HIGHLIGHT "systemButtonFrame"
-#define DEF_LABEL_HIGHLIGHT_WIDTH "0"
-//#if TK_MAC_BUTTON_USE_COMPATIBILITY_METRICS
-//#define DEF_BUTTON_HIGHLIGHT_WIDTH "4"
-//#define DEF_BUTTON_HIGHLIGHT_WIDTH_NOCM "1"
-//#else
-#define DEF_BUTTON_HIGHLIGHT_WIDTH "1"
-//#endif
-#define DEF_BUTTON_IMAGE ((char *) NULL)
-#define DEF_BUTTON_INDICATOR "1"
-#define DEF_BUTTON_JUSTIFY "center"
-#define DEF_BUTTON_OFF_VALUE "0"
-#define DEF_BUTTON_ON_VALUE "1"
-#define DEF_BUTTON_TRISTATE_VALUE ""
-#define DEF_BUTTON_OVER_RELIEF ""
-//#if TK_MAC_BUTTON_USE_COMPATIBILITY_METRICS
-//#define DEF_BUTTON_PADX "12"
-//#define DEF_BUTTON_PADX_NOCM "1"
-//#else
-#define DEF_BUTTON_PADX "1"
-//#endif
-#define DEF_LABCHKRAD_PADX "1"
-//#if TK_MAC_BUTTON_USE_COMPATIBILITY_METRICS
-//#define DEF_BUTTON_PADY "3"
-//#define DEF_BUTTON_PADY_NOCM "1"
-//#else
-#define DEF_BUTTON_PADY "1"
-//#endif
-#define DEF_LABCHKRAD_PADY "1"
-#define DEF_BUTTON_RELIEF "flat"
-#define DEF_LABCHKRAD_RELIEF "flat"
-#define DEF_BUTTON_REPEAT_DELAY "0"
-#define DEF_BUTTON_REPEAT_INTERVAL "0"
-#define DEF_BUTTON_SELECT_COLOR INDICATOR
-#define DEF_BUTTON_SELECT_MONO BLACK
-#define DEF_BUTTON_SELECT_IMAGE ((char *) NULL)
-#define DEF_BUTTON_STATE "normal"
-#define DEF_LABEL_TAKE_FOCUS "0"
-#define DEF_BUTTON_TAKE_FOCUS ((char *) NULL)
-#define DEF_BUTTON_TEXT ""
-#define DEF_BUTTON_TEXT_VARIABLE ""
-#define DEF_BUTTON_UNDERLINE "-1"
-#define DEF_BUTTON_VALUE ""
-#define DEF_BUTTON_WIDTH "0"
-#define DEF_BUTTON_WRAP_LENGTH "0"
-#define DEF_RADIOBUTTON_VARIABLE "selectedButton"
-#define DEF_CHECKBUTTON_VARIABLE ""
-
-/*
- * Defaults for canvases:
- */
-
-#define DEF_CANVAS_BG_COLOR NORMAL_BG
-#define DEF_CANVAS_BG_MONO WHITE
-#define DEF_CANVAS_BORDER_WIDTH "0"
-#define DEF_CANVAS_CLOSE_ENOUGH "1"
-#define DEF_CANVAS_CONFINE "1"
-#define DEF_CANVAS_CURSOR ""
-#define DEF_CANVAS_HEIGHT "7c"
-#define DEF_CANVAS_HIGHLIGHT_BG NORMAL_BG
-#define DEF_CANVAS_HIGHLIGHT BLACK
-#define DEF_CANVAS_HIGHLIGHT_WIDTH "3"
-#define DEF_CANVAS_INSERT_BG BLACK
-#define DEF_CANVAS_INSERT_BD_COLOR "0"
-#define DEF_CANVAS_INSERT_BD_MONO "0"
-#define DEF_CANVAS_INSERT_OFF_TIME "300"
-#define DEF_CANVAS_INSERT_ON_TIME "600"
-#define DEF_CANVAS_INSERT_WIDTH "2"
-#define DEF_CANVAS_RELIEF "flat"
-#define DEF_CANVAS_SCROLL_REGION ""
-#define DEF_CANVAS_SELECT_COLOR SELECT_BG
-#define DEF_CANVAS_SELECT_MONO BLACK
-#define DEF_CANVAS_SELECT_BD_COLOR "1"
-#define DEF_CANVAS_SELECT_BD_MONO "0"
-#define DEF_CANVAS_SELECT_FG_COLOR SELECT_FG
-#define DEF_CANVAS_SELECT_FG_MONO WHITE
-#define DEF_CANVAS_TAKE_FOCUS ((char *) NULL)
-#define DEF_CANVAS_WIDTH "10c"
-#define DEF_CANVAS_X_SCROLL_CMD ""
-#define DEF_CANVAS_X_SCROLL_INCREMENT "0"
-#define DEF_CANVAS_Y_SCROLL_CMD ""
-#define DEF_CANVAS_Y_SCROLL_INCREMENT "0"
-
-/*
- * Defaults for entries:
- */
-
-/*
- * I test the following two values in TkpDrawEntryBorderAndFocus
- * to determine whether to use the native entry widget. So if
- * you change the defaults to be different from these, then you
- * won't get the native widget by default.
- */
-
-#define MAC_OSX_FOCUS_WIDTH 3
-#define MAC_OSX_ENTRY_BORDER 2
-#define MAC_OSX_ENTRY_RELIEF TK_RELIEF_SUNKEN
-#define MAC_OSX_ENTRY_SELECT_RELIEF TK_RELIEF_FLAT
-
-#define DEF_ENTRY_BG_COLOR NORMAL_BG
-#define DEF_ENTRY_BG_MONO WHITE
-#define DEF_ENTRY_BORDER_WIDTH "2"
-#define DEF_ENTRY_CURSOR "xterm"
-#define DEF_ENTRY_DISABLED_BG_COLOR NORMAL_BG
-#define DEF_ENTRY_DISABLED_BG_MONO WHITE
-#define DEF_ENTRY_DISABLED_FG DISABLED
-#define DEF_ENTRY_EXPORT_SELECTION "1"
-#define DEF_ENTRY_FONT "TkTextFont"
-#define DEF_ENTRY_FG BLACK
-#define DEF_ENTRY_HIGHLIGHT_BG NORMAL_BG
-#define DEF_ENTRY_HIGHLIGHT BLACK
-/* #define DEF_ENTRY_HIGHLIGHT_WIDTH "3" */
-#define DEF_ENTRY_HIGHLIGHT_WIDTH "3"
-#define DEF_ENTRY_INSERT_BG BLACK
-#define DEF_ENTRY_INSERT_BD_COLOR "0"
-#define DEF_ENTRY_INSERT_BD_MONO "0"
-#define DEF_ENTRY_INSERT_OFF_TIME "300"
-#define DEF_ENTRY_INSERT_ON_TIME "600"
-/* #define DEF_ENTRY_INSERT_WIDTH "2" */
-#define DEF_ENTRY_INSERT_WIDTH "1"
-#define DEF_ENTRY_JUSTIFY "left"
-#define DEF_ENTRY_READONLY_BG_COLOR NORMAL_BG
-#define DEF_ENTRY_READONLY_BG_MONO WHITE
-#define DEF_ENTRY_RELIEF "sunken"
-/* #define DEF_ENTRY_RELIEF "solid" */
-#define DEF_ENTRY_SCROLL_COMMAND ""
-#define DEF_ENTRY_SELECT_COLOR SELECT_BG
-#define DEF_ENTRY_SELECT_MONO BLACK
-#define DEF_ENTRY_SELECT_BD_COLOR "1"
-#define DEF_ENTRY_SELECT_BD_MONO "0"
-#define DEF_ENTRY_SELECT_FG_COLOR SELECT_FG
-#define DEF_ENTRY_SELECT_FG_MONO WHITE
-#define DEF_ENTRY_SHOW ((char *) NULL)
-#define DEF_ENTRY_STATE "normal"
-#define DEF_ENTRY_TAKE_FOCUS ((char *) NULL)
-#define DEF_ENTRY_TEXT_VARIABLE ""
-#define DEF_ENTRY_WIDTH "20"
-
-/*
- * Defaults for frames:
- */
-
-#define DEF_FRAME_BG_COLOR NORMAL_BG
-#define DEF_FRAME_BG_MONO WHITE
-#define DEF_FRAME_BORDER_WIDTH "0"
-#define DEF_FRAME_CLASS "Frame"
-#define DEF_FRAME_COLORMAP ""
-#define DEF_FRAME_CONTAINER "0"
-#define DEF_FRAME_CURSOR ""
-#define DEF_FRAME_HEIGHT "0"
-#define DEF_FRAME_HIGHLIGHT_BG NORMAL_BG
-#define DEF_FRAME_HIGHLIGHT BLACK
-#define DEF_FRAME_HIGHLIGHT_WIDTH "0"
-#define DEF_FRAME_PADX "0"
-#define DEF_FRAME_PADY "0"
-#define DEF_FRAME_RELIEF "flat"
-#define DEF_FRAME_TAKE_FOCUS "0"
-#define DEF_FRAME_VISUAL ""
-#define DEF_FRAME_WIDTH "0"
-
-/*
- * Defaults for labelframes:
- */
-
-#define DEF_LABELFRAME_BORDER_WIDTH "2"
-#define DEF_LABELFRAME_CLASS "Labelframe"
-#define DEF_LABELFRAME_RELIEF "groove"
-#define DEF_LABELFRAME_FG "systemButtonText"
-#define DEF_LABELFRAME_FONT "TkDefaultFont"
-#define DEF_LABELFRAME_TEXT ""
-#define DEF_LABELFRAME_LABELANCHOR "nw"
-
-/*
- * Defaults for listboxes:
- */
-
-#define DEF_LISTBOX_ACTIVE_STYLE "dotbox"
-#define DEF_LISTBOX_BG_COLOR WHITE
-#define DEF_LISTBOX_BG_MONO WHITE
-#define DEF_LISTBOX_BORDER_WIDTH "1"
-#define DEF_LISTBOX_CURSOR ""
-#define DEF_LISTBOX_DISABLED_FG DISABLED
-#define DEF_LISTBOX_EXPORT_SELECTION "1"
-#define DEF_LISTBOX_FONT "TkTextFont"
-#define DEF_LISTBOX_FG BLACK
-#define DEF_LISTBOX_HEIGHT "10"
-#define DEF_LISTBOX_HIGHLIGHT_BG NORMAL_BG
-#define DEF_LISTBOX_HIGHLIGHT BLACK
-#define DEF_LISTBOX_HIGHLIGHT_WIDTH "0"
-#define DEF_LISTBOX_JUSTIFY "left"
-#define DEF_LISTBOX_RELIEF "solid"
-#define DEF_LISTBOX_SCROLL_COMMAND ""
-#define DEF_LISTBOX_LIST_VARIABLE ""
-#define DEF_LISTBOX_SELECT_COLOR SELECT_BG
-#define DEF_LISTBOX_SELECT_MONO BLACK
-#define DEF_LISTBOX_SELECT_BD "0"
-#define DEF_LISTBOX_SELECT_FG_COLOR SELECT_FG
-#define DEF_LISTBOX_SELECT_FG_MONO WHITE
-#define DEF_LISTBOX_SELECT_MODE "browse"
-#define DEF_LISTBOX_SET_GRID "0"
-#define DEF_LISTBOX_STATE "normal"
-#define DEF_LISTBOX_TAKE_FOCUS ((char *) NULL)
-#define DEF_LISTBOX_WIDTH "20"
-
-/*
- * Defaults for individual entries of menus:
- */
-
-#define DEF_MENU_ENTRY_ACTIVE_BG ((char *) NULL)
-#define DEF_MENU_ENTRY_ACTIVE_FG ((char *) NULL)
-#define DEF_MENU_ENTRY_ACCELERATOR ((char *) NULL)
-#define DEF_MENU_ENTRY_BG ((char *) NULL)
-#define DEF_MENU_ENTRY_BITMAP None
-#define DEF_MENU_ENTRY_COLUMN_BREAK "0"
-#define DEF_MENU_ENTRY_COMMAND ((char *) NULL)
-#define DEF_MENU_ENTRY_COMPOUND "none"
-#define DEF_MENU_ENTRY_FG ((char *) NULL)
-#define DEF_MENU_ENTRY_FONT ((char *) NULL)
-#define DEF_MENU_ENTRY_HIDE_MARGIN "0"
-#define DEF_MENU_ENTRY_IMAGE ((char *) NULL)
-#define DEF_MENU_ENTRY_INDICATOR "1"
-#define DEF_MENU_ENTRY_LABEL ((char *) NULL)
-#define DEF_MENU_ENTRY_MENU ((char *) NULL)
-#define DEF_MENU_ENTRY_OFF_VALUE "0"
-#define DEF_MENU_ENTRY_ON_VALUE "1"
-#define DEF_MENU_ENTRY_SELECT_IMAGE ((char *) NULL)
-#define DEF_MENU_ENTRY_STATE "normal"
-#define DEF_MENU_ENTRY_VALUE ((char *) NULL)
-#define DEF_MENU_ENTRY_CHECK_VARIABLE ((char *) NULL)
-#define DEF_MENU_ENTRY_RADIO_VARIABLE "selectedButton"
-#define DEF_MENU_ENTRY_SELECT ((char *) NULL)
-#define DEF_MENU_ENTRY_UNDERLINE "-1"
-
-/*
- * Defaults for menus overall:
- */
-
-#define DEF_MENU_ACTIVE_BG_COLOR "systemMenuActive"
-#define DEF_MENU_ACTIVE_BG_MONO BLACK
-#define DEF_MENU_ACTIVE_BORDER_WIDTH "0"
-#define DEF_MENU_ACTIVE_FG_COLOR "systemMenuActiveText"
-#define DEF_MENU_ACTIVE_FG_MONO WHITE
-#define DEF_MENU_BG_COLOR "systemMenu"
-#define DEF_MENU_BG_MONO WHITE
-#define DEF_MENU_BORDER_WIDTH "0"
-#define DEF_MENU_CURSOR "arrow"
-#define DEF_MENU_DISABLED_FG_COLOR "systemMenuDisabled"
-#define DEF_MENU_DISABLED_FG_MONO ""
-#define DEF_MENU_FONT "menu" /* special: see tkMacOSXMenu.c */
-#define DEF_MENU_FG "systemMenuText"
-#define DEF_MENU_POST_COMMAND ""
-#define DEF_MENU_RELIEF "flat"
-#define DEF_MENU_SELECT_COLOR "systemMenuActive"
-#define DEF_MENU_SELECT_MONO BLACK
-#define DEF_MENU_TAKE_FOCUS "0"
-#define DEF_MENU_TEAROFF "0"
-#define DEF_MENU_TEAROFF_CMD ((char *) NULL)
-#define DEF_MENU_TITLE ""
-#define DEF_MENU_TYPE "normal"
-
-/*
- * Defaults for menubuttons:
- */
-
-#define DEF_MENUBUTTON_ANCHOR "center"
-#define DEF_MENUBUTTON_ACTIVE_BG_COLOR ACTIVE_BG
-#define DEF_MENUBUTTON_ACTIVE_BG_MONO BLACK
-#define DEF_MENUBUTTON_ACTIVE_FG_COLOR ACTIVE_FG
-#define DEF_MENUBUTTON_ACTIVE_FG_MONO WHITE
-#define DEF_MENUBUTTON_BG_COLOR NORMAL_BG
-#define DEF_MENUBUTTON_BG_MONO WHITE
-#define DEF_MENUBUTTON_BITMAP ""
-#define DEF_MENUBUTTON_BORDER_WIDTH "2"
-#define DEF_MENUBUTTON_CURSOR ""
-#define DEF_MENUBUTTON_DIRECTION "below"
-#define DEF_MENUBUTTON_DISABLED_FG_COLOR DISABLED
-#define DEF_MENUBUTTON_DISABLED_FG_MONO ""
-#define DEF_MENUBUTTON_FONT "TkDefaultFont"
-#define DEF_MENUBUTTON_FG BLACK
-#define DEF_MENUBUTTON_HEIGHT "0"
-#define DEF_MENUBUTTON_HIGHLIGHT_BG_COLOR DEF_MENUBUTTON_BG_COLOR
-#define DEF_MENUBUTTON_HIGHLIGHT_BG_MONO DEF_MENUBUTTON_BG_MONO
-#define DEF_MENUBUTTON_HIGHLIGHT BLACK
-#define DEF_MENUBUTTON_HIGHLIGHT_WIDTH "0"
-#define DEF_MENUBUTTON_IMAGE ((char *) NULL)
-#define DEF_MENUBUTTON_INDICATOR "1"
-#define DEF_MENUBUTTON_JUSTIFY "left"
-#define DEF_MENUBUTTON_MENU ""
-#define DEF_MENUBUTTON_PADX "4"
-#define DEF_MENUBUTTON_PADY "3"
-#define DEF_MENUBUTTON_RELIEF "flat"
-#define DEF_MENUBUTTON_STATE "normal"
-#define DEF_MENUBUTTON_TAKE_FOCUS "0"
-#define DEF_MENUBUTTON_TEXT ""
-#define DEF_MENUBUTTON_TEXT_VARIABLE ""
-#define DEF_MENUBUTTON_UNDERLINE "-1"
-#define DEF_MENUBUTTON_WIDTH "0"
-#define DEF_MENUBUTTON_WRAP_LENGTH "0"
-
-/*
- * Defaults for messages:
- */
-
-#define DEF_MESSAGE_ANCHOR "center"
-#define DEF_MESSAGE_ASPECT "150"
-#define DEF_MESSAGE_BG_COLOR NORMAL_BG
-#define DEF_MESSAGE_BG_MONO WHITE
-#define DEF_MESSAGE_BORDER_WIDTH "1"
-#define DEF_MESSAGE_CURSOR ""
-#define DEF_MESSAGE_FG BLACK
-#define DEF_MESSAGE_FONT "TkDefaultFont"
-#define DEF_MESSAGE_HIGHLIGHT_BG NORMAL_BG
-#define DEF_MESSAGE_HIGHLIGHT BLACK
-#define DEF_MESSAGE_HIGHLIGHT_WIDTH "0"
-#define DEF_MESSAGE_JUSTIFY "left"
-#define DEF_MESSAGE_PADX "-1"
-#define DEF_MESSAGE_PADY "-1"
-#define DEF_MESSAGE_RELIEF "flat"
-#define DEF_MESSAGE_TAKE_FOCUS "0"
-#define DEF_MESSAGE_TEXT ""
-#define DEF_MESSAGE_TEXT_VARIABLE ""
-#define DEF_MESSAGE_WIDTH "0"
-/*
- * Defaults for panedwindows
- */
-
-#define DEF_PANEDWINDOW_BG_COLOR NORMAL_BG
-#define DEF_PANEDWINDOW_BG_MONO WHITE
-#define DEF_PANEDWINDOW_BORDERWIDTH "1"
-#define DEF_PANEDWINDOW_CURSOR ""
-#define DEF_PANEDWINDOW_HANDLEPAD "8"
-#define DEF_PANEDWINDOW_HANDLESIZE "8"
-#define DEF_PANEDWINDOW_HEIGHT ""
-#define DEF_PANEDWINDOW_OPAQUERESIZE "1"
-#define DEF_PANEDWINDOW_ORIENT "horizontal"
-#define DEF_PANEDWINDOW_PROXYBORDER "2"
-#define DEF_PANEDWINDOW_RELIEF "flat"
-#define DEF_PANEDWINDOW_SASHCURSOR ""
-#define DEF_PANEDWINDOW_SASHPAD "0"
-#define DEF_PANEDWINDOW_SASHRELIEF "flat"
-#define DEF_PANEDWINDOW_SASHWIDTH "3"
-#define DEF_PANEDWINDOW_SHOWHANDLE "0"
-#define DEF_PANEDWINDOW_WIDTH ""
-
-/*
- * Defaults for panedwindow panes
- */
-
-#define DEF_PANEDWINDOW_PANE_AFTER ""
-#define DEF_PANEDWINDOW_PANE_BEFORE ""
-#define DEF_PANEDWINDOW_PANE_HEIGHT ""
-#define DEF_PANEDWINDOW_PANE_MINSIZE "0"
-#define DEF_PANEDWINDOW_PANE_PADX "0"
-#define DEF_PANEDWINDOW_PANE_PADY "0"
-#define DEF_PANEDWINDOW_PANE_STICKY "nsew"
-#define DEF_PANEDWINDOW_PANE_WIDTH ""
-#define DEF_PANEDWINDOW_PANE_HIDE "0"
-#define DEF_PANEDWINDOW_PANE_STRETCH "last"
-
-/*
- * Defaults for scales:
- */
-
-#define DEF_SCALE_ACTIVE_BG_COLOR ACTIVE_BG
-#define DEF_SCALE_ACTIVE_BG_MONO BLACK
-#define DEF_SCALE_BG_COLOR NORMAL_BG
-#define DEF_SCALE_BG_MONO WHITE
-#define DEF_SCALE_BIG_INCREMENT "0"
-#define DEF_SCALE_BORDER_WIDTH "1"
-#define DEF_SCALE_COMMAND ""
-#define DEF_SCALE_CURSOR ""
-#define DEF_SCALE_DIGITS "0"
-#define DEF_SCALE_FONT "TkDefaultFont"
-#define DEF_SCALE_FG_COLOR BLACK
-#define DEF_SCALE_FG_MONO BLACK
-#define DEF_SCALE_FROM "0"
-#define DEF_SCALE_HIGHLIGHT_BG_COLOR DEF_SCALE_BG_COLOR
-#define DEF_SCALE_HIGHLIGHT_BG_MONO DEF_SCALE_BG_MONO
-#define DEF_SCALE_HIGHLIGHT BLACK
-#define DEF_SCALE_HIGHLIGHT_WIDTH "0"
-#define DEF_SCALE_LABEL ""
-#define DEF_SCALE_LENGTH "100"
-#define DEF_SCALE_ORIENT "vertical"
-#define DEF_SCALE_RELIEF "flat"
-#define DEF_SCALE_REPEAT_DELAY "300"
-#define DEF_SCALE_REPEAT_INTERVAL "100"
-#define DEF_SCALE_RESOLUTION "1"
-#define DEF_SCALE_TROUGH_COLOR TROUGH
-#define DEF_SCALE_TROUGH_MONO WHITE
-#define DEF_SCALE_SHOW_VALUE "1"
-#define DEF_SCALE_SLIDER_LENGTH "30"
-#define DEF_SCALE_SLIDER_RELIEF "raised"
-#define DEF_SCALE_STATE "normal"
-#define DEF_SCALE_TAKE_FOCUS ((char *) NULL)
-#define DEF_SCALE_TICK_INTERVAL "0"
-#define DEF_SCALE_TO "100"
-#define DEF_SCALE_VARIABLE ""
-#define DEF_SCALE_WIDTH "15"
-
-/*
- * Defaults for scrollbars:
- */
-
-#define DEF_SCROLLBAR_ACTIVE_BG_COLOR ACTIVE_BG
-#define DEF_SCROLLBAR_ACTIVE_BG_MONO BLACK
-#define DEF_SCROLLBAR_ACTIVE_RELIEF "raised"
-#define DEF_SCROLLBAR_BG_COLOR NORMAL_BG
-#define DEF_SCROLLBAR_BG_MONO WHITE
-#define DEF_SCROLLBAR_BORDER_WIDTH "0"
-#define DEF_SCROLLBAR_COMMAND ""
-#define DEF_SCROLLBAR_CURSOR ""
-#define DEF_SCROLLBAR_EL_BORDER_WIDTH "-1"
-#define DEF_SCROLLBAR_HIGHLIGHT_BG NORMAL_BG
-#define DEF_SCROLLBAR_HIGHLIGHT BLACK
-#define DEF_SCROLLBAR_HIGHLIGHT_WIDTH "0"
-#define DEF_SCROLLBAR_JUMP "0"
-#define DEF_SCROLLBAR_ORIENT "vertical"
-#define DEF_SCROLLBAR_RELIEF "flat"
-#define DEF_SCROLLBAR_REPEAT_DELAY "300"
-#define DEF_SCROLLBAR_REPEAT_INTERVAL "100"
-#define DEF_SCROLLBAR_TAKE_FOCUS ((char *) NULL)
-#define DEF_SCROLLBAR_TROUGH_COLOR TROUGH
-#define DEF_SCROLLBAR_TROUGH_MONO WHITE
-#define DEF_SCROLLBAR_WIDTH "15"
-
-/*
- * Defaults for texts:
- */
-
-#define DEF_TEXT_AUTO_SEPARATORS "1"
-#define DEF_TEXT_BG_COLOR NORMAL_BG
-#define DEF_TEXT_BG_MONO WHITE
-#define DEF_TEXT_BLOCK_CURSOR "0"
-#define DEF_TEXT_BORDER_WIDTH "0"
-#define DEF_TEXT_CURSOR "xterm"
-#define DEF_TEXT_FG BLACK
-#define DEF_TEXT_EXPORT_SELECTION "1"
-#define DEF_TEXT_FONT "TkFixedFont"
-#define DEF_TEXT_HEIGHT "24"
-#define DEF_TEXT_HIGHLIGHT_BG NORMAL_BG
-#define DEF_TEXT_HIGHLIGHT BLACK
-#define DEF_TEXT_HIGHLIGHT_WIDTH "3"
-#define DEF_TEXT_INSERT_BG BLACK
-#define DEF_TEXT_INSERT_BD_COLOR "0"
-#define DEF_TEXT_INSERT_BD_MONO "0"
-#define DEF_TEXT_INSERT_OFF_TIME "300"
-#define DEF_TEXT_INSERT_ON_TIME "600"
-#define DEF_TEXT_INSERT_UNFOCUSSED "none"
-#define DEF_TEXT_INSERT_WIDTH "1"
-#define DEF_TEXT_MAX_UNDO "0"
-#define DEF_TEXT_PADX "1"
-#define DEF_TEXT_PADY "1"
-#define DEF_TEXT_RELIEF "flat"
-#define DEF_TEXT_INACTIVE_SELECT_COLOR INACTIVE_SELECT_BG
-#define DEF_TEXT_SELECT_COLOR SELECT_BG
-#define DEF_TEXT_SELECT_MONO BLACK
-#define DEF_TEXT_SELECT_BD_COLOR "1"
-#define DEF_TEXT_SELECT_BD_MONO "0"
-#define DEF_TEXT_SELECT_FG_COLOR SELECT_FG
-#define DEF_TEXT_SELECT_FG_MONO WHITE
-#define DEF_TEXT_SELECT_RELIEF "flat"
-#define DEF_TEXT_SET_GRID "0"
-#define DEF_TEXT_SPACING1 "0"
-#define DEF_TEXT_SPACING2 "0"
-#define DEF_TEXT_SPACING3 "0"
-#define DEF_TEXT_STATE "normal"
-#define DEF_TEXT_TABS ""
-#define DEF_TEXT_TABSTYLE "tabular"
-#define DEF_TEXT_TAKE_FOCUS ((char *) NULL)
-#define DEF_TEXT_UNDO "0"
-#define DEF_TEXT_WIDTH "80"
-#define DEF_TEXT_WRAP "char"
-#define DEF_TEXT_XSCROLL_COMMAND ""
-#define DEF_TEXT_YSCROLL_COMMAND ""
-
-/*
- * Defaults for canvas text:
- */
-
-#define DEF_CANVTEXT_FONT "TkDefaultFont"
-
-/*
- * Defaults for toplevels (most of the defaults for frames also apply
- * to toplevels):
- */
-
-#define DEF_TOPLEVEL_CLASS "Toplevel"
-#define DEF_TOPLEVEL_MENU ""
-#define DEF_TOPLEVEL_SCREEN ""
-#define DEF_TOPLEVEL_USE ""
-
-/*
- * Defaults for busy windows (not really used yet):
- */
-
-#define DEF_BUSY_CURSOR "watch"
-
-#endif /* _TKMACDEFAULT */
diff --git a/tk8.6/macosx/tkMacOSXDialog.c b/tk8.6/macosx/tkMacOSXDialog.c
deleted file mode 100644
index f8453c7..0000000
--- a/tk8.6/macosx/tkMacOSXDialog.c
+++ /dev/null
@@ -1,2039 +0,0 @@
-/*
- * tkMacOSXDialog.c --
- *
- * Contains the Mac implementation of the common dialog boxes.
- *
- * Copyright (c) 1996-1997 Sun Microsystems, Inc.
- * Copyright 2001-2009, Apple Inc.
- * Copyright (c) 2006-2009 Daniel A. Steffen <das@users.sourceforge.net>
- * Copyright (c) 2017 Christian Gollwitzer.
- *
- * See the file "license.terms" for information on usage and redistribution of
- * this file, and for a DISCLAIMER OF ALL WARRANTIES.
- */
-
-#include "tkMacOSXPrivate.h"
-#include "tkFileFilter.h"
-#include "tkMacOSXConstants.h"
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED < 1090
-#define modalOK NSOKButton
-#define modalCancel NSCancelButton
-#else
-#define modalOK NSModalResponseOK
-#define modalCancel NSModalResponseCancel
-#endif
-#define modalOther -1
-#define modalError -2
-
-/*Vars for filtering in "open file" and "save file" dialogs.*/
-typedef struct {
- bool doFileTypes; // show the accessory view which displays the filter menu
- bool preselectFilter; // a filter was selected by the typevariable
- bool userHasSelectedFilter; // The user has changed the filter in the accessory view
-
- NSMutableArray *fileTypeNames; // array of names, e.g. "Text document"
- NSMutableArray *fileTypeExtensions; // array of allowed extensions per name, e.g. "txt", "doc"
- NSMutableArray *fileTypeLabels; // displayed string, e.g. "Text document (.txt, .doc)"
- NSMutableArray *fileTypeAllowsAll; // boolean if the all pattern (*.*) is included
-
- NSMutableArray *allowedExtensions; // set of all allowed extensions
- bool allowedExtensionsAllowAll; // set of all allowed extensions includes *.*
-
- NSUInteger fileTypeIndex; // index of currently selected filter
-} filepanelFilterInfo;
-
-filepanelFilterInfo filterInfo;
-
-NSOpenPanel *openpanel;
-NSSavePanel *savepanel;
-
-static const char *const colorOptionStrings[] = {
- "-initialcolor", "-parent", "-title", NULL
-};
-enum colorOptions {
- COLOR_INITIAL, COLOR_PARENT, COLOR_TITLE
-};
-
-static const char *const openOptionStrings[] = {
- "-defaultextension", "-filetypes", "-initialdir", "-initialfile",
- "-message", "-multiple", "-parent", "-title", "-typevariable",
- "-command", NULL
-};
-enum openOptions {
- OPEN_DEFAULT, OPEN_FILETYPES, OPEN_INITDIR, OPEN_INITFILE,
- OPEN_MESSAGE, OPEN_MULTIPLE, OPEN_PARENT, OPEN_TITLE,
- OPEN_TYPEVARIABLE, OPEN_COMMAND,
-};
-static const char *const saveOptionStrings[] = {
- "-defaultextension", "-filetypes", "-initialdir", "-initialfile",
- "-message", "-parent", "-title", "-typevariable", "-command",
- "-confirmoverwrite", NULL
-};
-enum saveOptions {
- SAVE_DEFAULT, SAVE_FILETYPES, SAVE_INITDIR, SAVE_INITFILE,
- SAVE_MESSAGE, SAVE_PARENT, SAVE_TITLE, SAVE_TYPEVARIABLE, SAVE_COMMAND,
- SAVE_CONFIRMOW
-};
-static const char *const chooseOptionStrings[] = {
- "-initialdir", "-message", "-mustexist", "-parent", "-title", "-command",
- NULL
-};
-enum chooseOptions {
- CHOOSE_INITDIR, CHOOSE_MESSAGE, CHOOSE_MUSTEXIST, CHOOSE_PARENT,
- CHOOSE_TITLE, CHOOSE_COMMAND,
-};
-typedef struct {
- Tcl_Interp *interp;
- Tcl_Obj *cmdObj;
- int multiple;
-} FilePanelCallbackInfo;
-
-static const char *const alertOptionStrings[] = {
- "-default", "-detail", "-icon", "-message", "-parent", "-title",
- "-type", "-command", NULL
-};
-enum alertOptions {
- ALERT_DEFAULT, ALERT_DETAIL, ALERT_ICON, ALERT_MESSAGE, ALERT_PARENT,
- ALERT_TITLE, ALERT_TYPE, ALERT_COMMAND,
-};
-typedef struct {
- Tcl_Interp *interp;
- Tcl_Obj *cmdObj;
- int typeIndex;
-} AlertCallbackInfo;
-static const char *const alertTypeStrings[] = {
- "abortretryignore", "ok", "okcancel", "retrycancel", "yesno",
- "yesnocancel", NULL
-};
-enum alertTypeOptions {
- TYPE_ABORTRETRYIGNORE, TYPE_OK, TYPE_OKCANCEL, TYPE_RETRYCANCEL,
- TYPE_YESNO, TYPE_YESNOCANCEL
-};
-static const char *const alertIconStrings[] = {
- "error", "info", "question", "warning", NULL
-};
-enum alertIconOptions {
- ICON_ERROR, ICON_INFO, ICON_QUESTION, ICON_WARNING
-};
-static const char *const alertButtonStrings[] = {
- "abort", "retry", "ignore", "ok", "cancel", "no", "yes", NULL
-};
-
-static const NSString *const alertButtonNames[][3] = {
- [TYPE_ABORTRETRYIGNORE] = {@"Abort", @"Retry", @"Ignore"},
- [TYPE_OK] = {@"OK"},
- [TYPE_OKCANCEL] = {@"OK", @"Cancel"},
- [TYPE_RETRYCANCEL] = {@"Retry", @"Cancel"},
- [TYPE_YESNO] = {@"Yes", @"No"},
- [TYPE_YESNOCANCEL] = {@"Yes", @"No", @"Cancel"},
-};
-static const NSAlertStyle alertStyles[] = {
- [ICON_ERROR] = NSWarningAlertStyle,
- [ICON_INFO] = NSInformationalAlertStyle,
- [ICON_QUESTION] = NSWarningAlertStyle,
- [ICON_WARNING] = NSCriticalAlertStyle,
-};
-
-/*
- * Need to map from 'alertButtonStrings' and its corresponding integer, index
- * to the native button index, which is 1, 2, 3, from right to left. This is
- * necessary to do for each separate '-type' of button sets.
- */
-
-static const short alertButtonIndexAndTypeToNativeButtonIndex[][7] = {
- /* abort retry ignore ok cancel yes no */
- [TYPE_ABORTRETRYIGNORE] = {1, 2, 3, 0, 0, 0, 0},
- [TYPE_OK] = {0, 0, 0, 1, 0, 0, 0},
- [TYPE_OKCANCEL] = {0, 0, 0, 1, 2, 0, 0},
- [TYPE_RETRYCANCEL] = {0, 1, 0, 0, 2, 0, 0},
- [TYPE_YESNO] = {0, 0, 0, 0, 0, 2, 1},
- [TYPE_YESNOCANCEL] = {0, 0, 0, 0, 3, 2, 1},
-};
-
-/*
- * Need also the inverse mapping, from NSAlertFirstButtonReturn etc to the
- * descriptive button text string index.
- */
-
-static const short alertNativeButtonIndexAndTypeToButtonIndex[][3] = {
- [TYPE_ABORTRETRYIGNORE] = {0, 1, 2},
- [TYPE_OK] = {3, 0, 0},
- [TYPE_OKCANCEL] = {3, 4, 0},
- [TYPE_RETRYCANCEL] = {1, 4, 0},
- [TYPE_YESNO] = {6, 5, 0},
- [TYPE_YESNOCANCEL] = {6, 5, 4},
-};
-
-/*
- * Construct a file URL from directory and filename. Either may
- * be nil. If both are nil, returns nil.
- */
-static NSURL *getFileURL(NSString *directory, NSString *filename) {
- NSURL *url = nil;
- if (directory) {
- url = [NSURL fileURLWithPath:directory isDirectory:YES];
- }
- if (filename) {
- url = [NSURL URLWithString:filename relativeToURL:url];
- }
- return url;
-}
-
-#pragma mark TKApplication(TKDialog)
-
-@interface NSColorPanel(TKDialog)
-- (void) _setUseModalAppearance: (BOOL) flag;
-@end
-
-@implementation TKApplication(TKDialog)
-
-- (void) tkFilePanelDidEnd: (NSSavePanel *) panel
- returnCode: (NSInteger) returnCode contextInfo: (void *) contextInfo
-{
- FilePanelCallbackInfo *callbackInfo = contextInfo;
-
- if (returnCode == modalOK) {
- Tcl_Obj *resultObj;
-
- if (callbackInfo->multiple) {
- resultObj = Tcl_NewListObj(0, NULL);
- for (NSURL *url in [(NSOpenPanel*)panel URLs]) {
- Tcl_ListObjAppendElement(callbackInfo->interp, resultObj,
- Tcl_NewStringObj([[url path] UTF8String], -1));
- }
- } else {
- resultObj = Tcl_NewStringObj([[[panel URL]path] UTF8String], -1);
- }
- if (callbackInfo->cmdObj) {
- Tcl_Obj **objv, **tmpv;
- int objc, result = Tcl_ListObjGetElements(callbackInfo->interp,
- callbackInfo->cmdObj, &objc, &objv);
-
- if (result == TCL_OK && objc) {
- tmpv = ckalloc(sizeof(Tcl_Obj *) * (objc + 2));
- memcpy(tmpv, objv, sizeof(Tcl_Obj *) * objc);
- tmpv[objc] = resultObj;
- TkBackgroundEvalObjv(callbackInfo->interp, objc + 1, tmpv,
- TCL_EVAL_GLOBAL);
- ckfree(tmpv);
- }
- } else {
- Tcl_SetObjResult(callbackInfo->interp, resultObj);
- }
- } else if (returnCode == modalCancel) {
- Tcl_ResetResult(callbackInfo->interp);
- }
- if (panel == [NSApp modalWindow]) {
- [NSApp stopModalWithCode:returnCode];
- }
- if (callbackInfo->cmdObj) {
- Tcl_DecrRefCount(callbackInfo->cmdObj);
- ckfree(callbackInfo);
- }
-}
-
-
-- (void) tkAlertDidEnd: (NSAlert *) alert returnCode: (NSInteger) returnCode
- contextInfo: (void *) contextInfo
-{
- AlertCallbackInfo *callbackInfo = contextInfo;
-
- if (returnCode >= NSAlertFirstButtonReturn) {
- Tcl_Obj *resultObj = Tcl_NewStringObj(alertButtonStrings[
- alertNativeButtonIndexAndTypeToButtonIndex[callbackInfo->
- typeIndex][returnCode - NSAlertFirstButtonReturn]], -1);
-
- if (callbackInfo->cmdObj) {
- Tcl_Obj **objv, **tmpv;
- int objc, result = Tcl_ListObjGetElements(callbackInfo->interp,
- callbackInfo->cmdObj, &objc, &objv);
-
- if (result == TCL_OK && objc) {
- tmpv = ckalloc(sizeof(Tcl_Obj *) * (objc + 2));
- memcpy(tmpv, objv, sizeof(Tcl_Obj *) * objc);
- tmpv[objc] = resultObj;
- TkBackgroundEvalObjv(callbackInfo->interp, objc + 1, tmpv,
- TCL_EVAL_GLOBAL);
- ckfree(tmpv);
- }
- } else {
- Tcl_SetObjResult(callbackInfo->interp, resultObj);
- }
- }
- if ([alert window] == [NSApp modalWindow]) {
- [NSApp stopModalWithCode:returnCode];
- }
- if (callbackInfo->cmdObj) {
- Tcl_DecrRefCount(callbackInfo->cmdObj);
- ckfree(callbackInfo);
- }
-}
-
-- (void)selectFormat:(id)sender {
- NSPopUpButton *button = (NSPopUpButton *)sender;
- filterInfo.fileTypeIndex = [button indexOfSelectedItem];
-
- if ([[filterInfo.fileTypeAllowsAll objectAtIndex:filterInfo.fileTypeIndex] boolValue]) {
- [openpanel setAllowsOtherFileTypes:YES];
- /* setAllowsOtherFileTypes might have no effect; it's inherited from the
- * NSSavePanel, where it has the effect that it does not append an extension
- * Setting the allowed file types to nil allows selecting any file */
- [openpanel setAllowedFileTypes:nil];
- } else {
- NSMutableArray *allowedtypes = [filterInfo.fileTypeExtensions objectAtIndex:filterInfo.fileTypeIndex];
- [openpanel setAllowedFileTypes:allowedtypes];
- [openpanel setAllowsOtherFileTypes:NO];
- }
-
- filterInfo.userHasSelectedFilter = true;
-}
-
-- (void)saveFormat:(id)sender {
- NSPopUpButton *button = (NSPopUpButton *)sender;
- filterInfo.fileTypeIndex = [button indexOfSelectedItem];
-
- if ([[filterInfo.fileTypeAllowsAll objectAtIndex:filterInfo.fileTypeIndex] boolValue]) {
- [savepanel setAllowsOtherFileTypes:YES];
- [savepanel setAllowedFileTypes:nil];
- } else {
- NSMutableArray *allowedtypes = [filterInfo.fileTypeExtensions objectAtIndex:filterInfo.fileTypeIndex];
- [savepanel setAllowedFileTypes:allowedtypes];
- [savepanel setAllowsOtherFileTypes:NO];
- }
-
- filterInfo.userHasSelectedFilter = true;
-}
-
-@end
-
-#pragma mark -
-
-/*
- *----------------------------------------------------------------------
- *
- * Tk_ChooseColorObjCmd --
- *
- * This procedure implements the color dialog box for the Mac platform.
- * See the user documentation for details on what it does.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * See the user documentation.
- *
- *----------------------------------------------------------------------
- */
-
-int
-Tk_ChooseColorObjCmd(
- ClientData clientData, /* Main window associated with interpreter. */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- int result = TCL_ERROR;
- Tk_Window parent, tkwin = clientData;
- const char *title = NULL;
- int i;
- NSColor *color = nil, *initialColor = nil;
- NSColorPanel *colorPanel;
- NSInteger returnCode, numberOfComponents = 0;
-
- for (i = 1; i < objc; i += 2) {
- int index;
- const char *value;
-
- if (Tcl_GetIndexFromObjStruct(interp, objv[i], colorOptionStrings,
- sizeof(char *), "option", TCL_EXACT, &index) != TCL_OK) {
- goto end;
- }
- if (i + 1 == objc) {
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "value for \"%s\" missing", Tcl_GetString(objv[i])));
- Tcl_SetErrorCode(interp, "TK", "COLORDIALOG", "VALUE", NULL);
- goto end;
- }
- value = Tcl_GetString(objv[i + 1]);
-
- switch (index) {
- case COLOR_INITIAL: {
- XColor *colorPtr;
-
- colorPtr = Tk_GetColor(interp, tkwin, value);
- if (colorPtr == NULL) {
- goto end;
- }
- initialColor = TkMacOSXGetNSColor(NULL, colorPtr->pixel);
- Tk_FreeColor(colorPtr);
- break;
- }
- case COLOR_PARENT:
- parent = Tk_NameToWindow(interp, value, tkwin);
- if (parent == NULL) {
- goto end;
- }
- break;
- case COLOR_TITLE:
- title = value;
- break;
- }
- }
- colorPanel = [NSColorPanel sharedColorPanel];
- [colorPanel orderOut:NSApp];
- [colorPanel setContinuous:NO];
- [colorPanel setBecomesKeyOnlyIfNeeded:NO];
- [colorPanel setShowsAlpha: NO];
- [colorPanel _setUseModalAppearance:YES];
- if (title) {
- NSString *s = [[NSString alloc] initWithUTF8String:title];
- [colorPanel setTitle:s];
- [s release];
- }
- if (initialColor) {
- [colorPanel setColor:initialColor];
- }
- returnCode = [NSApp runModalForWindow:colorPanel];
- if (returnCode == modalOK) {
- color = [[colorPanel color] colorUsingColorSpace:
- [NSColorSpace deviceRGBColorSpace]];
- numberOfComponents = [color numberOfComponents];
- }
- if (color && numberOfComponents >= 3 && numberOfComponents <= 4) {
- CGFloat components[4];
- char colorstr[8];
-
- [color getComponents:components];
- snprintf(colorstr, 8, "#%02x%02x%02x",
- (short)(components[0] * 255),
- (short)(components[1] * 255),
- (short)(components[2] * 255));
- Tcl_SetObjResult(interp, Tcl_NewStringObj(colorstr, 7));
- } else {
- Tcl_ResetResult(interp);
- }
- result = TCL_OK;
-
-end:
- return result;
-}
-
-/* dissect the -filetype nested lists and store the information
- * in the filterInfo structure */
-int parseFileFilters(Tcl_Interp *interp, Tcl_Obj *fileTypesPtr, Tcl_Obj *typeVariablePtr) {
-
- if (!fileTypesPtr) {
- filterInfo.doFileTypes = false;
- return TCL_OK;
- }
-
- FileFilterList fl;
- TkInitFileFilters(&fl);
- if (TkGetFileFilters(interp, &fl, fileTypesPtr, 0) != TCL_OK) {
- TkFreeFileFilters(&fl);
- return TCL_ERROR;
- }
-
- filterInfo.doFileTypes = (fl.filters != NULL);
-
- filterInfo.fileTypeIndex = 0;
- filterInfo.fileTypeExtensions = [NSMutableArray array];
- filterInfo.fileTypeNames = [NSMutableArray array];
- filterInfo.fileTypeLabels = [NSMutableArray array];
- filterInfo.fileTypeAllowsAll = [NSMutableArray array];
-
- filterInfo.allowedExtensions = [NSMutableArray array];
- filterInfo.allowedExtensionsAllowAll = NO;
-
- if (filterInfo.doFileTypes) {
- for (FileFilter *filterPtr = fl.filters; filterPtr;
- filterPtr = filterPtr->next) {
- NSString * name = [[NSString alloc] initWithUTF8String: filterPtr -> name];
- [filterInfo.fileTypeNames addObject:name];
- [name release];
- NSMutableArray * clauseextensions = [NSMutableArray array];
- NSMutableArray * displayextensions = [NSMutableArray array];
- bool allowsAll = NO;
-
- for (FileFilterClause *clausePtr = filterPtr->clauses; clausePtr;
- clausePtr = clausePtr->next) {
-
- for (GlobPattern *globPtr = clausePtr->patterns; globPtr;
- globPtr = globPtr->next) {
- const char *str = globPtr->pattern;
- while (*str && (*str == '*' || *str == '.')) {
- str++;
- }
- if (*str) {
- NSString *extension = [[NSString alloc] initWithUTF8String:str];
- if (![filterInfo.allowedExtensions containsObject:extension]) {
- [filterInfo.allowedExtensions addObject:extension];
- }
-
- [clauseextensions addObject:extension];
- [displayextensions addObject:[@"." stringByAppendingString:extension]];
-
- [extension release];
- } else {
- // it is the all pattern (*, .* or *.*)
- allowsAll = YES;
- filterInfo.allowedExtensionsAllowAll = YES;
- [displayextensions addObject:@"*"];
- }
- }
- }
- [filterInfo.fileTypeExtensions addObject:clauseextensions];
- [filterInfo.fileTypeAllowsAll addObject:[NSNumber numberWithBool:allowsAll]];
-
- NSMutableString * label = [[NSMutableString alloc] initWithString:name];
- [label appendString:@" ("];
- [label appendString:[displayextensions componentsJoinedByString:@", "]];
- [label appendString:@")"];
- [filterInfo.fileTypeLabels addObject:label];
- [label release];
-
- }
-
- /* Check if the typevariable exists and matches one of the names */
- filterInfo.preselectFilter = false;
- filterInfo.userHasSelectedFilter = false;
- if (typeVariablePtr) {
- /* extract the variable content as a NSString */
- Tcl_Obj *selectedFileTypeObj = Tcl_ObjGetVar2(interp, typeVariablePtr, NULL, TCL_GLOBAL_ONLY);
-
- /* check that the typevariable exists */
- if (selectedFileTypeObj != NULL) {
- const char *selectedFileType = Tcl_GetString(selectedFileTypeObj);
- NSString *selectedFileTypeStr = [[NSString alloc] initWithUTF8String:selectedFileType];
- NSUInteger index = [filterInfo.fileTypeNames indexOfObject:selectedFileTypeStr];
-
- if (index != NSNotFound) {
- filterInfo.fileTypeIndex = index;
- filterInfo.preselectFilter = true;
- }
- }
- }
-
- }
-
- TkFreeFileFilters(&fl);
- return TCL_OK;
-}
-
-bool filterCompatible(NSString *extension, int filterIndex) {
- NSMutableArray *allowedExtensions = [filterInfo.fileTypeExtensions objectAtIndex: filterIndex];
-
- /* If this contains the all pattern, accept any extension */
- if ([[filterInfo.fileTypeAllowsAll objectAtIndex:filterIndex] boolValue]) {
- return true;
- }
-
- return [allowedExtensions containsObject: extension];
-}
-
-
-/*
- *----------------------------------------------------------------------
- *
- * Tk_GetOpenFileObjCmd --
- *
- * This procedure implements the "open file" dialog box for the Mac
- * platform. See the user documentation for details on what it does.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * See user documentation.
- *----------------------------------------------------------------------
- */
-
-int
-Tk_GetOpenFileObjCmd(
- ClientData clientData, /* Main window associated with interpreter. */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- Tk_Window tkwin = clientData;
- char *str;
- int i, result = TCL_ERROR, haveParentOption = 0;
- int index, len, multiple = 0;
- Tcl_Obj *cmdObj = NULL, *typeVariablePtr = NULL, *fileTypesPtr = NULL;
- FilePanelCallbackInfo callbackInfoStruct;
- FilePanelCallbackInfo *callbackInfo = &callbackInfoStruct;
- NSString *directory = nil, *filename = nil;
- NSString *message = nil, *title = nil;
- NSWindow *parent;
- openpanel = [NSOpenPanel openPanel];
- NSInteger modalReturnCode = modalError;
- BOOL parentIsKey = NO;
-
- for (i = 1; i < objc; i += 2) {
- if (Tcl_GetIndexFromObjStruct(interp, objv[i], openOptionStrings,
- sizeof(char *), "option", TCL_EXACT, &index) != TCL_OK) {
- goto end;
- }
- if (i + 1 == objc) {
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "value for \"%s\" missing", Tcl_GetString(objv[i])));
- Tcl_SetErrorCode(interp, "TK", "FILEDIALOG", "VALUE", NULL);
- goto end;
- }
- switch (index) {
- case OPEN_DEFAULT:
- break;
- case OPEN_FILETYPES:
- fileTypesPtr = objv[i + 1];
- break;
- case OPEN_INITDIR:
- str = Tcl_GetStringFromObj(objv[i + 1], &len);
- if (len) {
- directory = [[[NSString alloc] initWithUTF8String:str]
- autorelease];
- }
- break;
- case OPEN_INITFILE:
- str = Tcl_GetStringFromObj(objv[i + 1], &len);
- if (len) {
- filename = [[[NSString alloc] initWithUTF8String:str]
- autorelease];
- }
- break;
- case OPEN_MESSAGE:
- message = [[NSString alloc] initWithUTF8String:
- Tcl_GetString(objv[i + 1])];
- break;
- case OPEN_MULTIPLE:
- if (Tcl_GetBooleanFromObj(interp, objv[i + 1],
- &multiple) != TCL_OK) {
- goto end;
- }
- break;
- case OPEN_PARENT:
- str = Tcl_GetStringFromObj(objv[i + 1], &len);
- tkwin = Tk_NameToWindow(interp, str, tkwin);
- if (!tkwin) {
- goto end;
- }
- haveParentOption = 1;
- break;
- case OPEN_TITLE:
- title = [[NSString alloc] initWithUTF8String:
- Tcl_GetString(objv[i + 1])];
- break;
- case OPEN_TYPEVARIABLE:
- typeVariablePtr = objv[i + 1];
- break;
- case OPEN_COMMAND:
- cmdObj = objv[i+1];
- break;
- }
- }
-
- if (title) {
- [openpanel setTitle:title];
-
- /* From OSX 10.11, the title string is silently ignored in the open panel.
- * Prepend the title to the message in this case
- * NOTE should be conditional on OSX version, but
- * -mmacosx-version-min does not revert this behaviour*/
-
- if (message) {
- NSString *fullmessage = [[NSString alloc] initWithFormat:@"%@\n%@",title,message];
- [message release];
- [title release];
- message = fullmessage;
- } else {
- message = title;
- }
- }
-
- if (message) {
- [openpanel setMessage:message];
- [message release];
- }
-
- [openpanel setAllowsMultipleSelection:multiple];
-
- if (parseFileFilters(interp, fileTypesPtr, typeVariablePtr) != TCL_OK) {
- goto end;
- }
-
- if (filterInfo.doFileTypes) {
- NSView *accessoryView = [[NSView alloc] initWithFrame:NSMakeRect(0.0, 0.0, 300, 32.0)];
- NSTextField *label = [[NSTextField alloc] initWithFrame:NSMakeRect(0, 0, 60, 22)];
- [label setEditable:NO];
- [label setStringValue:@"Filter:"];
- [label setBordered:NO];
- [label setBezeled:NO];
- [label setDrawsBackground:NO];
-
- NSPopUpButton *popupButton = [[NSPopUpButton alloc] initWithFrame:NSMakeRect(50.0, 2, 240, 22.0) pullsDown:NO];
- [popupButton addItemsWithTitles:filterInfo.fileTypeLabels];
- [popupButton setAction:@selector(selectFormat:)];
-
- [accessoryView addSubview:label];
- [accessoryView addSubview:popupButton];
-
- if (filterInfo.preselectFilter) {
- /* A specific filter was selected from the typevariable. Select it and
- * open the accessory view */
- [popupButton selectItemAtIndex:filterInfo.fileTypeIndex];
- /* on OSX > 10.11, the optons are not visible by default. Ergo allow all file types
- [openpanel setAllowedFileTypes:filterInfo.fileTypeExtensions[filterInfo.fileTypeIndex]];
- */
- [openpanel setAllowedFileTypes:filterInfo.allowedExtensions];
- } else {
- [openpanel setAllowedFileTypes:filterInfo.allowedExtensions];
- }
-
- if (filterInfo.allowedExtensionsAllowAll) {
- [openpanel setAllowsOtherFileTypes:YES];
- } else {
- [openpanel setAllowsOtherFileTypes:NO];
- }
-
- [openpanel setAccessoryView:accessoryView];
- } else {
- /* No filters are given. Allow picking all files */
- [openpanel setAllowsOtherFileTypes:YES];
- }
-
- if (cmdObj) {
- callbackInfo = ckalloc(sizeof(FilePanelCallbackInfo));
- if (Tcl_IsShared(cmdObj)) {
- cmdObj = Tcl_DuplicateObj(cmdObj);
- }
- Tcl_IncrRefCount(cmdObj);
- }
-
- callbackInfo->cmdObj = cmdObj;
- callbackInfo->interp = interp;
- callbackInfo->multiple = multiple;
- parent = TkMacOSXDrawableWindow(((TkWindow *) tkwin)->window);
- if (haveParentOption && parent && ![parent attachedSheet]) {
- parentIsKey = [parent isKeyWindow];
- if (directory || filename ) {
- NSURL * fileURL = getFileURL(directory, filename);
- [openpanel setDirectoryURL:fileURL];
- }
-
- [openpanel beginSheetModalForWindow:parent
- completionHandler:^(NSInteger returnCode)
- { [NSApp tkFilePanelDidEnd:openpanel
- returnCode:returnCode
- contextInfo:callbackInfo ]; } ];
- modalReturnCode = cmdObj ? modalOther : [NSApp runModalForWindow:openpanel];
- } else {
- if (directory || filename ) {
- NSURL * fileURL = getFileURL(directory, filename);
- [openpanel setDirectoryURL:fileURL];
- }
-
- modalReturnCode = [openpanel runModal];
- [NSApp tkFilePanelDidEnd:openpanel returnCode:modalReturnCode
- contextInfo:callbackInfo];
- }
- result = (modalReturnCode != modalError) ? TCL_OK : TCL_ERROR;
- if (parentIsKey) {
- [parent makeKeyWindow];
- }
-
- if ((typeVariablePtr && (modalReturnCode == NSOKButton)) &&
- filterInfo.doFileTypes) {
- /*
- * The -typevariable must be set to the selected file type, if the dialog was not cancelled
- */
- NSUInteger selectedFilterIndex = filterInfo.fileTypeIndex;
- NSString *selectedFilter = NULL;
- if (filterInfo.userHasSelectedFilter) {
- selectedFilterIndex = filterInfo.fileTypeIndex;
- selectedFilter = [filterInfo.fileTypeNames objectAtIndex:selectedFilterIndex];
- } else {
- /* Difficult case: the user has not touched the filter settings, but we must
- * return something in the typevariable. First check if the preselected type is compatible
- * with the selected file, otherwise choose the first compatible type from the list,
- * finally fall back to the empty string */
- NSURL *selectedFile;
- if (multiple) {
- // Use the first file in the case of multiple selection
- // Anyway it is not overly useful here
- selectedFile = [[openpanel URLs] objectAtIndex:0];
- } else {
- selectedFile = [openpanel URL];
- }
-
- NSString *extension = [selectedFile pathExtension];
- if (filterInfo.preselectFilter &&
- filterCompatible(extension, filterInfo.fileTypeIndex)) {
- selectedFilterIndex = filterInfo.fileTypeIndex; // The preselection from the typevariable
- selectedFilter = [filterInfo.fileTypeNames objectAtIndex:selectedFilterIndex];
- } else {
- // scan the list
- NSUInteger i;
- for (i = 0; i < [filterInfo.fileTypeNames count]; i++) {
- if (filterCompatible(extension, i)) {
- selectedFilterIndex = i;
- break;
- }
- }
- if (i == selectedFilterIndex) {
- selectedFilter = [filterInfo.fileTypeNames objectAtIndex:selectedFilterIndex];
- } else {
- selectedFilter = @"";
- }
-
- }
- }
-
- Tcl_ObjSetVar2(interp, typeVariablePtr, NULL,
- Tcl_NewStringObj([selectedFilter UTF8String], -1), TCL_GLOBAL_ONLY);
- }
-
-
- end:
- return result;
-}
-
-
-/*
- *----------------------------------------------------------------------
- *
- * Tk_GetSaveFileObjCmd --
- *
- * This procedure implements the "save file" dialog box for the Mac
- * platform. See the user documentation for details on what it does.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * See user documentation.
- *----------------------------------------------------------------------
- */
-
-int
-Tk_GetSaveFileObjCmd(
- ClientData clientData, /* Main window associated with interpreter. */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- Tk_Window tkwin = clientData;
- char *str;
- int i, result = TCL_ERROR, haveParentOption = 0;
- int confirmOverwrite = 1;
- int index, len;
- Tcl_Obj *cmdObj = NULL, *typeVariablePtr = NULL, *fileTypesPtr = NULL;
- FilePanelCallbackInfo callbackInfoStruct;
- FilePanelCallbackInfo *callbackInfo = &callbackInfoStruct;
- NSString *directory = nil, *filename = nil, *defaultType = nil;
- NSString *message = nil, *title = nil;
- NSWindow *parent;
- savepanel = [NSSavePanel savePanel];
- NSInteger modalReturnCode = modalError;
- BOOL parentIsKey = NO;
-
- for (i = 1; i < objc; i += 2) {
- if (Tcl_GetIndexFromObjStruct(interp, objv[i], saveOptionStrings,
- sizeof(char *), "option", TCL_EXACT, &index) != TCL_OK) {
- goto end;
- }
- if (i + 1 == objc) {
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "value for \"%s\" missing", Tcl_GetString(objv[i])));
- Tcl_SetErrorCode(interp, "TK", "FILEDIALOG", "VALUE", NULL);
- goto end;
- }
- switch (index) {
- case SAVE_DEFAULT:
- str = Tcl_GetStringFromObj(objv[i + 1], &len);
- while (*str && (*str == '*' || *str == '.')) {
- str++;
- }
- if (*str) {
- defaultType = [[[NSString alloc] initWithUTF8String:str]
- autorelease];
- }
- break;
- case SAVE_FILETYPES:
- fileTypesPtr = objv[i + 1];
- break;
- case SAVE_INITDIR:
- str = Tcl_GetStringFromObj(objv[i + 1], &len);
- if (len) {
- directory = [[[NSString alloc] initWithUTF8String:str]
- autorelease];
- }
- break;
- case SAVE_INITFILE:
- str = Tcl_GetStringFromObj(objv[i + 1], &len);
- if (len) {
- filename = [[[NSString alloc] initWithUTF8String:str]
- autorelease];
- [savepanel setNameFieldStringValue:filename];
- }
- break;
- case SAVE_MESSAGE:
- message = [[NSString alloc] initWithUTF8String:
- Tcl_GetString(objv[i + 1])];
- break;
- case SAVE_PARENT:
- str = Tcl_GetStringFromObj(objv[i + 1], &len);
- tkwin = Tk_NameToWindow(interp, str, tkwin);
- if (!tkwin) {
- goto end;
- }
- haveParentOption = 1;
- break;
- case SAVE_TITLE:
- title = [[NSString alloc] initWithUTF8String:
- Tcl_GetString(objv[i + 1])];
- break;
- case SAVE_TYPEVARIABLE:
- typeVariablePtr = objv[i + 1];
- break;
- case SAVE_COMMAND:
- cmdObj = objv[i+1];
- break;
- case SAVE_CONFIRMOW:
- if (Tcl_GetBooleanFromObj(interp, objv[i + 1],
- &confirmOverwrite) != TCL_OK) {
- goto end;
- }
- break;
- }
- }
-
- if (title) {
- [savepanel setTitle:title];
-
- /* From OSX 10.11, the title string is silently ignored, if the save panel is a sheet.
- * Prepend the title to the message in this case
- * NOTE should be conditional on OSX version, but
- * -mmacosx-version-min does not revert this behaviour*/
- if (haveParentOption) {
- if (message) {
- NSString *fullmessage = [[NSString alloc] initWithFormat:@"%@\n%@",title,message];
- [message release];
- [title release];
- message = fullmessage;
- } else {
- message = title;
- }
- }
- }
-
- if (message) {
- [savepanel setMessage:message];
- [message release];
- }
-
- if (parseFileFilters(interp, fileTypesPtr, typeVariablePtr) != TCL_OK) {
- goto end;
- }
-
- if (filterInfo.doFileTypes) {
- NSView *accessoryView = [[NSView alloc] initWithFrame:NSMakeRect(0.0, 0.0, 300, 32.0)];
- NSTextField *label = [[NSTextField alloc] initWithFrame:NSMakeRect(0, 0, 60, 22)];
- [label setEditable:NO];
- [label setStringValue:NSLocalizedString(@"Format:", nil)];
- [label setBordered:NO];
- [label setBezeled:NO];
- [label setDrawsBackground:NO];
-
- NSPopUpButton *popupButton = [[NSPopUpButton alloc] initWithFrame:NSMakeRect(50.0, 2, 340, 22.0) pullsDown:NO];
- [popupButton addItemsWithTitles:filterInfo.fileTypeLabels];
- [popupButton selectItemAtIndex:filterInfo.fileTypeIndex];
- [popupButton setAction:@selector(saveFormat:)];
-
- [accessoryView addSubview:label];
- [accessoryView addSubview:popupButton];
-
- [savepanel setAccessoryView:accessoryView];
-
- [savepanel setAllowedFileTypes:[filterInfo.fileTypeExtensions objectAtIndex:filterInfo.fileTypeIndex]];
- [savepanel setAllowsOtherFileTypes:filterInfo.allowedExtensionsAllowAll];
- } else if (defaultType) {
- /* If no filetypes are given, defaultextension is an alternative way
- * to specify the attached extension. Just propose this extension,
- * but don't display an accessory view */
- NSMutableArray *AllowedFileTypes = [NSMutableArray array];
- [AllowedFileTypes addObject:defaultType];
- [savepanel setAllowedFileTypes:AllowedFileTypes];
- [savepanel setAllowsOtherFileTypes:YES];
- }
-
- [savepanel setCanSelectHiddenExtension:YES];
- [savepanel setExtensionHidden:NO];
-
- if (cmdObj) {
- callbackInfo = ckalloc(sizeof(FilePanelCallbackInfo));
- if (Tcl_IsShared(cmdObj)) {
- cmdObj = Tcl_DuplicateObj(cmdObj);
- }
- Tcl_IncrRefCount(cmdObj);
- }
- callbackInfo->cmdObj = cmdObj;
- callbackInfo->interp = interp;
- callbackInfo->multiple = 0;
-
- parent = TkMacOSXDrawableWindow(((TkWindow *) tkwin)->window);
- if (haveParentOption && parent && ![parent attachedSheet]) {
- parentIsKey = [parent isKeyWindow];
- if (directory) {
- [savepanel setDirectoryURL:[NSURL fileURLWithPath:directory isDirectory:YES]];
- }
- /*check for file name, otherwise set to empty string; crashes with uncaught exception if set to nil*/
- if (filename) {
- [savepanel setNameFieldStringValue:filename];
- } else {
- [savepanel setNameFieldStringValue:@""];
- }
- [savepanel beginSheetModalForWindow:parent
- completionHandler:^(NSInteger returnCode)
- { [NSApp tkFilePanelDidEnd:savepanel
- returnCode:returnCode
- contextInfo:callbackInfo ]; } ];
- modalReturnCode = cmdObj ? modalOther : [NSApp runModalForWindow:savepanel];
- } else {
- if (directory) {
- [savepanel setDirectoryURL:[NSURL fileURLWithPath:directory isDirectory:YES]];
- }
- /*check for file name, otherwise set to empty string; crashes with uncaught exception if set to nil*/
- if (filename) {
- [savepanel setNameFieldStringValue:filename];
- } else {
- [savepanel setNameFieldStringValue:@""];
- }
- modalReturnCode = [savepanel runModal];
- [NSApp tkFilePanelDidEnd:savepanel returnCode:modalReturnCode
- contextInfo:callbackInfo];
- }
- result = (modalReturnCode != modalError) ? TCL_OK : TCL_ERROR;
- if (parentIsKey) {
- [parent makeKeyWindow];
- }
-
- if ((typeVariablePtr && (modalReturnCode == NSOKButton)) && filterInfo.doFileTypes) {
- /*
- * The -typevariable must be set to the selected file type, if the dialog was not cancelled
- */
- NSString * selectedFilter = [filterInfo.fileTypeNames objectAtIndex:filterInfo.fileTypeIndex];
- Tcl_ObjSetVar2(interp, typeVariablePtr, NULL,
- Tcl_NewStringObj([selectedFilter UTF8String], -1), TCL_GLOBAL_ONLY);
- }
-
-
- end:
- return result;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * Tk_ChooseDirectoryObjCmd --
- *
- * This procedure implements the "tk_chooseDirectory" dialog box for the
- * MacOS X platform. See the user documentation for details on what it
- * does.
- *
- * Results:
- * See user documentation.
- *
- * Side effects:
- * A modal dialog window is created.
- *
- *----------------------------------------------------------------------
- */
-
-int
-Tk_ChooseDirectoryObjCmd(
- ClientData clientData, /* Main window associated with interpreter. */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- Tk_Window tkwin = clientData;
- char *str;
- int i, result = TCL_ERROR, haveParentOption = 0;
- int index, len, mustexist = 0;
- Tcl_Obj *cmdObj = NULL;
- FilePanelCallbackInfo callbackInfoStruct;
- FilePanelCallbackInfo *callbackInfo = &callbackInfoStruct;
- NSString *directory = nil;
- NSString *message, *title;
- NSWindow *parent;
- NSOpenPanel *panel = [NSOpenPanel openPanel];
- NSInteger modalReturnCode = modalError;
- BOOL parentIsKey = NO;
-
- for (i = 1; i < objc; i += 2) {
- if (Tcl_GetIndexFromObjStruct(interp, objv[i], chooseOptionStrings,
- sizeof(char *), "option", TCL_EXACT, &index) != TCL_OK) {
- goto end;
- }
- if (i + 1 == objc) {
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "value for \"%s\" missing", Tcl_GetString(objv[i])));
- Tcl_SetErrorCode(interp, "TK", "DIRDIALOG", "VALUE", NULL);
- goto end;
- }
- switch (index) {
- case CHOOSE_INITDIR:
- str = Tcl_GetStringFromObj(objv[i + 1], &len);
- if (len) {
- directory = [[[NSString alloc] initWithUTF8String:str]
- autorelease];
- }
- break;
- case CHOOSE_MESSAGE:
- message = [[NSString alloc] initWithUTF8String:
- Tcl_GetString(objv[i + 1])];
- [panel setMessage:message];
- [message release];
- break;
- case CHOOSE_MUSTEXIST:
- if (Tcl_GetBooleanFromObj(interp, objv[i + 1],
- &mustexist) != TCL_OK) {
- goto end;
- }
- break;
- case CHOOSE_PARENT:
- str = Tcl_GetStringFromObj(objv[i + 1], &len);
- tkwin = Tk_NameToWindow(interp, str, tkwin);
- if (!tkwin) {
- goto end;
- }
- haveParentOption = 1;
- break;
- case CHOOSE_TITLE:
- title = [[NSString alloc] initWithUTF8String:
- Tcl_GetString(objv[i + 1])];
- [panel setTitle:title];
- [title release];
- break;
- case CHOOSE_COMMAND:
- cmdObj = objv[i+1];
- break;
- }
- }
- [panel setPrompt:@"Choose"];
- [panel setCanChooseFiles:NO];
- [panel setCanChooseDirectories:YES];
- [panel setCanCreateDirectories:!mustexist];
- if (cmdObj) {
- callbackInfo = ckalloc(sizeof(FilePanelCallbackInfo));
- if (Tcl_IsShared(cmdObj)) {
- cmdObj = Tcl_DuplicateObj(cmdObj);
- }
- Tcl_IncrRefCount(cmdObj);
- }
- callbackInfo->cmdObj = cmdObj;
- callbackInfo->interp = interp;
- callbackInfo->multiple = 0;
- /*check for directory value, set to root if not specified; otherwise crashes with exception because of nil string parameter*/
- if (!directory) {
- directory = @"/";
- }
- parent = TkMacOSXDrawableWindow(((TkWindow *) tkwin)->window);
- if (haveParentOption && parent && ![parent attachedSheet]) {
- parentIsKey = [parent isKeyWindow];
- [panel setDirectoryURL:[NSURL fileURLWithPath:directory isDirectory:YES]];
- [panel beginSheetModalForWindow:parent
- completionHandler:^(NSInteger returnCode)
- { [NSApp tkFilePanelDidEnd:panel
- returnCode:returnCode
- contextInfo:callbackInfo ]; } ];
- modalReturnCode = cmdObj ? modalOther : [NSApp runModalForWindow:panel];
- } else {
- [panel setDirectoryURL:[NSURL fileURLWithPath:directory isDirectory:YES]];
- modalReturnCode = [panel runModal];
- [NSApp tkFilePanelDidEnd:panel returnCode:modalReturnCode
- contextInfo:callbackInfo];
- }
- result = (modalReturnCode != modalError) ? TCL_OK : TCL_ERROR;
- if (parentIsKey) {
- [parent makeKeyWindow];
- }
- end:
- return result;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkAboutDlg --
- *
- * Displays the default Tk About box.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkAboutDlg(void)
-{
- NSImage *image;
- NSString *path = [NSApp tkFrameworkImagePath: @"Tk.tiff"];
-
- if (path) {
- image = [[[NSImage alloc] initWithContentsOfFile:path] autorelease];
- } else {
- image = [NSApp applicationIconImage];
- }
-
- NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
-
- [dateFormatter setFormatterBehavior:NSDateFormatterBehavior10_4];
- [dateFormatter setDateFormat:@"Y"];
-
- NSString *year = [dateFormatter stringFromDate:[NSDate date]];
-
- [dateFormatter release];
-
- /*
- * This replaces the old about dialog with a standard alert that displays
- * correctly on 10.14.
- */
-
- NSString *version = @"Tcl " TCL_PATCH_LEVEL " & Tk " TCL_PATCH_LEVEL;
- NSString *url = @"www.tcl-lang.org";
- NSTextView *credits = [[NSTextView alloc] initWithFrame:NSMakeRect(0,0,300,300)];
- NSFont *font = [NSFont systemFontOfSize:[NSFont systemFontSize]];
- NSDictionary *textAttributes = [NSDictionary dictionaryWithObject:font
- forKey:NSFontAttributeName];
- [credits insertText: [[NSAttributedString alloc]
- initWithString:[NSString stringWithFormat: @"\n"
- "Tcl and Tk are distributed under a modified BSD license: "
- "www.tcl.tk/software/tcltk/license.html\n\n"
- "%1$C 1987-%2$@ Tcl Core Team and Contributers.\n\n"
- "%1$C 2011-%2$@ Kevin Walzer/WordTech Communications LLC.\n\n"
- "%1$C 2014-%2$@ Marc Culler.\n\n"
- "%1$C 2002-2012 Daniel A. Steffen.\n\n"
- "%1$C 2001-2009 Apple Inc.\n\n"
- "%1$C 2001-2002 Jim Ingham & Ian Reid\n\n"
- "%1$C 1998-2000 Jim Ingham & Ray Johnson\n\n"
- "%1$C 1998-2000 Scriptics Inc.\n\n"
- "%1$C 1996-1997 Sun Microsystems Inc.", 0xA9, year]
- attributes:textAttributes]
- replacementRange:NSMakeRange(0,0)];
- [credits setDrawsBackground:NO];
- [credits setEditable:NO];
- NSAlert *about = [[NSAlert alloc] init];
- [[about window] setTitle:@"About Tcl & Tk"];
- [about setMessageText: version];
- [about setInformativeText:url];
- about.accessoryView = credits;
- [about runModal];
- [about release];
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXStandardAboutPanelObjCmd --
- *
- * Implements the ::tk::mac::standardAboutPanel command.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * none
- *
- *----------------------------------------------------------------------
- */
-
-int
-TkMacOSXStandardAboutPanelObjCmd(
- ClientData clientData, /* Unused. */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- if (objc > 1) {
- Tcl_WrongNumArgs(interp, 1, objv, NULL);
- return TCL_ERROR;
- }
- TkAboutDlg();
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * Tk_MessageBoxObjCmd --
- *
- * Implements the tk_messageBox in native Mac OS X style.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * none
- *
- *----------------------------------------------------------------------
- */
-
-int
-Tk_MessageBoxObjCmd(
- ClientData clientData, /* Main window associated with interpreter. */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- Tk_Window tkwin = clientData;
- char *str;
- int i, result = TCL_ERROR, haveParentOption = 0;
- int index, typeIndex, iconIndex, indexDefaultOption = 0;
- int defaultNativeButtonIndex = 1; /* 1, 2, 3: right to left */
- Tcl_Obj *cmdObj = NULL;
- AlertCallbackInfo callbackInfoStruct, *callbackInfo = &callbackInfoStruct;
- NSString *message, *title;
- NSWindow *parent;
- NSArray *buttons;
- NSAlert *alert = [NSAlert new];
- NSInteger modalReturnCode = 1;
- BOOL parentIsKey = NO;
-
- iconIndex = ICON_INFO;
- typeIndex = TYPE_OK;
- for (i = 1; i < objc; i += 2) {
- if (Tcl_GetIndexFromObjStruct(interp, objv[i], alertOptionStrings,
- sizeof(char *), "option", TCL_EXACT, &index) != TCL_OK) {
- goto end;
- }
- if (i + 1 == objc) {
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "value for \"%s\" missing", Tcl_GetString(objv[i])));
- Tcl_SetErrorCode(interp, "TK", "MSGBOX", "VALUE", NULL);
- goto end;
- }
- switch (index) {
- case ALERT_DEFAULT:
- /*
- * Need to postpone processing of this option until we are sure to
- * know the '-type' as well.
- */
-
- indexDefaultOption = i;
- break;
-
- case ALERT_DETAIL:
- message = [[NSString alloc] initWithUTF8String:
- Tcl_GetString(objv[i + 1])];
- [alert setInformativeText:message];
- [message release];
- break;
-
- case ALERT_ICON:
- if (Tcl_GetIndexFromObjStruct(interp, objv[i + 1], alertIconStrings,
- sizeof(char *), "-icon value", TCL_EXACT, &iconIndex) != TCL_OK) {
- goto end;
- }
- break;
-
- case ALERT_MESSAGE:
- message = [[NSString alloc] initWithUTF8String:
- Tcl_GetString(objv[i + 1])];
- [alert setMessageText:message];
- [message release];
- break;
-
- case ALERT_PARENT:
- str = Tcl_GetString(objv[i + 1]);
- tkwin = Tk_NameToWindow(interp, str, tkwin);
- if (!tkwin) {
- goto end;
- }
- haveParentOption = 1;
- break;
-
- case ALERT_TITLE:
- title = [[NSString alloc] initWithUTF8String:
- Tcl_GetString(objv[i + 1])];
- [[alert window] setTitle:title];
- [title release];
- break;
-
- case ALERT_TYPE:
- if (Tcl_GetIndexFromObjStruct(interp, objv[i + 1], alertTypeStrings,
- sizeof(char *), "-type value", TCL_EXACT, &typeIndex) != TCL_OK) {
- goto end;
- }
- break;
- case ALERT_COMMAND:
- cmdObj = objv[i+1];
- break;
- }
- }
- if (indexDefaultOption) {
- /*
- * Any '-default' option needs to know the '-type' option, which is
- * why we do this here.
- */
-
- if (Tcl_GetIndexFromObjStruct(interp, objv[indexDefaultOption + 1],
- alertButtonStrings, sizeof(char *), "-default value", TCL_EXACT, &index) != TCL_OK) {
- goto end;
- }
-
- /*
- * Need to map from "ok" etc. to 1, 2, 3, right to left.
- */
-
- defaultNativeButtonIndex =
- alertButtonIndexAndTypeToNativeButtonIndex[typeIndex][index];
- if (!defaultNativeButtonIndex) {
- Tcl_SetObjResult(interp,
- Tcl_NewStringObj("Illegal default option", -1));
- Tcl_SetErrorCode(interp, "TK", "MSGBOX", "DEFAULT", NULL);
- goto end;
- }
- }
- [alert setIcon:[NSApp applicationIconImage]];
- [alert setAlertStyle:alertStyles[iconIndex]];
- i = 0;
- while (i < 3 && alertButtonNames[typeIndex][i]) {
- [alert addButtonWithTitle:(NSString*)alertButtonNames[typeIndex][i++]];
- }
- buttons = [alert buttons];
- for (NSButton *b in buttons) {
- NSString *ke = [b keyEquivalent];
-
- if (([ke isEqualToString:@"\r"] || [ke isEqualToString:@"\033"]) &&
- ![b keyEquivalentModifierMask]) {
- [b setKeyEquivalent:@""];
- }
- }
- [[buttons objectAtIndex: [buttons count]-1] setKeyEquivalent: @"\033"];
- [[buttons objectAtIndex: defaultNativeButtonIndex-1]
- setKeyEquivalent: @"\r"];
- if (cmdObj) {
- callbackInfo = ckalloc(sizeof(AlertCallbackInfo));
- if (Tcl_IsShared(cmdObj)) {
- cmdObj = Tcl_DuplicateObj(cmdObj);
- }
- Tcl_IncrRefCount(cmdObj);
- }
- callbackInfo->cmdObj = cmdObj;
- callbackInfo->interp = interp;
- callbackInfo->typeIndex = typeIndex;
- parent = TkMacOSXDrawableWindow(((TkWindow *) tkwin)->window);
- if (haveParentOption && parent && ![parent attachedSheet]) {
- parentIsKey = [parent isKeyWindow];
-#if MAC_OS_X_VERSION_MIN_REQUIRED > 1090
- [alert beginSheetModalForWindow:parent
- completionHandler:^(NSModalResponse returnCode)
- { [NSApp tkAlertDidEnd:alert
- returnCode:returnCode
- contextInfo:callbackInfo ]; } ];
-#else
- [alert beginSheetModalForWindow:parent
- modalDelegate:NSApp
- didEndSelector:@selector(tkAlertDidEnd:returnCode:contextInfo:)
- contextInfo:callbackInfo];
-#endif
- modalReturnCode = cmdObj ? 0 :
- [NSApp runModalForWindow:[alert window]];
- } else {
- modalReturnCode = [alert runModal];
- [NSApp tkAlertDidEnd:alert returnCode:modalReturnCode
- contextInfo:callbackInfo];
- }
- result = (modalReturnCode >= NSAlertFirstButtonReturn) ? TCL_OK : TCL_ERROR;
- end:
- [alert release];
- if (parentIsKey) {
- [parent makeKeyWindow];
- }
- return result;
-}
-
-/*
- *----------------------------------------------------------------------
- */
-#pragma mark [tk fontchooser] implementation (TIP 324)
-/*
- *----------------------------------------------------------------------
- */
-
-#include "tkMacOSXEvent.h"
-#include "tkMacOSXFont.h"
-
-typedef struct FontchooserData {
- Tcl_Obj *titleObj;
- Tcl_Obj *cmdObj;
- Tk_Window parent;
-} FontchooserData;
-
-enum FontchooserEvent { FontchooserClosed, FontchooserSelection };
-
-static void FontchooserEvent(int kind);
-static Tcl_Obj * FontchooserCget(FontchooserData *fcdPtr,
- int optionIndex);
-static int FontchooserConfigureCmd(ClientData clientData,
- Tcl_Interp *interp, int objc,
- Tcl_Obj *const objv[]);
-static int FontchooserShowCmd(ClientData clientData,
- Tcl_Interp *interp, int objc,
- Tcl_Obj *const objv[]);
-static int FontchooserHideCmd(ClientData clientData,
- Tcl_Interp *interp, int objc,
- Tcl_Obj *const objv[]);
-static void FontchooserParentEventHandler(ClientData clientData,
- XEvent *eventPtr);
-static void DeleteFontchooserData(ClientData clientData,
- Tcl_Interp *interp);
-
-MODULE_SCOPE const TkEnsemble tkFontchooserEnsemble[];
-const TkEnsemble tkFontchooserEnsemble[] = {
- { "configure", FontchooserConfigureCmd, NULL },
- { "show", FontchooserShowCmd, NULL },
- { "hide", FontchooserHideCmd, NULL },
- { NULL, NULL, NULL }
-};
-
-static Tcl_Interp *fontchooserInterp = NULL;
-static NSFont *fontPanelFont = nil;
-static NSMutableDictionary *fontPanelFontAttributes = nil;
-
-static const char *const fontchooserOptionStrings[] = {
- "-parent", "-title", "-font", "-command",
- "-visible", NULL
-};
-enum FontchooserOption {
- FontchooserParent, FontchooserTitle, FontchooserFont, FontchooserCmd,
- FontchooserVisible
-};
-
-@implementation TKApplication(TKFontPanel)
-
-- (void) changeFont: (id) sender
-{
- NSFontManager *fm = [NSFontManager sharedFontManager];
-
- if ([fm currentFontAction] == NSViaPanelFontAction) {
- NSFont *font = [fm convertFont:fontPanelFont];
-
- if (![fontPanelFont isEqual:font]) {
- [fontPanelFont release];
- fontPanelFont = [font retain];
- FontchooserEvent(FontchooserSelection);
- }
- }
-}
-
-- (void) changeAttributes: (id) sender
-{
- NSDictionary *attributes = [sender convertAttributes:
- fontPanelFontAttributes];
-
- if (![fontPanelFontAttributes isEqual:attributes]) {
- [fontPanelFontAttributes setDictionary:attributes];
- FontchooserEvent(FontchooserSelection);
- }
-}
-
-- (NSUInteger) validModesForFontPanel: (NSFontPanel *) fontPanel
-{
- return (NSFontPanelStandardModesMask & ~NSFontPanelAllEffectsModeMask) |
- NSFontPanelUnderlineEffectModeMask |
- NSFontPanelStrikethroughEffectModeMask;
-}
-
-- (void) windowDidOrderOffScreen: (NSNotification *) notification
-{
-#ifdef TK_MAC_DEBUG_NOTIFICATIONS
- TKLog(@"-[%@(%p) %s] %@", [self class], self, _cmd, notification);
-#endif
- if ([[notification object] isEqual:[[NSFontManager sharedFontManager]
- fontPanel:NO]]) {
- FontchooserEvent(FontchooserClosed);
- }
-}
-@end
-
-/*
- *----------------------------------------------------------------------
- *
- * FontchooserEvent --
- *
- * This processes events generated by user interaction with the
- * font panel.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Additional events may be place on the Tk event queue.
- *
- *----------------------------------------------------------------------
- */
-
-static void
-FontchooserEvent(
- int kind)
-{
- FontchooserData *fcdPtr;
- Tcl_Obj *fontObj;
-
- if (!fontchooserInterp) {
- return;
- }
- fcdPtr = Tcl_GetAssocData(fontchooserInterp, "::tk::fontchooser", NULL);
- switch (kind) {
- case FontchooserClosed:
- if (fcdPtr->parent != None) {
- TkSendVirtualEvent(fcdPtr->parent, "TkFontchooserVisibility", NULL);
- fontchooserInterp = NULL;
- }
- break;
- case FontchooserSelection:
- fontObj = TkMacOSXFontDescriptionForNSFontAndNSFontAttributes(
- fontPanelFont, fontPanelFontAttributes);
- if (fontObj) {
- if (fcdPtr->cmdObj) {
- int objc, result;
- Tcl_Obj **objv, **tmpv;
-
- result = Tcl_ListObjGetElements(fontchooserInterp,
- fcdPtr->cmdObj, &objc, &objv);
- if (result == TCL_OK) {
- tmpv = ckalloc(sizeof(Tcl_Obj *) * (objc + 2));
- memcpy(tmpv, objv, sizeof(Tcl_Obj *) * objc);
- tmpv[objc] = fontObj;
- TkBackgroundEvalObjv(fontchooserInterp, objc + 1, tmpv,
- TCL_EVAL_GLOBAL);
- ckfree(tmpv);
- }
- }
- TkSendVirtualEvent(fcdPtr->parent, "TkFontchooserFontChanged", NULL);
- }
- break;
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * FontchooserCget --
- *
- * Helper for the FontchooserConfigure command to return the
- * current value of any of the options (which may be NULL in
- * the structure)
- *
- * Results:
- * Tcl object of option value.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-static Tcl_Obj *
-FontchooserCget(
- FontchooserData *fcdPtr,
- int optionIndex)
-{
- Tcl_Obj *resObj = NULL;
-
- switch(optionIndex) {
- case FontchooserParent:
- if (fcdPtr->parent != None) {
- resObj = Tcl_NewStringObj(
- ((TkWindow *) fcdPtr->parent)->pathName, -1);
- } else {
- resObj = Tcl_NewStringObj(".", 1);
- }
- break;
- case FontchooserTitle:
- if (fcdPtr->titleObj) {
- resObj = fcdPtr->titleObj;
- } else {
- resObj = Tcl_NewObj();
- }
- break;
- case FontchooserFont:
- resObj = TkMacOSXFontDescriptionForNSFontAndNSFontAttributes(
- fontPanelFont, fontPanelFontAttributes);
- if (!resObj) {
- resObj = Tcl_NewObj();
- }
- break;
- case FontchooserCmd:
- if (fcdPtr->cmdObj) {
- resObj = fcdPtr->cmdObj;
- } else {
- resObj = Tcl_NewObj();
- }
- break;
- case FontchooserVisible:
- resObj = Tcl_NewBooleanObj([[[NSFontManager sharedFontManager]
- fontPanel:NO] isVisible]);
- break;
- default:
- resObj = Tcl_NewObj();
- }
- return resObj;
-}
-
-/*
- * ----------------------------------------------------------------------
- *
- * FontchooserConfigureCmd --
- *
- * Implementation of the 'tk fontchooser configure' ensemble command.
- * See the user documentation for what it does.
- *
- * Results:
- * See the user documentation.
- *
- * Side effects:
- * Per-interp data structure may be modified
- *
- * ----------------------------------------------------------------------
- */
-
-static int
-FontchooserConfigureCmd(
- ClientData clientData, /* Main window */
- Tcl_Interp *interp,
- int objc,
- Tcl_Obj *const objv[])
-{
- Tk_Window tkwin = (Tk_Window)clientData;
- FontchooserData *fcdPtr = Tcl_GetAssocData(interp, "::tk::fontchooser",
- NULL);
- int i, r = TCL_OK;
-
- /*
- * With no arguments we return all the options in a dict
- */
-
- if (objc == 1) {
- Tcl_Obj *keyObj, *valueObj;
- Tcl_Obj *dictObj = Tcl_NewDictObj();
-
- for (i = 0; r == TCL_OK && fontchooserOptionStrings[i] != NULL; ++i) {
- keyObj = Tcl_NewStringObj(fontchooserOptionStrings[i], -1);
- valueObj = FontchooserCget(fcdPtr, i);
- r = Tcl_DictObjPut(interp, dictObj, keyObj, valueObj);
- }
- if (r == TCL_OK) {
- Tcl_SetObjResult(interp, dictObj);
- }
- return r;
- }
-
- for (i = 1; i < objc; i += 2) {
- int optionIndex, len;
-
- if (Tcl_GetIndexFromObjStruct(interp, objv[i], fontchooserOptionStrings,
- sizeof(char *), "option", 0, &optionIndex) != TCL_OK) {
- return TCL_ERROR;
- }
- if (objc == 2) {
- /*
- * With one option and no arg, return the current value.
- */
-
- Tcl_SetObjResult(interp, FontchooserCget(fcdPtr, optionIndex));
- return TCL_OK;
- }
- if (i + 1 == objc) {
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "value for \"%s\" missing", Tcl_GetString(objv[i])));
- Tcl_SetErrorCode(interp, "TK", "FONTDIALOG", "VALUE", NULL);
- return TCL_ERROR;
- }
- switch (optionIndex) {
- case FontchooserVisible: {
- const char *msg = "cannot change read-only option "
- "\"-visible\": use the show or hide command";
-
- Tcl_SetObjResult(interp, Tcl_NewStringObj(msg, -1));
- Tcl_SetErrorCode(interp, "TK", "FONTDIALOG", "READONLY", NULL);
- return TCL_ERROR;
- }
- case FontchooserParent: {
- Tk_Window parent = Tk_NameToWindow(interp,
- Tcl_GetString(objv[i+1]), tkwin);
-
- if (parent == None) {
- return TCL_ERROR;
- }
- if (fcdPtr->parent) {
- Tk_DeleteEventHandler(fcdPtr->parent, StructureNotifyMask,
- FontchooserParentEventHandler, fcdPtr);
- }
- fcdPtr->parent = parent;
- Tk_CreateEventHandler(fcdPtr->parent, StructureNotifyMask,
- FontchooserParentEventHandler, fcdPtr);
- break;
- }
- case FontchooserTitle:
- if (fcdPtr->titleObj) {
- Tcl_DecrRefCount(fcdPtr->titleObj);
- }
- Tcl_GetStringFromObj(objv[i+1], &len);
- if (len) {
- fcdPtr->titleObj = objv[i+1];
- if (Tcl_IsShared(fcdPtr->titleObj)) {
- fcdPtr->titleObj = Tcl_DuplicateObj(fcdPtr->titleObj);
- }
- Tcl_IncrRefCount(fcdPtr->titleObj);
- } else {
- fcdPtr->titleObj = NULL;
- }
- break;
- case FontchooserFont:
- Tcl_GetStringFromObj(objv[i+1], &len);
- if (len) {
- Tk_Font f = Tk_AllocFontFromObj(interp, tkwin, objv[i+1]);
-
- if (!f) {
- return TCL_ERROR;
- }
- [fontPanelFont autorelease];
- fontPanelFont = [TkMacOSXNSFontForFont(f) retain];
- [fontPanelFontAttributes setDictionary:
- TkMacOSXNSFontAttributesForFont(f)];
- [fontPanelFontAttributes removeObjectsForKeys:[NSArray
- arrayWithObjects:NSFontAttributeName,
- NSLigatureAttributeName, NSKernAttributeName, nil]];
- Tk_FreeFont(f);
- } else {
- [fontPanelFont release];
- fontPanelFont = nil;
- [fontPanelFontAttributes removeAllObjects];
- }
-
- NSFontManager *fm = [NSFontManager sharedFontManager];
- NSFontPanel *fp = [fm fontPanel:NO];
-
- [fp setPanelFont:fontPanelFont isMultiple:NO];
- [fm setSelectedFont:fontPanelFont isMultiple:NO];
- [fm setSelectedAttributes:fontPanelFontAttributes
- isMultiple:NO];
- if ([fp isVisible]) {
- TkSendVirtualEvent(fcdPtr->parent, "TkFontchooserFontChanged", NULL);
- }
- break;
- case FontchooserCmd:
- if (fcdPtr->cmdObj) {
- Tcl_DecrRefCount(fcdPtr->cmdObj);
- }
- Tcl_GetStringFromObj(objv[i+1], &len);
- if (len) {
- fcdPtr->cmdObj = objv[i+1];
- if (Tcl_IsShared(fcdPtr->cmdObj)) {
- fcdPtr->cmdObj = Tcl_DuplicateObj(fcdPtr->cmdObj);
- }
- Tcl_IncrRefCount(fcdPtr->cmdObj);
- } else {
- fcdPtr->cmdObj = NULL;
- }
- break;
- }
- }
- return TCL_OK;
-}
-
-/*
- * ----------------------------------------------------------------------
- *
- * FontchooserShowCmd --
- *
- * Implements the 'tk fontchooser show' ensemble command. The
- * per-interp configuration data for the dialog is held in an interp
- * associated structure.
- *
- * Results:
- * See the user documentation.
- *
- * Side effects:
- * Font Panel may be shown.
- *
- * ----------------------------------------------------------------------
- */
-
-static int
-FontchooserShowCmd(
- ClientData clientData, /* Main window */
- Tcl_Interp *interp,
- int objc,
- Tcl_Obj *const objv[])
-{
- FontchooserData *fcdPtr = Tcl_GetAssocData(interp, "::tk::fontchooser",
- NULL);
-
- if (fcdPtr->parent == None) {
- fcdPtr->parent = (Tk_Window) clientData;
- Tk_CreateEventHandler(fcdPtr->parent, StructureNotifyMask,
- FontchooserParentEventHandler, fcdPtr);
- }
- NSFontManager *fm = [NSFontManager sharedFontManager];
- NSFontPanel *fp = [fm fontPanel:YES];
- if ([fp delegate] != NSApp) {
- [fp setDelegate:NSApp];
- }
- if (![fp isVisible]) {
- [fm orderFrontFontPanel:NSApp];
- TkSendVirtualEvent(fcdPtr->parent, "TkFontchooserVisibility", NULL);
- }
- fontchooserInterp = interp;
-
- return TCL_OK;
-}
-
-/*
- * ----------------------------------------------------------------------
- *
- * FontchooserHideCmd --
- *
- * Implementation of the 'tk fontchooser hide' ensemble. See the
- * user documentation for details.
- *
- * Results:
- * See the user documentation.
- *
- * Side effects:
- * Font Panel may be hidden.
- *
- * ----------------------------------------------------------------------
- */
-
-static int
-FontchooserHideCmd(
- ClientData clientData, /* Main window */
- Tcl_Interp *interp,
- int objc,
- Tcl_Obj *const objv[])
-{
- NSFontPanel *fp = [[NSFontManager sharedFontManager] fontPanel:NO];
- if ([fp isVisible]) {
- [fp orderOut:NSApp];
- }
- return TCL_OK;
-}
-
-/*
- * ----------------------------------------------------------------------
- *
- * FontchooserParentEventHandler --
- *
- * Event handler for StructureNotify events on the font chooser's parent
- * window.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Font chooser parent info is cleared and font panel is hidden.
- *
- * ----------------------------------------------------------------------
- */
-
-static void
-FontchooserParentEventHandler(
- ClientData clientData,
- XEvent *eventPtr)
-{
- FontchooserData *fcdPtr = clientData;
-
- if (eventPtr->type == DestroyNotify) {
- Tk_DeleteEventHandler(fcdPtr->parent, StructureNotifyMask,
- FontchooserParentEventHandler, fcdPtr);
- fcdPtr->parent = None;
- FontchooserHideCmd(NULL, NULL, 0, NULL);
- }
-}
-
-/*
- * ----------------------------------------------------------------------
- *
- * DeleteFontchooserData --
- *
- * Clean up the font chooser configuration data when the interp is
- * destroyed.
- *
- * Results:
- * None.
- *
- * Side effects:
- * per-interp configuration data is destroyed.
- *
- * ----------------------------------------------------------------------
- */
-
-static void
-DeleteFontchooserData(
- ClientData clientData,
- Tcl_Interp *interp)
-{
- FontchooserData *fcdPtr = clientData;
-
- if (fcdPtr->titleObj) {
- Tcl_DecrRefCount(fcdPtr->titleObj);
- }
- if (fcdPtr->cmdObj) {
- Tcl_DecrRefCount(fcdPtr->cmdObj);
- }
- ckfree(fcdPtr);
-
- if (fontchooserInterp == interp) {
- fontchooserInterp = NULL;
- }
-}
-
-/*
- * ----------------------------------------------------------------------
- *
- * TkInitFontchooser --
- *
- * Associate the font chooser configuration data with the Tcl
- * interpreter. There is one font chooser per interp.
- *
- * Results:
- * None.
- *
- * Side effects:
- * per-interp configuration data is destroyed.
- *
- * ----------------------------------------------------------------------
- */
-
-MODULE_SCOPE int
-TkInitFontchooser(
- Tcl_Interp *interp,
- ClientData clientData)
-{
- FontchooserData *fcdPtr = ckalloc(sizeof(FontchooserData));
-
- bzero(fcdPtr, sizeof(FontchooserData));
- Tcl_SetAssocData(interp, "::tk::fontchooser", DeleteFontchooserData,
- fcdPtr);
- if (!fontPanelFontAttributes) {
- fontPanelFontAttributes = [NSMutableDictionary new];
- }
- return TCL_OK;
-}
-
-/*
- * Local Variables:
- * mode: objc
- * c-basic-offset: 4
- * fill-column: 79
- * coding: utf-8
- * End:
- */
diff --git a/tk8.6/macosx/tkMacOSXDraw.c b/tk8.6/macosx/tkMacOSXDraw.c
deleted file mode 100644
index 984e2e5..0000000
--- a/tk8.6/macosx/tkMacOSXDraw.c
+++ /dev/null
@@ -1,1983 +0,0 @@
-/*
- * tkMacOSXDraw.c --
- *
- * This file contains functions that perform drawing to
- * Xlib windows. Most of the functions simple emulate
- * Xlib functions.
- *
- * Copyright (c) 1995-1997 Sun Microsystems, Inc.
- * Copyright 2001-2009, Apple Inc.
- * Copyright (c) 2006-2009 Daniel A. Steffen <das@users.sourceforge.net>
- * Copyright 2014 Marc Culler.
- *
- * See the file "license.terms" for information on usage and redistribution
- * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
- */
-
-#include "tkMacOSXPrivate.h"
-#include "tkMacOSXDebug.h"
-#include "tkButton.h"
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= 101400
-#define GET_CGCONTEXT [[NSGraphicsContext currentContext] CGContext]
-#else
-#define GET_CGCONTEXT [[NSGraphicsContext currentContext] graphicsPort]
-#endif
-
-/*
-#ifdef TK_MAC_DEBUG
-#define TK_MAC_DEBUG_DRAWING
-#define TK_MAC_DEBUG_IMAGE_DRAWING
-#endif
-*/
-
-#define radians(d) ((d) * (M_PI/180.0))
-
-/*
- * Non-antialiased CG drawing looks better and more like X11 drawing when using
- * very fine lines, so decrease all linewidths by the following constant.
- */
-#define NON_AA_CG_OFFSET .999
-
-static int cgAntiAliasLimit = 0;
-#define notAA(w) ((w) < cgAntiAliasLimit)
-
-static int useThemedToplevel = 0;
-static int useThemedFrame = 0;
-
-/*
- * Prototypes for functions used only in this file.
- */
-
-static void ClipToGC(Drawable d, GC gc, HIShapeRef *clipRgnPtr);
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXInitCGDrawing --
- *
- * Initializes link vars that control CG drawing.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-MODULE_SCOPE int
-TkMacOSXInitCGDrawing(
- Tcl_Interp *interp,
- int enable,
- int limit)
-{
- static Boolean initialized = FALSE;
-
- if (!initialized) {
- initialized = TRUE;
-
- if (Tcl_CreateNamespace(interp, "::tk::mac", NULL, NULL) == NULL) {
- Tcl_ResetResult(interp);
- }
-
- if (Tcl_LinkVar(interp, "::tk::mac::CGAntialiasLimit",
- (char *) &cgAntiAliasLimit, TCL_LINK_INT) != TCL_OK) {
- Tcl_ResetResult(interp);
- }
- cgAntiAliasLimit = limit;
-
- /*
- * Piggy-back the themed drawing var init here.
- */
-
- if (Tcl_LinkVar(interp, "::tk::mac::useThemedToplevel",
- (char *) &useThemedToplevel, TCL_LINK_BOOLEAN) != TCL_OK) {
- Tcl_ResetResult(interp);
- }
- if (Tcl_LinkVar(interp, "::tk::mac::useThemedFrame",
- (char *) &useThemedFrame, TCL_LINK_BOOLEAN) != TCL_OK) {
- Tcl_ResetResult(interp);
- }
- }
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXBitmapRepFromDrawableRect
- *
- * Extract bitmap data from a MacOSX drawable as an NSBitmapImageRep.
- *
- * This is only used by XGetImage, which is never called. And this
- * implementation does not work correctly. Originally it relied on
- * [NSBitmapImageRep initWithFocusedViewRect:view_rect] which was
- * deprecated by Apple in OSX 10.14 and also required the use of other
- * deprecated functions such as [NSView lockFocus]. Apple's suggested
- * replacement is [NSView cacheDisplayInRect: toBitmapImageRep:] and that
- * is what is being used here. However, that method only works when the
- * view has a valid CGContext, and a view is only guaranteed to have a
- * valid context during a call to [NSView drawRect]. To further
- * complicate matters, cacheDisplayInRect calls [NSView drawRect].
- * Essentially it is asking the view to draw a subrectangle of itself into
- * a special graphics context which is linked to the BitmapImageRep. But
- * our implementation of [NSView drawRect] does not allow recursive calls.
- * If called recursively it returns immediately without doing any drawing.
- * So the bottom line is that this function either returns a NULL pointer
- * or a black image. To make it useful would require a significant amount
- * of rewriting of the drawRect method. Perhaps the next release of OSX
- * will include some more helpful ways of doing this.
- *
- * Results:
- * Returns an NSBitmapRep representing the image of the given
- * rectangle of the given drawable. This object is retained.
- * The caller is responsible for releasing it.
- *
- * NOTE: The x,y coordinates should be relative to a coordinate system with
- * origin at the top left, as used by XImage and CGImage, not bottom
- * left as used by NSView.
- *
- * Side effects:
- * None
- *
- *----------------------------------------------------------------------
- */
-NSBitmapImageRep*
-TkMacOSXBitmapRepFromDrawableRect(
- Drawable drawable,
- int x,
- int y,
- unsigned int width,
- unsigned int height)
-{
- MacDrawable *mac_drawable = (MacDrawable *) drawable;
- CGContextRef cg_context = NULL;
- CGImageRef cg_image=NULL, sub_cg_image = NULL;
- NSBitmapImageRep *bitmap_rep = NULL;
- NSView *view=NULL;
- if ( mac_drawable->flags & TK_IS_PIXMAP ) {
-
- /*
- * This MacDrawable is a bitmap, so its view is NULL.
- */
-
- cg_context = TkMacOSXGetCGContextForDrawable(drawable);
- CGRect image_rect = CGRectMake(x, y, width, height);
- cg_image = CGBitmapContextCreateImage( (CGContextRef) cg_context);
- sub_cg_image = CGImageCreateWithImageInRect(cg_image, image_rect);
- if ( sub_cg_image ) {
- bitmap_rep = [NSBitmapImageRep alloc];
- [bitmap_rep initWithCGImage:sub_cg_image];
- }
- if ( cg_image ) {
- CGImageRelease(cg_image);
- }
- } else if ( (view = TkMacOSXDrawableView(mac_drawable)) ) {
-
- /*
- * Convert Tk top-left to NSView bottom-left coordinates.
- */
-
- int view_height = [view bounds].size.height;
- NSRect view_rect = NSMakeRect(x + mac_drawable->xOff,
- view_height - height - y - mac_drawable->yOff,
- width, height);
-
- /*
- * Attempt to copy from the view to a bitmapImageRep. If the view does
- * not have a valid CGContext, doing this will silently corrupt memory
- * and make a big mess. So, in that case, we mark the view as needing
- * display and return NULL.
- */
-
- if (view == [NSView focusView]) {
- bitmap_rep = [view bitmapImageRepForCachingDisplayInRect: view_rect];
- [bitmap_rep retain];
- [view cacheDisplayInRect:view_rect toBitmapImageRep:bitmap_rep];
- } else {
- TkMacOSXDbgMsg("No CGContext - cannot copy from screen to bitmap.");
- [view setNeedsDisplay:YES];
- return NULL;
- }
- } else {
- TkMacOSXDbgMsg("Invalid source drawable");
- }
- return bitmap_rep;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * XCopyArea --
- *
- * Copies data from one drawable to another.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Data is moved from a window or bitmap to a second window or
- * bitmap.
- *
- *----------------------------------------------------------------------
- */
-
-void
-XCopyArea(
- Display *display, /* Display. */
- Drawable src, /* Source drawable. */
- Drawable dst, /* Destination drawable. */
- GC gc, /* GC to use. */
- int src_x, /* X & Y, width & height */
- int src_y, /* define the source rectangle */
- unsigned int width, /* that will be copied. */
- unsigned int height,
- int dest_x, /* Dest X & Y on dest rect. */
- int dest_y)
-{
- TkMacOSXDrawingContext dc;
- MacDrawable *srcDraw = (MacDrawable *) src;
- NSBitmapImageRep *bitmap_rep = NULL;
- CGImageRef img = NULL;
- CGRect bounds, srcRect, dstRect;
-
- display->request++;
- if (!width || !height) {
- return;
- }
-
- if (!TkMacOSXSetupDrawingContext(dst, gc, 1, &dc)) {
- return;
- TkMacOSXDbgMsg("Failed to setup drawing context.");
- }
-
- if ( dc.context ) {
- if (srcDraw->flags & TK_IS_PIXMAP) {
- img = TkMacOSXCreateCGImageWithDrawable(src);
- }else if (TkMacOSXDrawableWindow(src)) {
- bitmap_rep = TkMacOSXBitmapRepFromDrawableRect(src,
- src_x, src_y, width, height);
- if ( bitmap_rep ) {
- img = [bitmap_rep CGImage];
- }
- } else {
- TkMacOSXDbgMsg("Invalid source drawable - neither window nor pixmap.");
- }
-
- if (img) {
- bounds = CGRectMake(0, 0, srcDraw->size.width, srcDraw->size.height);
- srcRect = CGRectMake(src_x, src_y, width, height);
- dstRect = CGRectMake(dest_x, dest_y, width, height);
- TkMacOSXDrawCGImage(dst, gc, dc.context, img,
- gc->foreground, gc->background, bounds, srcRect, dstRect);
- CFRelease(img);
- } else {
- TkMacOSXDbgMsg("Failed to construct CGImage.");
- }
-
- } else {
- TkMacOSXDbgMsg("Invalid destination drawable - no context.");
- return;
- }
-
- TkMacOSXRestoreDrawingContext(&dc);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * XCopyPlane --
- *
- * Copies a bitmap from a source drawable to a destination
- * drawable. The plane argument specifies which bit plane of
- * the source contains the bitmap. Note that this implementation
- * ignores the gc->function.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Changes the destination drawable.
- *
- *----------------------------------------------------------------------
- */
-
-void
-XCopyPlane(
- Display *display, /* Display. */
- Drawable src, /* Source drawable. */
- Drawable dst, /* Destination drawable. */
- GC gc, /* GC to use. */
- int src_x, /* X & Y, width & height */
- int src_y, /* define the source rectangle */
- unsigned int width, /* that will be copied. */
- unsigned int height,
- int dest_x, /* Dest X & Y on dest rect. */
- int dest_y,
- unsigned long plane) /* Which plane to copy. */
-{
- TkMacOSXDrawingContext dc;
- MacDrawable *srcDraw = (MacDrawable *) src;
- MacDrawable *dstDraw = (MacDrawable *) dst;
- CGRect bounds, srcRect, dstRect;
- display->request++;
- if (!width || !height) {
- /* TkMacOSXDbgMsg("Drawing of empty area requested"); */
- return;
- }
- if (plane != 1) {
- Tcl_Panic("Unexpected plane specified for XCopyPlane");
- }
- if (srcDraw->flags & TK_IS_PIXMAP) {
- if (!TkMacOSXSetupDrawingContext(dst, gc, 1, &dc)) {
- return;
- }
- CGContextRef context = dc.context;
- if (context) {
- CGImageRef img = TkMacOSXCreateCGImageWithDrawable(src);
- if (img) {
- TkpClipMask *clipPtr = (TkpClipMask *) gc->clip_mask;
- unsigned long imageBackground = gc->background;
- if (clipPtr && clipPtr->type == TKP_CLIP_PIXMAP){
- srcRect = CGRectMake(src_x, src_y, width, height);
- CGImageRef mask = TkMacOSXCreateCGImageWithDrawable(clipPtr->value.pixmap);
- CGImageRef submask = CGImageCreateWithImageInRect(img, srcRect);
- CGRect rect = CGRectMake(dest_x, dest_y, width, height);
- rect = CGRectOffset(rect, dstDraw->xOff, dstDraw->yOff);
- CGContextSaveGState(context);
- /* Move the origin of the destination to top left. */
- CGContextTranslateCTM(context, 0, rect.origin.y + CGRectGetMaxY(rect));
- CGContextScaleCTM(context, 1, -1);
- /* Fill with the background color, clipping to the mask. */
- CGContextClipToMask(context, rect, submask);
- TkMacOSXSetColorInContext(gc, gc->background, dc.context);
- CGContextFillRect(context, rect);
- /* Fill with the foreground color, clipping to the
- intersection of img and mask. */
- CGImageRef subimage = CGImageCreateWithImageInRect(img, srcRect);
- CGContextClipToMask(context, rect, subimage);
- TkMacOSXSetColorInContext(gc, gc->foreground, context);
- CGContextFillRect(context, rect);
- CGContextRestoreGState(context);
- CGImageRelease(img);
- CGImageRelease(mask);
- CGImageRelease(submask);
- CGImageRelease(subimage);
- } else {
- bounds = CGRectMake(0, 0, srcDraw->size.width, srcDraw->size.height);
- srcRect = CGRectMake(src_x, src_y, width, height);
- dstRect = CGRectMake(dest_x, dest_y, width, height);
- TkMacOSXDrawCGImage(dst, gc, dc.context, img, gc->foreground,
- imageBackground, bounds, srcRect, dstRect);
- CGImageRelease(img);
- }
- } else { /* no image */
- TkMacOSXDbgMsg("Invalid source drawable");
- }
- } else {
- TkMacOSXDbgMsg("Invalid destination drawable - could not get a bitmap context.");
- }
- TkMacOSXRestoreDrawingContext(&dc);
- } else { /* source drawable is a window, not a Pixmap */
- XCopyArea(display, src, dst, gc, src_x, src_y, width, height, dest_x, dest_y);
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXCreateCGImageWithDrawable --
- *
- * Create a CGImage from the given Drawable.
- *
- * Results:
- * CGImage, release after use.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-CGImageRef
-TkMacOSXCreateCGImageWithDrawable(
- Drawable drawable)
-{
- CGImageRef img = NULL;
- CGContextRef context = TkMacOSXGetCGContextForDrawable(drawable);
-
- if (context) {
- img = CGBitmapContextCreateImage(context);
- }
- return img;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * CreateNSImageWithPixmap --
- *
- * Create NSImage for Pixmap.
- *
- * Results:
- * NSImage.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-static NSImage*
-CreateNSImageWithPixmap(
- Pixmap pixmap,
- int width,
- int height)
-{
- CGImageRef cgImage;
- NSImage *nsImage;
- NSBitmapImageRep *bitmapImageRep;
-
- cgImage = TkMacOSXCreateCGImageWithDrawable(pixmap);
- nsImage = [[NSImage alloc] initWithSize:NSMakeSize(width, height)];
- bitmapImageRep = [[NSBitmapImageRep alloc] initWithCGImage:cgImage];
- [nsImage addRepresentation:bitmapImageRep];
- [bitmapImageRep release];
- CFRelease(cgImage);
-
- return nsImage;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXGetNSImageWithTkImage --
- *
- * Get autoreleased NSImage for Tk_Image.
- *
- * Results:
- * NSImage.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-NSImage*
-TkMacOSXGetNSImageWithTkImage(
- Display *display,
- Tk_Image image,
- int width,
- int height)
-{
- Pixmap pixmap = Tk_GetPixmap(display, None, width, height, 0);
- NSImage *nsImage;
-
- Tk_RedrawImage(image, 0, 0, width, height, pixmap, 0, 0);
- nsImage = CreateNSImageWithPixmap(pixmap, width, height);
- Tk_FreePixmap(display, pixmap);
-
- return [nsImage autorelease];
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXGetNSImageWithBitmap --
- *
- * Get autoreleased NSImage for Bitmap.
- *
- * Results:
- * NSImage.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-NSImage*
-TkMacOSXGetNSImageWithBitmap(
- Display *display,
- Pixmap bitmap,
- GC gc,
- int width,
- int height)
-{
- Pixmap pixmap = Tk_GetPixmap(display, None, width, height, 0);
- NSImage *nsImage;
-
- unsigned long origBackground = gc->background;
-
- gc->background = TRANSPARENT_PIXEL << 24;
- XSetClipOrigin(display, gc, 0, 0);
- XCopyPlane(display, bitmap, pixmap, gc, 0, 0, width, height, 0, 0, 1);
- gc->background = origBackground;
- nsImage = CreateNSImageWithPixmap(pixmap, width, height);
- Tk_FreePixmap(display, pixmap);
-
- return [nsImage autorelease];
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXGetCGContextForDrawable --
- *
- * Get CGContext for given Drawable, creating one if necessary.
- *
- * Results:
- * CGContext.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-CGContextRef
-TkMacOSXGetCGContextForDrawable(
- Drawable drawable)
-{
- MacDrawable *macDraw = (MacDrawable *) drawable;
-
- if (macDraw && (macDraw->flags & TK_IS_PIXMAP) && !macDraw->context) {
- const size_t bitsPerComponent = 8;
- size_t bitsPerPixel, bytesPerRow, len;
- CGColorSpaceRef colorspace = NULL;
- CGBitmapInfo bitmapInfo =
-#ifdef __LITTLE_ENDIAN__
- kCGBitmapByteOrder32Host;
-#else
- kCGBitmapByteOrderDefault;
-#endif
- char *data;
- CGRect bounds = CGRectMake(0, 0, macDraw->size.width, macDraw->size.height);
-
- if (macDraw->flags & TK_IS_BW_PIXMAP) {
- bitsPerPixel = 8;
- bitmapInfo = (CGBitmapInfo)kCGImageAlphaOnly;
- } else {
- colorspace = CGColorSpaceCreateDeviceRGB();
- bitsPerPixel = 32;
- bitmapInfo |= kCGImageAlphaPremultipliedFirst;
- }
- bytesPerRow = ((size_t) macDraw->size.width * bitsPerPixel + 127) >> 3
- & ~15;
- len = macDraw->size.height * bytesPerRow;
- data = ckalloc(len);
- bzero(data, len);
- macDraw->context = CGBitmapContextCreate(data, macDraw->size.width,
- macDraw->size.height, bitsPerComponent, bytesPerRow,
- colorspace, bitmapInfo);
- if (macDraw->context) {
- CGContextClearRect(macDraw->context, bounds);
- }
- if (colorspace) {
- CFRelease(colorspace);
- }
- }
-
- return (macDraw ? macDraw->context : NULL);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXDrawCGImage --
- *
- * Draw CG image into drawable.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkMacOSXDrawCGImage(
- Drawable d,
- GC gc,
- CGContextRef context,
- CGImageRef image,
- unsigned long imageForeground,
- unsigned long imageBackground,
- CGRect imageBounds,
- CGRect srcBounds,
- CGRect dstBounds)
-{
- MacDrawable *macDraw = (MacDrawable *) d;
-
- if (macDraw && context && image) {
- CGImageRef subImage = NULL;
-
- if (!CGRectEqualToRect(imageBounds, srcBounds)) {
- if (!CGRectContainsRect(imageBounds, srcBounds)) {
- TkMacOSXDbgMsg("Mismatch of sub CGImage bounds");
- }
- subImage = CGImageCreateWithImageInRect(image, CGRectOffset(
- srcBounds, -imageBounds.origin.x, -imageBounds.origin.y));
- if (subImage) {
- image = subImage;
- }
- }
- dstBounds = CGRectOffset(dstBounds, macDraw->xOff, macDraw->yOff);
- if (CGImageIsMask(image)) {
- if (macDraw->flags & TK_IS_BW_PIXMAP) {
-
- /* Set fill color to black; background comes from the context,
- * or is transparent.
- */
-
- if (imageBackground != TRANSPARENT_PIXEL << 24) {
- CGContextClearRect(context, dstBounds);
- }
- CGContextSetRGBFillColor(context, 0.0, 0.0, 0.0, 1.0);
- } else {
- if (imageBackground != TRANSPARENT_PIXEL << 24) {
- TkMacOSXSetColorInContext(gc, imageBackground, context);
- CGContextFillRect(context, dstBounds);
- }
- TkMacOSXSetColorInContext(gc, imageForeground, context);
- }
- }
-
-#ifdef TK_MAC_DEBUG_IMAGE_DRAWING
- CGContextSaveGState(context);
- CGContextSetLineWidth(context, 1.0);
- CGContextSetRGBStrokeColor(context, 0, 0, 0, 0.1);
- CGContextSetRGBFillColor(context, 0, 1, 0, 0.1);
- CGContextFillRect(context, dstBounds);
- CGContextStrokeRect(context, dstBounds);
- CGPoint p[4] = {dstBounds.origin,
- CGPointMake(CGRectGetMaxX(dstBounds), CGRectGetMaxY(dstBounds)),
- CGPointMake(CGRectGetMinX(dstBounds), CGRectGetMaxY(dstBounds)),
- CGPointMake(CGRectGetMaxX(dstBounds), CGRectGetMinY(dstBounds))
- };
- CGContextStrokeLineSegments(context, p, 4);
- CGContextRestoreGState(context);
- TkMacOSXDbgMsg("Drawing CGImage at (x=%f, y=%f), (w=%f, h=%f)",
- dstBounds.origin.x, dstBounds.origin.y,
- dstBounds.size.width, dstBounds.size.height);
-#else /* TK_MAC_DEBUG_IMAGE_DRAWING */
- CGContextSaveGState(context);
- CGContextTranslateCTM(context, 0, dstBounds.origin.y + CGRectGetMaxY(dstBounds));
- CGContextScaleCTM(context, 1, -1);
- CGContextDrawImage(context, dstBounds, image);
- CGContextRestoreGState(context);
-#endif /* TK_MAC_DEBUG_IMAGE_DRAWING */
- if (subImage) {
- CFRelease(subImage);
- }
- } else {
- TkMacOSXDbgMsg("Drawing of empty CGImage requested");
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * XDrawLines --
- *
- * Draw connected lines.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Renders a series of connected lines.
- *
- *----------------------------------------------------------------------
- */
-
-int
-XDrawLines(
- Display *display, /* Display. */
- Drawable d, /* Draw on this. */
- GC gc, /* Use this GC. */
- XPoint *points, /* Array of points. */
- int npoints, /* Number of points. */
- int mode) /* Line drawing mode. */
-{
- MacDrawable *macWin = (MacDrawable *) d;
- TkMacOSXDrawingContext dc;
- int i, lw = gc->line_width;
-
- if (npoints < 2) {
- return BadValue;
- }
-
- display->request++;
- if (!TkMacOSXSetupDrawingContext(d, gc, 1, &dc)) {
- return BadDrawable;
- }
- if (dc.context) {
- double prevx, prevy;
- double o = (lw % 2) ? .5 : 0;
-
- CGContextBeginPath(dc.context);
- prevx = macWin->xOff + points[0].x + o;
- prevy = macWin->yOff + points[0].y + o;
- CGContextMoveToPoint(dc.context, prevx, prevy);
- for (i = 1; i < npoints; i++) {
- if (mode == CoordModeOrigin) {
- CGContextAddLineToPoint(dc.context,
- macWin->xOff + points[i].x + o,
- macWin->yOff + points[i].y + o);
- } else {
- prevx += points[i].x;
- prevy += points[i].y;
- CGContextAddLineToPoint(dc.context, prevx, prevy);
- }
- }
- /*
- * In the case of closed polylines, the first and last points
- * are the same. We want miter or bevel join be rendered also
- * at this point, this needs telling CoreGraphics that the
- * path is closed.
- */
- if ((points[0].x == points[npoints-1].x) &&
- (points[0].y == points[npoints-1].y)) {
- CGContextClosePath(dc.context);
- }
- CGContextStrokePath(dc.context);
- }
- TkMacOSXRestoreDrawingContext(&dc);
- return Success;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * XDrawSegments --
- *
- * Draw unconnected lines.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Renders a series of unconnected lines.
- *
- *----------------------------------------------------------------------
- */
-
-int
-XDrawSegments(
- Display *display,
- Drawable d,
- GC gc,
- XSegment *segments,
- int nsegments)
-{
- MacDrawable *macWin = (MacDrawable *) d;
- TkMacOSXDrawingContext dc;
- int i, lw = gc->line_width;
-
- display->request++;
- if (!TkMacOSXSetupDrawingContext(d, gc, 1, &dc)) {
- return BadDrawable;
- }
- if (dc.context) {
- double o = (lw % 2) ? .5 : 0;
-
- for (i = 0; i < nsegments; i++) {
- CGContextBeginPath(dc.context);
- CGContextMoveToPoint(dc.context,
- macWin->xOff + segments[i].x1 + o,
- macWin->yOff + segments[i].y1 + o);
- CGContextAddLineToPoint(dc.context,
- macWin->xOff + segments[i].x2 + o,
- macWin->yOff + segments[i].y2 + o);
- CGContextStrokePath(dc.context);
- }
- }
- TkMacOSXRestoreDrawingContext(&dc);
- return Success;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * XFillPolygon --
- *
- * Draws a filled polygon.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Draws a filled polygon on the specified drawable.
- *
- *----------------------------------------------------------------------
- */
-
-void
-XFillPolygon(
- Display* display, /* Display. */
- Drawable d, /* Draw on this. */
- GC gc, /* Use this GC. */
- XPoint* points, /* Array of points. */
- int npoints, /* Number of points. */
- int shape, /* Shape to draw. */
- int mode) /* Drawing mode. */
-{
- MacDrawable *macWin = (MacDrawable *) d;
- TkMacOSXDrawingContext dc;
- int i;
-
- display->request++;
- if (!TkMacOSXSetupDrawingContext(d, gc, 1, &dc)) {
- return;
- }
- if (dc.context) {
- double prevx, prevy;
- double o = (gc->line_width % 2) ? .5 : 0;
-
- CGContextBeginPath(dc.context);
- prevx = macWin->xOff + points[0].x + o;
- prevy = macWin->yOff + points[0].y + o;
- CGContextMoveToPoint(dc.context, prevx, prevy);
- for (i = 1; i < npoints; i++) {
- if (mode == CoordModeOrigin) {
- CGContextAddLineToPoint(dc.context,
- macWin->xOff + points[i].x + o,
- macWin->yOff + points[i].y + o);
- } else {
- prevx += points[i].x;
- prevy += points[i].y;
- CGContextAddLineToPoint(dc.context, prevx, prevy);
- }
- }
- CGContextEOFillPath(dc.context);
- }
- TkMacOSXRestoreDrawingContext(&dc);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * XDrawRectangle --
- *
- * Draws a rectangle.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Draws a rectangle on the specified drawable.
- *
- *----------------------------------------------------------------------
- */
-
-void
-XDrawRectangle(
- Display *display, /* Display. */
- Drawable d, /* Draw on this. */
- GC gc, /* Use this GC. */
- int x, int y, /* Upper left corner. */
- unsigned int width, /* Width & height of rect. */
- unsigned int height)
-{
- MacDrawable *macWin = (MacDrawable *) d;
- TkMacOSXDrawingContext dc;
- int lw = gc->line_width;
-
- if (width == 0 || height == 0) {
- return;
- }
-
- display->request++;
- if (!TkMacOSXSetupDrawingContext(d, gc, 1, &dc)) {
- return;
- }
- if (dc.context) {
- CGRect rect;
- double o = (lw % 2) ? .5 : 0;
-
- rect = CGRectMake(
- macWin->xOff + x + o,
- macWin->yOff + y + o,
- width, height);
- CGContextStrokeRect(dc.context, rect);
- }
- TkMacOSXRestoreDrawingContext(&dc);
-}
-
-#ifdef TK_MACOSXDRAW_UNUSED
-/*
- *----------------------------------------------------------------------
- *
- * XDrawRectangles --
- *
- * Draws the outlines of the specified rectangles as if a
- * five-point PolyLine protocol request were specified for each
- * rectangle:
- *
- * [x,y] [x+width,y] [x+width,y+height] [x,y+height] [x,y]
- *
- * For the specified rectangles, these functions do not draw a
- * pixel more than once. XDrawRectangles draws the rectangles in
- * the order listed in the array. If rectangles intersect, the
- * intersecting pixels are drawn multiple times. Draws a
- * rectangle.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Draws rectangles on the specified drawable.
- *
- *----------------------------------------------------------------------
- */
-
-void
-XDrawRectangles(
- Display *display,
- Drawable drawable,
- GC gc,
- XRectangle *rectArr,
- int nRects)
-{
- MacDrawable *macWin = (MacDrawable *) drawable;
- TkMacOSXDrawingContext dc;
- XRectangle * rectPtr;
- int i, lw = gc->line_width;
-
- display->request++;
- if (!TkMacOSXSetupDrawingContext(d, gc, 1, &dc)) {
- return;
- }
- if (dc.context) {
- CGRect rect;
- double o = (lw % 2) ? .5 : 0;
-
- for (i = 0, rectPtr = rectArr; i < nRects; i++, rectPtr++) {
- if (rectPtr->width == 0 || rectPtr->height == 0) {
- continue;
- }
- rect = CGRectMake(
- macWin->xOff + rectPtr->x + o,
- macWin->yOff + rectPtr->y + o,
- rectPtr->width, rectPtr->height);
- CGContextStrokeRect(dc.context, rect);
- }
- }
- TkMacOSXRestoreDrawingContext(&dc);
-}
-#endif
-
-/*
- *----------------------------------------------------------------------
- *
- * XFillRectangles --
- *
- * Fill multiple rectangular areas in the given drawable.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Draws onto the specified drawable.
- *
- *----------------------------------------------------------------------
- */
-
-int
-XFillRectangles(
- Display* display, /* Display. */
- Drawable d, /* Draw on this. */
- GC gc, /* Use this GC. */
- XRectangle *rectangles, /* Rectangle array. */
- int n_rectangles) /* Number of rectangles. */
-{
- MacDrawable *macWin = (MacDrawable *) d;
- TkMacOSXDrawingContext dc;
- XRectangle * rectPtr;
- int i;
-
- display->request++;
- if (!TkMacOSXSetupDrawingContext(d, gc, 1, &dc)) {
- return BadDrawable;
- }
- if (dc.context) {
- CGRect rect;
-
- for (i = 0, rectPtr = rectangles; i < n_rectangles; i++, rectPtr++) {
- if (rectPtr->width == 0 || rectPtr->height == 0) {
- continue;
- }
- rect = CGRectMake(
- macWin->xOff + rectPtr->x,
- macWin->yOff + rectPtr->y,
- rectPtr->width, rectPtr->height);
- CGContextFillRect(dc.context, rect);
- }
- }
- TkMacOSXRestoreDrawingContext(&dc);
- return Success;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * XDrawArc --
- *
- * Draw an arc.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Draws an arc on the specified drawable.
- *
- *----------------------------------------------------------------------
- */
-
-void
-XDrawArc(
- Display* display, /* Display. */
- Drawable d, /* Draw on this. */
- GC gc, /* Use this GC. */
- int x, int y, /* Upper left of bounding rect. */
- unsigned int width, /* Width & height. */
- unsigned int height,
- int angle1, /* Staring angle of arc. */
- int angle2) /* Extent of arc. */
-{
- MacDrawable *macWin = (MacDrawable *) d;
- TkMacOSXDrawingContext dc;
- int lw = gc->line_width;
-
- if (width == 0 || height == 0 || angle2 == 0) {
- return;
- }
-
- display->request++;
- if (!TkMacOSXSetupDrawingContext(d, gc, 1, &dc)) {
- return;
- }
- if (dc.context) {
- CGRect rect;
- double o = (lw % 2) ? .5 : 0;
-
- rect = CGRectMake(
- macWin->xOff + x + o,
- macWin->yOff + y + o,
- width, height);
- if (angle1 == 0 && angle2 == 23040) {
- CGContextStrokeEllipseInRect(dc.context, rect);
- } else {
- CGMutablePathRef p = CGPathCreateMutable();
- CGAffineTransform t = CGAffineTransformIdentity;
- CGPoint c = CGPointMake(CGRectGetMidX(rect), CGRectGetMidY(rect));
- double w = CGRectGetWidth(rect);
-
- if (width != height) {
- t = CGAffineTransformMakeScale(1.0, CGRectGetHeight(rect)/w);
- c = CGPointApplyAffineTransform(c, CGAffineTransformInvert(t));
- }
- CGPathAddArc(p, &t, c.x, c.y, w/2, radians(-angle1/64.0),
- radians(-(angle1 + angle2)/64.0), angle2 > 0);
- CGContextAddPath(dc.context, p);
- CGPathRelease(p);
- CGContextStrokePath(dc.context);
- }
- }
- TkMacOSXRestoreDrawingContext(&dc);
-}
-
-#ifdef TK_MACOSXDRAW_UNUSED
-/*
- *----------------------------------------------------------------------
- *
- * XDrawArcs --
- *
- * Draws multiple circular or elliptical arcs. Each arc is
- * specified by a rectangle and two angles. The center of the
- * circle or ellipse is the center of the rect- angle, and the
- * major and minor axes are specified by the width and height.
- * Positive angles indicate counterclock- wise motion, and
- * negative angles indicate clockwise motion. If the magnitude
- * of angle2 is greater than 360 degrees, XDrawArcs truncates it
- * to 360 degrees.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Draws an arc for each array element on the specified drawable.
- *
- *----------------------------------------------------------------------
- */
-
-void
-XDrawArcs(
- Display *display,
- Drawable d,
- GC gc,
- XArc *arcArr,
- int nArcs)
-{
-
- MacDrawable *macWin = (MacDrawable *) d;
- TkMacOSXDrawingContext dc;
- XArc *arcPtr;
- int i, lw = gc->line_width;
-
- display->request++;
- if (!TkMacOSXSetupDrawingContext(d, gc, 1, &dc)) {
- return;
- }
- if (dc.context) {
- CGRect rect;
- double o = (lw % 2) ? .5 : 0;
-
- for (i=0, arcPtr = arcArr; i < nArcs; i++, arcPtr++) {
- if (arcPtr->width == 0 || arcPtr->height == 0
- || arcPtr->angle2 == 0) {
- continue;
- }
- rect = CGRectMake(
- macWin->xOff + arcPtr->x + o,
- macWin->yOff + arcPtr->y + o,
- arcPtr->width, arcPtr->height);
-
- if (arcPtr->angle1 == 0 && arcPtr->angle2 == 23040) {
- CGContextStrokeEllipseInRect(dc.context, rect);
- } else {
- CGMutablePathRef p = CGPathCreateMutable();
- CGAffineTransform t = CGAffineTransformIdentity;
- CGPoint c = CGPointMake(CGRectGetMidX(rect),
- CGRectGetMidY(rect));
- double w = CGRectGetWidth(rect);
-
- if (arcPtr->width != arcPtr->height) {
- t = CGAffineTransformMakeScale(1, CGRectGetHeight(rect)/w);
- c = CGPointApplyAffineTransform(c,
- CGAffineTransformInvert(t));
- }
- CGPathAddArc(p, &t, c.x, c.y, w/2,
- radians(-arcPtr->angle1/64.0),
- radians(-(arcPtr->angle1 + arcPtr->angle2)/64.0),
- arcPtr->angle2 > 0);
- CGContextAddPath(dc.context, p);
- CGPathRelease(p);
- CGContextStrokePath(dc.context);
- }
- }
- }
- TkMacOSXRestoreDrawingContext(&dc);
-}
-#endif
-
-/*
- *----------------------------------------------------------------------
- *
- * XFillArc --
- *
- * Draw a filled arc.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Draws a filled arc on the specified drawable.
- *
- *----------------------------------------------------------------------
- */
-
-void
-XFillArc(
- Display* display, /* Display. */
- Drawable d, /* Draw on this. */
- GC gc, /* Use this GC. */
- int x, int y, /* Upper left of bounding rect. */
- unsigned int width, /* Width & height. */
- unsigned int height,
- int angle1, /* Staring angle of arc. */
- int angle2) /* Extent of arc. */
-{
- MacDrawable *macWin = (MacDrawable *) d;
- TkMacOSXDrawingContext dc;
- int lw = gc->line_width;
-
- if (width == 0 || height == 0 || angle2 == 0) {
- return;
- }
-
- display->request++;
- if (!TkMacOSXSetupDrawingContext(d, gc, 1, &dc)) {
- return;
- }
- if (dc.context) {
- CGRect rect;
- double o = (lw % 2) ? .5 : 0, u = 0;
-
- if (notAA(lw)) {
- o += NON_AA_CG_OFFSET/2;
- u += NON_AA_CG_OFFSET;
- }
- rect = CGRectMake(
- macWin->xOff + x + o,
- macWin->yOff + y + o,
- width - u, height - u);
-
- if (angle1 == 0 && angle2 == 23040) {
- CGContextFillEllipseInRect(dc.context, rect);
- } else {
- CGMutablePathRef p = CGPathCreateMutable();
- CGAffineTransform t = CGAffineTransformIdentity;
- CGPoint c = CGPointMake(CGRectGetMidX(rect), CGRectGetMidY(rect));
- double w = CGRectGetWidth(rect);
-
- if (width != height) {
- t = CGAffineTransformMakeScale(1, CGRectGetHeight(rect)/w);
- c = CGPointApplyAffineTransform(c, CGAffineTransformInvert(t));
- }
- if (gc->arc_mode == ArcPieSlice) {
- CGPathMoveToPoint(p, &t, c.x, c.y);
- }
- CGPathAddArc(p, &t, c.x, c.y, w/2, radians(-angle1/64.0),
- radians(-(angle1 + angle2)/64.0), angle2 > 0);
- CGPathCloseSubpath(p);
- CGContextAddPath(dc.context, p);
- CGPathRelease(p);
- CGContextFillPath(dc.context);
- }
- }
- TkMacOSXRestoreDrawingContext(&dc);
-}
-
-#ifdef TK_MACOSXDRAW_UNUSED
-/*
- *----------------------------------------------------------------------
- *
- * XFillArcs --
- *
- * Draw a filled arc.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Draws a filled arc for each array element on the specified drawable.
- *
- *----------------------------------------------------------------------
- */
-
-void
-XFillArcs(
- Display *display,
- Drawable d,
- GC gc,
- XArc *arcArr,
- int nArcs)
-{
- MacDrawable *macWin = (MacDrawable *) d;
- TkMacOSXDrawingContext dc;
- XArc * arcPtr;
- int i, lw = gc->line_width;
-
- display->request++;
- if (!TkMacOSXSetupDrawingContext(d, gc, 1, &dc)) {
- return;
- }
- if (dc.context) {
- CGRect rect;
- double o = (lw % 2) ? .5 : 0, u = 0;
-
- if (notAA(lw)) {
- o += NON_AA_CG_OFFSET/2;
- u += NON_AA_CG_OFFSET;
- }
- for (i = 0, arcPtr = arcArr; i < nArcs; i++, arcPtr++) {
- if (arcPtr->width == 0 || arcPtr->height == 0
- || arcPtr->angle2 == 0) {
- continue;
- }
- rect = CGRectMake(
- macWin->xOff + arcPtr->x + o,
- macWin->yOff + arcPtr->y + o,
- arcPtr->width - u, arcPtr->height - u);
- if (arcPtr->angle1 == 0 && arcPtr->angle2 == 23040) {
- CGContextFillEllipseInRect(dc.context, rect);
- } else {
- CGMutablePathRef p = CGPathCreateMutable();
- CGAffineTransform t = CGAffineTransformIdentity;
- CGPoint c = CGPointMake(CGRectGetMidX(rect),
- CGRectGetMidY(rect));
- double w = CGRectGetWidth(rect);
-
- if (arcPtr->width != arcPtr->height) {
- t = CGAffineTransformMakeScale(1, CGRectGetHeight(rect)/w);
- c = CGPointApplyAffineTransform(c,
- CGAffineTransformInvert(t));
- }
- if (gc->arc_mode == ArcPieSlice) {
- CGPathMoveToPoint(p, &t, c.x, c.y);
- }
- CGPathAddArc(p, &t, c.x, c.y, w/2,
- radians(-arcPtr->angle1/64.0),
- radians(-(arcPtr->angle1 + arcPtr->angle2)/64.0),
- arcPtr->angle2 > 0);
- CGPathCloseSubpath(p);
- CGContextAddPath(dc.context, p);
- CGPathRelease(p);
- CGContextFillPath(dc.context);
- }
- }
- }
- TkMacOSXRestoreDrawingContext(&dc);
-}
-#endif
-
-#ifdef TK_MACOSXDRAW_UNUSED
-/*
- *----------------------------------------------------------------------
- *
- * XMaxRequestSize --
- *
- *----------------------------------------------------------------------
- */
-
-long
-XMaxRequestSize(
- Display *display)
-{
- return (SHRT_MAX / 4);
-}
-#endif
-
-/*
- *----------------------------------------------------------------------
- *
- * TkScrollWindow --
- *
- * Scroll a rectangle of the specified window and accumulate
- * a damage region.
- *
- * Results:
- * Returns 0 if the scroll generated no additional damage.
- * Otherwise, sets the region that needs to be repainted after
- * scrolling and returns 1.
- *
- * Side effects:
- * Scrolls the bits in the window.
- *
- *----------------------------------------------------------------------
- */
-
-int
-TkScrollWindow(
- Tk_Window tkwin, /* The window to be scrolled. */
- GC gc, /* GC for window to be scrolled. */
- int x, int y, /* Position rectangle to be scrolled. */
- int width, int height,
- int dx, int dy, /* Distance rectangle should be moved. */
- TkRegion damageRgn) /* Region to accumulate damage in. */
-{
- Drawable drawable = Tk_WindowId(tkwin);
- MacDrawable *macDraw = (MacDrawable *) drawable;
- TKContentView *view = (TKContentView *)TkMacOSXDrawableView(macDraw);
- CGRect srcRect, dstRect;
- HIShapeRef dmgRgn = NULL, extraRgn = NULL;
- NSRect bounds, visRect, scrollSrc, scrollDst;
- int result = 0;
-
- if ( view ) {
- /* Get the scroll area in NSView coordinates (origin at bottom left). */
- bounds = [view bounds];
- scrollSrc = NSMakeRect(macDraw->xOff + x,
- bounds.size.height - height - (macDraw->yOff + y),
- width, height);
- scrollDst = NSOffsetRect(scrollSrc, dx, -dy);
-
- /* Limit scrolling to the window content area. */
- visRect = [view visibleRect];
- scrollSrc = NSIntersectionRect(scrollSrc, visRect);
- scrollDst = NSIntersectionRect(scrollDst, visRect);
- if ( !NSIsEmptyRect(scrollSrc) && !NSIsEmptyRect(scrollDst) ) {
- /*
- * Mark the difference between source and destination as damaged.
- * This region is described in NSView coordinates (y=0 at the bottom)
- * and converted to Tk coordinates later.
- */
-
- srcRect = CGRectMake(x, y, width, height);
- dstRect = CGRectOffset(srcRect, dx, dy);
-
- /* Compute the damage. */
- dmgRgn = HIShapeCreateMutableWithRect(&srcRect);
- extraRgn = HIShapeCreateWithRect(&dstRect);
- ChkErr(HIShapeDifference, dmgRgn, extraRgn, (HIMutableShapeRef) dmgRgn);
- result = HIShapeIsEmpty(dmgRgn) ? 0 : 1;
-
- /* Convert to Tk coordinates, offset by the window origin. */
- TkMacOSXSetWithNativeRegion(damageRgn, dmgRgn);
- if (extraRgn) {
- CFRelease(extraRgn);
- }
-
- /* Scroll the rectangle. */
- [view scrollRect:scrollSrc by:NSMakeSize(dx, -dy)];
- }
- } else {
- dmgRgn = HIShapeCreateEmpty();
- TkMacOSXSetWithNativeRegion(damageRgn, dmgRgn);
- }
-
- if (dmgRgn) {
- CFRelease(dmgRgn);
- }
- return result;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXSetUpGraphicsPort --
- *
- * Set up the graphics port from the given GC.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkMacOSXSetUpGraphicsPort(
- GC gc, /* GC to apply to current port. */
- void *destPort)
-{
- Tcl_Panic("TkMacOSXSetUpGraphicsPort: Obsolete, no more QD!");
-}
-
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXSetUpDrawingContext --
- *
- * Set up a drawing context for the given drawable and GC.
- *
- * Results:
- * Boolean indicating whether it is ok to draw; if false, drawing
- * context was not setup, so do not attempt to draw and do not call
- * TkMacOSXRestoreDrawingContext().
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-Bool
-TkMacOSXSetupDrawingContext(
- Drawable d,
- GC gc,
- int useCG, /* advisory only ! */
- TkMacOSXDrawingContext *dcPtr)
-{
- MacDrawable *macDraw = ((MacDrawable*)d);
- Bool canDraw = true;
- NSWindow *win = NULL;
- TkMacOSXDrawingContext dc = {};
- CGRect clipBounds;
-
- /*
- * If we are simulating drawing for tests, just return false.
- */
-
- if ([NSApp simulateDrawing]) {
- return false;
- }
-
- /*
- * If the drawable is not a pixmap and it has an associated
- * NSWindow then we know we are drawing to a window.
- */
-
- if (!(macDraw->flags & TK_IS_PIXMAP)) {
- win = TkMacOSXDrawableWindow(d);
- }
-
- /*
- * Check that we have a non-empty clipping region.
- */
-
- dc.clipRgn = TkMacOSXGetClipRgn(d);
- ClipToGC(d, gc, &dc.clipRgn);
- if (dc.clipRgn && HIShapeIsEmpty(dc.clipRgn)) {
- canDraw = false;
- goto end;
- }
-
- /*
- * If we already have a CGContext, use it. Otherwise, if we
- * are drawing to a window then we can get one from the
- * window.
- */
-
- dc.context = TkMacOSXGetCGContextForDrawable(d);
- if (dc.context) {
- dc.portBounds = clipBounds = CGContextGetClipBoundingBox(dc.context);
- } else if (win) {
- NSView *view = TkMacOSXDrawableView(macDraw);
- if (view) {
-
- /*
- * We can only draw into the view when the current CGContext is
- * valid and belongs to the view. Validity can only be guaranteed
- * inside of a view's drawRect or setFrame methods. The isDrawing
- * attribute tells us whether we are being called from one of those
- * methods.
- *
- * If the CGContext is not valid, or belongs to a different View,
- * then we mark our view as needing display and return failure.
- * It should get drawn in a later call to drawRect.
- */
-
- if (view != [NSView focusView]) {
- [view setNeedsDisplay:YES];
- canDraw = false;
- goto end;
- }
- dc.view = view;
- dc.context = GET_CGCONTEXT;
- dc.portBounds = NSRectToCGRect([view bounds]);
- if (dc.clipRgn) {
- clipBounds = CGContextGetClipBoundingBox(dc.context);
- }
- } else {
- Tcl_Panic("TkMacOSXSetupDrawingContext(): "
- "no NSView to draw into !");
- }
- } else {
- Tcl_Panic("TkMacOSXSetupDrawingContext(): "
- "no context to draw into !");
- }
-
- /*
- * Configure the drawing context.
- */
-
- if (dc.context) {
- CGAffineTransform t = { .a = 1, .b = 0, .c = 0, .d = -1, .tx = 0,
- .ty = dc.portBounds.size.height};
- dc.portBounds.origin.x += macDraw->xOff;
- dc.portBounds.origin.y += macDraw->yOff;
- CGContextSaveGState(dc.context);
- CGContextSetTextDrawingMode(dc.context, kCGTextFill);
- CGContextConcatCTM(dc.context, t);
- if (dc.clipRgn) {
-#ifdef TK_MAC_DEBUG_DRAWING
- CGContextSaveGState(dc.context);
- ChkErr(HIShapeReplacePathInCGContext, dc.clipRgn, dc.context);
- CGContextSetRGBFillColor(dc.context, 1.0, 0.0, 0.0, 0.1);
- CGContextEOFillPath(dc.context);
- CGContextRestoreGState(dc.context);
-#endif /* TK_MAC_DEBUG_DRAWING */
- CGRect r;
- if (!HIShapeIsRectangular(dc.clipRgn) || !CGRectContainsRect(
- *HIShapeGetBounds(dc.clipRgn, &r),
- CGRectApplyAffineTransform(clipBounds, t))) {
- ChkErr(HIShapeReplacePathInCGContext, dc.clipRgn, dc.context);
- CGContextEOClip(dc.context);
- }
- }
- if (gc) {
- static const CGLineCap cgCap[] = {
- [CapNotLast] = kCGLineCapButt,
- [CapButt] = kCGLineCapButt,
- [CapRound] = kCGLineCapRound,
- [CapProjecting] = kCGLineCapSquare,
- };
- static const CGLineJoin cgJoin[] = {
- [JoinMiter] = kCGLineJoinMiter,
- [JoinRound] = kCGLineJoinRound,
- [JoinBevel] = kCGLineJoinBevel,
- };
- bool shouldAntialias;
- double w = gc->line_width;
-
- TkMacOSXSetColorInContext(gc, gc->foreground, dc.context);
- if (win) {
- CGContextSetPatternPhase(dc.context, CGSizeMake(
- dc.portBounds.size.width, dc.portBounds.size.height));
- }
- if(gc->function != GXcopy) {
- TkMacOSXDbgMsg("Logical functions other than GXcopy are "
- "not supported for CG drawing!");
- }
- /* When should we antialias? */
- shouldAntialias = !notAA(gc->line_width);
- if (!shouldAntialias) {
- /* Make non-antialiased CG drawing look more like X11 */
- w -= (gc->line_width ? NON_AA_CG_OFFSET : 0);
- }
- CGContextSetShouldAntialias(dc.context, shouldAntialias);
- CGContextSetLineWidth(dc.context, w);
- if (gc->line_style != LineSolid) {
- int num = 0;
- char *p = &(gc->dashes);
- CGFloat dashOffset = gc->dash_offset;
- CGFloat lengths[10];
-
- while (p[num] != '\0' && num < 10) {
- lengths[num] = p[num];
- num++;
- }
- CGContextSetLineDash(dc.context, dashOffset, lengths, num);
- }
- if ((unsigned)gc->cap_style < sizeof(cgCap)/sizeof(CGLineCap)) {
- CGContextSetLineCap(dc.context,
- cgCap[(unsigned)gc->cap_style]);
- }
- if ((unsigned)gc->join_style < sizeof(cgJoin)/sizeof(CGLineJoin)) {
- CGContextSetLineJoin(dc.context,
- cgJoin[(unsigned)gc->join_style]);
- }
- }
- }
-
-end:
-#ifdef TK_MAC_DEBUG_DRAWING
- if (!canDraw && win != NULL) {
- TkWindow *winPtr = TkMacOSXGetTkWindow(win);
- if (winPtr) fprintf(stderr, "Cannot draw in %s - postponing.\n",
- Tk_PathName(winPtr));
- }
-#endif
- if (!canDraw && dc.clipRgn) {
- CFRelease(dc.clipRgn);
- dc.clipRgn = NULL;
- }
- *dcPtr = dc;
- return canDraw;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXRestoreDrawingContext --
- *
- * Restore drawing context.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkMacOSXRestoreDrawingContext(
- TkMacOSXDrawingContext *dcPtr)
-{
- if (dcPtr->context) {
- CGContextSynchronize(dcPtr->context);
- CGContextRestoreGState(dcPtr->context);
- }
- if (dcPtr->clipRgn) {
- CFRelease(dcPtr->clipRgn);
- }
-#ifdef TK_MAC_DEBUG
- bzero(dcPtr, sizeof(TkMacOSXDrawingContext));
-#endif /* TK_MAC_DEBUG */
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXGetClipRgn --
- *
- * Get the clipping region needed to restrict drawing to the given
- * drawable.
- *
- * Results:
- * Clipping region. If non-NULL, CFRelease it when done.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-HIShapeRef
-TkMacOSXGetClipRgn(
- Drawable drawable) /* Drawable. */
-{
- MacDrawable *macDraw = (MacDrawable *) drawable;
- HIShapeRef clipRgn = NULL;
-
- if (macDraw->winPtr && macDraw->flags & TK_CLIP_INVALID) {
- TkMacOSXUpdateClipRgn(macDraw->winPtr);
-#ifdef TK_MAC_DEBUG_DRAWING
- TkMacOSXDbgMsg("%s", macDraw->winPtr->pathName);
- NSView *view = TkMacOSXDrawableView(macDraw);
- CGContextSaveGState(context);
- CGContextConcatCTM(context, CGAffineTransformMake(1.0, 0.0, 0.0,
- -1.0, 0.0, [view bounds].size.height));
- ChkErr(HIShapeReplacePathInCGContext, macDraw->visRgn, context);
- CGContextSetRGBFillColor(context, 0.0, 1.0, 0.0, 0.1);
- CGContextEOFillPath(context);
- CGContextRestoreGState(context);
-#endif /* TK_MAC_DEBUG_DRAWING */
- }
-
- if (macDraw->drawRgn) {
- clipRgn = HIShapeCreateCopy(macDraw->drawRgn);
- } else if (macDraw->visRgn) {
- clipRgn = HIShapeCreateCopy(macDraw->visRgn);
- }
- return clipRgn;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXSetUpClippingRgn --
- *
- * Set up the clipping region so that drawing only occurs on the
- * specified X subwindow.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkMacOSXSetUpClippingRgn(
- Drawable drawable) /* Drawable to update. */
-{
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpClipDrawableToRect --
- *
- * Clip all drawing into the drawable d to the given rectangle.
- * If width or height are negative, reset to no clipping.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Subsequent drawing into d is offset and clipped as specified.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpClipDrawableToRect(
- Display *display,
- Drawable d,
- int x, int y,
- int width, int height)
-{
- MacDrawable *macDraw = (MacDrawable *) d;
-
- if (macDraw->drawRgn) {
- CFRelease(macDraw->drawRgn);
- macDraw->drawRgn = NULL;
- }
- if (width >= 0 && height >= 0) {
- CGRect clipRect = CGRectMake(x + macDraw->xOff, y + macDraw->yOff,
- width, height);
- HIShapeRef drawRgn = HIShapeCreateWithRect(&clipRect);
-
- if (macDraw->winPtr && macDraw->flags & TK_CLIP_INVALID) {
- TkMacOSXUpdateClipRgn(macDraw->winPtr);
- }
- if (macDraw->visRgn) {
- macDraw->drawRgn = HIShapeCreateIntersection(macDraw->visRgn,
- drawRgn);
- CFRelease(drawRgn);
- } else {
- macDraw->drawRgn = drawRgn;
- }
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * ClipToGC --
- *
- * Helper function to intersect given region with gc clip region.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-static void
-ClipToGC(
- Drawable d,
- GC gc,
- HIShapeRef *clipRgnPtr) /* must point to initialized variable */
-{
- if (gc && gc->clip_mask &&
- ((TkpClipMask*)gc->clip_mask)->type == TKP_CLIP_REGION) {
- TkRegion gcClip = ((TkpClipMask*)gc->clip_mask)->value.region;
- int xOffset = ((MacDrawable *) d)->xOff + gc->clip_x_origin;
- int yOffset = ((MacDrawable *) d)->yOff + gc->clip_y_origin;
- HIShapeRef clipRgn = *clipRgnPtr, gcClipRgn;
-
- TkMacOSXOffsetRegion(gcClip, xOffset, yOffset);
- gcClipRgn = TkMacOSXGetNativeRegion(gcClip);
- if (clipRgn) {
- *clipRgnPtr = HIShapeCreateIntersection(gcClipRgn, clipRgn);
- CFRelease(clipRgn);
- } else {
- *clipRgnPtr = HIShapeCreateCopy(gcClipRgn);
- }
- CFRelease(gcClipRgn);
- TkMacOSXOffsetRegion(gcClip, -xOffset, -yOffset);
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXMakeStippleMap --
- *
- * Given a drawable and a stipple pattern this function draws the
- * pattern repeatedly over the drawable. The drawable can then
- * be used as a mask for bit-bliting a stipple pattern over an
- * object.
- *
- * Results:
- * A BitMap data structure.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void *
-TkMacOSXMakeStippleMap(
- Drawable drawable, /* Window to apply stipple. */
- Drawable stipple) /* The stipple pattern. */
-{
- return NULL;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpDrawHighlightBorder --
- *
- * This procedure draws a rectangular ring around the outside of
- * a widget to indicate that it has received the input focus.
- *
- * On the Macintosh, this puts a 1 pixel border in the bgGC color
- * between the widget and the focus ring, except in the case where
- * highlightWidth is 1, in which case the border is left out.
- *
- * For proper Mac L&F, use highlightWidth of 3.
- *
- * Results:
- * None.
- *
- * Side effects:
- * A rectangle "width" pixels wide is drawn in "drawable",
- * corresponding to the outer area of "tkwin".
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpDrawHighlightBorder (
- Tk_Window tkwin,
- GC fgGC,
- GC bgGC,
- int highlightWidth,
- Drawable drawable)
-{
- if (highlightWidth == 1) {
- TkDrawInsetFocusHighlight (tkwin, fgGC, highlightWidth, drawable, 0);
- } else {
- TkDrawInsetFocusHighlight (tkwin, bgGC, highlightWidth, drawable, 0);
- if (fgGC != bgGC) {
- TkDrawInsetFocusHighlight (tkwin, fgGC, highlightWidth - 1,
- drawable, 0);
- }
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpDrawFrame --
- *
- * This procedure draws the rectangular frame area. If the user
- * has requested themeing, it draws with the background theme.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Draws inside the tkwin area.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpDrawFrame(
- Tk_Window tkwin,
- Tk_3DBorder border,
- int highlightWidth,
- int borderWidth,
- int relief)
-{
- if (useThemedToplevel && Tk_IsTopLevel(tkwin)) {
- static Tk_3DBorder themedBorder = NULL;
-
- if (!themedBorder) {
- themedBorder = Tk_Get3DBorder(NULL, tkwin,
- "systemWindowHeaderBackground");
- }
- if (themedBorder) {
- border = themedBorder;
- }
- }
-
- Tk_Fill3DRectangle(tkwin, Tk_WindowId(tkwin),
- border, highlightWidth, highlightWidth,
- Tk_Width(tkwin) - 2 * highlightWidth,
- Tk_Height(tkwin) - 2 * highlightWidth,
- borderWidth, relief);
-}
-
-/*
- * Local Variables:
- * mode: objc
- * c-basic-offset: 4
- * fill-column: 79
- * coding: utf-8
- * End:
- */
diff --git a/tk8.6/macosx/tkMacOSXEmbed.c b/tk8.6/macosx/tkMacOSXEmbed.c
deleted file mode 100644
index f6c32b3..0000000
--- a/tk8.6/macosx/tkMacOSXEmbed.c
+++ /dev/null
@@ -1,1236 +0,0 @@
-/*
- * tkMacOSXEmbed.c --
- *
- * This file contains platform-specific procedures for theMac to provide
- * basic operations needed for application embedding (where one
- * application can use as its main window an internal window from some
- * other application). Currently only Toplevel embedding within the same
- * Tk application is allowed on the Macintosh.
- *
- * Copyright (c) 1996-1997 Sun Microsystems, Inc.
- * Copyright 2001-2009, Apple Inc.
- * Copyright (c) 2006-2009 Daniel A. Steffen <das@users.sourceforge.net>
- *
- * See the file "license.terms" for information on usage and redistribution
- * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
- */
-
-#include "tkMacOSXPrivate.h"
-#include "tkBusy.h"
-
-/*
- * One of the following structures exists for each container in this
- * application. It keeps track of the container window and its associated
- * embedded window.
- */
-
-typedef struct Container {
- Window parent; /* The Mac Drawable for the parent of the pair
- * (the container). */
- TkWindow *parentPtr; /* Tk's information about the container, or
- * NULL if the container isn't in this
- * process. */
- Window embedded; /* The MacDrawable for the embedded window.
- * Starts off as None, but gets filled in when
- * the window is eventually created. */
- TkWindow *embeddedPtr; /* Tk's information about the embedded window,
- * or NULL if the embedded application isn't
- * in this process. */
- struct Container *nextPtr; /* Next in list of all containers in this
- * process. */
-} Container;
-
-static Container *firstContainerPtr = NULL;
- /* First in list of all containers managed by
- * this process. */
-/*
- * Globals defined in this file:
- */
-
-TkMacOSXEmbedHandler *tkMacOSXEmbedHandler = NULL;
-
-/*
- * Prototypes for static procedures defined in this file:
- */
-
-static void ContainerEventProc(ClientData clientData, XEvent *eventPtr);
-static void EmbeddedEventProc(ClientData clientData, XEvent *eventPtr);
-static void EmbedActivateProc(ClientData clientData, XEvent *eventPtr);
-static void EmbedFocusProc(ClientData clientData, XEvent *eventPtr);
-static void EmbedGeometryRequest(Container *containerPtr, int width,
- int height);
-static void EmbedSendConfigure(Container *containerPtr);
-static void EmbedStructureProc(ClientData clientData, XEvent *eventPtr);
-static void EmbedWindowDeleted(TkWindow *winPtr);
-
-/*
- *----------------------------------------------------------------------
- *
- * Tk_MacOSXSetEmbedHandler --
- *
- * Registers a handler for an in process form of embedding, like Netscape
- * plugins, where Tk is loaded into the process, but does not control the
- * main window
- *
- * Results:
- * None
- *
- * Side effects:
- * The embed handler is set.
- *
- *----------------------------------------------------------------------
- */
-
-void
-Tk_MacOSXSetEmbedHandler(
- Tk_MacOSXEmbedRegisterWinProc *registerWinProc,
- Tk_MacOSXEmbedGetGrafPortProc *getPortProc,
- Tk_MacOSXEmbedMakeContainerExistProc *containerExistProc,
- Tk_MacOSXEmbedGetClipProc *getClipProc,
- Tk_MacOSXEmbedGetOffsetInParentProc *getOffsetProc)
-{
- if (tkMacOSXEmbedHandler == NULL) {
- tkMacOSXEmbedHandler = ckalloc(sizeof(TkMacOSXEmbedHandler));
- }
- tkMacOSXEmbedHandler->registerWinProc = registerWinProc;
- tkMacOSXEmbedHandler->getPortProc = getPortProc;
- tkMacOSXEmbedHandler->containerExistProc = containerExistProc;
- tkMacOSXEmbedHandler->getClipProc = getClipProc;
- tkMacOSXEmbedHandler->getOffsetProc = getOffsetProc;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpMakeWindow --
- *
- * Creates an X Window (Mac subwindow).
- *
- * Results:
- * The window id is returned.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-Window
-TkpMakeWindow(
- TkWindow *winPtr,
- Window parent)
-{
- MacDrawable *macWin;
-
- /*
- * If this window is marked as embedded then the window structure should
- * have already been created in the TkpUseWindow function.
- */
-
- if (Tk_IsEmbedded(winPtr)) {
- macWin = winPtr->privatePtr;
- } else {
- /*
- * Allocate sub window
- */
-
- macWin = ckalloc(sizeof(MacDrawable));
- if (macWin == NULL) {
- winPtr->privatePtr = NULL;
- return None;
- }
- macWin->winPtr = winPtr;
- winPtr->privatePtr = macWin;
- macWin->visRgn = NULL;
- macWin->aboveVisRgn = NULL;
- macWin->drawRgn = NULL;
- macWin->referenceCount = 0;
- macWin->flags = TK_CLIP_INVALID;
- macWin->view = nil;
- macWin->context = NULL;
- macWin->size = CGSizeZero;
- if (Tk_IsTopLevel(macWin->winPtr)) {
- /*
- * This will be set when we are mapped.
- */
-
- macWin->xOff = 0;
- macWin->yOff = 0;
- macWin->toplevel = macWin;
- } else if (winPtr->parentPtr) {
- macWin->xOff = winPtr->parentPtr->privatePtr->xOff +
- winPtr->parentPtr->changes.border_width +
- winPtr->changes.x;
- macWin->yOff = winPtr->parentPtr->privatePtr->yOff +
- winPtr->parentPtr->changes.border_width +
- winPtr->changes.y;
- macWin->toplevel = winPtr->parentPtr->privatePtr->toplevel;
- }
- macWin->toplevel->referenceCount++;
- }
- return (Window) macWin;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpScanWindowId --
- *
- * Given a string, produce the corresponding Window Id.
- *
- * Results:
- * The return value is normally TCL_OK; in this case *idPtr will be set
- * to the Window value equivalent to string. If string is improperly
- * formed then TCL_ERROR is returned and an error message will be left in
- * the interp's result.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-int
-TkpScanWindowId(
- Tcl_Interp *interp,
- const char * string,
- Window *idPtr)
-{
- int code;
- Tcl_Obj obj;
-
- obj.refCount = 1;
- obj.bytes = (char *) string; /* DANGER?! */
- obj.length = strlen(string);
- obj.typePtr = NULL;
-
- code = Tcl_GetLongFromObj(interp, &obj, (long *)idPtr);
-
- if (obj.refCount > 1) {
- Tcl_Panic("invalid sharing of Tcl_Obj on C stack");
- }
- if (obj.typePtr && obj.typePtr->freeIntRepProc) {
- obj.typePtr->freeIntRepProc(&obj);
- }
- return code;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpUseWindow --
- *
- * This procedure causes a Tk window to use a given X window as its
- * parent window, rather than the root window for the screen. It is
- * invoked by an embedded application to specify the window in which it
- * is embedded.
- *
- * Results:
- * The return value is normally TCL_OK. If an error occurs (such as
- * string not being a valid window spec), then the return value is
- * TCL_ERROR and an error message is left in the interp's result if
- * interp is non-NULL.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-int
-TkpUseWindow(
- Tcl_Interp *interp, /* If not NULL, used for error reporting if
- * string is bogus. */
- Tk_Window tkwin, /* Tk window that does not yet have an
- * associated X window. */
- const char *string) /* String identifying an X window to use for
- * tkwin; must be an integer value. */
-{
- TkWindow *winPtr = (TkWindow *) tkwin;
- TkWindow *usePtr;
- MacDrawable *parent, *macWin;
- Container *containerPtr;
-
- if (winPtr->window != None) {
- Tcl_SetObjResult(interp, Tcl_NewStringObj(
- "can't modify container after widget is created", -1));
- Tcl_SetErrorCode(interp, "TK", "EMBED", "POST_CREATE", NULL);
- return TCL_ERROR;
- }
-
- /*
- * Decode the container window ID, and look for it among the list of
- * available containers.
- *
- * N.B. For now, we are limiting the containers to be in the same Tk
- * application as tkwin, since otherwise they would not be in our list of
- * containers.
- */
-
- if (TkpScanWindowId(interp, string, (Window *)&parent) != TCL_OK) {
- return TCL_ERROR;
- }
-
- usePtr = (TkWindow *) Tk_IdToWindow(winPtr->display, (Window) parent);
- if (usePtr != NULL && !(usePtr->flags & TK_CONTAINER)) {
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "window \"%s\" doesn't have -container option set",
- usePtr->pathName));
- Tcl_SetErrorCode(interp, "TK", "EMBED", "CONTAINER", NULL);
- return TCL_ERROR;
- }
-
- /*
- * The code below can probably be simplified given we have already
- * discovered 'usePtr' above.
- */
-
- /*
- * Save information about the container and the embedded window in a
- * Container structure. Currently, there must already be an existing
- * Container structure, since we only allow the case where both container
- * and embedded app. are in the same process.
- */
-
- for (containerPtr = firstContainerPtr; containerPtr != NULL;
- containerPtr = containerPtr->nextPtr) {
- if (containerPtr->parent == (Window) parent) {
- winPtr->flags |= TK_BOTH_HALVES;
- containerPtr->parentPtr->flags |= TK_BOTH_HALVES;
- break;
- }
- }
-
- /*
- * Make the embedded window.
- */
-
- macWin = ckalloc(sizeof(MacDrawable));
- if (macWin == NULL) {
- winPtr->privatePtr = NULL;
- return TCL_ERROR;
- }
-
- macWin->winPtr = winPtr;
- winPtr->privatePtr = macWin;
-
- /*
- * The grafPtr will be NULL for a Tk in Tk embedded window. It is none of
- * our business what it is for a Tk not in Tk embedded window, but we will
- * initialize it to NULL, and let the registerWinProc set it. In any case,
- * you must always use TkMacOSXGetDrawablePort to get the portPtr. It will
- * correctly find the container's port.
- */
-
- macWin->view = nil;
- macWin->context = NULL;
- macWin->size = CGSizeZero;
- macWin->visRgn = NULL;
- macWin->aboveVisRgn = NULL;
- macWin->drawRgn = NULL;
- macWin->referenceCount = 0;
- macWin->flags = TK_CLIP_INVALID;
- macWin->toplevel = macWin;
- macWin->toplevel->referenceCount++;
-
- winPtr->flags |= TK_EMBEDDED;
-
- /*
- * Make a copy of the TK_EMBEDDED flag, since sometimes we need this to
- * get the port after the TkWindow structure has been freed.
- */
-
- macWin->flags |= TK_EMBEDDED;
-
- /*
- * Now check whether it is embedded in another Tk widget. If not (the
- * first case below) we see if there is an in-process embedding handler
- * registered, and if so, let that fill in the rest of the macWin.
- */
-
- if (containerPtr == NULL) {
- /*
- * If someone has registered an in-process embedding handler, then
- * see if it can handle this window...
- */
-
- if (tkMacOSXEmbedHandler == NULL ||
- tkMacOSXEmbedHandler->registerWinProc((long) parent,
- (Tk_Window) winPtr) != TCL_OK) {
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "The window ID %s does not correspond to a valid Tk Window",
- string));
- Tcl_SetErrorCode(interp, "TK", "EMBED", "HANDLE", NULL);
- return TCL_ERROR;
- }
-
- containerPtr = ckalloc(sizeof(Container));
-
- containerPtr->parentPtr = NULL;
- containerPtr->embedded = (Window) macWin;
- containerPtr->embeddedPtr = macWin->winPtr;
- containerPtr->nextPtr = firstContainerPtr;
- firstContainerPtr = containerPtr;
- } else {
- /*
- * The window is embedded in another Tk window.
- */
-
- macWin->xOff = parent->winPtr->privatePtr->xOff +
- parent->winPtr->changes.border_width +
- winPtr->changes.x;
- macWin->yOff = parent->winPtr->privatePtr->yOff +
- parent->winPtr->changes.border_width +
- winPtr->changes.y;
-
- /*
- * Finish filling up the container structure with the embedded
- * window's information.
- */
-
- containerPtr->embedded = (Window) macWin;
- containerPtr->embeddedPtr = macWin->winPtr;
-
- /*
- * Create an event handler to clean up the Container structure when
- * tkwin is eventually deleted.
- */
-
- Tk_CreateEventHandler(tkwin, StructureNotifyMask, EmbeddedEventProc,
- winPtr);
- }
-
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpMakeContainer --
- *
- * This procedure is called to indicate that a particular window will be
- * a container for an embedded application. This changes certain aspects
- * of the window's behavior, such as whether it will receive events
- * anymore.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpMakeContainer(
- Tk_Window tkwin) /* Token for a window that is about to become
- * a container. */
-{
- TkWindow *winPtr = (TkWindow *) tkwin;
- Container *containerPtr;
-
- /*
- * Register the window as a container so that, for example, we can make
- * sure the argument to -use is valid.
- */
-
- Tk_MakeWindowExist(tkwin);
- containerPtr = ckalloc(sizeof(Container));
- containerPtr->parent = Tk_WindowId(tkwin);
- containerPtr->parentPtr = winPtr;
- containerPtr->embedded = None;
- containerPtr->embeddedPtr = NULL;
- containerPtr->nextPtr = firstContainerPtr;
- firstContainerPtr = containerPtr;
- winPtr->flags |= TK_CONTAINER;
-
- /*
- * Request SubstructureNotify events so that we can find out when the
- * embedded application creates its window or attempts to resize it. Also
- * watch Configure events on the container so that we can resize the child
- * to match. Also, pass activate events from the container down to the
- * embedded toplevel.
- */
-
- Tk_CreateEventHandler(tkwin,
- SubstructureNotifyMask|SubstructureRedirectMask,
- ContainerEventProc, winPtr);
- Tk_CreateEventHandler(tkwin, StructureNotifyMask, EmbedStructureProc,
- containerPtr);
- Tk_CreateEventHandler(tkwin, ActivateMask, EmbedActivateProc,
- containerPtr);
- Tk_CreateEventHandler(tkwin, FocusChangeMask, EmbedFocusProc,
- containerPtr);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXContainerId --
- *
- * Given an embedded window, this procedure returns the MacDrawable
- * identifier for the associated container window.
- *
- * Results:
- * The return value is the MacDrawable for winPtr's container window.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-MacDrawable *
-TkMacOSXContainerId(
- TkWindow *winPtr) /* Tk's structure for an embedded window. */
-{
- Container *containerPtr;
-
- for (containerPtr = firstContainerPtr; containerPtr != NULL;
- containerPtr = containerPtr->nextPtr) {
- if (containerPtr->embeddedPtr == winPtr) {
- return (MacDrawable *) containerPtr->parent;
- }
- }
- Tcl_Panic("TkMacOSXContainerId couldn't find window");
- return None;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXGetHostToplevel --
- *
- * Given the TkWindow, return the MacDrawable for the outermost toplevel
- * containing it. This will be a real Macintosh window.
- *
- * Results:
- * Returns a MacDrawable corresponding to a Macintosh Toplevel
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-MacDrawable *
-TkMacOSXGetHostToplevel(
- TkWindow *winPtr) /* Tk's structure for a window. */
-{
- TkWindow *contWinPtr, *topWinPtr;
-
- topWinPtr = winPtr->privatePtr->toplevel->winPtr;
- if (!Tk_IsEmbedded(topWinPtr)) {
- return winPtr->privatePtr->toplevel;
- }
- contWinPtr = TkpGetOtherWindow(topWinPtr);
-
- /*
- * TODO: Here we should handle out of process embedding.
- */
-
- if (contWinPtr == NULL) {
- return None;
- }
- return TkMacOSXGetHostToplevel(contWinPtr);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpClaimFocus --
- *
- * This procedure is invoked when someone asks for the input focus to be
- * put on a window in an embedded application, but the application
- * doesn't currently have the focus. It requests the input focus from the
- * container application.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The input focus may change.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpClaimFocus(
- TkWindow *topLevelPtr, /* Top-level window containing desired focus
- * window; should be embedded. */
- int force) /* One means that the container should claim
- * the focus if it doesn't currently have
- * it. */
-{
- XEvent event;
- Container *containerPtr;
-
- if (!(topLevelPtr->flags & TK_EMBEDDED)) {
- return;
- }
-
- for (containerPtr = firstContainerPtr;
- containerPtr->embeddedPtr != topLevelPtr;
- containerPtr = containerPtr->nextPtr) {
- /* Empty loop body. */
- }
-
- event.xfocus.type = FocusIn;
- event.xfocus.serial = LastKnownRequestProcessed(topLevelPtr->display);
- event.xfocus.send_event = 1;
- event.xfocus.display = topLevelPtr->display;
- event.xfocus.window = containerPtr->parent;
- event.xfocus.mode = EMBEDDED_APP_WANTS_FOCUS;
- event.xfocus.detail = force;
- Tk_QueueWindowEvent(&event,TCL_QUEUE_TAIL);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpTestembedCmd --
- *
- * This procedure implements the "testembed" command. It returns some or
- * all of the information in the list pointed to by firstContainerPtr.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-int
-TkpTestembedCmd(
- ClientData clientData, /* Main window for application. */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument strings. */
-{
- int all;
- Container *containerPtr;
- Tcl_DString dString;
- char buffer[50];
-
- if ((objc > 1) && (strcmp(Tcl_GetString(objv[1]), "all") == 0)) {
- all = 1;
- } else {
- all = 0;
- }
- Tcl_DStringInit(&dString);
- for (containerPtr = firstContainerPtr; containerPtr != NULL;
- containerPtr = containerPtr->nextPtr) {
- Tcl_DStringStartSublist(&dString);
- if (containerPtr->parent == None) {
- Tcl_DStringAppendElement(&dString, "");
- } else if (all) {
- sprintf(buffer, "0x%x", (int) containerPtr->parent);
- Tcl_DStringAppendElement(&dString, buffer);
- } else {
- Tcl_DStringAppendElement(&dString, "XXX");
- }
- if (containerPtr->parentPtr == NULL) {
- Tcl_DStringAppendElement(&dString, "");
- } else {
- Tcl_DStringAppendElement(&dString,
- containerPtr->parentPtr->pathName);
- }
- if (containerPtr->embedded == None) {
- Tcl_DStringAppendElement(&dString, "");
- } else if (all) {
- sprintf(buffer, "0x%x", (int) containerPtr->embedded);
- Tcl_DStringAppendElement(&dString, buffer);
- } else {
- Tcl_DStringAppendElement(&dString, "XXX");
- }
- if (containerPtr->embeddedPtr == NULL) {
- Tcl_DStringAppendElement(&dString, "");
- } else {
- Tcl_DStringAppendElement(&dString,
- containerPtr->embeddedPtr->pathName);
- }
- Tcl_DStringEndSublist(&dString);
- }
- Tcl_DStringResult(interp, &dString);
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpRedirectKeyEvent --
- *
- * This procedure is invoked when a key press or release event arrives
- * for an application that does not believe it owns the input focus. This
- * can happen because of embedding; for example, X can send an event to
- * an embedded application when the real focus window is in the container
- * application and is an ancestor of the container. This procedure's job
- * is to forward the event back to the application where it really
- * belongs.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The event may get sent to a different application.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpRedirectKeyEvent(
- TkWindow *winPtr, /* Window to which the event was originally
- * reported. */
- XEvent *eventPtr) /* X event to redirect (should be KeyPress or
- * KeyRelease). */
-{
- /* TODO: Implement this or decide it definitely needs no implementation */
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpGetOtherWindow --
- *
- * If both the container and embedded window are in the same process,
- * this procedure will return either one, given the other.
- *
- * Results:
- * If winPtr is a container, the return value is the token for the
- * embedded window, and vice versa. If the "other" window isn't in this
- * process, NULL is returned.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-TkWindow *
-TkpGetOtherWindow(
- TkWindow *winPtr) /* Tk's structure for a container or embedded
- * window. */
-{
- Container *containerPtr;
-
- /*
- * TkpGetOtherWindow returns NULL if both windows are not in the same
- * process...
- */
-
- if (!(winPtr->flags & TK_BOTH_HALVES)) {
- return NULL;
- }
-
- for (containerPtr = firstContainerPtr; containerPtr != NULL;
- containerPtr = containerPtr->nextPtr) {
- if (containerPtr->embeddedPtr == winPtr) {
- return containerPtr->parentPtr;
- } else if (containerPtr->parentPtr == winPtr) {
- return containerPtr->embeddedPtr;
- }
- }
- return NULL;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * EmbeddedEventProc --
- *
- * This procedure is invoked by the Tk event dispatcher when various
- * useful events are received for a window that is embedded in
- * another application.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Our internal state gets cleaned up when an embedded window is
- * destroyed.
- *
- *----------------------------------------------------------------------
- */
-
-static void
-EmbeddedEventProc(
- ClientData clientData, /* Token for container window. */
- XEvent *eventPtr) /* ResizeRequest event. */
-{
- TkWindow *winPtr = clientData;
-
- if (eventPtr->type == DestroyNotify) {
- EmbedWindowDeleted(winPtr);
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * ContainerEventProc --
- *
- * This procedure is invoked by the Tk event dispatcher when various
- * useful events are received for the children of a container window. It
- * forwards relevant information, such as geometry requests, from the
- * events into the container's application.
- *
- * NOTE: on the Mac, only the DestroyNotify branch is ever taken. We
- * don't synthesize the other events.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Depends on the event. For example, when ConfigureRequest events occur,
- * geometry information gets set for the container window.
- *
- *----------------------------------------------------------------------
- */
-
-static void
-ContainerEventProc(
- ClientData clientData, /* Token for container window. */
- XEvent *eventPtr) /* ResizeRequest event. */
-{
- TkWindow *winPtr = clientData;
- Container *containerPtr;
- Tk_ErrorHandler errHandler;
-
- if (!firstContainerPtr) {
- /*
- * When the interpreter is being dismantled this can be nil.
- */
- return;
- }
-
- /*
- * Ignore any X protocol errors that happen in this procedure (almost any
- * operation could fail, for example, if the embedded application has
- * deleted its window).
- */
-
- errHandler = Tk_CreateErrorHandler(eventPtr->xfocus.display, -1,
- -1, -1, NULL, NULL);
-
- /*
- * Find the Container structure associated with the parent window.
- */
-
- for (containerPtr = firstContainerPtr;
- containerPtr->parent != eventPtr->xmaprequest.parent;
- containerPtr = containerPtr->nextPtr) {
- if (containerPtr == NULL) {
- Tcl_Panic("ContainerEventProc couldn't find Container record");
- }
- }
-
- if (eventPtr->type == CreateNotify) {
- /*
- * A new child window has been created in the container. Record its id
- * in the Container structure (if more than one child is created, just
- * remember the last one and ignore the earlier ones).
- */
-
- containerPtr->embedded = eventPtr->xcreatewindow.window;
- } else if (eventPtr->type == ConfigureRequest) {
- if ((eventPtr->xconfigurerequest.x != 0)
- || (eventPtr->xconfigurerequest.y != 0)) {
- /*
- * The embedded application is trying to move itself, which isn't
- * legal. At this point, the window hasn't actually moved, but we
- * need to send it a ConfigureNotify event to let it know that its
- * request has been denied. If the embedded application was also
- * trying to resize itself, a ConfigureNotify will be sent by the
- * geometry management code below, so we don't need to do
- * anything. Otherwise, generate a synthetic event.
- */
-
- if ((eventPtr->xconfigurerequest.width == winPtr->changes.width)
- && (eventPtr->xconfigurerequest.height
- == winPtr->changes.height)) {
- EmbedSendConfigure(containerPtr);
- }
- }
- EmbedGeometryRequest(containerPtr,
- eventPtr->xconfigurerequest.width,
- eventPtr->xconfigurerequest.height);
- } else if (eventPtr->type == MapRequest) {
- /*
- * The embedded application's map request was ignored and simply
- * passed on to us, so we have to map the window for it to appear on
- * the screen.
- */
-
- XMapWindow(eventPtr->xmaprequest.display,
- eventPtr->xmaprequest.window);
- } else if (eventPtr->type == DestroyNotify) {
- /*
- * The embedded application is gone. Destroy the container window.
- */
-
- Tk_DestroyWindow((Tk_Window) winPtr);
- }
- Tk_DeleteErrorHandler(errHandler);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * EmbedStructureProc --
- *
- * This procedure is invoked by the Tk event dispatcher when a container
- * window owned by this application gets resized (and also at several
- * other times that we don't care about). This procedure reflects the
- * size change in the embedded window that corresponds to the container.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The embedded window gets resized to match the container.
- *
- *----------------------------------------------------------------------
- */
-
-static void
-EmbedStructureProc(
- ClientData clientData, /* Token for container window. */
- XEvent *eventPtr) /* ResizeRequest event. */
-{
- Container *containerPtr = clientData;
- Tk_ErrorHandler errHandler;
-
- if (eventPtr->type == ConfigureNotify) {
- if (containerPtr->embedded != None) {
- /*
- * Ignore errors, since the embedded application could have
- * deleted its window.
- */
-
- errHandler = Tk_CreateErrorHandler(eventPtr->xfocus.display, -1,
- -1, -1, NULL, NULL);
- Tk_MoveResizeWindow((Tk_Window) containerPtr->embeddedPtr, 0, 0,
- (unsigned) Tk_Width((Tk_Window) containerPtr->parentPtr),
- (unsigned) Tk_Height((Tk_Window)containerPtr->parentPtr));
- Tk_DeleteErrorHandler(errHandler);
- }
- } else if (eventPtr->type == DestroyNotify) {
- EmbedWindowDeleted(containerPtr->parentPtr);
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * EmbedActivateProc --
- *
- * This procedure is invoked by the Tk event dispatcher when Activate and
- * Deactivate events occur for a container window owned by this
- * application. It is responsible for forwarding an activate event down
- * into the embedded toplevel.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The X focus may change.
- *
- *----------------------------------------------------------------------
- */
-
-static void
-EmbedActivateProc(
- ClientData clientData, /* Token for container window. */
- XEvent *eventPtr) /* ResizeRequest event. */
-{
- Container *containerPtr = clientData;
-
- if (containerPtr->embeddedPtr != NULL) {
- if (eventPtr->type == ActivateNotify) {
- TkGenerateActivateEvents(containerPtr->embeddedPtr,1);
- } else if (eventPtr->type == DeactivateNotify) {
- TkGenerateActivateEvents(containerPtr->embeddedPtr,0);
- }
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * EmbedFocusProc --
- *
- * This procedure is invoked by the Tk event dispatcher when FocusIn and
- * FocusOut events occur for a container window owned by this
- * application. It is responsible for moving the focus back and forth
- * between a container application and an embedded application.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The X focus may change.
- *
- *----------------------------------------------------------------------
- */
-
-static void
-EmbedFocusProc(
- ClientData clientData, /* Token for container window. */
- XEvent *eventPtr) /* ResizeRequest event. */
-{
- Container *containerPtr = clientData;
- Display *display;
- XEvent event;
-
- if (containerPtr->embeddedPtr != NULL) {
- display = Tk_Display(containerPtr->parentPtr);
- event.xfocus.serial = LastKnownRequestProcessed(display);
- event.xfocus.send_event = false;
- event.xfocus.display = display;
- event.xfocus.mode = NotifyNormal;
- event.xfocus.window = containerPtr->embedded;
-
- if (eventPtr->type == FocusIn) {
- /*
- * The focus just arrived at the container. Change the X focus to
- * move it to the embedded application, if there is one. Ignore X
- * errors that occur during this operation (it's possible that the
- * new focus window isn't mapped).
- */
-
- event.xfocus.detail = NotifyNonlinear;
- event.xfocus.type = FocusIn;
- } else if (eventPtr->type == FocusOut) {
- /*
- * When the container gets a FocusOut event, it has to tell the
- * embedded app that it has lost the focus.
- */
-
- event.xfocus.type = FocusOut;
- event.xfocus.detail = NotifyNonlinear;
- }
-
- Tk_QueueWindowEvent(&event, TCL_QUEUE_MARK);
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * EmbedGeometryRequest --
- *
- * This procedure is invoked when an embedded application requests a
- * particular size. It processes the request (which may or may not
- * actually honor the request) and reflects the results back to the
- * embedded application.
- *
- * NOTE: On the Mac, this is a stub, since we don't synthesize
- * ConfigureRequest events.
- *
- * Results:
- * None.
- *
- * Side effects:
- * If we deny the child's size change request, a Configure event is
- * synthesized to let the child know how big it ought to be. Events get
- * processed while we're waiting for the geometry managers to do their
- * thing.
- *
- *----------------------------------------------------------------------
- */
-
-static void
-EmbedGeometryRequest(
- Container *containerPtr, /* Information about the embedding. */
- int width, int height) /* Size that the child has requested. */
-{
- TkWindow *winPtr = containerPtr->parentPtr;
-
- /*
- * Forward the requested size into our geometry management hierarchy via
- * the container window. We need to send a Configure event back to the
- * embedded application if we decide not to honor its request; to make
- * this happen, process all idle event handlers synchronously here (so
- * that the geometry managers have had a chance to do whatever they want
- * to do), and if the window's size didn't change then generate a
- * configure event.
- */
-
- Tk_GeometryRequest((Tk_Window) winPtr, width, height);
- while (Tcl_DoOneEvent(TCL_IDLE_EVENTS)) {
- /* Empty loop body. */
- }
- if ((winPtr->changes.width != width)
- || (winPtr->changes.height != height)) {
- EmbedSendConfigure(containerPtr);
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * EmbedSendConfigure --
- *
- * This is currently a stub. It is called to notify an embedded
- * application of its current size and location. This procedure is called
- * when the embedded application made a geometry request that we did not
- * grant, so that the embedded application knows that its geometry didn't
- * change after all. It is a response to ConfigureRequest events, which
- * we do not currently synthesize on the Mac
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-static void
-EmbedSendConfigure(
- Container *containerPtr) /* Information about the embedding. */
-{
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * EmbedWindowDeleted --
- *
- * This procedure is invoked when a window involved in embedding (as
- * either the container or the embedded application) is destroyed. It
- * cleans up the Container structure for the window.
- *
- * Results:
- * None.
- *
- * Side effects:
- * A Container structure may be freed.
- *
- *----------------------------------------------------------------------
- */
-
-static void
-EmbedWindowDeleted(
- TkWindow *winPtr) /* Tk's information about window that
- * was deleted. */
-{
- Container *containerPtr, *prevPtr;
-
- /*
- * Find the Container structure for this window. Delete the information
- * about the embedded application and free the container's record.
- */
-
- prevPtr = NULL;
- containerPtr = firstContainerPtr;
- while (1) {
- if (containerPtr->embeddedPtr == winPtr) {
- /*
- * We also have to destroy our parent, to clean up the container.
- * Fabricate an event to do this.
- */
-
- if (containerPtr->parentPtr != NULL &&
- containerPtr->parentPtr->flags & TK_BOTH_HALVES) {
- XEvent event;
-
- event.xany.serial =
- LastKnownRequestProcessed(Tk_Display(containerPtr->parentPtr));
- event.xany.send_event = False;
- event.xany.display = Tk_Display(containerPtr->parentPtr);
-
- event.xany.type = DestroyNotify;
- event.xany.window = containerPtr->parent;
- event.xdestroywindow.event = containerPtr->parent;
- Tk_QueueWindowEvent(&event, TCL_QUEUE_HEAD);
- }
-
- containerPtr->embedded = None;
- containerPtr->embeddedPtr = NULL;
- break;
- }
- if (containerPtr->parentPtr == winPtr) {
- containerPtr->parentPtr = NULL;
- break;
- }
- prevPtr = containerPtr;
- containerPtr = containerPtr->nextPtr;
- }
- if ((containerPtr->embeddedPtr == NULL)
- && (containerPtr->parentPtr == NULL)) {
- if (prevPtr == NULL) {
- firstContainerPtr = containerPtr->nextPtr;
- } else {
- prevPtr->nextPtr = containerPtr->nextPtr;
- }
- ckfree(containerPtr);
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpShowBusyWindow, TkpHideBusyWindow, TkpMakeTransparentWindowExist,
- * TkpCreateBusy --
- *
- * Portability layer for busy windows. Holds platform-specific gunk for
- * the [tk busy] command, which is currently a dummy implementation for
- * OSX/Aqua. The individual functions are supposed to do the following:
- *
- * TkpShowBusyWindow --
- * Make the busy window appear.
- *
- * TkpHideBusyWindow --
- * Make the busy window go away.
- *
- * TkpMakeTransparentWindowExist --
- * Actually make a transparent window.
- *
- * TkpCreateBusy --
- * Creates the platform-specific part of a busy window structure.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpShowBusyWindow(
- TkBusy busy)
-{
-}
-
-void
-TkpHideBusyWindow(
- TkBusy busy)
-{
-}
-
-void
-TkpMakeTransparentWindowExist(
- Tk_Window tkwin, /* Token for window. */
- Window parent) /* Parent window. */
-{
-}
-
-void
-TkpCreateBusy(
- Tk_FakeWin *winPtr,
- Tk_Window tkRef,
- Window* parentPtr,
- Tk_Window tkParent,
- TkBusy busy)
-{
-}
-
-/*
- * Local Variables:
- * mode: objc
- * c-basic-offset: 4
- * fill-column: 79
- * coding: utf-8
- * End:
- */
diff --git a/tk8.6/macosx/tkMacOSXEntry.c b/tk8.6/macosx/tkMacOSXEntry.c
deleted file mode 100644
index ab236c6..0000000
--- a/tk8.6/macosx/tkMacOSXEntry.c
+++ /dev/null
@@ -1,267 +0,0 @@
-/*
- * tkMacOSXEntry.c --
- *
- * This file implements the native aqua entry widget.
- *
- * Copyright 2001, Apple Computer, Inc.
- * Copyright (c) 2006-2009 Daniel A. Steffen <das@users.sourceforge.net>
- * Copyright 2008-2009, Apple Inc.
- *
- * See the file "license.terms" for information on usage and redistribution
- * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
- */
-
-#include "tkMacOSXPrivate.h"
-#include "tkEntry.h"
-
-static ThemeButtonKind ComputeIncDecParameters(int height, int *width);
-
-#define HIOrientation kHIThemeOrientationNormal
-
-/*
- *--------------------------------------------------------------
- *
- * ComputeIncDecParameters --
- *
- * This procedure figures out which of the kThemeIncDec buttons to use.
- * It also sets width to the width of the IncDec button.
- *
- * Results:
- * The ThemeButtonKind of the button we should use.
- *
- * Side effects:
- * May draw the entry border into pixmap.
- *
- *--------------------------------------------------------------
- */
-
-static ThemeButtonKind
-ComputeIncDecParameters(
- int height,
- int *width)
-{
- ThemeButtonKind kind;
-
- if (height < 11 || height > 28) {
- *width = 0;
- kind = (ThemeButtonKind) 0;
- } else {
- if (height >= 21) {
- *width = 13;
- kind = kThemeIncDecButton;
- } else if (height >= 18) {
- *width = 12;
- kind = kThemeIncDecButtonSmall;
- } else {
- *width = 11;
- kind = kThemeIncDecButtonMini;
- }
- }
-
- return kind;
-}
-
-/*
- *--------------------------------------------------------------
- *
- * TkpDrawEntryBorderAndFocus --
- *
- * This procedure redraws the border of an entry window. It overrides the
- * generic border drawing code if the entry widget parameters are such
- * that the native widget drawing is a good fit. This version just
- * returns 1, so platforms that don't do special native drawing don't
- * have to implement it.
- *
- * Results:
- * 1 if it has drawn the border, 0 if not.
- *
- * Side effects:
- * May draw the entry border into pixmap.
- *
- *--------------------------------------------------------------
- */
-
-int
-TkpDrawEntryBorderAndFocus(
- Entry *entryPtr,
- Drawable d,
- int isSpinbox)
-{
- CGRect bounds;
- TkMacOSXDrawingContext dc;
- GC bgGC;
- Tk_Window tkwin = entryPtr->tkwin;
- int oldWidth = 0;
- MacDrawable *macDraw = (MacDrawable *) d;
- const HIThemeFrameDrawInfo info = {
- .version = 0,
- .kind = kHIThemeFrameTextFieldSquare,
- .state = (entryPtr->state == STATE_DISABLED ? kThemeStateInactive :
- kThemeStateActive),
- .isFocused = (entryPtr->flags & GOT_FOCUS ? 1 : 0),
- };
-
- /*
- * I use 6 as the borderwidth. 2 of the 5 go into the actual frame the 3
- * are because the Mac OS Entry widgets leave more space around the Text
- * than Tk does on X11.
- */
-
- if (entryPtr->borderWidth != MAC_OSX_ENTRY_BORDER
- || entryPtr->highlightWidth != MAC_OSX_FOCUS_WIDTH
- || entryPtr->relief != MAC_OSX_ENTRY_RELIEF) {
- return 0;
- }
-
- /*
- * For the spinbox, we have to make the entry part smaller by the size of
- * the buttons. We also leave 2 pixels to the left (as per the HIG) and
- * space for one pixel to the right, 'cause it makes the buttons look
- * nicer.
- */
-
- if (isSpinbox) {
- int incDecWidth;
-
- oldWidth = Tk_Width(tkwin);
-
- ComputeIncDecParameters(Tk_Height(tkwin) - 2 * MAC_OSX_FOCUS_WIDTH,
- &incDecWidth);
- Tk_Width(tkwin) -= incDecWidth + 1;
- }
-
- /*
- * The focus ring is drawn with an Alpha at the outside part of the ring,
- * so we have to draw over the edges of the ring before drawing the focus
- * or the text will peep through.
- */
-
- bgGC = Tk_GCForColor(entryPtr->highlightBgColorPtr, d);
- TkDrawInsetFocusHighlight(entryPtr->tkwin, bgGC, MAC_OSX_FOCUS_WIDTH, d, 0);
-
- /*
- * Inset the entry Frame by the maximum width of the focus rect, which is
- * 3 according to the Carbon docs.
- */
-
- bounds.origin.x = macDraw->xOff + MAC_OSX_FOCUS_WIDTH;
- bounds.origin.y = macDraw->yOff + MAC_OSX_FOCUS_WIDTH;
- bounds.size.width = Tk_Width(tkwin) - 2*MAC_OSX_FOCUS_WIDTH;
- bounds.size.height = Tk_Height(tkwin) - 2*MAC_OSX_FOCUS_WIDTH;
- if (!TkMacOSXSetupDrawingContext(d, NULL, 1, &dc)) {
- return 0;
- }
- ChkErr(HIThemeDrawFrame, &bounds, &info, dc.context, HIOrientation);
- TkMacOSXRestoreDrawingContext(&dc);
- if (isSpinbox) {
- Tk_Width(tkwin) = oldWidth;
- }
- return 1;
-}
-
-/*
- *--------------------------------------------------------------
- *
- * TkpDrawSpinboxButtons --
- *
- * This procedure redraws the buttons of an spinbox widget. It overrides
- * the generic button drawing code if the spinbox widget parameters are
- * such that the native widget drawing is a good fit. This version just
- * returns 0, so platforms that don't do special native drawing don't
- * have to implement it.
- *
- * Results:
- * 1 if it has drawn the border, 0 if not.
- *
- * Side effects:
- * May draw the entry border into pixmap.
- *
- *--------------------------------------------------------------
- */
-
-int
-TkpDrawSpinboxButtons(
- Spinbox *sbPtr,
- Drawable d)
-{
- CGRect bounds;
- Tk_Window tkwin = sbPtr->entry.tkwin;
- int height = Tk_Height(tkwin);
- int buttonHeight = height - 2 * MAC_OSX_FOCUS_WIDTH;
- int incDecWidth;
- TkMacOSXDrawingContext dc;
- XRectangle rects[1];
- GC bgGC;
- MacDrawable *macDraw = (MacDrawable *) d;
- HIThemeButtonDrawInfo info = {
- .version = 0,
- .adornment = kThemeAdornmentNone,
- };
-
- /*
- * FIXME: RAISED really makes more sense
- */
-
- if (sbPtr->buRelief != TK_RELIEF_FLAT) {
- return 0;
- }
-
- /*
- * The actual sizes of the IncDec button are 21 for the normal, 18 for the
- * small and 15 for the mini. But the spinbox still looks okay if the
- * entry is a little bigger than this, so we give it a little slop.
- */
-
- info.kind = ComputeIncDecParameters(buttonHeight, &incDecWidth);
- if (info.kind == (ThemeButtonKind) 0) {
- return 0;
- }
-
- if (sbPtr->entry.state == STATE_DISABLED) {
- info.state = kThemeStateInactive;
- info.value = kThemeButtonOff;
- } else if (sbPtr->selElement == SEL_BUTTONUP) {
- info.state = kThemeStatePressedUp;
- info.value = kThemeButtonOn;
- } else if (sbPtr->selElement == SEL_BUTTONDOWN) {
- info.state = kThemeStatePressedDown;
- info.value = kThemeButtonOn;
- } else {
- info.state = kThemeStateActive;
- info.value = kThemeButtonOff;
- }
-
- bounds.origin.x = macDraw->xOff + Tk_Width(tkwin) - incDecWidth - 1;
- bounds.origin.y = macDraw->yOff + MAC_OSX_FOCUS_WIDTH;
- bounds.size.width = incDecWidth;
- bounds.size.height = Tk_Height(tkwin) - 2*MAC_OSX_FOCUS_WIDTH;
-
- /*
- * We had to make the entry part of the window smaller so that we wouldn't
- * overdraw the spin buttons with the focus highlight. So now we have to
- * draw the highlightbackground.
- */
-
- bgGC = Tk_GCForColor(sbPtr->entry.highlightBgColorPtr, d);
- rects[0].x = bounds.origin.x;
- rects[0].y = 0;
- rects[0].width = Tk_Width(tkwin);
- rects[0].height = Tk_Height(tkwin);
- XFillRectangles(Tk_Display(tkwin), d, bgGC, rects, 1);
-
- if (!TkMacOSXSetupDrawingContext(d, NULL, 1, &dc)) {
- return 0;
- }
- ChkErr(HIThemeDrawButton, &bounds, &info, dc.context, HIOrientation, NULL);
- TkMacOSXRestoreDrawingContext(&dc);
- return 1;
-}
-
-/*
- * Local Variables:
- * mode: objc
- * c-basic-offset: 4
- * fill-column: 79
- * coding: utf-8
- * End:
- */
diff --git a/tk8.6/macosx/tkMacOSXEvent.c b/tk8.6/macosx/tkMacOSXEvent.c
deleted file mode 100644
index 798c73c..0000000
--- a/tk8.6/macosx/tkMacOSXEvent.c
+++ /dev/null
@@ -1,159 +0,0 @@
-/*
- * tkMacOSXEvent.c --
- *
- * This file contains the basic Mac OS X Event handling routines.
- *
- * Copyright (c) 1995-1997 Sun Microsystems, Inc.
- * Copyright 2001-2009, Apple Inc.
- * Copyright (c) 2005-2009 Daniel A. Steffen <das@users.sourceforge.net>
- *
- * See the file "license.terms" for information on usage and redistribution
- * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
- */
-
-#include "tkMacOSXPrivate.h"
-#include "tkMacOSXEvent.h"
-#include "tkMacOSXDebug.h"
-#include "tkMacOSXConstants.h"
-
-#pragma mark TKApplication(TKEvent)
-
-enum {
- NSWindowWillMoveEventType = 20
-};
-
-@implementation TKApplication(TKEvent)
-/* TODO: replace by +[addLocalMonitorForEventsMatchingMask ? */
-- (NSEvent *) tkProcessEvent: (NSEvent *) theEvent
-{
-#ifdef TK_MAC_DEBUG_EVENTS
- TKLog(@"-[%@(%p) %s] %@", [self class], self, _cmd, theEvent);
-#endif
- NSEvent *processedEvent = theEvent;
- NSEventType type = [theEvent type];
- NSInteger subtype;
-
- switch ((NSInteger)type) {
- case NSAppKitDefined:
- subtype = [theEvent subtype];
-
- switch (subtype) {
- /* Ignored at the moment. */
- case NSApplicationActivatedEventType:
- break;
- case NSApplicationDeactivatedEventType:
- break;
- case NSWindowExposedEventType:
- break;
- case NSScreenChangedEventType:
- break;
- case NSWindowMovedEventType:
- break;
- case NSWindowWillMoveEventType:
- break;
-
- default:
- break;
- }
- break; /* AppkitEvent. Return theEvent */
- case NSKeyUp:
- case NSKeyDown:
- case NSFlagsChanged:
- processedEvent = [self tkProcessKeyEvent:theEvent];
- break; /* Key event. Return the processed event. */
- case NSLeftMouseDown:
- case NSLeftMouseUp:
- case NSRightMouseDown:
- case NSRightMouseUp:
- case NSLeftMouseDragged:
- case NSRightMouseDragged:
- case NSMouseMoved:
- case NSMouseEntered:
- case NSMouseExited:
- case NSScrollWheel:
- case NSOtherMouseDown:
- case NSOtherMouseUp:
- case NSOtherMouseDragged:
- case NSTabletPoint:
- case NSTabletProximity:
- processedEvent = [self tkProcessMouseEvent:theEvent];
- break; /* Mouse event. Return the processed event. */
-#if 0
- case NSSystemDefined:
- subtype = [theEvent subtype];
- break;
- case NSApplicationDefined: {
- id win;
- win = [theEvent window];
- break;
- }
- case NSCursorUpdate:
- break;
- case NSEventTypeGesture:
- case NSEventTypeMagnify:
- case NSEventTypeRotate:
- case NSEventTypeSwipe:
- case NSEventTypeBeginGesture:
- case NSEventTypeEndGesture:
- break;
-#endif
-
- default:
- break; /* return theEvent */
- }
- return processedEvent;
-}
-@end
-
-#pragma mark -
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXFlushWindows --
- *
- * This routine is a stub called by XSync, which is called during the Tk
- * update command. The language specification does not require that the
- * update command be synchronous but many of the tests assume that is the
- * case. It is not naturally the case on macOS since many idle tasks are
- * run inside of the drawRect method of a window's contentView, and that
- * method will not be called until after this function returns. To make
- * the tests work, we attempt to force this to be synchronous by waiting
- * until drawRect has been called for each window. The mechanism we use
- * for this is to have drawRect post an ApplicationDefined NSEvent on the
- * AppKit event queue when it finishes drawing, and wait for it here.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Calls the drawRect method of the contentView of each visible
- * window.
- *
- *----------------------------------------------------------------------
- */
-
-MODULE_SCOPE void
-TkMacOSXFlushWindows(void)
-{
- NSArray *macWindows = [NSApp orderedWindows];
- if ([NSApp simulateDrawing]) {
- [NSApp setSimulateDrawing:NO];
- return;
- }
- for (NSWindow *w in macWindows) {
- if (TkMacOSXGetXWindow(w)) {
- [w displayIfNeeded];
- }
- }
-}
-
-
-/*
- * Local Variables:
- * mode: objc
- * c-basic-offset: 4
- * fill-column: 79
- * coding: utf-8
- * End:
- */
diff --git a/tk8.6/macosx/tkMacOSXEvent.h b/tk8.6/macosx/tkMacOSXEvent.h
deleted file mode 100644
index 46d1585..0000000
--- a/tk8.6/macosx/tkMacOSXEvent.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * tkMacOSXEvent.h --
- *
- * Declarations of Macintosh specific functions for implementing the
- * Mac OS X Notifier.
- *
- * Copyright 2001-2009, Apple Inc.
- * Copyright (c) 2005-2009 Daniel A. Steffen <das@users.sourceforge.net>
- *
- * See the file "license.terms" for information on usage and redistribution
- * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
- */
-
-#ifndef _TKMACEVENT
-#define _TKMACEVENT
-
-#ifndef _TKMACINT
-#include "tkMacOSXInt.h"
-#endif
-
-MODULE_SCOPE void TkMacOSXFlushWindows(void);
-
-#endif
diff --git a/tk8.6/macosx/tkMacOSXFont.c b/tk8.6/macosx/tkMacOSXFont.c
deleted file mode 100644
index 30e318c..0000000
--- a/tk8.6/macosx/tkMacOSXFont.c
+++ /dev/null
@@ -1,1326 +0,0 @@
-/*
- * tkMacOSXFont.c --
- *
- * Contains the Macintosh implementation of the platform-independant
- * font package interface.
- *
- * Copyright 2002-2004 Benjamin Riefenstahl, Benjamin.Riefenstahl@epost.de
- * Copyright (c) 2006-2009 Daniel A. Steffen <das@users.sourceforge.net>
- * Copyright 2008-2009, Apple Inc.
- *
- * See the file "license.terms" for information on usage and redistribution
- * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
- */
-
-#include "tkMacOSXPrivate.h"
-#include "tkMacOSXFont.h"
-#include "tkMacOSXConstants.h"
-
-#define defaultOrientation kCTFontDefaultOrientation
-#define verticalOrientation kCTFontVerticalOrientation
-#define fixedPitch kCTFontUserFixedPitchFontType
-
-/*
-#ifdef TK_MAC_DEBUG
-#define TK_MAC_DEBUG_FONTS
-#endif
-*/
-
-/*
- * The following structure represents our Macintosh-specific implementation
- * of a font object.
- */
-
-typedef struct {
- TkFont font; /* Stuff used by generic font package. Must
- * be first in structure. */
-
- NSFont *nsFont;
- NSDictionary *nsAttributes;
-} MacFont;
-
-/*
- * The names for our "native" fonts.
- */
-
-#define SYSTEMFONT_NAME "system"
-#define APPLFONT_NAME "application"
-#define MENUITEMFONT_NAME "menu"
-
-struct SystemFontMapEntry {
- const ThemeFontID id;
- const char *systemName;
- const char *tkName;
- const char *tkName1;
-};
-
-#define ThemeFont(n, ...) { kTheme##n##Font, "system" #n "Font", ##__VA_ARGS__ }
-static const struct SystemFontMapEntry systemFontMap[] = {
- ThemeFont(System, "TkDefaultFont", "TkIconFont"),
- ThemeFont(EmphasizedSystem, "TkCaptionFont"),
- ThemeFont(SmallSystem, "TkHeadingFont", "TkTooltipFont"),
- ThemeFont(SmallEmphasizedSystem),
- ThemeFont(Application, "TkTextFont"),
- ThemeFont(Label, "TkSmallCaptionFont"),
- ThemeFont(Views),
- ThemeFont(MenuTitle),
- ThemeFont(MenuItem, "TkMenuFont"),
- ThemeFont(MenuItemMark),
- ThemeFont(MenuItemCmdKey),
- ThemeFont(WindowTitle),
- ThemeFont(PushButton),
- ThemeFont(UtilityWindowTitle),
- ThemeFont(AlertHeader),
- ThemeFont(Toolbar),
- ThemeFont(MiniSystem),
- { kThemeSystemFontDetail, "systemDetailSystemFont" },
- { kThemeSystemFontDetailEmphasized, "systemDetailEmphasizedSystemFont" },
- { -1, NULL }
-};
-#undef ThemeFont
-
-static int antialiasedTextEnabled = -1;
-static NSCharacterSet *whitespaceCharacterSet = nil;
-static NSCharacterSet *lineendingCharacterSet = nil;
-
-static void GetTkFontAttributesForNSFont(NSFont *nsFont,
- TkFontAttributes *faPtr);
-static NSFont *FindNSFont(const char *familyName, NSFontTraitMask traits,
- NSInteger weight, CGFloat size, int fallbackToDefault);
-static void InitFont(NSFont *nsFont, const TkFontAttributes *reqFaPtr,
- MacFont * fontPtr);
-static int CreateNamedSystemFont(Tcl_Interp *interp, Tk_Window tkwin,
- const char* name, TkFontAttributes *faPtr);
-static void DrawCharsInContext(Display *display, Drawable drawable, GC gc,
- Tk_Font tkfont, const char *source, int numBytes, int rangeStart,
- int rangeLength, int x, int y, double angle);
-
-@interface NSFont(TKFont)
-- (NSFont *) bestMatchingFontForCharacters: (const UTF16Char *) characters
- length: (NSUInteger) length attributes: (NSDictionary *) attributes
- actualCoveredLength: (NSUInteger *) coveredLength;
-@end
-
-#pragma mark -
-#pragma mark Font Helpers:
-
-#define GetNSFontTraitsFromTkFontAttributes(faPtr) \
- ((faPtr)->weight == TK_FW_BOLD ? NSBoldFontMask : NSUnboldFontMask) | \
- ((faPtr)->slant == TK_FS_ITALIC ? NSItalicFontMask : NSUnitalicFontMask)
-
-/*
- *---------------------------------------------------------------------------
- *
- * GetTkFontAttributesForNSFont --
- *
- * Fill in TkFontAttributes for given NSFont.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *---------------------------------------------------------------------------
- */
-
-static void
-GetTkFontAttributesForNSFont(
- NSFont *nsFont,
- TkFontAttributes *faPtr)
-{
- NSFontTraitMask traits = [[NSFontManager sharedFontManager]
- traitsOfFont:nsFont];
-
- faPtr->family = Tk_GetUid([[nsFont familyName] UTF8String]);
- faPtr->size = [nsFont pointSize];
- faPtr->weight = (traits & NSBoldFontMask ? TK_FW_BOLD : TK_FW_NORMAL);
- faPtr->slant = (traits & NSItalicFontMask ? TK_FS_ITALIC : TK_FS_ROMAN);
-}
-
-/*
- *---------------------------------------------------------------------------
- *
- * FindNSFont --
- *
- * Find NSFont for given attributes. Use default values for missing
- * attributes, and do a case-insensitive search for font family names
- * if necessary. If fallbackToDefault flag is set, use the system font
- * as a last resort.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *---------------------------------------------------------------------------
- */
-
-static NSFont *
-FindNSFont(
- const char *familyName,
- NSFontTraitMask traits,
- NSInteger weight,
- CGFloat size,
- int fallbackToDefault)
-{
- NSFontManager *fm = [NSFontManager sharedFontManager];
- NSFont *nsFont, *dflt = nil;
- #define defaultFont (dflt ? dflt : (dflt = [NSFont systemFontOfSize:0]))
- NSString *family;
-
- if (familyName) {
- family = [[[NSString alloc] initWithUTF8String:familyName] autorelease];
- } else {
- family = [defaultFont familyName];
- }
- if (size == 0.0) {
- size = [defaultFont pointSize];
- }
- nsFont = [fm fontWithFamily:family traits:traits weight:weight size:size];
- if (!nsFont) {
- NSArray *availableFamilies = [fm availableFontFamilies];
- NSString *caseFamily = nil;
-
- for (NSString *f in availableFamilies) {
- if ([family caseInsensitiveCompare:f] == NSOrderedSame) {
- caseFamily = f;
- break;
- }
- }
- if (caseFamily) {
- nsFont = [fm fontWithFamily:caseFamily traits:traits weight:weight
- size:size];
- }
- }
- if (!nsFont) {
- nsFont = [NSFont fontWithName:family size:size];
- }
- if (!nsFont && fallbackToDefault) {
- nsFont = [fm convertFont:defaultFont toFamily:family];
- nsFont = [fm convertFont:nsFont toSize:size];
- nsFont = [fm convertFont:nsFont toHaveTrait:traits];
- }
- [nsFont retain];
- #undef defaultFont
- return nsFont;
-}
-
-/*
- *---------------------------------------------------------------------------
- *
- * InitFont --
- *
- * Helper for TkpGetNativeFont() and TkpGetFontFromAttributes().
- *
- * Results:
- * Fills the MacFont structure.
- *
- * Side effects:
- * Memory allocated.
- *
- *---------------------------------------------------------------------------
- */
-
-static void
-InitFont(
- NSFont *nsFont,
- const TkFontAttributes *reqFaPtr, /* Can be NULL */
- MacFont *fontPtr)
-{
- TkFontAttributes *faPtr;
- TkFontMetrics *fmPtr;
- NSDictionary *nsAttributes;
- NSRect bounds;
- CGFloat kern = 0.0;
- NSFontRenderingMode renderingMode = NSFontDefaultRenderingMode;
- int ascent, descent/*, dontAA*/;
- static const UniChar ch[] = {'.', 'W', ' ', 0xc4, 0xc1, 0xc2, 0xc3, 0xc7};
- /* ., W, Space, Auml, Aacute, Acirc, Atilde, Ccedilla */
- #define nCh (sizeof(ch) / sizeof(UniChar))
- CGGlyph glyphs[nCh];
- CGRect boundingRects[nCh];
-
- fontPtr->font.fid = (Font) fontPtr;
- faPtr = &fontPtr->font.fa;
- if (reqFaPtr) {
- *faPtr = *reqFaPtr;
- } else {
- TkInitFontAttributes(faPtr);
- }
- fontPtr->nsFont = nsFont;
- // some don't like antialiasing on fixed-width even if bigger than limit
- // dontAA = [nsFont isFixedPitch] && fontPtr->font.fa.size <= 10;
- if (antialiasedTextEnabled >= 0/* || dontAA*/) {
- renderingMode = (antialiasedTextEnabled == 0/* || dontAA*/) ?
- NSFontIntegerAdvancementsRenderingMode :
- NSFontAntialiasedRenderingMode;
- }
- nsFont = [nsFont screenFontWithRenderingMode:renderingMode];
- GetTkFontAttributesForNSFont(nsFont, faPtr);
- fmPtr = &fontPtr->font.fm;
- fmPtr->ascent = floor([nsFont ascender] + [nsFont leading] + 0.5);
- fmPtr->descent = floor(-[nsFont descender] + 0.5);
- fmPtr->maxWidth = [nsFont maximumAdvancement].width;
- fmPtr->fixed = [nsFont isFixedPitch]; /* Does not work for all fonts */
-
- /*
- * The ascent, descent and fixed fields are not correct for all fonts, as
- * a workaround deduce that info from the metrics of some typical glyphs,
- * along with screenfont kerning (space advance difference to printer font)
- */
-
- bounds = [nsFont boundingRectForFont];
- if (CTFontGetGlyphsForCharacters((CTFontRef) nsFont, ch, glyphs, nCh)) {
- fmPtr->fixed = [nsFont advancementForGlyph:glyphs[0]].width ==
- [nsFont advancementForGlyph:glyphs[1]].width;
- bounds = NSRectFromCGRect(CTFontGetBoundingRectsForGlyphs((CTFontRef)
- nsFont, defaultOrientation, ch, boundingRects, nCh));
- kern = [nsFont advancementForGlyph:glyphs[2]].width -
- [fontPtr->nsFont advancementForGlyph:glyphs[2]].width;
- }
- descent = floor(-bounds.origin.y + 0.5);
- ascent = floor(bounds.size.height + bounds.origin.y + 0.5);
- if (ascent > fmPtr->ascent) {
- fmPtr->ascent = ascent;
- }
- if (descent > fmPtr->descent) {
- fmPtr->descent = descent;
- }
- nsAttributes = [NSDictionary dictionaryWithObjectsAndKeys:
- nsFont, NSFontAttributeName,
- [NSNumber numberWithInt:faPtr->underline ?
- NSUnderlineStyleSingle|NSUnderlinePatternSolid :
- NSUnderlineStyleNone], NSUnderlineStyleAttributeName,
- [NSNumber numberWithInt:faPtr->overstrike ?
- NSUnderlineStyleSingle|NSUnderlinePatternSolid :
- NSUnderlineStyleNone], NSStrikethroughStyleAttributeName,
- [NSNumber numberWithInt:fmPtr->fixed ? 0 : 1],
- NSLigatureAttributeName,
- [NSNumber numberWithDouble:kern], NSKernAttributeName, nil];
- fontPtr->nsAttributes = [nsAttributes retain];
- #undef nCh
-}
-
-/*
- *-------------------------------------------------------------------------
- *
- * CreateNamedSystemFont --
- *
- * Register a system font with the Tk named font mechanism.
- *
- * Results:
- *
- * Result from TkCreateNamedFont().
- *
- * Side effects:
- *
- * A new named font is added to the Tk font registry.
- *
- *-------------------------------------------------------------------------
- */
-
-static int
-CreateNamedSystemFont(
- Tcl_Interp *interp,
- Tk_Window tkwin,
- const char* name,
- TkFontAttributes *faPtr)
-{
- TkDeleteNamedFont(NULL, tkwin, name);
- return TkCreateNamedFont(interp, tkwin, name, faPtr);
-}
-
-#pragma mark -
-#pragma mark Font handling:
-
-/*
- *-------------------------------------------------------------------------
- *
- * TkpFontPkgInit --
- *
- * This procedure is called when an application is created. It
- * initializes all the structures that are used by the
- * platform-dependant code on a per application basis.
- * Note that this is called before TkpInit() !
- *
- * Results:
- * None.
- *
- * Side effects:
- * Initialize named system fonts.
- *
- *-------------------------------------------------------------------------
- */
-
-void
-TkpFontPkgInit(
- TkMainInfo *mainPtr) /* The application being created. */
-{
- Tcl_Interp *interp = mainPtr->interp;
- Tk_Window tkwin = (Tk_Window) mainPtr->winPtr;
- const struct SystemFontMapEntry *systemFont = systemFontMap;
- NSFont *nsFont;
- TkFontAttributes fa;
- NSMutableCharacterSet *cs;
- /* Since we called before TkpInit, we need our own autorelease pool. */
- NSAutoreleasePool *pool = [NSAutoreleasePool new];
-
- /* force this for now */
- if (!mainPtr->winPtr->mainPtr) {
- mainPtr->winPtr->mainPtr = mainPtr;
- }
- while (systemFont->systemName) {
- nsFont = (NSFont*) CTFontCreateUIFontForLanguage(
- HIThemeGetUIFontType(systemFont->id), 0, NULL);
- if (nsFont) {
- TkInitFontAttributes(&fa);
- GetTkFontAttributesForNSFont(nsFont, &fa);
- CreateNamedSystemFont(interp, tkwin, systemFont->systemName, &fa);
- if (systemFont->tkName) {
- CreateNamedSystemFont(interp, tkwin, systemFont->tkName, &fa);
- }
- if (systemFont->tkName1) {
- CreateNamedSystemFont(interp, tkwin, systemFont->tkName1, &fa);
- }
- CFRelease(nsFont);
- }
- systemFont++;
- }
- TkInitFontAttributes(&fa);
- nsFont = (NSFont*) CTFontCreateUIFontForLanguage(fixedPitch, 11, NULL);
- if (nsFont) {
- GetTkFontAttributesForNSFont(nsFont, &fa);
- CFRelease(nsFont);
- } else {
- fa.family = Tk_GetUid("Monaco");
- fa.size = 11;
- fa.weight = TK_FW_NORMAL;
- fa.slant = TK_FS_ROMAN;
- }
- CreateNamedSystemFont(interp, tkwin, "TkFixedFont", &fa);
- if (!whitespaceCharacterSet) {
- whitespaceCharacterSet = [[NSCharacterSet
- whitespaceAndNewlineCharacterSet] retain];
- cs = [whitespaceCharacterSet mutableCopy];
- [cs removeCharactersInString:@" "];
- lineendingCharacterSet = [cs copy];
- [cs release];
- }
- [pool drain];
-}
-
-/*
- *---------------------------------------------------------------------------
- *
- * TkpGetNativeFont --
- *
- * Map a platform-specific native font name to a TkFont.
- *
- * Results:
- * The return value is a pointer to a TkFont that represents the
- * native font. If a native font by the given name could not be
- * found, the return value is NULL.
- *
- * Every call to this procedure returns a new TkFont structure, even
- * if the name has already been seen before. The caller should call
- * TkpDeleteFont() when the font is no longer needed.
- *
- * The caller is responsible for initializing the memory associated
- * with the generic TkFont when this function returns and releasing
- * the contents of the generics TkFont before calling TkpDeleteFont().
- *
- * Side effects:
- * None.
- *
- *---------------------------------------------------------------------------
- */
-
-TkFont *
-TkpGetNativeFont(
- Tk_Window tkwin, /* For display where font will be used. */
- const char *name) /* Platform-specific font name. */
-{
- MacFont *fontPtr = NULL;
- ThemeFontID themeFontId;
- CTFontRef ctFont;
-
- if (strcmp(name, SYSTEMFONT_NAME) == 0) {
- themeFontId = kThemeSystemFont;
- } else if (strcmp(name, APPLFONT_NAME) == 0) {
- themeFontId = kThemeApplicationFont;
- } else if (strcmp(name, MENUITEMFONT_NAME) == 0) {
- themeFontId = kThemeMenuItemFont;
- } else {
- return NULL;
- }
- ctFont = CTFontCreateUIFontForLanguage(HIThemeGetUIFontType(
- themeFontId), 0, NULL);
- if (ctFont) {
- fontPtr = ckalloc(sizeof(MacFont));
- InitFont((NSFont*) ctFont, NULL, fontPtr);
- }
-
- return (TkFont *) fontPtr;
-}
-
-/*
- *---------------------------------------------------------------------------
- *
- * TkpGetFontFromAttributes --
- *
- * Given a desired set of attributes for a font, find a font with the
- * closest matching attributes.
- *
- * Results:
- * The return value is a pointer to a TkFont that represents the font
- * with the desired attributes. If a font with the desired attributes
- * could not be constructed, some other font will be substituted
- * automatically.
- *
- * Every call to this procedure returns a new TkFont structure, even
- * if the specified attributes have already been seen before. The
- * caller should call TkpDeleteFont() to free the platform- specific
- * data when the font is no longer needed.
- *
- * The caller is responsible for initializing the memory associated
- * with the generic TkFont when this function returns and releasing
- * the contents of the generic TkFont before calling TkpDeleteFont().
- *
- * Side effects:
- * None.
- *
- *---------------------------------------------------------------------------
- */
-
-TkFont *
-TkpGetFontFromAttributes(
- TkFont *tkFontPtr, /* If non-NULL, store the information in this
- * existing TkFont structure, rather than
- * allocating a new structure to hold the
- * font; the existing contents of the font
- * will be released. If NULL, a new TkFont
- * structure is allocated. */
- Tk_Window tkwin, /* For display where font will be used. */
- const TkFontAttributes *faPtr)
- /* Set of attributes to match. */
-{
- MacFont *fontPtr;
- int points = (int)(TkFontGetPoints(tkwin, faPtr->size) + 0.5);
- NSFontTraitMask traits = GetNSFontTraitsFromTkFontAttributes(faPtr);
- NSInteger weight = (faPtr->weight == TK_FW_BOLD ? 9 : 5);
- NSFont *nsFont;
-
- nsFont = FindNSFont(faPtr->family, traits, weight, points, 0);
- if (!nsFont) {
- const char *const *aliases = TkFontGetAliasList(faPtr->family);
-
- while (aliases && !nsFont) {
- nsFont = FindNSFont(*aliases++, traits, weight, points, 0);
- }
- }
- if (!nsFont) {
- nsFont = FindNSFont(faPtr->family, traits, weight, points, 1);
- }
- if (!nsFont) {
- Tcl_Panic("Could not determine NSFont from TkFontAttributes");
- }
- if (tkFontPtr == NULL) {
- fontPtr = ckalloc(sizeof(MacFont));
- } else {
- fontPtr = (MacFont *) tkFontPtr;
- TkpDeleteFont(tkFontPtr);
- }
- CFRetain(nsFont); /* Always needed to allow unconditional CFRelease below */
- InitFont(nsFont, faPtr, fontPtr);
-
- return (TkFont *) fontPtr;
-}
-
-/*
- *---------------------------------------------------------------------------
- *
- * TkpDeleteFont --
- *
- * Called to release a font allocated by TkpGetNativeFont() or
- * TkpGetFontFromAttributes(). The caller should have already
- * released the fields of the TkFont that are used exclusively by the
- * generic TkFont code.
- *
- * Results:
- * TkFont is deallocated.
- *
- * Side effects:
- * None.
- *
- *---------------------------------------------------------------------------
- */
-
-void
-TkpDeleteFont(
- TkFont *tkFontPtr) /* Token of font to be deleted. */
-{
- MacFont *fontPtr = (MacFont *) tkFontPtr;
-
- [fontPtr->nsAttributes release];
- fontPtr->nsAttributes = NULL;
- CFRelease(fontPtr->nsFont); /* Either a CTFontRef or a CFRetained NSFont */
-}
-
-/*
- *---------------------------------------------------------------------------
- *
- * TkpGetFontFamilies --
- *
- * Return information about the font families that are available on
- * the display of the given window.
- *
- * Results:
- * Modifies interp's result object to hold a list of all the available
- * font families.
- *
- * Side effects:
- * None.
- *
- *---------------------------------------------------------------------------
- */
-
-void
-TkpGetFontFamilies(
- Tcl_Interp *interp, /* Interp to hold result. */
- Tk_Window tkwin) /* For display to query. */
-{
- Tcl_Obj *resultPtr = Tcl_NewListObj(0, NULL);
- NSArray *list = [[NSFontManager sharedFontManager] availableFontFamilies];
-
- for (NSString *family in list) {
- Tcl_ListObjAppendElement(NULL, resultPtr,
- Tcl_NewStringObj([family UTF8String], -1));
- }
- Tcl_SetObjResult(interp, resultPtr);
-}
-
-/*
- *-------------------------------------------------------------------------
- *
- * TkpGetSubFonts --
- *
- * A function used by the testing package for querying the actual
- * screen fonts that make up a font object.
- *
- * Results:
- * Modifies interp's result object to hold a list containing the names
- * of the screen fonts that make up the given font object.
- *
- * Side effects:
- * None.
- *
- *-------------------------------------------------------------------------
- */
-
-void
-TkpGetSubFonts(
- Tcl_Interp *interp, /* Interp to hold result. */
- Tk_Font tkfont) /* Font object to query. */
-{
- MacFont *fontPtr = (MacFont *) tkfont;
- Tcl_Obj *resultPtr = Tcl_NewListObj(0, NULL);
-
- if (fontPtr->nsFont) {
- NSArray *list = [[fontPtr->nsFont fontDescriptor]
- objectForKey:NSFontCascadeListAttribute];
-
- for (NSFontDescriptor *subFontDesc in list) {
- NSString *family = [subFontDesc objectForKey:NSFontFamilyAttribute];
-
- if (family) {
- Tcl_ListObjAppendElement(NULL, resultPtr,
- Tcl_NewStringObj([family UTF8String], -1));
- }
- }
- }
- Tcl_SetObjResult(interp, resultPtr);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpGetFontAttrsForChar --
- *
- * Retrieve the font attributes of the actual font used to render a
- * given character.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The font attributes are stored in *faPtr.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpGetFontAttrsForChar(
- Tk_Window tkwin, /* Window on the font's display */
- Tk_Font tkfont, /* Font to query */
- int c, /* Character of interest */
- TkFontAttributes* faPtr) /* Output: Font attributes */
-{
- MacFont *fontPtr = (MacFont *) tkfont;
- NSFont *nsFont = fontPtr->nsFont;
- *faPtr = fontPtr->font.fa;
- if (nsFont && ![[nsFont coveredCharacterSet] characterIsMember:c]) {
- UTF16Char ch = (UTF16Char) c;
-
- nsFont = [nsFont bestMatchingFontForCharacters:&ch
- length:1 attributes:nil actualCoveredLength:NULL];
- if (nsFont) {
- GetTkFontAttributesForNSFont(nsFont, faPtr);
- }
- }
-}
-
-#pragma mark -
-#pragma mark Measuring and drawing:
-
-/*
- *---------------------------------------------------------------------------
- *
- * Tk_MeasureChars --
- *
- * Determine the number of characters from the string that will fit in
- * the given horizontal span. The measurement is done under the
- * assumption that Tk_DrawChars() will be used to actually display the
- * characters.
- *
- * With ATSUI we need the line context to do this right, so we have the
- * actual implementation in TkpMeasureCharsInContext().
- *
- * Results:
- * The return value is the number of bytes from source that fit into the
- * span that extends from 0 to maxLength. *lengthPtr is filled with the
- * x-coordinate of the right edge of the last character that did fit.
- *
- * Side effects:
- * None.
- *
- * Todo:
- * Effects of the "flags" parameter are untested.
- *
- *---------------------------------------------------------------------------
- */
-
-int
-Tk_MeasureChars(
- Tk_Font tkfont, /* Font in which characters will be drawn. */
- const char *source, /* UTF-8 string to be displayed. Need not be
- * '\0' terminated. */
- int numBytes, /* Maximum number of bytes to consider from
- * source string. */
- int maxLength, /* If >= 0, maxLength specifies the longest
- * permissible line length; don't consider any
- * character that would cross this x-position.
- * If < 0, then line length is unbounded and
- * the flags argument is ignored. */
- int flags, /* Various flag bits OR-ed together:
- * TK_PARTIAL_OK means include the last char
- * which only partially fit on this line.
- * TK_WHOLE_WORDS means stop on a word
- * boundary, if possible. TK_AT_LEAST_ONE
- * means return at least one character even if
- * no characters fit. */
- int *lengthPtr) /* Filled with x-location just after the
- * terminating character. */
-{
- return TkpMeasureCharsInContext(tkfont, source, numBytes, 0, numBytes,
- maxLength, flags, lengthPtr);
-}
-
-/*
- *---------------------------------------------------------------------------
- *
- * TkpMeasureCharsInContext --
- *
- * Determine the number of bytes from the string that will fit in the
- * given horizontal span. The measurement is done under the assumption
- * that TkpDrawCharsInContext() will be used to actually display the
- * characters.
- *
- * This one is almost the same as Tk_MeasureChars(), but with access to
- * all the characters on the line for context.
- *
- * Results:
- * The return value is the number of bytes from source that
- * fit into the span that extends from 0 to maxLength. *lengthPtr is
- * filled with the x-coordinate of the right edge of the last
- * character that did fit.
- *
- * Side effects:
- * None.
- *
- *---------------------------------------------------------------------------
- */
-
-int
-TkpMeasureCharsInContext(
- Tk_Font tkfont, /* Font in which characters will be drawn. */
- const char * source, /* UTF-8 string to be displayed. Need not be
- * '\0' terminated. */
- int numBytes, /* Maximum number of bytes to consider from
- * source string in all. */
- int rangeStart, /* Index of first byte to measure. */
- int rangeLength, /* Length of range to measure in bytes. */
- int maxLength, /* If >= 0, maxLength specifies the longest
- * permissible line length; don't consider any
- * character that would cross this x-position.
- * If < 0, then line length is unbounded and
- * the flags argument is ignored. */
- int flags, /* Various flag bits OR-ed together:
- * TK_PARTIAL_OK means include the last char
- * which only partially fits on this line.
- * TK_WHOLE_WORDS means stop on a word
- * boundary, if possible. TK_AT_LEAST_ONE
- * means return at least one character even
- * if no characters fit. If TK_WHOLE_WORDS
- * and TK_AT_LEAST_ONE are set and the first
- * word doesn't fit, we return at least one
- * character or whatever characters fit into
- * maxLength. TK_ISOLATE_END means that the
- * last character should not be considered in
- * context with the rest of the string (used
- * for breaking lines). */
- int *lengthPtr) /* Filled with x-location just after the
- * terminating character. */
-{
- const MacFont *fontPtr = (const MacFont *) tkfont;
- NSString *string;
- NSAttributedString *attributedString;
- CTTypesetterRef typesetter;
- CFIndex start, len;
- CFRange range = {0, 0};
- CTLineRef line;
- CGFloat offset = 0;
- CFIndex index;
- double width;
- int length, fit;
-
- if (rangeStart < 0 || rangeLength <= 0 ||
- rangeStart + rangeLength > numBytes ||
- (maxLength == 0 && !(flags & TK_AT_LEAST_ONE))) {
- *lengthPtr = 0;
- return 0;
- }
- if (maxLength > 32767) {
- maxLength = 32767;
- }
- string = [[NSString alloc] initWithBytesNoCopy:(void*)source
- length:numBytes encoding:NSUTF8StringEncoding freeWhenDone:NO];
- if (!string) {
- length = 0;
- fit = rangeLength;
- goto done;
- }
- attributedString = [[NSAttributedString alloc] initWithString:string
- attributes:fontPtr->nsAttributes];
- typesetter = CTTypesetterCreateWithAttributedString(
- (CFAttributedStringRef)attributedString);
- start = Tcl_NumUtfChars(source, rangeStart);
- len = Tcl_NumUtfChars(source + rangeStart, rangeLength);
- if (start > 0) {
- range.length = start;
- line = CTTypesetterCreateLine(typesetter, range);
- offset = CTLineGetTypographicBounds(line, NULL, NULL, NULL);
- CFRelease(line);
- }
- if (maxLength < 0) {
- index = len;
- range.length = len;
- line = CTTypesetterCreateLine(typesetter, range);
- width = CTLineGetTypographicBounds(line, NULL, NULL, NULL);
- CFRelease(line);
- } else {
- double maxWidth = maxLength + offset;
- NSCharacterSet *cs;
-
- /*
- * Get a line breakpoint in the source string.
- */
-
- index = start;
- if (flags & TK_WHOLE_WORDS) {
- index = CTTypesetterSuggestLineBreak(typesetter, start, maxWidth);
- if (index <= start && (flags & TK_AT_LEAST_ONE)) {
- flags &= ~TK_WHOLE_WORDS;
- }
- }
- if (index <= start && !(flags & TK_WHOLE_WORDS)) {
- index = CTTypesetterSuggestClusterBreak(typesetter, start, maxWidth);
- }
-
- /*
- * Trim right whitespace/lineending characters.
- */
-
- cs = (index <= len && (flags & TK_WHOLE_WORDS)) ?
- whitespaceCharacterSet : lineendingCharacterSet;
- while (index > start &&
- [cs characterIsMember:[string characterAtIndex:(index - 1)]]) {
- index--;
- }
-
- /*
- * If there is no line breakpoint in the source string between
- * its start and the index position that fits in maxWidth, then
- * CTTypesetterSuggestLineBreak() returns that very last index.
- * However if the TK_WHOLE_WORDS flag is set, we want to break
- * at a word boundary. In this situation, unless TK_AT_LEAST_ONE
- * is set, we must report that zero chars actually fit (in other
- * words the smallest word of the source string is still larger
- * than maxWidth).
- */
-
- if ((index >= start) && (index < len) &&
- (flags & TK_WHOLE_WORDS) && !(flags & TK_AT_LEAST_ONE) &&
- ![cs characterIsMember:[string characterAtIndex:index]]) {
- index = start;
- }
-
- if (index <= start && (flags & TK_AT_LEAST_ONE)) {
- index = start + 1;
- }
-
- /*
- * Now measure the string width in pixels.
- */
-
- if (index > 0) {
- range.length = index;
- line = CTTypesetterCreateLine(typesetter, range);
- width = CTLineGetTypographicBounds(line, NULL, NULL, NULL);
- CFRelease(line);
- } else {
- width = 0;
- }
- if (width < maxWidth && (flags & TK_PARTIAL_OK) && index < len) {
- range.length = ++index;
- line = CTTypesetterCreateLine(typesetter, range);
- width = CTLineGetTypographicBounds(line, NULL, NULL, NULL);
- CFRelease(line);
- }
-
- /* The call to CTTypesetterSuggestClusterBreak above will always
- return at least one character regardless of whether it exceeded
- it or not. Clean that up now. */
- while (width > maxWidth && !(flags & TK_PARTIAL_OK)
- && index > start+(flags & TK_AT_LEAST_ONE)) {
- range.length = --index;
- line = CTTypesetterCreateLine(typesetter, range);
- width = CTLineGetTypographicBounds(line, NULL, NULL, NULL);
- CFRelease(line);
- }
-
- }
- CFRelease(typesetter);
- [attributedString release];
- [string release];
- length = ceil(width - offset);
- fit = (Tcl_UtfAtIndex(source, index) - source) - rangeStart;
-done:
-#ifdef TK_MAC_DEBUG_FONTS
- TkMacOSXDbgMsg("measure: source=\"%s\" range=\"%.*s\" maxLength=%d "
- "flags='%s%s%s%s' -> width=%d bytesFit=%d\n", source, rangeLength,
- source+rangeStart, maxLength,
- flags & TK_PARTIAL_OK ? "partialOk " : "",
- flags & TK_WHOLE_WORDS ? "wholeWords " : "",
- flags & TK_AT_LEAST_ONE ? "atLeastOne " : "",
- flags & TK_ISOLATE_END ? "isolateEnd " : "",
- length, fit);
-#endif
- *lengthPtr = length;
- return fit;
-}
-
-/*
- *---------------------------------------------------------------------------
- *
- * Tk_DrawChars --
- *
- * Draw a string of characters on the screen.
- *
- * With ATSUI we need the line context to do this right, so we have the
- * actual implementation in TkpDrawCharsInContext().
- *
- * Results:
- * None.
- *
- * Side effects:
- * Information gets drawn on the screen.
- *
- *---------------------------------------------------------------------------
- */
-
-void
-Tk_DrawChars(
- Display *display, /* Display on which to draw. */
- Drawable drawable, /* Window or pixmap in which to draw. */
- GC gc, /* Graphics context for drawing characters. */
- Tk_Font tkfont, /* Font in which characters will be drawn; must
- * be the same as font used in GC. */
- const char *source, /* UTF-8 string to be displayed. Need not be
- * '\0' terminated. All Tk meta-characters
- * (tabs, control characters, and newlines)
- * should be stripped out of the string that
- * is passed to this function. If they are not
- * stripped out, they will be displayed as
- * regular printing characters. */
- int numBytes, /* Number of bytes in string. */
- int x, int y) /* Coordinates at which to place origin of the
- * string when drawing. */
-{
- DrawCharsInContext(display, drawable, gc, tkfont, source, numBytes,
- 0, numBytes, x, y, 0.0);
-}
-
-void
-TkDrawAngledChars(
- Display *display, /* Display on which to draw. */
- Drawable drawable, /* Window or pixmap in which to draw. */
- GC gc, /* Graphics context for drawing characters. */
- Tk_Font tkfont, /* Font in which characters will be drawn;
- * must be the same as font used in GC. */
- const char *source, /* UTF-8 string to be displayed. Need not be
- * '\0' terminated. All Tk meta-characters
- * (tabs, control characters, and newlines)
- * should be stripped out of the string that
- * is passed to this function. If they are not
- * stripped out, they will be displayed as
- * regular printing characters. */
- int numBytes, /* Number of bytes in string. */
- double x, double y, /* Coordinates at which to place origin of
- * string when drawing. */
- double angle) /* What angle to put text at, in degrees. */
-{
- DrawCharsInContext(display, drawable, gc, tkfont, source, numBytes,
- 0, numBytes, x, y, angle);
-}
-
-/*
- *---------------------------------------------------------------------------
- *
- * TkpDrawCharsInContext --
- *
- * Draw a string of characters on the screen like Tk_DrawChars(), with
- * access to all the characters on the line for context.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Information gets drawn on the screen.
- *
- * Todo:
- * Stippled text drawing.
- *
- *---------------------------------------------------------------------------
- */
-
-void
-TkpDrawCharsInContext(
- Display *display, /* Display on which to draw. */
- Drawable drawable, /* Window or pixmap in which to draw. */
- GC gc, /* Graphics context for drawing characters. */
- Tk_Font tkfont, /* Font in which characters will be drawn; must
- * be the same as font used in GC. */
- const char * source, /* UTF-8 string to be displayed. Need not be
- * '\0' terminated. All Tk meta-characters
- * (tabs, control characters, and newlines)
- * should be stripped out of the string that
- * is passed to this function. If they are not
- * stripped out, they will be displayed as
- * regular printing characters. */
- int numBytes, /* Number of bytes in string. */
- int rangeStart, /* Index of first byte to draw. */
- int rangeLength, /* Length of range to draw in bytes. */
- int x, int y) /* Coordinates at which to place origin of the
- * whole (not just the range) string when
- * drawing. */
-{
- DrawCharsInContext(display, drawable, gc, tkfont, source, numBytes,
- rangeStart, rangeLength, x, y, 0.0);
-}
-
-static void
-DrawCharsInContext(
- Display *display, /* Display on which to draw. */
- Drawable drawable, /* Window or pixmap in which to draw. */
- GC gc, /* Graphics context for drawing characters. */
- Tk_Font tkfont, /* Font in which characters will be drawn; must
- * be the same as font used in GC. */
- const char * source, /* UTF-8 string to be displayed. Need not be
- * '\0' terminated. All Tk meta-characters
- * (tabs, control characters, and newlines)
- * should be stripped out of the string that
- * is passed to this function. If they are not
- * stripped out, they will be displayed as
- * regular printing characters. */
- int numBytes, /* Number of bytes in string. */
- int rangeStart, /* Index of first byte to draw. */
- int rangeLength, /* Length of range to draw in bytes. */
- int x, int y, /* Coordinates at which to place origin of the
- * whole (not just the range) string when
- * drawing. */
- double angle)
-{
- const MacFont *fontPtr = (const MacFont *) tkfont;
- NSString *string;
- NSMutableDictionary *attributes;
- NSAttributedString *attributedString;
- CTTypesetterRef typesetter;
- CFIndex start, len;
- CTLineRef line;
- MacDrawable *macWin = (MacDrawable *) drawable;
- TkMacOSXDrawingContext drawingContext;
- CGContextRef context;
- CGColorRef fg;
- NSFont *nsFont;
- CGAffineTransform t;
- int h;
-
- if (rangeStart < 0 || rangeLength <= 0 ||
- rangeStart + rangeLength > numBytes ||
- !TkMacOSXSetupDrawingContext(drawable, gc, 1, &drawingContext)) {
- return;
- }
- string = [[NSString alloc] initWithBytesNoCopy:(void*)source
- length:numBytes encoding:NSUTF8StringEncoding freeWhenDone:NO];
- if (!string) {
- return;
- }
- context = drawingContext.context;
- fg = TkMacOSXCreateCGColor(gc, gc->foreground);
- attributes = [fontPtr->nsAttributes mutableCopy];
- [attributes setObject:(id)fg forKey:(id)kCTForegroundColorAttributeName];
- CFRelease(fg);
- nsFont = [attributes objectForKey:NSFontAttributeName];
- [nsFont setInContext:[NSGraphicsContext graphicsContextWithGraphicsPort:
- context flipped:NO]];
- CGContextSetTextMatrix(context, CGAffineTransformIdentity);
- attributedString = [[NSAttributedString alloc] initWithString:string
- attributes:attributes];
- typesetter = CTTypesetterCreateWithAttributedString(
- (CFAttributedStringRef)attributedString);
- x += macWin->xOff;
- y += macWin->yOff;
- h = drawingContext.portBounds.size.height;
- y = h - y;
- t = CGAffineTransformMake(1.0, 0.0, 0.0, -1.0, 0.0, h);
- if (angle != 0.0) {
- t = CGAffineTransformTranslate(CGAffineTransformRotate(
- CGAffineTransformTranslate(t, x, y), angle*PI/180.0), -x, -y);
- }
- CGContextConcatCTM(context, t);
- CGContextSetTextPosition(context, x, y);
- start = Tcl_NumUtfChars(source, rangeStart);
- len = Tcl_NumUtfChars(source, rangeStart + rangeLength);
- if (start > 0) {
- CGRect clipRect = CGRectInfinite, startBounds;
- line = CTTypesetterCreateLine(typesetter, CFRangeMake(0, start));
- startBounds = CTLineGetImageBounds(line, context);
- CFRelease(line);
- clipRect.origin.x = startBounds.origin.x + startBounds.size.width;
- CGContextClipToRect(context, clipRect);
- }
- line = CTTypesetterCreateLine(typesetter, CFRangeMake(0, len));
- CTLineDraw(line, context);
- CFRelease(line);
- CFRelease(typesetter);
- [attributedString release];
- [string release];
- [attributes release];
- TkMacOSXRestoreDrawingContext(&drawingContext);
-}
-
-#pragma mark -
-#pragma mark Accessors:
-
-/*
- *---------------------------------------------------------------------------
- *
- * TkMacOSXNSFontForFont --
- *
- * Return an NSFont for the given Tk_Font.
- *
- * Results:
- * NSFont*.
- *
- * Side effects:
- * None.
- *
- *---------------------------------------------------------------------------
- */
-
-MODULE_SCOPE NSFont*
-TkMacOSXNSFontForFont(
- Tk_Font tkfont)
-{
- return tkfont ? ((MacFont *)tkfont)->nsFont : nil;
-}
-
-/*
- *---------------------------------------------------------------------------
- *
- * TkMacOSXNSFontAttributesForFont --
- *
- * Return an NSDictionary of font attributes for the given Tk_Font.
- *
- * Results:
- * NSFont*.
- *
- * Side effects:
- * None.
- *
- *---------------------------------------------------------------------------
- */
-
-MODULE_SCOPE NSDictionary*
-TkMacOSXNSFontAttributesForFont(
- Tk_Font tkfont)
-{
- return tkfont ? ((MacFont *)tkfont)->nsAttributes : nil;
-}
-
-/*
- *---------------------------------------------------------------------------
- *
- * TkMacOSXIsCharacterMissing --
- *
- * Given a tkFont and a character determine whether the character has
- * a glyph defined in the font or not.
- *
- * Results:
- * Returns a 1 if the character is missing, a 0 if it is not.
- *
- * Side effects:
- * None.
- *
- *---------------------------------------------------------------------------
- */
-
-int
-TkMacOSXIsCharacterMissing(
- Tk_Font tkfont, /* The font we are looking in. */
- unsigned int searchChar) /* The character we are looking for. */
-{
- return 0;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXFontDescriptionForNSFontAndNSFontAttributes --
- *
- * Get text description of a font specified by NSFont and attributes.
- *
- * Results:
- * List object or NULL.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-MODULE_SCOPE Tcl_Obj *
-TkMacOSXFontDescriptionForNSFontAndNSFontAttributes(
- NSFont *nsFont,
- NSDictionary *nsAttributes)
-{
- Tcl_Obj *objv[6];
- int i = 0;
- const char *familyName = [[nsFont familyName] UTF8String];
-
- if (nsFont && familyName) {
- NSFontTraitMask traits = [[NSFontManager sharedFontManager]
- traitsOfFont:nsFont];
- id underline = [nsAttributes objectForKey:
- NSUnderlineStyleAttributeName];
- id strikethrough = [nsAttributes objectForKey:
- NSStrikethroughStyleAttributeName];
- objv[i++] = Tcl_NewStringObj(familyName, -1);
- objv[i++] = Tcl_NewIntObj([nsFont pointSize]);
-#define S(s) Tcl_NewStringObj(STRINGIFY(s),(int)(sizeof(STRINGIFY(s))-1))
- objv[i++] = (traits & NSBoldFontMask) ? S(bold) : S(normal);
- objv[i++] = (traits & NSItalicFontMask) ? S(italic) : S(roman);
- if ([underline respondsToSelector:@selector(intValue)] &&
- ([underline intValue] & (NSUnderlineStyleSingle |
- NSUnderlineStyleThick | NSUnderlineStyleDouble))) {
- objv[i++] = S(underline);
- }
- if ([strikethrough respondsToSelector:@selector(intValue)] &&
- ([strikethrough intValue] & (NSUnderlineStyleSingle |
- NSUnderlineStyleThick | NSUnderlineStyleDouble))) {
- objv[i++] = S(overstrike);
- }
-#undef S
- }
- return i ? Tcl_NewListObj(i, objv) : NULL;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXUseAntialiasedText --
- *
- * Enables or disables application-wide use of antialiased text (where
- * available). Sets up a linked Tcl global variable to allow
- * disabling of antialiased text from tcl.
- * The possible values for this variable are:
- *
- * -1 - Use system default as configurable in "System Prefs" -> "General".
- * 0 - Unconditionally disable antialiasing.
- * 1 - Unconditionally enable antialiasing.
- *
- * Results:
- *
- * TCL_OK.
- *
- * Side effects:
- *
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-MODULE_SCOPE int
-TkMacOSXUseAntialiasedText(
- Tcl_Interp * interp, /* The Tcl interpreter to receive the
- * variable.*/
- int enable) /* Initial value. */
-{
- static Boolean initialized = FALSE;
-
- if (!initialized) {
- initialized = TRUE;
-
- if (Tcl_CreateNamespace(interp, "::tk::mac", NULL, NULL) == NULL) {
- Tcl_ResetResult(interp);
- }
- if (Tcl_LinkVar(interp, "::tk::mac::antialiasedtext",
- (char *) &antialiasedTextEnabled,
- TCL_LINK_INT) != TCL_OK) {
- Tcl_ResetResult(interp);
- }
- }
- antialiasedTextEnabled = enable;
- return TCL_OK;
-}
-
-/*
- * Local Variables:
- * mode: objc
- * c-basic-offset: 4
- * fill-column: 79
- * coding: utf-8
- * End:
- */
diff --git a/tk8.6/macosx/tkMacOSXFont.h b/tk8.6/macosx/tkMacOSXFont.h
deleted file mode 100644
index 08380c4..0000000
--- a/tk8.6/macosx/tkMacOSXFont.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * tkMacOSXFont.h --
- *
- * Contains the Macintosh implementation of the platform-independant
- * font package interface.
- *
- * Copyright (c) 1990-1994 The Regents of the University of California.
- * Copyright (c) 1994-1997 Sun Microsystems, Inc.
- * Copyright 2001-2009, Apple Inc.
- * Copyright (c) 2006-2009 Daniel A. Steffen <das@users.sourceforge.net>
- *
- * See the file "license.terms" for information on usage and redistribution
- * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
- */
-
-#ifndef TKMACOSXFONT_H
-#define TKMACOSXFONT_H 1
-
-#include "tkFont.h"
-
-#ifndef _TKMACINT
-#include "tkMacOSXInt.h"
-#endif
-
-/*
- * Function prototypes
- */
-
-MODULE_SCOPE Tcl_Obj * TkMacOSXFontDescriptionForNSFontAndNSFontAttributes(
- NSFont *nsFont, NSDictionary *nsAttributes);
-
-#endif /*TKMACOSXFONT_H*/
diff --git a/tk8.6/macosx/tkMacOSXHLEvents.c b/tk8.6/macosx/tkMacOSXHLEvents.c
deleted file mode 100644
index 468e41c..0000000
--- a/tk8.6/macosx/tkMacOSXHLEvents.c
+++ /dev/null
@@ -1,547 +0,0 @@
-/*
- * tkMacOSXHLEvents.c --
- *
- * Implements high level event support for the Macintosh. Currently, the
- * only event that really does anything is the Quit event.
- *
- * Copyright (c) 1995-1997 Sun Microsystems, Inc.
- * Copyright 2001-2009, Apple Inc.
- * Copyright (c) 2006-2009 Daniel A. Steffen <das@users.sourceforge.net>
- * Copyright (c) 2015 Marc Culler
- *
- * See the file "license.terms" for information on usage and redistribution
- * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
- */
-
-#include "tkMacOSXPrivate.h"
-#include <sys/param.h>
-#define URL_MAX_LENGTH (17 + MAXPATHLEN)
-
-/*
- * This is a Tcl_Event structure that the Quit AppleEvent handler uses to
- * schedule the ReallyKillMe function.
- */
-
-typedef struct KillEvent {
- Tcl_Event header; /* Information that is standard for all
- * events. */
- Tcl_Interp *interp; /* Interp that was passed to the Quit
- * AppleEvent */
-} KillEvent;
-
-/*
- * Static functions used only in this file.
- */
-
-static void tkMacOSXProcessFiles(NSAppleEventDescriptor* event,
- NSAppleEventDescriptor* replyEvent,
- Tcl_Interp *interp,
- const char* procedure);
-static int MissedAnyParameters(const AppleEvent *theEvent);
-static int ReallyKillMe(Tcl_Event *eventPtr, int flags);
-
-#pragma mark TKApplication(TKHLEvents)
-
-@implementation TKApplication(TKHLEvents)
-- (void) terminate: (id) sender
-{
- [self handleQuitApplicationEvent:Nil withReplyEvent:Nil];
-}
-
-- (void) preferences: (id) sender
-{
- [self handleShowPreferencesEvent:Nil withReplyEvent:Nil];
-}
-
-- (void) handleQuitApplicationEvent: (NSAppleEventDescriptor *)event
- withReplyEvent: (NSAppleEventDescriptor *)replyEvent
-{
- KillEvent *eventPtr;
-
- if (_eventInterp) {
- /*
- * Call the exit command from the event loop, since you are not
- * supposed to call ExitToShell in an Apple Event Handler. We put this
- * at the head of Tcl's event queue because this message usually comes
- * when the Mac is shutting down, and we want to kill the shell as
- * quickly as possible.
- */
-
- eventPtr = ckalloc(sizeof(KillEvent));
- eventPtr->header.proc = ReallyKillMe;
- eventPtr->interp = _eventInterp;
-
- Tcl_QueueEvent((Tcl_Event *) eventPtr, TCL_QUEUE_HEAD);
- }
-}
-
-- (void) handleOpenApplicationEvent: (NSAppleEventDescriptor *)event
- withReplyEvent: (NSAppleEventDescriptor *)replyEvent
-{
- Tcl_Interp *interp = _eventInterp;
-
- if (interp &&
- Tcl_FindCommand(_eventInterp, "::tk::mac::OpenApplication", NULL, 0)){
- int code = Tcl_EvalEx(_eventInterp, "::tk::mac::OpenApplication",
- -1, TCL_EVAL_GLOBAL);
- if (code != TCL_OK) {
- Tcl_BackgroundException(_eventInterp, code);
- }
- }
-}
-
-- (void) handleReopenApplicationEvent: (NSAppleEventDescriptor *)event
- withReplyEvent: (NSAppleEventDescriptor *)replyEvent
-{
-#if MAC_OS_X_VERSION_MIN_REQUIRED < 1090
- ProcessSerialNumber thePSN = {0, kCurrentProcess};
- SetFrontProcess(&thePSN);
-#else
- [[NSApplication sharedApplication] activateIgnoringOtherApps: YES];
-#endif
- if (_eventInterp && Tcl_FindCommand(_eventInterp,
- "::tk::mac::ReopenApplication", NULL, 0)) {
- int code = Tcl_EvalEx(_eventInterp, "::tk::mac::ReopenApplication",
- -1, TCL_EVAL_GLOBAL);
- if (code != TCL_OK){
- Tcl_BackgroundException(_eventInterp, code);
- }
- }
-}
-
-- (void) handleShowPreferencesEvent: (NSAppleEventDescriptor *)event
- withReplyEvent: (NSAppleEventDescriptor *)replyEvent
-{
- if (_eventInterp &&
- Tcl_FindCommand(_eventInterp, "::tk::mac::ShowPreferences", NULL, 0)){
- int code = Tcl_EvalEx(_eventInterp, "::tk::mac::ShowPreferences",
- -1, TCL_EVAL_GLOBAL);
- if (code != TCL_OK) {
- Tcl_BackgroundException(_eventInterp, code);
- }
- }
-}
-
-- (void) handleOpenDocumentsEvent: (NSAppleEventDescriptor *)event
- withReplyEvent: (NSAppleEventDescriptor *)replyEvent
-{
- tkMacOSXProcessFiles(event, replyEvent, _eventInterp, "::tk::mac::OpenDocument");
-}
-
-- (void) handlePrintDocumentsEvent: (NSAppleEventDescriptor *)event
- withReplyEvent: (NSAppleEventDescriptor *)replyEvent
-{
- tkMacOSXProcessFiles(event, replyEvent, _eventInterp, "::tk::mac::PrintDocument");
-}
-
-- (void) handleDoScriptEvent: (NSAppleEventDescriptor *)event
- withReplyEvent: (NSAppleEventDescriptor *)replyEvent
-{
- OSStatus err;
- const AEDesc *theDesc = nil;
- DescType type = 0, initialType = 0;
- Size actual;
- int tclErr = -1;
- char URLBuffer[1 + URL_MAX_LENGTH];
- char errString[128];
- char typeString[5];
-
- /*
- * The DoScript event receives one parameter that should be text data or a
- * fileURL.
- */
-
- theDesc = [event aeDesc];
- if (theDesc == nil) {
- return;
- }
-
- err = AEGetParamPtr(theDesc, keyDirectObject, typeWildCard, &initialType,
- NULL, 0, NULL);
- if (err != noErr) {
- sprintf(errString, "AEDoScriptHandler: GetParamDesc error %d", (int)err);
- AEPutParamPtr((AppleEvent*)[replyEvent aeDesc], keyErrorString, typeChar,
- errString, strlen(errString));
- return;
- }
-
- if (MissedAnyParameters((AppleEvent*)theDesc)) {
- sprintf(errString, "AEDoScriptHandler: extra parameters");
- AEPutParamPtr((AppleEvent*)[replyEvent aeDesc], keyErrorString, typeChar,
- errString, strlen(errString));
- return;
- }
-
- if (initialType == typeFileURL || initialType == typeAlias) {
- /*
- * The descriptor can be coerced to a file url. Source the file, or
- * pass the path as a string argument to ::tk::mac::DoScriptFile if
- * that procedure exists.
- */
- err = AEGetParamPtr(theDesc, keyDirectObject, typeFileURL, &type,
- (Ptr) URLBuffer, URL_MAX_LENGTH, &actual);
- if (err == noErr && actual > 0){
- URLBuffer[actual] = '\0';
- NSString *urlString = [NSString stringWithUTF8String:(char*)URLBuffer];
- NSURL *fileURL = [NSURL URLWithString:urlString];
- Tcl_DString command;
- Tcl_DStringInit(&command);
- if (Tcl_FindCommand(_eventInterp, "::tk::mac::DoScriptFile", NULL, 0)){
- Tcl_DStringAppend(&command, "::tk::mac::DoScriptFile", -1);
- } else {
- Tcl_DStringAppend(&command, "source", -1);
- }
- Tcl_DStringAppendElement(&command, [[fileURL path] UTF8String]);
- tclErr = Tcl_EvalEx(_eventInterp, Tcl_DStringValue(&command),
- Tcl_DStringLength(&command), TCL_EVAL_GLOBAL);
- }
- } else if (noErr == AEGetParamPtr(theDesc, keyDirectObject, typeUTF8Text, &type,
- NULL, 0, &actual)) {
- if (actual > 0) {
- /*
- * The descriptor can be coerced to UTF8 text. Evaluate as Tcl, or
- * or pass the text as a string argument to ::tk::mac::DoScriptText
- * if that procedure exists.
- */
- char *data = ckalloc(actual + 1);
- if (noErr == AEGetParamPtr(theDesc, keyDirectObject, typeUTF8Text, &type,
- data, actual, NULL)) {
- if (Tcl_FindCommand(_eventInterp, "::tk::mac::DoScriptText", NULL, 0)){
- Tcl_DString command;
- Tcl_DStringInit(&command);
- Tcl_DStringAppend(&command, "::tk::mac::DoScriptText", -1);
- Tcl_DStringAppendElement(&command, data);
- tclErr = Tcl_EvalEx(_eventInterp, Tcl_DStringValue(&command),
- Tcl_DStringLength(&command), TCL_EVAL_GLOBAL);
- } else {
- tclErr = Tcl_EvalEx(_eventInterp, data, actual, TCL_EVAL_GLOBAL);
- }
- }
- ckfree(data);
- }
- } else {
- /*
- * The descriptor can not be coerced to a fileURL or UTF8 text.
- */
- for (int i = 0; i < 4; i++) {
- typeString[i] = ((char*)&initialType)[3-i];
- }
- typeString[4] = '\0';
- sprintf(errString, "AEDoScriptHandler: invalid script type '%s', "
- "must be coercable to 'furl' or 'utf8'", typeString);
- AEPutParamPtr((AppleEvent*)[replyEvent aeDesc], keyErrorString, typeChar, errString,
- strlen(errString));
- }
- /*
- * If we ran some Tcl code, put the result in the reply.
- */
- if (tclErr >= 0) {
- int reslen;
- const char *result =
- Tcl_GetStringFromObj(Tcl_GetObjResult(_eventInterp), &reslen);
- if (tclErr == TCL_OK) {
- AEPutParamPtr((AppleEvent*)[replyEvent aeDesc], keyDirectObject, typeChar,
- result, reslen);
- } else {
- AEPutParamPtr((AppleEvent*)[replyEvent aeDesc], keyErrorString, typeChar,
- result, reslen);
- AEPutParamPtr((AppleEvent*)[replyEvent aeDesc], keyErrorNumber, typeSInt32,
- (Ptr) &tclErr,sizeof(int));
- }
- }
- return;
-}
-@end
-
-#pragma mark -
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXProcessFiles --
- *
- * Extract a list of fileURLs from an AppleEvent and call the specified
- * procedure with the file paths as arguments.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The event is handled by running the procedure.
- *
- *----------------------------------------------------------------------
- */
-
-static void
-tkMacOSXProcessFiles(
- NSAppleEventDescriptor* event,
- NSAppleEventDescriptor* replyEvent,
- Tcl_Interp *interp,
- const char* procedure)
-{
- Tcl_Encoding utf8;
- const AEDesc *fileSpecDesc = nil;
- AEDesc contents;
- char URLString[1 + URL_MAX_LENGTH];
- NSURL *fileURL;
- DescType type;
- Size actual;
- long count, index;
- AEKeyword keyword;
- Tcl_DString command, pathName;
- int code;
-
- /*
- * Do nothing if we don't have an interpreter or the procedure doesn't exist.
- */
-
- if (!interp || !Tcl_FindCommand(interp, procedure, NULL, 0)) {
- return;
- }
-
- fileSpecDesc = [event aeDesc];
- if (fileSpecDesc == nil ) {
- return;
- }
-
- /*
- * The AppleEvent's descriptor should either contain a value of
- * typeObjectSpecifier or typeAEList. In the first case, the descriptor
- * can be treated as a list of size 1 containing a value which can be
- * coerced into a fileURL. In the second case we want to work with the list
- * itself. Values in the list will be coerced into fileURL's if possible;
- * otherwise they will be ignored.
- */
-
- /* Get a copy of the AppleEvent's descriptor. */
- AEGetParamDesc(fileSpecDesc, keyDirectObject, typeWildCard, &contents);
- if (contents.descriptorType == typeAEList) {
- fileSpecDesc = &contents;
- }
-
- if (AECountItems(fileSpecDesc, &count) != noErr) {
- AEDisposeDesc(&contents);
- return;
- }
-
- /*
- * Construct a Tcl command which calls the procedure, passing the
- * paths contained in the AppleEvent as arguments.
- */
-
- Tcl_DStringInit(&command);
- Tcl_DStringAppend(&command, procedure, -1);
- utf8 = Tcl_GetEncoding(NULL, "utf-8");
-
- for (index = 1; index <= count; index++) {
- if (noErr != AEGetNthPtr(fileSpecDesc, index, typeFileURL, &keyword,
- &type, (Ptr) URLString, URL_MAX_LENGTH, &actual)) {
- continue;
- }
- if (type != typeFileURL) {
- continue;
- }
- URLString[actual] = '\0';
- fileURL = [NSURL URLWithString:[NSString stringWithUTF8String:(char*)URLString]];
- if (fileURL == nil) {
- continue;
- }
- Tcl_ExternalToUtfDString(utf8, [[fileURL path] UTF8String], -1, &pathName);
- Tcl_DStringAppendElement(&command, Tcl_DStringValue(&pathName));
- Tcl_DStringFree(&pathName);
- }
-
- Tcl_FreeEncoding(utf8);
- AEDisposeDesc(&contents);
-
- /*
- * Handle the event by evaluating the Tcl expression we constructed.
- */
-
- code = Tcl_EvalEx(interp, Tcl_DStringValue(&command),
- Tcl_DStringLength(&command), TCL_EVAL_GLOBAL);
- if (code != TCL_OK) {
- Tcl_BackgroundException(interp, code);
- }
- Tcl_DStringFree(&command);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXInitAppleEvents --
- *
- * Register AppleEvent handlers with the NSAppleEventManager for
- * this NSApplication.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkMacOSXInitAppleEvents(
- Tcl_Interp *interp) /* not used */
-{
- NSAppleEventManager *aeManager = [NSAppleEventManager sharedAppleEventManager];
- static Boolean initialized = FALSE;
-
- if (!initialized) {
- initialized = TRUE;
-
- [aeManager setEventHandler:NSApp
- andSelector:@selector(handleQuitApplicationEvent:withReplyEvent:)
- forEventClass:kCoreEventClass andEventID:kAEQuitApplication];
-
- [aeManager setEventHandler:NSApp
- andSelector:@selector(handleOpenApplicationEvent:withReplyEvent:)
- forEventClass:kCoreEventClass andEventID:kAEOpenApplication];
-
- [aeManager setEventHandler:NSApp
- andSelector:@selector(handleReopenApplicationEvent:withReplyEvent:)
- forEventClass:kCoreEventClass andEventID:kAEReopenApplication];
-
- [aeManager setEventHandler:NSApp
- andSelector:@selector(handleShowPreferencesEvent:withReplyEvent:)
- forEventClass:kCoreEventClass andEventID:kAEShowPreferences];
-
- [aeManager setEventHandler:NSApp
- andSelector:@selector(handleOpenDocumentsEvent:withReplyEvent:)
- forEventClass:kCoreEventClass andEventID:kAEOpenDocuments];
-
- [aeManager setEventHandler:NSApp
- andSelector:@selector(handleOpenDocumentsEvent:withReplyEvent:)
- forEventClass:kCoreEventClass andEventID:kAEPrintDocuments];
-
- [aeManager setEventHandler:NSApp
- andSelector:@selector(handleDoScriptEvent:withReplyEvent:)
- forEventClass:kAEMiscStandards andEventID:kAEDoScript];
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXDoHLEvent --
- *
- * Dispatch an AppleEvent.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Depend on the AppleEvent.
- *
- *----------------------------------------------------------------------
- */
-
-int
-TkMacOSXDoHLEvent(
- void *theEvent)
-{
- /* According to the NSAppleEventManager reference:
- * "The theReply parameter always specifies a reply Apple event, never
- * nil. However, the handler should not fill out the reply if the
- * descriptor type for the reply event is typeNull, indicating the sender
- * does not want a reply."
- * The specified way to build such a non-nil descriptor is used here. But
- * on OSX 10.11, the compiler nonetheless generates a warning. I am
- * supressing the warning here -- maybe the warnings will stop in a future
- * compiler release.
- */
-#ifdef __clang__
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wnonnull"
-#endif
-
- NSAppleEventDescriptor* theReply = [NSAppleEventDescriptor nullDescriptor];
- NSAppleEventManager *aeManager = [NSAppleEventManager sharedAppleEventManager];
-
- return [aeManager dispatchRawAppleEvent:(const AppleEvent*)theEvent
- withRawReply: (AppleEvent *)theReply
- handlerRefCon: (SRefCon)0];
-
-#ifdef __clang__
-#pragma clang diagnostic pop
-#endif
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * ReallyKillMe --
- *
- * This procedure tries to kill the shell by running exit, called from
- * an event scheduled by the "Quit" AppleEvent handler.
- *
- * Results:
- * Runs the "exit" command which might kill the shell.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-ReallyKillMe(
- Tcl_Event *eventPtr,
- int flags)
-{
- Tcl_Interp *interp = ((KillEvent *) eventPtr)->interp;
- int quit = Tcl_FindCommand(interp, "::tk::mac::Quit", NULL, 0)!=NULL;
- int code = Tcl_EvalEx(interp, quit ? "::tk::mac::Quit" : "exit", -1, TCL_EVAL_GLOBAL);
-
- if (code != TCL_OK) {
- /*
- * Should be never reached...
- */
-
- Tcl_BackgroundException(interp, code);
- }
- return 1;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * MissedAnyParameters --
- *
- * Checks to see if parameters are still left in the event.
- *
- * Results:
- * True or false.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-MissedAnyParameters(
- const AppleEvent *theEvent)
-{
- DescType returnedType;
- Size actualSize;
- OSStatus err;
-
- err = AEGetAttributePtr(theEvent, keyMissedKeywordAttr,
- typeWildCard, &returnedType, NULL, 0, &actualSize);
-
- return (err != errAEDescNotFound);
-}
-
-
-/*
- * Local Variables:
- * mode: objc
- * c-basic-offset: 4
- * fill-column: 79
- * coding: utf-8
- * End:
- */
diff --git a/tk8.6/macosx/tkMacOSXImage.c b/tk8.6/macosx/tkMacOSXImage.c
deleted file mode 100644
index a5c870a..0000000
--- a/tk8.6/macosx/tkMacOSXImage.c
+++ /dev/null
@@ -1,584 +0,0 @@
-/*
- * tkMacOSXImage.c --
- *
- * The code in this file provides an interface for XImages,
- *
- * Copyright (c) 1995-1997 Sun Microsystems, Inc.
- * Copyright 2001-2009, Apple Inc.
- * Copyright (c) 2005-2009 Daniel A. Steffen <das@users.sourceforge.net>
- * Copyright 2017-2018 Marc Culler.
- *
- * See the file "license.terms" for information on usage and redistribution
- * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
- */
-
-#include "tkMacOSXPrivate.h"
-#include "xbytes.h"
-
-#pragma mark XImage handling
-
-int
-_XInitImageFuncPtrs(
- XImage *image)
-{
- return 0;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXCreateCGImageWithXImage --
- *
- * Create CGImage from XImage, copying the image data. Called
- * in Tk_PutImage and (currently) nowhere else.
- *
- * Results:
- * CGImage, release after use.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-static void ReleaseData(void *info, const void *data, size_t size) {
- ckfree(info);
-}
-
-CGImageRef
-TkMacOSXCreateCGImageWithXImage(
- XImage *image)
-{
- CGImageRef img = NULL;
- size_t bitsPerComponent, bitsPerPixel;
- size_t len = image->bytes_per_line * image->height;
- const CGFloat *decode = NULL;
- CGBitmapInfo bitmapInfo;
- CGDataProviderRef provider = NULL;
- char *data = NULL;
- CGDataProviderReleaseDataCallback releaseData = ReleaseData;
-
- if (image->bits_per_pixel == 1) {
- /*
- * BW image
- */
-
- /* Reverses the sense of the bits */
- static const CGFloat decodeWB[2] = {1, 0};
- decode = decodeWB;
-
- bitsPerComponent = 1;
- bitsPerPixel = 1;
- if (image->bitmap_bit_order != MSBFirst) {
- char *srcPtr = image->data + image->xoffset;
- char *endPtr = srcPtr + len;
- char *destPtr = (data = ckalloc(len));
-
- while (srcPtr < endPtr) {
- *destPtr++ = xBitReverseTable[(unsigned char)(*(srcPtr++))];
- }
- } else {
- data = memcpy(ckalloc(len), image->data + image->xoffset, len);
- }
- if (data) {
- provider = CGDataProviderCreateWithData(data, data, len, releaseData);
- }
- if (provider) {
- img = CGImageMaskCreate(image->width, image->height, bitsPerComponent,
- bitsPerPixel, image->bytes_per_line, provider, decode, 0);
- }
- } else if (image->format == ZPixmap && image->bits_per_pixel == 32) {
-
- /*
- * Color image
- */
-
- CGColorSpaceRef colorspace = CGColorSpaceCreateDeviceRGB();
- bitsPerComponent = 8;
- bitsPerPixel = 32;
- bitmapInfo = (image->byte_order == MSBFirst ?
- kCGBitmapByteOrder32Little : kCGBitmapByteOrder32Big);
- bitmapInfo |= kCGImageAlphaLast;
- data = memcpy(ckalloc(len), image->data + image->xoffset, len);
- if (data) {
- provider = CGDataProviderCreateWithData(data, data, len, releaseData);
- }
- if (provider) {
- img = CGImageCreate(image->width, image->height, bitsPerComponent,
- bitsPerPixel, image->bytes_per_line, colorspace, bitmapInfo,
- provider, decode, 0, kCGRenderingIntentDefault);
- CFRelease(provider);
- }
- if (colorspace) {
- CFRelease(colorspace);
- }
- } else {
- TkMacOSXDbgMsg("Unsupported image type");
- }
- return img;
-}
-
-
-/*
- *----------------------------------------------------------------------
- *
- * XGetImage --
- *
- * This function copies data from a pixmap or window into an XImage. It
- * is essentially never used. At one time it was called by
- * pTkImgPhotoDisplay, but that is no longer the case. Currently it is
- * called two places, one of which is requesting an XY image which we do
- * not support. It probably does not work correctly -- see the comments
- * for TkMacOSXBitmapRepFromDrawableRect.
- *
- * Results:
- * Returns a newly allocated XImage containing the data from the given
- * rectangle of the given drawable, or NULL if the XImage could not be
- * constructed. NOTE: If we are copying from a window on a Retina
- * display, the dimensions of the XImage will be 2*width x 2*height.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-struct pixel_fmt {int r; int g; int b; int a;};
-static struct pixel_fmt bgra = {2, 1, 0, 3};
-static struct pixel_fmt abgr = {3, 2, 1, 0};
-
-XImage *
-XGetImage(
- Display *display,
- Drawable drawable,
- int x,
- int y,
- unsigned int width,
- unsigned int height,
- unsigned long plane_mask,
- int format)
-{
- NSBitmapImageRep* bitmap_rep = NULL;
- NSUInteger bitmap_fmt = 0;
- XImage* imagePtr = NULL;
- char* bitmap = NULL;
- char R, G, B, A;
- int depth = 32, offset = 0, bitmap_pad = 0;
- unsigned int bytes_per_row, size, row, n, m;
- unsigned int scalefactor=1, scaled_height=height, scaled_width=width;
- NSWindow *win = TkMacOSXDrawableWindow(drawable);
- static enum {unknown, no, yes} has_retina = unknown;
-
- if (win && has_retina == unknown) {
-#ifdef __clang__
- has_retina = [win respondsToSelector:@selector(backingScaleFactor)]?
- yes : no;
-#else
- has_retina = no;
-#endif
- }
-
- if (has_retina == yes) {
-
- /*
- * We only allow scale factors 1 or 2, as Apple currently does.
- */
-
-#ifdef __clang__
- scalefactor = [win backingScaleFactor] == 2.0 ? 2 : 1;
-#endif
- scaled_height *= scalefactor;
- scaled_width *= scalefactor;
- }
-
- if (format == ZPixmap) {
- if (width == 0 || height == 0) {
- return NULL;
- }
-
- bitmap_rep = TkMacOSXBitmapRepFromDrawableRect(drawable,
- x, y, width, height);
- if (!bitmap_rep) {
- TkMacOSXDbgMsg("XGetImage: Failed to construct NSBitmapRep");
- return NULL;
- }
- bitmap_fmt = [bitmap_rep bitmapFormat];
- size = [bitmap_rep bytesPerPlane];
- bytes_per_row = [bitmap_rep bytesPerRow];
- bitmap = ckalloc(size);
- if (!bitmap ||
- (bitmap_fmt != 0 && bitmap_fmt != 1) ||
- [bitmap_rep samplesPerPixel] != 4 ||
- [bitmap_rep isPlanar] != 0 ||
- bytes_per_row < 4 * scaled_width ||
- size != bytes_per_row*scaled_height ) {
- TkMacOSXDbgMsg("XGetImage: Unrecognized bitmap format");
- CFRelease(bitmap_rep);
- return NULL;
- }
- memcpy(bitmap, (char *)[bitmap_rep bitmapData], size);
- CFRelease(bitmap_rep);
-
- /*
- * When Apple extracts a bitmap from an NSView, it may be in
- * either BGRA or ABGR format. For an XImage we need RGBA.
- */
-
- struct pixel_fmt pixel = bitmap_fmt == 0 ? bgra : abgr;
-
- for (row = 0, n = 0; row < scaled_height; row++, n += bytes_per_row) {
- for (m = n; m < n + 4*scaled_width; m += 4) {
- R = *(bitmap + m + pixel.r);
- G = *(bitmap + m + pixel.g);
- B = *(bitmap + m + pixel.b);
- A = *(bitmap + m + pixel.a);
-
- *(bitmap + m) = R;
- *(bitmap + m + 1) = G;
- *(bitmap + m + 2) = B;
- *(bitmap + m + 3) = A;
- }
- }
- imagePtr = XCreateImage(display, NULL, depth, format, offset,
- (char*)bitmap, scaled_width, scaled_height,
- bitmap_pad, bytes_per_row);
- if (scalefactor == 2) {
- imagePtr->pixelpower = 1;
- }
- } else {
- /*
- * There are some calls to XGetImage in the generic Tk
- * code which pass an XYPixmap rather than a ZPixmap.
- * XYPixmaps should be handled here.
- */
- TkMacOSXDbgMsg("XGetImage does not handle XYPixmaps at the moment.");
- }
- return imagePtr;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * DestroyImage --
- *
- * Destroys storage associated with an image.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Deallocates the image.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-DestroyImage(
- XImage *image)
-{
- if (image) {
- if (image->data) {
- ckfree(image->data);
- }
- ckfree(image);
- }
- return 0;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * ImageGetPixel --
- *
- * Get a single pixel from an image.
- *
- * Results:
- * Returns the 32 bit pixel value.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-static unsigned long
-ImageGetPixel(
- XImage *image,
- int x,
- int y)
-{
- unsigned char r = 0, g = 0, b = 0;
-
- if (image && image->data) {
- unsigned char *srcPtr = ((unsigned char*) image->data)
- + (y * image->bytes_per_line)
- + (((image->xoffset + x) * image->bits_per_pixel) / NBBY);
-
- switch (image->bits_per_pixel) {
- case 32: {
- r = (*((unsigned int*) srcPtr) >> 16) & 0xff;
- g = (*((unsigned int*) srcPtr) >> 8) & 0xff;
- b = (*((unsigned int*) srcPtr) ) & 0xff;
- /*if (image->byte_order == LSBFirst) {
- r = srcPtr[2]; g = srcPtr[1]; b = srcPtr[0];
- } else {
- r = srcPtr[1]; g = srcPtr[2]; b = srcPtr[3];
- }*/
- break;
- }
- case 16:
- r = (*((unsigned short*) srcPtr) >> 7) & 0xf8;
- g = (*((unsigned short*) srcPtr) >> 2) & 0xf8;
- b = (*((unsigned short*) srcPtr) << 3) & 0xf8;
- break;
- case 8:
- r = (*srcPtr << 2) & 0xc0;
- g = (*srcPtr << 4) & 0xc0;
- b = (*srcPtr << 6) & 0xc0;
- r |= r >> 2 | r >> 4 | r >> 6;
- g |= g >> 2 | g >> 4 | g >> 6;
- b |= b >> 2 | b >> 4 | b >> 6;
- break;
- case 4: {
- unsigned char c = (x % 2) ? *srcPtr : (*srcPtr >> 4);
- r = (c & 0x04) ? 0xff : 0;
- g = (c & 0x02) ? 0xff : 0;
- b = (c & 0x01) ? 0xff : 0;
- break;
- }
- case 1:
- r = g = b = ((*srcPtr) & (0x80 >> (x % 8))) ? 0xff : 0;
- break;
- }
- }
- return (PIXEL_MAGIC << 24) | (r << 16) | (g << 8) | b;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * ImagePutPixel --
- *
- * Set a single pixel in an image.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-ImagePutPixel(
- XImage *image,
- int x,
- int y,
- unsigned long pixel)
-{
- if (image && image->data) {
- unsigned char *dstPtr = ((unsigned char*) image->data)
- + (y * image->bytes_per_line)
- + (((image->xoffset + x) * image->bits_per_pixel) / NBBY);
- if (image->bits_per_pixel == 32) {
- *((unsigned int*) dstPtr) = pixel;
- } else {
- unsigned char r = ((pixel & image->red_mask) >> 16) & 0xff;
- unsigned char g = ((pixel & image->green_mask) >> 8) & 0xff;
- unsigned char b = ((pixel & image->blue_mask) ) & 0xff;
- switch (image->bits_per_pixel) {
- case 16:
- *((unsigned short*) dstPtr) = ((r & 0xf8) << 7) |
- ((g & 0xf8) << 2) | ((b & 0xf8) >> 3);
- break;
- case 8:
- *dstPtr = ((r & 0xc0) >> 2) | ((g & 0xc0) >> 4) |
- ((b & 0xc0) >> 6);
- break;
- case 4: {
- unsigned char c = ((r & 0x80) >> 5) | ((g & 0x80) >> 6) |
- ((b & 0x80) >> 7);
- *dstPtr = (x % 2) ? ((*dstPtr & 0xf0) | (c & 0x0f)) :
- ((*dstPtr & 0x0f) | ((c << 4) & 0xf0));
- break;
- }
- case 1:
- *dstPtr = ((r|g|b) & 0x80) ? (*dstPtr | (0x80 >> (x % 8))) :
- (*dstPtr & ~(0x80 >> (x % 8)));
- break;
- }
- }
- }
- return 0;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * XCreateImage --
- *
- * Allocates storage for a new XImage.
- *
- * Results:
- * Returns a newly allocated XImage.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-XImage *
-XCreateImage(
- Display* display,
- Visual* visual,
- unsigned int depth,
- int format,
- int offset,
- char* data,
- unsigned int width,
- unsigned int height,
- int bitmap_pad,
- int bytes_per_line)
-{
- XImage *ximage;
- display->request++;
- ximage = ckalloc(sizeof(XImage));
-
- ximage->height = height;
- ximage->width = width;
- ximage->depth = depth;
- ximage->xoffset = offset;
- ximage->format = format;
- ximage->data = data;
- ximage->obdata = NULL;
- /* The default pixelpower is 0. This must be explicitly set to 1 in the
- * case of an XImage extracted from a Retina display.
- */
- ximage->pixelpower = 0;
-
- if (format == ZPixmap) {
- ximage->bits_per_pixel = 32;
- ximage->bitmap_unit = 32;
- } else {
- ximage->bits_per_pixel = 1;
- ximage->bitmap_unit = 8;
- }
- if (bitmap_pad) {
- ximage->bitmap_pad = bitmap_pad;
- } else {
- /* Use 16 byte alignment for best Quartz perfomance */
- ximage->bitmap_pad = 128;
- }
- if (bytes_per_line) {
- ximage->bytes_per_line = bytes_per_line;
- } else {
- ximage->bytes_per_line = ((width * ximage->bits_per_pixel +
- (ximage->bitmap_pad - 1)) >> 3) &
- ~((ximage->bitmap_pad >> 3) - 1);
- }
-#ifdef WORDS_BIGENDIAN
- ximage->byte_order = MSBFirst;
- ximage->bitmap_bit_order = MSBFirst;
-#else
- ximage->byte_order = LSBFirst;
- ximage->bitmap_bit_order = LSBFirst;
-#endif
- ximage->red_mask = 0x00FF0000;
- ximage->green_mask = 0x0000FF00;
- ximage->blue_mask = 0x000000FF;
- ximage->f.create_image = NULL;
- ximage->f.destroy_image = DestroyImage;
- ximage->f.get_pixel = ImageGetPixel;
- ximage->f.put_pixel = ImagePutPixel;
- ximage->f.sub_image = NULL;
- ximage->f.add_pixel = NULL;
-
- return ximage;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkPutImage --
- *
- * Copies a rectangular subimage of an XImage into a drawable.
- * Currently this is only called by TkImgPhotoDisplay, using
- * a Window as the drawable.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Draws the image on the specified drawable.
- *
- *----------------------------------------------------------------------
- */
-
-int
-TkPutImage(
- unsigned long *colors, /* Unused on Macintosh. */
- int ncolors, /* Unused on Macintosh. */
- Display* display, /* Display. */
- Drawable drawable, /* Drawable to place image on. */
- GC gc, /* GC to use. */
- XImage* image, /* Image to place. */
- int src_x, /* Source X & Y. */
- int src_y,
- int dest_x, /* Destination X & Y. */
- int dest_y,
- unsigned int width, /* Same width & height for both */
- unsigned int height) /* distination and source. */
-{
- TkMacOSXDrawingContext dc;
- MacDrawable *macDraw = (MacDrawable *) drawable;
-
- display->request++;
- if (!TkMacOSXSetupDrawingContext(drawable, gc, 1, &dc)) {
- return BadDrawable;
- }
- if (dc.context) {
- CGRect bounds, srcRect, dstRect;
- CGImageRef img = TkMacOSXCreateCGImageWithXImage(image);
-
- /*
- * The CGContext for a pixmap is RGB only, with A = 0.
- */
-
- if (!(macDraw->flags & TK_IS_PIXMAP)) {
- CGContextSetBlendMode(dc.context, kCGBlendModeSourceAtop);
- }
- if (img) {
-
- /* If the XImage has big pixels, the source is rescaled to reflect
- * the actual pixel dimensions. This is not currently used, but
- * could arise if the image were copied from a retina monitor and
- * redrawn on an ordinary monitor.
- */
-
- int pp = image->pixelpower;
- bounds = CGRectMake(0, 0, image->width, image->height);
- srcRect = CGRectMake(src_x<<pp, src_y<<pp, width<<pp, height<<pp);
- dstRect = CGRectMake(dest_x, dest_y, width, height);
- TkMacOSXDrawCGImage(drawable, gc, dc.context,
- img, gc->foreground, gc->background,
- bounds, srcRect, dstRect);
- CFRelease(img);
- } else {
- TkMacOSXDbgMsg("Invalid source drawable");
- }
- } else {
- TkMacOSXDbgMsg("Invalid destination drawable");
- }
- TkMacOSXRestoreDrawingContext(&dc);
- return Success;
-}
-
-/*
- * Local Variables:
- * mode: objc
- * c-basic-offset: 4
- * fill-column: 79
- * coding: utf-8
- * End:
- */
diff --git a/tk8.6/macosx/tkMacOSXInit.c b/tk8.6/macosx/tkMacOSXInit.c
deleted file mode 100644
index 8e9c600..0000000
--- a/tk8.6/macosx/tkMacOSXInit.c
+++ /dev/null
@@ -1,586 +0,0 @@
-/*
- * tkMacOSXInit.c --
- *
- * This file contains Mac OS X -specific interpreter initialization
- * functions.
- *
- * Copyright (c) 1995-1997 Sun Microsystems, Inc.
- * Copyright 2001-2009, Apple Inc.
- * Copyright (c) 2005-2009 Daniel A. Steffen <das@users.sourceforge.net>
- * Copyright (c) 2017 Marc Culler
- *
- * See the file "license.terms" for information on usage and redistribution of
- * this file, and for a DISCLAIMER OF ALL WARRANTIES.
- */
-
-#include "tkMacOSXPrivate.h"
-
-#include <sys/stat.h>
-#include <dlfcn.h>
-#include <objc/objc-auto.h>
-
-static char tkLibPath[PATH_MAX + 1] = "";
-
-/*
- * If the App is in an App package, then we want to add the Scripts directory
- * to the auto_path.
- */
-
-static char scriptPath[PATH_MAX + 1] = "";
-
-#pragma mark TKApplication(TKInit)
-
-@interface TKApplication(TKKeyboard)
-- (void) keyboardChanged: (NSNotification *) notification;
-@end
-
-#define TKApplication_NSApplicationDelegate <NSApplicationDelegate>
-@interface TKApplication(TKWindowEvent) TKApplication_NSApplicationDelegate
-- (void) _setupWindowNotifications;
-@end
-
-@interface TKApplication(TKMenus)
-- (void) _setupMenus;
-@end
-
-@implementation TKApplication
-@synthesize poolLock = _poolLock;
-@synthesize macMinorVersion = _macMinorVersion;
-@synthesize isDrawing = _isDrawing;
-@synthesize simulateDrawing = _simulateDrawing;
-@end
-
-/*
- * #define this to see a message on stderr whenever _resetAutoreleasePool is
- * called while the pool is locked.
- */
-#undef DEBUG_LOCK
-
-@implementation TKApplication(TKInit)
-- (void) _resetAutoreleasePool
-{
- if([self poolLock] == 0) {
- [_mainPool drain];
- _mainPool = [NSAutoreleasePool new];
- } else {
-#ifdef DEBUG_LOCK
- fprintf(stderr, "Pool is locked with count %d!!!!\n", [self poolLock]);
-#endif
- }
-}
-- (void) _lockAutoreleasePool
-{
- [self setPoolLock:[self poolLock] + 1];
-}
-- (void) _unlockAutoreleasePool
-{
- [self setPoolLock:[self poolLock] - 1];
-}
-#ifdef TK_MAC_DEBUG_NOTIFICATIONS
-- (void) _postedNotification: (NSNotification *) notification
-{
- TKLog(@"-[%@(%p) %s] %@", [self class], self, _cmd, notification);
-}
-#endif
-
-- (void) _setupApplicationNotifications
-{
- NSNotificationCenter *nc = [NSNotificationCenter defaultCenter];
-#define observe(n, s) \
- [nc addObserver:self selector:@selector(s) name:(n) object:nil]
- observe(NSApplicationDidBecomeActiveNotification, applicationActivate:);
- observe(NSApplicationDidResignActiveNotification, applicationDeactivate:);
- observe(NSApplicationDidUnhideNotification, applicationShowHide:);
- observe(NSApplicationDidHideNotification, applicationShowHide:);
- observe(NSApplicationDidChangeScreenParametersNotification, displayChanged:);
- observe(NSTextInputContextKeyboardSelectionDidChangeNotification, keyboardChanged:);
-#undef observe
-}
-
--(void)applicationWillFinishLaunching:(NSNotification *)aNotification
-{
-
- /*
- * Initialize notifications.
- */
-#ifdef TK_MAC_DEBUG_NOTIFICATIONS
- [[NSNotificationCenter defaultCenter] addObserver:self
- selector:@selector(_postedNotification:) name:nil object:nil];
-#endif
- [self _setupWindowNotifications];
- [self _setupApplicationNotifications];
-
- /*
- * Construct the menu bar.
- */
- _defaultMainMenu = nil;
- [self _setupMenus];
-
-
- /*
- * Initialize event processing.
- */
- TkMacOSXInitAppleEvents(_eventInterp);
-
- /*
- * Initialize the graphics context.
- */
- TkMacOSXUseAntialiasedText(_eventInterp, -1);
- TkMacOSXInitCGDrawing(_eventInterp, TRUE, 0);
-}
-
--(void)applicationDidFinishLaunching:(NSNotification *)notification
-{
- /*
- * It is not safe to force activation of the NSApp until this
- * method is called. Activating too early can cause the menu
- * bar to be unresponsive.
- */
- [NSApp activateIgnoringOtherApps: YES];
-}
-
-- (void) _setup: (Tcl_Interp *) interp
-{
- /*
- * Remember our interpreter.
- */
- _eventInterp = interp;
-
- /*
- * Install the global autoreleasePool.
- */
- _mainPool = [NSAutoreleasePool new];
- [NSApp setPoolLock:0];
-
- /*
- * Record the OS version we are running on.
- */
- int minorVersion;
-#if MAC_OS_X_VERSION_MIN_REQUIRED < 101000
- Gestalt(gestaltSystemVersionMinor, (SInt32*)&minorVersion);
-#else
- NSOperatingSystemVersion systemVersion;
- systemVersion = [[NSProcessInfo processInfo] operatingSystemVersion];
- minorVersion = systemVersion.minorVersion;
-#endif
- [NSApp setMacMinorVersion: minorVersion];
-
- /*
- * We are not drawing yet.
- */
-
- [NSApp setIsDrawing:NO];
- [NSApp setSimulateDrawing:NO];
-
- /*
- * Be our own delegate.
- */
- [self setDelegate:self];
-
- /*
- * Make sure we are allowed to open windows.
- */
-
- [NSApp setActivationPolicy:NSApplicationActivationPolicyRegular];
-
- /*
- * If no icon has been set from an Info.plist file, use the Wish icon from
- * the Tk framework.
- */
- NSString *iconFile = [[NSBundle mainBundle] objectForInfoDictionaryKey:
- @"CFBundleIconFile"];
- if (!iconFile) {
- NSString *path = [NSApp tkFrameworkImagePath:@"Tk.icns"];
- if (path) {
- NSImage *image = [[NSImage alloc] initWithContentsOfFile:path];
- if (image) {
- [NSApp setApplicationIconImage:image];
- [image release];
- }
- }
- }
-}
-
-- (NSString *) tkFrameworkImagePath: (NSString *) image
-{
- NSString *path = nil;
- NSAutoreleasePool *pool = [NSAutoreleasePool new];
- if (tkLibPath[0] != '\0') {
- path = [[NSBundle bundleWithPath:[[NSString stringWithUTF8String:
- tkLibPath] stringByAppendingString:@"/../.."]]
- pathForImageResource:image];
- }
- if (!path) {
- const char *tk_library = Tcl_GetVar2(_eventInterp, "tk_library", NULL,
- TCL_GLOBAL_ONLY);
-
- if (tk_library) {
- NSFileManager *fm = [NSFileManager defaultManager];
-
- path = [[NSString stringWithUTF8String:tk_library]
- stringByAppendingFormat:@"/%@", image];
- if (![fm isReadableFileAtPath:path]) {
- path = [[NSString stringWithUTF8String:tk_library]
- stringByAppendingFormat:@"/../macosx/%@", image];
- if (![fm isReadableFileAtPath:path]) {
- path = nil;
- }
- }
- }
- }
-#ifdef TK_MAC_DEBUG
- if (!path && getenv("TK_SRCROOT")) {
- path = [[NSString stringWithUTF8String:getenv("TK_SRCROOT")]
- stringByAppendingFormat:@"/macosx/%@", image];
- if (![[NSFileManager defaultManager] isReadableFileAtPath:path]) {
- path = nil;
- }
- }
-#endif
- [path retain];
- [pool drain];
- return path;
-}
-@end
-
-#pragma mark -
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpInit --
- *
- * Performs Mac-specific interpreter initialization related to the
- * tk_library variable.
- *
- * Results:
- * Returns a standard Tcl result. Leaves an error message or result in
- * the interp's result.
- *
- * Side effects:
- * Sets "tk_library" Tcl variable, runs "tk.tcl" script.
- *
- *----------------------------------------------------------------------
- */
-
-int
-TkpInit(
- Tcl_Interp *interp)
-{
- static int initialized = 0;
-
- /*
- * Since it is possible for TkInit to be called multiple times and we
- * don't want to do the following initialization multiple times we protect
- * against doing it more than once.
- */
-
- if (!initialized) {
- struct stat st;
-
- initialized = 1;
-
- /*
- * Initialize/check OS version variable for runtime checks.
- */
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED < 1060
-# error Mac OS X 10.6 required
-#endif
-
-#ifdef TK_FRAMEWORK
- /*
- * When Tk is in a framework, force tcl_findLibrary to look in the
- * framework scripts directory.
- * FIXME: Should we come up with a more generic way of doing this?
- */
-
- if (Tcl_MacOSXOpenVersionedBundleResources(interp,
- "com.tcltk.tklibrary", TK_FRAMEWORK_VERSION, 0, PATH_MAX,
- tkLibPath) != TCL_OK) {
- # if 0 /* This is not really an error. Wish still runs fine. */
- TkMacOSXDbgMsg("Tcl_MacOSXOpenVersionedBundleResources failed");
- # endif
- }
-#endif
-
- /*
- * FIXME: Close stdin & stdout for remote debugging otherwise we will
- * fight with gdb for stdin & stdout
- */
-
- if (getenv("XCNOSTDIN") != NULL) {
- close(0);
- close(1);
- }
-
- /*
- * Instantiate our NSApplication object. This needs to be
- * done before we check whether to open a console window.
- */
-
- NSAutoreleasePool *pool = [NSAutoreleasePool new];
- [[NSUserDefaults standardUserDefaults] registerDefaults:
- [NSDictionary dictionaryWithObjectsAndKeys:
- [NSNumber numberWithBool:YES],
- @"_NSCanWrapButtonTitles",
- [NSNumber numberWithInt:-1],
- @"NSStringDrawingTypesetterBehavior",
- nil]];
- [TKApplication sharedApplication];
- [pool drain];
- [NSApp _setup:interp];
- [NSApp finishLaunching];
-
- /*
- * If we don't have a TTY and stdin is a special character file of
- * length 0, (e.g. /dev/null, which is what Finder sets when double
- * clicking Wish) then use the Tk based console interpreter.
- */
-
- if (getenv("TK_CONSOLE") ||
- (!isatty(0) && (fstat(0, &st) ||
- (S_ISCHR(st.st_mode) && st.st_blocks == 0)))) {
- Tk_InitConsoleChannels(interp);
- Tcl_RegisterChannel(interp, Tcl_GetStdChannel(TCL_STDIN));
- Tcl_RegisterChannel(interp, Tcl_GetStdChannel(TCL_STDOUT));
- Tcl_RegisterChannel(interp, Tcl_GetStdChannel(TCL_STDERR));
-
- /*
- * Only show the console if we don't have a startup script
- * and tcl_interactive hasn't been set already.
- */
-
- if (Tcl_GetStartupScript(NULL) == NULL) {
- const char *intvar = Tcl_GetVar2(interp,
- "tcl_interactive", NULL, TCL_GLOBAL_ONLY);
-
- if (intvar == NULL) {
- Tcl_SetVar2(interp, "tcl_interactive", NULL, "1",
- TCL_GLOBAL_ONLY);
- }
- }
- if (Tk_CreateConsoleWindow(interp) == TCL_ERROR) {
- return TCL_ERROR;
- }
- }
-
- }
-
- Tk_MacOSXSetupTkNotifier();
-
- if (tkLibPath[0] != '\0') {
- Tcl_SetVar2(interp, "tk_library", NULL, tkLibPath, TCL_GLOBAL_ONLY);
- }
-
- if (scriptPath[0] != '\0') {
- Tcl_SetVar2(interp, "auto_path", NULL, scriptPath,
- TCL_GLOBAL_ONLY|TCL_LIST_ELEMENT|TCL_APPEND_VALUE);
- }
-
- Tcl_CreateObjCommand(interp, "::tk::mac::standardAboutPanel",
- TkMacOSXStandardAboutPanelObjCmd, NULL, NULL);
- Tcl_CreateObjCommand(interp, "::tk::mac::iconBitmap",
- TkMacOSXIconBitmapObjCmd, NULL, NULL);
-
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpGetAppName --
- *
- * Retrieves the name of the current application from a platform specific
- * location. For Unix, the application name is the tail of the path
- * contained in the tcl variable argv0.
- *
- * Results:
- * Returns the application name in the given Tcl_DString.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpGetAppName(
- Tcl_Interp *interp,
- Tcl_DString *namePtr) /* A previously initialized Tcl_DString. */
-{
- const char *p, *name;
-
- name = Tcl_GetVar2(interp, "argv0", NULL, TCL_GLOBAL_ONLY);
- if ((name == NULL) || (*name == 0)) {
- name = "tk";
- } else {
- p = strrchr(name, '/');
- if (p != NULL) {
- name = p+1;
- }
- }
- Tcl_DStringAppend(namePtr, name, -1);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpDisplayWarning --
- *
- * This routines is called from Tk_Main to display warning messages that
- * occur during startup.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Generates messages on stdout.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpDisplayWarning(
- const char *msg, /* Message to be displayed. */
- const char *title) /* Title of warning. */
-{
- Tcl_Channel errChannel = Tcl_GetStdChannel(TCL_STDERR);
-
- if (errChannel) {
- Tcl_WriteChars(errChannel, title, -1);
- Tcl_WriteChars(errChannel, ": ", 2);
- Tcl_WriteChars(errChannel, msg, -1);
- Tcl_WriteChars(errChannel, "\n", 1);
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXDefaultStartupScript --
- *
- * On MacOS X, we look for a file in the Resources/Scripts directory
- * called AppMain.tcl and if found, we set argv[1] to that, so that the
- * rest of the code will find it, and add the Scripts folder to the
- * auto_path. If we don't find the startup script, we just bag it,
- * assuming the user is starting up some other way.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Tcl_SetStartupScript() called when AppMain.tcl found.
- *
- *----------------------------------------------------------------------
- */
-
-MODULE_SCOPE void
-TkMacOSXDefaultStartupScript(void)
-{
- NSAutoreleasePool *pool = [NSAutoreleasePool new];
- CFBundleRef bundleRef = CFBundleGetMainBundle();
-
- if (bundleRef != NULL) {
- CFURLRef appMainURL = CFBundleCopyResourceURL(bundleRef,
- CFSTR("AppMain"), CFSTR("tcl"), CFSTR("Scripts"));
-
- if (appMainURL != NULL) {
- CFURLRef scriptFldrURL;
- char startupScript[PATH_MAX + 1];
-
- if (CFURLGetFileSystemRepresentation (appMainURL, true,
- (unsigned char *) startupScript, PATH_MAX)) {
- Tcl_SetStartupScript(Tcl_NewStringObj(startupScript,-1), NULL);
- scriptFldrURL = CFURLCreateCopyDeletingLastPathComponent(NULL,
- appMainURL);
- if (scriptFldrURL != NULL) {
- CFURLGetFileSystemRepresentation(scriptFldrURL, true,
- (unsigned char *) scriptPath, PATH_MAX);
- CFRelease(scriptFldrURL);
- }
- }
- CFRelease(appMainURL);
- }
- }
- [pool drain];
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXGetNamedSymbol --
- *
- * Dynamically acquire address of a named symbol from a loaded dynamic
- * library, so that we can use API that may not be available on all OS
- * versions.
- *
- * Results:
- * Address of given symbol or NULL if unavailable.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-MODULE_SCOPE void*
-TkMacOSXGetNamedSymbol(
- const char* module,
- const char* symbol)
-{
- void *addr = dlsym(RTLD_NEXT, symbol);
- if (!addr) {
- (void) dlerror(); /* Clear dlfcn error state */
- }
- return addr;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXGetStringObjFromCFString --
- *
- * Get a string object from a CFString as efficiently as possible.
- *
- * Results:
- * New string object or NULL if conversion failed.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-MODULE_SCOPE Tcl_Obj*
-TkMacOSXGetStringObjFromCFString(
- CFStringRef str)
-{
- Tcl_Obj *obj = NULL;
- const char *c = CFStringGetCStringPtr(str, kCFStringEncodingUTF8);
-
- if (c) {
- obj = Tcl_NewStringObj(c, -1);
- } else {
- CFRange all = CFRangeMake(0, CFStringGetLength(str));
- CFIndex len;
-
- if (CFStringGetBytes(str, all, kCFStringEncodingUTF8, 0, false, NULL,
- 0, &len) > 0 && len < INT_MAX) {
- obj = Tcl_NewObj();
- Tcl_SetObjLength(obj, len);
- CFStringGetBytes(str, all, kCFStringEncodingUTF8, 0, false,
- (UInt8*) obj->bytes, len, NULL);
- }
- }
- return obj;
-}
-
-/*
- * Local Variables:
- * mode: objc
- * c-basic-offset: 4
- * fill-column: 79
- * coding: utf-8
- * End:
- */
diff --git a/tk8.6/macosx/tkMacOSXInt.h b/tk8.6/macosx/tkMacOSXInt.h
deleted file mode 100644
index 4e1e689..0000000
--- a/tk8.6/macosx/tkMacOSXInt.h
+++ /dev/null
@@ -1,211 +0,0 @@
-/*
- * tkMacOSXInt.h --
- *
- * Declarations of Macintosh specific shared variables and procedures.
- *
- * Copyright (c) 1995-1997 Sun Microsystems, Inc.
- * Copyright 2001-2009, Apple Inc.
- * Copyright (c) 2005-2009 Daniel A. Steffen <das@users.sourceforge.net>
- *
- * See the file "license.terms" for information on usage and redistribution
- * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
- */
-
-#ifndef _TKMACINT
-#define _TKMACINT
-
-#ifndef _TKINT
-#include "tkInt.h"
-#endif
-
-/*
- * Include platform specific public interfaces.
- */
-
-#ifndef _TKMAC
-#include "tkMacOSX.h"
-#import <Cocoa/Cocoa.h>
-#endif
-
-/*
- * Define compatibility platform types used in the structures below so that
- * this header can be included without pulling in the platform headers.
- */
-
-#ifndef _TKMACPRIV
-# ifndef CGGEOMETRY_H_
-# ifndef CGFLOAT_DEFINED
-# if __LP64__
-# define CGFloat double
-# else
-# define CGFloat float
-# endif
-# endif
-# define CGSize struct {CGFloat width; CGFloat height;}
-# endif
-# ifndef CGCONTEXT_H_
-# define CGContextRef void *
-# endif
-# ifndef CGCOLOR_H_
-# define CGColorRef void *
-# endif
-# ifndef __HISHAPE__
-# define HIShapeRef void *
-# endif
-# ifndef _APPKITDEFINES_H
-# define NSView void *
-# endif
-#endif
-
-struct TkWindowPrivate {
- TkWindow *winPtr; /* Ptr to tk window or NULL if Pixmap */
- NSView *view;
- CGContextRef context;
- int xOff; /* X offset from toplevel window */
- int yOff; /* Y offset from toplevel window */
- CGSize size;
- HIShapeRef visRgn; /* Visible region of window */
- HIShapeRef aboveVisRgn; /* Visible region of window & its children */
- HIShapeRef drawRgn; /* Clipped drawing region */
- int referenceCount; /* Don't delete toplevel until children are
- * gone. */
- struct TkWindowPrivate *toplevel;
- /* Pointer to the toplevel datastruct. */
- int flags; /* Various state see defines below. */
-};
-typedef struct TkWindowPrivate MacDrawable;
-
-/*
- * Defines use for the flags field of the MacDrawable data structure.
- */
-
-#define TK_SCROLLBAR_GROW 0x01
-#define TK_CLIP_INVALID 0x02
-#define TK_HOST_EXISTS 0x04
-#define TK_DRAWN_UNDER_MENU 0x08
-#define TK_IS_PIXMAP 0x10
-#define TK_IS_BW_PIXMAP 0x20
-#define TK_DO_NOT_DRAW 0x40
-
-/*
- * I am reserving TK_EMBEDDED = 0x100 in the MacDrawable flags
- * This is defined in tk.h. We need to duplicate the TK_EMBEDDED flag in the
- * TkWindow structure for the window, but in the MacWin. This way we can
- * still tell what the correct port is after the TKWindow structure has been
- * freed. This actually happens when you bind destroy of a toplevel to
- * Destroy of a child.
- */
-
-/*
- * This structure is for handling Netscape-type in process
- * embedding where Tk does not control the top-level. It contains
- * various functions that are needed by Mac specific routines, like
- * TkMacOSXGetDrawablePort. The definitions of the function types
- * are in tkMacOSX.h.
- */
-
-typedef struct {
- Tk_MacOSXEmbedRegisterWinProc *registerWinProc;
- Tk_MacOSXEmbedGetGrafPortProc *getPortProc;
- Tk_MacOSXEmbedMakeContainerExistProc *containerExistProc;
- Tk_MacOSXEmbedGetClipProc *getClipProc;
- Tk_MacOSXEmbedGetOffsetInParentProc *getOffsetProc;
-} TkMacOSXEmbedHandler;
-
-MODULE_SCOPE TkMacOSXEmbedHandler *tkMacOSXEmbedHandler;
-
-/*
- * GC CGColorRef cache for tkMacOSXColor.c
- */
-
-typedef struct {
- unsigned long cachedForeground;
- CGColorRef cachedForegroundColor;
- unsigned long cachedBackground;
- CGColorRef cachedBackgroundColor;
-} TkpGCCache;
-
-MODULE_SCOPE TkpGCCache *TkpGetGCCache(GC gc);
-MODULE_SCOPE void TkpInitGCCache(GC gc);
-MODULE_SCOPE void TkpFreeGCCache(GC gc);
-
-/*
- * Undef compatibility platform types defined above.
- */
-
-#ifndef _TKMACPRIV
-# ifndef CGGEOMETRY_H_
-# ifndef CGFLOAT_DEFINED
-# undef CGFloat
-# endif
-# undef CGSize
-# endif
-# ifndef CGCONTEXT_H_
-# undef CGContextRef
-# endif
-# ifndef CGCOLOR_H_
-# undef CGColorRef
-# endif
-# ifndef __HISHAPE__
-# undef HIShapeRef
-# endif
-# ifndef _APPKITDEFINES_H
-# undef NSView
-# endif
-#endif
-
-/*
- * Defines used for TkMacOSXInvalidateWindow
- */
-
-#define TK_WINDOW_ONLY 0
-#define TK_PARENT_WINDOW 1
-
-/*
- * Accessor for the privatePtr flags field for the TK_HOST_EXISTS field
- */
-
-#define TkMacOSXHostToplevelExists(tkwin) \
- (((TkWindow *) (tkwin))->privatePtr->toplevel->flags & TK_HOST_EXISTS)
-
-/*
- * Defines used for the flags argument to TkGenWMConfigureEvent.
- */
-
-#define TK_LOCATION_CHANGED 1
-#define TK_SIZE_CHANGED 2
-#define TK_BOTH_CHANGED 3
-#define TK_MACOSX_HANDLE_EVENT_IMMEDIATELY 1024
-
-/*
- * Defines for tkTextDisp.c
- */
-
-#define TK_LAYOUT_WITH_BASE_CHUNKS 1
-#define TK_DRAW_IN_CONTEXT 1
-
-/*
- * Prototypes of internal procs not in the stubs table.
- */
-
-MODULE_SCOPE void TkMacOSXDefaultStartupScript(void);
-#if 0
-MODULE_SCOPE int XSetClipRectangles(Display *d, GC gc, int clip_x_origin,
- int clip_y_origin, XRectangle* rectangles, int n, int ordering);
-#endif
-MODULE_SCOPE void TkpClipDrawableToRect(Display *display, Drawable d, int x,
- int y, int width, int height);
-MODULE_SCOPE void TkpRetainRegion(TkRegion r);
-MODULE_SCOPE void TkpReleaseRegion(TkRegion r);
-MODULE_SCOPE void TkpShiftButton(NSButton *button, NSPoint delta);
-MODULE_SCOPE Bool TkpAppIsDrawing(void);
-MODULE_SCOPE void TkpDisplayWindow(Tk_Window tkwin);
-MODULE_SCOPE void TkTestSimulateDrawing(Bool);
-
-/*
- * Include the stubbed internal platform-specific API.
- */
-
-#include "tkIntPlatDecls.h"
-
-#endif /* _TKMACINT */
diff --git a/tk8.6/macosx/tkMacOSXKeyEvent.c b/tk8.6/macosx/tkMacOSXKeyEvent.c
deleted file mode 100644
index 31fffa1..0000000
--- a/tk8.6/macosx/tkMacOSXKeyEvent.c
+++ /dev/null
@@ -1,743 +0,0 @@
-/*
- * tkMacOSXKeyEvent.c --
- *
- * This file implements functions that decode & handle keyboard events on
- * MacOS X.
- *
- * Copyright 2001-2009, Apple Inc.
- * Copyright (c) 2006-2009 Daniel A. Steffen <das@users.sourceforge.net>
- * Copyright (c) 2012 Adrian Robert.
- * Copyright 2015 Marc Culler.
- *
- * See the file "license.terms" for information on usage and redistribution of
- * this file, and for a DISCLAIMER OF ALL WARRANTIES.
- */
-
-#include "tkMacOSXPrivate.h"
-#include "tkMacOSXEvent.h"
-#include "tkMacOSXConstants.h"
-
-/*
-#ifdef TK_MAC_DEBUG
-#define TK_MAC_DEBUG_KEYBOARD
-#endif
-*/
-#define NS_KEYLOG 0
-
-
-static Tk_Window grabWinPtr = NULL;
- /* Current grab window, NULL if no grab. */
-static Tk_Window keyboardGrabWinPtr = NULL;
- /* Current keyboard grab window. */
-static NSWindow *keyboardGrabNSWindow = nil;
- /* NSWindow for the current keyboard grab window. */
-static NSModalSession modalSession = nil;
-
-static BOOL processingCompose = NO;
-static BOOL finishedCompose = NO;
-
-static int caret_x = 0, caret_y = 0, caret_height = 0;
-
-static void setupXEvent(XEvent *xEvent, NSWindow *w, unsigned int state);
-static unsigned isFunctionKey(unsigned int code);
-
-unsigned short releaseCode;
-
-
-#pragma mark TKApplication(TKKeyEvent)
-
-@implementation TKApplication(TKKeyEvent)
-
-- (NSEvent *) tkProcessKeyEvent: (NSEvent *) theEvent
-{
-#ifdef TK_MAC_DEBUG_EVENTS
- TKLog(@"-[%@(%p) %s] %@", [self class], self, _cmd, theEvent);
-#endif
- NSWindow* w;
- NSEventType type = [theEvent type];
- NSUInteger modifiers, len = 0;
- BOOL repeat = NO;
- unsigned short keyCode;
- NSString *characters = nil, *charactersIgnoringModifiers = nil;
- static NSUInteger savedModifiers = 0;
- static NSMutableArray *nsEvArray;
-
- if (nsEvArray == nil)
- {
- nsEvArray = [[NSMutableArray alloc] initWithCapacity: 1];
- processingCompose = NO;
- }
-
- w = [theEvent window];
- TkWindow *winPtr = TkMacOSXGetTkWindow(w);
- Tk_Window tkwin = (Tk_Window) winPtr;
- XEvent xEvent;
-
- if (!winPtr) {
- return theEvent;
- }
-
- switch (type) {
- case NSKeyUp:
- /*Fix for bug #1ba71a86bb: key release firing on key press.*/
- setupXEvent(&xEvent, w, 0);
- xEvent.xany.type = KeyRelease;
- xEvent.xkey.keycode = releaseCode;
- xEvent.xany.serial = LastKnownRequestProcessed(Tk_Display(tkwin));
- case NSKeyDown:
- repeat = [theEvent isARepeat];
- characters = [theEvent characters];
- charactersIgnoringModifiers = [theEvent charactersIgnoringModifiers];
- len = [charactersIgnoringModifiers length];
- case NSFlagsChanged:
- modifiers = [theEvent modifierFlags];
- keyCode = [theEvent keyCode];
-
-#if defined(TK_MAC_DEBUG_EVENTS) || NS_KEYLOG == 1
- TKLog(@"-[%@(%p) %s] r=%d mods=%u '%@' '%@' code=%u c=%d %@ %d", [self class], self, _cmd, repeat, modifiers, characters, charactersIgnoringModifiers, keyCode,([charactersIgnoringModifiers length] == 0) ? 0 : [charactersIgnoringModifiers characterAtIndex: 0], w, type);
-#endif
- break;
-
- default:
- return theEvent; /* Unrecognized key event. */
- }
-
- /* Create an Xevent to add to the Tk queue. */
- if (!processingCompose) {
- unsigned int state = 0;
-
- if (modifiers & NSAlphaShiftKeyMask) {
- state |= LockMask;
- }
- if (modifiers & NSShiftKeyMask) {
- state |= ShiftMask;
- }
- if (modifiers & NSControlKeyMask) {
- state |= ControlMask;
- }
- if (modifiers & NSCommandKeyMask) {
- state |= Mod1Mask; /* command key */
- }
- if (modifiers & NSAlternateKeyMask) {
- state |= Mod2Mask; /* option key */
- }
- if (modifiers & NSNumericPadKeyMask) {
- state |= Mod3Mask;
- }
- if (modifiers & NSFunctionKeyMask) {
- state |= Mod4Mask;
- }
-
- /*
- * The focus must be in the FrontWindow on the Macintosh. We then query Tk
- * to determine the exact Tk window that owns the focus.
- */
-
- TkWindow *winPtr = TkMacOSXGetTkWindow(w);
- Tk_Window tkwin = (Tk_Window) winPtr;
-
- if (!tkwin) {
- TkMacOSXDbgMsg("tkwin == NULL");
- return theEvent;
- }
- tkwin = (Tk_Window) winPtr->dispPtr->focusPtr;
- if (!tkwin) {
- TkMacOSXDbgMsg("tkwin == NULL");
- return theEvent; /* Give up. No window for this event. */
- }
-
- /*
- * If it's a function key, or we have modifiers other than Shift or Alt,
- * pass it straight to Tk. Otherwise we'll send for input processing.
- */
- int code = (len == 0) ?
- 0 : [charactersIgnoringModifiers characterAtIndex: 0];
- if (type != NSKeyDown || isFunctionKey(code)
- || (len > 0 && state & (ControlMask | Mod1Mask | Mod3Mask | Mod4Mask))) {
-
- XEvent xEvent;
- setupXEvent(&xEvent, w, state);
-
- if (type == NSFlagsChanged) {
- if (savedModifiers > modifiers) {
- xEvent.xany.type = KeyRelease;
- } else {
- xEvent.xany.type = KeyPress;
- }
-
- /*
- * Use special '-1' to signify a special keycode to our platform
- * specific code in tkMacOSXKeyboard.c. This is rather like what
- * happens on Windows.
- */
-
- xEvent.xany.send_event = -1;
-
- /*
- * Set keycode (which was zero) to the changed modifier
- */
-
- xEvent.xkey.keycode = (modifiers ^ savedModifiers);
- } else {
- if (type == NSKeyUp || repeat) {
- xEvent.xany.type = KeyRelease;
- } else {
- xEvent.xany.type = KeyPress;
- }
-
- /* For command key, take input manager's word so things
- like dvorak / qwerty layout work. */
- if ((modifiers & NSCommandKeyMask) == NSCommandKeyMask
- && (modifiers & NSAlternateKeyMask) != NSAlternateKeyMask
- && len > 0 && !isFunctionKey(code)) {
- // head off keycode-based translation in tkMacOSXKeyboard.c
- xEvent.xkey.nbytes = [characters length]; //len
- }
-
- if ([characters length] > 0) {
- xEvent.xkey.keycode =
- (keyCode << 16) | (UInt16) [characters characterAtIndex:0];
- if (![characters getCString:xEvent.xkey.trans_chars
- maxLength:XMaxTransChars encoding:NSUTF8StringEncoding]) {
- /* prevent SF bug 2907388 (crash on some composite chars) */
- //PENDING: we might not need this anymore
- TkMacOSXDbgMsg("characters too long");
- return theEvent;
- }
- }
-
- if (repeat) {
- Tk_QueueWindowEvent(&xEvent, TCL_QUEUE_TAIL);
- xEvent.xany.type = KeyPress;
- xEvent.xany.serial = LastKnownRequestProcessed(Tk_Display(tkwin));
- }
- }
- Tk_QueueWindowEvent(&xEvent, TCL_QUEUE_TAIL);
- savedModifiers = modifiers;
- return theEvent;
- } /* if send straight to TK */
-
- } /* if not processing compose */
-
- if (type == NSKeyDown) {
- if (NS_KEYLOG)
- fprintf (stderr, "keyDown: %s compose sequence.\n",
- processingCompose == YES ? "Continue" : "Begin");
- processingCompose = YES;
- [nsEvArray addObject: theEvent];
- [[w contentView] interpretKeyEvents: nsEvArray];
- [nsEvArray removeObject: theEvent];
- }
-
- savedModifiers = modifiers;
-
- return theEvent;
-}
-@end
-
-
-
-@implementation TKContentView
-/* <NSTextInput> implementation (called through interpretKeyEvents:]). */
-
-/* <NSTextInput>: called when done composing;
- NOTE: also called when we delete over working text, followed immed.
- by doCommandBySelector: deleteBackward: */
-- (void)insertText: (id)aString
-{
- int i, len = [(NSString *)aString length];
- XEvent xEvent;
-
- if (NS_KEYLOG)
- TKLog (@"insertText '%@'\tlen = %d", aString, len);
- processingCompose = NO;
- finishedCompose = YES;
-
- /* first, clear any working text */
- if (privateWorkingText != nil)
- [self deleteWorkingText];
-
- /* now insert the string as keystrokes */
- setupXEvent(&xEvent, [self window], 0);
- xEvent.xany.type = KeyPress;
-
- for (i =0; i<len; i++)
- {
- xEvent.xkey.keycode = (UInt16) [aString characterAtIndex: i];
- [[aString substringWithRange: NSMakeRange(i,1)]
- getCString: xEvent.xkey.trans_chars
- maxLength: XMaxTransChars encoding: NSUTF8StringEncoding];
- xEvent.xkey.nbytes = strlen(xEvent.xkey.trans_chars);
- xEvent.xany.type = KeyPress;
- releaseCode = (UInt16) [aString characterAtIndex: 0];
- Tk_QueueWindowEvent(&xEvent, TCL_QUEUE_TAIL);
- }
- releaseCode = (UInt16) [aString characterAtIndex: 0];
-}
-
-
-/* <NSTextInput>: inserts display of composing characters */
-- (void)setMarkedText: (id)aString selectedRange: (NSRange)selRange
-{
- NSString *str = [aString respondsToSelector: @selector (string)] ?
- [aString string] : aString;
- if (NS_KEYLOG)
- TKLog (@"setMarkedText '%@' len =%lu range %lu from %lu", str,
- (unsigned long) [str length], (unsigned long) selRange.length,
- (unsigned long) selRange.location);
-
- if (privateWorkingText != nil)
- [self deleteWorkingText];
- if ([str length] == 0)
- return;
-
- processingCompose = YES;
- privateWorkingText = [str copy];
-
- //PENDING: insert workingText underlined
-}
-
-
-- (BOOL)hasMarkedText
-{
- return privateWorkingText != nil;
-}
-
-
-- (NSRange)markedRange
-{
- NSRange rng = privateWorkingText != nil
- ? NSMakeRange (0, [privateWorkingText length]) : NSMakeRange (NSNotFound, 0);
- if (NS_KEYLOG)
- TKLog (@"markedRange request");
- return rng;
-}
-
-
-- (void)unmarkText
-{
- if (NS_KEYLOG)
- TKLog (@"unmark (accept) text");
- [self deleteWorkingText];
- processingCompose = NO;
-}
-
-
-/* used to position char selection windows, etc. */
-- (NSRect)firstRectForCharacterRange: (NSRange)theRange
-{
- NSRect rect;
- NSPoint pt;
-
- pt.x = caret_x;
- pt.y = caret_y;
-
- pt = [self convertPoint: pt toView: nil];
- pt = [[self window] tkConvertPointToScreen: pt];
- pt.y -= caret_height;
-
- rect.origin = pt;
- rect.size.width = caret_height;
- rect.size.height = caret_height;
- return rect;
-}
-
-
-- (NSInteger)conversationIdentifier
-{
- return (NSInteger)self;
-}
-
-
-- (void)doCommandBySelector: (SEL)aSelector
-{
- if (NS_KEYLOG)
- TKLog (@"doCommandBySelector: %@", NSStringFromSelector (aSelector));
- processingCompose = NO;
- if (aSelector == @selector (deleteBackward:))
- {
- /* happens when user backspaces over an ongoing composition:
- throw a 'delete' into the event queue */
- XEvent xEvent;
- setupXEvent(&xEvent, [self window], 0);
- xEvent.xany.type = KeyPress;
- xEvent.xkey.nbytes = 1;
- xEvent.xkey.keycode = (0x33 << 16) | 0x7F;
- xEvent.xkey.trans_chars[0] = 0x7F;
- xEvent.xkey.trans_chars[1] = 0x0;
- Tk_QueueWindowEvent(&xEvent, TCL_QUEUE_TAIL);
- }
-}
-
-
-- (NSArray *)validAttributesForMarkedText
-{
- static NSArray *arr = nil;
- if (arr == nil) arr = [NSArray new];
- /* [[NSArray arrayWithObject: NSUnderlineStyleAttributeName] retain]; */
- return arr;
-}
-
-
-- (NSRange)selectedRange
-{
- if (NS_KEYLOG)
- TKLog (@"selectedRange request");
- return NSMakeRange (NSNotFound, 0);
-}
-
-
-- (NSUInteger)characterIndexForPoint: (NSPoint)thePoint
-{
- if (NS_KEYLOG)
- TKLog (@"characterIndexForPoint request");
- return 0;
-}
-
-
-- (NSAttributedString *)attributedSubstringFromRange: (NSRange)theRange
-{
- static NSAttributedString *str = nil;
- if (str == nil) str = [NSAttributedString new];
- if (NS_KEYLOG)
- TKLog (@"attributedSubstringFromRange request");
- return str;
-}
-/* End <NSTextInput> impl. */
-@end
-
-
-@implementation TKContentView(TKKeyEvent)
-/* delete display of composing characters [not in <NSTextInput>] */
-- (void)deleteWorkingText
-{
- if (privateWorkingText == nil)
- return;
- if (NS_KEYLOG)
- TKLog(@"deleteWorkingText len = %lu\n",
- (unsigned long)[privateWorkingText length]);
- [privateWorkingText release];
- privateWorkingText = nil;
- processingCompose = NO;
-
- //PENDING: delete working text
-}
-@end
-
-
-
-/*
- * Set up basic fields in xevent for keyboard input.
- */
-static void
-setupXEvent(XEvent *xEvent, NSWindow *w, unsigned int state)
-{
- TkWindow *winPtr = TkMacOSXGetTkWindow(w);
- Tk_Window tkwin = (Tk_Window) winPtr;
- if (!winPtr) {
- return;
- }
-
- memset(xEvent, 0, sizeof(XEvent));
- xEvent->xany.serial = LastKnownRequestProcessed(Tk_Display(tkwin));
- xEvent->xany.send_event = false;
- xEvent->xany.display = Tk_Display(tkwin);
- xEvent->xany.window = Tk_WindowId(tkwin);
-
- xEvent->xkey.root = XRootWindow(Tk_Display(tkwin), 0);
- xEvent->xkey.subwindow = None;
- xEvent->xkey.time = TkpGetMS();
- xEvent->xkey.state = state;
- xEvent->xkey.same_screen = true;
- xEvent->xkey.trans_chars[0] = 0;
- xEvent->xkey.nbytes = 0;
-}
-
-#pragma mark -
-
-/*
- *----------------------------------------------------------------------
- *
- * XGrabKeyboard --
- *
- * Simulates a keyboard grab by setting the focus.
- *
- * Results:
- * Always returns GrabSuccess.
- *
- * Side effects:
- * Sets the keyboard focus to the specified window.
- *
- *----------------------------------------------------------------------
- */
-
-int
-XGrabKeyboard(
- Display* display,
- Window grab_window,
- Bool owner_events,
- int pointer_mode,
- int keyboard_mode,
- Time time)
-{
- keyboardGrabWinPtr = Tk_IdToWindow(display, grab_window);
- if (keyboardGrabWinPtr && grabWinPtr) {
- NSWindow *w = TkMacOSXDrawableWindow(grab_window);
- MacDrawable *macWin = (MacDrawable *) grab_window;
-
- if (w && macWin->toplevel->winPtr == (TkWindow*) grabWinPtr) {
- if (modalSession) {
- Tcl_Panic("XGrabKeyboard: already grabbed");
- }
- keyboardGrabNSWindow = w;
- [w retain];
- modalSession = [NSApp beginModalSessionForWindow:w];
- }
- }
- return GrabSuccess;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * XUngrabKeyboard --
- *
- * Releases the simulated keyboard grab.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Sets the keyboard focus back to the value before the grab.
- *
- *----------------------------------------------------------------------
- */
-
-void
-XUngrabKeyboard(
- Display* display,
- Time time)
-{
- if (modalSession) {
- [NSApp endModalSession:modalSession];
- modalSession = nil;
- }
- if (keyboardGrabNSWindow) {
- [keyboardGrabNSWindow release];
- keyboardGrabNSWindow = nil;
- }
- keyboardGrabWinPtr = NULL;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXGetCapture --
- *
- * Results:
- * Returns the current grab window
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-Tk_Window
-TkMacOSXGetCapture(void)
-{
- return grabWinPtr;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXGetModalSession --
- *
- * Results:
- * Returns the current modal session
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-MODULE_SCOPE NSModalSession
-TkMacOSXGetModalSession(void)
-{
- return modalSession;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpSetCapture --
- *
- * This function captures the mouse so that all future events will be
- * reported to this window, even if the mouse is outside the window. If
- * the specified window is NULL, then the mouse is released.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Sets the capture flag and captures the mouse.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpSetCapture(
- TkWindow *winPtr) /* Capture window, or NULL. */
-{
- while (winPtr && !Tk_IsTopLevel(winPtr)) {
- winPtr = winPtr->parentPtr;
- }
- grabWinPtr = (Tk_Window) winPtr;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * Tk_SetCaretPos --
- *
- * This enables correct placement of the XIM caret. This is called by
- * widgets to indicate their cursor placement, and the caret location is
- * used by TkpGetString to place the XIM caret.
- *
- * Results:
- * None
- *
- * Side effects:
- * None
- *
- *----------------------------------------------------------------------
- */
-
-void
-Tk_SetCaretPos(
- Tk_Window tkwin,
- int x,
- int y,
- int height)
- {
- TkCaret *caretPtr = &(((TkWindow *) tkwin)->dispPtr->caret);
-
- /*
- * Prevent processing anything if the values haven't changed. Windows only
- * has one display, so we can do this with statics.
- */
-
- if ((caretPtr->winPtr == ((TkWindow *) tkwin))
- && (caretPtr->x == x) && (caretPtr->y == y)) {
- return;
- }
-
- caretPtr->winPtr = ((TkWindow *) tkwin);
- caretPtr->x = x;
- caretPtr->y = y;
- caretPtr->height = height;
-
- /*
- * As in Windows, adjust to the toplevel to get the coords right.
- */
-
- while (!Tk_IsTopLevel(tkwin)) {
- x += Tk_X(tkwin);
- y += Tk_Y(tkwin);
- tkwin = Tk_Parent(tkwin);
- if (tkwin == NULL) {
- return;
- }
- }
-
- /* But adjust for fact that NS uses flipped view. */
- y = Tk_Height(tkwin) - y;
-
- caret_x = x;
- caret_y = y;
- caret_height = height;
-}
-
-
-static unsigned convert_ns_to_X_keysym[] =
-{
- NSHomeFunctionKey, 0x50,
- NSLeftArrowFunctionKey, 0x51,
- NSUpArrowFunctionKey, 0x52,
- NSRightArrowFunctionKey, 0x53,
- NSDownArrowFunctionKey, 0x54,
- NSPageUpFunctionKey, 0x55,
- NSPageDownFunctionKey, 0x56,
- NSEndFunctionKey, 0x57,
- NSBeginFunctionKey, 0x58,
- NSSelectFunctionKey, 0x60,
- NSPrintFunctionKey, 0x61,
- NSExecuteFunctionKey, 0x62,
- NSInsertFunctionKey, 0x63,
- NSUndoFunctionKey, 0x65,
- NSRedoFunctionKey, 0x66,
- NSMenuFunctionKey, 0x67,
- NSFindFunctionKey, 0x68,
- NSHelpFunctionKey, 0x6A,
- NSBreakFunctionKey, 0x6B,
-
- NSF1FunctionKey, 0xBE,
- NSF2FunctionKey, 0xBF,
- NSF3FunctionKey, 0xC0,
- NSF4FunctionKey, 0xC1,
- NSF5FunctionKey, 0xC2,
- NSF6FunctionKey, 0xC3,
- NSF7FunctionKey, 0xC4,
- NSF8FunctionKey, 0xC5,
- NSF9FunctionKey, 0xC6,
- NSF10FunctionKey, 0xC7,
- NSF11FunctionKey, 0xC8,
- NSF12FunctionKey, 0xC9,
- NSF13FunctionKey, 0xCA,
- NSF14FunctionKey, 0xCB,
- NSF15FunctionKey, 0xCC,
- NSF16FunctionKey, 0xCD,
- NSF17FunctionKey, 0xCE,
- NSF18FunctionKey, 0xCF,
- NSF19FunctionKey, 0xD0,
- NSF20FunctionKey, 0xD1,
- NSF21FunctionKey, 0xD2,
- NSF22FunctionKey, 0xD3,
- NSF23FunctionKey, 0xD4,
- NSF24FunctionKey, 0xD5,
-
- NSBackspaceCharacter, 0x08, /* 8: Not on some KBs. */
- NSDeleteCharacter, 0xFF, /* 127: Big 'delete' key upper right. */
- NSDeleteFunctionKey, 0x9F, /* 63272: Del forw key off main array. */
-
- NSTabCharacter, 0x09,
- 0x19, 0x09, /* left tab->regular since pass shift */
- NSCarriageReturnCharacter, 0x0D,
- NSNewlineCharacter, 0x0D,
- NSEnterCharacter, 0x8D,
-
- 0x1B, 0x1B /* escape */
-};
-
-
-static unsigned isFunctionKey(unsigned code)
-{
- const unsigned last_keysym = (sizeof (convert_ns_to_X_keysym)
- / sizeof (convert_ns_to_X_keysym[0]));
- unsigned keysym;
- for (keysym = 0; keysym < last_keysym; keysym += 2)
- if (code == convert_ns_to_X_keysym[keysym])
- return 0xFF00 | convert_ns_to_X_keysym[keysym+1];
- return 0;
- }
-
-/*
- * Local Variables:
- * mode: objc
- * c-basic-offset: 4
- * fill-column: 79
- * coding: utf-8
- * End:
- */
diff --git a/tk8.6/macosx/tkMacOSXKeyboard.c b/tk8.6/macosx/tkMacOSXKeyboard.c
deleted file mode 100644
index 31f842a..0000000
--- a/tk8.6/macosx/tkMacOSXKeyboard.c
+++ /dev/null
@@ -1,949 +0,0 @@
-/*
- * tkMacOSXKeyboard.c --
- *
- * Routines to support keyboard events on the Macintosh.
- *
- * Copyright (c) 1995-1997 Sun Microsystems, Inc.
- * Copyright 2001-2009, Apple Inc.
- * Copyright (c) 2005-2009 Daniel A. Steffen <das@users.sourceforge.net>
- *
- * See the file "license.terms" for information on usage and redistribution
- * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
- */
-
-#include "tkMacOSXPrivate.h"
-#include "tkMacOSXEvent.h"
-#include "tkMacOSXConstants.h"
-/*
- * A couple of simple definitions to make code a bit more self-explaining.
- *
- * For the assignments of Mod1==meta==command and Mod2==alt==option, see also
- * tkMacOSXMouseEvent.c.
- */
-
-#define LATIN1_MAX 255
-#define MAC_KEYCODE_MAX 0x7F
-#define MAC_KEYCODE_MASK 0x7F
-#define COMMAND_MASK Mod1Mask
-#define OPTION_MASK Mod2Mask
-
-
-/*
- * Tables enumerating the special keys defined on Mac keyboards. These are
- * necessary for correct keysym mappings for all keys where the keysyms are
- * not identical with their ASCII or Latin-1 code points.
- */
-
-typedef struct {
- int keycode; /* Macintosh keycode. */
- KeySym keysym; /* X windows keysym. */
-} KeyInfo;
-
-/*
- * Notes on keyArray:
- *
- * 0x34, XK_Return - Powerbooks use this and some keymaps define it.
- *
- * 0x4C, XK_Return - XFree86 and Apple's X11 call this one XK_KP_Enter.
- *
- * 0x47, XK_Clear - This key is NumLock when used on PCs, but Mac
- * applications don't use it like that, nor does Apple's X11.
- *
- * All other keycodes are taken from the published ADB keyboard layouts.
- */
-
-static KeyInfo keyArray[] = {
- {0x24, XK_Return},
- {0x30, XK_Tab},
- {0x33, XK_BackSpace},
- {0x34, XK_Return},
- {0x35, XK_Escape},
-
- {0x47, XK_Clear},
- {0x4C, XK_KP_Enter},
-
- {0x72, XK_Help},
- {0x73, XK_Home},
- {0x74, XK_Page_Up},
- {0x75, XK_Delete},
- {0x77, XK_End},
- {0x79, XK_Page_Down},
-
- {0x7B, XK_Left},
- {0x7C, XK_Right},
- {0x7D, XK_Down},
- {0x7E, XK_Up},
-
- {0, 0}
-};
-
-static KeyInfo virtualkeyArray[] = {
- {122, XK_F1},
- {120, XK_F2},
- {99, XK_F3},
- {118, XK_F4},
- {96, XK_F5},
- {97, XK_F6},
- {98, XK_F7},
- {100, XK_F8},
- {101, XK_F9},
- {109, XK_F10},
- {103, XK_F11},
- {111, XK_F12},
- {105, XK_F13},
- {107, XK_F14},
- {113, XK_F15},
- {0, 0}
-};
-
-#define NUM_MOD_KEYCODES 14
-static KeyCode modKeyArray[NUM_MOD_KEYCODES] = {
- XK_Shift_L,
- XK_Shift_R,
- XK_Control_L,
- XK_Control_R,
- XK_Caps_Lock,
- XK_Shift_Lock,
- XK_Meta_L,
- XK_Meta_R,
- XK_Alt_L,
- XK_Alt_R,
- XK_Super_L,
- XK_Super_R,
- XK_Hyper_L,
- XK_Hyper_R,
-};
-
-static int initialized = 0;
-static Tcl_HashTable keycodeTable; /* keyArray hashed by keycode value. */
-static Tcl_HashTable vkeyTable; /* virtualkeyArray hashed by virtual
- * keycode value. */
-
-static int latin1Table[LATIN1_MAX+1]; /* Reverse mapping table for
- * controls, ASCII and Latin-1. */
-
-static int keyboardChanged = 1;
-
-/*
- * Prototypes for static functions used in this file.
- */
-
-static void InitKeyMaps (void);
-static void InitLatin1Table(Display *display);
-static int XKeysymToMacKeycode(Display *display, KeySym keysym);
-static int KeycodeToUnicode(UniChar * uniChars, int maxChars,
- UInt16 keyaction, UInt32 keycode, UInt32 modifiers,
- UInt32 * deadKeyStatePtr);
-
-#pragma mark TKApplication(TKKeyboard)
-
-@implementation TKApplication(TKKeyboard)
-- (void) keyboardChanged: (NSNotification *) notification
-{
-#ifdef TK_MAC_DEBUG_NOTIFICATIONS
- TKLog(@"-[%@(%p) %s] %@", [self class], self, _cmd, notification);
-#endif
- keyboardChanged = 1;
-}
-@end
-
-#pragma mark -
-
-/*
- *----------------------------------------------------------------------
- *
- * InitKeyMaps --
- *
- * Creates hash tables used by some of the functions in this file.
- *
- * FIXME: As keycodes are defined to be in the limited range 0-127, it
- * would be easier and more efficient to use directly initialized plain
- * arrays and drop this function.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Allocates memory & creates some hash tables.
- *
- *----------------------------------------------------------------------
- */
-
-static void
-InitKeyMaps(void)
-{
- Tcl_HashEntry *hPtr;
- KeyInfo *kPtr;
- int dummy;
-
- Tcl_InitHashTable(&keycodeTable, TCL_ONE_WORD_KEYS);
- for (kPtr = keyArray; kPtr->keycode != 0; kPtr++) {
- hPtr = Tcl_CreateHashEntry(&keycodeTable, INT2PTR(kPtr->keycode),
- &dummy);
- Tcl_SetHashValue(hPtr, kPtr->keysym);
- }
- Tcl_InitHashTable(&vkeyTable, TCL_ONE_WORD_KEYS);
- for (kPtr = virtualkeyArray; kPtr->keycode != 0; kPtr++) {
- hPtr = Tcl_CreateHashEntry(&vkeyTable, INT2PTR(kPtr->keycode),
- &dummy);
- Tcl_SetHashValue(hPtr, kPtr->keysym);
- }
- initialized = 1;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * InitLatin1Table --
- *
- * Creates a simple table to be used for mapping from keysyms to keycodes.
- * Always needs to be called before using latin1Table, because the
- * keyboard layout may have changed, and than the table must be
- * re-computed.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Sets the global latin1Table.
- *
- *----------------------------------------------------------------------
- */
-
-static void
-InitLatin1Table(
- Display *display)
-{
- int keycode;
- KeySym keysym;
- int state;
- int modifiers;
-
- memset(latin1Table, 0, sizeof(latin1Table));
-
- /*
- * In the common X11 implementations, a keymap has four columns
- * "plain", "Shift", "Mode_switch" and "Mode_switch + Shift". We don't
- * use "Mode_switch", but we use "Option" instead. (This is similar to
- * Apple's X11 implementation, where "Mode_switch" is used as an alias
- * for "Option".)
- *
- * So here we go through all 4 columns of the keymap and find all
- * Latin-1 compatible keycodes. We go through the columns back-to-front
- * from the more exotic columns to the more simple, so that simple
- * keycode-modifier combinations are preferred in the resulting table.
- */
-
- for (state = 3; state >= 0; state--) {
- modifiers = 0;
- if (state & 1) {
- modifiers |= shiftKey;
- }
- if (state & 2) {
- modifiers |= optionKey;
- }
-
- for (keycode = 0; keycode <= MAC_KEYCODE_MAX; keycode++) {
- keysym = XKeycodeToKeysym(display,keycode<<16,state);
- if (keysym <= LATIN1_MAX) {
- latin1Table[keysym] = keycode | modifiers;
- }
- }
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * KeycodeToUnicode --
- *
- * Given MacOS key event data this function generates the Unicode
- * characters. It does this using OS resources and APIs.
- *
- * The parameter deadKeyStatePtr can be NULL, if no deadkey handling is
- * needed.
- *
- * This function is called from XKeycodeToKeysym() in tkMacOSKeyboard.c.
- *
- * Results:
- * The number of characters generated if any, 0 if we are waiting for
- * another byte of a dead-key sequence. Fills in the uniChars array with a
- * Unicode string.
- *
- * Side Effects:
- * None
- *
- *----------------------------------------------------------------------
- */
-
-static int
-KeycodeToUnicode(
- UniChar *uniChars,
- int maxChars,
- UInt16 keyaction,
- UInt32 keycode,
- UInt32 modifiers,
- UInt32 *deadKeyStatePtr)
-{
- static const void *uchr = NULL;
- static UInt32 keyboardType = 0;
- UniCharCount actuallength = 0;
-
- if (keyboardChanged) {
- TISInputSourceRef currentKeyboardLayout =
- TISCopyCurrentKeyboardLayoutInputSource();
-
- if (currentKeyboardLayout) {
- CFDataRef keyLayoutData = (CFDataRef) TISGetInputSourceProperty(
- currentKeyboardLayout, kTISPropertyUnicodeKeyLayoutData);
-
- if (keyLayoutData) {
- uchr = CFDataGetBytePtr(keyLayoutData);
- keyboardType = LMGetKbdType();
- }
- CFRelease(currentKeyboardLayout);
- }
- keyboardChanged = 0;
- }
- if (uchr) {
- OptionBits options = 0;
- UInt32 dummyState;
- OSStatus err;
-
- keycode &= 0xFF;
- modifiers = (modifiers >> 8) & 0xFF;
-
- if (!deadKeyStatePtr) {
- options = kUCKeyTranslateNoDeadKeysMask;
- dummyState = 0;
- deadKeyStatePtr = &dummyState;
- }
-
- err = ChkErr(UCKeyTranslate, uchr, keycode, keyaction, modifiers,
- keyboardType, options, deadKeyStatePtr, maxChars,
- &actuallength, uniChars);
-
- if (!actuallength && *deadKeyStatePtr) {
- /*
- * More data later
- */
-
- return 0;
- }
- *deadKeyStatePtr = 0;
- if (err != noErr) {
- actuallength = 0;
- }
- }
- return actuallength;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * XKeycodeToKeysym --
- *
- * Translate from a system-dependent keycode to a system-independent
- * keysym.
- *
- * Results:
- * Returns the translated keysym, or NoSymbol on failure.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-KeySym
-XKeycodeToKeysym(
- Display* display,
- KeyCode keycode,
- int index)
-{
- register Tcl_HashEntry *hPtr;
- int newKeycode;
- UniChar newChar;
-
- (void) display; /*unused*/
-
- if (!initialized) {
- InitKeyMaps();
- }
-
- /*
- * When determining what keysym to produce we first check to see if the key
- * is a function key. We then check to see if the character is another
- * non-printing key. Finally, we return the key syms for all ASCII and
- * Latin-1 chars.
- */
-
- newKeycode = keycode >> 16;
-
- if ((keycode & 0xFFFF) >= 0xF700) { /* NSEvent.h function key unicodes */
- hPtr = Tcl_FindHashEntry(&vkeyTable, INT2PTR(newKeycode));
- if (hPtr != NULL) {
- return (KeySym) Tcl_GetHashValue(hPtr);
- }
- }
- hPtr = Tcl_FindHashEntry(&keycodeTable, INT2PTR(newKeycode));
- if (hPtr != NULL) {
- return (KeySym) Tcl_GetHashValue(hPtr);
- }
-
- /*
- * Add in the Mac modifier flags for shift and option.
- */
-
- if (index & 1) {
- newKeycode |= shiftKey;
- }
- if (index & 2) {
- newKeycode |= optionKey;
- }
-
- newChar = 0;
- KeycodeToUnicode(&newChar, 1, kUCKeyActionDown, newKeycode & 0x00FF,
- newKeycode & 0xFF00, NULL);
-
- /*
- * X11 keysyms are identical to Unicode for ASCII and Latin-1. Give up for
- * other characters for now.
- */
-
- if ((newChar >= XK_space) && (newChar <= LATIN1_MAX)) {
- return newChar;
- }
-
- return NoSymbol;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpGetString --
- *
- * Retrieve the string equivalent for the given keyboard event.
- *
- * Results:
- * Returns the UTF string.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-const char *
-TkpGetString(
- TkWindow *winPtr, /* Window where event occurred: Needed to get
- * input context. */
- XEvent *eventPtr, /* X keyboard event. */
- Tcl_DString *dsPtr) /* Uninitialized or empty string to hold
- * result. */
-{
- (void) winPtr; /*unused*/
- Tcl_DStringInit(dsPtr);
- return Tcl_DStringAppend(dsPtr, eventPtr->xkey.trans_chars, -1);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * XGetModifierMapping --
- *
- * Fetch the current keycodes used as modifiers.
- *
- * Results:
- * Returns a new modifier map.
- *
- * Side effects:
- * Allocates a new modifier map data structure.
- *
- *----------------------------------------------------------------------
- */
-
-XModifierKeymap *
-XGetModifierMapping(
- Display *display)
-{
- XModifierKeymap *modmap;
-
- (void) display; /*unused*/
-
- /*
- * MacOSX doesn't use the key codes for the modifiers for anything, and we
- * don't generate them either. So there is no modifier map.
- */
- modmap = ckalloc(sizeof(XModifierKeymap));
- modmap->max_keypermod = 0;
- modmap->modifiermap = NULL;
- return modmap;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * XFreeModifiermap --
- *
- * Deallocate a modifier map that was created by XGetModifierMapping.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Frees the datastructure referenced by modmap.
- *
- *----------------------------------------------------------------------
- */
-
-int
-XFreeModifiermap(
- XModifierKeymap *modmap)
-{
- if (modmap->modifiermap != NULL) {
- ckfree(modmap->modifiermap);
- }
- ckfree(modmap);
- return Success;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * XKeysymToString, XStringToKeysym --
- *
- * These X window functions map keysyms to strings & strings to keysyms.
- * However, Tk already does this for the most common keysyms. Therefore,
- * these functions only need to support keysyms that will be specific to
- * the Macintosh. Currently, there are none.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-char *
-XKeysymToString(
- KeySym keysym)
-{
- return NULL;
-}
-
-KeySym
-XStringToKeysym(
- const char* string)
-{
- return NoSymbol;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * XKeysymToMacKeycode --
- *
- * An internal function like XKeysymToKeycode but only generating the Mac
- * specific keycode plus the modifiers Shift and Option.
- *
- * Results:
- * A Mac keycode with the actual keycode in the low byte and Mac-style
- * modifier bits in the high byte.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-XKeysymToMacKeycode(
- Display *display,
- KeySym keysym)
-{
- KeyInfo *kPtr;
- if (keysym <= LATIN1_MAX) {
- /*
- * Handle keysyms in the Latin-1 range where keysym and Unicode
- * character code point are the same.
- */
-
- if (keyboardChanged) {
- InitLatin1Table(display);
- keyboardChanged = 0;
- }
- return latin1Table[keysym];
- }
-
- /*
- * Handle special keys from our exception tables. Don't mind if this is
- * slow, neither the test suite nor [event generate] need to be optimized
- * (we hope).
- */
-
- for (kPtr = keyArray; kPtr->keycode != 0; kPtr++) {
- if (kPtr->keysym == keysym) {
- return kPtr->keycode;
- }
- }
- for (kPtr = virtualkeyArray; kPtr->keycode != 0; kPtr++) {
- if (kPtr->keysym == keysym) {
- return kPtr->keycode;
- }
- }
-
- /*
- * Modifier keycodes only come from generated events. No translation
- * is needed.
- */
-
- for (int i=0; i < NUM_MOD_KEYCODES; i++) {
- if (keysym == modKeyArray[i]) {
- return keysym;
- }
- }
-
- /*
- * For other keysyms (not Latin-1 and not special keys), we'd need a
- * generic keysym-to-unicode table. We don't have that, so we give up here.
- */
-
- return 0;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * XKeysymToKeycode --
- *
- * The function XKeysymToKeycode takes an X11 keysym and converts it into
- * a Mac keycode. It is in the stubs table for compatibility but not used
- * anywhere in the core.
- *
- * Results:
- * A 32 bit keycode with the the mac keycode (without modifiers) in the
- * higher 16 bits of the keycode and the ASCII or Latin-1 code in the
- * lower 8 bits of the keycode.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-KeyCode
-XKeysymToKeycode(
- Display* display,
- KeySym keysym)
-{
- int macKeycode = XKeysymToMacKeycode(display, keysym);
- KeyCode result;
-
- /*
- * See also TkpSetKeycodeAndState. The 0x0010 magic is used in
- * XKeycodeToKeysym. For special keys like XK_Return the lower 8 bits of
- * the keysym are usually a related ASCII control code.
- */
-
- if ((keysym >= XK_F1) && (keysym <= XK_F35)) {
- result = 0x0010;
- } else {
- result = 0x00FF & keysym;
- }
- result |= (macKeycode & MAC_KEYCODE_MASK) << 16;
-
- return result;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpSetKeycodeAndState --
- *
- * The function TkpSetKeycodeAndState takes a keysym and fills in the
- * appropriate members of an XEvent. It is similar to XKeysymToKeycode,
- * but it also sets the modifier mask in the XEvent. It is used by [event
- * generate] and it is in the stubs table.
- *
- * Results:
- * Fills an XEvent, sets the member xkey.keycode with a keycode
- * formatted the same as XKeysymToKeycode and the member xkey.state with
- * the modifiers implied by the keysym. Also fills in xkey.trans_chars,
- * so that the actual characters can be retrieved later.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpSetKeycodeAndState(
- Tk_Window tkwin,
- KeySym keysym,
- XEvent *eventPtr)
-{
- if (keysym == NoSymbol) {
- eventPtr->xkey.keycode = 0;
- } else if ( modKeyArray[0] <= keysym &&
- keysym <= modKeyArray[NUM_MOD_KEYCODES - 1]) {
- /*
- * Keysyms for pure modifiers only arise in generated events.
- * We should just copy them to the keycode.
- */
- eventPtr->xkey.keycode = keysym;
- } else {
- Display *display = Tk_Display(tkwin);
- int macKeycode = XKeysymToMacKeycode(display, keysym);
-
- /*
- * See also XKeysymToKeycode.
- */
- if ((keysym >= XK_F1) && (keysym <= XK_F35)) {
- eventPtr->xkey.keycode = 0x0010;
- } else {
- eventPtr->xkey.keycode = 0x00FF & keysym;
- }
- eventPtr->xkey.keycode |= (macKeycode & MAC_KEYCODE_MASK) << 16;
-
- if (shiftKey & macKeycode) {
- eventPtr->xkey.state |= ShiftMask;
- }
- if (optionKey & macKeycode) {
- eventPtr->xkey.state |= OPTION_MASK;
- }
-
- if (keysym <= LATIN1_MAX) {
- int done = Tcl_UniCharToUtf(keysym, eventPtr->xkey.trans_chars);
-
- eventPtr->xkey.trans_chars[done] = 0;
- } else {
- eventPtr->xkey.trans_chars[0] = 0;
- }
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpGetKeySym --
- *
- * Given an X KeyPress or KeyRelease event, map the keycode in the event
- * into a keysym.
- *
- * Results:
- * The return value is the keysym corresponding to eventPtr, or NoSymbol
- * if no matching keysym could be found.
- *
- * Side effects:
- * In the first call for a given display, keycode-to-keysym maps get
- * loaded.
- *
- *----------------------------------------------------------------------
- */
-
-KeySym
-TkpGetKeySym(
- TkDisplay *dispPtr, /* Display in which to map keycode. */
- XEvent *eventPtr) /* Description of X event. */
-{
- KeySym sym;
- int index;
-
- /*
- * Refresh the mapping information if it's stale.
- */
-
- if (dispPtr->bindInfoStale) {
- TkpInitKeymapInfo(dispPtr);
- }
-
- /*
- * Handle pure modifier keys specially. We use -1 as a signal for
- * this.
- */
-
- if (eventPtr->xany.send_event == -1) {
- int modifier = eventPtr->xkey.keycode & NSDeviceIndependentModifierFlagsMask;
-
- if (modifier == NSCommandKeyMask) {
- return XK_Meta_L;
- } else if (modifier == NSShiftKeyMask) {
- return XK_Shift_L;
- } else if (modifier == NSAlphaShiftKeyMask) {
- return XK_Caps_Lock;
- } else if (modifier == NSAlternateKeyMask) {
- return XK_Alt_L;
- } else if (modifier == NSControlKeyMask) {
- return XK_Control_L;
- } else if (modifier == NSNumericPadKeyMask) {
- return XK_Num_Lock;
- } else if (modifier == NSFunctionKeyMask) {
- return XK_Super_L;
-/*
- } else if (modifier == rightShiftKey) {
- return XK_Shift_R;
- } else if (modifier == rightOptionKey) {
- return XK_Alt_R;
- } else if (modifier == rightControlKey) {
- return XK_Control_R;
-*/
- } else {
- /*
- * If we get here, we probably need to implement something new.
- */
-
- return NoSymbol;
- }
- }
-
- /* If nbytes has been set, it's not a function key, but a regular key that
- has been translated in tkMacOSXKeyEvent.c; just use that. */
- if (eventPtr->xkey.nbytes) {
- return eventPtr->xkey.keycode & 0xFFFF;
- }
-
- /*
- * Figure out which of the four slots in the keymap vector to use for this
- * key. Refer to Xlib documentation for more info on how this computation
- * works. (Note: We use "Option" in keymap columns 2 and 3 where other
- * implementations have "Mode_switch".)
- */
-
- index = 0;
-
- /*
- * We want Option key combinations to use their base chars as keysyms, so
- * we ignore the option modifier here.
- */
-
-#if 0
- if (eventPtr->xkey.state & OPTION_MASK) {
- index |= 2;
- }
-#endif
-
- if ((eventPtr->xkey.state & ShiftMask)
- || (/* (dispPtr->lockUsage != LU_IGNORE)
- && */ (eventPtr->xkey.state & LockMask))) {
- index |= 1;
- }
-
- /*
- * First try of the actual translation.
- */
-
- sym = XKeycodeToKeysym(dispPtr->display, eventPtr->xkey.keycode, index);
-
- /*
- * Special handling: If the key was shifted because of Lock, but lock is
- * only caps lock, not shift lock, and the shifted keysym isn't upper-case
- * alphabetic, then switch back to the unshifted keysym.
- */
-
- if ((index & 1) && !(eventPtr->xkey.state & ShiftMask)
- /*&& (dispPtr->lockUsage == LU_CAPS)*/ ) {
- /*
- * FIXME: Keysyms are only identical to Unicode for ASCII and Latin-1,
- * so we can't use Tcl_UniCharIsUpper() for keysyms outside that range.
- * This may be a serious problem here.
- */
-
- if ((sym == NoSymbol) || (sym > LATIN1_MAX)
- || !Tcl_UniCharIsUpper(sym)) {
- index &= ~1;
- sym = XKeycodeToKeysym(dispPtr->display, eventPtr->xkey.keycode,
- index);
- }
- }
-
- /*
- * Another bit of special handling: If this is a shifted key and there is
- * no keysym defined, then use the keysym for the unshifted key.
- */
-
- if ((index & 1) && (sym == NoSymbol)) {
- sym = XKeycodeToKeysym(dispPtr->display, eventPtr->xkey.keycode,
- index & ~1);
- }
- return sym;
-}
-
-/*
- *--------------------------------------------------------------
- *
- * TkpInitKeymapInfo --
- *
- * This procedure is invoked to scan keymap information to recompute stuff
- * that's important for binding, such as the modifier key (if any) that
- * corresponds to the "Mode_switch" keysym.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Keymap-related information in dispPtr is updated.
- *
- *--------------------------------------------------------------
- */
-
-void
-TkpInitKeymapInfo(
- TkDisplay *dispPtr) /* Display for which to recompute keymap
- * information. */
-{
- dispPtr->bindInfoStale = 0;
-
- /*
- * Behaviours that are variable on X11 are defined constant on MacOSX.
- * lockUsage is only used above in TkpGetKeySym(), nowhere else currently.
- * There is no offical "Mode_switch" key.
- */
-
- dispPtr->lockUsage = LU_CAPS;
- dispPtr->modeModMask = 0;
-
-#if 0
- /*
- * With this, <Alt> and <Meta> become synonyms for <Command> and <Option>
- * in bindings like they are (and always have been) in the keysyms that
- * are reported by KeyPress events. But the init scripts like text.tcl
- * have some disabling bindings for <Meta>, so we don't want this without
- * some changes in those scripts. See also bug #700311.
- */
-
- dispPtr->altModMask = OPTION_MASK;
- dispPtr->metaModMask = COMMAND_MASK;
-#else
- dispPtr->altModMask = 0;
- dispPtr->metaModMask = 0;
-#endif
-
- /*
- * MacOSX doesn't create a key event when a modifier key is pressed or
- * released. However, it is possible to generate key events for
- * modifier keys, and this is done in the tests. So we construct an array
- * containing the keycodes of the standard modifier keys from static data.
- */
-
- if (dispPtr->modKeyCodes != NULL) {
- ckfree(dispPtr->modKeyCodes);
- }
- dispPtr->numModKeyCodes = NUM_MOD_KEYCODES;
- dispPtr->modKeyCodes = (KeyCode *)ckalloc(NUM_MOD_KEYCODES * sizeof(KeyCode));
- for (int i = 0; i < NUM_MOD_KEYCODES; i++) {
- dispPtr->modKeyCodes[i] = modKeyArray[i];
- }
-}
-
-/*
- * Local Variables:
- * mode: objc
- * c-basic-offset: 4
- * fill-column: 79
- * coding: utf-8
- * End:
- */
diff --git a/tk8.6/macosx/tkMacOSXMenu.c b/tk8.6/macosx/tkMacOSXMenu.c
deleted file mode 100644
index d5865f6..0000000
--- a/tk8.6/macosx/tkMacOSXMenu.c
+++ /dev/null
@@ -1,1785 +0,0 @@
-/*
- * tkMacOSXMenu.c --
- *
- * This module implements the Mac-platform specific features of menus.
- *
- * Copyright (c) 1996-1997 by Sun Microsystems, Inc.
- * Copyright 2001-2009, Apple Inc.
- * Copyright (c) 2005-2009 Daniel A. Steffen <das@users.sourceforge.net>
- * Copyright (c) 2012 Adrian Robert.
- *
- * See the file "license.terms" for information on usage and redistribution
- * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
- */
-
-#include "tkMacOSXPrivate.h"
-#include "tkMenubutton.h"
-#include "tkMenu.h"
-#include "tkColor.h"
-#include "tkFont.h"
-#include "tkMacOSXWm.h"
-#include "tkMacOSXDebug.h"
-#include "tkMacOSXConstants.h"
-
-/*
-#ifdef TK_MAC_DEBUG
-#define TK_MAC_DEBUG_MENUS
-#endif
-*/
-
-#define ENTRY_HELP_MENU ENTRY_PLATFORM_FLAG1
-#define ENTRY_APPLE_MENU ENTRY_PLATFORM_FLAG2
-#define ENTRY_WINDOWS_MENU ENTRY_PLATFORM_FLAG3
-
-#define sl(s) ((int) (sizeof(s "") - 1))
-
-#define SPECIALMENU(n, f) {.name = "." #n, .len = sl(#n) + 1, \
- .flag = ENTRY_##f##_MENU }
-static const struct {
- const char *name; const size_t len; const int flag;
-} specialMenus[] = {
- SPECIALMENU(help, HELP),
- SPECIALMENU(apple, APPLE),
- SPECIALMENU(window, WINDOWS),
- {NULL}
-};
-#undef SPECIALMENU
-
-#define MODIFIER(n, f) {.name = #n, .len = sl(#n), .mask = f }
-static const struct {
- const char *name; const size_t len; const NSUInteger mask;
-} modifiers[] = {
- MODIFIER(Control, NSControlKeyMask),
- MODIFIER(Ctrl, NSControlKeyMask),
- MODIFIER(Option, NSAlternateKeyMask),
- MODIFIER(Opt, NSAlternateKeyMask),
- MODIFIER(Alt, NSAlternateKeyMask),
- MODIFIER(Shift, NSShiftKeyMask),
- MODIFIER(Command, NSCommandKeyMask),
- MODIFIER(Cmd, NSCommandKeyMask),
- MODIFIER(Meta, NSCommandKeyMask),
- {NULL}
-};
-#undef MODIFIER
-
-#define ACCEL(n, c) {.name = #n, .len = sl(#n), .ch = c }
-static const struct {
- const char *name; const size_t len; const UniChar ch;
-} specialAccelerators[] = {
- ACCEL(PageUp, NSPageUpFunctionKey),
- ACCEL(PageDown, NSPageDownFunctionKey),
- ACCEL(Left, NSLeftArrowFunctionKey),
- ACCEL(Right, NSRightArrowFunctionKey),
- ACCEL(Up, NSUpArrowFunctionKey),
- ACCEL(Down, NSDownArrowFunctionKey),
- ACCEL(Escape, 0x001b),
- ACCEL(Clear, NSClearDisplayFunctionKey),
- ACCEL(Enter, NSEnterCharacter),
- ACCEL(Backspace, NSBackspaceCharacter),
- ACCEL(Space, ' '),
- ACCEL(Tab, NSTabCharacter),
- ACCEL(BackTab, NSBackTabCharacter),
- ACCEL(Delete, NSDeleteCharacter),
- ACCEL(Home, NSHomeFunctionKey),
- ACCEL(End, NSEndFunctionKey),
- ACCEL(Return, NSCarriageReturnCharacter),
- ACCEL(Help, NSHelpFunctionKey),
- ACCEL(Power, 0x233d),
- ACCEL(Eject, 0xf804),
- {NULL}
-};
-#undef ACCEL
-#undef sl
-
-static int gNoTkMenus = 0; /* This is used by Tk_MacOSXTurnOffMenus as
- * the flag that Tk is not to draw any
- * menus. */
-static int inPostMenu = 0;
-static unsigned long defaultBg = 0, defaultFg = 0;
-static SInt32 menuMarkColumnWidth = 0, menuIconTrailingEdgeMargin = 0;
-static SInt32 menuTextLeadingEdgeMargin = 0, menuTextTrailingEdgeMargin = 0;
-static SInt16 menuItemExtraHeight = 0, menuItemExtraWidth = 0;
-static SInt16 menuSeparatorHeight = 0;
-
-static void CheckForSpecialMenu(TkMenu *menuPtr);
-static NSString *ParseAccelerator(const char *accel, NSUInteger *maskPtr);
-static int GenerateMenuSelectEvent(TKMenu *menu, NSMenuItem *menuItem);
-static void MenuSelectEvent(TkMenu *menuPtr);
-static void RecursivelyClearActiveMenu(TkMenu *menuPtr);
-static int ModifierCharWidth(Tk_Font tkfont);
-
-#pragma mark TKMenu
-
-@interface TKMenu(TKMenuPrivate)
-- (id) initWithTkMenu: (TkMenu *) tkMenu;
-- (TkMenu *) tkMenu;
-- (int) tkIndexOfItem: (NSMenuItem *) menuItem;
-- (void) insertItem: (NSMenuItem *) newItem atTkIndex: (NSInteger) index;
-@end
-
-#define TKMenu_NSMenuDelegate <NSMenuDelegate>
-@interface TKMenu(TKMenuDelegate) TKMenu_NSMenuDelegate
-@end
-
-@implementation TKMenu
-- (void) setSpecial: (NSUInteger) special
-{
- NSAssert(!_tkSpecial, @"Cannot change specialness of a special menu");
- _tkSpecial = special;
-}
-- (BOOL) isSpecial: (NSUInteger) special
-{
- return (_tkSpecial == special);
-}
-@end
-
-@implementation TKMenu(TKMenuPrivate)
-
-- (id) initWithTitle: (NSString *) aTitle
-{
- self = [super initWithTitle:aTitle];
- if (self) {
- _tkMenu = NULL;
- _tkOffset = 0;
- _tkItemCount = 0;
- _tkSpecial = 0;
- [self setDelegate:self];
- }
- return self;
-}
-
-- (id) initWithTkMenu: (TkMenu *) tkMenu
-{
- NSString *title = [[NSString alloc] initWithUTF8String:
- Tk_PathName(tkMenu->tkwin)];
-
- self = [self initWithTitle:title];
- [title release];
- if (self) {
- _tkMenu = tkMenu;
- }
- return self;
-}
-
-- (id) copyWithZone: (NSZone *) zone
-{
- TKMenu *copy = [super copyWithZone:zone];
-
- NSAssert(_tkMenu == nil, @"Cannot copy tkMenu");
- copy->_tkMenu = _tkMenu;
- copy->_tkOffset = _tkOffset;
- copy->_tkItemCount = _tkItemCount;
- copy->_tkSpecial = _tkSpecial;
- return copy;
-}
-
-- (TkMenu *) tkMenu
-{
- return _tkMenu;
-}
-
-- (int) tkIndexOfItem: (NSMenuItem *) menuItem
-{
- return [self indexOfItem:menuItem] - _tkOffset;
-}
-
-- (void) insertItem: (NSMenuItem *) newItem atTkIndex: (NSInteger) index
-{
- [super insertItem:newItem atIndex:index + _tkOffset];
- _tkItemCount++;
-}
-
-- (void) insertItem: (NSMenuItem *) newItem atIndex: (NSInteger) index
-{
- if (_tkMenu && index >= 0) {
- if ((NSUInteger)index <= _tkOffset) {
- _tkOffset++;
- } else {
- NSAssert((NSUInteger)index >= _tkItemCount + _tkOffset,
- @"Cannot insert in the middle of Tk menu");
- }
- }
- [super insertItem:newItem atIndex:index];
-}
-
-- (void) removeItemAtIndex: (NSInteger) index
-{
- if (_tkMenu && index >= 0) {
- if ((NSUInteger)index < _tkOffset) {
- _tkOffset--;
- } else if ((NSUInteger)index < _tkItemCount + _tkOffset) {
- _tkItemCount--;
- }
- }
- [super removeItemAtIndex:index];
-}
-
-- (NSMenuItem *) newTkMenuItem: (TkMenuEntry *) mePtr
-{
- NSMenuItem *menuItem = [[NSMenuItem alloc] initWithTitle:@""
- action:@selector(tkMenuItemInvoke:) keyEquivalent:@""];
-
- [menuItem setTarget:self];
- [menuItem setTag:(NSInteger)mePtr];
- return menuItem;
-}
-@end
-
-@implementation TKMenu(TKMenuActions)
-// target methods
-
-- (BOOL) validateMenuItem: (NSMenuItem *) menuItem
-{
- return [menuItem isEnabled];
-}
-
-// Workaround for bug 3572016; leaves menu items enabled during modal dialog.
-- (BOOL)worksWhenModal
-{
- return YES;
-}
-
-- (void) tkMenuItemInvoke: (id) sender
-{
- /*
- * With the delegate matching key equivalents, when a menu action is sent
- * in response to a key equivalent, sender is the whole menu and not the
- * the specific menu item, use this to ignore key equivalents for our
- * menus (as Tk handles them directly via bindings).
- */
-
- if ([sender isKindOfClass:[NSMenuItem class]]) {
- NSMenuItem *menuItem = (NSMenuItem *)sender;
- TkMenu *menuPtr = (TkMenu *)_tkMenu;
- TkMenuEntry *mePtr = (TkMenuEntry *)[menuItem tag];
-
- if (menuPtr && mePtr) {
- Tcl_Interp *interp = menuPtr->interp;
- /*Add time for errors to fire if necessary. This is sub-optimal
- *but avoids issues with Tcl/Cocoa event loop integration.
- */
- Tcl_Sleep(100);
- Tcl_Preserve(interp);
- Tcl_Preserve(menuPtr);
-
- int result = TkInvokeMenu(interp, menuPtr, mePtr->index);
-
- if (result != TCL_OK && result != TCL_CONTINUE &&
- result != TCL_BREAK) {
- Tcl_AddErrorInfo(interp, "\n (menu invoke)");
- Tcl_BackgroundException(interp, result);
- }
- Tcl_Release(menuPtr);
- Tcl_Release(interp);
- }
- }
-}
-@end
-
-@implementation TKMenu(TKMenuDelegate)
-#define keyEquivModifiersMatch(km, m) (( \
- ((km) & NSCommandKeyMask) != ((m) & NSCommandKeyMask) || \
- ((km) & NSAlternateKeyMask) != ((m) & NSAlternateKeyMask) || \
- ((km) & NSControlKeyMask) != ((m) & NSControlKeyMask) || \
- (((km) & NSShiftKeyMask) != ((m) & NSShiftKeyMask) && \
- ((m) & NSFunctionKeyMask))) ? NO : YES)
-
-- (BOOL) menuHasKeyEquivalent: (NSMenu *) menu forEvent: (NSEvent *) event
- target: (id *) target action: (SEL *) action
-{
- /*Use lowercaseString to keep "shift" from firing twice if bound to different procedure.*/
- NSString *key = [[event charactersIgnoringModifiers] lowercaseString];
- NSUInteger modifiers = [event modifierFlags] &
- NSDeviceIndependentModifierFlagsMask;
-
- if (modifiers == (NSCommandKeyMask | NSShiftKeyMask) &&
- [key compare:@"?"] == NSOrderedSame) {
- return NO;
- }
-
- // For command key, take input manager's word so things
- // like dvorak / qwerty layout work.
- if (([event modifierFlags] & NSCommandKeyMask) == NSCommandKeyMask) {
- key = [event characters];
- }
-
- NSArray *itemArray = [self itemArray];
-
- for (NSMenuItem *item in itemArray) {
- if ([item isEnabled] && [[item keyEquivalent] compare:key] ==
- NSOrderedSame) {
- NSUInteger keyEquivModifiers = [item keyEquivalentModifierMask];
-
- if (keyEquivModifiersMatch(keyEquivModifiers, modifiers)) {
- *target = [item target];
- *action = [item action];
- return YES;
- }
- }
- }
- return NO;
-}
-
-- (void) menuWillOpen: (NSMenu *) menu
-{
- if (_tkMenu) {
- //RecursivelyClearActiveMenu(_tkMenu);
- GenerateMenuSelectEvent((TKMenu *)[self supermenu],
- [self itemInSupermenu]);
- }
-}
-
-- (void) menuDidClose: (NSMenu *) menu
-{
- if (_tkMenu) {
- RecursivelyClearActiveMenu(_tkMenu);
- }
-}
-
-- (void) menu: (NSMenu *) menu willHighlightItem: (NSMenuItem *) item
-{
- if (_tkMenu) {
- GenerateMenuSelectEvent(self, item);
- }
-}
-
-- (void) menuNeedsUpdate: (NSMenu *) menu
-{
- TkMenu *menuPtr = (TkMenu *) _tkMenu;
-
- if (menuPtr) {
- Tcl_Interp *interp = menuPtr->interp;
-
- Tcl_Preserve(interp);
- Tcl_Preserve(menuPtr);
-
- int result = TkPostCommand(_tkMenu);
-
- if (result!=TCL_OK && result!=TCL_CONTINUE && result!=TCL_BREAK) {
- Tcl_AddErrorInfo(interp, "\n (menu preprocess)");
- Tcl_BackgroundException(interp, result);
- }
- Tcl_Release(menuPtr);
- Tcl_Release(interp);
- }
-}
-@end
-
-#pragma mark TKApplication(TKMenu)
-
-@interface NSApplication(TKMenu)
-- (void) setAppleMenu: (NSMenu *) menu;
-@end
-
-@implementation TKApplication(TKMenu)
-
-- (void) menuBeginTracking: (NSNotification *) notification
-{
-#ifdef TK_MAC_DEBUG_NOTIFICATIONS
- TKLog(@"-[%@(%p) %s] %@", [self class], self, _cmd, notification);
-#endif
- //TkMacOSXClearMenubarActive();
- //TkMacOSXPreprocessMenu();
-}
-
-- (void) menuEndTracking: (NSNotification *) notification
-{
-#ifdef TK_MAC_DEBUG_NOTIFICATIONS
- TKLog(@"-[%@(%p) %s] %@", [self class], self, _cmd, notification);
-#endif
- if (!inPostMenu) {
- TkMacOSXClearMenubarActive();
- }
-}
-
-- (void) tkSetMainMenu: (TKMenu *) menu
-{
- if (gNoTkMenus) {
- return;
- }
-
- TKMenu *applicationMenu = nil;
-
- if (menu) {
- NSMenuItem *applicationMenuItem = [menu numberOfItems] ?
- [menu itemAtIndex:0] : nil;
-
- if (![menu isSpecial:tkMainMenu]) {
- TkMenuEntry *mePtr = (TkMenuEntry *)[applicationMenuItem tag];
-
- if (!mePtr || !(mePtr->entryFlags & ENTRY_APPLE_MENU)) {
- applicationMenuItem = [NSMenuItem itemWithSubmenu:
- [_defaultApplicationMenu copy]];
- [menu insertItem:applicationMenuItem atIndex:0];
- }
- [menu setSpecial:tkMainMenu];
- }
- applicationMenu = (TKMenu *)[applicationMenuItem submenu];
- if (![applicationMenu isSpecial:tkApplicationMenu]) {
- for (NSMenuItem *item in _defaultApplicationMenuItems) {
- [applicationMenu addItem:[item copy]];
- }
- [applicationMenu setSpecial:tkApplicationMenu];
- }
-
- NSArray *itemArray = [menu itemArray];
-
- for (NSMenuItem *item in itemArray) {
- TkMenuEntry *mePtr = (TkMenuEntry *)[item tag];
- TKMenu *submenu = (TKMenu *)[item submenu];
- if (mePtr && submenu) {
- if ((mePtr->entryFlags & ENTRY_WINDOWS_MENU) &&
- ![submenu isSpecial:tkWindowsMenu]) {
- NSInteger index = 0;
-
- for (NSMenuItem *i in _defaultWindowsMenuItems) {
- [submenu insertItem:[i copy] atIndex:index++];
- }
- [self setWindowsMenu:submenu];
- [submenu setSpecial:tkWindowsMenu];
- } else if ((mePtr->entryFlags & ENTRY_HELP_MENU) &&
- ![submenu isSpecial:tkHelpMenu]) {
- NSInteger index = 0;
-
- for (NSMenuItem *i in _defaultHelpMenuItems) {
- [submenu insertItem:[i copy] atIndex:index++];
- }
- [submenu setSpecial:tkHelpMenu];
- }
- }
- }
- } else {
- menu = _defaultMainMenu;
- applicationMenu = _defaultApplicationMenu;
- }
-
- NSMenuItem *servicesMenuItem =
- [applicationMenu itemWithTitle:@"Services"];
-
- if (servicesMenuItem && [servicesMenuItem submenu] != _servicesMenu) {
- [[_servicesMenu itemInSupermenu] setSubmenu:nil];
- [servicesMenuItem setSubmenu:_servicesMenu];
- }
- [self setAppleMenu:applicationMenu];
- [self setMainMenu:menu];
-}
-@end
-
-#pragma mark -
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpNewMenu --
- *
- * Gets a new blank menu. Only the platform specific options are filled
- * in.
- *
- * Results:
- * Returns a standard Tcl error.
- *
- * Side effects:
- * Allocates a NSMenu and puts it into the platformData field of the
- * menuPtr.
- *
- *----------------------------------------------------------------------
- */
-
-int
-TkpNewMenu(
- TkMenu *menuPtr) /* The common structure we are making the
- * platform structure for. */
-{
- TKMenu *menu = [[TKMenu alloc] initWithTkMenu:menuPtr];
- menuPtr->platformData = (TkMenuPlatformData) menu;
- CheckForSpecialMenu(menuPtr);
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpDestroyMenu --
- *
- * Destroys platform-specific menu structures.
- *
- * Results:
- * None.
- *
- * Side effects:
- * All platform-specific allocations are freed up.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpDestroyMenu(
- TkMenu *menuPtr) /* The common menu structure */
-{
- NSMenu* nsmenu = (NSMenu*)(menuPtr->platformData);
-
- [nsmenu release];
- menuPtr->platformData = NULL;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpMenuNewEntry --
- *
- * Adds a pointer to a new menu entry structure with the platform-
- * specific fields filled in. The Macintosh uses the platformEntryData
- * field of the TkMenuEntry record.
- *
- * Results:
- * Standard TCL error.
- *
- * Side effects:
- * Storage gets allocated. New menu entry data is put into the
- * platformEntryData field of the mePtr.
- *
- *----------------------------------------------------------------------
- */
-
-int
-TkpMenuNewEntry(
- TkMenuEntry *mePtr) /* The menu we are adding an entry to */
-{
- TKMenu *menu = (TKMenu *) mePtr->menuPtr->platformData;
- NSMenuItem *menuItem;
- if (mePtr->type == SEPARATOR_ENTRY || mePtr->type == TEAROFF_ENTRY) {
- menuItem = [[NSMenuItem separatorItem] retain];
- } else {
- menuItem = [menu newTkMenuItem:mePtr];
- }
- mePtr->platformEntryData = (TkMenuPlatformEntryData) menuItem;
-
- /*
- * Caller TkMenuEntry() already did this same insertion into the generic
- * TkMenu so we just match it for the platform menu.
- */
-
- [menu insertItem:menuItem atTkIndex:mePtr->index];
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpConfigureMenuEntry --
- *
- * Processes configurations for menu entries.
- *
- * Results:
- * Returns standard TCL result. If TCL_ERROR is returned, then the
- * interp's result contains an error message.
- *
- * Side effects:
- * Configuration information get set for mePtr; old resources get freed,
- * if any need it.
- *
- *----------------------------------------------------------------------
- */
-
-int
-TkpConfigureMenuEntry(
- TkMenuEntry *mePtr) /* Information about menu entry; may or may
- * not already have values for some fields. */
-{
- NSMenuItem *menuItem = (NSMenuItem *) mePtr->platformEntryData;
- NSString *title = @"";
- NSAttributedString *attributedTitle = nil;
- NSImage *image = nil;
- NSString *keyEquivalent = @"";
- NSUInteger modifierMask = NSCommandKeyMask;
- NSMenu *submenu = nil;
- NSDictionary *attributes;
- int imageWidth, imageHeight;
- GC gc = (mePtr->textGC ? mePtr->textGC : mePtr->menuPtr->textGC);
- Tcl_Obj *fontPtr = (mePtr->fontPtr ? mePtr->fontPtr :
- mePtr->menuPtr->fontPtr);
-
- if (mePtr->image) {
- Tk_SizeOfImage(mePtr->image, &imageWidth, &imageHeight);
- image = TkMacOSXGetNSImageWithTkImage(mePtr->menuPtr->display,
- mePtr->image, imageWidth, imageHeight);
- } else if (mePtr->bitmapPtr != None) {
- Pixmap bitmap = Tk_GetBitmapFromObj(mePtr->menuPtr->tkwin,
- mePtr->bitmapPtr);
-
- Tk_SizeOfBitmap(mePtr->menuPtr->display, bitmap, &imageWidth,
- &imageHeight);
- image = TkMacOSXGetNSImageWithBitmap(mePtr->menuPtr->display, bitmap,
- gc, imageWidth, imageHeight);
- }
- [menuItem setImage:image];
- if ((!image || mePtr->compound != COMPOUND_NONE) && mePtr->labelPtr &&
- mePtr->labelLength) {
- title = [[[NSString alloc] initWithBytes:Tcl_GetString(mePtr->labelPtr)
- length:mePtr->labelLength encoding:NSUTF8StringEncoding]
- autorelease];
- if ([title hasSuffix:@"..."]) {
- title = [NSString stringWithFormat:@"%@%C",
- [title substringToIndex:[title length] - 3], 0x2026];
- }
- }
- [menuItem setTitle:title];
- if (strcmp(Tcl_GetString(fontPtr), "menu") || gc->foreground != defaultFg
- || gc->background != defaultBg) {
- attributes = TkMacOSXNSFontAttributesForFont(Tk_GetFontFromObj(
- mePtr->menuPtr->tkwin, fontPtr));
- if (gc->foreground != defaultFg || gc->background != defaultBg) {
- NSColor *color = TkMacOSXGetNSColor(gc,
- gc->foreground!=defaultFg? gc->foreground:gc->background);
-
- attributes = [[attributes mutableCopy] autorelease];
- [(NSMutableDictionary *)attributes setObject:color
- forKey:NSForegroundColorAttributeName];
- }
- if (attributes) {
- attributedTitle = [[[NSAttributedString alloc]
- initWithString:title attributes:attributes] autorelease];
- }
- }
- [menuItem setAttributedTitle:attributedTitle];
- [menuItem setEnabled:!(mePtr->state == ENTRY_DISABLED)];
- [menuItem setState:((mePtr->type == CHECK_BUTTON_ENTRY ||
- mePtr->type == RADIO_BUTTON_ENTRY) && mePtr->indicatorOn &&
- (mePtr->entryFlags & ENTRY_SELECTED) ? NSOnState : NSOffState)];
- if (mePtr->type != CASCADE_ENTRY && mePtr->accelPtr && mePtr->accelLength) {
- keyEquivalent = ParseAccelerator(Tcl_GetString(mePtr->accelPtr),
- &modifierMask);
- }
- [menuItem setKeyEquivalent:keyEquivalent];
- [menuItem setKeyEquivalentModifierMask:modifierMask];
- if (mePtr->type == CASCADE_ENTRY && mePtr->namePtr) {
- TkMenuReferences *menuRefPtr;
-
- menuRefPtr = TkFindMenuReferencesObj(mePtr->menuPtr->interp,
- mePtr->namePtr);
- if (menuRefPtr && menuRefPtr->menuPtr) {
- CheckForSpecialMenu(menuRefPtr->menuPtr);
- submenu = (TKMenu *) menuRefPtr->menuPtr->platformData;
- if ([submenu supermenu] && [menuItem submenu] != submenu) {
- /*
- * This happens during a clone, where the parent menu is
- * cloned before its children, so just ignore this temprary
- * setting, it will be changed shortly (c.f. tkMenu.c
- * CloneMenu())
- */
-
- submenu = nil;
- } else {
- [submenu setTitle:title];
-
- if ([menuItem isEnabled]) {
- /* This menuItem might have been previously disabled (XXX:
- track this), which would have disabled entries; we must
- re-enable the entries here. */
- int i = 0;
- NSArray *itemArray = [submenu itemArray];
- for (NSMenuItem *item in itemArray) {
- TkMenuEntry *submePtr = menuRefPtr->menuPtr->entries[i];
- /* Work around an apparent bug where itemArray can have
- more items than the menu's entries[] array. */
- if (i >= menuRefPtr->menuPtr->numEntries) break;
- [item setEnabled: !(submePtr->state == ENTRY_DISABLED)];
- i++;
- }
- }
-
- }
- }
- }
- [menuItem setSubmenu:submenu];
-
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpDestroyMenuEntry --
- *
- * Cleans up platform-specific menu entry items.
- *
- * Results:
- * None
- *
- * Side effects:
- * All platform-specific allocations are freed up.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpDestroyMenuEntry(
- TkMenuEntry *mePtr)
-{
- NSMenuItem *menuItem;
- TKMenu *menu;
- NSInteger index;
-
- if (mePtr->platformEntryData && mePtr->menuPtr->platformData) {
- menu = (TKMenu *) mePtr->menuPtr->platformData;
- menuItem = (NSMenuItem *) mePtr->platformEntryData;
- index = [menu indexOfItem:menuItem];
-
- if (index > -1) {
- [menu removeItemAtIndex:index];
- }
- [menuItem release];
- mePtr->platformEntryData = NULL;
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpPostMenu --
- *
- * Posts a menu on the screen
- *
- * Results:
- * None.
- *
- * Side effects:
- * The menu is posted and handled.
- *
- *----------------------------------------------------------------------
- */
-
-int
-TkpPostMenu(
- Tcl_Interp *interp, /* The interpreter this menu lives in */
- TkMenu *menuPtr, /* The menu we are posting */
- int x, /* The global x-coordinate of the top, left-
- * hand corner of where the menu is supposed
- * to be posted. */
- int y) /* The global y-coordinate */
-{
-
-
- /* Get the object that holds this Tk Window.*/
- Tk_Window root;
- root = Tk_MainWindow(interp);
- if (root == NULL) {
- return TCL_ERROR;
- }
-
- Drawable d = Tk_WindowId(root);
- NSView *rootview = TkMacOSXGetRootControl(d);
- NSWindow *win = [rootview window];
- int result;
-
- inPostMenu = 1;
-
- result = TkPreprocessMenu(menuPtr);
- if (result != TCL_OK) {
- inPostMenu = 0;
- return result;
- }
-
- int oldMode = Tcl_SetServiceMode(TCL_SERVICE_NONE);
- NSView *view = [win contentView];
- NSRect frame = NSMakeRect(x + 9, tkMacOSXZeroScreenHeight - y - 9, 1, 1);
-
- frame.origin = [view convertPoint:
- [win tkConvertPointFromScreen:frame.origin] fromView:nil];
-
- NSMenu *menu = (NSMenu *) menuPtr->platformData;
- NSPopUpButtonCell *popUpButtonCell = [[NSPopUpButtonCell alloc]
- initTextCell:@"" pullsDown:NO];
-
- [popUpButtonCell setAltersStateOfSelectedItem:NO];
- [popUpButtonCell setMenu:menu];
- [popUpButtonCell selectItem:nil];
- [popUpButtonCell performClickWithFrame:frame inView:view];
- [popUpButtonCell release];
- Tcl_SetServiceMode(oldMode);
- inPostMenu = 0;
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpSetWindowMenuBar --
- *
- * Associates a given menu with a window.
- *
- * Results:
- * None.
- *
- * Side effects:
- * On Windows and UNIX, associates the platform menu with the platform
- * window.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpSetWindowMenuBar(
- Tk_Window tkwin, /* The window we are setting the menu in */
- TkMenu *menuPtr) /* The menu we are setting */
-{
- TkWindow *winPtr = (TkWindow *) tkwin;
-
- if (winPtr->wmInfoPtr) {
- winPtr->wmInfoPtr->menuPtr = menuPtr;
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpSetMainMenubar --
- *
- * Puts the menu associated with a window into the menubar. Should only
- * be called when the window is in front.
- *
- * This is a no-op on all other platforms. On OS X it is a no-op when
- * passed a NULL menuName or a nonexistent menuName, with an exception
- * for the first call in a new interpreter. In that special case, passing a
- * NULL menuName installs the default menu.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The menubar may be changed.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpSetMainMenubar(
- Tcl_Interp *interp, /* The interpreter of the application */
- Tk_Window tkwin, /* The frame we are setting up */
- const char *menuName) /* The name of the menu to put in front. */
-{
- static Tcl_Interp *currentInterp = NULL;
- TKMenu *menu = nil;
-
- if (menuName) {
- TkWindow *winPtr = (TkWindow *) tkwin;
-
- if (winPtr->wmInfoPtr && winPtr->wmInfoPtr->menuPtr &&
- winPtr->wmInfoPtr->menuPtr->masterMenuPtr &&
- winPtr->wmInfoPtr->menuPtr->masterMenuPtr->tkwin &&
- !strcmp(menuName, Tk_PathName(
- winPtr->wmInfoPtr->menuPtr->masterMenuPtr->tkwin))) {
- menu = (TKMenu *) winPtr->wmInfoPtr->menuPtr->platformData;
- } else {
- TkMenuReferences *menuRefPtr = TkFindMenuReferences(interp,
- menuName);
-
- if (menuRefPtr && menuRefPtr->menuPtr &&
- menuRefPtr->menuPtr->platformData) {
- menu = (TKMenu *) menuRefPtr->menuPtr->platformData;
- }
- }
- }
- if (menu || interp != currentInterp) {
- [NSApp tkSetMainMenu:menu];
- }
- currentInterp = interp;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * CheckForSpecialMenu --
- *
- * Given a menu, check to see whether or not it is a cascade in a menubar
- * with one of the special names .apple, .help or .window If it is, the
- * entry that points to this menu will be marked.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Will set entryFlags appropriately.
- *
- *----------------------------------------------------------------------
- */
-
-static void
-CheckForSpecialMenu(
- TkMenu *menuPtr) /* The menu we are checking */
-{
- if (!menuPtr->masterMenuPtr->tkwin) {
- return;
- }
- for (TkMenuEntry *cascadeEntryPtr = menuPtr->menuRefPtr->parentEntryPtr;
- cascadeEntryPtr;
- cascadeEntryPtr = cascadeEntryPtr->nextCascadePtr) {
- if (cascadeEntryPtr->menuPtr->menuType == MENUBAR
- && cascadeEntryPtr->menuPtr->masterMenuPtr->tkwin) {
- TkMenu *masterMenuPtr = cascadeEntryPtr->menuPtr->masterMenuPtr;
- int i = 0;
- Tcl_DString ds;
-
- Tcl_DStringInit(&ds);
- Tcl_DStringAppend(&ds, Tk_PathName(masterMenuPtr->tkwin), -1);
- while (specialMenus[i].name) {
- Tcl_DStringAppend(&ds, specialMenus[i].name,
- specialMenus[i].len);
- if (strcmp(Tcl_DStringValue(&ds),
- Tk_PathName(menuPtr->masterMenuPtr->tkwin)) == 0) {
- cascadeEntryPtr->entryFlags |= specialMenus[i].flag;
- } else {
- cascadeEntryPtr->entryFlags &= ~specialMenus[i].flag;
- }
- Tcl_DStringSetLength(&ds, Tcl_DStringLength(&ds) -
- specialMenus[i].len);
- i++;
- }
- Tcl_DStringFree(&ds);
- }
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * ParseAccelerator --
- *
- * Parse accelerator string.
- *
- * Results:
- * Accelerator string & flags.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-static NSString *
-ParseAccelerator(
- const char *accel,
- NSUInteger *maskPtr)
-{
- unichar ch = 0;
- size_t len;
- int i;
-
- *maskPtr = 0;
- while (1) {
- i = 0;
- while (modifiers[i].name) {
- int l = modifiers[i].len;
-
- if (!strncasecmp(accel, modifiers[i].name, l) &&
- (accel[l] == '-' || accel[l] == '+')) {
- *maskPtr |= modifiers[i].mask;
- accel += l+1;
- break;
- }
- i++;
- }
- if (!modifiers[i].name || !*accel) {
- break;
- }
- }
- len = strlen(accel);
- if (len > 1) {
- i = 0;
- if (accel[0] == 'F' && len < 4 && accel[1] > '0' && accel[1] <= '9') {
- int fkey = accel[1] - '0';
-
- if (len == 3) {
- if (accel[2] >= '0' && accel[2] <= '9') {
- fkey = 10 * fkey + (accel[2] - '0');
- } else {
- fkey = 0;
- }
- }
- if (fkey >= 1 && fkey <= 15) {
- ch = NSF1FunctionKey + fkey - 1;
- }
- } else while (specialAccelerators[i].name) {
- if (accel[0] == specialAccelerators[i].name[0] &&
- len == specialAccelerators[i].len && !strncasecmp(accel,
- specialAccelerators[i].name, specialAccelerators[i].len)) {
- ch = specialAccelerators[i].ch;
- break;
- }
- i++;
- }
- }
- if (ch) {
- return [[[NSString alloc] initWithCharacters:&ch length:1] autorelease];
- } else {
- return [[[[NSString alloc] initWithUTF8String:accel] autorelease]
- lowercaseString];
- }
-}
-
-/*
- *--------------------------------------------------------------
- *
- * ModifierCharWidth --
- *
- * Helper mesuring width of command char in given font.
- *
- * Results:
- * Width of command char.
- *
- * Side effects:
- * None.
- *
- *--------------------------------------------------------------
- */
-
-static int
-ModifierCharWidth(
- Tk_Font tkfont)
-{
- static NSString *cmdChar = nil;
-
- if (!cmdChar) {
- unichar cmd = kCommandUnicode;
-
- cmdChar = [[NSString alloc] initWithCharacters:&cmd length:1];
- }
- return [cmdChar sizeWithAttributes:
- TkMacOSXNSFontAttributesForFont(tkfont)].width;
-}
-
-/*
- *--------------------------------------------------------------
- *
- * TkpComputeStandardMenuGeometry --
- *
- * This procedure is invoked to recompute the size and layout of a menu
- * that is not a menubar clone.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Fields of menu entries are changed to reflect their current positions,
- * and the size of the menu window itself may be changed.
- *
- *--------------------------------------------------------------
- */
-
-void
-TkpComputeStandardMenuGeometry(
- TkMenu *menuPtr) /* Structure describing menu. */
-{
- Tk_Font tkfont, menuFont;
- Tk_FontMetrics menuMetrics, entryMetrics, *fmPtr;
- int modifierCharWidth, menuModifierCharWidth;
- int x, y, modifierWidth, labelWidth, indicatorSpace;
- int windowWidth, windowHeight, accelWidth;
- int i, j, lastColumnBreak, maxWidth;
- int entryWidth, maxIndicatorSpace, borderWidth, activeBorderWidth;
- TkMenuEntry *mePtr, *columnEntryPtr;
- int haveAccel = 0;
-
- if (menuPtr->tkwin == NULL) {
- return;
- }
-
- Tk_GetPixelsFromObj(NULL, menuPtr->tkwin, menuPtr->borderWidthPtr,
- &borderWidth);
- Tk_GetPixelsFromObj(NULL, menuPtr->tkwin, menuPtr->activeBorderWidthPtr,
- &activeBorderWidth);
- x = y = borderWidth;
- windowHeight = maxWidth = lastColumnBreak = 0;
- maxIndicatorSpace = 0;
-
- /*
- * On the Mac especially, getting font metrics can be quite slow, so we
- * want to do it intelligently. We are going to precalculate them and pass
- * them down to all of the measuring and drawing routines. We will measure
- * the font metrics of the menu once. If an entry does not have its own
- * font set, then we give the geometry/drawing routines the menu's font
- * and metrics. If an entry has its own font, we will measure that font
- * and give all of the geometry/drawing the entry's font and metrics.
- */
-
- menuFont = Tk_GetFontFromObj(menuPtr->tkwin, menuPtr->fontPtr);
- Tk_GetFontMetrics(menuFont, &menuMetrics);
- menuModifierCharWidth = ModifierCharWidth(menuFont);
-
- for (i = 0; i < menuPtr->numEntries; i++) {
- mePtr = menuPtr->entries[i];
- if (mePtr->type == CASCADE_ENTRY || mePtr->accelLength > 0) {
- haveAccel = 1;
- break;
- }
- }
-
- for (i = 0; i < menuPtr->numEntries; i++) {
- mePtr = menuPtr->entries[i];
- if (mePtr->fontPtr == NULL) {
- tkfont = menuFont;
- fmPtr = &menuMetrics;
- modifierCharWidth = menuModifierCharWidth;
- } else {
- tkfont = Tk_GetFontFromObj(menuPtr->tkwin, mePtr->fontPtr);
- Tk_GetFontMetrics(tkfont, &entryMetrics);
- fmPtr = &entryMetrics;
- modifierCharWidth = ModifierCharWidth(tkfont);
- }
-
- if ((i > 0) && mePtr->columnBreak) {
- if (maxIndicatorSpace != 0) {
- maxIndicatorSpace += 2;
- }
- for (j = lastColumnBreak; j < i; j++) {
- columnEntryPtr = menuPtr->entries[j];
- columnEntryPtr->indicatorSpace = maxIndicatorSpace;
- columnEntryPtr->width = maxIndicatorSpace + maxWidth
- + 2 * activeBorderWidth;
- columnEntryPtr->x = x;
- columnEntryPtr->entryFlags &= ~ENTRY_LAST_COLUMN;
- }
- x += maxIndicatorSpace + maxWidth + 2 * activeBorderWidth;
- maxWidth = maxIndicatorSpace = 0;
- lastColumnBreak = i;
- y = borderWidth;
- }
- accelWidth = modifierWidth = indicatorSpace = 0;
- if (mePtr->type == SEPARATOR_ENTRY || mePtr->type == TEAROFF_ENTRY) {
- mePtr->height = menuSeparatorHeight;
- } else {
- /*
- * For each entry, compute the height required by that particular
- * entry, plus three widths: the width of the label, the width to
- * allow for an indicator to be displayed to the left of the label
- * (if any), and the width of the accelerator to be displayed to
- * the right of the label (if any). These sizes depend, of course,
- * on the type of the entry.
- */
-
- NSMenuItem *menuItem = (NSMenuItem *) mePtr->platformEntryData;
- int haveImage = 0, width = 0, height = 0;
-
- if (mePtr->image) {
- Tk_SizeOfImage(mePtr->image, &width, &height);
- haveImage = 1;
- } else if (mePtr->bitmapPtr) {
- Pixmap bitmap = Tk_GetBitmapFromObj(menuPtr->tkwin,
- mePtr->bitmapPtr);
-
- Tk_SizeOfBitmap(menuPtr->display, bitmap, &width, &height);
- haveImage = 1;
- }
- if (!haveImage || (mePtr->compound != COMPOUND_NONE)) {
- NSAttributedString *attrTitle = [menuItem attributedTitle];
- NSSize size;
-
- if (attrTitle) {
- size = [attrTitle size];
- } else {
- size = [[menuItem title] sizeWithAttributes:
- TkMacOSXNSFontAttributesForFont(tkfont)];
- }
- size.width += menuTextLeadingEdgeMargin +
- menuTextTrailingEdgeMargin;
- if (size.height < fmPtr->linespace) {
- size.height = fmPtr->linespace;
- }
- if (haveImage && (mePtr->compound != COMPOUND_NONE)) {
- int margin = width + menuIconTrailingEdgeMargin;
-
- if (margin > menuTextLeadingEdgeMargin) {
- margin = menuTextLeadingEdgeMargin;
- }
- width += size.width + menuIconTrailingEdgeMargin - margin;
- if (size.height > height) {
- height = size.height;
- }
- } else {
- width = size.width;
- height = size.height;
- }
- }
- labelWidth = width + menuItemExtraWidth;
- mePtr->height = height + menuItemExtraHeight;
-
- if (mePtr->type == CASCADE_ENTRY) {
- modifierWidth = modifierCharWidth;
- } else if (mePtr->accelLength == 0) {
- if (haveAccel && !mePtr->hideMargin) {
- modifierWidth = modifierCharWidth;
- }
- } else {
- NSUInteger modifMask = [menuItem keyEquivalentModifierMask];
- int i = 0;
-
- while (modifiers[i].name) {
- if (modifMask & modifiers[i].mask) {
- modifMask &= ~modifiers[i].mask;
- modifierWidth += modifierCharWidth;
- }
- i++;
- }
- accelWidth = [[menuItem keyEquivalent] sizeWithAttributes:
- TkMacOSXNSFontAttributesForFont(tkfont)].width;
- }
- if (!mePtr->hideMargin) {
- indicatorSpace = menuMarkColumnWidth;
- }
- if (indicatorSpace > maxIndicatorSpace) {
- maxIndicatorSpace = indicatorSpace;
- }
- entryWidth = labelWidth + modifierWidth + accelWidth;
- if (entryWidth > maxWidth) {
- maxWidth = entryWidth;
- }
- mePtr->height += 2 * activeBorderWidth;
- }
- mePtr->y = y;
- y += menuPtr->entries[i]->height + borderWidth;
- if (y > windowHeight) {
- windowHeight = y;
- }
- }
-
- for (j = lastColumnBreak; j < menuPtr->numEntries; j++) {
- columnEntryPtr = menuPtr->entries[j];
- columnEntryPtr->indicatorSpace = maxIndicatorSpace;
- columnEntryPtr->width = maxIndicatorSpace + maxWidth
- + 2 * activeBorderWidth;
- columnEntryPtr->x = x;
- columnEntryPtr->entryFlags |= ENTRY_LAST_COLUMN;
- }
- windowWidth = x + maxIndicatorSpace + maxWidth
- + 2 * activeBorderWidth + borderWidth;
- windowHeight += borderWidth;
-
- if (windowWidth <= 0) {
- windowWidth = 1;
- }
- if (windowHeight <= 0) {
- windowHeight = 1;
- }
- menuPtr->totalWidth = windowWidth;
- menuPtr->totalHeight = windowHeight;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * GenerateMenuSelectEvent --
- *
- * Respond to a menu item being selected.
- *
- * Results:
- * True if event(s) are generated - false otherwise.
- *
- * Side effects:
- * Places a virtual event on the event queue.
- *
- *----------------------------------------------------------------------
- */
-
-int
-GenerateMenuSelectEvent(
- TKMenu *menu,
- NSMenuItem *menuItem)
-{
- TkMenu *menuPtr = [menu tkMenu];
-
- if (menuPtr) {
- int index = [menu tkIndexOfItem:menuItem];
-
- if (index < 0 || index >= menuPtr->numEntries ||
- (menuPtr->entries[index])->state == ENTRY_DISABLED) {
- TkActivateMenuEntry(menuPtr, -1);
- } else {
- TkActivateMenuEntry(menuPtr, index);
- MenuSelectEvent(menuPtr);
- return true;
- }
- }
- return false;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * MenuSelectEvent --
- *
- * Generates a "MenuSelect" virtual event. This can be used to do
- * context-sensitive menu help.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Places a virtual event on the event queue.
- *
- *----------------------------------------------------------------------
- */
-
-void
-MenuSelectEvent(
- TkMenu *menuPtr) /* the menu we have selected. */
-{
- XVirtualEvent event;
-
- bzero(&event, sizeof(XVirtualEvent));
- event.type = VirtualEvent;
- event.serial = LastKnownRequestProcessed(menuPtr->display);
- event.send_event = false;
- event.display = menuPtr->display;
- event.event = Tk_WindowId(menuPtr->tkwin);
- event.root = XRootWindow(menuPtr->display, 0);
- event.subwindow = None;
- event.time = TkpGetMS();
- XQueryPointer(NULL, None, NULL, NULL, &event.x_root, &event.y_root, NULL,
- NULL, &event.state);
- event.same_screen = true;
- event.name = Tk_GetUid("MenuSelect");
- Tk_MakeWindowExist(menuPtr->tkwin);
- if (Tcl_GetServiceMode() != TCL_SERVICE_NONE) {
- Tk_HandleEvent((XEvent *) &event);
- } else {
- Tk_QueueWindowEvent((XEvent *) &event, TCL_QUEUE_TAIL);
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * RecursivelyClearActiveMenu --
- *
- * Recursively clears the active entry in the menu's cascade hierarchy.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Generates <<MenuSelect>> virtual events.
- *
- *----------------------------------------------------------------------
- */
-
-void
-RecursivelyClearActiveMenu(
- TkMenu *menuPtr) /* The menu to reset. */
-{
- int i;
-
- TkActivateMenuEntry(menuPtr, -1);
- for (i = 0; i < menuPtr->numEntries; i++) {
- TkMenuEntry *mePtr = menuPtr->entries[i];
-
- if (mePtr->type == CASCADE_ENTRY
- && (mePtr->childMenuRefPtr != NULL)
- && (mePtr->childMenuRefPtr->menuPtr != NULL)) {
- RecursivelyClearActiveMenu(mePtr->childMenuRefPtr->menuPtr);
- }
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXClearMenubarActive --
- *
- * Recursively clears the active entry in the current menubar hierarchy.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Generates <<MenuSelect>> virtual events.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkMacOSXClearMenubarActive(void)
-{
- NSMenu *mainMenu = [NSApp mainMenu];
-
- if (mainMenu && [mainMenu isKindOfClass:[TKMenu class]]) {
- TkMenu *menuPtr = [(TKMenu *) mainMenu tkMenu];
-
- if (menuPtr && menuPtr->numEntries && menuPtr->entries) {
- RecursivelyClearActiveMenu(menuPtr);
- }
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * Tk_MacOSXTurnOffMenus --
- *
- * Turns off all the menu drawing code. This is more than just disabling
- * the "menu" command, this means that Tk will NEVER touch the menubar.
- * It is needed in the Plugin, where Tk does not own the menubar.
- *
- * Results:
- * None.
- *
- * Side effects:
- * A flag is set which will disable all menu drawing.
- *
- *----------------------------------------------------------------------
- */
-
-void
-Tk_MacOSXTurnOffMenus(void)
-{
- gNoTkMenus = 1;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpMenuInit --
- *
- * Initializes Mac-specific menu data.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Allocates a hash table.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpMenuInit(void)
-{
- TkColor *tkColPtr;
-
- NSNotificationCenter *nc = [NSNotificationCenter defaultCenter];
-
-#define observe(n, s) \
- [nc addObserver:NSApp selector:@selector(s) name:(n) object:nil]
- observe(NSMenuDidBeginTrackingNotification, menuBeginTracking:);
- observe(NSMenuDidEndTrackingNotification, menuEndTracking:);
-#undef observe
-
- [NSMenuItem setUsesUserKeyEquivalents:NO];
- tkColPtr = TkpGetColor(None, DEF_MENU_BG_COLOR);
- defaultBg = tkColPtr->color.pixel;
- ckfree(tkColPtr);
- tkColPtr = TkpGetColor(None, DEF_MENU_FG);
- defaultFg = tkColPtr->color.pixel;
- ckfree(tkColPtr);
-
- ChkErr(GetThemeMetric, kThemeMetricMenuMarkColumnWidth,
- &menuMarkColumnWidth);
- ChkErr(GetThemeMetric, kThemeMetricMenuTextLeadingEdgeMargin,
- &menuTextLeadingEdgeMargin);
- ChkErr(GetThemeMetric, kThemeMetricMenuTextTrailingEdgeMargin,
- &menuTextTrailingEdgeMargin);
- ChkErr(GetThemeMetric, kThemeMetricMenuIconTrailingEdgeMargin,
- &menuIconTrailingEdgeMargin);
- ChkErr(GetThemeMenuItemExtra, kThemeMenuItemPlain, &menuItemExtraHeight,
- &menuItemExtraWidth);
- ChkErr(GetThemeMenuSeparatorHeight, &menuSeparatorHeight);
-}
-
-#pragma mark -
-#pragma mark NOPs
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpMenuThreadInit --
- *
- * Does platform-specific initialization of thread-specific menu state.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpMenuThreadInit(void)
-{
- /*
- * Nothing to do.
- */
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpMenuNotifyToplevelCreate --
- *
- * This routine reconfigures the menu and the clones indicated by
- * menuName because a toplevel has been created and any system menus need
- * to be created. Only applicable to Windows.
- *
- * Results:
- * None.
- *
- * Side effects:
- * An idle handler is set up to do the reconfiguration.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpMenuNotifyToplevelCreate(
- Tcl_Interp *interp, /* The interp the menu lives in. */
- const char *menuName) /* The name of the menu to reconfigure. */
-{
- /*
- * Nothing to do.
- */
-}
-
-/*
- *--------------------------------------------------------------
- *
- * TkpInitializeMenuBindings --
- *
- * For every interp, initializes the bindings for Windows menus. Does
- * nothing on Mac or XWindows.
- *
- * Results:
- * None.
- *
- * Side effects:
- * C-level bindings are setup for the interp which will handle Alt-key
- * sequences for menus without beeping or interfering with user-defined
- * Alt-key bindings.
- *
- *--------------------------------------------------------------
- */
-
-void
-TkpInitializeMenuBindings(
- Tcl_Interp *interp, /* The interpreter to set. */
- Tk_BindingTable bindingTable)
- /* The table to add to. */
-{
- /*
- * Nothing to do.
- */
-}
-
-/*
- *--------------------------------------------------------------
- *
- * TkpComputeMenubarGeometry --
- *
- * This procedure is invoked to recompute the size and layout of a menu
- * that is a menubar clone.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Fields of menu entries are changed to reflect their current positions,
- * and the size of the menu window itself may be changed.
- *
- *--------------------------------------------------------------
- */
-
-void
-TkpComputeMenubarGeometry(
- TkMenu *menuPtr) /* Structure describing menu. */
-{
- TkpComputeStandardMenuGeometry(menuPtr);
-}
-
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpDrawMenuEntry --
- *
- * Draws the given menu entry at the given coordinates with the given
- * attributes.
- *
- * Results:
- * None.
- *
- * Side effects:
- * X Server commands are executed to display the menu entry.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpDrawMenuEntry(
- TkMenuEntry *mePtr, /* The entry to draw */
- Drawable d, /* What to draw into */
- Tk_Font tkfont, /* Precalculated font for menu */
- const Tk_FontMetrics *menuMetricsPtr,
- /* Precalculated metrics for menu */
- int x, /* X-coordinate of topleft of entry */
- int y, /* Y-coordinate of topleft of entry */
- int width, /* Width of the entry rectangle */
- int height, /* Height of the current rectangle */
- int strictMotif, /* Boolean flag */
- int drawArrow) /* Whether or not to draw the cascade arrow
- * for cascade items. */
-{
-}
-
-#pragma mark Obsolete
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXPreprocessMenu --
- *
- * Handle preprocessing of menubar if it exists.
- *
- * Results:
- * None.
- *
- * Side effects:
- * All post commands for the current menubar get executed.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkMacOSXPreprocessMenu(void)
-{
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXUseID --
- *
- * Take the ID out of the available list for new menus. Used by the
- * default menu bar's menus so that they do not get created at the tk
- * level. See TkMacOSXGetNewMenuID for more information.
- *
- * Results:
- * Returns TCL_OK if the id was not in use. Returns TCL_ERROR if the id
- * was in use.
- *
- * Side effects:
- * A hash table entry in the command table is created with a NULL value.
- *
- *----------------------------------------------------------------------
- */
-
-int
-TkMacOSXUseMenuID(
- short macID) /* The id to take out of the table */
-{
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXDispatchMenuEvent --
- *
- * Given a menu id and an item, dispatches the command associated with
- * it.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Commands for the event are scheduled for execution at idle time.
- *
- *----------------------------------------------------------------------
- */
-
-int
-TkMacOSXDispatchMenuEvent(
- int menuID, /* The menu id of the menu we are invoking */
- int index) /* The one-based index of the item that was
- * selected. */
-{
- return TCL_ERROR;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXHandleTearoffMenu() --
- *
- * This routine sees if the MDEF has set a menu and a mouse position for
- * tearing off and makes a tearoff menu if it has.
- *
- * Results:
- * menuPtr->interp will have the result of the tearoff command.
- *
- * Side effects:
- * A new tearoff menu is created if it is supposed to be.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkMacOSXHandleTearoffMenu(void)
-{
- /*
- * Obsolete: Nothing to do.
- */
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXSetHelpMenuItemCount --
- *
- * Has to be called after the first call to InsertMenu. Sets up the
- * global variable for the number of items in the unmodified help menu.
- * NB. Nobody uses this any more, since you can get the number of system
- * help items from HMGetHelpMenu trivially. But it is in the stubs
- * table...
- *
- * Results:
- * None.
- *
- * Side effects:
- * Nothing.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkMacOSXSetHelpMenuItemCount(void)
-{
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXMenuClick --
- *
- * Prepares a menubar for MenuSelect or MenuKey.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Any pending configurations of the menubar are completed.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkMacOSXMenuClick(void)
-{
-}
-
-/*
- * Local Variables:
- * mode: objc
- * c-basic-offset: 4
- * fill-column: 79
- * coding: utf-8
- * End:
- */
diff --git a/tk8.6/macosx/tkMacOSXMenubutton.c b/tk8.6/macosx/tkMacOSXMenubutton.c
deleted file mode 100644
index 1acefe5..0000000
--- a/tk8.6/macosx/tkMacOSXMenubutton.c
+++ /dev/null
@@ -1,853 +0,0 @@
-/*
- * tkMacOSXMenubutton.c --
- *
- * This file implements the Macintosh specific portion of the
- * menubutton widget.
- *
- * Copyright (c) 1996 by Sun Microsystems, Inc.
- * Copyright 2001, Apple Computer, Inc.
- * Copyright (c) 2006-2007 Daniel A. Steffen <das@users.sourceforge.net>
- * Copyright 2007 Revar Desmera.
- * Copyright 2015 Kevin Walzer/WordTech Communications LLC.
- *
- * See the file "license.terms" for information on usage and redistribution
- * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
- *
- */
-
-#include "tkMacOSXPrivate.h"
-#include "tkMenu.h"
-#include "tkMenubutton.h"
-#include "tkMacOSXFont.h"
-#include "tkMacOSXDebug.h"
-
-#define FIRST_DRAW 2
-#define ACTIVE 4
-
-
-typedef struct {
- Tk_3DBorder border;
- int relief;
- GC gc;
- int hasImageOrBitmap;
-} DrawParams;
-
-
-/*
- * Declaration of Mac specific button structure.
- */
-
-typedef struct MacMenuButton {
- TkMenuButton info; /* Generic button info. */
- int flags;
- ThemeButtonKind btnkind;
- HIThemeButtonDrawInfo drawinfo;
- HIThemeButtonDrawInfo lastdrawinfo;
- DrawParams drawParams;
-} MacMenuButton;
-
-/*
- * Forward declarations for procedures defined later in this file:
- */
-
-static void MenuButtonEventProc(ClientData clientData, XEvent *eventPtr);
-static void MenuButtonBackgroundDrawCB ( MacMenuButton *ptr, SInt16 depth, Boolean isColorDev);
-static void MenuButtonContentDrawCB ( ThemeButtonKind kind, const HIThemeButtonDrawInfo * info, MacMenuButton *ptr, SInt16 depth, Boolean isColorDev);
-static void MenuButtonEventProc ( ClientData clientData, XEvent *eventPtr);
-static void TkMacOSXComputeMenuButtonParams (TkMenuButton * butPtr, ThemeButtonKind* btnkind, HIThemeButtonDrawInfo* drawinfo);
-static int TkMacOSXComputeMenuButtonDrawParams (TkMenuButton * butPtr, DrawParams * dpPtr);
-static void TkMacOSXDrawMenuButton (MacMenuButton *butPtr,
- GC gc, Pixmap pixmap);
-static void DrawMenuButtonImageAndText(TkMenuButton* butPtr);
-
-/*
- * The structure below defines menubutton class behavior by means of
- * procedures that can be invoked from generic window code.
- */
-
-Tk_ClassProcs tkpMenubuttonClass = {
- sizeof(Tk_ClassProcs), /* size */
- TkMenuButtonWorldChanged, /* worldChangedProc */
-};
-
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpCreateMenuButton --
- *
- * Allocate a new TkMenuButton structure.
- *
- * Results:
- * Returns a newly allocated TkMenuButton structure.
- *
- * Side effects:
- * Registers an event handler for the widget.
- *
- *----------------------------------------------------------------------
- */
-
-TkMenuButton *
-TkpCreateMenuButton(
- Tk_Window tkwin)
-{
- MacMenuButton *mbPtr = (MacMenuButton *) ckalloc(sizeof(MacMenuButton));
-
- Tk_CreateEventHandler(tkwin, ActivateMask,
- MenuButtonEventProc, (ClientData) mbPtr);
- mbPtr->flags = FIRST_DRAW;
- mbPtr->btnkind = kThemePopupButton;
- bzero(&mbPtr->drawinfo, sizeof(mbPtr->drawinfo));
- bzero(&mbPtr->lastdrawinfo, sizeof(mbPtr->lastdrawinfo));
-
- return (TkMenuButton *) mbPtr;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpDisplayMenuButton --
- *
- * This procedure is invoked to display a menubutton widget.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Commands are output to X to display the menubutton in its
- * current mode.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpDisplayMenuButton(
- ClientData clientData) /* Information about widget. */
-{
- MacMenuButton *mbPtr = (MacMenuButton *)clientData;
- TkMenuButton *butPtr = (TkMenuButton *) clientData;
- Tk_Window tkwin = butPtr->tkwin;
- Pixmap pixmap;
- DrawParams* dpPtr = &mbPtr->drawParams;
-
- butPtr->flags &= ~REDRAW_PENDING;
- if ((butPtr->tkwin == NULL) || !Tk_IsMapped(tkwin)) {
- return;
- }
-
- pixmap = (Pixmap) Tk_WindowId(tkwin);
-
- TkMacOSXComputeMenuButtonDrawParams(butPtr, dpPtr);
-
- /*
- * set up clipping region. Make sure the we are using the port
- * for this button, or we will set the wrong window's clip.
- */
-
- TkMacOSXSetUpClippingRgn(pixmap);
-
- /* Draw the native portion of the buttons. */
- TkMacOSXDrawMenuButton(mbPtr, dpPtr->gc, pixmap);
-
- /* Draw highlight border, if needed. */
- if (butPtr->highlightWidth < 3) {
- if ((butPtr->flags & GOT_FOCUS)) {
- Tk_Draw3DRectangle(tkwin, pixmap, butPtr->normalBorder, 0, 0,
- Tk_Width(tkwin), Tk_Height(tkwin),
- butPtr->highlightWidth, TK_RELIEF_SOLID);
- }
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpDestroyMenuButton --
- *
- * Free data structures associated with the menubutton control.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Restores the default control state.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpDestroyMenuButton(
- TkMenuButton *mbPtr)
-{
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpComputeMenuButtonGeometry --
- *
- * After changes in a menu button's text or bitmap, this procedure
- * recomputes the menu button's geometry and passes this information
- * along to the geometry manager for the window.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The menu button's window may change size.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpComputeMenuButtonGeometry(butPtr)
- register TkMenuButton *butPtr; /* Widget record for menu button. */
-{
- int width, height, avgWidth, haveImage = 0, haveText = 0;
- MacMenuButton *mbPtr = (MacMenuButton*)butPtr;
- int txtWidth, txtHeight;
- Tk_FontMetrics fm;
- DrawParams drawParams;
- int paddingx = 0;
- int paddingy = 0;
-
- /*
- * First figure out the size of the contents of the button.
- */
-
- width = 0;
- height = 0;
- txtWidth = 0;
- txtHeight = 0;
- avgWidth = 0;
-
- TkMacOSXComputeMenuButtonParams(butPtr, &mbPtr->btnkind, &mbPtr->drawinfo);
-
- if (butPtr->image != NULL) {
- Tk_SizeOfImage(butPtr->image, &width, &height);
- haveImage = 1;
- } else if (butPtr->bitmap != None) {
- Tk_SizeOfBitmap(butPtr->display, butPtr->bitmap, &width, &height);
- haveImage = 1;
- }
-
- if (haveImage == 0 || butPtr->compound != COMPOUND_NONE) {
- Tk_FreeTextLayout(butPtr->textLayout);
- butPtr->textLayout = Tk_ComputeTextLayout(butPtr->tkfont,
- butPtr->text, -1, butPtr->wrapLength,
- butPtr->justify, 0, &butPtr->textWidth, &butPtr->textHeight);
-
- txtWidth = butPtr->textWidth;
- txtHeight = butPtr->textHeight;
- avgWidth = Tk_TextWidth(butPtr->tkfont, "0", 1);
- Tk_GetFontMetrics(butPtr->tkfont, &fm);
- haveText = (txtWidth != 0 && txtHeight != 0);
- }
-
- /*
- * If the button is compound (ie, it shows both an image and text),
- * the new geometry is a combination of the image and text geometry.
- * We only honor the compound bit if the button has both text and an
- * image, because otherwise it is not really a compound button.
- */
-
- if (butPtr->compound != COMPOUND_NONE && haveImage && haveText) {
- switch ((enum compound) butPtr->compound) {
- case COMPOUND_TOP:
- case COMPOUND_BOTTOM: {
- /*
- * Image is above or below text
- */
-
- height += txtHeight + butPtr->padY;
- width = (width > txtWidth ? width : txtWidth);
- break;
- }
- case COMPOUND_LEFT:
- case COMPOUND_RIGHT: {
- /*
- * Image is left or right of text
- */
-
- width += txtWidth + butPtr->padX;
- height = (height > txtHeight ? height : txtHeight);
- break;
- }
- case COMPOUND_CENTER: {
- /*
- * Image and text are superimposed
- */
-
- width = (width > txtWidth ? width : txtWidth);
- height = (height > txtHeight ? height : txtHeight);
- break;
- }
- case COMPOUND_NONE: {break;}
- }
-
- if (butPtr->width > 0) {
- width = butPtr->width;
- }
- if (butPtr->height > 0) {
- height = butPtr->height;
- }
-
- } else {
- if (haveImage) {
- if (butPtr->width > 0) {
- width = butPtr->width;
- }
- if (butPtr->height > 0) {
- height = butPtr->height;
- }
- } else {
- width = txtWidth;
- height = txtHeight;
- if (butPtr->width > 0) {
- width = butPtr->width * avgWidth;
- }
- if (butPtr->height > 0) {
- height = butPtr->height * fm.linespace;
- }
- }
- }
- width += 2 * butPtr->padX - 2;
- height += 2 * butPtr->padY - 2;
-
- /*Add padding for button arrows.*/
- width += 22;
-
- /*
- * Now figure out the size of the border decorations for the button.
- */
-
- if (butPtr->highlightWidth < 0) {
- butPtr->highlightWidth = 0;
- }
- butPtr->inset = 0;
- butPtr->inset += butPtr->highlightWidth;
-
- TkMacOSXComputeMenuButtonDrawParams(butPtr,&drawParams);
-
- HIRect tmpRect;
- HIRect contBounds;
-
- tmpRect = CGRectMake(0, 0, width, height);
-
- HIThemeGetButtonContentBounds(&tmpRect, &mbPtr->drawinfo, &contBounds);
-
-
-
- /* If the content region has a minimum height, match it. */
- if (height < contBounds.size.height) {
- height = contBounds.size.height;
- }
-
- /* If the content region has a minimum width, match it. */
- if (width < contBounds.size.width) {
- width = contBounds.size.width;
- }
-
- /* Pad to fill difference between content bounds and button bounds. */
- paddingx = tmpRect.origin.x - contBounds.origin.x;
- paddingy = tmpRect.origin.y - contBounds.origin.y;
-
- if (paddingx > 0) {
- width += paddingx;
- }
- if (paddingy > 0) {
- height += paddingy;
- }
-
- width += butPtr->inset*2;
- height += butPtr->inset*2;
-
-
- Tk_GeometryRequest(butPtr->tkwin, width, height);
- Tk_SetInternalBorder(butPtr->tkwin, butPtr->inset);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * DrawMenuButtonImageAndText --
- *
- * Draws the image and text associated witha button or label.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The image and text are drawn.
- *
- *----------------------------------------------------------------------
- */
-void
-DrawMenuButtonImageAndText(
- TkMenuButton* butPtr)
-{
- MacMenuButton *mbPtr = (MacMenuButton*)butPtr;
- Tk_Window tkwin = butPtr->tkwin;
- Pixmap pixmap;
- int haveImage = 0;
- int haveText = 0;
- int imageWidth = 0;
- int imageHeight = 0;
- int imageXOffset = 0;
- int imageYOffset = 0;
- int textXOffset = 0;
- int textYOffset = 0;
- int width = 0;
- int height = 0;
- int fullWidth = 0;
- int fullHeight = 0;
- int pressed;
-
- if (tkwin == NULL || !Tk_IsMapped(tkwin)) {
- return;
- }
-
- DrawParams* dpPtr = &mbPtr->drawParams;
- pixmap = (Pixmap)Tk_WindowId(tkwin);
-
-
- if (butPtr->image != None) {
- Tk_SizeOfImage(butPtr->image, &width, &height);
- haveImage = 1;
- } else if (butPtr->bitmap != None) {
- Tk_SizeOfBitmap(butPtr->display, butPtr->bitmap, &width, &height);
- haveImage = 1;
- }
-
- imageWidth = width;
- imageHeight = height;
-
- if (mbPtr->drawinfo.state == kThemeStatePressed) {
- /* Offset bitmaps by a bit when the button is pressed. */
- pressed = 1;
- }
-
- haveText = (butPtr->textWidth != 0 && butPtr->textHeight != 0);
- if (butPtr->compound != COMPOUND_NONE && haveImage && haveText) {
- int x = 0;
- int y = 0;
- textXOffset = 0;
- textYOffset = 0;
- fullWidth = 0;
- fullHeight = 0;
-
- switch ((enum compound) butPtr->compound) {
- case COMPOUND_TOP:
- case COMPOUND_BOTTOM: {
- /* Image is above or below text */
- if (butPtr->compound == COMPOUND_TOP) {
- textYOffset = height + butPtr->padY;
- } else {
- imageYOffset = butPtr->textHeight + butPtr->padY;
- }
- fullHeight = height + butPtr->textHeight + butPtr->padY;
- fullWidth = (width > butPtr->textWidth ? width :
- butPtr->textWidth);
- textXOffset = (fullWidth - butPtr->textWidth)/2;
- imageXOffset = (fullWidth - width)/2;
- break;
- }
- case COMPOUND_LEFT:
- case COMPOUND_RIGHT: {
- /*
- * Image is left or right of text
- */
-
- if (butPtr->compound == COMPOUND_LEFT) {
- textXOffset = width + butPtr->padX - 2;
- } else {
- imageXOffset = butPtr->textWidth + butPtr->padX;
- }
- fullWidth = butPtr->textWidth + butPtr->padX + width;
- fullHeight = (height > butPtr->textHeight ? height :
- butPtr->textHeight);
- textYOffset = (fullHeight - butPtr->textHeight)/2;
- imageYOffset = (fullHeight - height)/2;
- break;
- }
- case COMPOUND_CENTER: {
- /*
- * Image and text are superimposed
- */
-
- fullWidth = (width > butPtr->textWidth ? width :
- butPtr->textWidth);
- fullHeight = (height > butPtr->textHeight ? height :
- butPtr->textHeight);
- textXOffset = (fullWidth - butPtr->textWidth)/2;
- imageXOffset = (fullWidth - width)/2;
- textYOffset = (fullHeight - butPtr->textHeight)/2;
- imageYOffset = (fullHeight - height)/2;
- break;
- }
- case COMPOUND_NONE: {break;}
- }
-
- TkComputeAnchor(butPtr->anchor, tkwin,
- butPtr->padX + butPtr->borderWidth,
- butPtr->padY + butPtr->borderWidth,
- fullWidth, fullHeight, &x, &y);
- imageXOffset += x;
- imageYOffset += y;
- textYOffset -= 1;
-
- if (butPtr->image != NULL) {
- Tk_RedrawImage(butPtr->image, 0, 0, width,
- height, pixmap, imageXOffset, imageYOffset);
- } else {
- XSetClipOrigin(butPtr->display, dpPtr->gc,
- imageXOffset, imageYOffset);
- XCopyPlane(butPtr->display, butPtr->bitmap, pixmap, dpPtr->gc,
- 0, 0, (unsigned int) width, (unsigned int) height,
- imageXOffset, imageYOffset, 1);
- XSetClipOrigin(butPtr->display, dpPtr->gc, 0, 0);
- }
-
- Tk_DrawTextLayout(butPtr->display, pixmap,
- dpPtr->gc, butPtr->textLayout,
- x + textXOffset, y + textYOffset, 0, -1);
- Tk_UnderlineTextLayout(butPtr->display, pixmap, dpPtr->gc,
- butPtr->textLayout,
- x + textXOffset, y + textYOffset,
- butPtr->underline);
- } else {
- if (haveImage) {
- int x = 0;
- int y;
- TkComputeAnchor(butPtr->anchor, tkwin,
- butPtr->padX + butPtr->borderWidth,
- butPtr->padY + butPtr->borderWidth,
- width, height, &x, &y);
- imageXOffset += x;
- imageYOffset += y;
-
- if (butPtr->image != NULL) {
- Tk_RedrawImage(butPtr->image, 0, 0, width, height,
- pixmap, imageXOffset, imageYOffset);
- } else {
- XSetClipOrigin(butPtr->display, dpPtr->gc, x, y);
- XCopyPlane(butPtr->display, butPtr->bitmap,
- pixmap, dpPtr->gc,
- 0, 0, (unsigned int) width,
- (unsigned int) height,
- imageXOffset, imageYOffset, 1);
- XSetClipOrigin(butPtr->display, dpPtr->gc, 0, 0);
- }
- } else {
- /*Move x back by eight pixels to give the menubutton arrows room.*/
- int x = 0;
- int y;
- textXOffset = 8;
- TkComputeAnchor(butPtr->anchor, tkwin, butPtr->padX, butPtr->padY,
- butPtr->textWidth, butPtr->textHeight, &x, &y);
- Tk_DrawTextLayout(butPtr->display, pixmap, dpPtr->gc,
- butPtr->textLayout, x - textXOffset, y, 0, -1);
- y += butPtr->textHeight/2;
- }
- }
-}
-
-
-
-/*
- *--------------------------------------------------------------
- *
- * TkMacOSXDrawMenuButton --
- *
- * This function draws the tk menubutton using Mac controls
- * In addition, this code may apply custom colors passed
- * in the TkMenubutton.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *--------------------------------------------------------------
- */
-static void
-TkMacOSXDrawMenuButton(
- MacMenuButton *mbPtr, /* Mac menubutton. */
- GC gc, /* The GC we are drawing into - needed for
- * the bevel button */
- Pixmap pixmap) /* The pixmap we are drawing into - needed
- * for the bevel button */
-
-{
- TkMenuButton * butPtr = ( TkMenuButton *)mbPtr;
- TkWindow * winPtr;
- HIRect cntrRect;
- TkMacOSXDrawingContext dc;
- DrawParams* dpPtr = &mbPtr->drawParams;
- int useNewerHITools = 1;
-
- winPtr = (TkWindow *)butPtr->tkwin;
-
- TkMacOSXComputeMenuButtonParams(butPtr, &mbPtr->btnkind, &mbPtr->drawinfo);
-
- cntrRect = CGRectMake(winPtr->privatePtr->xOff, winPtr->privatePtr->yOff, Tk_Width(butPtr->tkwin),Tk_Height(butPtr->tkwin));
-
- cntrRect = CGRectInset(cntrRect, butPtr->inset, butPtr->inset);
-
-
- if (useNewerHITools == 1) {
- HIRect contHIRec;
- static HIThemeButtonDrawInfo hiinfo;
-
- MenuButtonBackgroundDrawCB((MacMenuButton*) mbPtr, 32, true);
-
- if (!TkMacOSXSetupDrawingContext(pixmap, dpPtr->gc, 1, &dc)) {
- return;
- }
-
-
- hiinfo.version = 0;
- hiinfo.state = mbPtr->drawinfo.state;
- hiinfo.kind = mbPtr->btnkind;
- hiinfo.value = mbPtr->drawinfo.value;
- hiinfo.adornment = mbPtr->drawinfo.adornment;
- hiinfo.animation.time.current = CFAbsoluteTimeGetCurrent();
- if (hiinfo.animation.time.start == 0) {
- hiinfo.animation.time.start = hiinfo.animation.time.current;
- }
-
- HIThemeDrawButton(&cntrRect, &hiinfo, dc.context, kHIThemeOrientationNormal, &contHIRec);
-
- TkMacOSXRestoreDrawingContext(&dc);
-
- MenuButtonContentDrawCB( mbPtr->btnkind, &mbPtr->drawinfo, (MacMenuButton *)mbPtr, 32, true);
- } else {
- if (!TkMacOSXSetupDrawingContext(pixmap, dpPtr->gc, 1, &dc)) {
- return;
- }
-
-
- TkMacOSXRestoreDrawingContext(&dc);
- }
- mbPtr->lastdrawinfo = mbPtr->drawinfo;
-}
-
-/*
- *--------------------------------------------------------------
- *
- * MenuButtonBackgroundDrawCB --
- *
- * This function draws the background that
- * lies under checkboxes and radiobuttons.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The background gets updated to the current color.
- *
- *--------------------------------------------------------------
- */
-static void
-MenuButtonBackgroundDrawCB (
- MacMenuButton *ptr,
- SInt16 depth,
- Boolean isColorDev)
-{
- TkMenuButton* butPtr = (TkMenuButton*)ptr;
- Tk_Window tkwin = butPtr->tkwin;
- Pixmap pixmap;
- if (tkwin == NULL || !Tk_IsMapped(tkwin)) {
- return;
- }
- pixmap = (Pixmap)Tk_WindowId(tkwin);
-
- Tk_Fill3DRectangle(tkwin, pixmap, butPtr->normalBorder, 0, 0,
- Tk_Width(tkwin), Tk_Height(tkwin), 0, TK_RELIEF_FLAT);
-}
-
-/*
- *--------------------------------------------------------------
- *
- * MenuButtonContentDrawCB --
- *
- * This function draws the label and image for the button.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The content of the button gets updated.
- *
- *--------------------------------------------------------------
- */
-static void
-MenuButtonContentDrawCB (
- ThemeButtonKind kind,
- const HIThemeButtonDrawInfo *drawinfo,
- MacMenuButton *ptr,
- SInt16 depth,
- Boolean isColorDev)
-{
- TkMenuButton *butPtr = (TkMenuButton *)ptr;
- Tk_Window tkwin = butPtr->tkwin;
-
- if (tkwin == NULL || !Tk_IsMapped(tkwin)) {
- return;
- }
-
- DrawMenuButtonImageAndText( butPtr);
-}
-
-/*
- *--------------------------------------------------------------
- *
- * MenuButtonEventProc --
- *
- * This procedure is invoked by the Tk dispatcher for various
- * events on buttons.
- *
- * Results:
- * None.
- *
- * Side effects:
- * When it gets exposed, it is redisplayed.
- *
- *--------------------------------------------------------------
- */
-
-static void
-MenuButtonEventProc(
- ClientData clientData, /* Information about window. */
- XEvent *eventPtr) /* Information about event. */
-{
- TkMenuButton *buttonPtr = (TkMenuButton *) clientData;
- MacMenuButton *mbPtr = (MacMenuButton *) clientData;
-
- if (eventPtr->type == ActivateNotify
- || eventPtr->type == DeactivateNotify) {
- if ((buttonPtr->tkwin == NULL) || (!Tk_IsMapped(buttonPtr->tkwin))) {
- return;
- }
- if (eventPtr->type == ActivateNotify) {
- mbPtr->flags |= ACTIVE;
- } else {
- mbPtr->flags &= ~ACTIVE;
- }
- if ((buttonPtr->flags & REDRAW_PENDING) == 0) {
- Tcl_DoWhenIdle(TkpDisplayMenuButton, (ClientData) buttonPtr);
- buttonPtr->flags |= REDRAW_PENDING;
- }
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXComputeMenuButtonParams --
- *
- * This procedure computes the various parameters used
- * when creating a Carbon Appearance control.
- * These are determined by the various tk button parameters
- *
- * Results:
- * None.
- *
- * Side effects:
- * Sets the btnkind and drawinfo parameters
- *
- *----------------------------------------------------------------------
- */
-
-static void
-TkMacOSXComputeMenuButtonParams(TkMenuButton * butPtr, ThemeButtonKind* btnkind, HIThemeButtonDrawInfo *drawinfo)
-{
- MacMenuButton *mbPtr = (MacMenuButton *)butPtr;
-
- if (butPtr->image || butPtr->bitmap) {
- /* TODO: allow for Small and Mini menubuttons. */
- *btnkind = kThemePopupButton;
- } else {
- if (!butPtr->text || !*butPtr->text) {
- *btnkind = kThemeArrowButton;
- } else {
- *btnkind = kThemePopupButton;
- }
- }
-
- drawinfo->value = kThemeButtonOff;
-
- if ((mbPtr->flags & FIRST_DRAW) != 0) {
- mbPtr->flags &= ~FIRST_DRAW;
- if (Tk_MacOSXIsAppInFront()) {
- mbPtr->flags |= ACTIVE;
- }
- }
-
- drawinfo->state = kThemeStateInactive;
- if ((mbPtr->flags & ACTIVE) == 0) {
- if (butPtr->state == STATE_DISABLED) {
- drawinfo->state = kThemeStateUnavailableInactive;
- } else {
- drawinfo->state = kThemeStateInactive;
- }
- } else if (butPtr->state == STATE_DISABLED) {
- drawinfo->state = kThemeStateUnavailable;
- } else {
- drawinfo->state = kThemeStateActive;
- }
-
- drawinfo->adornment = kThemeAdornmentNone;
- if (butPtr->highlightWidth >= 3) {
- if ((butPtr->flags & GOT_FOCUS)) {
- drawinfo->adornment |= kThemeAdornmentFocus;
- }
- }
- drawinfo->adornment |= kThemeAdornmentArrowDoubleArrow;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXComputeMenuButtonDrawParams --
- *
- * This procedure computes the various parameters used
- * when drawing a button
- * These are determined by the various tk button parameters
- *
- * Results:
- * 1 if control will be used, 0 otherwise.
- *
- * Side effects:
- * Sets the button draw parameters
- *
- *----------------------------------------------------------------------
- */
-
-static int
-TkMacOSXComputeMenuButtonDrawParams(TkMenuButton * butPtr, DrawParams * dpPtr)
-{
- dpPtr->hasImageOrBitmap = ((butPtr->image != NULL)
- || (butPtr->bitmap != None));
- dpPtr->border = butPtr->normalBorder;
- if ((butPtr->state == STATE_DISABLED) && (butPtr->disabledFg != NULL)) {
- dpPtr->gc = butPtr->disabledGC;
- } else if (butPtr->state == STATE_ACTIVE) {
- dpPtr->gc = butPtr->activeTextGC;
- dpPtr->border = butPtr->activeBorder;
- } else {
- dpPtr->gc = butPtr->normalTextGC;
- }
-
- return 1;
-}
-
-/*
- * Local Variables:
- * mode: objc
- * c-basic-offset: 4
- * fill-column: 79
- * coding: utf-8
- * End:
- */
diff --git a/tk8.6/macosx/tkMacOSXMenus.c b/tk8.6/macosx/tkMacOSXMenus.c
deleted file mode 100644
index 15dbad4..0000000
--- a/tk8.6/macosx/tkMacOSXMenus.c
+++ /dev/null
@@ -1,545 +0,0 @@
-/*
- * tkMacOSXMenus.c --
- *
- * These calls set up the default menus for Tk.
- *
- * Copyright (c) 1995-1996 Sun Microsystems, Inc.
- * Copyright 2001-2009, Apple Inc.
- * Copyright (c) 2005-2009 Daniel A. Steffen <das@users.sourceforge.net>
- *
- * See the file "license.terms" for information on usage and redistribution
- * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
- */
-
-#include "tkMacOSXPrivate.h"
-#include "tkMenu.h"
-#include "tkMacOSXConstants.h"
-
-static void GenerateEditEvent(const char *name);
-static Tcl_Obj * GetWidgetDemoPath(Tcl_Interp *interp);
-
-#pragma mark TKApplication(TKMenus)
-
-@implementation TKApplication(TKMenus)
-- (void) _setupMenus
-{
- if (_defaultMainMenu) {
- return;
- }
- TkMenuInit();
-
- NSString *applicationName = [[NSBundle mainBundle]
- objectForInfoDictionaryKey:@"CFBundleName"];
-
- if (!applicationName) {
- applicationName = [[NSProcessInfo processInfo] processName];
- }
-
- NSString *aboutName = (applicationName &&
- ![applicationName isEqualToString:@"Wish"] &&
- ![applicationName hasPrefix:@"tclsh"]) ?
- applicationName : @"Tcl & Tk";
-
- _servicesMenu = [NSMenu menuWithTitle:@"Services"];
- _defaultApplicationMenuItems = [[NSArray arrayWithObjects:
- [NSMenuItem separatorItem],
- [NSMenuItem itemWithTitle:
- [NSString stringWithFormat:@"Preferences%C", 0x2026]
- action:@selector(preferences:) keyEquivalent:@","],
- [NSMenuItem separatorItem],
- [NSMenuItem itemWithTitle:@"Services" submenu:_servicesMenu],
- [NSMenuItem separatorItem],
- [NSMenuItem itemWithTitle:
- [NSString stringWithFormat:@"Hide %@", applicationName]
- action:@selector(hide:) keyEquivalent:@"h"],
- [NSMenuItem itemWithTitle:@"Hide Others"
- action:@selector(hideOtherApplications:) keyEquivalent:@"h"
- keyEquivalentModifierMask:
- NSCommandKeyMask|NSAlternateKeyMask],
- [NSMenuItem itemWithTitle:@"Show All"
- action:@selector(unhideAllApplications:)],
- [NSMenuItem separatorItem],
- [NSMenuItem itemWithTitle:
- [NSString stringWithFormat:@"Quit %@", applicationName]
- action: @selector(terminate:) keyEquivalent:@"q"],
- nil] retain];
- _defaultApplicationMenu = [TKMenu menuWithTitle:applicationName
- menuItems:_defaultApplicationMenuItems];
- [_defaultApplicationMenu insertItem:
- [NSMenuItem itemWithTitle:
- [NSString stringWithFormat:@"About %@", aboutName]
- action:@selector(orderFrontStandardAboutPanel:)] atIndex:0];
-
- TKMenu *fileMenu = [TKMenu menuWithTitle:@"File" menuItems:
- [NSArray arrayWithObjects:
- [NSMenuItem itemWithTitle:
- [NSString stringWithFormat:@"Source%C", 0x2026]
- action:@selector(tkSource:)],
- [NSMenuItem itemWithTitle:@"Run Widget Demo"
- action:@selector(tkDemo:)],
- [NSMenuItem itemWithTitle:@"Close" action:@selector(performClose:)
- target:nil keyEquivalent:@"w"],
- nil]];
- TKMenu *editMenu = [TKMenu menuWithTitle:@"Edit" menuItems:
- [NSArray arrayWithObjects:
- [NSMenuItem itemWithTitle:@"Undo" action:@selector(undo:)
- target:nil keyEquivalent:@"z"],
- [NSMenuItem itemWithTitle:@"Redo" action:@selector(redo:)
- target:nil keyEquivalent:@"y"],
- [NSMenuItem separatorItem],
- [NSMenuItem itemWithTitle:@"Cut" action:@selector(cut:)
- target:nil keyEquivalent:@"x"],
- [NSMenuItem itemWithTitle:@"Copy" action:@selector(copy:)
- target:nil keyEquivalent:@"c"],
- [NSMenuItem itemWithTitle:@"Paste" action:@selector(paste:)
- target:nil keyEquivalent:@"v"],
- [NSMenuItem itemWithTitle:@"Delete" action:@selector(delete:)
- target:nil],
- nil]];
-
- _defaultWindowsMenuItems = [[NSArray arrayWithObjects:
- [NSMenuItem itemWithTitle:@"Minimize"
- action:@selector(performMiniaturize:) target:nil
- keyEquivalent:@"m"],
- [NSMenuItem itemWithTitle:@"Zoom" action:@selector(performZoom:)
- target:nil],
- [NSMenuItem separatorItem],
- [NSMenuItem itemWithTitle:@"Bring All to Front"
- action:@selector(arrangeInFront:)],
- nil] retain];
-
- TKMenu *windowsMenu = [TKMenu menuWithTitle:@"Window" menuItems:
- _defaultWindowsMenuItems];
-
- _defaultHelpMenuItems = [[NSArray arrayWithObjects:
- [NSMenuItem itemWithTitle:
- [NSString stringWithFormat:@"%@ Help", applicationName]
- action:@selector(showHelp:) keyEquivalent:@"?"],
- nil] retain];
-
- TKMenu *helpMenu = [TKMenu menuWithTitle:@"Help" menuItems:
- _defaultHelpMenuItems];
-
- [self setServicesMenu:_servicesMenu];
- [self setWindowsMenu:windowsMenu];
- _defaultMainMenu = [[TKMenu menuWithTitle:@"" submenus:[NSArray
- arrayWithObjects:_defaultApplicationMenu, fileMenu, editMenu,
- windowsMenu, helpMenu, nil]] retain];
- [_defaultMainMenu setSpecial:tkMainMenu];
- [_defaultApplicationMenu setSpecial:tkApplicationMenu];
- [windowsMenu setSpecial:tkWindowsMenu];
- [helpMenu setSpecial:tkHelpMenu];
- [self tkSetMainMenu:nil];
-}
-
-- (void) dealloc
-{
- [_defaultMainMenu release];
- [_defaultHelpMenuItems release];
- [_defaultWindowsMenuItems release];
- [_defaultApplicationMenuItems release];
- [super dealloc];
-}
-
-- (BOOL) validateUserInterfaceItem: (id <NSValidatedUserInterfaceItem>) anItem
-{
- SEL action = [anItem action];
-
- if (sel_isEqual(action, @selector(preferences:))) {
-
- return (_eventInterp && Tcl_FindCommand(_eventInterp,
- "::tk::mac::ShowPreferences", NULL, 0));
- } else if (sel_isEqual(action, @selector(tkDemo:))) {
- BOOL haveDemo = NO;
-
- if (_eventInterp) {
- Tcl_Obj *path = GetWidgetDemoPath(_eventInterp);
-
- if (path) {
- Tcl_IncrRefCount(path);
- haveDemo = (Tcl_FSAccess(path, R_OK) == 0);
- Tcl_DecrRefCount(path);
- }
- }
- return haveDemo;
- } else {
- return [super validateUserInterfaceItem:anItem];
- }
-}
-
-- (void) orderFrontStandardAboutPanel: (id) sender
-{
- if (!_eventInterp || !Tcl_FindCommand(_eventInterp, "tkAboutDialog",
- NULL, 0) || (GetCurrentEventKeyModifiers() & optionKey)) {
- TkAboutDlg();
- } else {
- int code = Tcl_EvalEx(_eventInterp, "tkAboutDialog", -1,
- TCL_EVAL_GLOBAL);
-
- if (code != TCL_OK) {
- Tcl_BackgroundException(_eventInterp, code);
- }
- Tcl_ResetResult(_eventInterp);
- }
-}
-
-- (void) showHelp: (id) sender
-{
- if (!_eventInterp || !Tcl_FindCommand(_eventInterp,
- "::tk::mac::ShowHelp", NULL, 0)) {
- [super showHelp:sender];
- } else {
- int code = Tcl_EvalEx(_eventInterp, "::tk::mac::ShowHelp", -1,
- TCL_EVAL_GLOBAL);
-
- if (code != TCL_OK) {
- Tcl_BackgroundException(_eventInterp, code);
- }
- Tcl_ResetResult(_eventInterp);
- }
-}
-
-- (void) tkSource: (id) sender
-{
- if (_eventInterp) {
- if (Tcl_EvalEx(_eventInterp, "tk_getOpenFile -filetypes {"
- "{{TCL Scripts} {.tcl} TEXT} {{Text Files} {} TEXT}}",
- -1, TCL_EVAL_GLOBAL) == TCL_OK) {
- Tcl_Obj *path = Tcl_GetObjResult(_eventInterp);
- int len;
-
- Tcl_GetStringFromObj(path, &len);
- if (len) {
- Tcl_IncrRefCount(path);
-
- int code = Tcl_FSEvalFileEx(_eventInterp, path, NULL);
-
- if (code != TCL_OK) {
- Tcl_BackgroundException(_eventInterp, code);
- }
- Tcl_DecrRefCount(path);
- }
- }
- Tcl_ResetResult(_eventInterp);
- }
-}
-
-- (void) tkDemo: (id) sender
-{
- if (_eventInterp) {
- Tcl_Obj *path = GetWidgetDemoPath(_eventInterp);
-
- if (path) {
- Tcl_IncrRefCount(path);
-
- int code = Tcl_FSEvalFileEx(_eventInterp, path, NULL);
-
- if (code != TCL_OK) {
- Tcl_BackgroundException(_eventInterp, code);
- }
- Tcl_DecrRefCount(path);
- Tcl_ResetResult(_eventInterp);
- }
- }
-}
-@end
-
-#pragma mark TKContentView(TKMenus)
-
-@implementation TKContentView(TKMenus)
-
-- (BOOL) validateUserInterfaceItem: (id <NSValidatedUserInterfaceItem>) anItem
-{
- return YES;
-}
-
-#define EDIT_ACTION(a, e) \
- - (void) a: (id) sender \
- { \
- if ([sender isKindOfClass:[NSMenuItem class]]) { \
- GenerateEditEvent(#e); \
- } \
- }
-EDIT_ACTION(cut, Cut)
-EDIT_ACTION(copy, Copy)
-EDIT_ACTION(paste, Paste)
-EDIT_ACTION(delete, Clear)
-EDIT_ACTION(undo, Undo)
-EDIT_ACTION(redo, Redo)
-#undef EDIT_ACTION
-@end
-
-#pragma mark -
-
-/*
- *----------------------------------------------------------------------
- *
- * GetWidgetDemoPath --
- *
- * Get path to the widget demo.
- *
- * Results:
- * pathObj with ref count 0.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-static Tcl_Obj *
-GetWidgetDemoPath(
- Tcl_Interp *interp)
-{
- Tcl_Obj *libpath, *result = NULL;
-
- libpath = Tcl_GetVar2Ex(interp, "tk_library", NULL, TCL_GLOBAL_ONLY);
- if (libpath) {
- Tcl_Obj *demo[2] = { Tcl_NewStringObj("demos", 5),
- Tcl_NewStringObj("widget", 6) };
-
- Tcl_IncrRefCount(libpath);
- result = Tcl_FSJoinToPath(libpath, 2, demo);
- Tcl_DecrRefCount(libpath);
- } else {
- Tcl_ResetResult(interp);
- }
- return result;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXHandleMenuSelect --
- *
- * Handles events that occur in the Menu bar.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkMacOSXHandleMenuSelect(
- short theMenu,
- unsigned short theItem,
- int optionKeyPressed)
-{
- Tcl_Panic("TkMacOSXHandleMenuSelect: Obsolete, no more Carbon!");
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXInitMenus --
- *
- * This procedure initializes the Macintosh menu bar.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkMacOSXInitMenus(
- Tcl_Interp *interp)
-{
- [NSApp _setupMenus];
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * GenerateEditEvent --
- *
- * Takes an edit menu item and posts the corasponding a virtual event to
- * Tk's event queue.
- *
- * Results:
- * None.
- *
- * Side effects:
- * May place events of queue.
- *
- *----------------------------------------------------------------------
- */
-
-static void
-GenerateEditEvent(
- const char *name)
-{
- XVirtualEvent event;
- int x, y;
- TkWindow *winPtr = TkMacOSXGetTkWindow([NSApp keyWindow]);
- Tk_Window tkwin;
-
- if (!winPtr) {
- return;
- }
- tkwin = (Tk_Window) winPtr->dispPtr->focusPtr;
- if (!tkwin) {
- return;
- }
- bzero(&event, sizeof(XVirtualEvent));
- event.type = VirtualEvent;
- event.serial = LastKnownRequestProcessed(Tk_Display(tkwin));
- event.send_event = false;
- event.display = Tk_Display(tkwin);
- event.event = Tk_WindowId(tkwin);
- event.root = XRootWindow(Tk_Display(tkwin), 0);
- event.subwindow = None;
- event.time = TkpGetMS();
- XQueryPointer(NULL, winPtr->window, NULL, NULL,
- &event.x_root, &event.y_root, &x, &y, &event.state);
- Tk_TopCoordsToWindow(tkwin, x, y, &event.x, &event.y);
- event.same_screen = true;
- event.name = Tk_GetUid(name);
- Tk_QueueWindowEvent((XEvent *) &event, TCL_QUEUE_TAIL);
-}
-
-#pragma mark -
-
-#pragma mark NSMenu & NSMenuItem Utilities
-
-@implementation NSMenu(TKUtils)
-
-+ (id) menuWithTitle: (NSString *) title
-{
- NSMenu *m = [[self alloc] initWithTitle:title];
-
- return [m autorelease];
-}
-
-+ (id) menuWithTitle: (NSString *) title menuItems: (NSArray *) items
-{
- NSMenu *m = [[self alloc] initWithTitle:title];
-
- for (NSMenuItem *i in items) {
- [m addItem:i];
- }
- return [m autorelease];
-}
-
-+ (id) menuWithTitle: (NSString *) title submenus: (NSArray *) submenus
-{
- NSMenu *m = [[self alloc] initWithTitle:title];
-
- for (NSMenu *i in submenus) {
- [m addItem:[NSMenuItem itemWithSubmenu:i]];
- }
- return [m autorelease];
-}
-
-- (NSMenuItem *) itemWithSubmenu: (NSMenu *) submenu
-{
- return [self itemAtIndex:[self indexOfItemWithSubmenu:submenu]];
-}
-
-- (NSMenuItem *) itemInSupermenu
-{
- NSMenu *supermenu = [self supermenu];
-
- return (supermenu ? [supermenu itemWithSubmenu:self] : nil);
-}
-@end
-
-@implementation NSMenuItem(TKUtils)
-
-+ (id) itemWithSubmenu: (NSMenu *) submenu
-{
- NSMenuItem *i = [[self alloc] initWithTitle:[submenu title] action:NULL
- keyEquivalent:@""];
-
- [i setSubmenu:submenu];
- return [i autorelease];
-}
-
-+ (id) itemWithTitle: (NSString *) title submenu: (NSMenu *) submenu
-{
- NSMenuItem *i = [[self alloc] initWithTitle:title action:NULL
- keyEquivalent:@""];
-
- [i setSubmenu:submenu];
- return [i autorelease];
-}
-
-+ (id) itemWithTitle: (NSString *) title action: (SEL) action
-{
- NSMenuItem *i = [[self alloc] initWithTitle:title action:action
- keyEquivalent:@""];
-
- [i setTarget:NSApp];
- return [i autorelease];
-}
-
-+ (id) itemWithTitle: (NSString *) title action: (SEL) action
- target: (id) target
-{
- NSMenuItem *i = [[self alloc] initWithTitle:title action:action
- keyEquivalent:@""];
-
- [i setTarget:target];
- return [i autorelease];
-}
-
-+ (id) itemWithTitle: (NSString *) title action: (SEL) action
- keyEquivalent: (NSString *) keyEquivalent
-{
- NSMenuItem *i = [[self alloc] initWithTitle:title action:action
- keyEquivalent:keyEquivalent];
-
- [i setTarget:NSApp];
- return [i autorelease];
-}
-
-+ (id) itemWithTitle: (NSString *) title action: (SEL) action
- target: (id) target keyEquivalent: (NSString *) keyEquivalent
-{
- NSMenuItem *i = [[self alloc] initWithTitle:title action:action
- keyEquivalent:keyEquivalent];
-
- [i setTarget:target];
- return [i autorelease];
-}
-
-+ (id) itemWithTitle: (NSString *) title action: (SEL) action
- keyEquivalent: (NSString *) keyEquivalent
- keyEquivalentModifierMask: (NSUInteger) keyEquivalentModifierMask
-{
- NSMenuItem *i = [[self alloc] initWithTitle:title action:action
- keyEquivalent:keyEquivalent];
-
- [i setTarget:NSApp];
- [i setKeyEquivalentModifierMask:keyEquivalentModifierMask];
- return [i autorelease];
-}
-
-+ (id) itemWithTitle: (NSString *) title action: (SEL) action
- target: (id) target keyEquivalent: (NSString *) keyEquivalent
- keyEquivalentModifierMask: (NSUInteger) keyEquivalentModifierMask
-{
- NSMenuItem *i = [[self alloc] initWithTitle:title action:action
- keyEquivalent:keyEquivalent];
-
- [i setTarget:target];
- [i setKeyEquivalentModifierMask:keyEquivalentModifierMask];
- return [i autorelease];
-}
-@end
-
-/*
- * Local Variables:
- * mode: objc
- * c-basic-offset: 4
- * fill-column: 79
- * coding: utf-8
- * End:
- */
diff --git a/tk8.6/macosx/tkMacOSXMouseEvent.c b/tk8.6/macosx/tkMacOSXMouseEvent.c
deleted file mode 100644
index 828d874..0000000
--- a/tk8.6/macosx/tkMacOSXMouseEvent.c
+++ /dev/null
@@ -1,581 +0,0 @@
-/*
- * tkMacOSXMouseEvent.c --
- *
- * This file implements functions that decode & handle mouse events on
- * MacOS X.
- *
- * Copyright 2001-2009, Apple Inc.
- * Copyright (c) 2005-2009 Daniel A. Steffen <das@users.sourceforge.net>
- *
- * See the file "license.terms" for information on usage and redistribution of
- * this file, and for a DISCLAIMER OF ALL WARRANTIES.
- */
-
-#include "tkMacOSXPrivate.h"
-#include "tkMacOSXWm.h"
-#include "tkMacOSXEvent.h"
-#include "tkMacOSXDebug.h"
-#include "tkMacOSXConstants.h"
-
-typedef struct {
- unsigned int state;
- long delta;
- Window window;
- Point global;
- Point local;
-} MouseEventData;
-
-static int GenerateButtonEvent(MouseEventData *medPtr);
-static unsigned int ButtonModifiers2State(UInt32 buttonState,
- UInt32 keyModifiers);
-
-#pragma mark TKApplication(TKMouseEvent)
-
-enum {
- NSWindowWillMoveEventType = 20
-};
-/*
- * In OS X 10.6 an NSEvent of type NSMouseMoved would always have a non-Nil
- * window attribute pointing to the active window. As of 10.8 this behavior
- * had changed. The new behavior was that if the mouse were ever moved outside
- * of a window, all subsequent NSMouseMoved NSEvents would have a Nil window
- * attribute. To work around this the TKApplication remembers the last non-Nil
- * window that it received in a mouse event. If it receives an NSEvent with a
- * Nil window attribute then the saved window is used.
- */
-
-@implementation TKApplication(TKMouseEvent)
-- (NSEvent *) tkProcessMouseEvent: (NSEvent *) theEvent
-{
-#ifdef TK_MAC_DEBUG_EVENTS
- TKLog(@"-[%@(%p) %s] %@", [self class], self, _cmd, theEvent);
-#endif
- NSWindow* eventWindow = [theEvent window];
- NSEventType eventType = [theEvent type];
-#if 0
- NSTrackingArea *trackingArea = nil;
- NSInteger eventNumber, clickCount, buttonNumber;
-#endif
- switch (eventType) {
- case NSMouseEntered:
- case NSMouseExited:
- case NSCursorUpdate:
- case NSLeftMouseDown:
- case NSLeftMouseUp:
- case NSRightMouseDown:
- case NSRightMouseUp:
- case NSOtherMouseDown:
- case NSOtherMouseUp:
- case NSLeftMouseDragged:
- case NSRightMouseDragged:
- case NSOtherMouseDragged:
- case NSMouseMoved:
- case NSTabletPoint:
- case NSTabletProximity:
- case NSScrollWheel:
- break;
- default: /* Unrecognized mouse event. */
- return theEvent;
- }
-
- /* Remember the window in case we need it next time. */
- if (eventWindow && eventWindow != _windowWithMouse) {
- if (_windowWithMouse) {
- [_windowWithMouse release];
- }
- _windowWithMouse = eventWindow;
- [_windowWithMouse retain];
- }
-
- /* Create an Xevent to add to the Tk queue. */
- NSPoint global, local = [theEvent locationInWindow];
- if (eventWindow) { /* local will be in window coordinates. */
- global = [eventWindow tkConvertPointToScreen: local];
- local.y = [eventWindow frame].size.height - local.y;
- global.y = tkMacOSXZeroScreenHeight - global.y;
- } else { /* local will be in screen coordinates. */
- if (_windowWithMouse ) {
- eventWindow = _windowWithMouse;
- global = local;
- local = [eventWindow tkConvertPointFromScreen: local];
- local.y = [eventWindow frame].size.height - local.y;
- global.y = tkMacOSXZeroScreenHeight - global.y;
- } else { /* We have no window. Use the screen???*/
- local.y = tkMacOSXZeroScreenHeight - local.y;
- global = local;
- }
- }
-
- Window window = TkMacOSXGetXWindow(eventWindow);
- Tk_Window tkwin = window ? Tk_IdToWindow(TkGetDisplayList()->display,
- window) : NULL;
- if (!tkwin) {
- tkwin = TkMacOSXGetCapture();
- }
- if (!tkwin) {
- return theEvent; /* Give up. No window for this event. */
- }
-
- TkWindow *winPtr = (TkWindow *) tkwin;
- local.x -= winPtr->wmInfoPtr->xInParent;
- local.y -= winPtr->wmInfoPtr->yInParent;
-
- int win_x, win_y;
- tkwin = Tk_TopCoordsToWindow(tkwin, local.x, local.y,
- &win_x, &win_y);
-
- unsigned int state = 0;
- NSInteger button = [theEvent buttonNumber];
- EventRef eventRef = (EventRef)[theEvent eventRef];
- UInt32 buttons;
- OSStatus err = GetEventParameter(eventRef, kEventParamMouseChord,
- typeUInt32, NULL, sizeof(UInt32), NULL, &buttons);
-
- if (err == noErr) {
- state |= (buttons & ((1<<5) - 1)) << 8;
- } else if (button < 5) {
- switch (eventType) {
- case NSLeftMouseDown:
- case NSRightMouseDown:
- case NSLeftMouseDragged:
- case NSRightMouseDragged:
- case NSOtherMouseDown:
- state |= 1 << (button + 8);
- break;
- default:
- break;
- }
- }
-
- NSUInteger modifiers = [theEvent modifierFlags];
-
- if (modifiers & NSAlphaShiftKeyMask) {
- state |= LockMask;
- }
- if (modifiers & NSShiftKeyMask) {
- state |= ShiftMask;
- }
- if (modifiers & NSControlKeyMask) {
- state |= ControlMask;
- }
- if (modifiers & NSCommandKeyMask) {
- state |= Mod1Mask; /* command key */
- }
- if (modifiers & NSAlternateKeyMask) {
- state |= Mod2Mask; /* option key */
- }
- if (modifiers & NSNumericPadKeyMask) {
- state |= Mod3Mask;
- }
- if (modifiers & NSFunctionKeyMask) {
- state |= Mod4Mask;
- }
-
- if (eventType != NSScrollWheel) {
-#ifdef TK_MAC_DEBUG_EVENTS
- TKLog(@"UpdatePointer %p x %f.0 y %f.0 %d", tkwin, global.x, global.y, state);
-#endif
- Tk_UpdatePointer(tkwin, global.x, global.y, state);
- } else { /* handle scroll wheel event */
- CGFloat delta;
- int coarseDelta;
- XEvent xEvent;
-
- xEvent.type = MouseWheelEvent;
- xEvent.xbutton.x = local.x;
- xEvent.xbutton.y = local.y;
- xEvent.xbutton.x_root = global.x;
- xEvent.xbutton.y_root = global.y;
- xEvent.xany.send_event = false;
- xEvent.xany.display = Tk_Display(tkwin);
- xEvent.xany.window = Tk_WindowId(tkwin);
-
- delta = [theEvent deltaY];
- if (delta != 0.0) {
- coarseDelta = (delta > -1.0 && delta < 1.0) ?
- (signbit(delta) ? -1 : 1) : lround(delta);
- xEvent.xbutton.state = state;
- xEvent.xkey.keycode = coarseDelta;
- xEvent.xany.serial = LastKnownRequestProcessed(Tk_Display(tkwin));
- Tk_QueueWindowEvent(&xEvent, TCL_QUEUE_TAIL);
- }
- delta = [theEvent deltaX];
- if (delta != 0.0) {
- coarseDelta = (delta > -1.0 && delta < 1.0) ?
- (signbit(delta) ? -1 : 1) : lround(delta);
- xEvent.xbutton.state = state | ShiftMask;
- xEvent.xkey.keycode = coarseDelta;
- xEvent.xany.serial = LastKnownRequestProcessed(Tk_Display(tkwin));
- Tk_QueueWindowEvent(&xEvent, TCL_QUEUE_TAIL);
- }
- }
- return theEvent;
-}
-@end
-
-#pragma mark -
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXKeyModifiers --
- *
- * Returns the current state of the modifier keys.
- *
- * Results:
- * An OS Modifier state.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-EventModifiers
-TkMacOSXModifierState(void)
-{
- UInt32 keyModifiers;
- int isFrontProcess = (GetCurrentEvent() && Tk_MacOSXIsAppInFront());
-
- keyModifiers = isFrontProcess ? GetCurrentEventKeyModifiers() :
- GetCurrentKeyModifiers();
-
- return (EventModifiers) (keyModifiers & USHRT_MAX);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXButtonKeyState --
- *
- * Returns the current state of the button & modifier keys.
- *
- * Results:
- * A bitwise inclusive OR of a subset of the following: Button1Mask,
- * ShiftMask, LockMask, ControlMask, Mod*Mask.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-unsigned int
-TkMacOSXButtonKeyState(void)
-{
- UInt32 buttonState = 0, keyModifiers;
- int isFrontProcess = (GetCurrentEvent() && Tk_MacOSXIsAppInFront());
-
- buttonState = isFrontProcess ? GetCurrentEventButtonState() :
- GetCurrentButtonState();
- keyModifiers = isFrontProcess ? GetCurrentEventKeyModifiers() :
- GetCurrentKeyModifiers();
-
- return ButtonModifiers2State(buttonState, keyModifiers);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * ButtonModifiers2State --
- *
- * Converts Carbon mouse button state and modifier values into a Tk
- * button/modifier state.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-static unsigned int
-ButtonModifiers2State(
- UInt32 buttonState,
- UInt32 keyModifiers)
-{
- unsigned int state;
-
- /*
- * Tk supports at most 5 buttons.
- */
-
- state = (buttonState & ((1<<5) - 1)) << 8;
-
- if (keyModifiers & alphaLock) {
- state |= LockMask;
- }
- if (keyModifiers & shiftKey) {
- state |= ShiftMask;
- }
- if (keyModifiers & controlKey) {
- state |= ControlMask;
- }
- if (keyModifiers & cmdKey) {
- state |= Mod1Mask; /* command key */
- }
- if (keyModifiers & optionKey) {
- state |= Mod2Mask; /* option key */
- }
- if (keyModifiers & kEventKeyModifierNumLockMask) {
- state |= Mod3Mask;
- }
- if (keyModifiers & kEventKeyModifierFnMask) {
- state |= Mod4Mask;
- }
-
- return state;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * XQueryPointer --
- *
- * Check the current state of the mouse. This is not a complete
- * implementation of this function. It only computes the root coordinates
- * and the current mask.
- *
- * Results:
- * Sets root_x_return, root_y_return, and mask_return. Returns true on
- * success.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-Bool
-XQueryPointer(
- Display *display,
- Window w,
- Window *root_return,
- Window *child_return,
- int *root_x_return,
- int *root_y_return,
- int *win_x_return,
- int *win_y_return,
- unsigned int *mask_return)
-{
- int getGlobal = (root_x_return && root_y_return);
- int getLocal = (win_x_return && win_y_return && w != None);
-
- if (getGlobal || getLocal) {
- NSPoint global = [NSEvent mouseLocation];
-
- if (getLocal) {
- MacDrawable *macWin = (MacDrawable *) w;
- NSWindow *win = TkMacOSXDrawableWindow(w);
-
- if (win) {
- NSPoint local;
-
- local = [win tkConvertPointFromScreen:global];
- local.y = [win frame].size.height - local.y;
- if (macWin->winPtr && macWin->winPtr->wmInfoPtr) {
- local.x -= macWin->winPtr->wmInfoPtr->xInParent;
- local.y -= macWin->winPtr->wmInfoPtr->yInParent;
- }
- *win_x_return = local.x;
- *win_y_return = local.y;
- }
- }
- if (getGlobal) {
- *root_x_return = global.x;
- *root_y_return = tkMacOSXZeroScreenHeight - global.y;
- }
- }
- if (mask_return) {
- *mask_return = TkMacOSXButtonKeyState();
- }
- return True;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkGenerateButtonEventForXPointer --
- *
- * This procedure generates an X button event for the current pointer
- * state as reported by XQueryPointer().
- *
- * Results:
- * True if event(s) are generated - false otherwise.
- *
- * Side effects:
- * Additional events may be place on the Tk event queue. Grab state may
- * also change.
- *
- *----------------------------------------------------------------------
- */
-
-MODULE_SCOPE int
-TkGenerateButtonEventForXPointer(
- Window window) /* X Window containing button event. */
-{
- MouseEventData med;
- int global_x, global_y, local_x, local_y;
-
- bzero(&med, sizeof(MouseEventData));
- XQueryPointer(NULL, window, NULL, NULL, &global_x, &global_y,
- &local_x, &local_y, &med.state);
- med.global.h = global_x;
- med.global.v = global_y;
- med.local.h = local_x;
- med.local.v = local_y;
- med.window = window;
-
- return GenerateButtonEvent(&med);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkGenerateButtonEvent --
- *
- * Given a global x & y position and the button key status this procedure
- * generates the appropiate X button event. It also handles the state
- * changes needed to implement implicit grabs.
- *
- * Results:
- * True if event(s) are generated, false otherwise.
- *
- * Side effects:
- * Additional events may be place on the Tk event queue. Grab state may
- * also change.
- *
- *----------------------------------------------------------------------
- */
-
-int
-TkGenerateButtonEvent(
- int x, /* X location of mouse, */
- int y, /* Y location of mouse. */
- Window window, /* X Window containing button event. */
- unsigned int state) /* Button Key state suitable for X event. */
-{
- MacDrawable *macWin = (MacDrawable *) window;
- NSWindow *win = TkMacOSXDrawableWindow(window);
- MouseEventData med;
-
- bzero(&med, sizeof(MouseEventData));
- med.state = state;
- med.window = window;
- med.global.h = x;
- med.global.v = y;
- med.local = med.global;
-
- if (win) {
- NSPoint local = NSMakePoint(x, tkMacOSXZeroScreenHeight - y);
-
- local = [win tkConvertPointFromScreen:local];
- local.y = [win frame].size.height - local.y;
- if (macWin->winPtr && macWin->winPtr->wmInfoPtr) {
- local.x -= macWin->winPtr->wmInfoPtr->xInParent;
- local.y -= macWin->winPtr->wmInfoPtr->yInParent;
- }
- med.local.h = local.x;
- med.local.v = tkMacOSXZeroScreenHeight - local.y;
- }
-
- return GenerateButtonEvent(&med);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * GenerateButtonEvent --
- *
- * Generate an X button event from a MouseEventData structure. Handles
- * the state changes needed to implement implicit grabs.
- *
- * Results:
- * True if event(s) are generated - false otherwise.
- *
- * Side effects:
- * Additional events may be place on the Tk event queue. Grab state may
- * also change.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-GenerateButtonEvent(
- MouseEventData *medPtr)
-{
- Tk_Window tkwin;
- int dummy;
- TkDisplay *dispPtr;
-
-#if UNUSED
- /*
- * ButtonDown events will always occur in the front window. ButtonUp
- * events, however, may occur anywhere on the screen. ButtonUp events
- * should only be sent to Tk if in the front window or during an implicit
- * grab.
- */
-
- if ((medPtr->activeNonFloating == NULL)
- || ((!(TkpIsWindowFloating(medPtr->whichWin))
- && (medPtr->activeNonFloating != medPtr->whichWin))
- && TkMacOSXGetCapture() == NULL)) {
- return false;
- }
-#endif
-
- dispPtr = TkGetDisplayList();
- tkwin = Tk_IdToWindow(dispPtr->display, medPtr->window);
-
- if (tkwin != NULL) {
- tkwin = Tk_TopCoordsToWindow(tkwin, medPtr->local.h, medPtr->local.v,
- &dummy, &dummy);
- }
-
- Tk_UpdatePointer(tkwin, medPtr->global.h, medPtr->global.v, medPtr->state);
- return true;
-}
-
-void
-TkpWarpPointer(
- TkDisplay *dispPtr)
-{
- CGPoint pt;
- UInt32 buttonState;
-
- if (dispPtr->warpWindow) {
- int x, y;
-
- Tk_GetRootCoords(dispPtr->warpWindow, &x, &y);
- pt.x = x + dispPtr->warpX;
- pt.y = y + dispPtr->warpY;
- } else {
- pt.x = dispPtr->warpX;
- pt.y = dispPtr->warpY;
- }
-
- /*
- * Tell the OSX core to generate the events to make it happen.
- */
-
- buttonState = [NSEvent pressedMouseButtons];
- CGEventType type = kCGEventMouseMoved;
- CGEventRef theEvent = CGEventCreateMouseEvent(NULL,
- type,
- pt,
- buttonState);
- CGWarpMouseCursorPosition(pt);
- CGEventPost(kCGHIDEventTap, theEvent);
- CFRelease(theEvent);
-}
-
-/*
- * Local Variables:
- * mode: objc
- * c-basic-offset: 4
- * fill-column: 79
- * coding: utf-8
- * End:
- */
diff --git a/tk8.6/macosx/tkMacOSXNotify.c b/tk8.6/macosx/tkMacOSXNotify.c
deleted file mode 100644
index 7cbd248..0000000
--- a/tk8.6/macosx/tkMacOSXNotify.c
+++ /dev/null
@@ -1,395 +0,0 @@
-/*
- * tkMacOSXNotify.c --
- *
- * This file contains the implementation of a tcl event source
- * for the AppKit event loop.
- *
- * Copyright (c) 1995-1997 Sun Microsystems, Inc.
- * Copyright 2001-2009, Apple Inc.
- * Copyright (c) 2005-2009 Daniel A. Steffen <das@users.sourceforge.net>
- * Copyright 2015 Marc Culler.
- *
- * See the file "license.terms" for information on usage and redistribution
- * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
- */
-
-#include "tkMacOSXPrivate.h"
-#include "tkMacOSXEvent.h"
-#include "tkMacOSXConstants.h"
-#include <tclInt.h>
-#import <objc/objc-auto.h>
-
-/* This is not used for anything at the moment. */
-typedef struct ThreadSpecificData {
- int initialized;
-} ThreadSpecificData;
-static Tcl_ThreadDataKey dataKey;
-
-#define TSD_INIT() ThreadSpecificData *tsdPtr = \
- Tcl_GetThreadData(&dataKey, sizeof(ThreadSpecificData))
-
-static void TkMacOSXNotifyExitHandler(ClientData clientData);
-static void TkMacOSXEventsSetupProc(ClientData clientData, int flags);
-static void TkMacOSXEventsCheckProc(ClientData clientData, int flags);
-
-#ifdef TK_MAC_DEBUG_EVENTS
-static char* Tk_EventName[39] = {
- "",
- "",
- "KeyPress", /*2*/
- "KeyRelease", /*3*/
- "ButtonPress", /*4*/
- "ButtonRelease", /*5*/
- "MotionNotify", /*6*/
- "EnterNotify", /*7*/
- "LeaveNotify", /*8*/
- "FocusIn", /*9*/
- "FocusOut", /*10*/
- "KeymapNotify", /*11*/
- "Expose", /*12*/
- "GraphicsExpose", /*13*/
- "NoExpose", /*14*/
- "VisibilityNotify", /*15*/
- "CreateNotify", /*16*/
- "DestroyNotify", /*17*/
- "UnmapNotify", /*18*/
- "MapNotify", /*19*/
- "MapRequest", /*20*/
- "ReparentNotify", /*21*/
- "ConfigureNotify", /*22*/
- "ConfigureRequest", /*23*/
- "GravityNotify", /*24*/
- "ResizeRequest", /*25*/
- "CirculateNotify", /*26*/
- "CirculateRequest", /*27*/
- "PropertyNotify", /*28*/
- "SelectionClear", /*29*/
- "SelectionRequest", /*30*/
- "SelectionNotify", /*31*/
- "ColormapNotify", /*32*/
- "ClientMessage", /*33*/
- "MappingNotify", /*34*/
- "VirtualEvent", /*35*/
- "ActivateNotify", /*36*/
- "DeactivateNotify", /*37*/
- "MouseWheelEvent" /*38*/
-};
-
-static Tk_RestrictAction
-InspectQueueRestrictProc(
- ClientData arg,
- XEvent *eventPtr)
-{
- XVirtualEvent* ve = (XVirtualEvent*) eventPtr;
- const char *name;
- long serial = ve->serial;
- long time = eventPtr->xkey.time;
-
- if (eventPtr->type == VirtualEvent) {
- name = ve->name;
- } else {
- name = Tk_EventName[eventPtr->type];
- }
- fprintf(stderr, " > %s;serial = %lu; time=%lu)\n",
- name, serial, time);
- return TK_DEFER_EVENT;
-}
-
-/*
- * Debugging tool which prints the current Tcl queue.
- */
-
-void DebugPrintQueue(void)
-{
- ClientData oldArg;
- Tk_RestrictProc *oldProc;
-
- oldProc = Tk_RestrictEvents(InspectQueueRestrictProc, NULL, &oldArg);
- fprintf(stderr, "Current queue:\n");
- while (Tcl_DoOneEvent(TCL_ALL_EVENTS|TCL_DONT_WAIT)) {};
- Tk_RestrictEvents(oldProc, oldArg, &oldArg);
-}
-# endif
-
-#pragma mark TKApplication(TKNotify)
-
-@interface NSApplication(TKNotify)
-/* We need to declare this hidden method. */
-- (void) _modalSession: (NSModalSession) session sendEvent: (NSEvent *) event;
-@end
-
-@implementation TKApplication(TKNotify)
-/*
- * Earlier versions of Tk would override nextEventMatchingMask here, adding a
- * call to displayIfNeeded on all windows after calling super. This would cause
- * windows to be redisplayed (if necessary) each time that an event was
- * received. This was intended to replace Apple's default autoDisplay
- * mechanism, which the earlier versions of Tk would disable. When autoDisplay
- * is set to the default value of YES, the Apple event loop will call
- * displayIfNeeded on all windows at the beginning of each iteration of their
- * event loop. Since Tk does not call the Apple event loop, it was thought
- * that the autoDisplay behavior needed to be replicated.
- *
- * However, as of OSX 10.14 (Mojave) the autoDisplay property became
- * deprecated. Luckily it turns out that, even though we don't ever start the
- * Apple event loop, the Apple window manager still calls displayIfNeeded on
- * all windows on a regular basis, perhaps each time the queue is empty. So we
- * no longer, and perhaps never did need to set autoDisplay to NO, nor call
- * displayIfNeeded on our windows. We can just leave all of that to the window
- * manager.
- */
-
-/*
- * Call super then check the pasteboard.
- */
-- (void) sendEvent: (NSEvent *) theEvent
-{
- [super sendEvent:theEvent];
- [NSApp tkCheckPasteboard];
-#ifdef TK_MAC_DEBUG_EVENTS
- fprintf(stderr, "Sending event of type %d\n", (int)[theEvent type]);
- DebugPrintQueue();
-#endif
-}
-@end
-
-#pragma mark -
-
-/*
- *----------------------------------------------------------------------
- *
- * GetRunLoopMode --
- *
- * Results:
- * RunLoop mode that should be passed to -nextEventMatchingMask:
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-NSString *
-GetRunLoopMode(NSModalSession modalSession)
-{
- NSString *runLoopMode = nil;
-
- if (modalSession) {
- runLoopMode = NSModalPanelRunLoopMode;
- } else if (TkMacOSXGetCapture()) {
- runLoopMode = NSEventTrackingRunLoopMode;
- }
- if (!runLoopMode) {
- runLoopMode = [[NSRunLoop currentRunLoop] currentMode];
- }
- if (!runLoopMode) {
- runLoopMode = NSDefaultRunLoopMode;
- }
- return runLoopMode;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * Tk_MacOSXSetupTkNotifier --
- *
- * This procedure is called during Tk initialization to create
- * the event source for TkAqua events.
- *
- * Results:
- * None.
- *
- * Side effects:
- * A new event source is created.
- *
- *----------------------------------------------------------------------
- */
-
-void
-Tk_MacOSXSetupTkNotifier(void)
-{
- TSD_INIT();
-
- if (!tsdPtr->initialized) {
- tsdPtr->initialized = 1;
-
- /*
- * Install TkAqua event source in main event loop thread.
- */
-
- if (CFRunLoopGetMain() == CFRunLoopGetCurrent()) {
- if (![NSThread isMainThread]) {
- /*
- * Panic if main runloop is not on the main application thread.
- */
-
- Tcl_Panic("Tk_MacOSXSetupTkNotifier: %s",
- "first [load] of TkAqua has to occur in the main thread!");
- }
- Tcl_CreateEventSource(TkMacOSXEventsSetupProc,
- TkMacOSXEventsCheckProc,
- NULL);
- TkCreateExitHandler(TkMacOSXNotifyExitHandler, NULL);
- Tcl_SetServiceMode(TCL_SERVICE_ALL);
- TclMacOSXNotifierAddRunLoopMode(NSEventTrackingRunLoopMode);
- TclMacOSXNotifierAddRunLoopMode(NSModalPanelRunLoopMode);
- }
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXNotifyExitHandler --
- *
- * This function is called during finalization to clean up the
- * TkMacOSXNotify module.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-static void
-TkMacOSXNotifyExitHandler(
- ClientData clientData) /* Not used. */
-{
- TSD_INIT();
-
- Tcl_DeleteEventSource(TkMacOSXEventsSetupProc,
- TkMacOSXEventsCheckProc,
- NULL);
- tsdPtr->initialized = 0;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXEventsSetupProc --
- *
- * This procedure implements the setup part of the MacOSX event
- * source. It is invoked by Tcl_DoOneEvent before calling
- * TkMacOSXEventsProc to process all queued NSEvents. In our
- * case, all we need to do is to set the Tcl MaxBlockTime to
- * 0 before starting the loop to process all queued NSEvents.
- *
- * Results:
- * None.
- *
- * Side effects:
- *
- * If NSEvents are queued, then the maximum block time will be set
- * to 0 to ensure that control returns immediately to Tcl.
- *
- *----------------------------------------------------------------------
- */
-
-static void
-TkMacOSXEventsSetupProc(
- ClientData clientData,
- int flags)
-{
- NSString *runloopMode = [[NSRunLoop currentRunLoop] currentMode];
- /* runloopMode will be nil if we are in a Tcl event loop. */
- if (flags & TCL_WINDOW_EVENTS && !runloopMode) {
- static const Tcl_Time zeroBlockTime = { 0, 0 };
- [NSApp _resetAutoreleasePool];
- /* Call this with dequeue=NO -- just checking if the queue is empty. */
- NSEvent *currentEvent = [NSApp nextEventMatchingMask:NSAnyEventMask
- untilDate:[NSDate distantPast]
- inMode:GetRunLoopMode(TkMacOSXGetModalSession())
- dequeue:NO];
- if (currentEvent) {
- if (currentEvent.type > 0) {
- Tcl_SetMaxBlockTime(&zeroBlockTime);
- }
- }
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXEventsCheckProc --
- *
- * This procedure loops through all NSEvents waiting in the
- * TKApplication event queue, generating X events from them.
- *
- * Results:
- * None.
- *
- * Side effects:
- * NSevents are used to generate X events, which are added to the
- * Tcl event queue.
- *
- *----------------------------------------------------------------------
- */
-static void
-TkMacOSXEventsCheckProc(
- ClientData clientData,
- int flags)
-{
- NSString *runloopMode = [[NSRunLoop currentRunLoop] currentMode];
- /* runloopMode will be nil if we are in a Tcl event loop. */
- if (flags & TCL_WINDOW_EVENTS && !runloopMode) {
- NSEvent *currentEvent = nil;
- NSEvent *testEvent = nil;
- NSModalSession modalSession;
- /* It is possible for the SetupProc to be called before this function
- * returns. This happens, for example, when we process an event which
- * opens a modal window. To prevent premature release of our
- * application-wide autorelease pool by a nested call to the SetupProc,
- * we must lock it here.
- */
- [NSApp _lockAutoreleasePool];
- do {
- modalSession = TkMacOSXGetModalSession();
- testEvent = [NSApp nextEventMatchingMask:NSAnyEventMask
- untilDate:[NSDate distantPast]
- inMode:GetRunLoopMode(modalSession)
- dequeue:NO];
- /* We must not steal any events during LiveResize. */
- if (testEvent && [[testEvent window] inLiveResize]) {
- break;
- }
- currentEvent = [NSApp nextEventMatchingMask:NSAnyEventMask
- untilDate:[NSDate distantPast]
- inMode:GetRunLoopMode(modalSession)
- dequeue:YES];
- if (currentEvent) {
- /* Generate Xevents. */
- int oldServiceMode = Tcl_SetServiceMode(TCL_SERVICE_ALL);
- NSEvent *processedEvent = [NSApp tkProcessEvent:currentEvent];
- Tcl_SetServiceMode(oldServiceMode);
- if (processedEvent) { /* Should always be non-NULL. */
-#ifdef TK_MAC_DEBUG_EVENTS
- TKLog(@" event: %@", currentEvent);
-#endif
- if (modalSession) {
- [NSApp _modalSession:modalSession sendEvent:currentEvent];
- } else {
- [NSApp sendEvent:currentEvent];
- }
- }
- } else {
- break;
- }
- } while (1);
- /* Now we can unlock the pool. */
- [NSApp _unlockAutoreleasePool];
- }
-}
-
-
-/*
- * Local Variables:
- * mode: objc
- * c-basic-offset: 4
- * fill-column: 79
- * coding: utf-8
- * End:
- */
diff --git a/tk8.6/macosx/tkMacOSXPort.h b/tk8.6/macosx/tkMacOSXPort.h
deleted file mode 100644
index bd48bd5..0000000
--- a/tk8.6/macosx/tkMacOSXPort.h
+++ /dev/null
@@ -1,177 +0,0 @@
-/*
- * tkMacOSXPort.h --
- *
- * This file is included by all of the Tk C files. It contains
- * information that may be configuration-dependent, such as
- * #includes for system include files and a few other things.
- *
- * Copyright (c) 1994-1996 Sun Microsystems, Inc.
- * Copyright 2001-2009, Apple Inc.
- * Copyright (c) 2005-2009 Daniel A. Steffen <das@users.sourceforge.net>
- *
- * See the file "license.terms" for information on usage and redistribution
- * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
- */
-
-#ifndef _TKMACPORT
-#define _TKMACPORT
-
-#include <stdio.h>
-#include <ctype.h>
-#include <fcntl.h>
-#include <limits.h>
-#include <math.h>
-#include <pwd.h>
-#include <stdlib.h>
-#include <string.h>
-#include <sys/types.h>
-#include <sys/file.h>
-#ifdef HAVE_SYS_SELECT_H
-# include <sys/select.h>
-#endif
-#include <sys/stat.h>
-#ifndef _TCL
-# include <tcl.h>
-#endif
-#if TIME_WITH_SYS_TIME
-# include <sys/time.h>
-# include <time.h>
-#else
-# if HAVE_SYS_TIME_H
-# include <sys/time.h>
-# else
-# include <time.h>
-# endif
-#endif
-#if HAVE_INTTYPES_H
-# include <inttypes.h>
-#endif
-#include <unistd.h>
-#include <X11/Xlib.h>
-#include <X11/cursorfont.h>
-#include <X11/keysym.h>
-#include <X11/Xatom.h>
-#include <X11/Xfuncproto.h>
-#include <X11/Xutil.h>
-
-/*
- * The following macro defines the type of the mask arguments to
- * select:
- */
-
-#ifndef NO_FD_SET
-# define SELECT_MASK fd_set
-#else
-# ifndef _AIX
- typedef long fd_mask;
-# endif
-# if defined(_IBMR2)
-# define SELECT_MASK void
-# else
-# define SELECT_MASK int
-# endif
-#endif
-
-/*
- * The following macro defines the number of fd_masks in an fd_set:
- */
-
-#ifndef FD_SETSIZE
-# ifdef OPEN_MAX
-# define FD_SETSIZE OPEN_MAX
-# else
-# define FD_SETSIZE 256
-# endif
-#endif
-#if !defined(howmany)
-# define howmany(x, y) (((x)+((y)-1))/(y))
-#endif
-#ifndef NFDBITS
-# define NFDBITS NBBY*sizeof(fd_mask)
-#endif
-#define MASK_SIZE howmany(FD_SETSIZE, NFDBITS)
-
-/*
- * Define "NBBY" (number of bits per byte) if it's not already defined.
- */
-
-#ifndef NBBY
-# define NBBY 8
-#endif
-
-/*
- * The following define causes Tk to use its internal keysym hash table
- */
-
-#define REDO_KEYSYM_LOOKUP
-
-/*
- * Defines for X functions that are used by Tk but are treated as
- * no-op functions on the Macintosh.
- */
-
-#define XFlush(display)
-#define XFree(data) {if ((data) != NULL) ckfree(data);}
-#define XGrabServer(display)
-#define XNoOp(display) {display->request++;}
-#define XUngrabServer(display)
-#define XSynchronize(display, bool) {display->request++;}
-#define XVisualIDFromVisual(visual) (visual->visualid)
-
-/*
- * The following functions are not used on the Mac, so we stub them out.
- */
-
-#define TkpCmapStressed(tkwin,colormap) (0)
-#define TkpFreeColor(tkColPtr)
-#define TkSetPixmapColormap(p,c) {}
-#define TkpSync(display)
-
-/*
- * The following macro returns the pixel value that corresponds to the
- * RGB values in the given XColor structure.
- */
-
-#define PIXEL_MAGIC ((unsigned char) 0x69)
-#define TkpGetPixel(p) ((((((PIXEL_MAGIC << 8) \
- | (((p)->red >> 8) & 0xff)) << 8) \
- | (((p)->green >> 8) & 0xff)) << 8) \
- | (((p)->blue >> 8) & 0xff))
-
-/*
- * This macro stores a representation of the window handle in a string.
- */
-
-#define TkpPrintWindowId(buf,w) \
- sprintf((buf), "0x%lx", (unsigned long) (w))
-
-/*
- * Turn off Tk double-buffering as Aqua windows are already double-buffered.
- */
-
-#define TK_NO_DOUBLE_BUFFERING 1
-
-/*
- * Magic pixel code values for system colors.
- *
- * NOTE: values must be kept in sync with indices into the
- * systemColorMap array in tkMacOSXColor.c !
- */
-
-#define TRANSPARENT_PIXEL 30
-#define HIGHLIGHT_PIXEL 31
-#define HIGHLIGHT_SECONDARY_PIXEL 32
-#define HIGHLIGHT_TEXT_PIXEL 33
-#define HIGHLIGHT_ALTERNATE_PIXEL 34
-#define CONTROL_TEXT_PIXEL 35
-#define CONTROL_BODY_PIXEL 37
-#define CONTROL_FRAME_PIXEL 39
-#define WINDOW_BODY_PIXEL 41
-#define MENU_ACTIVE_PIXEL 43
-#define MENU_ACTIVE_TEXT_PIXEL 45
-#define MENU_BACKGROUND_PIXEL 47
-#define MENU_DISABLED_PIXEL 49
-#define MENU_TEXT_PIXEL 51
-#define APPEARANCE_PIXEL 52
-
-#endif /* _TKMACPORT */
diff --git a/tk8.6/macosx/tkMacOSXPrivate.h b/tk8.6/macosx/tkMacOSXPrivate.h
deleted file mode 100644
index d804ca0..0000000
--- a/tk8.6/macosx/tkMacOSXPrivate.h
+++ /dev/null
@@ -1,381 +0,0 @@
-/*
- * tkMacOSXPrivate.h --
- *
- * Macros and declarations that are purely internal & private to TkAqua.
- *
- * Copyright (c) 2005-2009 Daniel A. Steffen <das@users.sourceforge.net>
- * Copyright 2008-2009, Apple Inc.
- *
- * See the file "license.terms" for information on usage and redistribution
- * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
- *
- * RCS: @(#) $Id$
- */
-
-#ifndef _TKMACPRIV
-#define _TKMACPRIV
-
-#if !__OBJC__
-#error Objective-C compiler required
-#endif
-
-#define TextStyle MacTextStyle
-#import <ApplicationServices/ApplicationServices.h>
-#import <Cocoa/Cocoa.h>
-#ifndef NO_CARBON_H
-#import <Carbon/Carbon.h>
-#endif
-#undef TextStyle
-#import <objc/runtime.h> /* for sel_isEqual() */
-
-#ifndef _TKMACINT
-#include "tkMacOSXInt.h"
-#endif
-#ifndef _TKMACDEFAULT
-#include "tkMacOSXDefault.h"
-#endif
-
-/* Macros for Mac OS X API availability checking */
-#define TK_IF_MAC_OS_X_API(vers, symbol, ...) \
- tk_if_mac_os_x_10_##vers(symbol != NULL, 1, __VA_ARGS__)
-#define TK_ELSE_MAC_OS_X(vers, ...) \
- tk_else_mac_os_x_10_##vers(__VA_ARGS__)
-#define TK_IF_MAC_OS_X_API_COND(vers, symbol, cond, ...) \
- tk_if_mac_os_x_10_##vers(symbol != NULL, cond, __VA_ARGS__)
-#define TK_ELSE(...) \
- } else { __VA_ARGS__
-#define TK_ENDIF \
- }
-/* Private macros that implement the checking macros above */
-#define tk_if_mac_os_x_yes(chk, cond, ...) \
- if (cond) { __VA_ARGS__
-#define tk_else_mac_os_x_yes(...) \
- } else {
-#define tk_if_mac_os_x_chk(chk, cond, ...) \
- if ((chk) && (cond)) { __VA_ARGS__
-#define tk_else_mac_os_x_chk(...) \
- } else { __VA_ARGS__
-#define tk_if_mac_os_x_no(chk, cond, ...) \
- if (0) {
-#define tk_else_mac_os_x_no(...) \
- } else { __VA_ARGS__
-
-/*
- * Macros for DEBUG_ASSERT_MESSAGE et al from Debugging.h.
- */
-
-#undef kComponentSignatureString
-#undef COMPONENT_SIGNATURE
-#define kComponentSignatureString "TkMacOSX"
-#define COMPONENT_SIGNATURE 'Tk '
-
-/*
- * Macros abstracting checks only active in a debug build.
- */
-
-#ifdef TK_MAC_DEBUG
-#define TKLog(f, ...) NSLog(f, ##__VA_ARGS__)
-
-/*
- * Macro to do debug message output.
- */
-#define TkMacOSXDbgMsg(m, ...) \
- do { \
- TKLog(@"%s:%d: %s(): " m, strrchr(__FILE__, '/')+1, \
- __LINE__, __func__, ##__VA_ARGS__); \
- } while (0)
-
-/*
- * Macro to do debug API failure message output.
- */
-#define TkMacOSXDbgOSErr(f, err) \
- do { \
- TkMacOSXDbgMsg("%s failed: %d", #f, (int)(err)); \
- } while (0)
-
-/*
- * Macro to do very common check for noErr return from given API and output
- * debug message in case of failure.
- */
-#define ChkErr(f, ...) ({ \
- OSStatus err = f(__VA_ARGS__); \
- if (err != noErr) { \
- TkMacOSXDbgOSErr(f, err); \
- } \
- err;})
-
-#else /* TK_MAC_DEBUG */
-#define TKLog(f, ...)
-#define TkMacOSXDbgMsg(m, ...)
-#define TkMacOSXDbgOSErr(f, err)
-#define ChkErr(f, ...) ({f(__VA_ARGS__);})
-#endif /* TK_MAC_DEBUG */
-
-/*
- * Macro abstracting use of TkMacOSXGetNamedSymbol to init named symbols.
- */
-
-#define TkMacOSXInitNamedSymbol(module, ret, symbol, ...) \
- static ret (* symbol)(__VA_ARGS__) = (void*)(-1L); \
- if (symbol == (void*)(-1L)) { \
- symbol = TkMacOSXGetNamedSymbol(STRINGIFY(module), \
- STRINGIFY(symbol)); \
- }
-
-/*
- * Structure encapsulating current drawing environment.
- */
-
-typedef struct TkMacOSXDrawingContext {
- CGContextRef context;
- NSView *view;
- HIShapeRef clipRgn;
- CGRect portBounds;
-} TkMacOSXDrawingContext;
-
-/*
- * Variables internal to TkAqua.
- */
-
-MODULE_SCOPE CGFloat tkMacOSXZeroScreenHeight;
-MODULE_SCOPE CGFloat tkMacOSXZeroScreenTop;
-MODULE_SCOPE long tkMacOSXMacOSXVersion;
-
-/*
- * Prototypes for TkMacOSXRegion.c.
- */
-
-#if 0
-MODULE_SCOPE void TkMacOSXEmtpyRegion(TkRegion r);
-MODULE_SCOPE int TkMacOSXIsEmptyRegion(TkRegion r);
-#endif
-MODULE_SCOPE HIShapeRef TkMacOSXGetNativeRegion(TkRegion r);
-MODULE_SCOPE void TkMacOSXSetWithNativeRegion(TkRegion r,
- HIShapeRef rgn);
-MODULE_SCOPE void TkMacOSXOffsetRegion(TkRegion r, short dx, short dy);
-MODULE_SCOPE HIShapeRef TkMacOSXHIShapeCreateEmpty(void);
-MODULE_SCOPE HIMutableShapeRef TkMacOSXHIShapeCreateMutableWithRect(
- const CGRect *inRect);
-MODULE_SCOPE OSStatus TkMacOSXHIShapeSetWithShape(
- HIMutableShapeRef inDestShape,
- HIShapeRef inSrcShape);
-#if 0
-MODULE_SCOPE OSStatus TkMacOSXHIShapeSetWithRect(HIMutableShapeRef inShape,
- const CGRect *inRect);
-#endif
-MODULE_SCOPE OSStatus TkMacOSHIShapeDifferenceWithRect(
- HIMutableShapeRef inShape, const CGRect *inRect);
-MODULE_SCOPE OSStatus TkMacOSHIShapeUnionWithRect(HIMutableShapeRef inShape,
- const CGRect *inRect);
-MODULE_SCOPE OSStatus TkMacOSHIShapeUnion(HIShapeRef inShape1,
- HIShapeRef inShape2, HIMutableShapeRef outResult);
-
-/*
- * Prototypes of TkAqua internal procs.
- */
-
-MODULE_SCOPE void * TkMacOSXGetNamedSymbol(const char *module,
- const char *symbol);
-MODULE_SCOPE void TkMacOSXDisplayChanged(Display *display);
-MODULE_SCOPE int TkMacOSXUseAntialiasedText(Tcl_Interp *interp,
- int enable);
-MODULE_SCOPE int TkMacOSXInitCGDrawing(Tcl_Interp *interp, int enable,
- int antiAlias);
-MODULE_SCOPE int TkMacOSXGenerateFocusEvent(TkWindow *winPtr,
- int activeFlag);
-MODULE_SCOPE WindowClass TkMacOSXWindowClass(TkWindow *winPtr);
-MODULE_SCOPE int TkMacOSXIsWindowZoomed(TkWindow *winPtr);
-MODULE_SCOPE int TkGenerateButtonEventForXPointer(Window window);
-MODULE_SCOPE EventModifiers TkMacOSXModifierState(void);
-MODULE_SCOPE NSBitmapImageRep* TkMacOSXBitmapRepFromDrawableRect(Drawable drawable,
- int x, int y, unsigned int width, unsigned int height);
-MODULE_SCOPE CGImageRef TkMacOSXCreateCGImageWithXImage(XImage *image);
-MODULE_SCOPE void TkMacOSXDrawCGImage(Drawable d, GC gc, CGContextRef context,
- CGImageRef image, unsigned long imageForeground,
- unsigned long imageBackground, CGRect imageBounds,
- CGRect srcBounds, CGRect dstBounds);
-MODULE_SCOPE int TkMacOSXSetupDrawingContext(Drawable d, GC gc,
- int useCG, TkMacOSXDrawingContext *dcPtr);
-MODULE_SCOPE void TkMacOSXRestoreDrawingContext(
- TkMacOSXDrawingContext *dcPtr);
-MODULE_SCOPE void TkMacOSXSetColorInContext(GC gc, unsigned long pixel,
- CGContextRef context);
-MODULE_SCOPE int TkMacOSXMakeFullscreen(TkWindow *winPtr,
- NSWindow *window, int fullscreen,
- Tcl_Interp *interp);
-MODULE_SCOPE void TkMacOSXEnterExitFullscreen(TkWindow *winPtr,
- int active);
-MODULE_SCOPE NSWindow* TkMacOSXDrawableWindow(Drawable drawable);
-MODULE_SCOPE NSView* TkMacOSXDrawableView(MacDrawable *macWin);
-MODULE_SCOPE void TkMacOSXWinCGBounds(TkWindow *winPtr, CGRect *bounds);
-MODULE_SCOPE HIShapeRef TkMacOSXGetClipRgn(Drawable drawable);
-MODULE_SCOPE void TkMacOSXInvalidateViewRegion(NSView *view,
- HIShapeRef rgn);
-MODULE_SCOPE CGContextRef TkMacOSXGetCGContextForDrawable(Drawable drawable);
-MODULE_SCOPE CGImageRef TkMacOSXCreateCGImageWithDrawable(Drawable drawable);
-MODULE_SCOPE NSImage* TkMacOSXGetNSImageWithTkImage(Display *display,
- Tk_Image image, int width, int height);
-MODULE_SCOPE NSImage* TkMacOSXGetNSImageWithBitmap(Display *display,
- Pixmap bitmap, GC gc, int width, int height);
-MODULE_SCOPE CGColorRef TkMacOSXCreateCGColor(GC gc, unsigned long pixel);
-MODULE_SCOPE NSColor* TkMacOSXGetNSColor(GC gc, unsigned long pixel);
-MODULE_SCOPE Tcl_Obj * TkMacOSXGetStringObjFromCFString(CFStringRef str);
-MODULE_SCOPE TkWindow* TkMacOSXGetTkWindow(NSWindow *w);
-MODULE_SCOPE NSFont* TkMacOSXNSFontForFont(Tk_Font tkfont);
-MODULE_SCOPE NSDictionary* TkMacOSXNSFontAttributesForFont(Tk_Font tkfont);
-MODULE_SCOPE NSModalSession TkMacOSXGetModalSession(void);
-MODULE_SCOPE void TkMacOSXSelDeadWindow(TkWindow *winPtr);
-MODULE_SCOPE void TkMacOSXApplyWindowAttributes(TkWindow *winPtr,
- NSWindow *macWindow);
-MODULE_SCOPE int TkMacOSXStandardAboutPanelObjCmd(ClientData clientData,
- Tcl_Interp *interp, int objc,
- Tcl_Obj *const objv[]);
-MODULE_SCOPE int TkMacOSXIconBitmapObjCmd(ClientData clientData,
- Tcl_Interp *interp, int objc,
- Tcl_Obj *const objv[]);
-
-#pragma mark Private Objective-C Classes
-
-#define VISIBILITY_HIDDEN __attribute__((visibility("hidden")))
-
-enum { tkMainMenu = 1, tkApplicationMenu, tkWindowsMenu, tkHelpMenu};
-
-VISIBILITY_HIDDEN
-@interface TKMenu : NSMenu {
-@private
- void *_tkMenu;
- NSUInteger _tkOffset, _tkItemCount, _tkSpecial;
-}
-- (void)setSpecial:(NSUInteger)special;
-- (BOOL)isSpecial:(NSUInteger)special;
-@end
-
-VISIBILITY_HIDDEN
-@interface TKApplication : NSApplication {
-@private
- Tcl_Interp *_eventInterp;
- NSMenu *_servicesMenu;
- TKMenu *_defaultMainMenu, *_defaultApplicationMenu;
- NSArray *_defaultApplicationMenuItems, *_defaultWindowsMenuItems;
- NSArray *_defaultHelpMenuItems;
- NSWindow *_windowWithMouse;
- NSAutoreleasePool *_mainPool;
-#ifdef __i386__
- /* The Objective C runtime used on i386 requires this. */
- int _poolLock;
- int _macMinorVersion;
- Bool _isDrawing;
- Bool _simulateDrawing;
-#endif
-}
-@property int poolLock;
-@property int macMinorVersion;
-@property Bool isDrawing;
-@property Bool simulateDrawing;
-
-@end
-@interface TKApplication(TKInit)
-- (NSString *)tkFrameworkImagePath:(NSString*)image;
-- (void)_resetAutoreleasePool;
-- (void)_lockAutoreleasePool;
-- (void)_unlockAutoreleasePool;
-@end
-@interface TKApplication(TKEvent)
-- (NSEvent *)tkProcessEvent:(NSEvent *)theEvent;
-@end
-@interface TKApplication(TKMouseEvent)
-- (NSEvent *)tkProcessMouseEvent:(NSEvent *)theEvent;
-@end
-@interface TKApplication(TKKeyEvent)
-- (NSEvent *)tkProcessKeyEvent:(NSEvent *)theEvent;
-@end
-@interface TKApplication(TKMenu)
-- (void)tkSetMainMenu:(TKMenu *)menu;
-@end
-@interface TKApplication(TKClipboard)
-- (void)tkProvidePasteboard:(TkDisplay *)dispPtr;
-- (void)tkCheckPasteboard;
-@end
-@interface TKApplication(TKHLEvents)
-- (void) terminate: (id) sender;
-- (void) preferences: (id) sender;
-- (void) handleQuitApplicationEvent: (NSAppleEventDescriptor *)event
- withReplyEvent: (NSAppleEventDescriptor *)replyEvent;
-- (void) handleOpenApplicationEvent: (NSAppleEventDescriptor *)event
- withReplyEvent: (NSAppleEventDescriptor *)replyEvent;
-- (void) handleReopenApplicationEvent: (NSAppleEventDescriptor *)event
- withReplyEvent: (NSAppleEventDescriptor *)replyEvent;
-- (void) handleShowPreferencesEvent: (NSAppleEventDescriptor *)event
- withReplyEvent: (NSAppleEventDescriptor *)replyEvent;
-- (void) handleOpenDocumentsEvent: (NSAppleEventDescriptor *)event
- withReplyEvent: (NSAppleEventDescriptor *)replyEvent;
-- (void) handlePrintDocumentsEvent: (NSAppleEventDescriptor *)event
- withReplyEvent: (NSAppleEventDescriptor *)replyEvent;
-- (void) handleDoScriptEvent: (NSAppleEventDescriptor *)event
- withReplyEvent: (NSAppleEventDescriptor *)replyEvent;
-@end
-
-VISIBILITY_HIDDEN
-@interface TKContentView : NSView <NSTextInput> {
-@private
- /*Remove private API calls.*/
-#if 0
- id _savedSubviews;
- BOOL _subviewsSetAside;
-#endif
- NSString *privateWorkingText;
-}
-@end
-
-@interface TKContentView(TKKeyEvent)
-- (void) deleteWorkingText;
-@end
-
-@interface TKContentView(TKWindowEvent)
-- (void) drawRect: (NSRect) rect;
-- (void) generateExposeEvents: (HIShapeRef) shape;
-- (void) tkToolbarButton: (id) sender;
-- (BOOL) isOpaque;
-- (BOOL) wantsDefaultClipping;
-- (BOOL) acceptsFirstResponder;
-- (void) keyDown: (NSEvent *) theEvent;
-@end
-
-VISIBILITY_HIDDEN
-@interface TKWindow : NSWindow
-@end
-
-@interface NSWindow(TKWm)
-- (NSPoint) tkConvertPointToScreen:(NSPoint)point;
-- (NSPoint) tkConvertPointFromScreen:(NSPoint)point;
-@end
-
-#pragma mark NSMenu & NSMenuItem Utilities
-
-@interface NSMenu(TKUtils)
-+ (id)menuWithTitle:(NSString *)title;
-+ (id)menuWithTitle:(NSString *)title menuItems:(NSArray *)items;
-+ (id)menuWithTitle:(NSString *)title submenus:(NSArray *)submenus;
-- (NSMenuItem *)itemWithSubmenu:(NSMenu *)submenu;
-- (NSMenuItem *)itemInSupermenu;
-@end
-
-@interface NSMenuItem(TKUtils)
-+ (id)itemWithSubmenu:(NSMenu *)submenu;
-+ (id)itemWithTitle:(NSString *)title submenu:(NSMenu *)submenu;
-+ (id)itemWithTitle:(NSString *)title action:(SEL)action;
-+ (id)itemWithTitle:(NSString *)title action:(SEL)action
- target:(id)target;
-+ (id)itemWithTitle:(NSString *)title action:(SEL)action
- keyEquivalent:(NSString *)keyEquivalent;
-+ (id)itemWithTitle:(NSString *)title action:(SEL)action
- target:(id)target keyEquivalent:(NSString *)keyEquivalent;
-+ (id)itemWithTitle:(NSString *)title action:(SEL)action
- keyEquivalent:(NSString *)keyEquivalent
- keyEquivalentModifierMask:(NSUInteger)keyEquivalentModifierMask;
-+ (id)itemWithTitle:(NSString *)title action:(SEL)action
- target:(id)target keyEquivalent:(NSString *)keyEquivalent
- keyEquivalentModifierMask:(NSUInteger)keyEquivalentModifierMask;
-@end
-
-#endif /* _TKMACPRIV */
diff --git a/tk8.6/macosx/tkMacOSXRegion.c b/tk8.6/macosx/tkMacOSXRegion.c
deleted file mode 100644
index 0f2a74a..0000000
--- a/tk8.6/macosx/tkMacOSXRegion.c
+++ /dev/null
@@ -1,559 +0,0 @@
-/*
- * tkMacOSXRegion.c --
- *
- * Implements X window calls for manipulating regions
- *
- * Copyright (c) 1995-1996 Sun Microsystems, Inc.
- * Copyright 2001-2009, Apple Inc.
- * Copyright (c) 2006-2009 Daniel A. Steffen <das@users.sourceforge.net>
- *
- * See the file "license.terms" for information on usage and redistribution
- * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
- */
-
-#include "tkMacOSXPrivate.h"
-
-
-/*
- *----------------------------------------------------------------------
- *
- * TkCreateRegion --
- *
- * Implements the equivelent of the X window function XCreateRegion. See
- * Xwindow documentation for more details.
- *
- * Results:
- * Returns an allocated region handle.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-TkRegion
-TkCreateRegion(void)
-{
- return (TkRegion) HIShapeCreateMutable();
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkDestroyRegion --
- *
- * Implements the equivelent of the X window function XDestroyRegion. See
- * Xwindow documentation for more details.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Memory is freed.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkDestroyRegion(
- TkRegion r)
-{
- if (r) {
- CFRelease(r);
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkIntersectRegion --
- *
- * Implements the equivalent of the X window function XIntersectRegion.
- * See Xwindow documentation for more details.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkIntersectRegion(
- TkRegion sra,
- TkRegion srb,
- TkRegion dr_return)
-{
- ChkErr(HIShapeIntersect, (HIShapeRef) sra, (HIShapeRef) srb,
- (HIMutableShapeRef) dr_return);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkSubtractRegion --
- *
- * Implements the equivalent of the X window function XSubtractRegion.
- * See X window documentation for more details.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkSubtractRegion(
- TkRegion sra,
- TkRegion srb,
- TkRegion dr_return)
-{
- ChkErr(HIShapeDifference, (HIShapeRef) sra, (HIShapeRef) srb,
- (HIMutableShapeRef) dr_return);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkUnionRectWithRegion --
- *
- * Implements the equivelent of the X window function
- * XUnionRectWithRegion. See Xwindow documentation for more details.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkUnionRectWithRegion(
- XRectangle* rectangle,
- TkRegion src_region,
- TkRegion dest_region_return)
-{
- const CGRect r = CGRectMake(rectangle->x, rectangle->y,
- rectangle->width, rectangle->height);
-
- if (src_region == dest_region_return) {
- ChkErr(TkMacOSHIShapeUnionWithRect,
- (HIMutableShapeRef) dest_region_return, &r);
- } else {
- HIShapeRef rectRgn = HIShapeCreateWithRect(&r);
-
- ChkErr(TkMacOSHIShapeUnion, rectRgn, (HIShapeRef) src_region,
- (HIMutableShapeRef) dest_region_return);
- CFRelease(rectRgn);
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXIsEmptyRegion --
- *
- * Return native region for given tk region.
- *
- * Results:
- * 1 if empty, 0 otherwise.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-int
-TkMacOSXIsEmptyRegion(
- TkRegion r)
-{
- return HIShapeIsEmpty((HIMutableShapeRef) r) ? 1 : 0;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkRectInRegion --
- *
- * Implements the equivelent of the X window function XRectInRegion. See
- * Xwindow documentation for more details.
- *
- * Results:
- * Returns RectanglePart or RectangleOut. Note that this is not a
- * complete implementation since it doesn't test for RectangleIn.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-int
-TkRectInRegion(
- TkRegion region,
- int x,
- int y,
- unsigned int width,
- unsigned int height)
-{
- if ( TkMacOSXIsEmptyRegion(region) ) {
- return RectangleOut;
- }
- else {
- const CGRect r = CGRectMake(x, y, width, height);
- return HIShapeIntersectsRect((HIShapeRef) region, &r) ?
- RectanglePart : RectangleOut;
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkClipBox --
- *
- * Implements the equivelent of the X window function XClipBox. See
- * Xwindow documentation for more details.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkClipBox(
- TkRegion r,
- XRectangle* rect_return)
-{
- CGRect rect;
-
- HIShapeGetBounds((HIShapeRef) r, &rect);
- rect_return->x = rect.origin.x;
- rect_return->y = rect.origin.y;
- rect_return->width = rect.size.width;
- rect_return->height = rect.size.height;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpBuildRegionFromAlphaData --
- *
- * Set up a rectangle of the given region based on the supplied alpha
- * data.
- *
- * Results:
- * None
- *
- * Side effects:
- * The region is updated, with extra pixels added to it.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpBuildRegionFromAlphaData(
- TkRegion region, /* Region to update. */
- unsigned int x, /* Where in region to update. */
- unsigned int y, /* Where in region to update. */
- unsigned int width, /* Size of rectangle to update. */
- unsigned int height, /* Size of rectangle to update. */
- unsigned char *dataPtr, /* Data to read from. */
- unsigned int pixelStride, /* num bytes from one piece of alpha
- * data to the next in the line. */
- unsigned int lineStride) /* num bytes from one line of alpha
- * data to the next line. */
-{
- unsigned char *lineDataPtr;
- unsigned int x1, y1, end;
- XRectangle rect;
-
- for (y1 = 0; y1 < height; y1++) {
- lineDataPtr = dataPtr;
- for (x1 = 0; x1 < width; x1 = end) {
- /*
- * Search for first non-transparent pixel.
- */
-
- while ((x1 < width) && !*lineDataPtr) {
- x1++;
- lineDataPtr += pixelStride;
- }
- end = x1;
-
- /*
- * Search for first transparent pixel.
- */
-
- while ((end < width) && *lineDataPtr) {
- end++;
- lineDataPtr += pixelStride;
- }
- if (end > x1) {
- rect.x = x + x1;
- rect.y = y + y1;
- rect.width = end - x1;
- rect.height = 1;
- TkUnionRectWithRegion(&rect, region, region);
- }
- }
- dataPtr += lineStride;
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpRetainRegion --
- *
- * Increases reference count of region.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpRetainRegion(
- TkRegion r)
-{
- CFRetain(r);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpReleaseRegion --
- *
- * Decreases reference count of region.
- *
- * Results:
- * None.
- *
- * Side effects:
- * May free memory.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpReleaseRegion(
- TkRegion r)
-{
- CFRelease(r);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXSetEmptyRegion --
- *
- * Set region to emtpy.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkMacOSXSetEmptyRegion(
- TkRegion r)
-{
- ChkErr(HIShapeSetEmpty, (HIMutableShapeRef) r);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXGetNativeRegion --
- *
- * Return native region for given tk region.
- *
- * Results:
- * Native region, CFRelease when done.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-HIShapeRef
-TkMacOSXGetNativeRegion(
- TkRegion r)
-{
- return (HIShapeRef) CFRetain(r);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXSetWithNativeRegion --
- *
- * Set region to the native region.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkMacOSXSetWithNativeRegion(
- TkRegion r,
- HIShapeRef rgn)
-{
- ChkErr(TkMacOSXHIShapeSetWithShape, (HIMutableShapeRef) r, rgn);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXOffsetRegion --
- *
- * Offsets region by given distances.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkMacOSXOffsetRegion(
- TkRegion r,
- short dx,
- short dy)
-{
- ChkErr(HIShapeOffset, (HIMutableShapeRef) r, dx, dy);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXHIShapeCreateEmpty, TkMacOSXHIShapeCreateMutableWithRect,
- * TkMacOSXHIShapeSetWithShape, TkMacOSXHIShapeSetWithRect,
- * TkMacOSHIShapeDifferenceWithRect, TkMacOSHIShapeUnionWithRect,
- * TkMacOSHIShapeUnion --
- *
- * Wrapper functions for missing/buggy HIShape API
- *
- *----------------------------------------------------------------------
- */
-
-HIShapeRef
-TkMacOSXHIShapeCreateEmpty(void)
-{
- HIShapeRef result;
-
- result = HIShapeCreateEmpty();
- return result;
-}
-
-HIMutableShapeRef
-TkMacOSXHIShapeCreateMutableWithRect(
- const CGRect *inRect)
-{
- HIMutableShapeRef result;
-
- result = HIShapeCreateMutableWithRect(inRect);
- return result;
-}
-
-OSStatus
-TkMacOSXHIShapeSetWithShape(
- HIMutableShapeRef inDestShape,
- HIShapeRef inSrcShape)
-{
- OSStatus result;
-
- result = HIShapeSetWithShape(inDestShape, inSrcShape);
- return result;
-}
-
-#if 0
-OSStatus
-TkMacOSXHIShapeSetWithRect(
- HIMutableShapeRef inShape,
- const CGRect *inRect)
-{
- OSStatus result;
- HIShapeRef rgn = HIShapeCreateWithRect(inRect);
-
- result = TkMacOSXHIShapeSetWithShape(inShape, rgn);
- CFRelease(rgn);
-
- return result;
-}
-#endif
-
-OSStatus
-TkMacOSHIShapeDifferenceWithRect(
- HIMutableShapeRef inShape,
- const CGRect *inRect)
-{
- OSStatus result;
- HIShapeRef rgn = HIShapeCreateWithRect(inRect);
-
- result = HIShapeDifference(inShape, rgn, inShape);
- CFRelease(rgn);
-
- return result;
-}
-
-OSStatus
-TkMacOSHIShapeUnionWithRect(
- HIMutableShapeRef inShape,
- const CGRect *inRect)
-{
- OSStatus result;
-
- result = HIShapeUnionWithRect(inShape, inRect);
- return result;
-}
-
-OSStatus
-TkMacOSHIShapeUnion(
- HIShapeRef inShape1,
- HIShapeRef inShape2,
- HIMutableShapeRef outResult)
-{
- OSStatus result;
-
- result = HIShapeUnion(inShape1, inShape2, outResult);
- return result;
-}
-
-/*
- * Local Variables:
- * mode: objc
- * c-basic-offset: 4
- * fill-column: 79
- * coding: utf-8
- * End:
- */
diff --git a/tk8.6/macosx/tkMacOSXScale.c b/tk8.6/macosx/tkMacOSXScale.c
deleted file mode 100644
index 8a6a96b..0000000
--- a/tk8.6/macosx/tkMacOSXScale.c
+++ /dev/null
@@ -1,502 +0,0 @@
-/*
- * tkMacOSXScale.c --
- *
- * This file implements the Macintosh specific portion of the
- * scale widget.
- *
- * Copyright (c) 1996 by Sun Microsystems, Inc.
- * Copyright (c) 1998-2000 by Scriptics Corporation.
- * Copyright (c) 2006-2009 Daniel A. Steffen <das@users.sourceforge.net>
- * Copyright 2008-2009, Apple Inc.
- *
- * See the file "license.terms" for information on usage and redistribution
- * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
- */
-
-#include "tkMacOSXPrivate.h"
-#include "tkScale.h"
-
-#ifdef MAC_OSX_TK_TODO
-/*
-#ifdef TK_MAC_DEBUG
-#define TK_MAC_DEBUG_SCALE
-#endif
-*/
-
-/*
- * Defines used in this file.
- */
-
-#define slider 1110
-#define inSlider 1
-#define inInc 2
-#define inDecr 3
-
-/*
- * Declaration of Macintosh specific scale structure.
- */
-
-typedef struct MacScale {
- TkScale info; /* Generic scale info. */
- int flags; /* Flags. */
- ControlRef scaleHandle; /* Handle to the Scale control struct. */
-} MacScale;
-
-/*
- * Globals uses locally in this file.
- */
-static ControlActionUPP scaleActionProc = NULL; /* Pointer to func. */
-
-/*
- * Forward declarations for procedures defined later in this file:
- */
-
-static void MacScaleEventProc(ClientData clientData, XEvent *eventPtr);
-static pascal void ScaleActionProc(ControlRef theControl,
- ControlPartCode partCode);
-
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpCreateScale --
- *
- * Allocate a new TkScale structure.
- *
- * Results:
- * Returns a newly allocated TkScale structure.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-TkScale *
-TkpCreateScale(
- Tk_Window tkwin)
-{
- MacScale *macScalePtr = ckalloc(sizeof(MacScale));
-
- macScalePtr->scaleHandle = NULL;
- if (scaleActionProc == NULL) {
- scaleActionProc = NewControlActionUPP(ScaleActionProc);
- }
-
- Tk_CreateEventHandler(tkwin, ButtonPressMask,
- MacScaleEventProc, (ClientData) macScalePtr);
-
- return (TkScale *) macScalePtr;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpDestroyScale --
- *
- * Free Macintosh specific resources.
- *
- * Results:
- * None
- *
- * Side effects:
- * The slider control is destroyed.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpDestroyScale(
- TkScale *scalePtr)
-{
- MacScale *macScalePtr = (MacScale *) scalePtr;
-
- /*
- * Free Macintosh control.
- */
-
- if (macScalePtr->scaleHandle != NULL) {
- DisposeControl(macScalePtr->scaleHandle);
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpDisplayScale --
- *
- * This procedure is invoked as an idle handler to redisplay
- * the contents of a scale widget.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The scale gets redisplayed.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpDisplayScale(
- ClientData clientData) /* Widget record for scale. */
-{
- TkScale *scalePtr = (TkScale *) clientData;
- Tk_Window tkwin = scalePtr->tkwin;
- Tcl_Interp *interp = scalePtr->interp;
- int result;
- char string[TCL_DOUBLE_SPACE];
- MacScale *macScalePtr = (MacScale *) clientData;
- Rect r;
- WindowRef windowRef;
- CGrafPtr destPort, savePort;
- Boolean portChanged;
- MacDrawable *macDraw;
- SInt32 initialValue, minValue, maxValue;
- UInt16 numTicks;
- Tcl_DString buf;
-
-#ifdef TK_MAC_DEBUG_SCALE
- TkMacOSXDbgMsg("TkpDisplayScale");
-#endif
- scalePtr->flags &= ~REDRAW_PENDING;
- if ((scalePtr->tkwin == NULL) || !Tk_IsMapped(scalePtr->tkwin)) {
- goto done;
- }
-
- /*
- * Invoke the scale's command if needed.
- */
-
- Tcl_Preserve((ClientData) scalePtr);
- if ((scalePtr->flags & INVOKE_COMMAND) && (scalePtr->command != NULL)) {
- Tcl_Preserve((ClientData) interp);
- if (snprintf(string, TCL_DOUBLE_SPACE, scalePtr->format,
- scalePtr->value) < 0) {
- string[TCL_DOUBLE_SPACE - 1] = '\0';
- }
- Tcl_DStringInit(&buf);
- Tcl_DStringAppend(&buf, scalePtr->command, -1);
- Tcl_DStringAppend(&buf, " ", -1);
- Tcl_DStringAppend(&buf, string, -1);
- result = Tcl_EvalEx(interp, Tcl_DStringValue(&buf), -1, 0);
- Tcl_DStringFree(&buf);
- if (result != TCL_OK) {
- Tcl_AddErrorInfo(interp, "\n (command executed by scale)");
- Tcl_BackgroundException(interp, result);
- }
- Tcl_Release((ClientData) interp);
- }
- scalePtr->flags &= ~INVOKE_COMMAND;
- if (scalePtr->flags & SCALE_DELETED) {
- Tcl_Release((ClientData) scalePtr);
- return;
- }
- Tcl_Release((ClientData) scalePtr);
-
- /*
- * Now handle the part of redisplay that is the same for
- * horizontal and vertical scales: border and traversal
- * highlight.
- */
-
- if (scalePtr->highlightWidth != 0) {
- GC gc = Tk_GCForColor(scalePtr->highlightColorPtr, Tk_WindowId(tkwin));
-
- Tk_DrawFocusHighlight(tkwin, gc, scalePtr->highlightWidth,
- Tk_WindowId(tkwin));
- }
- Tk_Draw3DRectangle(tkwin, Tk_WindowId(tkwin), scalePtr->bgBorder,
- scalePtr->highlightWidth, scalePtr->highlightWidth,
- Tk_Width(tkwin) - 2*scalePtr->highlightWidth,
- Tk_Height(tkwin) - 2*scalePtr->highlightWidth,
- scalePtr->borderWidth, scalePtr->relief);
-
- /*
- * Set up port for drawing Macintosh control.
- */
-
- macDraw = (MacDrawable *) Tk_WindowId(tkwin);
- destPort = TkMacOSXGetDrawablePort(Tk_WindowId(tkwin));
- windowRef = TkMacOSXDrawableWindow(Tk_WindowId(tkwin));
- portChanged = QDSwapPort(destPort, &savePort);
- TkMacOSXSetUpClippingRgn(Tk_WindowId(tkwin));
-
- /*
- * Create Macintosh control.
- */
-
-#define MAC_OSX_SCROLL_WIDTH 10
-
- if (scalePtr->orient == ORIENT_HORIZONTAL) {
- int offset = (Tk_Height(tkwin) - MAC_OSX_SCROLL_WIDTH)/2;
-
- if (offset < 0) {
- offset = 0;
- }
-
- r.left = macDraw->xOff + scalePtr->inset;
- r.top = macDraw->yOff + offset;
- r.right = macDraw->xOff+Tk_Width(tkwin) - scalePtr->inset;
- r.bottom = macDraw->yOff + offset + MAC_OSX_SCROLL_WIDTH/2;
- } else {
- int offset = (Tk_Width(tkwin) - MAC_OSX_SCROLL_WIDTH)/2;
-
- if (offset < 0) {
- offset = 0;
- }
-
- r.left = macDraw->xOff + offset;
- r.top = macDraw->yOff + scalePtr->inset;
- r.right = macDraw->xOff + offset + MAC_OSX_SCROLL_WIDTH/2;
- r.bottom = macDraw->yOff+Tk_Height(tkwin) - scalePtr->inset;
- }
-
- if (macScalePtr->scaleHandle == NULL) {
-#ifdef TK_MAC_DEBUG_SCALE
- TkMacOSXDbgMsg("Initialising scale");
-#endif
- initialValue = scalePtr->value;
- if (scalePtr->orient == ORIENT_HORIZONTAL) {
- minValue = scalePtr->fromValue;
- maxValue = scalePtr->toValue;
- } else {
- minValue = scalePtr->fromValue;
- maxValue = scalePtr->toValue;
- }
-
- if (scalePtr->tickInterval == 0) {
- numTicks = 0;
- } else {
- numTicks = (maxValue - minValue)/scalePtr->tickInterval;
- }
-
- CreateSliderControl(windowRef, &r, initialValue, minValue, maxValue,
- kControlSliderPointsDownOrRight, numTicks, 1, scaleActionProc,
- &(macScalePtr->scaleHandle));
- SetControlReference(macScalePtr->scaleHandle, (UInt32) scalePtr);
-
- if (IsWindowActive(windowRef)) {
- macScalePtr->flags |= ACTIVE;
- }
- } else {
- SetControlBounds(macScalePtr->scaleHandle, &r);
- SetControl32BitValue(macScalePtr->scaleHandle, scalePtr->value);
- SetControl32BitMinimum(macScalePtr->scaleHandle, scalePtr->fromValue);
- SetControl32BitMaximum(macScalePtr->scaleHandle, scalePtr->toValue);
- }
-
- /*
- * Finally draw the control.
- */
-
- SetControlVisibility(macScalePtr->scaleHandle,true,true);
- HiliteControl(macScalePtr->scaleHandle,0);
- Draw1Control(macScalePtr->scaleHandle);
-
- if (portChanged) {
- QDSwapPort(savePort, NULL);
- }
-done:
- scalePtr->flags &= ~REDRAW_ALL;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpScaleElement --
- *
- * Determine which part of a scale widget lies under a given
- * point.
- *
- * Results:
- * The return value is either TROUGH1, SLIDER, TROUGH2, or
- * OTHER, depending on which of the scale's active elements
- * (if any) is under the point at (x,y).
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-int
-TkpScaleElement(
- TkScale *scalePtr, /* Widget record for scale. */
- int x, int y) /* Coordinates within scalePtr's window. */
-{
- MacScale *macScalePtr = (MacScale *) scalePtr;
- ControlPartCode part;
- Point where;
- Rect bounds;
- CGrafPtr destPort, savePort;
- Boolean portChanged;
-
-#ifdef TK_MAC_DEBUG_SCALE
- TkMacOSXDbgMsg("TkpScaleElement");
-#endif
- destPort = TkMacOSXGetDrawablePort(Tk_WindowId(scalePtr->tkwin));
- portChanged = QDSwapPort(destPort, &savePort);
-
- /*
- * All of the calculations in this procedure mirror those in
- * DisplayScrollbar. Be sure to keep the two consistent.
- */
-
- TkMacOSXWinBounds((TkWindow *) scalePtr->tkwin, &bounds);
- where.h = x + bounds.left;
- where.v = y + bounds.top;
- part = TestControl(macScalePtr->scaleHandle, where);
-
- if (portChanged) {
- QDSwapPort(savePort, NULL);
- }
-
-#ifdef TK_MAC_DEBUG_SCALE
- fprintf (stderr,"ScalePart %d, pos ( %d %d )\n", part, where.h, where.v );
-#endif
-
- switch (part) {
- case inSlider:
- return SLIDER;
- case inInc:
- if (scalePtr->orient == ORIENT_VERTICAL) {
- return TROUGH1;
- } else {
- return TROUGH2;
- }
- case inDecr:
- if (scalePtr->orient == ORIENT_VERTICAL) {
- return TROUGH2;
- } else {
- return TROUGH1;
- }
- default:
- return OTHER;
- }
-}
-
-/*
- *--------------------------------------------------------------
- *
- * MacScaleEventProc --
- *
- * This procedure is invoked by the Tk dispatcher for
- * ButtonPress events on scales.
- *
- * Results:
- * None.
- *
- * Side effects:
- * When the window gets deleted, internal structures get
- * cleaned up. When it gets exposed, it is redisplayed.
- *
- *--------------------------------------------------------------
- */
-
-static void
-MacScaleEventProc(
- ClientData clientData, /* Information about window. */
- XEvent *eventPtr) /* Information about event. */
-{
- MacScale *macScalePtr = (MacScale *) clientData;
- Point where;
- Rect bounds;
- int part;
- CGrafPtr destPort, savePort;
- Boolean portChanged;
-
-#ifdef TK_MAC_DEBUG_SCALE
- fprintf(stderr,"MacScaleEventProc\n" );
-#endif
-
- /*
- * To call Macintosh control routines we must have the port
- * set to the window containing the control. We will then test
- * which part of the control was hit and act accordingly.
- */
-
- destPort = TkMacOSXGetDrawablePort(Tk_WindowId(macScalePtr->info.tkwin));
- portChanged = QDSwapPort(destPort, &savePort);
- TkMacOSXSetUpClippingRgn(Tk_WindowId(macScalePtr->info.tkwin));
-
- TkMacOSXWinBounds((TkWindow *) macScalePtr->info.tkwin, &bounds);
- where.h = eventPtr->xbutton.x + bounds.left;
- where.v = eventPtr->xbutton.y + bounds.top;
-#ifdef TK_MAC_DEBUG_SCALE
- TkMacOSXDbgMsg("calling TestControl");
-#endif
- part = TestControl(macScalePtr->scaleHandle, where);
- if (part == 0) {
- return;
- }
-
- TkMacOSXTrackingLoop(1);
- part = HandleControlClick(macScalePtr->scaleHandle, where,
- TkMacOSXModifierState(), scaleActionProc);
- TkMacOSXTrackingLoop(0);
-
- /*
- * Update the value for the widget.
- */
-
- macScalePtr->info.value = GetControlValue(macScalePtr->scaleHandle);
- /* TkScaleSetValue(&macScalePtr->info, macScalePtr->info.value, 1, 0); */
-
- /*
- * The HandleControlClick call will "eat" the ButtonUp event. We now
- * generate a ButtonUp event so Tk will unset implicit grabs etc.
- */
-
- TkGenerateButtonEventForXPointer(Tk_WindowId(macScalePtr->info.tkwin));
-
- if (portChanged) {
- QDSwapPort(savePort, NULL);
- }
-}
-
-/*
- *--------------------------------------------------------------
- *
- * ScaleActionProc --
- *
- * Callback procedure used by the Macintosh toolbox call
- * HandleControlClick. This call will update the display
- * while the scrollbar is being manipulated by the user.
- *
- * Results:
- * None.
- *
- * Side effects:
- * May change the display.
- *
- *--------------------------------------------------------------
- */
-
-static pascal void
-ScaleActionProc(
- ControlRef theControl, /* Handle to scrollbat control */
- ControlPartCode partCode) /* Part of scrollbar that was "hit" */
-{
- int value;
- TkScale *scalePtr = (TkScale *) GetControlReference(theControl);
-
-#ifdef TK_MAC_DEBUG_SCALE
- TkMacOSXDbgMsg("ScaleActionProc");
-#endif
- value = GetControlValue(theControl);
- TkScaleSetValue(scalePtr, value, 1, 1);
- Tcl_Preserve((ClientData) scalePtr);
- TkMacOSXRunTclEventLoop();
- Tcl_Release((ClientData) scalePtr);
-}
-#endif
-
-/*
- * Local Variables:
- * mode: objc
- * c-basic-offset: 4
- * fill-column: 79
- * coding: utf-8
- * End:
- */
diff --git a/tk8.6/macosx/tkMacOSXScrlbr.c b/tk8.6/macosx/tkMacOSXScrlbr.c
deleted file mode 100644
index d1287bb..0000000
--- a/tk8.6/macosx/tkMacOSXScrlbr.c
+++ /dev/null
@@ -1,679 +0,0 @@
-/*
- * tkMacOSXScrollbar.c --
- *
- * This file implements the Macintosh specific portion of the scrollbar
- * widget.
- *
- * Copyright (c) 1996 by Sun Microsystems, Inc.
- * Copyright 2001-2009, Apple Inc.
- * Copyright (c) 2006-2009 Daniel A. Steffen <das@users.sourceforge.net>
- * Copyright (c) 2015 Kevin Walzer/WordTech Commununications LLC.
- * Copyright (c) 2018 Marc Culler
- * See the file "license.terms" for information on usage and redistribution
- * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
- */
-
-#include "tkInt.h"
-#include "tkScrollbar.h"
-#include "tkMacOSXPrivate.h"
-
-
-#define MIN_SCROLLBAR_VALUE 0
-
-/*
- * Minimum slider length, in pixels (designed to make sure that the slider is
- * always easy to grab with the mouse).
- */
-
-#define MIN_SLIDER_LENGTH 5
-
-/*Borrowed from ttkMacOSXTheme.c to provide appropriate scaling.*/
-#ifdef __LP64__
-#define RangeToFactor(maximum) (((double) (INT_MAX >> 1)) / (maximum))
-#else
-#define RangeToFactor(maximum) (((double) (LONG_MAX >> 1)) / (maximum))
-#endif /* __LP64__ */
-
-/*
- * Apple reversed the scroll direction with the release of OSX 10.7 Lion.
- */
-
-#define SNOW_LEOPARD_STYLE (NSAppKitVersionNumber < 1138)
-
-/*
- * Declaration of an extended scrollbar structure with Mac specific additions.
- */
-
-typedef struct MacScrollbar {
- TkScrollbar information; /* Generic scrollbar info. */
- GC troughGC; /* For drawing trough. */
- GC copyGC; /* Used for copying from pixmap onto screen. */
- Bool buttonDown; /* Is the mouse button down? */
- Bool mouseOver; /* Is the pointer over the scrollbar. */
- HIThemeTrackDrawInfo info; /* Controls how the scrollbar is drawn. */
-} MacScrollbar;
-
-/* Used to initialize a MacScrollbar's info field. */
-HIThemeTrackDrawInfo defaultInfo = {
- .version = 0,
- .min = 0.0,
- .max = 100.0,
- .attributes = kThemeTrackShowThumb,
-};
-
-/*
- * The class procedure table for the scrollbar widget. All fields except size
- * are left initialized to NULL, which should happen automatically since the
- * variable is declared at this scope.
- */
-
-const Tk_ClassProcs tkpScrollbarProcs = {
- sizeof(Tk_ClassProcs), /* size */
- NULL, /* worldChangedProc */
- NULL, /* createProc */
- NULL /* modalProc */
-};
-
-
-/* Information on scrollbar layout, metrics, and draw info.*/
-typedef struct ScrollbarMetrics {
- SInt32 width, minThumbHeight;
- int minHeight, topArrowHeight, bottomArrowHeight;
- NSControlSize controlSize;
-} ScrollbarMetrics;
-
-
-static ScrollbarMetrics metrics = {
- 15, 54, 26, 14, 14, kControlSizeNormal /* kThemeScrollBarMedium */
-};
-
-
-/*
- * Declarations of static functions defined later in this file:
- */
-
-static void ScrollbarEventProc(ClientData clientData, XEvent *eventPtr);
-static int ScrollbarEvent(TkScrollbar *scrollPtr, XEvent *eventPtr);
-static void UpdateControlValues(TkScrollbar *scrollPtr);
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpCreateScrollbar --
- *
- * Allocate a new TkScrollbar structure.
- *
- * Results:
- * Returns a newly allocated TkScrollbar structure.
- *
- * Side effects:
- * Registers an event handler for the widget.
- *
- *----------------------------------------------------------------------
- */
-
-TkScrollbar *
-TkpCreateScrollbar(
- Tk_Window tkwin)
-{
-
- MacScrollbar *scrollPtr = (MacScrollbar *)ckalloc(sizeof(MacScrollbar));
-
- scrollPtr->troughGC = None;
- scrollPtr->copyGC = None;
- scrollPtr->info = defaultInfo;
- scrollPtr->buttonDown = false;
-
- Tk_CreateEventHandler(tkwin,
- ExposureMask |
- StructureNotifyMask |
- FocusChangeMask |
- ButtonPressMask |
- ButtonReleaseMask |
- EnterWindowMask |
- LeaveWindowMask |
- VisibilityChangeMask,
- ScrollbarEventProc, scrollPtr);
-
- return (TkScrollbar *) scrollPtr;
-}
-
-/*
- *--------------------------------------------------------------
- *
- * TkpDisplayScrollbar --
- *
- * This procedure redraws the contents of a scrollbar window. It is
- * invoked as a do-when-idle handler, so it only runs when there's
- * nothing else for the application to do.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Draws a scrollbar on the screen.
- *
- *--------------------------------------------------------------
- */
-
-void
-TkpDisplayScrollbar(
- ClientData clientData) /* Information about window. */
-{
- register TkScrollbar *scrollPtr = (TkScrollbar *) clientData;
- MacScrollbar *msPtr = (MacScrollbar *) scrollPtr;
- register Tk_Window tkwin = scrollPtr->tkwin;
- TkWindow *winPtr = (TkWindow *) tkwin;
- TkMacOSXDrawingContext dc;
-
- scrollPtr->flags &= ~REDRAW_PENDING;
-
- if (tkwin == NULL || !Tk_IsMapped(tkwin)) {
- return;
- }
-
- MacDrawable *macWin = (MacDrawable *) winPtr->window;
- NSView *view = TkMacOSXDrawableView(macWin);
- if (!view ||
- macWin->flags & TK_DO_NOT_DRAW ||
- !TkMacOSXSetupDrawingContext((Drawable) macWin, NULL, 1, &dc)) {
- return;
- }
-
- CGFloat viewHeight = [view bounds].size.height;
- CGAffineTransform t = { .a = 1, .b = 0, .c = 0, .d = -1, .tx = 0,
- .ty = viewHeight};
- CGContextConcatCTM(dc.context, t);
-
- /*Draw a 3D rectangle to provide a base for the native scrollbar.*/
- if (scrollPtr->highlightWidth != 0) {
- GC fgGC, bgGC;
-
- bgGC = Tk_GCForColor(scrollPtr->highlightBgColorPtr, (Pixmap) macWin);
- if (scrollPtr->flags & GOT_FOCUS) {
- fgGC = Tk_GCForColor(scrollPtr->highlightColorPtr, (Pixmap) macWin);
- } else {
- fgGC = bgGC;
- }
- TkpDrawHighlightBorder(tkwin, fgGC, bgGC, scrollPtr->highlightWidth,
- (Pixmap) macWin);
- }
-
- Tk_Draw3DRectangle(tkwin, (Pixmap) macWin, scrollPtr->bgBorder,
- scrollPtr->highlightWidth, scrollPtr->highlightWidth,
- Tk_Width(tkwin) - 2*scrollPtr->highlightWidth,
- Tk_Height(tkwin) - 2*scrollPtr->highlightWidth,
- scrollPtr->borderWidth, scrollPtr->relief);
- Tk_Fill3DRectangle(tkwin, (Pixmap) macWin, scrollPtr->bgBorder,
- scrollPtr->inset, scrollPtr->inset,
- Tk_Width(tkwin) - 2*scrollPtr->inset,
- Tk_Height(tkwin) - 2*scrollPtr->inset, 0, TK_RELIEF_FLAT);
-
- /* Update values and then draw the native scrollbar over the rectangle.*/
- UpdateControlValues(scrollPtr);
-
- if (SNOW_LEOPARD_STYLE) {
- HIThemeDrawTrack (&(msPtr->info), 0, dc.context, kHIThemeOrientationInverted);
- } else {
- HIThemeDrawTrack (&(msPtr->info), 0, dc.context, kHIThemeOrientationNormal);
- }
- TkMacOSXRestoreDrawingContext(&dc);
-
- scrollPtr->flags &= ~REDRAW_PENDING;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpComputeScrollbarGeometry --
- *
- * After changes in a scrollbar's size or configuration, this procedure
- * recomputes various geometry information used in displaying the
- * scrollbar.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The scrollbar will be displayed differently.
- *
- *----------------------------------------------------------------------
- */
-
-
-
-extern void
-TkpComputeScrollbarGeometry(
- register TkScrollbar *scrollPtr)
- /* Scrollbar whose geometry may have
- * changed. */
-{
-
- /*
- * The code below is borrowed from tkUnixScrlbr.c but has been adjusted to
- * account for some differences between macOS and X11. The Unix scrollbar
- * has an arrow button on each end. On macOS 10.6 (Snow Leopard) the
- * scrollbars by default have both arrow buttons at the bottom or right.
- * (There is a preferences setting to use the Unix layout, but we are not
- * supporting that!) On more recent versions of macOS there are no arrow
- * buttons at all. The case of no arrow buttons can be handled as a special
- * case of having both buttons at the end, but where scrollPtr->arrowLength
- * happens to be zero. To adjust for having both arrows at the same end we
- * shift the scrollbar up by the arrowLength.
- */
-
- int fieldLength;
-
- if (scrollPtr->highlightWidth < 0) {
- scrollPtr->highlightWidth = 0;
- }
- scrollPtr->inset = scrollPtr->highlightWidth + scrollPtr->borderWidth;
- if ([NSApp macMinorVersion] == 6) {
- scrollPtr->arrowLength = scrollPtr->width;
- } else {
- scrollPtr->arrowLength = 0;
- }
- fieldLength = (scrollPtr->vertical ? Tk_Height(scrollPtr->tkwin)
- : Tk_Width(scrollPtr->tkwin))
- - 2*(scrollPtr->arrowLength + scrollPtr->inset);
- if (fieldLength < 0) {
- fieldLength = 0;
- }
- scrollPtr->sliderFirst = fieldLength*scrollPtr->firstFraction;
- scrollPtr->sliderLast = fieldLength*scrollPtr->lastFraction;
-
- /*
- * Adjust the slider so that some piece of it is always displayed in the
- * scrollbar and so that it has at least a minimal width (so it can be
- * grabbed with the mouse).
- */
-
- if (scrollPtr->sliderFirst > fieldLength - MIN_SLIDER_LENGTH) {
- scrollPtr->sliderFirst = fieldLength - MIN_SLIDER_LENGTH;
- }
- if (scrollPtr->sliderFirst < 0) {
- scrollPtr->sliderFirst = 0;
- }
- if (scrollPtr->sliderLast < scrollPtr->sliderFirst + MIN_SLIDER_LENGTH) {
- scrollPtr->sliderLast = scrollPtr->sliderFirst + MIN_SLIDER_LENGTH;
- }
- if (scrollPtr->sliderLast > fieldLength) {
- scrollPtr->sliderLast = fieldLength;
- }
- scrollPtr->sliderFirst += -scrollPtr->arrowLength + scrollPtr->inset;
- scrollPtr->sliderLast += scrollPtr->inset;
-
- /*
- * Register the desired geometry for the window. Leave enough space for the
- * two arrows, if there are any arrows, plus a minimum-size slider, plus
- * border around the whole window, if any. Then arrange for the window to
- * be redisplayed.
- */
-
- if (scrollPtr->vertical) {
- Tk_GeometryRequest(scrollPtr->tkwin,
- scrollPtr->width + 2*scrollPtr->inset,
- 2*(scrollPtr->arrowLength + scrollPtr->borderWidth
- + scrollPtr->inset) + metrics.minThumbHeight);
- } else {
- Tk_GeometryRequest(scrollPtr->tkwin,
- 2*(scrollPtr->arrowLength + scrollPtr->borderWidth
- + scrollPtr->inset) + metrics.minThumbHeight,
- scrollPtr->width + 2*scrollPtr->inset);
- }
- Tk_SetInternalBorder(scrollPtr->tkwin, scrollPtr->inset);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpDestroyScrollbar --
- *
- * Free data structures associated with the scrollbar control.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Frees the GCs associated with the scrollbar.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpDestroyScrollbar(
- TkScrollbar *scrollPtr)
-{
- MacScrollbar *macScrollPtr = (MacScrollbar *)scrollPtr;
-
- if (macScrollPtr->troughGC != None) {
- Tk_FreeGC(scrollPtr->display, macScrollPtr->troughGC);
- }
- if (macScrollPtr->copyGC != None) {
- Tk_FreeGC(scrollPtr->display, macScrollPtr->copyGC);
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpConfigureScrollbar --
- *
- * This procedure is called after the generic code has finished
- * processing configuration options, in order to configure platform
- * specific options. There are no such option on the Mac, however.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Currently, none.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpConfigureScrollbar(
- register TkScrollbar *scrollPtr)
-{
-
-}
-
-/*
- *--------------------------------------------------------------
- *
- * TkpScrollbarPosition --
- *
- * Determine the scrollbar element corresponding to a given position.
- *
- * Results:
- * One of TOP_ARROW, TOP_GAP, etc., indicating which element of the
- * scrollbar covers the position given by (x, y). If (x,y) is outside the
- * scrollbar entirely, then OUTSIDE is returned.
- *
- * Side effects:
- * None.
- *
- *--------------------------------------------------------------
- */
-
-int
-TkpScrollbarPosition(
- register TkScrollbar *scrollPtr,
- /* Scrollbar widget record. */
- int x, int y) /* Coordinates within scrollPtr's window. */
-{
-
- /*
- * The code below is borrowed from tkUnixScrlbr.c and needs no adjustment
- * since it does not involve the arrow buttons.
- */
-
- int length, width, tmp;
- register const int inset = scrollPtr->inset;
-
- if (scrollPtr->vertical) {
- length = Tk_Height(scrollPtr->tkwin);
- width = Tk_Width(scrollPtr->tkwin);
- } else {
- tmp = x;
- x = y;
- y = tmp;
- length = Tk_Width(scrollPtr->tkwin);
- width = Tk_Height(scrollPtr->tkwin);
- }
-
- if (x < inset || x >= width - inset ||
- y < inset || y >= length - inset) {
- return OUTSIDE;
- }
-
- /*
- * Here we assume that the scrollbar is layed out with both arrow buttons
- * at the bottom (or right). Except on 10.6, however, the arrows do not
- * actually exist, i.e. the arrowLength is 0. These are the same
- * assumptions which are being made in TkpComputeScrollbarGeometry.
- */
-
- if (y < scrollPtr->sliderFirst + scrollPtr->arrowLength) {
- return TOP_GAP;
- }
- if (y < scrollPtr->sliderLast) {
- return SLIDER;
- }
- if (y < length - (2*scrollPtr->arrowLength + inset)) {
- return BOTTOM_GAP;
- }
- /* On systems newer than 10.6 we have already returned. */
- if (y < length - (scrollPtr->arrowLength + inset)) {
- return TOP_ARROW;
- }
- return BOTTOM_ARROW;
-}
-
-/*
- *--------------------------------------------------------------
- *
- * UpdateControlValues --
- *
- * This procedure updates the Macintosh scrollbar control to
- * display the values defined by the Tk scrollbar. This is the
- * key interface to the Mac-native scrollbar; the Unix bindings
- * drive scrolling in the Tk window and all the Mac scrollbar has
- * to do is redraw itself.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The Macintosh control is updated.
- *
- *--------------------------------------------------------------
- */
-
-static void
-UpdateControlValues(
- TkScrollbar *scrollPtr) /* Scrollbar data struct. */
-{
- MacScrollbar *msPtr = (MacScrollbar *)scrollPtr;
- Tk_Window tkwin = scrollPtr->tkwin;
- MacDrawable *macWin = (MacDrawable *) Tk_WindowId(scrollPtr->tkwin);
- double dViewSize;
- HIRect contrlRect;
- short width, height;
-
- NSView *view = TkMacOSXDrawableView(macWin);
- CGFloat viewHeight = [view bounds].size.height;
- NSRect frame;
- frame = NSMakeRect(macWin->xOff, macWin->yOff, Tk_Width(tkwin),
- Tk_Height(tkwin));
- frame = NSInsetRect(frame, scrollPtr->inset, scrollPtr->inset);
- frame.origin.y = viewHeight - (frame.origin.y + frame.size.height);
-
- contrlRect = NSRectToCGRect(frame);
- msPtr->info.bounds = contrlRect;
-
- width = contrlRect.size.width;
- height = contrlRect.size.height;
-
- /*
- * Ensure we set scrollbar control bounds only once all size adjustments
- * have been computed.
- */
-
- msPtr->info.bounds = contrlRect;
- if (scrollPtr->vertical) {
- msPtr->info.attributes &= ~kThemeTrackHorizontal;
- } else {
- msPtr->info.attributes |= kThemeTrackHorizontal;
- }
-
- /*
- * Given the Tk parameters for the fractions of the start and end of the
- * thumb, the following calculation determines the location for the
- * Macintosh thumb. The Aqua scroll control works as follows. The
- * scrollbar's value is the position of the left (or top) side of the view
- * area in the content area being scrolled. The maximum value of the
- * control is therefore the dimension of the content area less the size of
- * the view area.
- */
-
- double maximum = 100, factor;
- factor = RangeToFactor(maximum);
- dViewSize = (scrollPtr->lastFraction - scrollPtr->firstFraction)
- * factor;
- msPtr->info.max = MIN_SCROLLBAR_VALUE +
- factor - dViewSize;
- msPtr->info.trackInfo.scrollbar.viewsize = dViewSize;
- if (scrollPtr->vertical) {
- if (SNOW_LEOPARD_STYLE) {
- msPtr->info.value = factor * scrollPtr->firstFraction;
- } else {
- msPtr->info.value = msPtr->info.max - factor * scrollPtr->firstFraction;
- }
- } else {
- msPtr->info.value = MIN_SCROLLBAR_VALUE + factor * scrollPtr->firstFraction;
- }
-
- if((scrollPtr->firstFraction <= 0.0 && scrollPtr->lastFraction >= 1.0)
- || height <= metrics.minHeight) {
- msPtr->info.enableState = kThemeTrackHideTrack;
- } else {
- msPtr->info.enableState = kThemeTrackActive;
- msPtr->info.attributes = kThemeTrackShowThumb | kThemeTrackThumbRgnIsNotGhost;
- }
-
-}
-
-/*
- *--------------------------------------------------------------
- *
- * ScrollbarEvent --
- *
- * This procedure is invoked in response to <ButtonPress>, <ButtonRelease>,
- * <EnterNotify>, and <LeaveNotify> events. The Scrollbar appearance is
- * modified for each event.
- *
- *--------------------------------------------------------------
- */
-
-static int
-ScrollbarEvent(TkScrollbar *scrollPtr, XEvent *eventPtr)
-{
- MacScrollbar *msPtr = (MacScrollbar *)scrollPtr;
-
- /* The pressState does not indicate whether the moused button was
- * pressed at some location in the Scrollbar. Rather, it indicates
- * that the scrollbar should appear as if it were pressed in that
- * location. The standard Mac behavior is that once the button is
- * pressed inside the Scrollbar the appearance should not change until
- * the button is released, even if the mouse moves outside of the
- * scrollbar. However, if the mouse lies over the scrollbar but the
- * button is not pressed then the appearance should be the same as if
- * the button had been pressed on the slider, i.e. kThemeThumbPressed.
- * See the file Appearance.r, or HIToolbox.bridgesupport on 10.14.
- */
-
- if (eventPtr->type == ButtonPress) {
- msPtr->buttonDown = true;
- UpdateControlValues(scrollPtr);
- int where = TkpScrollbarPosition(scrollPtr,
- eventPtr->xbutton.x,
- eventPtr->xbutton.y);
- switch(where) {
- case OUTSIDE:
- msPtr->info.trackInfo.scrollbar.pressState = 0;
- break;
- case TOP_GAP:
- msPtr->info.trackInfo.scrollbar.pressState = kThemeTopTrackPressed;
- break;
- case SLIDER:
- msPtr->info.trackInfo.scrollbar.pressState = kThemeThumbPressed;
- break;
- case BOTTOM_GAP:
- msPtr->info.trackInfo.scrollbar.pressState = kThemeBottomTrackPressed;
- break;
- case TOP_ARROW:
- /* This looks wrong and the docs say it is wrong but it works. */
- msPtr->info.trackInfo.scrollbar.pressState = kThemeTopInsideArrowPressed;
- break;
- case BOTTOM_ARROW:
- msPtr->info.trackInfo.scrollbar.pressState = kThemeBottomOutsideArrowPressed;
- break;
- }
- }
- if (eventPtr->type == ButtonRelease) {
- msPtr->buttonDown = false;
- if (!msPtr->mouseOver) {
- msPtr->info.trackInfo.scrollbar.pressState = 0;
- }
- }
- if (eventPtr->type == EnterNotify) {
- msPtr->mouseOver = true;
- if (!msPtr->buttonDown) {
- msPtr->info.trackInfo.scrollbar.pressState = kThemeThumbPressed;
- }
- }
- if (eventPtr->type == LeaveNotify) {
- msPtr->mouseOver = false;
- if (!msPtr->buttonDown) {
- msPtr->info.trackInfo.scrollbar.pressState = 0;
- }
- }
- return TCL_OK;
-}
-
-
-
-/*
- *--------------------------------------------------------------
- *
- * ScrollbarEventProc --
- *
- * This procedure is invoked by the Tk dispatcher for various events on
- * scrollbars.
- *
- * Results:
- * None.
- *
- * Side effects:
- * When the window gets deleted, internal structures get cleaned up. When
- * it gets exposed, it is redisplayed.
- *
- *--------------------------------------------------------------
- */
-
-static void
-ScrollbarEventProc(
- ClientData clientData, /* Information about window. */
- XEvent *eventPtr) /* Information about event. */
-{
- TkScrollbar *scrollPtr = clientData;
-
- switch (eventPtr->type) {
- case UnmapNotify:
- TkMacOSXSetScrollbarGrow((TkWindow *) scrollPtr->tkwin, false);
- break;
- case ActivateNotify:
- case DeactivateNotify:
- TkScrollbarEventuallyRedraw(scrollPtr);
- break;
- case ButtonPress:
- case ButtonRelease:
- case EnterNotify:
- case LeaveNotify:
- ScrollbarEvent(clientData, eventPtr);
- break;
- default:
- TkScrollbarEventProc(clientData, eventPtr);
- }
-}
-
-/*
- * Local Variables:
- * mode: objc
- * c-basic-offset: 4
- * fill-column: 79
- * coding: utf-8
- * End:
- */
diff --git a/tk8.6/macosx/tkMacOSXSend.c b/tk8.6/macosx/tkMacOSXSend.c
deleted file mode 100644
index 3b24a56..0000000
--- a/tk8.6/macosx/tkMacOSXSend.c
+++ /dev/null
@@ -1,515 +0,0 @@
-/*
- * tkMacOSXSend.c --
- *
- * This file provides procedures that implement the "send" command,
- * allowing commands to be passed from interpreter to interpreter. This
- * current implementation for the Mac has most functionality stubed out.
- *
- * The current plan, which we have not had time to implement, is for the
- * first Wish app to create a gestalt of type 'WIsH'. This gestalt will
- * point to a table, in system memory, of Tk apps. Each Tk app, when it
- * starts up, will register their name, and process ID, in this table.
- * This will allow us to implement "tk appname".
- *
- * Then the send command will look up the process id of the target app in
- * this table, and send an AppleEvent to that process. The AppleEvent
- * handler is much like the do script handler, except that you have to
- * specify the name of the tk app as well, since there may be many
- * interps in one wish app, and you need to send it to the right one.
- *
- * Implementing this has been on our list of things to do, but what with
- * the demise of Tcl at Sun, and the lack of resources at Scriptics it
- * may not get done for awhile. So this sketch is offered for the brave
- * to attempt if they need the functionality...
- *
- * Copyright (c) 1989-1994 The Regents of the University of California.
- * Copyright (c) 1994-1998 Sun Microsystems, Inc.
- * Copyright 2001-2009, Apple Inc.
- * Copyright (c) 2005-2009 Daniel A. Steffen <das@users.sourceforge.net>
- *
- * See the file "license.terms" for information on usage and redistribution
- * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
- */
-
-#include "tkMacOSXInt.h"
-
-/*
- * The following structure is used to keep track of the interpreters
- * registered by this process.
- */
-
-typedef struct RegisteredInterp {
- char *name; /* Interpreter's name (malloc-ed). */
- Tcl_Interp *interp; /* Interpreter associated with name. */
- struct RegisteredInterp *nextPtr;
- /* Next in list of names associated with
- * interps in this process. NULL means end of
- * list. */
-} RegisteredInterp;
-
-/*
- * A registry of all interpreters for a display is kept in a property
- * "InterpRegistry" on the root window of the display. It is organized as a
- * series of zero or more concatenated strings (in no particular order), each
- * of the form
- * window space name '\0'
- * where "window" is the hex id of the comm. window to use to talk to an
- * interpreter named "name".
- *
- * When the registry is being manipulated by an application (e.g. to add or
- * remove an entry), it is loaded into memory using a structure of the
- * following type:
- */
-
-typedef struct NameRegistry {
- TkDisplay *dispPtr; /* Display from which the registry was
- * read. */
- int locked; /* Non-zero means that the display was locked
- * when the property was read in. */
- int modified; /* Non-zero means that the property has been
- * modified, so it needs to be written out
- * when the NameRegistry is closed. */
- unsigned long propLength; /* Length of the property, in bytes. */
- char *property; /* The contents of the property, or NULL if
- * none. See format description above; this is
- * *not* terminated by the first null
- * character. Dynamically allocated. */
- int allocedByX; /* Non-zero means must free property with
- * XFree; zero means use ckfree. */
-} NameRegistry;
-
-static int initialized = 0; /* A flag to denote if we have initialized
- * yet. */
-
-static RegisteredInterp *interpListPtr = NULL;
- /* List of all interpreters registered by this
- * process. */
-
-/*
- * The information below is used for communication between processes during
- * "send" commands. Each process keeps a private window, never even mapped,
- * with one property, "Comm". When a command is sent to an interpreter, the
- * command is appended to the comm property of the communication window
- * associated with the interp's process. Similarly, when a result is returned
- * from a sent command, it is also appended to the comm property.
- *
- * Each command and each result takes the form of ASCII text. For a command,
- * the text consists of a zero character followed by several null-terminated
- * ASCII strings. The first string consists of the single letter "c".
- * Subsequent strings have the form "option value" where the following options
- * are supported:
- *
- * -r commWindow serial
- *
- * This option means that a response should be sent to the window whose X
- * identifier is "commWindow" (in hex), and the response should be
- * identified with the serial number given by "serial" (in decimal). If
- * this option isn't specified then the send is asynchronous and no
- * response is sent.
- *
- * -n name
- *
- * "Name" gives the name of the application for which the command is
- * intended. This option must be present.
- *
- * -s script
- *
- * "Script" is the script to be executed. This option must be present.
- *
- * The options may appear in any order. The -n and -s options must be present,
- * but -r may be omitted for asynchronous RPCs. For compatibility with future
- * releases that may add new features, there may be additional options
- * present; as long as they start with a "-" character, they will be ignored.
- *
- *
- * A result also consists of a zero character followed by several null-
- * terminated ASCII strings. The first string consists of the single letter
- * "r". Subsequent strings have the form "option value" where the following
- * options are supported:
- *
- * -s serial
- *
- * Identifies the command for which this is the result. It is the same as
- * the "serial" field from the -s option in the command. This option must
- * be present.
- *
- * -c code
- *
- * "Code" is the completion code for the script, in decimal. If the code
- * is omitted it defaults to TCL_OK.
- *
- * -r result
- *
- * "Result" is the result string for the script, which may be either a
- * result or an error message. If this field is omitted then it defaults
- * to an empty string.
- *
- * -i errorInfo
- *
- * "ErrorInfo" gives a string with which to initialize the errorInfo
- * variable. This option may be omitted; it is ignored unless the
- * completion code is TCL_ERROR.
- *
- * -e errorCode
- *
- * "ErrorCode" gives a string with with to initialize the errorCode
- * variable. This option may be omitted; it is ignored unless the
- * completion code is TCL_ERROR.
- *
- * Options may appear in any order, and only the -s option must be present. As
- * with commands, there may be additional options besides these; unknown
- * options are ignored.
- */
-
-/*
- * Maximum size property that can be read at one time by this module:
- */
-
-#define MAX_PROP_WORDS 100000
-
-/*
- * Forward declarations for procedures defined later in this file:
- */
-
-static int SendInit(Tcl_Interp *interp);
-
-/*
- *--------------------------------------------------------------
- *
- * Tk_SetAppName --
- *
- * This procedure is called to associate an ASCII name with a Tk
- * application. If the application has already been named, the name
- * replaces the old one.
- *
- * Results:
- * The return value is the name actually given to the application. This
- * will normally be the same as name, but if name was already in use for
- * an application then a name of the form "name #2" will be chosen, with
- * a high enough number to make the name unique.
- *
- * Side effects:
- * Registration info is saved, thereby allowing the "send" command to be
- * used later to invoke commands in the application. In addition, the
- * "send" command is created in the application's interpreter. The
- * registration will be removed automatically if the interpreter is
- * deleted or the "send" command is removed.
- *
- *--------------------------------------------------------------
- */
-
-const char *
-Tk_SetAppName(
- Tk_Window tkwin, /* Token for any window in the application to
- * be named: it is just used to identify the
- * application and the display. */
- const char *name) /* The name that will be used to refer to the
- * interpreter in later "send" commands. Must
- * be globally unique. */
-{
- TkWindow *winPtr = (TkWindow *) tkwin;
- Tcl_Interp *interp = winPtr->mainPtr->interp;
- int i, suffix, offset, result;
- RegisteredInterp *riPtr, *prevPtr;
- const char *actualName;
- Tcl_DString dString;
- Tcl_Obj *resultObjPtr, *interpNamePtr;
- char *interpName;
-
- if (!initialized) {
- SendInit(interp);
- }
-
- /*
- * See if the application is already registered; if so, remove its current
- * name from the registry. The deletion of the command will take care of
- * disposing of this entry.
- */
-
- for (riPtr = interpListPtr, prevPtr = NULL; riPtr != NULL;
- prevPtr = riPtr, riPtr = riPtr->nextPtr) {
- if (riPtr->interp == interp) {
- if (prevPtr == NULL) {
- interpListPtr = interpListPtr->nextPtr;
- } else {
- prevPtr->nextPtr = riPtr->nextPtr;
- }
- break;
- }
- }
-
- /*
- * Pick a name to use for the application. Use "name" if it's not already
- * in use. Otherwise add a suffix such as " #2", trying larger and larger
- * numbers until we eventually find one that is unique.
- */
-
- actualName = name;
- suffix = 1;
- offset = 0;
- Tcl_DStringInit(&dString);
-
- TkGetInterpNames(interp, tkwin);
- resultObjPtr = Tcl_GetObjResult(interp);
- Tcl_IncrRefCount(resultObjPtr);
- for (i = 0; ; ) {
- result = Tcl_ListObjIndex(NULL, resultObjPtr, i, &interpNamePtr);
- if (result != TCL_OK || interpNamePtr == NULL) {
- break;
- }
- interpName = Tcl_GetString(interpNamePtr);
- if (strcmp(actualName, interpName) == 0) {
- if (suffix == 1) {
- Tcl_DStringAppend(&dString, name, -1);
- Tcl_DStringAppend(&dString, " #", 2);
- offset = Tcl_DStringLength(&dString);
- Tcl_DStringSetLength(&dString, offset + 10);
- actualName = Tcl_DStringValue(&dString);
- }
- suffix++;
- sprintf(Tcl_DStringValue(&dString) + offset, "%d", suffix);
- i = 0;
- } else {
- i++;
- }
- }
-
- Tcl_DecrRefCount(resultObjPtr);
- Tcl_ResetResult(interp);
-
- /*
- * We have found a unique name. Now add it to the registry.
- */
-
- riPtr = ckalloc(sizeof(RegisteredInterp));
- riPtr->interp = interp;
- riPtr->name = ckalloc(strlen(actualName) + 1);
- riPtr->nextPtr = interpListPtr;
- interpListPtr = riPtr;
- strcpy(riPtr->name, actualName);
-
- /*
- * TODO: DeleteProc
- */
-
- Tcl_CreateObjCommand(interp, "send", Tk_SendObjCmd, riPtr, NULL);
- if (Tcl_IsSafe(interp)) {
- Tcl_HideCommand(interp, "send", "send");
- }
- Tcl_DStringFree(&dString);
-
- return riPtr->name;
-}
-
-/*
- *--------------------------------------------------------------
- *
- * Tk_SendObjCmd --
- *
- * This procedure is invoked to process the "send" Tcl command. See the
- * user documentation for details on what it does.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * See the user documentation.
- *
- *--------------------------------------------------------------
- */
-
-int
-Tk_SendObjCmd(
- ClientData clientData, /* Used only for deletion */
- Tcl_Interp *interp, /* The interp we are sending from */
- int objc, /* Number of arguments */
- Tcl_Obj *const objv[]) /* The arguments */
-{
- const char *const sendOptions[] = {"-async", "-displayof", "-", NULL};
- char *stringRep, *destName;
- /*int async = 0;*/
- int i, index, firstArg;
- RegisteredInterp *riPtr;
- Tcl_Obj *listObjPtr;
- int result = TCL_OK;
-
- for (i = 1; i < (objc - 1); ) {
- stringRep = Tcl_GetString(objv[i]);
- if (stringRep[0] == '-') {
- if (Tcl_GetIndexFromObjStruct(interp, objv[i], sendOptions,
- sizeof(char *), "option", 0, &index) != TCL_OK) {
- return TCL_ERROR;
- }
- if (index == 0) {
- /*async = 1;*/
- i++;
- } else if (index == 1) {
- i += 2;
- } else {
- i++;
- }
- } else {
- break;
- }
- }
-
- if (objc < (i + 2)) {
- Tcl_WrongNumArgs(interp, 1, objv,
- "?-option value ...? interpName arg ?arg ...?");
- return TCL_ERROR;
- }
-
- destName = Tcl_GetString(objv[i]);
- firstArg = i + 1;
-
- /*
- * See if the target interpreter is local. If so, execute the command
- * directly without going through the DDE server. The only tricky thing is
- * passing the result from the target interpreter to the invoking
- * interpreter. Watch out: they could be the same!
- */
-
- for (riPtr = interpListPtr; (riPtr != NULL)
- && (strcmp(destName, riPtr->name)); riPtr = riPtr->nextPtr) {
- /*
- * Empty loop body.
- */
- }
-
- if (riPtr != NULL) {
- /*
- * This command is to a local interp. No need to go through the
- * server.
- */
-
- Tcl_Interp *localInterp;
-
- Tcl_Preserve(riPtr);
- localInterp = riPtr->interp;
- Tcl_Preserve(localInterp);
- if (firstArg == (objc - 1)) {
- /*
- * This might be one of those cases where the new parser is
- * faster.
- */
-
- result = Tcl_EvalObjEx(localInterp, objv[firstArg],
- TCL_EVAL_DIRECT);
- } else {
- listObjPtr = Tcl_NewListObj(0, NULL);
- for (i = firstArg; i < objc; i++) {
- Tcl_ListObjAppendList(interp, listObjPtr, objv[i]);
- }
- Tcl_IncrRefCount(listObjPtr);
- result = Tcl_EvalObjEx(localInterp, listObjPtr, TCL_EVAL_DIRECT);
- Tcl_DecrRefCount(listObjPtr);
- }
- if (interp != localInterp) {
- if (result == TCL_ERROR) {
- /* Tcl_Obj *errorObjPtr; */
-
- /*
- * An error occurred, so transfer error information from the
- * destination interpreter back to our interpreter. Must clear
- * interp's result before calling Tcl_AddErrorInfo, since
- * Tcl_AddErrorInfo will store the interp's result in
- * errorInfo before appending riPtr's $errorInfo; we've
- * already got everything we need in riPtr's $errorInfo.
- */
-
- Tcl_ResetResult(interp);
- Tcl_AddErrorInfo(interp, Tcl_GetVar2(localInterp,
- "errorInfo", NULL, TCL_GLOBAL_ONLY));
- /* errorObjPtr = Tcl_GetObjVar2(localInterp, "errorCode", NULL,
- TCL_GLOBAL_ONLY);
- Tcl_SetObjErrorCode(interp, errorObjPtr); */
- }
- Tcl_SetObjResult(interp, Tcl_GetObjResult(localInterp));
- }
- Tcl_Release(riPtr);
- Tcl_Release(localInterp);
- } else {
- /*
- * TODO: This is a non-local request. Send the script to the server
- * and poll it for a result.
- */
- }
-
- return result;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkGetInterpNames --
- *
- * This procedure is invoked to fetch a list of all the interpreter names
- * currently registered for the display of a particular window.
- *
- * Results:
- * A standard Tcl return value. Interp->result will be set to hold a list
- * of all the interpreter names defined for tkwin's display. If an error
- * occurs, then TCL_ERROR is returned and interp->result will hold an
- * error message.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-int
-TkGetInterpNames(
- Tcl_Interp *interp, /* Interpreter for returning a result. */
- Tk_Window tkwin) /* Window whose display is to be used for the
- * lookup. */
-{
- Tcl_Obj *listObjPtr;
- RegisteredInterp *riPtr;
-
- listObjPtr = Tcl_NewListObj(0, NULL);
- riPtr = interpListPtr;
- while (riPtr != NULL) {
- Tcl_ListObjAppendElement(interp, listObjPtr,
- Tcl_NewStringObj(riPtr->name, -1));
- riPtr = riPtr->nextPtr;
- }
-
- Tcl_SetObjResult(interp, listObjPtr);
- return TCL_OK;
-}
-
-/*
- *--------------------------------------------------------------
- *
- * SendInit --
- *
- * This procedure is called to initialize the communication channels for
- * sending commands and receiving results.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Sets up various data structures and windows.
- *
- *--------------------------------------------------------------
- */
-
-static int
-SendInit(
- Tcl_Interp *interp) /* Interpreter to use for error reporting (no
- * errors are ever returned, but the
- * interpreter is needed anyway). */
-{
- return TCL_OK;
-}
-
-/*
- * Local Variables:
- * mode: objc
- * c-basic-offset: 4
- * fill-column: 79
- * coding: utf-8
- * End:
- */
diff --git a/tk8.6/macosx/tkMacOSXSubwindows.c b/tk8.6/macosx/tkMacOSXSubwindows.c
deleted file mode 100644
index 0f9214f..0000000
--- a/tk8.6/macosx/tkMacOSXSubwindows.c
+++ /dev/null
@@ -1,1456 +0,0 @@
-/*
- * tkMacOSXSubwindows.c --
- *
- * Implements subwindows for the macintosh version of Tk.
- *
- * Copyright (c) 1995-1997 Sun Microsystems, Inc.
- * Copyright 2001-2009, Apple Inc.
- * Copyright (c) 2006-2009 Daniel A. Steffen <das@users.sourceforge.net>
- *
- * See the file "license.terms" for information on usage and redistribution
- * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
- */
-
-#include "tkMacOSXPrivate.h"
-#include "tkMacOSXDebug.h"
-#include "tkMacOSXWm.h"
-
-/*
-#ifdef TK_MAC_DEBUG
-#define TK_MAC_DEBUG_CLIP_REGIONS
-#endif
-*/
-
-/*
- * Prototypes for functions used only in this file.
- */
-
-static void MoveResizeWindow(MacDrawable *macWin);
-static void GenerateConfigureNotify(TkWindow *winPtr,
- int includeWin);
-static void UpdateOffsets(TkWindow *winPtr, int deltaX,
- int deltaY);
-static void NotifyVisibility(TkWindow *winPtr, XEvent *eventPtr);
-
-
-/*
- *----------------------------------------------------------------------
- *
- * XDestroyWindow --
- *
- * Dealocates the given X Window.
- *
- * Results:
- * The window id is returned.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-XDestroyWindow(
- Display *display, /* Display. */
- Window window) /* Window. */
-{
- MacDrawable *macWin = (MacDrawable *) window;
-
- /*
- * Remove any dangling pointers that may exist if the window we are
- * deleting is being tracked by the grab code.
- */
-
- TkPointerDeadWindow(macWin->winPtr);
- TkMacOSXSelDeadWindow(macWin->winPtr);
- macWin->toplevel->referenceCount--;
-
- if (!Tk_IsTopLevel(macWin->winPtr) ) {
- TkMacOSXInvalidateWindow(macWin, TK_PARENT_WINDOW);
- if (macWin->winPtr->parentPtr != NULL) {
- TkMacOSXInvalClipRgns((Tk_Window) macWin->winPtr->parentPtr);
- }
- if (macWin->visRgn) {
- CFRelease(macWin->visRgn);
- }
- if (macWin->aboveVisRgn) {
- CFRelease(macWin->aboveVisRgn);
- }
- if (macWin->drawRgn) {
- CFRelease(macWin->drawRgn);
- }
-
- if (macWin->toplevel->referenceCount == 0) {
- ckfree(macWin->toplevel);
- }
- ckfree(macWin);
- return;
- }
- if (macWin->visRgn) {
- CFRelease(macWin->visRgn);
- }
- if (macWin->aboveVisRgn) {
- CFRelease(macWin->aboveVisRgn);
- }
- if (macWin->drawRgn) {
- CFRelease(macWin->drawRgn);
- }
- macWin->view = nil;
-
- /*
- * Delay deletion of a toplevel data structure untill all children have
- * been deleted.
- */
-
- if (macWin->toplevel->referenceCount == 0) {
- ckfree(macWin->toplevel);
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * XMapWindow --
- *
- * Map the given X Window to the screen. See X window documentation for
- * more details.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The subwindow or toplevel may appear on the screen.
- *
- *----------------------------------------------------------------------
- */
-
-void
-XMapWindow(
- Display *display, /* Display. */
- Window window) /* Window. */
-{
- MacDrawable *macWin = (MacDrawable *) window;
- XEvent event;
-
- /*
- * Under certain situations it's possible for this function to be called
- * before the toplevel window it's associated with has actually been
- * mapped. In that case we need to create the real Macintosh window now as
- * this function as well as other X functions assume that the portPtr is
- * valid.
- */
-
- if (!TkMacOSXHostToplevelExists(macWin->toplevel->winPtr)) {
- TkMacOSXMakeRealWindowExist(macWin->toplevel->winPtr);
- }
-
- display->request++;
- macWin->winPtr->flags |= TK_MAPPED;
- if (Tk_IsTopLevel(macWin->winPtr)) {
- if (!Tk_IsEmbedded(macWin->winPtr)) {
- NSWindow *win = TkMacOSXDrawableWindow(window);
- /*
- * We want to activate Tk when a toplevel is mapped
- * but we must not supply YES here. This is because
- * during Tk initialization the root window is mapped
- * before applicationDidFinishLaunching returns. Forcing
- * the app to activate too early can make the menu bar
- * unresponsive.
- */
- [NSApp activateIgnoringOtherApps:NO];
- if ( [win canBecomeKeyWindow] ) {
- [win makeKeyAndOrderFront:NSApp];
- }
- TkMacOSXApplyWindowAttributes(macWin->winPtr, win);
- } else {
- /*
- * Rebuild the container's clipping region and display
- * the window.
- */
- TkWindow *contWinPtr = TkpGetOtherWindow(macWin->winPtr);
- TkMacOSXInvalClipRgns((Tk_Window)contWinPtr);
- TkMacOSXInvalidateWindow(macWin, TK_PARENT_WINDOW);
- }
- TkMacOSXInvalClipRgns((Tk_Window) macWin->winPtr);
-
- /*
- * We only need to send the MapNotify event for toplevel windows.
- */
-
- event.xany.serial = LastKnownRequestProcessed(display);
- event.xany.send_event = False;
- event.xany.display = display;
-
- event.xmap.window = window;
- event.xmap.type = MapNotify;
- event.xmap.event = window;
- event.xmap.override_redirect = macWin->winPtr->atts.override_redirect;
- Tk_QueueWindowEvent(&event, TCL_QUEUE_TAIL);
- } else {
- /*
- * Rebuild the parent's clipping region and display the window.
- *
- */
-
- TkMacOSXInvalClipRgns((Tk_Window) macWin->winPtr->parentPtr);
- TkMacOSXInvalidateWindow(macWin, TK_PARENT_WINDOW);
- }
-
- /*
- * Generate VisibilityNotify events for window and all mapped children.
- */
-
- event.xany.send_event = False;
- event.xany.display = display;
- event.xvisibility.type = VisibilityNotify;
- event.xvisibility.state = VisibilityUnobscured;
- NotifyVisibility(macWin->winPtr, &event);
-
- /*
- * Make sure that subwindows get displayed.
- */
-
- GenerateConfigureNotify(macWin->winPtr, 1);
-
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * NotifyVisibility --
- *
- * Recursively called helper proc for XMapWindow().
- *
- * Results:
- * None.
- *
- * Side effects:
- * VisibilityNotify events are queued.
- *
- *----------------------------------------------------------------------
- */
-
-static void
-NotifyVisibility(
- TkWindow *winPtr,
- XEvent *eventPtr)
-{
- if (winPtr->atts.event_mask & VisibilityChangeMask) {
- eventPtr->xany.serial = LastKnownRequestProcessed(winPtr->display);
- eventPtr->xvisibility.window = winPtr->window;
- Tk_QueueWindowEvent(eventPtr, TCL_QUEUE_TAIL);
- }
- for (winPtr = winPtr->childList; winPtr != NULL;
- winPtr = winPtr->nextPtr) {
- if (winPtr->flags & TK_MAPPED) {
- NotifyVisibility(winPtr, eventPtr);
- }
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * XUnmapWindow --
- *
- * Unmap the given X Window to the screen. See X window documentation for
- * more details.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The subwindow or toplevel may be removed from the screen.
- *
- *----------------------------------------------------------------------
- */
-
-void
-XUnmapWindow(
- Display *display, /* Display. */
- Window window) /* Window. */
-{
- MacDrawable *macWin = (MacDrawable *) window;
- TkWindow *winPtr = macWin->winPtr;
- TkWindow *parentPtr = winPtr->parentPtr;
- XEvent event;
-
- display->request++;
- if (Tk_IsTopLevel(winPtr)) {
- if (!Tk_IsEmbedded(winPtr) &&
- winPtr->wmInfoPtr->hints.initial_state!=IconicState) {
- NSWindow *win = TkMacOSXDrawableWindow(window);
-
- if ([win isVisible]) {
- [[win parentWindow] removeChildWindow:win];
- [win orderOut:NSApp];
- }
- }
- TkMacOSXInvalClipRgns((Tk_Window) winPtr);
-
- /*
- * We only need to send the UnmapNotify event for toplevel windows.
- */
-
- event.xany.serial = LastKnownRequestProcessed(display);
- event.xany.send_event = False;
- event.xany.display = display;
-
- event.xunmap.type = UnmapNotify;
- event.xunmap.window = window;
- event.xunmap.event = window;
- event.xunmap.from_configure = false;
- Tk_QueueWindowEvent(&event, TCL_QUEUE_TAIL);
- } else {
-
- /*
- * Rebuild the visRgn clip region for the parent so it will be allowed
- * to draw in the space from which this subwindow was removed.
- */
-
- if (parentPtr && parentPtr->privatePtr->visRgn) {
- TkMacOSXInvalidateViewRegion(TkMacOSXDrawableView(parentPtr->privatePtr),
- parentPtr->privatePtr->visRgn);
- }
- TkMacOSXInvalClipRgns((Tk_Window) parentPtr);
- TkMacOSXUpdateClipRgn(parentPtr);
- }
- winPtr->flags &= ~TK_MAPPED;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * XResizeWindow --
- *
- * Resize a given X window. See X windows documentation for further
- * details.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-XResizeWindow(
- Display *display, /* Display. */
- Window window, /* Window. */
- unsigned int width,
- unsigned int height)
-{
- MacDrawable *macWin = (MacDrawable *) window;
- display->request++;
- if (Tk_IsTopLevel(macWin->winPtr) && !Tk_IsEmbedded(macWin->winPtr)) {
- NSWindow *w = macWin->winPtr->wmInfoPtr->window;
- if (w) {
- NSRect r = [w contentRectForFrameRect:[w frame]];
- r.origin.y += r.size.height - height;
- r.size.width = width;
- r.size.height = height;
- [w setFrame:[w frameRectForContentRect:r] display:YES];
- }
- } else {
- MoveResizeWindow(macWin);
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * XMoveResizeWindow --
- *
- * Move or resize a given X window. See X windows documentation
- * for further details.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-XMoveResizeWindow(
- Display *display, /* Display. */
- Window window, /* Window. */
- int x, int y,
- unsigned int width,
- unsigned int height)
-{
- MacDrawable *macWin = (MacDrawable *) window;
-
- display->request++;
- if (Tk_IsTopLevel(macWin->winPtr) && !Tk_IsEmbedded(macWin->winPtr)) {
- NSWindow *w = macWin->winPtr->wmInfoPtr->window;
- if (w) {
-
- /* We explicitly convert everything to doubles so we don't get
- * surprised (again) by what happens when you do arithmetic with
- * unsigned ints.
- */
-
- CGFloat X = (CGFloat)x;
- CGFloat Y = (CGFloat)y;
- CGFloat Width = (CGFloat)width;
- CGFloat Height = (CGFloat)height;
- CGFloat XOff = (CGFloat)macWin->winPtr->wmInfoPtr->xInParent;
- CGFloat YOff = (CGFloat)macWin->winPtr->wmInfoPtr->yInParent;
- NSRect r = NSMakeRect(X + XOff,
- tkMacOSXZeroScreenHeight - Y - YOff - Height,
- Width, Height);
- [w setFrame:[w frameRectForContentRect:r] display:YES];
- }
- } else {
- MoveResizeWindow(macWin);
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * XMoveWindow --
- *
- * Move a given X window. See X windows documentation for further
- * details.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-XMoveWindow(
- Display *display, /* Display. */
- Window window, /* Window. */
- int x, int y)
-{
- MacDrawable *macWin = (MacDrawable *) window;
-
- display->request++;
- if (Tk_IsTopLevel(macWin->winPtr) && !Tk_IsEmbedded(macWin->winPtr)) {
- NSWindow *w = macWin->winPtr->wmInfoPtr->window;
- if (w) {
- [w setFrameTopLeftPoint:NSMakePoint(x, tkMacOSXZeroScreenHeight - y)];
- }
- } else {
- MoveResizeWindow(macWin);
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * MoveResizeWindow --
- *
- * Helper proc for XResizeWindow, XMoveResizeWindow and XMoveWindow.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-static void
-MoveResizeWindow(
- MacDrawable *macWin)
-{
- int deltaX = 0, deltaY = 0, parentBorderwidth = 0;
- MacDrawable *macParent = NULL;
- NSWindow *macWindow = TkMacOSXDrawableWindow((Drawable) macWin);
-
- /*
- * Find the Parent window, for an embedded window it will be its container.
- */
-
- if (Tk_IsEmbedded(macWin->winPtr)) {
- TkWindow *contWinPtr = TkpGetOtherWindow(macWin->winPtr);
-
- if (contWinPtr) {
- macParent = contWinPtr->privatePtr;
- } else {
-
- /*
- * Here we should handle out of process embedding. At this point,
- * we are assuming that the changes.x,y is not maintained, if you
- * need the info get it from Tk_GetRootCoords, and that the
- * toplevel sits at 0,0 when it is drawn.
- */
- }
- } else {
-
- /*
- * TODO: update all xOff & yOffs
- */
-
- macParent = macWin->winPtr->parentPtr->privatePtr;
- parentBorderwidth = macWin->winPtr->parentPtr->changes.border_width;
- }
-
- if (macParent) {
- deltaX = macParent->xOff + parentBorderwidth +
- macWin->winPtr->changes.x - macWin->xOff;
- deltaY = macParent->yOff + parentBorderwidth +
- macWin->winPtr->changes.y - macWin->yOff;
- }
- if (macWindow) {
- TkMacOSXInvalidateWindow(macWin, TK_PARENT_WINDOW);
- if (macParent) {
- TkMacOSXInvalClipRgns((Tk_Window) macParent->winPtr);
- }
- }
- UpdateOffsets(macWin->winPtr, deltaX, deltaY);
- if (macWindow) {
- TkMacOSXInvalidateWindow(macWin, TK_PARENT_WINDOW);
- }
- GenerateConfigureNotify(macWin->winPtr, 0);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * GenerateConfigureNotify --
- *
- * Generates ConfigureNotify events for all the child widgets of the
- * widget passed in the winPtr parameter. If includeWin is true, also
- * generates ConfigureNotify event for the widget itself.
- *
- * Results:
- * None.
- *
- * Side effects:
- * ConfigureNotify events will be posted.
- *
- *----------------------------------------------------------------------
- */
-
-static void
-GenerateConfigureNotify(
- TkWindow *winPtr,
- int includeWin)
-{
- TkWindow *childPtr;
-
- for (childPtr = winPtr->childList; childPtr != NULL;
- childPtr = childPtr->nextPtr) {
- if (!Tk_IsMapped(childPtr) || Tk_IsTopLevel(childPtr)) {
- continue;
- }
- GenerateConfigureNotify(childPtr, 1);
- }
- if (includeWin) {
- TkDoConfigureNotify(winPtr);
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * XRaiseWindow --
- *
- * Change the stacking order of a window.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Changes the stacking order of the specified window.
- *
- *----------------------------------------------------------------------
- */
-
-void
-XRaiseWindow(
- Display *display, /* Display. */
- Window window) /* Window. */
-{
- MacDrawable *macWin = (MacDrawable *) window;
-
- display->request++;
- if (Tk_IsTopLevel(macWin->winPtr) && !Tk_IsEmbedded(macWin->winPtr)) {
- TkWmRestackToplevel(macWin->winPtr, Above, NULL);
- } else {
-
- /*
- * TODO: this should generate damage
- */
- }
-}
-
-#if 0
-/*
- *----------------------------------------------------------------------
- *
- * XLowerWindow --
- *
- * Change the stacking order of a window.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Changes the stacking order of the specified window.
- *
- *----------------------------------------------------------------------
- */
-
-void
-XLowerWindow(
- Display *display, /* Display. */
- Window window) /* Window. */
-{
- MacDrawable *macWin = (MacDrawable *) window;
-
- display->request++;
- if (Tk_IsTopLevel(macWin->winPtr) && !Tk_IsEmbedded(macWin->winPtr)) {
- TkWmRestackToplevel(macWin->winPtr, Below, NULL);
- } else {
-
- /*
- * TODO: this should generate damage
- */
- }
-}
-#endif
-
-/*
- *----------------------------------------------------------------------
- *
- * XConfigureWindow --
- *
- * Change the size, position, stacking, or border of the specified window.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Changes the attributes of the specified window. Note that we ignore the
- * passed in values and use the values stored in the TkWindow data
- * structure.
- *
- *----------------------------------------------------------------------
- */
-
-void
-XConfigureWindow(
- Display *display, /* Display. */
- Window w, /* Window. */
- unsigned int value_mask,
- XWindowChanges *values)
-{
- MacDrawable *macWin = (MacDrawable *) w;
- TkWindow *winPtr = macWin->winPtr;
-
- display->request++;
-
- /*
- * Change the shape and/or position of the window.
- */
-
- if (value_mask & (CWX|CWY|CWWidth|CWHeight)) {
- XMoveResizeWindow(display, w, winPtr->changes.x, winPtr->changes.y,
- winPtr->changes.width, winPtr->changes.height);
- }
-
- /*
- * Change the stacking order of the window. Tk actually keeps all the
- * information we need for stacking order. All we need to do is make sure
- * the clipping regions get updated and generate damage that will ensure
- * things get drawn correctly.
- */
-
- if (value_mask & CWStackMode) {
- NSView *view = TkMacOSXDrawableView(macWin);
- Rect bounds;
- NSRect r;
-
- if (view) {
- TkMacOSXInvalClipRgns((Tk_Window) winPtr->parentPtr);
- TkMacOSXWinBounds(winPtr, &bounds);
- r = NSMakeRect(bounds.left,
- [view bounds].size.height - bounds.bottom,
- bounds.right - bounds.left, bounds.bottom - bounds.top);
- [view setNeedsDisplayInRect:r];
- }
- }
-
- /* TkGenWMMoveRequestEvent(macWin->winPtr,
- macWin->winPtr->changes.x, macWin->winPtr->changes.y); */
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXSetDrawingEnabled --
- *
- * This function sets the TK_DO_NOT_DRAW flag for a given window and
- * all of its children.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The clipping regions for the window and its children are cleared.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkMacOSXSetDrawingEnabled(
- TkWindow *winPtr,
- int flag)
-{
- TkWindow *childPtr;
- MacDrawable *macWin = winPtr->privatePtr;
-
- if (macWin) {
- if (flag ) {
- macWin->flags &= ~TK_DO_NOT_DRAW;
- } else {
- macWin->flags |= TK_DO_NOT_DRAW;
- }
- }
-
- /*
- * Set the flag for all children & their descendants, excluding
- * Toplevels. (??? Do we need to exclude Toplevels?)
- */
-
- childPtr = winPtr->childList;
- while (childPtr) {
- if (!Tk_IsTopLevel(childPtr)) {
- TkMacOSXSetDrawingEnabled(childPtr, flag);
- }
- childPtr = childPtr->nextPtr;
- }
-
- /*
- * If the window is a container, set the flag for its embedded window.
- */
-
- if (Tk_IsContainer(winPtr)) {
- childPtr = TkpGetOtherWindow(winPtr);
-
- if (childPtr) {
- TkMacOSXSetDrawingEnabled(childPtr, flag);
- }
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXUpdateClipRgn --
- *
- * This function updates the clipping regions for a given window and all of
- * its children. Once updated the TK_CLIP_INVALID flag in the subwindow
- * data structure is unset. The TK_CLIP_INVALID flag should always be
- * unset before any drawing is attempted.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The clip regions for the window and its children are updated.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkMacOSXUpdateClipRgn(
- TkWindow *winPtr)
-{
- MacDrawable *macWin;
-
- if (winPtr == NULL) {
- return;
- }
- macWin = winPtr->privatePtr;
- if (macWin && macWin->flags & TK_CLIP_INVALID) {
- TkWindow *win2Ptr;
-
-#ifdef TK_MAC_DEBUG_CLIP_REGIONS
- TkMacOSXDbgMsg("%s", winPtr->pathName);
-#endif
- if (Tk_IsMapped(winPtr)) {
- int rgnChanged = 0;
- CGRect bounds;
- HIMutableShapeRef rgn;
-
- /*
- * Start with a region defined by the window bounds.
- */
-
- TkMacOSXWinCGBounds(winPtr, &bounds);
- rgn = TkMacOSXHIShapeCreateMutableWithRect(&bounds);
-
- /*
- * Clip away the area of any windows that may obscure this window.
- * For a non-toplevel window, first, clip to the parents visible
- * clip region. Second, clip away any siblings that are higher in
- * the stacking order. For an embedded toplevel, just clip to the
- * container's visible clip region. Remember, we only allow one
- * contained window in a frame, and don't support any other widgets
- * in the frame either. This is not currently enforced, however.
- */
-
- if (!Tk_IsTopLevel(winPtr)) {
- if (winPtr->parentPtr) {
- TkMacOSXUpdateClipRgn(winPtr->parentPtr);
- ChkErr(HIShapeIntersect,
- winPtr->parentPtr->privatePtr->aboveVisRgn,
- rgn, rgn);
- }
- win2Ptr = winPtr;
- while ((win2Ptr = win2Ptr->nextPtr)) {
- if (Tk_IsTopLevel(win2Ptr) || !Tk_IsMapped(win2Ptr)) {
- continue;
- }
- TkMacOSXWinCGBounds(win2Ptr, &bounds);
- ChkErr(TkMacOSHIShapeDifferenceWithRect, rgn, &bounds);
- }
- } else if (Tk_IsEmbedded(winPtr)) {
- win2Ptr = TkpGetOtherWindow(winPtr);
- if (win2Ptr) {
- TkMacOSXUpdateClipRgn(win2Ptr);
- ChkErr(HIShapeIntersect,
- win2Ptr->privatePtr->aboveVisRgn, rgn, rgn);
- } else if (tkMacOSXEmbedHandler != NULL) {
- TkRegion r = TkCreateRegion();
- HIShapeRef visRgn;
-
- tkMacOSXEmbedHandler->getClipProc((Tk_Window) winPtr, r);
- visRgn = TkMacOSXGetNativeRegion(r);
- ChkErr(HIShapeIntersect, visRgn, rgn, rgn);
- CFRelease(visRgn);
- TkpReleaseRegion(r);
- }
-
- /*
- * TODO: Here we should handle out of process embedding.
- */
- }
- macWin->aboveVisRgn = HIShapeCreateCopy(rgn);
-
- /*
- * The final clip region is the aboveVis region (or visible region)
- * minus all the children of this window. If the window is a
- * container, we must also subtract the region of the embedded
- * window.
- */
-
- win2Ptr = winPtr->childList;
- while (win2Ptr) {
- if (Tk_IsTopLevel(win2Ptr) || !Tk_IsMapped(win2Ptr)) {
- win2Ptr = win2Ptr->nextPtr;
- continue;
- }
- TkMacOSXWinCGBounds(win2Ptr, &bounds);
- ChkErr(TkMacOSHIShapeDifferenceWithRect, rgn, &bounds);
- rgnChanged = 1;
- win2Ptr = win2Ptr->nextPtr;
- }
-
- if (Tk_IsContainer(winPtr)) {
- win2Ptr = TkpGetOtherWindow(winPtr);
- if (win2Ptr) {
- if (Tk_IsMapped(win2Ptr)) {
- TkMacOSXWinCGBounds(win2Ptr, &bounds);
- ChkErr(TkMacOSHIShapeDifferenceWithRect, rgn, &bounds);
- rgnChanged = 1;
- }
- }
-
- /*
- * TODO: Here we should handle out of process embedding.
- */
- }
-
- if (rgnChanged) {
- HIShapeRef diffRgn = HIShapeCreateDifference(
- macWin->aboveVisRgn, rgn);
-
- if (!HIShapeIsEmpty(diffRgn)) {
- macWin->visRgn = HIShapeCreateCopy(rgn);
- }
- CFRelease(diffRgn);
- }
- CFRelease(rgn);
- } else {
-
- /*
- * An unmapped window has empty clip regions to prevent any
- * (erroneous) drawing into it or its children from becoming
- * visible. [Bug 940117]
- */
-
- if (!Tk_IsTopLevel(winPtr)) {
- TkMacOSXUpdateClipRgn(winPtr->parentPtr);
- } else if (Tk_IsEmbedded(winPtr)) {
- win2Ptr = TkpGetOtherWindow(winPtr);
- if (win2Ptr) {
- TkMacOSXUpdateClipRgn(win2Ptr);
- }
- }
- macWin->aboveVisRgn = TkMacOSXHIShapeCreateEmpty();
- }
- if (!macWin->visRgn) {
- macWin->visRgn = HIShapeCreateCopy(macWin->aboveVisRgn);
- }
- macWin->flags &= ~TK_CLIP_INVALID;
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXVisableClipRgn --
- *
- * This function returns the Macintosh clipping region for the given
- * window. The caller is responsible for disposing of the returned
- * region via TkDestroyRegion().
- *
- * Results:
- * The region.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-TkRegion
-TkMacOSXVisableClipRgn(
- TkWindow *winPtr)
-{
- if (winPtr->privatePtr->flags & TK_CLIP_INVALID) {
- TkMacOSXUpdateClipRgn(winPtr);
- }
- return (TkRegion)HIShapeCreateMutableCopy(winPtr->privatePtr->visRgn);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXInvalidateViewRegion --
- *
- * This function invalidates the given region of a view.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Damage is created.
- *
- *----------------------------------------------------------------------
- */
-
-static OSStatus
-InvalViewRect(int msg, HIShapeRef rgn, const CGRect *rect, void *ref) {
- static CGAffineTransform t;
- NSView *view = ref;
-
- if (!view) {
- return paramErr;
- }
- switch (msg) {
- case kHIShapeEnumerateInit:
- t = CGAffineTransformMake(1.0, 0.0, 0.0, -1.0, 0.0,
- NSHeight([view bounds]));
- break;
- case kHIShapeEnumerateRect:
- [view setNeedsDisplayInRect:NSRectFromCGRect(
- CGRectApplyAffineTransform(*rect, t))];
- break;
- }
- return noErr;
-}
-
-void
-TkMacOSXInvalidateViewRegion(
- NSView *view,
- HIShapeRef rgn)
-{
- if (view && !HIShapeIsEmpty(rgn)) {
- ChkErr(HIShapeEnumerate, rgn,
- kHIShapeParseFromBottom|kHIShapeParseFromLeft,
- InvalViewRect, view);
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXInvalidateWindow --
- *
- * This function invalidates a window and (optionally) its children.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Damage is created.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkMacOSXInvalidateWindow(
- MacDrawable *macWin, /* Window to be invalidated. */
- int flag) /* Should be TK_WINDOW_ONLY or
- * TK_PARENT_WINDOW */
-{
-#ifdef TK_MAC_DEBUG_CLIP_REGIONS
- TkMacOSXDbgMsg("%s", macWin->winPtr->pathName);
-#endif
- if (macWin->flags & TK_CLIP_INVALID) {
- TkMacOSXUpdateClipRgn(macWin->winPtr);
- }
- TkMacOSXInvalidateViewRegion(TkMacOSXDrawableView(macWin),
- (flag == TK_WINDOW_ONLY) ? macWin->visRgn : macWin->aboveVisRgn);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXDrawableWindow --
- *
- * This function returns the NSWindow for a given X drawable.
- *
- * Results:
- * A NSWindow, or nil for off screen pixmaps.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-NSWindow*
-TkMacOSXDrawableWindow(
- Drawable drawable)
-{
- MacDrawable *macWin = (MacDrawable *) drawable;
- NSWindow *result = nil;
-
- if (!macWin || macWin->flags & TK_IS_PIXMAP) {
- result = nil;
- } else if (macWin->toplevel && macWin->toplevel->winPtr &&
- macWin->toplevel->winPtr->wmInfoPtr &&
- macWin->toplevel->winPtr->wmInfoPtr->window) {
- result = macWin->toplevel->winPtr->wmInfoPtr->window;
- } else if (macWin->winPtr && macWin->winPtr->wmInfoPtr &&
- macWin->winPtr->wmInfoPtr->window) {
- result = macWin->winPtr->wmInfoPtr->window;
- } else if (macWin->toplevel && (macWin->toplevel->flags & TK_EMBEDDED)) {
- TkWindow *contWinPtr = TkpGetOtherWindow(macWin->toplevel->winPtr);
- if (contWinPtr) {
- result = TkMacOSXDrawableWindow((Drawable) contWinPtr->privatePtr);
- }
- }
- return result;
-}
-
-void *
-TkMacOSXDrawable(
- Drawable drawable)
-{
- return TkMacOSXDrawableWindow(drawable);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXGetDrawablePort --
- *
- * This function returns the Graphics Port for a given X drawable.
- *
- * Results:
- * NULL.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void *
-TkMacOSXGetDrawablePort(
- Drawable drawable)
-{
- return NULL;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXDrawableView --
- *
- * This function returns the NSView for a given X drawable.
- *
- * Results:
- * A NSView* or nil.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-NSView*
-TkMacOSXDrawableView(
- MacDrawable *macWin)
-{
- NSView *result = nil;
-
- if (!macWin) {
- result = nil;
- } else if (!macWin->toplevel) {
- result = macWin->view;
- } else if (!(macWin->toplevel->flags & TK_EMBEDDED)) {
- result = macWin->toplevel->view;
- } else {
- TkWindow *contWinPtr = TkpGetOtherWindow(macWin->toplevel->winPtr);
- if (contWinPtr) {
- result = TkMacOSXDrawableView(contWinPtr->privatePtr);
- }
- }
- return result;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXGetRootControl --
- *
- * This function returns the NSView for a given X drawable.
- *
- * Results:
- * A NSView* .
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void *
-TkMacOSXGetRootControl(
- Drawable drawable)
-{
-
- /*
- * will probably need to fix this up for embedding
- */
-
- return TkMacOSXDrawableView((MacDrawable *) drawable);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXInvalClipRgns --
- *
- * This function invalidates the clipping regions for a given window and
- * all of its children. This function should be called whenever changes
- * are made to subwindows that would affect the size or position of
- * windows.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The clipping regions for the window and its children are marked invalid.
- * (Make sure they are valid before drawing.)
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkMacOSXInvalClipRgns(
- Tk_Window tkwin)
-{
- TkWindow *winPtr = (TkWindow *) tkwin;
- TkWindow *childPtr;
- MacDrawable *macWin = winPtr->privatePtr;
-
- /*
- * If already marked we can stop because all descendants will also already
- * be marked.
- */
-
-#ifdef TK_MAC_DEBUG_CLIP_REGIONS
- TkMacOSXDbgMsg("%s", winPtr->pathName);
-#endif
-
- if (!macWin || macWin->flags & TK_CLIP_INVALID) {
- return;
- }
-
- macWin->flags |= TK_CLIP_INVALID;
- if (macWin->visRgn) {
- CFRelease(macWin->visRgn);
- macWin->visRgn = NULL;
- }
- if (macWin->aboveVisRgn) {
- CFRelease(macWin->aboveVisRgn);
- macWin->aboveVisRgn = NULL;
- }
- if (macWin->drawRgn) {
- CFRelease(macWin->drawRgn);
- macWin->drawRgn = NULL;
- }
-
- /*
- * Invalidate clip regions for all children & their descendants, unless the
- * child is a toplevel.
- */
-
- childPtr = winPtr->childList;
- while (childPtr) {
- if (!Tk_IsTopLevel(childPtr)) {
- TkMacOSXInvalClipRgns((Tk_Window) childPtr);
- }
- childPtr = childPtr->nextPtr;
- }
-
- /*
- * Also, if the window is a container, mark its embedded window.
- */
-
- if (Tk_IsContainer(winPtr)) {
- childPtr = TkpGetOtherWindow(winPtr);
-
- if (childPtr) {
- TkMacOSXInvalClipRgns((Tk_Window) childPtr);
- }
-
- /*
- * TODO: Here we should handle out of process embedding.
- */
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXWinBounds --
- *
- * Given a Tk window this function determines the windows bounds in
- * relation to the Macintosh window's coordinate system. This is also the
- * same coordinate system as the Tk toplevel window in which this window
- * is contained.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkMacOSXWinBounds(
- TkWindow *winPtr,
- void *bounds)
-{
- Rect *b = (Rect *)bounds;
- b->left = winPtr->privatePtr->xOff;
- b->top = winPtr->privatePtr->yOff;
- b->right = b->left + winPtr->changes.width;
- b->bottom = b->top + winPtr->changes.height;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXWinCGBounds --
- *
- * Given a Tk window this function determines the windows bounds in
- * relation to the Macintosh window's coordinate system. This is also the
- * same coordinate system as the Tk toplevel window in which this window
- * is contained.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkMacOSXWinCGBounds(
- TkWindow *winPtr,
- CGRect *bounds)
-{
- bounds->origin.x = winPtr->privatePtr->xOff;
- bounds->origin.y = winPtr->privatePtr->yOff;
- bounds->size.width = winPtr->changes.width;
- bounds->size.height = winPtr->changes.height;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * UpdateOffsets --
- *
- * Updates the X & Y offsets of the given TkWindow from the TopLevel it is
- * a decendant of.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The xOff & yOff fields for the Mac window datastructure is updated to
- * the proper offset.
- *
- *----------------------------------------------------------------------
- */
-
-static void
-UpdateOffsets(
- TkWindow *winPtr,
- int deltaX,
- int deltaY)
-{
- TkWindow *childPtr;
-
- if (winPtr->privatePtr == NULL) {
-
- /*
- * We haven't called Tk_MakeWindowExist for this window yet. The offset
- * information will be postponed and calulated at that time. (This will
- * usually only happen when a mapped parent is being moved but has
- * child windows that have yet to be mapped.)
- */
-
- return;
- }
-
- winPtr->privatePtr->xOff += deltaX;
- winPtr->privatePtr->yOff += deltaY;
-
- childPtr = winPtr->childList;
- while (childPtr != NULL) {
- if (!Tk_IsTopLevel(childPtr)) {
- UpdateOffsets(childPtr, deltaX, deltaY);
- }
- childPtr = childPtr->nextPtr;
- }
-
- if (Tk_IsContainer(winPtr)) {
- childPtr = TkpGetOtherWindow(winPtr);
- if (childPtr != NULL) {
- UpdateOffsets(childPtr,deltaX,deltaY);
- }
-
- /*
- * TODO: Here we should handle out of process embedding.
- */
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * Tk_GetPixmap --
- *
- * Creates an in memory drawing surface.
- *
- * Results:
- * Returns a handle to a new pixmap.
- *
- * Side effects:
- * Allocates a new CGBitmapContext.
- *
- *----------------------------------------------------------------------
- */
-
-Pixmap
-Tk_GetPixmap(
- Display *display, /* Display for new pixmap (can be null). */
- Drawable d, /* Drawable where pixmap will be used (ignored). */
- int width, /* Dimensions of pixmap. */
- int height,
- int depth) /* Bits per pixel for pixmap. */
-{
- MacDrawable *macPix;
-
- if (display != NULL) {
- display->request++;
- }
- macPix = ckalloc(sizeof(MacDrawable));
- macPix->winPtr = NULL;
- macPix->xOff = 0;
- macPix->yOff = 0;
- macPix->visRgn = NULL;
- macPix->aboveVisRgn = NULL;
- macPix->drawRgn = NULL;
- macPix->referenceCount = 0;
- macPix->toplevel = NULL;
- macPix->flags = TK_IS_PIXMAP | (depth == 1 ? TK_IS_BW_PIXMAP : 0);
- macPix->view = nil;
- macPix->context = NULL;
- macPix->size = CGSizeMake(width, height);
-
- return (Pixmap) macPix;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * Tk_FreePixmap --
- *
- * Release the resources associated with a pixmap.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Deletes the CGBitmapContext created by Tk_GetPixmap.
- *
- *----------------------------------------------------------------------
- */
-
-void
-Tk_FreePixmap(
- Display *display, /* Display. */
- Pixmap pixmap) /* Pixmap to destroy */
-{
- MacDrawable *macPix = (MacDrawable *) pixmap;
-
- display->request++;
- if (macPix->context) {
- char *data = CGBitmapContextGetData(macPix->context);
-
- if (data) {
- ckfree(data);
- }
- CFRelease(macPix->context);
- }
- ckfree(macPix);
-}
-
-/*
- * Local Variables:
- * mode: objc
- * c-basic-offset: 4
- * fill-column: 79
- * coding: utf-8
- * End:
- */
diff --git a/tk8.6/macosx/tkMacOSXTest.c b/tk8.6/macosx/tkMacOSXTest.c
deleted file mode 100644
index 5576c44..0000000
--- a/tk8.6/macosx/tkMacOSXTest.c
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * tkMacOSXTest.c --
- *
- * Contains commands for platform specific tests for
- * the Macintosh platform.
- *
- * Copyright (c) 1996 Sun Microsystems, Inc.
- * Copyright 2001-2009, Apple Inc.
- * Copyright (c) 2005-2009 Daniel A. Steffen <das@users.sourceforge.net>
- *
- * See the file "license.terms" for information on usage and redistribution
- * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
- */
-
-#include "tkMacOSXPrivate.h"
-
-/*
- * Forward declarations of procedures defined later in this file:
- */
-
-static int DebuggerObjCmd (ClientData dummy, Tcl_Interp *interp,
- int objc, Tcl_Obj *const objv[]);
-
-/*
- *----------------------------------------------------------------------
- *
- * TkplatformtestInit --
- *
- * Defines commands that test platform specific functionality for
- * Unix platforms.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * Defines new commands.
- *
- *----------------------------------------------------------------------
- */
-
-int
-TkplatformtestInit(
- Tcl_Interp *interp) /* Interpreter to add commands to. */
-{
- /*
- * Add commands for platform specific tests on MacOS here.
- */
-
- Tcl_CreateObjCommand(interp, "debugger", DebuggerObjCmd,
- (ClientData) 0, (Tcl_CmdDeleteProc *) NULL);
-
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * DebuggerObjCmd --
- *
- * This procedure simply calls the low level debugger.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-DebuggerObjCmd(
- ClientData clientData, /* Not used. */
- Tcl_Interp *interp, /* Not used. */
- int objc, /* Not used. */
- Tcl_Obj *const objv[]) /* Not used. */
-{
- Debugger();
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkTestSimulateDrawing --
- *
- * A test widget display procedure which records calls can use this to
- * avoid duplicate calls which would occur due to fact that no valid
- * graphics context is available to the idle task which is running the
- * display proc. Note that no actual drawing to the screen will take
- * place when this flag is set. This is just a wrapper for the NSApp
- * property.
- *
- *
- * Results:
- * Calls to low level drawing routines will return without actually
- * drawing anything to the screen.
- *
- * Side effects:
- * None
- *
- *----------------------------------------------------------------------
- */
-MODULE_SCOPE void
-TkTestSimulateDrawing(Bool yesno) {
- [NSApp setSimulateDrawing:yesno];
-}
-
-
-
-/*
- * Local Variables:
- * mode: objc
- * c-basic-offset: 4
- * fill-column: 79
- * coding: utf-8
- * End:
- */
diff --git a/tk8.6/macosx/tkMacOSXWindowEvent.c b/tk8.6/macosx/tkMacOSXWindowEvent.c
deleted file mode 100644
index 5429487..0000000
--- a/tk8.6/macosx/tkMacOSXWindowEvent.c
+++ /dev/null
@@ -1,1112 +0,0 @@
-/*
- * tkMacOSXWindowEvent.c --
- *
- * This file defines the routines for both creating and handling Window
- * Manager class events for Tk.
- *
- * Copyright 2001-2009, Apple Inc.
- * Copyright (c) 2005-2009 Daniel A. Steffen <das@users.sourceforge.net>
- * Copyright (c) 2015 Kevin Walzer/WordTech Communications LLC.
- * Copyright (c) 2015 Marc Culler.
- *
- * See the file "license.terms" for information on usage and redistribution of
- * this file, and for a DISCLAIMER OF ALL WARRANTIES.
- */
-
-#include "tkMacOSXPrivate.h"
-#include "tkMacOSXWm.h"
-#include "tkMacOSXEvent.h"
-#include "tkMacOSXDebug.h"
-#include "tkMacOSXConstants.h"
-
-/*
-#ifdef TK_MAC_DEBUG
-#define TK_MAC_DEBUG_EVENTS
-#define TK_MAC_DEBUG_DRAWING
-#endif
-*/
-
-/*
- * Declaration of functions used only in this file
- */
-
-static int GenerateUpdates(HIShapeRef updateRgn,
- CGRect *updateBounds, TkWindow *winPtr);
-static int GenerateActivateEvents(TkWindow *winPtr,
- int activeFlag);
-static void DoWindowActivate(ClientData clientData);
-
-#pragma mark TKApplication(TKWindowEvent)
-
-#ifdef TK_MAC_DEBUG_NOTIFICATIONS
-extern NSString *NSWindowWillOrderOnScreenNotification;
-extern NSString *NSWindowDidOrderOnScreenNotification;
-extern NSString *NSWindowDidOrderOffScreenNotification;
-#endif
-
-
-@implementation TKApplication(TKWindowEvent)
-
-- (void) windowActivation: (NSNotification *) notification
-{
-#ifdef TK_MAC_DEBUG_NOTIFICATIONS
- TKLog(@"-[%@(%p) %s] %@", [self class], self, _cmd, notification);
-#endif
- BOOL activate = [[notification name]
- isEqualToString:NSWindowDidBecomeKeyNotification];
- NSWindow *w = [notification object];
- TkWindow *winPtr = TkMacOSXGetTkWindow(w);
-
- if (winPtr && Tk_IsMapped(winPtr)) {
- GenerateActivateEvents(winPtr, activate);
- }
-}
-
-- (void) windowBoundsChanged: (NSNotification *) notification
-{
-#ifdef TK_MAC_DEBUG_NOTIFICATIONS
- TKLog(@"-[%@(%p) %s] %@", [self class], self, _cmd, notification);
-#endif
- BOOL movedOnly = [[notification name]
- isEqualToString:NSWindowDidMoveNotification];
-
- NSWindow *w = [notification object];
- TkWindow *winPtr = TkMacOSXGetTkWindow(w);
-
- if (winPtr) {
- WmInfo *wmPtr = winPtr->wmInfoPtr;
- NSRect bounds = [w frame];
- int x, y, width = -1, height = -1, flags = 0;
-
- x = bounds.origin.x;
- y = tkMacOSXZeroScreenHeight - (bounds.origin.y + bounds.size.height);
- if (winPtr->changes.x != x || winPtr->changes.y != y){
- flags |= TK_LOCATION_CHANGED;
- } else {
- x = y = -1;
- }
- if (!movedOnly && (winPtr->changes.width != bounds.size.width ||
- winPtr->changes.height != bounds.size.height)) {
- width = bounds.size.width - wmPtr->xInParent;
- height = bounds.size.height - wmPtr->yInParent;
- flags |= TK_SIZE_CHANGED;
- }
- if (Tcl_GetServiceMode() != TCL_SERVICE_NONE) {
-
- /*
- * Propagate geometry changes immediately.
- */
-
- flags |= TK_MACOSX_HANDLE_EVENT_IMMEDIATELY;
- }
- TkGenWMConfigureEvent((Tk_Window) winPtr, x, y, width, height, flags);
- }
-}
-
-- (void) windowExpanded: (NSNotification *) notification
-{
-#ifdef TK_MAC_DEBUG_NOTIFICATIONS
- TKLog(@"-[%@(%p) %s] %@", [self class], self, _cmd, notification);
-#endif
- NSWindow *w = [notification object];
- TkWindow *winPtr = TkMacOSXGetTkWindow(w);
-
- if (winPtr) {
- winPtr->wmInfoPtr->hints.initial_state =
- TkMacOSXIsWindowZoomed(winPtr) ? ZoomState : NormalState;
- Tk_MapWindow((Tk_Window) winPtr);
- if (Tcl_GetServiceMode() != TCL_SERVICE_NONE) {
-
- /*
- * Process all Tk events generated by Tk_MapWindow().
- */
-
- while (Tcl_ServiceEvent(0)) {}
- while (Tcl_DoOneEvent(TCL_IDLE_EVENTS|TCL_DONT_WAIT)) {}
-
- /*
- * NSWindowDidDeminiaturizeNotification is received after
- * NSWindowDidBecomeKeyNotification, so activate manually
- */
-
- GenerateActivateEvents(winPtr, 1);
- } else {
- Tcl_DoWhenIdle(DoWindowActivate, winPtr);
- }
- }
-}
-
-- (void) windowCollapsed: (NSNotification *) notification
-{
-#ifdef TK_MAC_DEBUG_NOTIFICATIONS
- TKLog(@"-[%@(%p) %s] %@", [self class], self, _cmd, notification);
-#endif
- NSWindow *w = [notification object];
- TkWindow *winPtr = TkMacOSXGetTkWindow(w);
-
- if (winPtr) {
- Tk_UnmapWindow((Tk_Window) winPtr);
- }
-}
-
-- (BOOL) windowShouldClose: (NSWindow *) w
-{
-#ifdef TK_MAC_DEBUG_NOTIFICATIONS
- TKLog(@"-[%@(%p) %s] %@", [self class], self, _cmd, w);
-#endif
- TkWindow *winPtr = TkMacOSXGetTkWindow(w);
-
- if (winPtr) {
- TkGenWMDestroyEvent((Tk_Window) winPtr);
- if (_windowWithMouse == w) {
- _windowWithMouse = nil;
- [w release];
- }
- }
-
- /*
- * If necessary, TkGenWMDestroyEvent() handles [close]ing the window,
- * so can always return NO from -windowShouldClose: for a Tk window.
- */
-
- return (winPtr ? NO : YES);
-}
-
-
-#ifdef TK_MAC_DEBUG_NOTIFICATIONS
-
-- (void) windowDragStart: (NSNotification *) notification
-{
- TKLog(@"-[%@(%p) %s] %@", [self class], self, _cmd, notification);
-}
-
-- (void) windowLiveResize: (NSNotification *) notification
-{
- TKLog(@"-[%@(%p) %s] %@", [self class], self, _cmd, notification);
- //BOOL start = [[notification name] isEqualToString:NSWindowWillStartLiveResizeNotification];
-}
-
-- (void) windowMapped: (NSNotification *) notification
-{
- TKLog(@"-[%@(%p) %s] %@", [self class], self, _cmd, notification);
- NSWindow *w = [notification object];
- TkWindow *winPtr = TkMacOSXGetTkWindow(w);
-
- if (winPtr) {
- //Tk_MapWindow((Tk_Window) winPtr);
- }
-}
-
-- (void) windowBecameVisible: (NSNotification *) notification
-{
- TKLog(@"-[%@(%p) %s] %@", [self class], self, _cmd, notification);
-}
-
-- (void) windowUnmapped: (NSNotification *) notification
-{
- TKLog(@"-[%@(%p) %s] %@", [self class], self, _cmd, notification);
- NSWindow *w = [notification object];
- TkWindow *winPtr = TkMacOSXGetTkWindow(w);
-
- if (winPtr) {
- //Tk_UnmapWindow((Tk_Window) winPtr);
- }
-}
-
-
-#endif /* TK_MAC_DEBUG_NOTIFICATIONS */
-
-- (void) _setupWindowNotifications
-{
- NSNotificationCenter *nc = [NSNotificationCenter defaultCenter];
-
-#define observe(n, s) \
- [nc addObserver:self selector:@selector(s) name:(n) object:nil]
- observe(NSWindowDidBecomeKeyNotification, windowActivation:);
- observe(NSWindowDidResignKeyNotification, windowActivation:);
- observe(NSWindowDidMoveNotification, windowBoundsChanged:);
- observe(NSWindowDidResizeNotification, windowBoundsChanged:);
- observe(NSWindowDidDeminiaturizeNotification, windowExpanded:);
- observe(NSWindowDidMiniaturizeNotification, windowCollapsed:);
-#ifdef TK_MAC_DEBUG_NOTIFICATIONS
- observe(NSWindowWillMoveNotification, windowDragStart:);
- observe(NSWindowWillStartLiveResizeNotification, windowLiveResize:);
- observe(NSWindowDidEndLiveResizeNotification, windowLiveResize:);
- observe(NSWindowWillOrderOnScreenNotification, windowMapped:);
- observe(NSWindowDidOrderOnScreenNotification, windowBecameVisible:);
- observe(NSWindowDidOrderOffScreenNotification, windowUnmapped:);
-#endif
-#undef observe
-
-}
-@end
-
-#pragma mark TKApplication(TKApplicationEvent)
-
-@implementation TKApplication(TKApplicationEvent)
-
-- (void) applicationActivate: (NSNotification *) notification
-{
-#ifdef TK_MAC_DEBUG_NOTIFICATIONS
- TKLog(@"-[%@(%p) %s] %@", [self class], self, _cmd, notification);
-#endif
- [NSApp tkCheckPasteboard];
-}
-
-- (void) applicationDeactivate: (NSNotification *) notification
-{
-#ifdef TK_MAC_DEBUG_NOTIFICATIONS
- TKLog(@"-[%@(%p) %s] %@", [self class], self, _cmd, notification);
-#endif
-}
-
-- (void) applicationShowHide: (NSNotification *) notification
-{
-#ifdef TK_MAC_DEBUG_NOTIFICATIONS
- TKLog(@"-[%@(%p) %s] %@", [self class], self, _cmd, notification);
-#endif
- const char *cmd = ([[notification name] isEqualToString:
- NSApplicationDidUnhideNotification] ?
- "::tk::mac::OnShow" : "::tk::mac::OnHide");
-
- if (_eventInterp && Tcl_FindCommand(_eventInterp, cmd, NULL, 0)) {
- int code = Tcl_EvalEx(_eventInterp, cmd, -1, TCL_EVAL_GLOBAL);
-
- if (code != TCL_OK) {
- Tcl_BackgroundException(_eventInterp, code);
- }
- Tcl_ResetResult(_eventInterp);
- }
-}
-
-- (void) displayChanged: (NSNotification *) notification
-{
-#ifdef TK_MAC_DEBUG_NOTIFICATIONS
- TKLog(@"-[%@(%p) %s] %@", [self class], self, _cmd, notification);
-#endif
- TkDisplay *dispPtr = TkGetDisplayList();
-
- if (dispPtr) {
- TkMacOSXDisplayChanged(dispPtr->display);
- }
-}
-@end
-
-#pragma mark -
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpAppIsDrawing --
- *
- * A widget display procedure can call this to determine whether it
- * is being run inside of the drawRect method. This is needed for
- * some tests, especially of the Text widget, which record data in
- * a global Tcl variable and assume that display procedures will be
- * run in a predictable sequence as Tcl idle tasks.
- *
- * Results:
- * True only while running the drawRect method of a TKContentView;
- *
- * Side effects:
- * None
- *
- *----------------------------------------------------------------------
- */
-MODULE_SCOPE Bool
-TkpAppIsDrawing(void) {
- return [NSApp isDrawing];
-}
-
-
-/*
- *----------------------------------------------------------------------
- *
- * GenerateUpdates --
- *
- * Given a Macintosh update region and a Tk window this function geneates
- * an X Expose event for the window if it meets the update region. The
- * function will then recursivly have each damaged window generate Expose
- * events for its child windows.
- *
- * Results:
- * True if event(s) are generated - false otherwise.
- *
- * Side effects:
- * Additional events may be place on the Tk event queue.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-GenerateUpdates(
- HIShapeRef updateRgn,
- CGRect *updateBounds,
- TkWindow *winPtr)
-{
- TkWindow *childPtr;
- XEvent event;
- CGRect bounds, damageBounds;
- HIShapeRef boundsRgn, damageRgn;
-
- TkMacOSXWinCGBounds(winPtr, &bounds);
- if (!CGRectIntersectsRect(bounds, *updateBounds)) {
- return 0;
- }
- if (!HIShapeIntersectsRect(updateRgn, &bounds)) {
- return 0;
- }
-
- /*
- * Compute the bounding box of the area that the damage occured in.
- */
-
- boundsRgn = HIShapeCreateWithRect(&bounds);
- damageRgn = HIShapeCreateIntersection(updateRgn, boundsRgn);
- if (HIShapeIsEmpty(damageRgn)) {
- CFRelease(damageRgn);
- CFRelease(boundsRgn);
- return 0;
- }
- HIShapeGetBounds(damageRgn, &damageBounds);
-
- CFRelease(damageRgn);
- CFRelease(boundsRgn);
-
- event.xany.serial = LastKnownRequestProcessed(Tk_Display(winPtr));
- event.xany.send_event = false;
- event.xany.window = Tk_WindowId(winPtr);
- event.xany.display = Tk_Display(winPtr);
- event.type = Expose;
- event.xexpose.x = damageBounds.origin.x - bounds.origin.x;
- event.xexpose.y = damageBounds.origin.y - bounds.origin.y;
- event.xexpose.width = damageBounds.size.width;
- event.xexpose.height = damageBounds.size.height;
- event.xexpose.count = 0;
- Tk_QueueWindowEvent(&event, TCL_QUEUE_TAIL);
-
-#ifdef TK_MAC_DEBUG_DRAWING
- TKLog(@"Expose %p {{%d, %d}, {%d, %d}}", event.xany.window, event.xexpose.x,
- event.xexpose.y, event.xexpose.width, event.xexpose.height);
-#endif
-
- /*
- * Generate updates for the children of this window
- */
-
- for (childPtr = winPtr->childList; childPtr != NULL;
- childPtr = childPtr->nextPtr) {
- if (!Tk_IsMapped(childPtr) || Tk_IsTopLevel(childPtr)) {
- continue;
- }
- GenerateUpdates(updateRgn, updateBounds, childPtr);
- }
-
- /*
- * Generate updates for any contained windows
- */
-
- if (Tk_IsContainer(winPtr)) {
- childPtr = TkpGetOtherWindow(winPtr);
- if (childPtr != NULL && Tk_IsMapped(childPtr)) {
- GenerateUpdates(updateRgn, updateBounds, childPtr);
- }
-
- /*
- * TODO: Here we should handle out of process embedding.
- */
- }
-
- return 1;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * GenerateActivateEvents --
- *
- * Given a Macintosh window activate event this function generates all the
- * X Activate events needed by Tk.
- *
- * Results:
- * True if event(s) are generated - false otherwise.
- *
- * Side effects:
- * Additional events may be place on the Tk event queue.
- *
- *----------------------------------------------------------------------
- */
-
-int
-GenerateActivateEvents(
- TkWindow *winPtr,
- int activeFlag)
-{
- TkGenerateActivateEvents(winPtr, activeFlag);
- TkMacOSXGenerateFocusEvent(winPtr, activeFlag);
- return true;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * DoWindowActivate --
- *
- * Idle handler that calls GenerateActivateEvents().
- *
- * Results:
- * None.
- *
- * Side effects:
- * Additional events may be place on the Tk event queue.
- *
- *----------------------------------------------------------------------
- */
-
-void
-DoWindowActivate(
- ClientData clientData)
-{
- GenerateActivateEvents(clientData, 1);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXGenerateFocusEvent --
- *
- * Given a Macintosh window activate event this function generates all
- * the X Focus events needed by Tk.
- *
- * Results:
- * True if event(s) are generated - false otherwise.
- *
- * Side effects:
- * Additional events may be place on the Tk event queue.
- *
- *----------------------------------------------------------------------
- */
-
-MODULE_SCOPE int
-TkMacOSXGenerateFocusEvent(
- TkWindow *winPtr, /* Root X window for event. */
- int activeFlag)
-{
- XEvent event;
-
- /*
- * Don't send focus events to windows of class help or to windows with the
- * kWindowNoActivatesAttribute.
- */
-
- if (winPtr->wmInfoPtr && (winPtr->wmInfoPtr->macClass == kHelpWindowClass ||
- winPtr->wmInfoPtr->attributes & kWindowNoActivatesAttribute)) {
- return false;
- }
-
- /*
- * Generate FocusIn and FocusOut events. This event is only sent to the
- * toplevel window.
- */
-
- if (activeFlag) {
- event.xany.type = FocusIn;
- } else {
- event.xany.type = FocusOut;
- }
-
- event.xany.serial = LastKnownRequestProcessed(Tk_Display(winPtr));
- event.xany.send_event = False;
- event.xfocus.display = Tk_Display(winPtr);
- event.xfocus.window = winPtr->window;
- event.xfocus.mode = NotifyNormal;
- event.xfocus.detail = NotifyDetailNone;
-
- Tk_QueueWindowEvent(&event, TCL_QUEUE_TAIL);
- return true;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkGenWMConfigureEvent --
- *
- * Generate a ConfigureNotify event for Tk. Depending on the value of flag
- * the values of width/height, x/y, or both may be changed.
- *
- * Results:
- * None.
- *
- * Side effects:
- * A ConfigureNotify event is sent to Tk.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkGenWMConfigureEvent(
- Tk_Window tkwin,
- int x, int y,
- int width, int height,
- int flags)
-{
- XEvent event;
- WmInfo *wmPtr;
- TkWindow *winPtr = (TkWindow *) tkwin;
-
- if (tkwin == NULL) {
- return;
- }
-
- event.type = ConfigureNotify;
- event.xconfigure.serial = LastKnownRequestProcessed(Tk_Display(tkwin));
- event.xconfigure.send_event = False;
- event.xconfigure.display = Tk_Display(tkwin);
- event.xconfigure.event = Tk_WindowId(tkwin);
- event.xconfigure.window = Tk_WindowId(tkwin);
- event.xconfigure.border_width = winPtr->changes.border_width;
- event.xconfigure.override_redirect = winPtr->atts.override_redirect;
- if (winPtr->changes.stack_mode == Above) {
- event.xconfigure.above = winPtr->changes.sibling;
- } else {
- event.xconfigure.above = None;
- }
-
- if (!(flags & TK_LOCATION_CHANGED)) {
- x = Tk_X(tkwin);
- y = Tk_Y(tkwin);
- }
- if (!(flags & TK_SIZE_CHANGED)) {
- width = Tk_Width(tkwin);
- height = Tk_Height(tkwin);
- }
- event.xconfigure.x = x;
- event.xconfigure.y = y;
- event.xconfigure.width = width;
- event.xconfigure.height = height;
-
- if (flags & TK_MACOSX_HANDLE_EVENT_IMMEDIATELY) {
- Tk_HandleEvent(&event);
- } else {
- Tk_QueueWindowEvent(&event, TCL_QUEUE_TAIL);
- }
-
- /*
- * Update window manager information.
- */
-
- if (Tk_IsTopLevel(winPtr)) {
- wmPtr = winPtr->wmInfoPtr;
- if (flags & TK_LOCATION_CHANGED) {
- wmPtr->x = x;
- wmPtr->y = y;
- wmPtr->flags &= ~(WM_NEGATIVE_X | WM_NEGATIVE_Y);
- }
- if ((flags & TK_SIZE_CHANGED) && !(wmPtr->flags & WM_SYNC_PENDING) &&
- ((width != Tk_Width(tkwin)) || (height != Tk_Height(tkwin)))) {
- if ((wmPtr->width == -1) && (width == winPtr->reqWidth)) {
-
- /*
- * Don't set external width, since the user didn't change it
- * from what the widgets asked for.
- */
-
- } else if (wmPtr->gridWin != NULL) {
- wmPtr->width = wmPtr->reqGridWidth
- + (width - winPtr->reqWidth)/wmPtr->widthInc;
- if (wmPtr->width < 0) {
- wmPtr->width = 0;
- }
- } else {
- wmPtr->width = width;
- }
-
- if ((wmPtr->height == -1) && (height == winPtr->reqHeight)) {
-
- /*
- * Don't set external height, since the user didn't change it
- * from what the widgets asked for.
- */
-
- } else if (wmPtr->gridWin != NULL) {
- wmPtr->height = wmPtr->reqGridHeight
- + (height - winPtr->reqHeight)/wmPtr->heightInc;
- if (wmPtr->height < 0) {
- wmPtr->height = 0;
- }
- } else {
- wmPtr->height = height;
- }
-
- wmPtr->configWidth = width;
- wmPtr->configHeight = height;
- }
- }
-
- /*
- * Now set up the changes structure. Under X we wait for the
- * ConfigureNotify to set these values. On the Mac we know imediatly that
- * this is what we want - so we just set them. However, we need to make
- * sure the windows clipping region is marked invalid so the change is
- * visible to the subwindow.
- */
-
- winPtr->changes.x = x;
- winPtr->changes.y = y;
- winPtr->changes.width = width;
- winPtr->changes.height = height;
- TkMacOSXInvalClipRgns(tkwin);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkGenWMDestroyEvent --
- *
- * Generate a WM Destroy event for Tk.
- *
- * Results:
- * None.
- *
- * Side effects:
- * A WM_PROTOCOL/WM_DELETE_WINDOW event is sent to Tk.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkGenWMDestroyEvent(
- Tk_Window tkwin)
-{
- XEvent event;
-
- event.xany.serial = LastKnownRequestProcessed(Tk_Display(tkwin));
- event.xany.send_event = False;
- event.xany.display = Tk_Display(tkwin);
-
- event.xclient.window = Tk_WindowId(tkwin);
- event.xclient.type = ClientMessage;
- event.xclient.message_type = Tk_InternAtom(tkwin, "WM_PROTOCOLS");
- event.xclient.format = 32;
- event.xclient.data.l[0] = Tk_InternAtom(tkwin, "WM_DELETE_WINDOW");
- Tk_HandleEvent(&event);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkWmProtocolEventProc --
- *
- * This procedure is called by the Tk_HandleEvent whenever a ClientMessage
- * event arrives whose type is "WM_PROTOCOLS". This procedure handles the
- * message from the window manager in an appropriate fashion.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Depends on what sort of handler, if any, was set up for the protocol.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkWmProtocolEventProc(
- TkWindow *winPtr, /* Window to which the event was sent. */
- XEvent *eventPtr) /* X event. */
-{
- WmInfo *wmPtr;
- ProtocolHandler *protPtr;
- Tcl_Interp *interp;
- Atom protocol;
- int result;
-
- wmPtr = winPtr->wmInfoPtr;
- if (wmPtr == NULL) {
- return;
- }
- protocol = (Atom) eventPtr->xclient.data.l[0];
- for (protPtr = wmPtr->protPtr; protPtr != NULL;
- protPtr = protPtr->nextPtr) {
- if (protocol == protPtr->protocol) {
- Tcl_Preserve(protPtr);
- interp = protPtr->interp;
- Tcl_Preserve(interp);
- result = Tcl_EvalEx(interp, protPtr->command, -1, TCL_EVAL_GLOBAL);
- if (result != TCL_OK) {
- Tcl_AppendObjToErrorInfo(interp, Tcl_ObjPrintf(
- "\n (command for \"%s\" window manager protocol)",
- Tk_GetAtomName((Tk_Window) winPtr, protocol)));
- Tcl_BackgroundException(interp, result);
- }
- Tcl_Release(interp);
- Tcl_Release(protPtr);
- return;
- }
- }
-
- /*
- * No handler was present for this protocol. If this is a WM_DELETE_WINDOW
- * message then just destroy the window.
- */
-
- if (protocol == Tk_InternAtom((Tk_Window) winPtr, "WM_DELETE_WINDOW")) {
- Tk_DestroyWindow((Tk_Window) winPtr);
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * Tk_MacOSXIsAppInFront --
- *
- * Returns 1 if this app is the foreground app.
- *
- * Results:
- * 1 if app is in front, 0 otherwise.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-int
-Tk_MacOSXIsAppInFront(void)
-{
- return ([NSRunningApplication currentApplication].active == true);
-}
-
-#pragma mark TKContentView
-
-#import <ApplicationServices/ApplicationServices.h>
-
-/*
- * Custom content view for use in Tk NSWindows.
- *
- * Since Tk handles all drawing of widgets, we only use the AppKit event loop
- * as a source of input events. To do this, we overload the NSView drawRect
- * method with a method which generates Expose events for Tk but does no
- * drawing. The redrawing operations are then done when Tk processes these
- * events.
- *
- * Earlier versions of Mac Tk used subclasses of NSView, e.g. NSButton, as the
- * basis for Tk widgets. These would then appear as subviews of the
- * TKContentView. To prevent the AppKit from redrawing and corrupting the Tk
- * Widgets it was necessary to use Apple private API calls. In order to avoid
- * using private API calls, the NSView-based widgets have been replaced with
- * normal Tk widgets which draw themselves as native widgets by using the
- * HITheme API.
- *
- */
-
-/*Restrict event processing to Expose events.*/
-static Tk_RestrictAction
-ExposeRestrictProc(
- ClientData arg,
- XEvent *eventPtr)
-{
- return (eventPtr->type==Expose && eventPtr->xany.serial==PTR2UINT(arg)
- ? TK_PROCESS_EVENT : TK_DEFER_EVENT);
-}
-
-/*Restrict event processing to ConfigureNotify events.*/
-static Tk_RestrictAction
-ConfigureRestrictProc(
- ClientData arg,
- XEvent *eventPtr)
-{
- return (eventPtr->type==ConfigureNotify ? TK_PROCESS_EVENT : TK_DEFER_EVENT);
-}
-
-@implementation TKContentView(TKWindowEvent)
-
-- (void) drawRect: (NSRect) rect
-{
- const NSRect *rectsBeingDrawn;
- NSInteger rectsBeingDrawnCount;
-
-#ifdef TK_MAC_DEBUG_DRAWING
- TkWindow *winPtr = TkMacOSXGetTkWindow([self window]);
- if (winPtr) fprintf(stderr, "drawRect: drawing %s\n",
- Tk_PathName(winPtr));
-#endif
-
- if ([NSApp simulateDrawing]) {
- return;
- }
-
- /*
- * We do not allow recursive calls to drawRect, but we only log
- * them on OSX > 10.13, where they should never happen.
- */
-
- if ([NSApp isDrawing] && [NSApp macMinorVersion] > 13) {
- TKLog(@"WARNING: a recursive call to drawRect was aborted.");
- return;
- }
-
- [NSApp setIsDrawing: YES];
-
- [self getRectsBeingDrawn:&rectsBeingDrawn count:&rectsBeingDrawnCount];
- CGFloat height = [self bounds].size.height;
- HIMutableShapeRef drawShape = HIShapeCreateMutable();
-
- while (rectsBeingDrawnCount--) {
- CGRect r = NSRectToCGRect(*rectsBeingDrawn++);
-
-#ifdef TK_MAC_DEBUG_DRAWING
- fprintf(stderr, "drawRect: %dx%d@(%d,%d)\n", (int)r.size.width,
- (int)r.size.height, (int)r.origin.x, (int)r.origin.y);
-#endif
-
- r.origin.y = height - (r.origin.y + r.size.height);
- HIShapeUnionWithRect(drawShape, &r);
- }
- [self generateExposeEvents:(HIShapeRef)drawShape];
- CFRelease(drawShape);
- [NSApp setIsDrawing: NO];
-
-#ifdef TK_MAC_DEBUG_DRAWING
- fprintf(stderr, "drawRect: done.\n");
-#endif
-}
-
--(void) setFrameSize: (NSSize)newsize
-{
- [super setFrameSize: newsize];
- NSWindow *w = [self window];
- TkWindow *winPtr = TkMacOSXGetTkWindow(w);
- Tk_Window tkwin = (Tk_Window) winPtr;
- if (winPtr) {
- /* On OSX versions below 10.14 setFrame calls drawRect.
- * On 10.14 it does its own drawing.
- */
- if ([NSApp macMinorVersion] > 13) {
- [NSApp setIsDrawing:YES];
- }
- unsigned int width = (unsigned int)newsize.width;
- unsigned int height=(unsigned int)newsize.height;
- ClientData oldArg;
- Tk_RestrictProc *oldProc;
-
- /*
- * This can be called from outside the Tk event loop.
- * Since it calls Tcl_DoOneEvent, we need to make sure we
- * don't clobber the AutoreleasePool set up by the caller.
- */
-
- [NSApp _lockAutoreleasePool];
-
- /*
- * Disable Tk drawing until the window has been completely configured.
- */
-
- TkMacOSXSetDrawingEnabled(winPtr, 0);
-
- /*
- * Generate and handle a ConfigureNotify event for the new size.
- */
-
- TkGenWMConfigureEvent(tkwin, Tk_X(tkwin), Tk_Y(tkwin), width, height,
- TK_SIZE_CHANGED | TK_MACOSX_HANDLE_EVENT_IMMEDIATELY);
- oldProc = Tk_RestrictEvents(ConfigureRestrictProc, NULL, &oldArg);
- Tk_RestrictEvents(oldProc, oldArg, &oldArg);
-
- /*
- * Now that Tk has configured all subwindows, create the clip regions.
- */
-
- TkMacOSXSetDrawingEnabled(winPtr, 1);
- TkMacOSXInvalClipRgns(tkwin);
- TkMacOSXUpdateClipRgn(winPtr);
-
- /*
- * Generate and process expose events to redraw the window.
- */
-
- HIRect bounds = NSRectToCGRect([self bounds]);
- HIShapeRef shape = HIShapeCreateWithRect(&bounds);
- [self generateExposeEvents: shape];
- [w displayIfNeeded];
- if ([NSApp macMinorVersion] > 13) {
- [NSApp setIsDrawing:NO];
- }
-
- /*
- * Finally, unlock the main autoreleasePool.
- */
-
- [NSApp _unlockAutoreleasePool];
- }
-}
-
-/*
- * Core method of this class: generates expose events for redrawing. The
- * expose events are immediately removed from the Tcl event loop and processed.
- * This causes drawing procedures to be scheduled as idle events. Then all
- * pending idle events are processed so the drawing will actually take place.
- */
-
-- (void) generateExposeEvents: (HIShapeRef) shape
-{
- unsigned long serial;
- CGRect updateBounds;
- int updatesNeeded;
- TkWindow *winPtr = TkMacOSXGetTkWindow([self window]);
- ClientData oldArg;
- Tk_RestrictProc *oldProc;
- if (!winPtr) {
- return;
- }
-
- /*
- * Generate Tk Expose events.
- */
-
- HIShapeGetBounds(shape, &updateBounds);
-
- /*
- * All of these events will share the same serial number.
- */
-
- serial = LastKnownRequestProcessed(Tk_Display(winPtr));
- updatesNeeded = GenerateUpdates(shape, &updateBounds, winPtr);
-
- if (updatesNeeded) {
-
- /*
- * First process all of the Expose events.
- */
-
- oldProc = Tk_RestrictEvents(ExposeRestrictProc, UINT2PTR(serial), &oldArg);
- while (Tcl_ServiceEvent(TCL_WINDOW_EVENTS)) {};
- Tk_RestrictEvents(oldProc, oldArg, &oldArg);
-
- /*
- * Starting with OSX 10.14, which uses Core Animation to draw windows,
- * all drawing must be done within the drawRect method. (The CGContext
- * which draws to the backing CALayer is created by the NSView before
- * calling drawRect, and destroyed when drawRect returns. Drawing done
- * with the current CGContext outside of the drawRect method has no
- * effect.)
- *
- * Fortunately, Tk schedules all drawing to be done while Tcl is idle.
- * So we can do the drawing by processing all of the idle events that
- * were created when the expose events were processed.
- */
- while (Tcl_DoOneEvent(TCL_IDLE_EVENTS)) {}
- }
-}
-
-/*
- * This method is called when a user changes between light and dark mode.
- * The implementation here generates a Tk virtual event which can be bound
- * to a function that redraws the window in an appropriate style.
- */
-
-- (void) viewDidChangeEffectiveAppearance
-{
- XVirtualEvent event;
- int x, y;
- NSString *osxMode = [[NSUserDefaults standardUserDefaults] stringForKey:@"AppleInterfaceStyle"];
- NSWindow *w = [self window];
- TkWindow *winPtr = TkMacOSXGetTkWindow(w);
- Tk_Window tkwin = (Tk_Window) winPtr;
-
- if (!winPtr) {
- return;
- }
- bzero(&event, sizeof(XVirtualEvent));
- event.type = VirtualEvent;
- event.serial = LastKnownRequestProcessed(Tk_Display(tkwin));
- event.send_event = false;
- event.display = Tk_Display(tkwin);
- event.event = Tk_WindowId(tkwin);
- event.root = XRootWindow(Tk_Display(tkwin), 0);
- event.subwindow = None;
- event.time = TkpGetMS();
- XQueryPointer(NULL, winPtr->window, NULL, NULL,
- &event.x_root, &event.y_root, &x, &y, &event.state);
- Tk_TopCoordsToWindow(tkwin, x, y, &event.x, &event.y);
- event.same_screen = true;
- if (osxMode == nil) {
- event.name = Tk_GetUid("LightAqua");
- Tk_QueueWindowEvent((XEvent *) &event, TCL_QUEUE_TAIL);
- return;
- }
- if ([osxMode isEqual:@"Dark"]) {
- event.name = Tk_GetUid("DarkAqua");
- Tk_QueueWindowEvent((XEvent *) &event, TCL_QUEUE_TAIL);
- return;
- }
-}
-
-/*
- * This is no-op on 10.7 and up because Apple has removed this widget,
- * but we are leaving it here for backwards compatibility.
- */
-
-- (void) tkToolbarButton: (id) sender
-{
-#ifdef TK_MAC_DEBUG_EVENTS
- TKLog(@"-[%@(%p) %s] %@", [self class], self, _cmd);
-#endif
- XVirtualEvent event;
- int x, y;
- TkWindow *winPtr = TkMacOSXGetTkWindow([self window]);
- Tk_Window tkwin = (Tk_Window) winPtr;
- if (!winPtr){
- return;
- }
- bzero(&event, sizeof(XVirtualEvent));
- event.type = VirtualEvent;
- event.serial = LastKnownRequestProcessed(Tk_Display(tkwin));
- event.send_event = false;
- event.display = Tk_Display(tkwin);
- event.event = Tk_WindowId(tkwin);
- event.root = XRootWindow(Tk_Display(tkwin), 0);
- event.subwindow = None;
- event.time = TkpGetMS();
- XQueryPointer(NULL, winPtr->window, NULL, NULL,
- &event.x_root, &event.y_root, &x, &y, &event.state);
- Tk_TopCoordsToWindow(tkwin, x, y, &event.x, &event.y);
- event.same_screen = true;
- event.name = Tk_GetUid("ToolbarButton");
- Tk_QueueWindowEvent((XEvent *) &event, TCL_QUEUE_TAIL);
-}
-
-- (BOOL) isOpaque
-{
- NSWindow *w = [self window];
- return (w && (([w styleMask] & NSTexturedBackgroundWindowMask) ||
- ![w isOpaque]) ? NO : YES);
-}
-
-- (BOOL) wantsDefaultClipping
-{
- return NO;
-}
-
-- (BOOL) acceptsFirstResponder
-{
- return YES;
-}
-
-- (void) keyDown: (NSEvent *) theEvent
-{
-#ifdef TK_MAC_DEBUG_EVENTS
- TKLog(@"-[%@(%p) %s] %@", [self class], self, _cmd, theEvent);
-#endif
-}
-
-@end
-
-/*
- * Local Variables:
- * mode: objc
- * c-basic-offset: 4
- * fill-column: 79
- * coding: utf-8
- * End:
- */
diff --git a/tk8.6/macosx/tkMacOSXWm.c b/tk8.6/macosx/tkMacOSXWm.c
deleted file mode 100644
index 9e45996..0000000
--- a/tk8.6/macosx/tkMacOSXWm.c
+++ /dev/null
@@ -1,6827 +0,0 @@
-/*
- * tkMacOSXWm.c --
- *
- * This module takes care of the interactions between a Tk-based
- * application and the window manager. Among other things, it implements
- * the "wm" command and passes geometry information to the window
- * manager.
- *
- * Copyright (c) 1994-1997 Sun Microsystems, Inc.
- * Copyright 2001-2009, Apple Inc.
- * Copyright (c) 2006-2009 Daniel A. Steffen <das@users.sourceforge.net>
- * Copyright (c) 2010 Kevin Walzer/WordTech Communications LLC.
- * Copyright (c) 2017 Marc Culler.
- *
- * See the file "license.terms" for information on usage and redistribution
- * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
- */
-
-#include "tkMacOSXPrivate.h"
-#include "tkScrollbar.h"
-#include "tkMacOSXWm.h"
-#include "tkMacOSXEvent.h"
-#include "tkMacOSXDebug.h"
-#include "tkMacOSXConstants.h"
-
-#define DEBUG_ZOMBIES 0
-
-/*
-#ifdef TK_MAC_DEBUG
-#define TK_MAC_DEBUG_WINDOWS
-#endif
-*/
-
-/*
- * Window attributes and classes
- */
-
-#define WM_NSMASK_SHIFT 36
-#define tkWindowDoesNotHideAttribute \
- ((UInt64) 1 << kHIWindowBitDoesNotHide)
-#define tkCanJoinAllSpacesAttribute \
- ((UInt64) NSWindowCollectionBehaviorCanJoinAllSpaces << 34)
-#define tkMoveToActiveSpaceAttribute \
- ((UInt64) NSWindowCollectionBehaviorMoveToActiveSpace << 34)
-#define tkNonactivatingPanelAttribute \
- ((UInt64) NSNonactivatingPanelMask << WM_NSMASK_SHIFT)
-#define tkHUDWindowAttribute \
- ((UInt64) NSHUDWindowMask << WM_NSMASK_SHIFT)
-#define tkAlwaysValidAttributes (kWindowNoUpdatesAttribute \
- | kWindowNoActivatesAttribute | kWindowHideOnSuspendAttribute \
- | kWindowHideOnFullScreenAttribute | kWindowNoConstrainAttribute \
- | kWindowNoShadowAttribute | kWindowLiveResizeAttribute \
- | kWindowOpaqueForEventsAttribute | kWindowIgnoreClicksAttribute \
- | kWindowDoesNotCycleAttribute | tkWindowDoesNotHideAttribute \
- | tkCanJoinAllSpacesAttribute | tkMoveToActiveSpaceAttribute \
- | tkNonactivatingPanelAttribute | tkHUDWindowAttribute)
-
-
-static const struct {
- const UInt64 validAttrs, defaultAttrs, forceOnAttrs, forceOffAttrs;
- int flags; NSUInteger styleMask;
-} macClassAttrs[] = {
- [kAlertWindowClass] = {
- .defaultAttrs = kWindowDoesNotCycleAttribute, },
- [kMovableAlertWindowClass] = {
- .defaultAttrs = kWindowDoesNotCycleAttribute, },
- [kModalWindowClass] = {
- .defaultAttrs = kWindowDoesNotCycleAttribute, },
- [kMovableModalWindowClass] = {
- .validAttrs = kWindowCloseBoxAttribute | kWindowMetalAttribute |
- kWindowFullZoomAttribute | kWindowResizableAttribute,
- .defaultAttrs = kWindowDoesNotCycleAttribute, },
- [kFloatingWindowClass] = {
- .validAttrs = kWindowCloseBoxAttribute | kWindowCollapseBoxAttribute |
- kWindowMetalAttribute | kWindowToolbarButtonAttribute |
- kWindowNoTitleBarAttribute | kWindowFullZoomAttribute |
- kWindowResizableAttribute | kWindowSideTitlebarAttribute,
- .defaultAttrs = kWindowStandardFloatingAttributes |
- kWindowHideOnSuspendAttribute | kWindowDoesNotCycleAttribute,
- .forceOnAttrs = kWindowResizableAttribute,
- .forceOffAttrs = kWindowCollapseBoxAttribute,
- .styleMask = NSUtilityWindowMask, },
- [kDocumentWindowClass] = {
- .validAttrs = kWindowCloseBoxAttribute | kWindowCollapseBoxAttribute |
- kWindowMetalAttribute | kWindowToolbarButtonAttribute |
- kWindowNoTitleBarAttribute |
- kWindowUnifiedTitleAndToolbarAttribute |
- kWindowInWindowMenuAttribute | kWindowFullZoomAttribute |
- kWindowResizableAttribute,
- .forceOnAttrs = kWindowResizableAttribute,
- .defaultAttrs = kWindowStandardDocumentAttributes |
- kWindowLiveResizeAttribute | kWindowInWindowMenuAttribute, },
- [kUtilityWindowClass] = {
- .validAttrs = kWindowCloseBoxAttribute | kWindowCollapseBoxAttribute |
- kWindowMetalAttribute | kWindowToolbarButtonAttribute |
- kWindowNoTitleBarAttribute | kWindowFullZoomAttribute |
- kWindowResizableAttribute | kWindowSideTitlebarAttribute,
- .defaultAttrs = kWindowStandardFloatingAttributes |
- kWindowHideOnFullScreenAttribute |
- tkWindowDoesNotHideAttribute | tkNonactivatingPanelAttribute |
- kWindowDoesNotCycleAttribute,
- .forceOnAttrs = kWindowResizableAttribute,
- .forceOffAttrs = kWindowCollapseBoxAttribute,
- .flags = WM_TOPMOST,
- .styleMask = NSUtilityWindowMask, },
- [kHelpWindowClass] = {
- .defaultAttrs = kWindowHideOnSuspendAttribute,
- .forceOnAttrs = kWindowNoTitleBarAttribute |
- kWindowDoesNotCycleAttribute,
- .flags = WM_TOPMOST, },
- [kSheetWindowClass] = {
- .validAttrs = kWindowResizableAttribute,
- .forceOnAttrs = kWindowNoTitleBarAttribute |
- kWindowDoesNotCycleAttribute,
- .styleMask = NSDocModalWindowMask, },
- [kToolbarWindowClass] = {
- .defaultAttrs = kWindowHideOnSuspendAttribute,
- .forceOnAttrs = kWindowNoTitleBarAttribute |
- kWindowDoesNotCycleAttribute,
- .styleMask = NSUtilityWindowMask, },
- [kPlainWindowClass] = {
- .defaultAttrs = kWindowDoesNotCycleAttribute,
- .forceOnAttrs = kWindowNoTitleBarAttribute, },
- [kOverlayWindowClass] = {
- .forceOnAttrs = kWindowNoTitleBarAttribute |
- kWindowDoesNotCycleAttribute,
- .flags = WM_TOPMOST | WM_TRANSPARENT, },
- [kSheetAlertWindowClass] = {
- .forceOnAttrs = kWindowNoTitleBarAttribute |
- kWindowDoesNotCycleAttribute,
- .styleMask = NSDocModalWindowMask, },
- [kAltPlainWindowClass] = {
- .defaultAttrs = kWindowDoesNotCycleAttribute,
- .forceOnAttrs = kWindowNoTitleBarAttribute, },
- [kSimpleWindowClass] = {
- .defaultAttrs = kWindowDoesNotCycleAttribute,
- .forceOnAttrs = kWindowNoTitleBarAttribute, },
- [kDrawerWindowClass] = {
- .validAttrs = kWindowMetalAttribute | kWindowResizableAttribute,
- .forceOnAttrs = kWindowNoTitleBarAttribute |
- kWindowDoesNotCycleAttribute, },
-};
-
-#define ForceAttributes(attributes, class) \
- ((attributes) & (~macClassAttrs[(class)].forceOffAttrs | \
- (macClassAttrs[(class)].forceOnAttrs & ~kWindowResizableAttribute)))
-
-/*
- * Data for [wm attributes] command:
- */
-
-typedef enum {
- WMATT_ALPHA, WMATT_FULLSCREEN, WMATT_MODIFIED, WMATT_NOTIFY,
- WMATT_TITLEPATH, WMATT_TOPMOST, WMATT_TRANSPARENT,
- _WMATT_LAST_ATTRIBUTE
-} WmAttribute;
-
-static const char *const WmAttributeNames[] = {
- "-alpha", "-fullscreen", "-modified", "-notify",
- "-titlepath", "-topmost", "-transparent",
- NULL
-};
-
-/*
- * The variable below is used to enable or disable tracing in this module. If
- * tracing is enabled, then information is printed on standard output about
- * interesting interactions with the window manager.
- */
-
-static int wmTracing = 0;
-
-/*
- * The following structure is the official type record for geometry management
- * of top-level windows.
- */
-
-static void TopLevelReqProc(ClientData dummy, Tk_Window tkwin);
-
-static const Tk_GeomMgr wmMgrType = {
- "wm", /* name */
- TopLevelReqProc, /* requestProc */
- NULL, /* lostSlaveProc */
-};
-
-/*
- * The following keeps state for Aqua dock icon bounce notification.
- */
-
-static int tkMacOSXWmAttrNotifyVal = 0;
-
-/*
- * Hash table for Mac Window -> TkWindow mapping.
- */
-
-static Tcl_HashTable windowTable;
-static int windowHashInit = false;
-
-
-#pragma mark NSWindow(TKWm)
-
-/*
- * Conversion of coordinates between window and screen.
- */
-
-@implementation NSWindow(TKWm)
-#if MAC_OS_X_VERSION_MIN_REQUIRED < 1070
-- (NSPoint) tkConvertPointToScreen: (NSPoint) point
-{
- return [self convertBaseToScreen:point];
-}
-- (NSPoint) tkConvertPointFromScreen: (NSPoint)point
-{
- return [self convertScreenToBase:point];
-}
-#else
-- (NSPoint) tkConvertPointToScreen: (NSPoint) point
-{
- NSRect pointrect;
- pointrect.origin = point;
- pointrect.size.width = 0;
- pointrect.size.height = 0;
- return [self convertRectToScreen:pointrect].origin;
-}
-- (NSPoint) tkConvertPointFromScreen: (NSPoint)point
-{
- NSRect pointrect;
- pointrect.origin = point;
- pointrect.size.width = 0;
- pointrect.size.height = 0;
- return [self convertRectFromScreen:pointrect].origin;
-}
-#endif
-
-- (NSSize)windowWillResize:(NSWindow *)sender
- toSize:(NSSize)frameSize
-{
- NSRect currentFrame = [sender frame];
- TkWindow *winPtr = TkMacOSXGetTkWindow(sender);
- if (winPtr) {
- if (winPtr->wmInfoPtr->flags & WM_WIDTH_NOT_RESIZABLE) {
- frameSize.width = currentFrame.size.width;
- }
- if (winPtr->wmInfoPtr->flags & WM_HEIGHT_NOT_RESIZABLE) {
- frameSize.height = currentFrame.size.height;
- }
- }
- return frameSize;
-}
-@end
-
-#pragma mark -
-
-
-/*
- * Forward declarations for procedures defined in this file:
- */
-
-static NSRect InitialWindowBounds(TkWindow *winPtr,
- NSWindow *macWindow);
-static int ParseGeometry(Tcl_Interp *interp, char *string,
- TkWindow *winPtr);
-static void TopLevelEventProc(ClientData clientData,
- XEvent *eventPtr);
-static void WmStackorderToplevelWrapperMap(TkWindow *winPtr,
- Display *display, Tcl_HashTable *table);
-static void UpdateGeometryInfo(ClientData clientData);
-static void UpdateSizeHints(TkWindow *winPtr);
-static void UpdateVRootGeometry(WmInfo *wmPtr);
-static int WmAspectCmd(Tk_Window tkwin, TkWindow *winPtr,
- Tcl_Interp *interp, int objc,
- Tcl_Obj *const objv[]);
-static int WmAttributesCmd(Tk_Window tkwin, TkWindow *winPtr,
- Tcl_Interp *interp, int objc,
- Tcl_Obj *const objv[]);
-static int WmClientCmd(Tk_Window tkwin, TkWindow *winPtr,
- Tcl_Interp *interp, int objc,
- Tcl_Obj *const objv[]);
-static int WmColormapwindowsCmd(Tk_Window tkwin,
- TkWindow *winPtr, Tcl_Interp *interp, int objc,
- Tcl_Obj *const objv[]);
-static int WmCommandCmd(Tk_Window tkwin, TkWindow *winPtr,
- Tcl_Interp *interp, int objc,
- Tcl_Obj *const objv[]);
-static int WmDeiconifyCmd(Tk_Window tkwin, TkWindow *winPtr,
- Tcl_Interp *interp, int objc,
- Tcl_Obj *const objv[]);
-static int WmFocusmodelCmd(Tk_Window tkwin, TkWindow *winPtr,
- Tcl_Interp *interp, int objc,
- Tcl_Obj *const objv[]);
-static int WmForgetCmd(Tk_Window tkwin, TkWindow *winPtr,
- Tcl_Interp *interp, int objc,
- Tcl_Obj *const objv[]);
-static int WmFrameCmd(Tk_Window tkwin, TkWindow *winPtr,
- Tcl_Interp *interp, int objc,
- Tcl_Obj *const objv[]);
-static int WmGeometryCmd(Tk_Window tkwin, TkWindow *winPtr,
- Tcl_Interp *interp, int objc,
- Tcl_Obj *const objv[]);
-static int WmGridCmd(Tk_Window tkwin, TkWindow *winPtr,
- Tcl_Interp *interp, int objc,
- Tcl_Obj *const objv[]);
-static int WmGroupCmd(Tk_Window tkwin, TkWindow *winPtr,
- Tcl_Interp *interp, int objc,
- Tcl_Obj *const objv[]);
-static int WmIconbitmapCmd(Tk_Window tkwin, TkWindow *winPtr,
- Tcl_Interp *interp, int objc,
- Tcl_Obj *const objv[]);
-static int WmIconifyCmd(Tk_Window tkwin, TkWindow *winPtr,
- Tcl_Interp *interp, int objc,
- Tcl_Obj *const objv[]);
-static int WmIconmaskCmd(Tk_Window tkwin, TkWindow *winPtr,
- Tcl_Interp *interp, int objc,
- Tcl_Obj *const objv[]);
-static int WmIconnameCmd(Tk_Window tkwin, TkWindow *winPtr,
- Tcl_Interp *interp, int objc,
- Tcl_Obj *const objv[]);
-static int WmIconphotoCmd(Tk_Window tkwin, TkWindow *winPtr,
- Tcl_Interp *interp, int objc,
- Tcl_Obj *const objv[]);
-static int WmIconpositionCmd(Tk_Window tkwin, TkWindow *winPtr,
- Tcl_Interp *interp, int objc,
- Tcl_Obj *const objv[]);
-static int WmIconwindowCmd(Tk_Window tkwin, TkWindow *winPtr,
- Tcl_Interp *interp, int objc,
- Tcl_Obj *const objv[]);
-static int WmManageCmd(Tk_Window tkwin, TkWindow *winPtr,
- Tcl_Interp *interp, int objc,
- Tcl_Obj *const objv[]);
-static int WmMaxsizeCmd(Tk_Window tkwin, TkWindow *winPtr,
- Tcl_Interp *interp, int objc,
- Tcl_Obj *const objv[]);
-static int WmMinsizeCmd(Tk_Window tkwin, TkWindow *winPtr,
- Tcl_Interp *interp, int objc,
- Tcl_Obj *const objv[]);
-static int WmOverrideredirectCmd(Tk_Window tkwin,
- TkWindow *winPtr, Tcl_Interp *interp, int objc,
- Tcl_Obj *const objv[]);
-static int WmPositionfromCmd(Tk_Window tkwin, TkWindow *winPtr,
- Tcl_Interp *interp, int objc,
- Tcl_Obj *const objv[]);
-static int WmProtocolCmd(Tk_Window tkwin, TkWindow *winPtr,
- Tcl_Interp *interp, int objc,
- Tcl_Obj *const objv[]);
-static int WmResizableCmd(Tk_Window tkwin, TkWindow *winPtr,
- Tcl_Interp *interp, int objc,
- Tcl_Obj *const objv[]);
-static int WmSizefromCmd(Tk_Window tkwin, TkWindow *winPtr,
- Tcl_Interp *interp, int objc,
- Tcl_Obj *const objv[]);
-static int WmStackorderCmd(Tk_Window tkwin, TkWindow *winPtr,
- Tcl_Interp *interp, int objc,
- Tcl_Obj *const objv[]);
-static int WmStateCmd(Tk_Window tkwin, TkWindow *winPtr,
- Tcl_Interp *interp, int objc,
- Tcl_Obj *const objv[]);
-static int WmTitleCmd(Tk_Window tkwin, TkWindow *winPtr,
- Tcl_Interp *interp, int objc,
- Tcl_Obj *const objv[]);
-static int WmTransientCmd(Tk_Window tkwin, TkWindow *winPtr,
- Tcl_Interp *interp, int objc,
- Tcl_Obj *const objv[]);
-static int WmWithdrawCmd(Tk_Window tkwin, TkWindow *winPtr,
- Tcl_Interp *interp, int objc,
- Tcl_Obj *const objv[]);
-static void WmUpdateGeom(WmInfo *wmPtr, TkWindow *winPtr);
-static int WmWinStyle(Tcl_Interp *interp, TkWindow *winPtr,
- int objc, Tcl_Obj *const objv[]);
-static void ApplyWindowAttributeFlagChanges(TkWindow *winPtr,
- NSWindow *macWindow, UInt64 oldAttributes,
- int oldFlags, int create, int initial);
-static void ApplyMasterOverrideChanges(TkWindow *winPtr,
- NSWindow *macWindow);
-static void GetMinSize(TkWindow *winPtr, int *minWidthPtr,
- int *minHeightPtr);
-static void GetMaxSize(TkWindow *winPtr, int *maxWidthPtr,
- int *maxHeightPtr);
-static void RemapWindows(TkWindow *winPtr,
- MacDrawable *parentWin);
-
-#pragma mark TKWindow(TKWm)
-
-@interface NSDrawerWindow : NSWindow
-{
- id _i1, _i2;
-}
-@end
-
-
-@implementation TKWindow: NSWindow
-
-/* Custom fullscreen implementation on 10.13 and above. On older versions of
- * macOS dating back to 10.7, the NSWindow fullscreen API was opt-in, requiring
- * explicit calls to toggleFullScreen. On 10.13, the API became implicit,
- * applying to all NSWindows unless they were marked non-resizable; this caused
- * issues with Tk, which was not aware of changes in screen geometry. Here we
- * override the toggleFullScreen call to hook directly into Tk's own fullscreen
- * API, allowing Tk to function smoothly with the Mac's fullscreen button.
-*/
-
-NSStatusItem *exitFullScreen;
-
-
-- (void)toggleFullScreen:(id)sender
-{
- TkWindow *winPtr = TkMacOSXGetTkWindow(self);
- if (!winPtr) {
- return;
- }
- Tcl_Interp *interp = Tk_Interp((Tk_Window)winPtr);
- if ([NSApp macMinorVersion] > 12) {
- if (([self styleMask] & NSFullScreenWindowMask) == NSFullScreenWindowMask) {
- TkMacOSXMakeFullscreen(winPtr, self, 0, interp);
- } else {
- TkMacOSXMakeFullscreen(winPtr, self, 1, interp);
- }
- } else {
- TKLog (@"toggleFullScreen is ignored by Tk on OSX versions < 10.13");
- }
-}
-
--(void)restoreOldScreen:(id)sender
-{
- TkWindow *winPtr = TkMacOSXGetTkWindow(self);
- if (!winPtr) {
- return;
- }
- Tcl_Interp *interp = Tk_Interp((Tk_Window)winPtr);
- TkMacOSXMakeFullscreen(winPtr, self, 0, interp);
- [[NSStatusBar systemStatusBar] removeStatusItem: exitFullScreen];
-}
-
-@end
-
-@implementation TKWindow(TKWm)
-
-- (BOOL) canBecomeKeyWindow
-{
- TkWindow *winPtr = TkMacOSXGetTkWindow(self);
- if (!winPtr) {
- return NO;
- }
- return (winPtr->wmInfoPtr &&
- (winPtr->wmInfoPtr->macClass == kHelpWindowClass ||
- winPtr->wmInfoPtr->attributes & kWindowNoActivatesAttribute)
- ) ? NO : YES;
-}
-
-#if DEBUG_ZOMBIES
-- (id) retain
-{
- id result = [super retain];
- const char *title = [[self title] UTF8String];
- if (title == nil) {
- title = "unnamed window";
- }
- if (DEBUG_ZOMBIES > 1){
- fprintf(stderr, "Retained <%s>. Count is: %lu\n",
- title, [self retainCount]);
- }
- return result;
-}
-
-- (id) autorelease
-{
- id result = [super autorelease];
- const char *title = [[self title] UTF8String];
- if (title == nil) {
- title = "unnamed window";
- }
- if (DEBUG_ZOMBIES > 1){
- fprintf(stderr, "Autoreleased <%s>. Count is %lu\n",
- title, [self retainCount]);
- }
- return result;
-}
-
-- (oneway void) release {
- const char *title = [[self title] UTF8String];
- if (title == nil) {
- title = "unnamed window";
- }
- if (DEBUG_ZOMBIES > 1){
- fprintf(stderr, "Releasing <%s>. Count is %lu\n",
- title, [self retainCount]);
- }
- [super release];
-}
-
-- (void) dealloc {
- const char *title = [[self title] UTF8String];
- if (title == nil) {
- title = "unnamed window";
- }
- if (DEBUG_ZOMBIES > 0){
- fprintf(stderr, ">>>> Freeing <%s>. Count is %lu\n",
- title, [self retainCount]);
- }
- [super dealloc];
-}
-
-
-#endif
-@end
-
-#pragma mark -
-
-/*
- *----------------------------------------------------------------------
- *
- * SetWindowSizeLimits --
- *
- * Sets NSWindow size limits
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-static void
-SetWindowSizeLimits(
- TkWindow *winPtr)
-{
- NSWindow *macWindow = TkMacOSXDrawableWindow(winPtr->window);
- WmInfo *wmPtr = winPtr->wmInfoPtr;
- int minWidth, minHeight, maxWidth, maxHeight, base;
-
- if (!macWindow) {
- return;
- }
- GetMinSize(winPtr, &minWidth, &minHeight);
- GetMaxSize(winPtr, &maxWidth, &maxHeight);
- if (wmPtr->gridWin) {
- base = winPtr->reqWidth - (wmPtr->reqGridWidth * wmPtr->widthInc);
- if (base < 0) {
- base = 0;
- }
- minWidth = base + (minWidth * wmPtr->widthInc);
- maxWidth = base + (maxWidth * wmPtr->widthInc);
- base = winPtr->reqHeight - (wmPtr->reqGridHeight * wmPtr->heightInc);
- if (base < 0) {
- base = 0;
- }
- minHeight = base + (minHeight * wmPtr->heightInc);
- maxHeight = base + (maxHeight * wmPtr->heightInc);
- }
- if (wmPtr->flags & WM_WIDTH_NOT_RESIZABLE) {
- minWidth = maxWidth = wmPtr->configWidth;
- }
- if (wmPtr->flags & WM_HEIGHT_NOT_RESIZABLE) {
- minHeight = maxHeight = wmPtr->configHeight;
- }
- if (wmPtr->gridWin) {
- [macWindow setResizeIncrements:NSMakeSize(wmPtr->widthInc,
- wmPtr->heightInc)];
- } else if (wmPtr->sizeHintsFlags & PAspect && wmPtr->minAspect.x ==
- wmPtr->maxAspect.x && wmPtr->minAspect.y == wmPtr->maxAspect.y) {
- NSSize aspect = NSMakeSize(wmPtr->minAspect.x, wmPtr->minAspect.y);
- CGFloat ratio = aspect.width/aspect.height;
-
- [macWindow setContentAspectRatio:aspect];
- if ((CGFloat)minWidth/(CGFloat)minHeight > ratio) {
- minHeight = lround(minWidth / ratio);
- } else {
- minWidth = lround(minHeight * ratio);
- }
- if ((CGFloat)maxWidth/(CGFloat)maxHeight > ratio) {
- maxWidth = lround(maxHeight * ratio);
- } else {
- maxHeight = lround(maxWidth / ratio);
- }
- if ((CGFloat)wmPtr->configWidth/(CGFloat)wmPtr->configHeight > ratio) {
- wmPtr->configWidth = lround(wmPtr->configHeight * ratio);
- if (wmPtr->configWidth < minWidth) {
- wmPtr->configWidth = minWidth;
- wmPtr->configHeight = minHeight;
- }
- } else {
- wmPtr->configHeight = lround(wmPtr->configWidth / ratio);
- if (wmPtr->configHeight < minHeight) {
- wmPtr->configWidth = minWidth;
- wmPtr->configHeight = minHeight;
- }
- }
- } else {
- [macWindow setResizeIncrements:NSMakeSize(1.0, 1.0)];
- }
- [macWindow setContentMinSize:NSMakeSize(minWidth, minHeight)];
- [macWindow setContentMaxSize:NSMakeSize(maxWidth, maxHeight)];
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * FrontWindowAtPoint --
- *
- * Find frontmost toplevel window at a given screen location.
- *
- * Results:
- * TkWindow*.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-static TkWindow*
-FrontWindowAtPoint(
- int x, int y)
-{
- NSPoint p = NSMakePoint(x, tkMacOSXZeroScreenHeight - y);
- NSArray *windows = [NSApp orderedWindows];
- TkWindow *winPtr = NULL;
-
- for (NSWindow *w in windows) {
- winPtr = TkMacOSXGetTkWindow(w);
- if (winPtr && NSMouseInRect(p, [w frame], NO)) {
- break;
- }
- }
- return winPtr;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkWmNewWindow --
- *
- * This procedure is invoked whenever a new top-level window is created.
- * Its job is to initialize the WmInfo structure for the window.
- *
- * Results:
- * None.
- *
- * Side effects:
- * A WmInfo structure gets allocated and initialized.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkWmNewWindow(
- TkWindow *winPtr) /* Newly-created top-level window. */
-{
- WmInfo *wmPtr = ckalloc(sizeof(WmInfo));
-
- wmPtr->winPtr = winPtr;
- wmPtr->reparent = None;
- wmPtr->titleUid = NULL;
- wmPtr->iconName = NULL;
- wmPtr->master = None;
- wmPtr->hints.flags = InputHint | StateHint;
- wmPtr->hints.input = True;
- wmPtr->hints.initial_state = NormalState;
- wmPtr->hints.icon_pixmap = None;
- wmPtr->hints.icon_window = None;
- wmPtr->hints.icon_x = wmPtr->hints.icon_y = 0;
- wmPtr->hints.icon_mask = None;
- wmPtr->hints.window_group = None;
- wmPtr->leaderName = NULL;
- wmPtr->masterWindowName = NULL;
- wmPtr->icon = NULL;
- wmPtr->iconFor = NULL;
- wmPtr->sizeHintsFlags = 0;
- wmPtr->minWidth = wmPtr->minHeight = 1;
- wmPtr->maxWidth = 0;
- wmPtr->maxHeight = 0;
- wmPtr->gridWin = NULL;
- wmPtr->widthInc = wmPtr->heightInc = 1;
- wmPtr->minAspect.x = wmPtr->minAspect.y = 1;
- wmPtr->maxAspect.x = wmPtr->maxAspect.y = 1;
- wmPtr->reqGridWidth = wmPtr->reqGridHeight = -1;
- wmPtr->gravity = NorthWestGravity;
- wmPtr->width = -1;
- wmPtr->height = -1;
- wmPtr->x = winPtr->changes.x;
- wmPtr->y = winPtr->changes.y;
- wmPtr->parentWidth = winPtr->changes.width
- + 2*winPtr->changes.border_width;
- wmPtr->parentHeight = winPtr->changes.height
- + 2*winPtr->changes.border_width;
- wmPtr->xInParent = 0;
- wmPtr->yInParent = 0;
- wmPtr->cmapList = NULL;
- wmPtr->cmapCount = 0;
- wmPtr->configX = 0;
- wmPtr->configY = 0;
- wmPtr->configWidth = -1;
- wmPtr->configHeight = -1;
- wmPtr->vRoot = None;
- wmPtr->protPtr = NULL;
- wmPtr->commandObj = NULL;
- wmPtr->clientMachine = NULL;
- wmPtr->flags = WM_NEVER_MAPPED;
- wmPtr->macClass = kDocumentWindowClass;
- wmPtr->attributes = macClassAttrs[kDocumentWindowClass].defaultAttrs;
- wmPtr->scrollWinPtr = NULL;
- wmPtr->menuPtr = NULL;
- wmPtr->window = nil;
- winPtr->wmInfoPtr = wmPtr;
-
- UpdateVRootGeometry(wmPtr);
-
- /*
- * Tk must monitor structure events for top-level windows, in order to
- * detect size and position changes caused by window managers.
- */
-
- Tk_CreateEventHandler((Tk_Window) winPtr, StructureNotifyMask,
- TopLevelEventProc, winPtr);
-
- /*
- * Arrange for geometry requests to be reflected from the window to the
- * window manager.
- */
-
- Tk_ManageGeometry((Tk_Window) winPtr, &wmMgrType, (ClientData) 0);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkWmMapWindow --
- *
- * This procedure is invoked to map a top-level window. This module gets
- * a chance to update all window-manager-related information in
- * properties before the window manager sees the map event and checks the
- * properties. It also gets to decide whether or not to even map the
- * window after all.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Properties of winPtr may get updated to provide up-to-date information
- * to the window manager. The window may also get mapped, but it may not
- * be if this procedure decides that isn't appropriate (e.g. because the
- * window is withdrawn).
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkWmMapWindow(
- TkWindow *winPtr) /* Top-level window that's about to be
- * mapped. */
-{
- WmInfo *wmPtr = winPtr->wmInfoPtr;
- if (wmPtr->flags & WM_NEVER_MAPPED) {
- /*
- * Create the underlying Mac window for this Tk window.
- */
-
- if (!TkMacOSXHostToplevelExists(winPtr)) {
- TkMacOSXMakeRealWindowExist(winPtr);
- }
-
- wmPtr->flags &= ~WM_NEVER_MAPPED;
-
- /*
- * Generate configure event when we first map the window.
- */
-
- TkGenWMConfigureEvent((Tk_Window) winPtr, wmPtr->x, wmPtr->y, -1, -1,
- TK_LOCATION_CHANGED);
-
- /*
- * This is the first time this window has ever been mapped. Store all
- * the window-manager-related information for the window.
- */
-
- if (wmPtr->titleUid == NULL) {
- wmPtr->titleUid = winPtr->nameUid;
- }
-
- if (!Tk_IsEmbedded(winPtr)) {
- TkSetWMName(winPtr, wmPtr->titleUid);
- }
-
- TkWmSetClass(winPtr);
-
- if (wmPtr->iconName != NULL) {
- XSetIconName(winPtr->display, winPtr->window, wmPtr->iconName);
- }
-
- wmPtr->flags |= WM_UPDATE_SIZE_HINTS;
- }
- if (wmPtr->hints.initial_state == WithdrawnState) {
- return;
- }
-
- /*
- * TODO: we need to display a window if it's iconic on creation.
- */
-
- if (wmPtr->hints.initial_state == IconicState) {
- return;
- }
-
- /*
- * Update geometry information.
- */
-
- wmPtr->flags |= WM_ABOUT_TO_MAP;
- if (wmPtr->flags & WM_UPDATE_PENDING) {
- Tcl_CancelIdleCall(UpdateGeometryInfo, winPtr);
- }
- UpdateGeometryInfo(winPtr);
- wmPtr->flags &= ~WM_ABOUT_TO_MAP;
-
- /*
- * Map the window.
- */
-
- XMapWindow(winPtr->display, winPtr->window);
-
- /*Add window to Window menu.*/
- NSWindow *win = TkMacOSXDrawableWindow(winPtr->window);
- [win setExcludedFromWindowsMenu:NO];
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkWmUnmapWindow --
- *
- * This procedure is invoked to unmap a top-level window. On the
- * Macintosh all we do is call XUnmapWindow.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Unmaps the window.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkWmUnmapWindow(
- TkWindow *winPtr) /* Top-level window that's about to be
- * unmapped. */
-{
- XUnmapWindow(winPtr->display, winPtr->window);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkWmDeadWindow --
- *
- * This procedure is invoked when a top-level window is about to be
- * deleted. It cleans up the wm-related data structures for the window.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The WmInfo structure for winPtr gets freed up.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkWmDeadWindow(
- TkWindow *winPtr) /* Top-level window that's being deleted. */
-{
- WmInfo *wmPtr = winPtr->wmInfoPtr, *wmPtr2;
-
- if (wmPtr == NULL) {
- return;
- }
- Tk_ManageGeometry((Tk_Window) winPtr, NULL, NULL);
- Tk_DeleteEventHandler((Tk_Window) winPtr, StructureNotifyMask,
- TopLevelEventProc, winPtr);
- if (wmPtr->hints.flags & IconPixmapHint) {
- Tk_FreeBitmap(winPtr->display, wmPtr->hints.icon_pixmap);
- }
- if (wmPtr->hints.flags & IconMaskHint) {
- Tk_FreeBitmap(winPtr->display, wmPtr->hints.icon_mask);
- }
- if (wmPtr->iconName != NULL) {
- ckfree(wmPtr->iconName);
- }
- if (wmPtr->leaderName != NULL) {
- ckfree(wmPtr->leaderName);
- }
- if (wmPtr->masterWindowName != NULL) {
- ckfree(wmPtr->masterWindowName);
- }
- if (wmPtr->icon != NULL) {
- wmPtr2 = ((TkWindow *) wmPtr->icon)->wmInfoPtr;
- wmPtr2->iconFor = NULL;
- }
- if (wmPtr->iconFor != NULL) {
- wmPtr2 = ((TkWindow *) wmPtr->iconFor)->wmInfoPtr;
- wmPtr2->icon = NULL;
- wmPtr2->hints.flags &= ~IconWindowHint;
- }
- while (wmPtr->protPtr != NULL) {
- ProtocolHandler *protPtr = wmPtr->protPtr;
-
- wmPtr->protPtr = protPtr->nextPtr;
- Tcl_EventuallyFree(protPtr, TCL_DYNAMIC);
- }
- if (wmPtr->commandObj != NULL) {
- Tcl_DecrRefCount(wmPtr->commandObj);
- }
- if (wmPtr->clientMachine != NULL) {
- ckfree(wmPtr->clientMachine);
- }
- if (wmPtr->flags & WM_UPDATE_PENDING) {
- Tcl_CancelIdleCall(UpdateGeometryInfo, winPtr);
- }
-
- /*
- * Delete the Mac window and remove it from the windowTable. The window
- * could be nil if the window was never mapped. However, we don't do this
- * for embedded windows, they don't go in the window list, and they do not
- * own their portPtr's.
- */
-
- NSWindow *window = wmPtr->window;
-
- if (window && !Tk_IsEmbedded(winPtr) ) {
- NSWindow *parent = [window parentWindow];
- if (parent) {
- [parent removeChildWindow:window];
- }
-#if DEBUG_ZOMBIES > 0
- {
- const char *title = [[window title] UTF8String];
- if (title == nil) {
- title = "unnamed window";
- }
- printf(">>>> Closing <%s>. Count is: %lu\n", title, [window retainCount]);
- }
-#endif
- [window close];
- TkMacOSXUnregisterMacWindow(window);
- if (winPtr->window) {
- ((MacDrawable *) winPtr->window)->view = nil;
- }
- wmPtr->window = NULL;
- [window release];
-
- /* Activate the highest window left on the screen. */
- NSArray *windows = [NSApp orderedWindows];
- for (id nswindow in windows) {
- TkWindow *winPtr2 = TkMacOSXGetTkWindow(nswindow);
- if (winPtr2 && nswindow != window) {
- WmInfo *wmPtr = winPtr2->wmInfoPtr;
- BOOL minimized = (wmPtr->hints.initial_state == IconicState ||
- wmPtr->hints.initial_state == WithdrawnState);
- /*
- * If no windows are left on the screen and the next
- * window is iconified or withdrawn, we don't want to
- * make it be the KeyWindow because that would cause
- * it to be displayed on the screen.
- */
- if ([nswindow canBecomeKeyWindow] && !minimized) {
- [nswindow makeKeyAndOrderFront:NSApp];
- break;
- }
- }
- }
- /*
- * Process all window events immediately to force the closed window to
- * be deallocated. But don't do this for the root window as that is
- * unnecessary and can lead to segfaults.
- */
- if (winPtr->parentPtr) {
- while (Tk_DoOneEvent(TK_WINDOW_EVENTS|TK_DONT_WAIT)) {}
- }
- [NSApp _resetAutoreleasePool];
-
-#if DEBUG_ZOMBIES > 0
- fprintf(stderr, "================= Pool dump ===================\n");
- [NSAutoreleasePool showPools];
-#endif
- }
- ckfree(wmPtr);
- winPtr->wmInfoPtr = NULL;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkWmSetClass --
- *
- * This procedure is invoked whenever a top-level window's class is
- * changed. If the window has been mapped then this procedure updates the
- * window manager property for the class. If the window hasn't been
- * mapped, the update is deferred until just before the first mapping.
- *
- * Results:
- * None.
- *
- * Side effects:
- * A window property may get updated.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkWmSetClass(
- TkWindow *winPtr) /* Newly-created top-level window. */
-{
- return;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * Tk_WmObjCmd --
- *
- * This procedure is invoked to process the "wm" Tcl command. See the
- * user documentation for details on what it does.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * See the user documentation.
- *
- *----------------------------------------------------------------------
- */
-
-/* ARGSUSED */
-int
-Tk_WmObjCmd(
- ClientData clientData, /* Main window associated with interpreter. */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- Tk_Window tkwin = (Tk_Window) clientData;
- static const char *const optionStrings[] = {
- "aspect", "attributes", "client", "colormapwindows",
- "command", "deiconify", "focusmodel", "forget",
- "frame", "geometry", "grid", "group",
- "iconbitmap", "iconify", "iconmask", "iconname",
- "iconphoto", "iconposition", "iconwindow",
- "manage", "maxsize", "minsize", "overrideredirect",
- "positionfrom", "protocol", "resizable", "sizefrom",
- "stackorder", "state", "title", "transient",
- "withdraw", NULL };
- enum options {
- WMOPT_ASPECT, WMOPT_ATTRIBUTES, WMOPT_CLIENT, WMOPT_COLORMAPWINDOWS,
- WMOPT_COMMAND, WMOPT_DEICONIFY, WMOPT_FOCUSMODEL, WMOPT_FORGET,
- WMOPT_FRAME, WMOPT_GEOMETRY, WMOPT_GRID, WMOPT_GROUP,
- WMOPT_ICONBITMAP, WMOPT_ICONIFY, WMOPT_ICONMASK, WMOPT_ICONNAME,
- WMOPT_ICONPHOTO, WMOPT_ICONPOSITION, WMOPT_ICONWINDOW,
- WMOPT_MANAGE, WMOPT_MAXSIZE, WMOPT_MINSIZE, WMOPT_OVERRIDEREDIRECT,
- WMOPT_POSITIONFROM, WMOPT_PROTOCOL, WMOPT_RESIZABLE, WMOPT_SIZEFROM,
- WMOPT_STACKORDER, WMOPT_STATE, WMOPT_TITLE, WMOPT_TRANSIENT,
- WMOPT_WITHDRAW };
- int index, length;
- char *argv1;
- TkWindow *winPtr;
-
- if (objc < 2) {
- wrongNumArgs:
- Tcl_WrongNumArgs(interp, 1, objv, "option window ?arg ...?");
- return TCL_ERROR;
- }
-
- argv1 = Tcl_GetStringFromObj(objv[1], &length);
- if ((argv1[0] == 't') && (strncmp(argv1, "tracing", length) == 0)
- && (length >= 3)) {
- if ((objc != 2) && (objc != 3)) {
- Tcl_WrongNumArgs(interp, 2, objv, "?boolean?");
- return TCL_ERROR;
- }
- if (objc == 2) {
- Tcl_SetObjResult(interp, Tcl_NewBooleanObj(wmTracing));
- return TCL_OK;
- }
- return Tcl_GetBooleanFromObj(interp, objv[2], &wmTracing);
- }
-
- if (Tcl_GetIndexFromObjStruct(interp, objv[1], optionStrings,
- sizeof(char *), "option", 0, &index) != TCL_OK) {
- return TCL_ERROR;
- }
-
- if (objc < 3) {
- goto wrongNumArgs;
- }
-
- if (TkGetWindowFromObj(interp, tkwin, objv[2], (Tk_Window *) &winPtr)
- != TCL_OK) {
- return TCL_ERROR;
- }
- if (!Tk_IsTopLevel(winPtr)
- && (index != WMOPT_MANAGE) && (index != WMOPT_FORGET)) {
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "window \"%s\" isn't a top-level window", winPtr->pathName));
- Tcl_SetErrorCode(interp, "TK", "LOOKUP", "TOPLEVEL", winPtr->pathName,
- NULL);
- return TCL_ERROR;
- }
-
- switch ((enum options) index) {
- case WMOPT_ASPECT:
- return WmAspectCmd(tkwin, winPtr, interp, objc, objv);
- case WMOPT_ATTRIBUTES:
- return WmAttributesCmd(tkwin, winPtr, interp, objc, objv);
- case WMOPT_CLIENT:
- return WmClientCmd(tkwin, winPtr, interp, objc, objv);
- case WMOPT_COLORMAPWINDOWS:
- return WmColormapwindowsCmd(tkwin, winPtr, interp, objc, objv);
- case WMOPT_COMMAND:
- return WmCommandCmd(tkwin, winPtr, interp, objc, objv);
- case WMOPT_DEICONIFY:
- return WmDeiconifyCmd(tkwin, winPtr, interp, objc, objv);
- case WMOPT_FOCUSMODEL:
- return WmFocusmodelCmd(tkwin, winPtr, interp, objc, objv);
- case WMOPT_FORGET:
- return WmForgetCmd(tkwin, winPtr, interp, objc, objv);
- case WMOPT_FRAME:
- return WmFrameCmd(tkwin, winPtr, interp, objc, objv);
- case WMOPT_GEOMETRY:
- return WmGeometryCmd(tkwin, winPtr, interp, objc, objv);
- case WMOPT_GRID:
- return WmGridCmd(tkwin, winPtr, interp, objc, objv);
- case WMOPT_GROUP:
- return WmGroupCmd(tkwin, winPtr, interp, objc, objv);
- case WMOPT_ICONBITMAP:
- return WmIconbitmapCmd(tkwin, winPtr, interp, objc, objv);
- case WMOPT_ICONIFY:
- return WmIconifyCmd(tkwin, winPtr, interp, objc, objv);
- case WMOPT_ICONMASK:
- return WmIconmaskCmd(tkwin, winPtr, interp, objc, objv);
- case WMOPT_ICONNAME:
- return WmIconnameCmd(tkwin, winPtr, interp, objc, objv);
- case WMOPT_ICONPHOTO:
- return WmIconphotoCmd(tkwin, winPtr, interp, objc, objv);
- case WMOPT_ICONPOSITION:
- return WmIconpositionCmd(tkwin, winPtr, interp, objc, objv);
- case WMOPT_ICONWINDOW:
- return WmIconwindowCmd(tkwin, winPtr, interp, objc, objv);
- case WMOPT_MANAGE:
- return WmManageCmd(tkwin, winPtr, interp, objc, objv);
- case WMOPT_MAXSIZE:
- return WmMaxsizeCmd(tkwin, winPtr, interp, objc, objv);
- case WMOPT_MINSIZE:
- return WmMinsizeCmd(tkwin, winPtr, interp, objc, objv);
- case WMOPT_OVERRIDEREDIRECT:
- return WmOverrideredirectCmd(tkwin, winPtr, interp, objc, objv);
- case WMOPT_POSITIONFROM:
- return WmPositionfromCmd(tkwin, winPtr, interp, objc, objv);
- case WMOPT_PROTOCOL:
- return WmProtocolCmd(tkwin, winPtr, interp, objc, objv);
- case WMOPT_RESIZABLE:
- return WmResizableCmd(tkwin, winPtr, interp, objc, objv);
- case WMOPT_SIZEFROM:
- return WmSizefromCmd(tkwin, winPtr, interp, objc, objv);
- case WMOPT_STACKORDER:
- return WmStackorderCmd(tkwin, winPtr, interp, objc, objv);
- case WMOPT_STATE:
- return WmStateCmd(tkwin, winPtr, interp, objc, objv);
- case WMOPT_TITLE:
- return WmTitleCmd(tkwin, winPtr, interp, objc, objv);
- case WMOPT_TRANSIENT:
- return WmTransientCmd(tkwin, winPtr, interp, objc, objv);
- case WMOPT_WITHDRAW:
- return WmWithdrawCmd(tkwin, winPtr, interp, objc, objv);
- }
-
- /* This should not happen */
- return TCL_ERROR;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * WmAspectCmd --
- *
- * This procedure is invoked to process the "wm aspect" Tcl command. See
- * the user documentation for details on what it does.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * See the user documentation.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-WmAspectCmd(
- Tk_Window tkwin, /* Main window of the application. */
- TkWindow *winPtr, /* Toplevel to work with */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- register WmInfo *wmPtr = winPtr->wmInfoPtr;
- int numer1, denom1, numer2, denom2;
-
- if ((objc != 3) && (objc != 7)) {
- Tcl_WrongNumArgs(interp, 2, objv,
- "window ?minNumer minDenom maxNumer maxDenom?");
- return TCL_ERROR;
- }
- if (objc == 3) {
- if (wmPtr->sizeHintsFlags & PAspect) {
- Tcl_Obj *results[4];
-
- results[0] = Tcl_NewIntObj(wmPtr->minAspect.x);
- results[1] = Tcl_NewIntObj(wmPtr->minAspect.y);
- results[2] = Tcl_NewIntObj(wmPtr->maxAspect.x);
- results[3] = Tcl_NewIntObj(wmPtr->maxAspect.y);
- Tcl_SetObjResult(interp, Tcl_NewListObj(4, results));
- }
- return TCL_OK;
- }
- if (*Tcl_GetString(objv[3]) == '\0') {
- wmPtr->sizeHintsFlags &= ~PAspect;
- } else {
- if ((Tcl_GetIntFromObj(interp, objv[3], &numer1) != TCL_OK)
- || (Tcl_GetIntFromObj(interp, objv[4], &denom1) != TCL_OK)
- || (Tcl_GetIntFromObj(interp, objv[5], &numer2) != TCL_OK)
- || (Tcl_GetIntFromObj(interp, objv[6], &denom2) != TCL_OK)) {
- return TCL_ERROR;
- }
- if ((numer1 <= 0) || (denom1 <= 0) || (numer2 <= 0) ||
- (denom2 <= 0)) {
- Tcl_SetObjResult(interp, Tcl_NewStringObj(
- "aspect number can't be <= 0", -1));
- Tcl_SetErrorCode(interp, "TK", "WM", "ASPECT", NULL);
- return TCL_ERROR;
- }
- wmPtr->minAspect.x = numer1;
- wmPtr->minAspect.y = denom1;
- wmPtr->maxAspect.x = numer2;
- wmPtr->maxAspect.y = denom2;
- wmPtr->sizeHintsFlags |= PAspect;
- }
- wmPtr->flags |= WM_UPDATE_SIZE_HINTS;
- WmUpdateGeom(wmPtr, winPtr);
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * WmSetAttribute --
- *
- * Helper routine for WmAttributesCmd. Sets the value of the specified
- * attribute.
- *
- * Returns:
- *
- * TCL_OK if successful, TCL_ERROR otherwise. In case of an error, leaves
- * a message in the interpreter's result.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-WmSetAttribute(
- TkWindow *winPtr, /* Toplevel to work with */
- NSWindow *macWindow,
- Tcl_Interp *interp, /* Current interpreter */
- WmAttribute attribute, /* Code of attribute to set */
- Tcl_Obj *value) /* New value */
-{
- WmInfo *wmPtr = winPtr->wmInfoPtr;
- int boolean;
-
- switch (attribute) {
- case WMATT_ALPHA: {
- double dval;
-
- if (Tcl_GetDoubleFromObj(interp, value, &dval) != TCL_OK) {
- return TCL_ERROR;
- }
-
- /*
- * The user should give (transparent) 0 .. 1.0 (opaque)
- */
-
- if (dval < 0.0) {
- dval = 0.0;
- } else if (dval > 1.0) {
- dval = 1.0;
- }
- [macWindow setAlphaValue:dval];
- break;
- }
- case WMATT_FULLSCREEN:
- if (Tcl_GetBooleanFromObj(interp, value, &boolean) != TCL_OK) {
- return TCL_ERROR;
- }
- if (boolean != ((wmPtr->flags & WM_FULLSCREEN) != 0)) {
- if (TkMacOSXMakeFullscreen(winPtr, macWindow, boolean, interp)
- != TCL_OK) {
- return TCL_ERROR;
- }
- }
- break;
- case WMATT_MODIFIED:
- if (Tcl_GetBooleanFromObj(interp, value, &boolean) != TCL_OK) {
- return TCL_ERROR;
- }
- if (boolean != [macWindow isDocumentEdited]) {
- [macWindow setDocumentEdited:boolean];
- }
- break;
- case WMATT_NOTIFY:
- if (Tcl_GetBooleanFromObj(interp, value, &boolean) != TCL_OK) {
- return TCL_ERROR;
- }
- if (boolean == !tkMacOSXWmAttrNotifyVal) {
- static NSInteger request = -1;
-
- if (request >= 0) {
- [NSApp cancelUserAttentionRequest:request];
- request = -1;
- }
- if (boolean) {
- request = [NSApp requestUserAttention:NSCriticalRequest];
- }
- tkMacOSXWmAttrNotifyVal = boolean;
- }
- break;
- case WMATT_TITLEPATH: {
- const char *path = Tcl_FSGetNativePath(value);
- NSString *filename = @"";
-
- if (path && *path) {
- filename = [NSString stringWithUTF8String:path];
- }
- [macWindow setRepresentedFilename:filename];
- break;
- }
- case WMATT_TOPMOST:
- if (Tcl_GetBooleanFromObj(interp, value, &boolean) != TCL_OK) {
- return TCL_ERROR;
- }
- if (boolean != ((wmPtr->flags & WM_TOPMOST) != 0)) {
- int oldFlags = wmPtr->flags;
-
- if (boolean) {
- wmPtr->flags |= WM_TOPMOST;
- } else {
- wmPtr->flags &= ~WM_TOPMOST;
- }
- ApplyWindowAttributeFlagChanges(winPtr, macWindow,
- wmPtr->attributes, oldFlags, 1, 0);
- }
- break;
- case WMATT_TRANSPARENT:
- if (Tcl_GetBooleanFromObj(interp, value, &boolean) != TCL_OK) {
- return TCL_ERROR;
- }
- if (boolean != ((wmPtr->flags & WM_TRANSPARENT) != 0)) {
- UInt64 oldAttributes = wmPtr->attributes;
- int oldFlags = wmPtr->flags;
-
- if (boolean) {
- wmPtr->flags |= WM_TRANSPARENT;
- wmPtr->attributes |= kWindowNoShadowAttribute;
- } else {
- wmPtr->flags &= ~WM_TRANSPARENT;
- wmPtr->attributes &= ~kWindowNoShadowAttribute;
- }
- ApplyWindowAttributeFlagChanges(winPtr, macWindow, oldAttributes,
- oldFlags, 1, 0);
- [macWindow setBackgroundColor:boolean ? [NSColor clearColor] : nil];
- [macWindow setOpaque:!boolean];
- TkMacOSXInvalidateWindow((MacDrawable *) winPtr->window,
- TK_PARENT_WINDOW);
- }
- break;
- case _WMATT_LAST_ATTRIBUTE:
- default:
- return TCL_ERROR;
- }
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * WmGetAttribute --
- *
- * Helper routine for WmAttributesCmd. Returns the current value of the
- * specified attribute.
- *
- *----------------------------------------------------------------------
- */
-
-static Tcl_Obj *
-WmGetAttribute(
- TkWindow *winPtr, /* Toplevel to work with */
- NSWindow *macWindow,
- WmAttribute attribute) /* Code of attribute to get */
-{
- Tcl_Obj *result = NULL;
- WmInfo *wmPtr = winPtr->wmInfoPtr;
-
- switch (attribute) {
- case WMATT_ALPHA:
- result = Tcl_NewDoubleObj([macWindow alphaValue]);
- break;
- case WMATT_FULLSCREEN:
- result = Tcl_NewBooleanObj(wmPtr->flags & WM_FULLSCREEN);
- break;
- case WMATT_MODIFIED:
- result = Tcl_NewBooleanObj([macWindow isDocumentEdited]);
- break;
- case WMATT_NOTIFY:
- result = Tcl_NewBooleanObj(tkMacOSXWmAttrNotifyVal);
- break;
- case WMATT_TITLEPATH:
- result = Tcl_NewStringObj([[macWindow representedFilename] UTF8String],
- -1);
- break;
- case WMATT_TOPMOST:
- result = Tcl_NewBooleanObj(wmPtr->flags & WM_TOPMOST);
- break;
- case WMATT_TRANSPARENT:
- result = Tcl_NewBooleanObj(wmPtr->flags & WM_TRANSPARENT);
- break;
- case _WMATT_LAST_ATTRIBUTE:
- default:
- break;
- }
- return result;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * WmAttributesCmd --
- *
- * This procedure is invoked to process the "wm attributes" Tcl command.
- * See the user documentation for details on what it does.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * See the user documentation.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-WmAttributesCmd(
- Tk_Window tkwin, /* Main window of the application. */
- TkWindow *winPtr, /* Toplevel to work with */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- int attribute = 0;
- NSWindow *macWindow;
-
- if (winPtr->window == None) {
- Tk_MakeWindowExist((Tk_Window) winPtr);
- }
- if (!TkMacOSXHostToplevelExists(winPtr)) {
- TkMacOSXMakeRealWindowExist(winPtr);
- }
- macWindow = TkMacOSXDrawableWindow(winPtr->window);
-
- if (objc == 3) { /* wm attributes $win */
- Tcl_Obj *result = Tcl_NewObj();
-
- for (attribute = 0; attribute < _WMATT_LAST_ATTRIBUTE; ++attribute) {
- Tcl_ListObjAppendElement(NULL, result,
- Tcl_NewStringObj(WmAttributeNames[attribute], -1));
- Tcl_ListObjAppendElement(NULL, result,
- WmGetAttribute(winPtr, macWindow, attribute));
- }
- Tcl_SetObjResult(interp, result);
- } else if (objc == 4) { /* wm attributes $win -attribute */
- if (Tcl_GetIndexFromObjStruct(interp, objv[3], WmAttributeNames,
- sizeof(char *), "attribute", 0, &attribute) != TCL_OK) {
- return TCL_ERROR;
- }
- Tcl_SetObjResult(interp, WmGetAttribute(winPtr, macWindow, attribute));
- } else if ((objc - 3) % 2 == 0) { /* wm attributes $win -att value... */
- int i;
-
- for (i = 3; i < objc; i += 2) {
- if (Tcl_GetIndexFromObjStruct(interp, objv[i], WmAttributeNames,
- sizeof(char *), "attribute", 0, &attribute) != TCL_OK) {
- return TCL_ERROR;
- }
- if (WmSetAttribute(winPtr, macWindow, interp, attribute, objv[i+1])
- != TCL_OK) {
- return TCL_ERROR;
- }
- }
- } else {
- Tcl_WrongNumArgs(interp, 2, objv, "window ?-attribute ?value ...??");
- return TCL_ERROR;
- }
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * WmClientCmd --
- *
- * This procedure is invoked to process the "wm client" Tcl command. See
- * the user documentation for details on what it does.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * See the user documentation.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-WmClientCmd(
- Tk_Window tkwin, /* Main window of the application. */
- TkWindow *winPtr, /* Toplevel to work with */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- register WmInfo *wmPtr = winPtr->wmInfoPtr;
- char *argv3;
- int length;
-
- if ((objc != 3) && (objc != 4)) {
- Tcl_WrongNumArgs(interp, 2, objv, "window ?name?");
- return TCL_ERROR;
- }
- if (objc == 3) {
- if (wmPtr->clientMachine != NULL) {
- Tcl_SetObjResult(interp,
- Tcl_NewStringObj(wmPtr->clientMachine, -1));
- }
- return TCL_OK;
- }
- argv3 = Tcl_GetStringFromObj(objv[3], &length);
- if (argv3[0] == 0) {
- if (wmPtr->clientMachine != NULL) {
- ckfree(wmPtr->clientMachine);
- wmPtr->clientMachine = NULL;
- }
- return TCL_OK;
- }
- if (wmPtr->clientMachine != NULL) {
- ckfree(wmPtr->clientMachine);
- }
- wmPtr->clientMachine = ckalloc(length + 1);
- strcpy(wmPtr->clientMachine, argv3);
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * WmColormapwindowsCmd --
- *
- * This procedure is invoked to process the "wm colormapwindows" Tcl
- * command. See the user documentation for details on what it does.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * See the user documentation.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-WmColormapwindowsCmd(
- Tk_Window tkwin, /* Main window of the application. */
- TkWindow *winPtr, /* Toplevel to work with */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- register WmInfo *wmPtr = winPtr->wmInfoPtr;
- TkWindow **cmapList, *winPtr2;
- int i, windowObjc, gotToplevel = 0;
- Tcl_Obj **windowObjv, *resultObj;
-
- if ((objc != 3) && (objc != 4)) {
- Tcl_WrongNumArgs(interp, 2, objv, "window ?windowList?");
- return TCL_ERROR;
- }
- if (objc == 3) {
- Tk_MakeWindowExist((Tk_Window) winPtr);
- resultObj = Tcl_NewObj();
- for (i = 0; i < wmPtr->cmapCount; i++) {
- if ((i == (wmPtr->cmapCount-1))
- && (wmPtr->flags & WM_ADDED_TOPLEVEL_COLORMAP)) {
- break;
- }
- Tcl_ListObjAppendElement(NULL, resultObj,
- TkNewWindowObj((Tk_Window) wmPtr->cmapList[i]));
- }
- Tcl_SetObjResult(interp, resultObj);
- return TCL_OK;
- }
- if (Tcl_ListObjGetElements(interp, objv[3], &windowObjc, &windowObjv)
- != TCL_OK) {
- return TCL_ERROR;
- }
- cmapList = ckalloc((windowObjc+1) * sizeof(TkWindow*));
- for (i = 0; i < windowObjc; i++) {
- if (TkGetWindowFromObj(interp, tkwin, windowObjv[i],
- (Tk_Window *) &winPtr2) != TCL_OK) {
- ckfree(cmapList);
- return TCL_ERROR;
- }
- if (winPtr2 == winPtr) {
- gotToplevel = 1;
- }
- if (winPtr2->window == None) {
- Tk_MakeWindowExist((Tk_Window) winPtr2);
- }
- cmapList[i] = winPtr2;
- }
- if (!gotToplevel) {
- wmPtr->flags |= WM_ADDED_TOPLEVEL_COLORMAP;
- cmapList[windowObjc] = winPtr;
- windowObjc++;
- } else {
- wmPtr->flags &= ~WM_ADDED_TOPLEVEL_COLORMAP;
- }
- wmPtr->flags |= WM_COLORMAPS_EXPLICIT;
- if (wmPtr->cmapList != NULL) {
- ckfree(wmPtr->cmapList);
- }
- wmPtr->cmapList = cmapList;
- wmPtr->cmapCount = windowObjc;
-
- /*
- * On the Macintosh all of this is just an excercise in compatability as
- * we don't support colormaps. If we did they would be installed here.
- */
-
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * WmCommandCmd --
- *
- * This procedure is invoked to process the "wm command" Tcl command. See
- * the user documentation for details on what it does.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * See the user documentation.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-WmCommandCmd(
- Tk_Window tkwin, /* Main window of the application. */
- TkWindow *winPtr, /* Toplevel to work with */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- register WmInfo *wmPtr = winPtr->wmInfoPtr;
- int len;
-
- if ((objc != 3) && (objc != 4)) {
- Tcl_WrongNumArgs(interp, 2, objv, "window ?value?");
- return TCL_ERROR;
- }
- if (objc == 3) {
- if (wmPtr->commandObj != NULL) {
- Tcl_SetObjResult(interp, wmPtr->commandObj);
- }
- return TCL_OK;
- }
- if (Tcl_GetString(objv[3])[0] == 0) {
- if (wmPtr->commandObj != NULL) {
- Tcl_DecrRefCount(wmPtr->commandObj);
- wmPtr->commandObj = NULL;
- }
- return TCL_OK;
- }
- if (Tcl_ListObjLength(interp, objv[3], &len) != TCL_OK) {
- return TCL_ERROR;
- }
- if (wmPtr->commandObj != NULL) {
- Tcl_DecrRefCount(wmPtr->commandObj);
- }
- wmPtr->commandObj = Tcl_DuplicateObj(objv[3]);
- Tcl_IncrRefCount(wmPtr->commandObj);
- Tcl_InvalidateStringRep(wmPtr->commandObj);
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * WmDeiconifyCmd --
- *
- * This procedure is invoked to process the "wm deiconify" Tcl command.
- * See the user documentation for details on what it does.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * See the user documentation.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-WmDeiconifyCmd(
- Tk_Window tkwin, /* Main window of the application. */
- TkWindow *winPtr, /* Toplevel to work with */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- register WmInfo *wmPtr = winPtr->wmInfoPtr;
-
- if (objc != 3) {
- Tcl_WrongNumArgs(interp, 2, objv, "window");
- return TCL_ERROR;
- }
-
- if (wmPtr->iconFor != NULL) {
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "can't deiconify %s: it is an icon for %s",
- Tcl_GetString(objv[2]), Tk_PathName(wmPtr->iconFor)));
- Tcl_SetErrorCode(interp, "TK", "WM", "DEICONIFY", "ICON", NULL);
- return TCL_ERROR;
- } else if (winPtr->flags & TK_EMBEDDED) {
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "can't deiconify %s: it is an embedded window",
- winPtr->pathName));
- Tcl_SetErrorCode(interp, "TK", "WM", "DEICONIFY", "EMBEDDED", NULL);
- return TCL_ERROR;
- }
-
- TkpWmSetState(winPtr, TkMacOSXIsWindowZoomed(winPtr) ?
- ZoomState : NormalState);
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * WmFocusmodelCmd --
- *
- * This procedure is invoked to process the "wm focusmodel" Tcl command.
- * See the user documentation for details on what it does.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * See the user documentation.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-WmFocusmodelCmd(
- Tk_Window tkwin, /* Main window of the application. */
- TkWindow *winPtr, /* Toplevel to work with */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- register WmInfo *wmPtr = winPtr->wmInfoPtr;
- static const char *const optionStrings[] = {
- "active", "passive", NULL };
- enum options {
- OPT_ACTIVE, OPT_PASSIVE };
- int index;
-
- if ((objc != 3) && (objc != 4)) {
- Tcl_WrongNumArgs(interp, 2, objv, "window ?active|passive?");
- return TCL_ERROR;
- }
- if (objc == 3) {
- Tcl_SetObjResult(interp, Tcl_NewStringObj(
- wmPtr->hints.input ? "passive" : "active", -1));
- return TCL_OK;
- }
-
- if (Tcl_GetIndexFromObjStruct(interp, objv[3], optionStrings,
- sizeof(char *), "argument", 0, &index) != TCL_OK) {
- return TCL_ERROR;
- }
- if (index == OPT_ACTIVE) {
- wmPtr->hints.input = False;
- } else { /* OPT_PASSIVE */
- wmPtr->hints.input = True;
- }
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * WmForgetCmd --
- *
- * This procedure is invoked to process the "wm forget" Tcl command.
- * See the user documentation for details on what it does.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * See the user documentation.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-WmForgetCmd(
- Tk_Window tkwin, /* Main window of the application. */
- TkWindow *winPtr, /* Toplevel or Frame to work with */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- register Tk_Window frameWin = (Tk_Window) winPtr;
-
- if (Tk_IsTopLevel(frameWin)) {
- MacDrawable *macWin;
-
- Tk_MakeWindowExist(frameWin);
- Tk_MakeWindowExist((Tk_Window)winPtr->parentPtr);
-
- macWin = (MacDrawable *) winPtr->window;
-
- TkFocusJoin(winPtr);
- Tk_UnmapWindow(frameWin);
-
- macWin->toplevel->referenceCount--;
- macWin->toplevel = winPtr->parentPtr->privatePtr->toplevel;
- macWin->toplevel->referenceCount++;
- macWin->flags &= ~TK_HOST_EXISTS;
-
- TkWmDeadWindow(winPtr);
- RemapWindows(winPtr, (MacDrawable *) winPtr->parentPtr->window);
-
- /*
- * Make sure wm no longer manages this window
- */
- Tk_ManageGeometry(frameWin, NULL, NULL);
-
- winPtr->flags &= ~(TK_TOP_HIERARCHY|TK_TOP_LEVEL|TK_HAS_WRAPPER|TK_WIN_MANAGED);
-
- /*
- * Flags (above) must be cleared before calling TkMapTopFrame (below).
- */
-
- TkMapTopFrame(frameWin);
- } else {
- /*
- * Already not managed by wm - ignore it.
- */
- }
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * WmFrameCmd --
- *
- * This procedure is invoked to process the "wm frame" Tcl command. See
- * the user documentation for details on what it does.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * See the user documentation.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-WmFrameCmd(
- Tk_Window tkwin, /* Main window of the application. */
- TkWindow *winPtr, /* Toplevel to work with */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- register WmInfo *wmPtr = winPtr->wmInfoPtr;
- Window window;
-
- if (objc != 3) {
- Tcl_WrongNumArgs(interp, 2, objv, "window");
- return TCL_ERROR;
- }
- window = wmPtr->reparent;
- if (window == None) {
- window = Tk_WindowId((Tk_Window) winPtr);
- }
- Tcl_SetObjResult(interp, Tcl_ObjPrintf("0x%x", (unsigned) window));
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * WmGeometryCmd --
- *
- * This procedure is invoked to process the "wm geometry" Tcl command.
- * See the user documentation for details on what it does.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * See the user documentation.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-WmGeometryCmd(
- Tk_Window tkwin, /* Main window of the application. */
- TkWindow *winPtr, /* Toplevel to work with */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- register WmInfo *wmPtr = winPtr->wmInfoPtr;
- char xSign, ySign;
- int width, height;
- char *argv3;
-
- if ((objc != 3) && (objc != 4)) {
- Tcl_WrongNumArgs(interp, 2, objv, "window ?newGeometry?");
- return TCL_ERROR;
- }
- if (objc == 3) {
- xSign = (wmPtr->flags & WM_NEGATIVE_X) ? '-' : '+';
- ySign = (wmPtr->flags & WM_NEGATIVE_Y) ? '-' : '+';
- if (wmPtr->gridWin != NULL) {
- width = wmPtr->reqGridWidth + (winPtr->changes.width
- - winPtr->reqWidth)/wmPtr->widthInc;
- height = wmPtr->reqGridHeight + (winPtr->changes.height
- - winPtr->reqHeight)/wmPtr->heightInc;
- } else {
- width = winPtr->changes.width;
- height = winPtr->changes.height;
- }
- Tcl_SetObjResult(interp, Tcl_ObjPrintf("%dx%d%c%d%c%d",
- width, height, xSign, wmPtr->x, ySign, wmPtr->y));
- return TCL_OK;
- }
- argv3 = Tcl_GetString(objv[3]);
- if (*argv3 == '\0') {
- wmPtr->width = -1;
- wmPtr->height = -1;
- WmUpdateGeom(wmPtr, winPtr);
- return TCL_OK;
- }
- return ParseGeometry(interp, argv3, winPtr);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * WmGridCmd --
- *
- * This procedure is invoked to process the "wm grid" Tcl command. See
- * the user documentation for details on what it does.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * See the user documentation.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-WmGridCmd(
- Tk_Window tkwin, /* Main window of the application. */
- TkWindow *winPtr, /* Toplevel to work with */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- register WmInfo *wmPtr = winPtr->wmInfoPtr;
- int reqWidth, reqHeight, widthInc, heightInc;
- const char *errorMsg;
-
- if ((objc != 3) && (objc != 7)) {
- Tcl_WrongNumArgs(interp, 2, objv,
- "window ?baseWidth baseHeight widthInc heightInc?");
- return TCL_ERROR;
- }
- if (objc == 3) {
- if (wmPtr->sizeHintsFlags & PBaseSize) {
- Tcl_Obj *results[4];
-
- results[0] = Tcl_NewIntObj(wmPtr->reqGridWidth);
- results[1] = Tcl_NewIntObj(wmPtr->reqGridHeight);
- results[2] = Tcl_NewIntObj(wmPtr->widthInc);
- results[3] = Tcl_NewIntObj(wmPtr->heightInc);
- Tcl_SetObjResult(interp, Tcl_NewListObj(4, results));
- }
- return TCL_OK;
- }
- if (*Tcl_GetString(objv[3]) == '\0') {
- /*
- * Turn off gridding and reset the width and height to make sense as
- * ungridded numbers.
- */
-
- wmPtr->sizeHintsFlags &= ~(PBaseSize|PResizeInc);
- if (wmPtr->width != -1) {
- wmPtr->width = winPtr->reqWidth + (wmPtr->width
- - wmPtr->reqGridWidth)*wmPtr->widthInc;
- wmPtr->height = winPtr->reqHeight + (wmPtr->height
- - wmPtr->reqGridHeight)*wmPtr->heightInc;
- }
- wmPtr->widthInc = 1;
- wmPtr->heightInc = 1;
- } else {
- if ((Tcl_GetIntFromObj(interp, objv[3], &reqWidth) != TCL_OK)
- || (Tcl_GetIntFromObj(interp, objv[4], &reqHeight) != TCL_OK)
- || (Tcl_GetIntFromObj(interp, objv[5], &widthInc) != TCL_OK)
- || (Tcl_GetIntFromObj(interp, objv[6], &heightInc)!=TCL_OK)) {
- return TCL_ERROR;
- }
- if (reqWidth < 0) {
- errorMsg = "baseWidth can't be < 0";
- goto error;
- } else if (reqHeight < 0) {
- errorMsg = "baseHeight can't be < 0";
- goto error;
- } else if (widthInc <= 0) {
- errorMsg = "widthInc can't be <= 0";
- goto error;
- } else if (heightInc <= 0) {
- errorMsg = "heightInc can't be <= 0";
- goto error;
- }
- Tk_SetGrid((Tk_Window) winPtr, reqWidth, reqHeight, widthInc,
- heightInc);
- }
- wmPtr->flags |= WM_UPDATE_SIZE_HINTS;
- WmUpdateGeom(wmPtr, winPtr);
- return TCL_OK;
-
- error:
- Tcl_SetObjResult(interp, Tcl_NewStringObj(errorMsg, -1));
- Tcl_SetErrorCode(interp, "TK", "WM", "GRID", NULL);
- return TCL_ERROR;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * WmGroupCmd --
- *
- * This procedure is invoked to process the "wm group" Tcl command. See
- * the user documentation for details on what it does.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * See the user documentation.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-WmGroupCmd(
- Tk_Window tkwin, /* Main window of the application. */
- TkWindow *winPtr, /* Toplevel to work with */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- register WmInfo *wmPtr = winPtr->wmInfoPtr;
- Tk_Window tkwin2;
- char *argv3;
- int length;
-
- if ((objc != 3) && (objc != 4)) {
- Tcl_WrongNumArgs(interp, 2, objv, "window ?pathName?");
- return TCL_ERROR;
- }
- if (objc == 3) {
- if (wmPtr->hints.flags & WindowGroupHint) {
- Tcl_SetObjResult(interp, Tcl_NewStringObj(wmPtr->leaderName, -1));
- }
- return TCL_OK;
- }
-
- argv3 = Tcl_GetStringFromObj(objv[3], &length);
- if (*argv3 == '\0') {
- wmPtr->hints.flags &= ~WindowGroupHint;
- if (wmPtr->leaderName != NULL) {
- ckfree(wmPtr->leaderName);
- }
- wmPtr->leaderName = NULL;
- } else {
- if (TkGetWindowFromObj(interp, tkwin, objv[3], &tkwin2) != TCL_OK) {
- return TCL_ERROR;
- }
- Tk_MakeWindowExist(tkwin2);
- if (wmPtr->leaderName != NULL) {
- ckfree(wmPtr->leaderName);
- }
- wmPtr->hints.window_group = Tk_WindowId(tkwin2);
- wmPtr->hints.flags |= WindowGroupHint;
- wmPtr->leaderName = ckalloc(length + 1);
- strcpy(wmPtr->leaderName, argv3);
- }
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * WmIconbitmapCmd --
- *
- * This procedure is invoked to process the "wm iconbitmap" Tcl command.
- * See the user documentation for details on what it does.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * See the user documentation.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-WmIconbitmapCmd(
- Tk_Window tkwin, /* Main window of the application. */
- TkWindow *winPtr, /* Toplevel to work with */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- register WmInfo *wmPtr = winPtr->wmInfoPtr;
- Pixmap pixmap;
- char *str;
- int len;
-
- if ((objc != 3) && (objc != 4)) {
- Tcl_WrongNumArgs(interp, 2, objv, "window ?bitmap?");
- return TCL_ERROR;
- }
- if (objc == 3) {
- if (wmPtr->hints.flags & IconPixmapHint) {
- Tcl_SetObjResult(interp, Tcl_NewStringObj(
- Tk_NameOfBitmap(winPtr->display,wmPtr->hints.icon_pixmap),
- -1));
- }
- return TCL_OK;
- }
- str = Tcl_GetStringFromObj(objv[3], &len);
- if (winPtr->window == None) {
- Tk_MakeWindowExist((Tk_Window) winPtr);
- }
- if (!TkMacOSXHostToplevelExists(winPtr)) {
- TkMacOSXMakeRealWindowExist(winPtr);
- }
- if (WmSetAttribute(winPtr, TkMacOSXDrawableWindow(winPtr->window), interp,
- WMATT_TITLEPATH, objv[3]) == TCL_OK) {
- if (!len) {
- if (wmPtr->hints.icon_pixmap != None) {
- Tk_FreeBitmap(winPtr->display, wmPtr->hints.icon_pixmap);
- wmPtr->hints.icon_pixmap = None;
- }
- wmPtr->hints.flags &= ~IconPixmapHint;
- }
- } else {
- pixmap = Tk_GetBitmap(interp, (Tk_Window) winPtr, Tk_GetUid(str));
- if (pixmap == None) {
- return TCL_ERROR;
- }
- wmPtr->hints.icon_pixmap = pixmap;
- wmPtr->hints.flags |= IconPixmapHint;
- }
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * WmIconifyCmd --
- *
- * This procedure is invoked to process the "wm iconify" Tcl command. See
- * the user documentation for details on what it does.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * See the user documentation.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-WmIconifyCmd(
- Tk_Window tkwin, /* Main window of the application. */
- TkWindow *winPtr, /* Toplevel to work with */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- register WmInfo *wmPtr = winPtr->wmInfoPtr;
- if (objc != 3) {
- Tcl_WrongNumArgs(interp, 2, objv, "window");
- return TCL_ERROR;
- }
-
- if (Tk_Attributes((Tk_Window) winPtr)->override_redirect) {
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "can't iconify \"%s\": override-redirect flag is set",
- winPtr->pathName));
- Tcl_SetErrorCode(interp, "TK", "WM", "ICONIFY", "OVERRIDE_REDIRECT",
- NULL);
- return TCL_ERROR;
- } else if (wmPtr->master != None) {
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "can't iconify \"%s\": it is a transient", winPtr->pathName));
- Tcl_SetErrorCode(interp, "TK", "WM", "ICONIFY", "TRANSIENT", NULL);
- return TCL_ERROR;
- } else if (wmPtr->iconFor != NULL) {
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "can't iconify %s: it is an icon for %s",
- winPtr->pathName, Tk_PathName(wmPtr->iconFor)));
- Tcl_SetErrorCode(interp, "TK", "WM", "ICONIFY", "ICON", NULL);
- return TCL_ERROR;
- } else if (winPtr->flags & TK_EMBEDDED) {
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "can't iconify %s: it is an embedded window",
- winPtr->pathName));
- Tcl_SetErrorCode(interp, "TK", "WM", "ICONIFY", "EMBEDDED", NULL);
- return TCL_ERROR;
- }
-
- TkpWmSetState(winPtr, IconicState);
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * WmIconmaskCmd --
- *
- * This procedure is invoked to process the "wm iconmask" Tcl command.
- * See the user documentation for details on what it does.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * See the user documentation.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-WmIconmaskCmd(
- Tk_Window tkwin, /* Main window of the application. */
- TkWindow *winPtr, /* Toplevel to work with */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- register WmInfo *wmPtr = winPtr->wmInfoPtr;
- Pixmap pixmap;
- char *argv3;
-
- if ((objc != 3) && (objc != 4)) {
- Tcl_WrongNumArgs(interp, 2, objv, "window ?bitmap?");
- return TCL_ERROR;
- }
-
- if (objc == 3) {
- if (wmPtr->hints.flags & IconMaskHint) {
- Tcl_SetObjResult(interp, Tcl_NewStringObj(
- Tk_NameOfBitmap(winPtr->display, wmPtr->hints.icon_mask),
- -1));
- }
- return TCL_OK;
- }
-
- argv3 = Tcl_GetString(objv[3]);
- if (*argv3 == '\0') {
- if (wmPtr->hints.icon_mask != None) {
- Tk_FreeBitmap(winPtr->display, wmPtr->hints.icon_mask);
- }
- wmPtr->hints.flags &= ~IconMaskHint;
- } else {
- pixmap = Tk_GetBitmap(interp, tkwin, argv3);
- if (pixmap == None) {
- return TCL_ERROR;
- }
- wmPtr->hints.icon_mask = pixmap;
- wmPtr->hints.flags |= IconMaskHint;
- }
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * WmIconnameCmd --
- *
- * This procedure is invoked to process the "wm iconname" Tcl command.
- * See the user documentation for details on what it does.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * See the user documentation.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-WmIconnameCmd(
- Tk_Window tkwin, /* Main window of the application. */
- TkWindow *winPtr, /* Toplevel to work with */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- register WmInfo *wmPtr = winPtr->wmInfoPtr;
- const char *argv3;
- int length;
-
- if (objc > 4) {
- Tcl_WrongNumArgs(interp, 2, objv, "window ?newName?");
- return TCL_ERROR;
- }
- if (objc == 3) {
- if (wmPtr->iconName != NULL) {
- Tcl_SetObjResult(interp, Tcl_NewStringObj(wmPtr->iconName, -1));
- }
- return TCL_OK;
- }
-
- if (wmPtr->iconName != NULL) {
- ckfree(wmPtr->iconName);
- }
- argv3 = Tcl_GetStringFromObj(objv[3], &length);
- wmPtr->iconName = ckalloc(length + 1);
- strcpy(wmPtr->iconName, argv3);
- if (!(wmPtr->flags & WM_NEVER_MAPPED)) {
- XSetIconName(winPtr->display, winPtr->window, wmPtr->iconName);
- }
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * WmIconphotoCmd --
- *
- * This procedure is invoked to process the "wm iconphoto" Tcl command.
- * See the user documentation for details on what it does.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * See the user documentation.
- *
- *
- *----------------------------------------------------------------------
- */
-
-static int
-WmIconphotoCmd(
- Tk_Window tkwin, /* Main window of the application. */
- TkWindow *winPtr, /* Toplevel to work with */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- Tk_Image tk_icon;
- int width, height, isDefault = 0;
-
- if (objc < 4) {
- Tcl_WrongNumArgs(interp, 2, objv,
- "window ?-default? image1 ?image2 ...?");
- return TCL_ERROR;
- }
-
- /*Parse args.*/
- if (strcmp(Tcl_GetString(objv[3]), "-default") == 0) {
- isDefault = 1;
- if (objc == 4) {
- Tcl_WrongNumArgs(interp, 2, objv,
- "window ?-default? image1 ?image2 ...?");
- return TCL_ERROR;
- }
- }
-
- /*Get icon name. We only use the first icon name because macOS does not
- support multiple images in Tk photos.*/
- char *icon;
- if (strcmp(Tcl_GetString(objv[3]), "-default") == 0) {
- icon = Tcl_GetString(objv[4]);
- } else {
- icon = Tcl_GetString(objv[3]);
- }
-
- /*Get image and convert to NSImage that can be displayed as icon.*/
- tk_icon = Tk_GetImage(interp, tkwin, icon, NULL, NULL);
- if (tk_icon == NULL) {
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "can't use \"%s\" as iconphoto: not a photo image",
- icon));
- Tcl_SetErrorCode(interp, "TK", "WM", "ICONPHOTO", "PHOTO", NULL);
- return TCL_ERROR;
- }
-
- NSImage *newIcon;
- Tk_SizeOfImage(tk_icon, &width, &height);
- newIcon = TkMacOSXGetNSImageWithTkImage(winPtr->display, tk_icon, width, height);
- Tk_FreeImage(tk_icon);
- if (newIcon == NULL) {
- return TCL_ERROR;
- }
- [NSApp setApplicationIconImage: newIcon];
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * WmIconpositionCmd --
- *
- * This procedure is invoked to process the "wm iconposition" Tcl
- * command. See the user documentation for details on what it does.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * See the user documentation.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-WmIconpositionCmd(
- Tk_Window tkwin, /* Main window of the application. */
- TkWindow *winPtr, /* Toplevel to work with */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- register WmInfo *wmPtr = winPtr->wmInfoPtr;
- int x, y;
-
- if ((objc != 3) && (objc != 5)) {
- Tcl_WrongNumArgs(interp, 2, objv, "window ?x y?");
- return TCL_ERROR;
- }
-
- if (objc == 3) {
- if (wmPtr->hints.flags & IconPositionHint) {
- Tcl_Obj *results[2];
-
- results[0] = Tcl_NewIntObj(wmPtr->hints.icon_x);
- results[1] = Tcl_NewIntObj(wmPtr->hints.icon_y);
- Tcl_SetObjResult(interp, Tcl_NewListObj(2, results));
- }
- return TCL_OK;
- }
-
- if (*Tcl_GetString(objv[3]) == '\0') {
- wmPtr->hints.flags &= ~IconPositionHint;
- } else {
- if ((Tcl_GetIntFromObj(interp, objv[3], &x) != TCL_OK)
- || (Tcl_GetIntFromObj(interp, objv[4], &y) != TCL_OK)){
- return TCL_ERROR;
- }
- wmPtr->hints.icon_x = x;
- wmPtr->hints.icon_y = y;
- wmPtr->hints.flags |= IconPositionHint;
- }
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * WmIconwindowCmd --
- *
- * This procedure is invoked to process the "wm iconwindow" Tcl command.
- * See the user documentation for details on what it does.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * See the user documentation.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-WmIconwindowCmd(
- Tk_Window tkwin, /* Main window of the application. */
- TkWindow *winPtr, /* Toplevel to work with */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- register WmInfo *wmPtr = winPtr->wmInfoPtr;
- Tk_Window tkwin2;
- WmInfo *wmPtr2;
-
- if ((objc != 3) && (objc != 4)) {
- Tcl_WrongNumArgs(interp, 2, objv, "window ?pathName?");
- return TCL_ERROR;
- }
-
- if (objc == 3) {
- if (wmPtr->icon != NULL) {
- Tcl_SetObjResult(interp, TkNewWindowObj(wmPtr->icon));
- }
- return TCL_OK;
- }
-
- if (*Tcl_GetString(objv[3]) == '\0') {
- wmPtr->hints.flags &= ~IconWindowHint;
- if (wmPtr->icon != NULL) {
- wmPtr2 = ((TkWindow *) wmPtr->icon)->wmInfoPtr;
- wmPtr2->iconFor = NULL;
- wmPtr2->hints.initial_state = WithdrawnState;
- }
- wmPtr->icon = NULL;
- } else {
- if (TkGetWindowFromObj(interp, tkwin, objv[3], &tkwin2) != TCL_OK) {
- return TCL_ERROR;
- }
- if (!Tk_IsTopLevel(tkwin2)) {
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "can't use %s as icon window: not at top level",
- Tk_PathName(tkwin2)));
- Tcl_SetErrorCode(interp, "TK", "WM", "ICONWINDOW", "TOPLEVEL",
- NULL);
- return TCL_ERROR;
- }
- wmPtr2 = ((TkWindow *) tkwin2)->wmInfoPtr;
- if (wmPtr2->iconFor != NULL) {
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "%s is already an icon for %s",
- Tcl_GetString(objv[3]), Tk_PathName(wmPtr2->iconFor)));
- Tcl_SetErrorCode(interp, "TK", "WM", "ICONWINDOW", "ICON", NULL);
- return TCL_ERROR;
- }
- if (wmPtr->icon != NULL) {
- WmInfo *wmPtr3 = ((TkWindow *) wmPtr->icon)->wmInfoPtr;
-
- wmPtr3->iconFor = NULL;
- }
- Tk_MakeWindowExist(tkwin2);
- wmPtr->hints.icon_window = Tk_WindowId(tkwin2);
- wmPtr->hints.flags |= IconWindowHint;
- wmPtr->icon = tkwin2;
- wmPtr2->iconFor = (Tk_Window) winPtr;
- if (!(wmPtr2->flags & WM_NEVER_MAPPED)) {
- /*
- * Don't have iconwindows on the Mac. We just withdraw.
- */
-
- Tk_UnmapWindow(tkwin2);
- }
- }
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * WmManageCmd --
- *
- * This procedure is invoked to process the "wm manage" Tcl command. See
- * the user documentation for details on what it does.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * See the user documentation.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-WmManageCmd(
- Tk_Window tkwin, /* Main window of the application. */
- TkWindow *winPtr, /* Toplevel or Frame to work with */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- register Tk_Window frameWin = (Tk_Window) winPtr;
- register WmInfo *wmPtr = winPtr->wmInfoPtr;
-
- if (!Tk_IsTopLevel(frameWin)) {
- MacDrawable *macWin = (MacDrawable *) winPtr->window;
-
- if (!Tk_IsManageable(frameWin)) {
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "window \"%s\" is not manageable: must be a"
- " frame, labelframe or toplevel",
- Tk_PathName(frameWin)));
- Tcl_SetErrorCode(interp, "TK", "WM", "MANAGE", NULL);
- return TCL_ERROR;
- }
- TkFocusSplit(winPtr);
- Tk_UnmapWindow(frameWin);
- if (wmPtr == NULL) {
- TkWmNewWindow(winPtr);
- if (winPtr->window == None) {
- Tk_MakeWindowExist((Tk_Window) winPtr);
- macWin = (MacDrawable *) winPtr->window;
- }
- TkWmMapWindow(winPtr);
- Tk_UnmapWindow(frameWin);
- }
- wmPtr = winPtr->wmInfoPtr;
- winPtr->flags &= ~TK_MAPPED;
- macWin->toplevel->referenceCount--;
- macWin->toplevel = macWin;
- macWin->toplevel->referenceCount++;
- RemapWindows(winPtr, macWin);
- winPtr->flags |=
- (TK_TOP_HIERARCHY|TK_TOP_LEVEL|TK_HAS_WRAPPER|TK_WIN_MANAGED);
- TkMapTopFrame(frameWin);
- } else if (Tk_IsTopLevel(frameWin)) {
- /* Already managed by wm - ignore it */
- }
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * WmMaxsizeCmd --
- *
- * This procedure is invoked to process the "wm maxsize" Tcl command. See
- * the user documentation for details on what it does.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * See the user documentation.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-WmMaxsizeCmd(
- Tk_Window tkwin, /* Main window of the application. */
- TkWindow *winPtr, /* Toplevel to work with */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- register WmInfo *wmPtr = winPtr->wmInfoPtr;
- int width, height;
-
- if ((objc != 3) && (objc != 5)) {
- Tcl_WrongNumArgs(interp, 2, objv, "window ?width height?");
- return TCL_ERROR;
- }
-
- if (objc == 3) {
- Tcl_Obj *results[2];
-
- GetMaxSize(winPtr, &width, &height);
- results[0] = Tcl_NewIntObj(width);
- results[1] = Tcl_NewIntObj(height);
- Tcl_SetObjResult(interp, Tcl_NewListObj(2, results));
- return TCL_OK;
- }
-
- if ((Tcl_GetIntFromObj(interp, objv[3], &width) != TCL_OK)
- || (Tcl_GetIntFromObj(interp, objv[4], &height) != TCL_OK)) {
- return TCL_ERROR;
- }
- wmPtr->maxWidth = width;
- wmPtr->maxHeight = height;
- wmPtr->flags |= WM_UPDATE_SIZE_HINTS;
- WmUpdateGeom(wmPtr, winPtr);
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * WmMinsizeCmd --
- *
- * This procedure is invoked to process the "wm minsize" Tcl command. See
- * the user documentation for details on what it does.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * See the user documentation.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-WmMinsizeCmd(
- Tk_Window tkwin, /* Main window of the application. */
- TkWindow *winPtr, /* Toplevel to work with */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- register WmInfo *wmPtr = winPtr->wmInfoPtr;
- int width, height;
-
- if ((objc != 3) && (objc != 5)) {
- Tcl_WrongNumArgs(interp, 2, objv, "window ?width height?");
- return TCL_ERROR;
- }
-
- if (objc == 3) {
- Tcl_Obj *results[2];
-
- GetMinSize(winPtr, &width, &height);
- results[0] = Tcl_NewIntObj(width);
- results[1] = Tcl_NewIntObj(height);
- Tcl_SetObjResult(interp, Tcl_NewListObj(2, results));
- return TCL_OK;
- }
-
- if ((Tcl_GetIntFromObj(interp, objv[3], &width) != TCL_OK)
- || (Tcl_GetIntFromObj(interp, objv[4], &height) != TCL_OK)) {
- return TCL_ERROR;
- }
- wmPtr->minWidth = width;
- wmPtr->minHeight = height;
- wmPtr->flags |= WM_UPDATE_SIZE_HINTS;
- WmUpdateGeom(wmPtr, winPtr);
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * WmOverrideredirectCmd --
- *
- * This procedure is invoked to process the "wm overrideredirect" Tcl
- * command. See the user documentation for details on what it does.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * See the user documentation.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-WmOverrideredirectCmd(
- Tk_Window tkwin, /* Main window of the application. */
- TkWindow *winPtr, /* Toplevel to work with */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- int boolean;
- XSetWindowAttributes atts;
-
- if ((objc != 3) && (objc != 4)) {
- Tcl_WrongNumArgs(interp, 2, objv, "window ?boolean?");
- return TCL_ERROR;
- }
-
- if (objc == 3) {
- Tcl_SetObjResult(interp, Tcl_NewBooleanObj(
- Tk_Attributes((Tk_Window) winPtr)->override_redirect));
- return TCL_OK;
- }
-
- if (Tcl_GetBooleanFromObj(interp, objv[3], &boolean) != TCL_OK) {
- return TCL_ERROR;
- }
- atts.override_redirect = (boolean) ? True : False;
- Tk_ChangeWindowAttributes((Tk_Window) winPtr, CWOverrideRedirect, &atts);
- ApplyMasterOverrideChanges(winPtr, NULL);
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * WmPositionfromCmd --
- *
- * This procedure is invoked to process the "wm positionfrom" Tcl
- * command. See the user documentation for details on what it does.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * See the user documentation.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-WmPositionfromCmd(
- Tk_Window tkwin, /* Main window of the application. */
- TkWindow *winPtr, /* Toplevel to work with */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- register WmInfo *wmPtr = winPtr->wmInfoPtr;
- static const char *const optionStrings[] = {
- "program", "user", NULL };
- enum options {
- OPT_PROGRAM, OPT_USER };
- int index;
-
- if ((objc != 3) && (objc != 4)) {
- Tcl_WrongNumArgs(interp, 2, objv, "window ?user/program?");
- return TCL_ERROR;
- }
-
- if (objc == 3) {
- if (wmPtr->sizeHintsFlags & USPosition) {
- Tcl_SetObjResult(interp, Tcl_NewStringObj("user", -1));
- } else if (wmPtr->sizeHintsFlags & PPosition) {
- Tcl_SetObjResult(interp, Tcl_NewStringObj("program", -1));
- }
- return TCL_OK;
- }
-
- if (*Tcl_GetString(objv[3]) == '\0') {
- wmPtr->sizeHintsFlags &= ~(USPosition|PPosition);
- } else {
- if (Tcl_GetIndexFromObjStruct(interp, objv[3], optionStrings,
- sizeof(char *), "argument", 0, &index) != TCL_OK) {
- return TCL_ERROR;
- }
- if (index == OPT_USER) {
- wmPtr->sizeHintsFlags &= ~PPosition;
- wmPtr->sizeHintsFlags |= USPosition;
- } else {
- wmPtr->sizeHintsFlags &= ~USPosition;
- wmPtr->sizeHintsFlags |= PPosition;
- }
- }
- wmPtr->flags |= WM_UPDATE_SIZE_HINTS;
- WmUpdateGeom(wmPtr, winPtr);
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * WmProtocolCmd --
- *
- * This procedure is invoked to process the "wm protocol" Tcl command.
- * See the user documentation for details on what it does.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * See the user documentation.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-WmProtocolCmd(
- Tk_Window tkwin, /* Main window of the application. */
- TkWindow *winPtr, /* Toplevel to work with */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- register WmInfo *wmPtr = winPtr->wmInfoPtr;
- register ProtocolHandler *protPtr, *prevPtr;
- Atom protocol;
- char *cmd;
- int cmdLength;
- Tcl_Obj *resultObj;
-
- if ((objc < 3) || (objc > 5)) {
- Tcl_WrongNumArgs(interp, 2, objv, "window ?name? ?command?");
- return TCL_ERROR;
- }
-
- if (objc == 3) {
- /*
- * Return a list of all defined protocols for the window.
- */
-
- resultObj = Tcl_NewObj();
- for (protPtr = wmPtr->protPtr; protPtr != NULL;
- protPtr = protPtr->nextPtr) {
- Tcl_ListObjAppendElement(NULL, resultObj, Tcl_NewStringObj(
- Tk_GetAtomName((Tk_Window)winPtr, protPtr->protocol),-1));
- }
- Tcl_SetObjResult(interp, resultObj);
- return TCL_OK;
- }
-
- protocol = Tk_InternAtom((Tk_Window) winPtr, Tcl_GetString(objv[3]));
- if (objc == 4) {
- /*
- * Return the command to handle a given protocol.
- */
-
- for (protPtr = wmPtr->protPtr; protPtr != NULL;
- protPtr = protPtr->nextPtr) {
- if (protPtr->protocol == protocol) {
- Tcl_SetObjResult(interp,
- Tcl_NewStringObj(protPtr->command, -1));
- return TCL_OK;
- }
- }
- return TCL_OK;
- }
-
- /*
- * Delete any current protocol handler, then create a new one with the
- * specified command, unless the command is empty.
- */
-
- for (protPtr = wmPtr->protPtr, prevPtr = NULL; protPtr != NULL;
- prevPtr = protPtr, protPtr = protPtr->nextPtr) {
- if (protPtr->protocol == protocol) {
- if (prevPtr == NULL) {
- wmPtr->protPtr = protPtr->nextPtr;
- } else {
- prevPtr->nextPtr = protPtr->nextPtr;
- }
- if (protPtr->command)
- ckfree(protPtr->command);
- Tcl_EventuallyFree(protPtr, TCL_DYNAMIC);
- break;
- }
- }
- cmd = Tcl_GetStringFromObj(objv[4], &cmdLength);
- if (cmdLength > 0) {
- protPtr = ckalloc(sizeof(ProtocolHandler));
- protPtr->protocol = protocol;
- protPtr->nextPtr = wmPtr->protPtr;
- wmPtr->protPtr = protPtr;
- protPtr->interp = interp;
- protPtr->command = ckalloc(cmdLength+1);
- strcpy(protPtr->command, cmd);
- }
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * WmResizableCmd --
- *
- * This procedure is invoked to process the "wm resizable" Tcl command.
- * See the user documentation for details on what it does.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * See the user documentation.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-WmResizableCmd(
- Tk_Window tkwin, /* Main window of the application. */
- TkWindow *winPtr, /* Toplevel to work with */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- register WmInfo *wmPtr = winPtr->wmInfoPtr;
- int width, height;
- UInt64 oldAttributes = wmPtr->attributes;
- int oldFlags = wmPtr->flags;
-
- if ((objc != 3) && (objc != 5)) {
- Tcl_WrongNumArgs(interp, 2, objv, "window ?width height?");
- return TCL_ERROR;
- }
-
- if (objc == 3) {
- Tcl_Obj *results[2];
-
- results[0] = Tcl_NewBooleanObj(!(wmPtr->flags & WM_WIDTH_NOT_RESIZABLE));
- results[1] = Tcl_NewBooleanObj(!(wmPtr->flags & WM_HEIGHT_NOT_RESIZABLE));
- Tcl_SetObjResult(interp, Tcl_NewListObj(2, results));
- return TCL_OK;
- }
-
- if ((Tcl_GetBooleanFromObj(interp, objv[3], &width) != TCL_OK)
- || (Tcl_GetBooleanFromObj(interp, objv[4], &height) != TCL_OK)) {
- return TCL_ERROR;
- }
- if (width) {
- wmPtr->flags &= ~WM_WIDTH_NOT_RESIZABLE;
- wmPtr->attributes |= kWindowHorizontalZoomAttribute;
- } else {
- wmPtr->flags |= WM_WIDTH_NOT_RESIZABLE;
- wmPtr->attributes &= ~kWindowHorizontalZoomAttribute;
- }
- if (height) {
- wmPtr->flags &= ~WM_HEIGHT_NOT_RESIZABLE;
- wmPtr->attributes |= kWindowVerticalZoomAttribute;
- } else {
- wmPtr->flags |= WM_HEIGHT_NOT_RESIZABLE;
- wmPtr->attributes &= ~kWindowVerticalZoomAttribute;
- }
- if (width || height) {
- wmPtr->attributes |= kWindowResizableAttribute;
- } else {
- wmPtr->attributes &= ~kWindowResizableAttribute;
- }
- wmPtr->flags |= WM_UPDATE_SIZE_HINTS;
- if (wmPtr->scrollWinPtr != NULL) {
- TkScrollbarEventuallyRedraw((TkScrollbar *)
- wmPtr->scrollWinPtr->instanceData);
- }
- WmUpdateGeom(wmPtr, winPtr);
- ApplyWindowAttributeFlagChanges(winPtr, NULL, oldAttributes, oldFlags, 1,0);
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * WmSizefromCmd --
- *
- * This procedure is invoked to process the "wm sizefrom" Tcl command.
- * See the user documentation for details on what it does.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * See the user documentation.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-WmSizefromCmd(
- Tk_Window tkwin, /* Main window of the application. */
- TkWindow *winPtr, /* Toplevel to work with */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- register WmInfo *wmPtr = winPtr->wmInfoPtr;
- static const char *const optionStrings[] = {
- "program", "user", NULL };
- enum options {
- OPT_PROGRAM, OPT_USER };
- int index;
-
- if ((objc != 3) && (objc != 4)) {
- Tcl_WrongNumArgs(interp, 2, objv, "window ?user|program?");
- return TCL_ERROR;
- }
-
- if (objc == 3) {
- if (wmPtr->sizeHintsFlags & USSize) {
- Tcl_SetObjResult(interp, Tcl_NewStringObj("user", -1));
- } else if (wmPtr->sizeHintsFlags & PSize) {
- Tcl_SetObjResult(interp, Tcl_NewStringObj("program", -1));
- }
- return TCL_OK;
- }
-
- if (*Tcl_GetString(objv[3]) == '\0') {
- wmPtr->sizeHintsFlags &= ~(USSize|PSize);
- } else {
- if (Tcl_GetIndexFromObjStruct(interp, objv[3], optionStrings,
- sizeof(char *), "argument", 0, &index) != TCL_OK) {
- return TCL_ERROR;
- }
- if (index == OPT_USER) {
- wmPtr->sizeHintsFlags &= ~PSize;
- wmPtr->sizeHintsFlags |= USSize;
- } else { /* OPT_PROGRAM */
- wmPtr->sizeHintsFlags &= ~USSize;
- wmPtr->sizeHintsFlags |= PSize;
- }
- }
- wmPtr->flags |= WM_UPDATE_SIZE_HINTS;
- WmUpdateGeom(wmPtr, winPtr);
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * WmStackorderCmd --
- *
- * This procedure is invoked to process the "wm stackorder" Tcl command.
- * See the user documentation for details on what it does.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * See the user documentation.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-WmStackorderCmd(
- Tk_Window tkwin, /* Main window of the application. */
- TkWindow *winPtr, /* Toplevel to work with */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- TkWindow **windows, **windowPtr;
- static const char *const optionStrings[] = {
- "isabove", "isbelow", NULL
- };
- enum options {
- OPT_ISABOVE, OPT_ISBELOW
- };
- Tcl_Obj *resultObj;
- int index;
-
- if ((objc != 3) && (objc != 5)) {
- Tcl_WrongNumArgs(interp, 2, objv, "window ?isabove|isbelow window?");
- return TCL_ERROR;
- }
-
- if (objc == 3) {
- windows = TkWmStackorderToplevel(winPtr);
- if (windows == NULL) {
- Tcl_Panic("TkWmStackorderToplevel failed");
- }
-
- resultObj = Tcl_NewObj();
- for (windowPtr = windows; *windowPtr ; windowPtr++) {
- Tcl_ListObjAppendElement(NULL, resultObj,
- TkNewWindowObj((Tk_Window) *windowPtr));
- }
- Tcl_SetObjResult(interp, resultObj);
- ckfree(windows);
- return TCL_OK;
- } else {
- TkWindow *winPtr2;
- int index1 = -1, index2 = -1, result;
-
- if (TkGetWindowFromObj(interp, tkwin, objv[4], (Tk_Window *) &winPtr2)
- != TCL_OK) {
- return TCL_ERROR;
- }
-
- if (!Tk_IsTopLevel(winPtr2)) {
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "window \"%s\" isn't a top-level window",
- winPtr2->pathName));
- Tcl_SetErrorCode(interp, "TK", "WM", "STACK", "TOPLEVEL", NULL);
- return TCL_ERROR;
- }
-
- if (!Tk_IsMapped(winPtr)) {
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "window \"%s\" isn't mapped", winPtr->pathName));
- Tcl_SetErrorCode(interp, "TK", "WM", "STACK", "MAPPED", NULL);
- return TCL_ERROR;
- } else if (!Tk_IsMapped(winPtr2)) {
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "window \"%s\" isn't mapped", winPtr2->pathName));
- Tcl_SetErrorCode(interp, "TK", "WM", "STACK", "MAPPED", NULL);
- return TCL_ERROR;
- }
-
- /*
- * Lookup stacking order of all toplevels that are children of "." and
- * find the position of winPtr and winPtr2 in the stacking order.
- */
-
- windows = TkWmStackorderToplevel(winPtr->mainPtr->winPtr);
- if (windows == NULL) {
- Tcl_SetObjResult(interp, Tcl_NewStringObj(
- "TkWmStackorderToplevel failed", -1));
- Tcl_SetErrorCode(interp, "TK", "WM", "STACK", "FAIL", NULL);
- return TCL_ERROR;
- }
-
- for (windowPtr = windows; *windowPtr ; windowPtr++) {
- if (*windowPtr == winPtr) {
- index1 = windowPtr - windows;
- }
- if (*windowPtr == winPtr2) {
- index2 = windowPtr - windows;
- }
- }
- if (index1 == -1) {
- Tcl_Panic("winPtr window not found");
- } else if (index2 == -1) {
- Tcl_Panic("winPtr2 window not found");
- }
-
- ckfree(windows);
-
- if (Tcl_GetIndexFromObjStruct(interp, objv[3], optionStrings,
- sizeof(char *), "argument", 0, &index) != TCL_OK) {
- return TCL_ERROR;
- }
- if (index == OPT_ISABOVE) {
- result = index1 > index2;
- } else { /* OPT_ISBELOW */
- result = index1 < index2;
- }
- Tcl_SetObjResult(interp, Tcl_NewBooleanObj(result));
- return TCL_OK;
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * WmStateCmd --
- *
- * This procedure is invoked to process the "wm state" Tcl command. See
- * the user documentation for details on what it does.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * See the user documentation.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-WmStateCmd(
- Tk_Window tkwin, /* Main window of the application. */
- TkWindow *winPtr, /* Toplevel to work with */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- register WmInfo *wmPtr = winPtr->wmInfoPtr;
- static const char *const optionStrings[] = {
- "normal", "iconic", "withdrawn", "zoomed", NULL };
- enum options {
- OPT_NORMAL, OPT_ICONIC, OPT_WITHDRAWN, OPT_ZOOMED };
- int index;
-
- if ((objc < 3) || (objc > 4)) {
- Tcl_WrongNumArgs(interp, 2, objv, "window ?state?");
- return TCL_ERROR;
- }
-
- if (objc == 4) {
- if (wmPtr->iconFor != NULL) {
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "can't change state of %s: it is an icon for %s",
- Tcl_GetString(objv[2]), Tk_PathName(wmPtr->iconFor)));
- Tcl_SetErrorCode(interp, "TK", "WM", "STATE", "ICON", NULL);
- return TCL_ERROR;
- }
- if (winPtr->flags & TK_EMBEDDED) {
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "can't change state of %s: it is an embedded window",
- winPtr->pathName));
- Tcl_SetErrorCode(interp, "TK", "WM", "STATE", "EMBEDDED", NULL);
- return TCL_ERROR;
- }
-
- if (Tcl_GetIndexFromObjStruct(interp, objv[3], optionStrings,
- sizeof(char *), "argument", 0, &index) != TCL_OK) {
- return TCL_ERROR;
- }
-
- if (index == OPT_NORMAL) {
- TkpWmSetState(winPtr, NormalState);
-
- /*
- * This varies from 'wm deiconify' because it does not force the
- * window to be raised and receive focus
- */
- } else if (index == OPT_ICONIC) {
- if (Tk_Attributes((Tk_Window) winPtr)->override_redirect) {
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "can't iconify \"%s\": override-redirect flag is set",
- winPtr->pathName));
- Tcl_SetErrorCode(interp, "TK", "WM", "STATE",
- "OVERRIDE_REDIRECT", NULL);
- return TCL_ERROR;
- }
- if (wmPtr->master != None) {
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "can't iconify \"%s\": it is a transient",
- winPtr->pathName));
- Tcl_SetErrorCode(interp, "TK", "WM", "STATE", "TRANSIENT",
- NULL);
- return TCL_ERROR;
- }
- TkpWmSetState(winPtr, IconicState);
- } else if (index == OPT_WITHDRAWN) {
- TkpWmSetState(winPtr, WithdrawnState);
- } else { /* OPT_ZOOMED */
- TkpWmSetState(winPtr, ZoomState);
- }
- } else if (wmPtr->iconFor != NULL) {
- Tcl_SetObjResult(interp, Tcl_NewStringObj("icon", -1));
- } else {
- if (wmPtr->hints.initial_state == NormalState ||
- wmPtr->hints.initial_state == ZoomState) {
- wmPtr->hints.initial_state = (TkMacOSXIsWindowZoomed(winPtr) ?
- ZoomState : NormalState);
- }
- switch (wmPtr->hints.initial_state) {
- case NormalState:
- Tcl_SetObjResult(interp, Tcl_NewStringObj("normal", -1));
- break;
- case IconicState:
- Tcl_SetObjResult(interp, Tcl_NewStringObj("iconic", -1));
- break;
- case WithdrawnState:
- Tcl_SetObjResult(interp, Tcl_NewStringObj("withdrawn", -1));
- break;
- case ZoomState:
- Tcl_SetObjResult(interp, Tcl_NewStringObj("zoomed", -1));
- break;
- }
- }
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * WmTitleCmd --
- *
- * This procedure is invoked to process the "wm title" Tcl command. See
- * the user documentation for details on what it does.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * See the user documentation.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-WmTitleCmd(
- Tk_Window tkwin, /* Main window of the application. */
- TkWindow *winPtr, /* Toplevel to work with */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- register WmInfo *wmPtr = winPtr->wmInfoPtr;
- char *argv3;
- int length;
-
- if (objc > 4) {
- Tcl_WrongNumArgs(interp, 2, objv, "window ?newTitle?");
- return TCL_ERROR;
- }
-
- if (objc == 3) {
- Tcl_SetObjResult(interp, Tcl_NewStringObj(
- wmPtr->titleUid ? wmPtr->titleUid : winPtr->nameUid, -1));
- return TCL_OK;
- }
-
- argv3 = Tcl_GetStringFromObj(objv[3], &length);
- wmPtr->titleUid = Tk_GetUid(argv3);
- if (!(wmPtr->flags & WM_NEVER_MAPPED) && !Tk_IsEmbedded(winPtr)) {
- TkSetWMName(winPtr, wmPtr->titleUid);
- }
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * WmTransientCmd --
- *
- * This procedure is invoked to process the "wm transient" Tcl command.
- * See the user documentation for details on what it does.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * See the user documentation.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-WmTransientCmd(
- Tk_Window tkwin, /* Main window of the application. */
- TkWindow *winPtr, /* Toplevel to work with */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- register WmInfo *wmPtr = winPtr->wmInfoPtr;
- Tk_Window master;
- WmInfo *wmPtr2;
- char *masterWindowName;
- int length;
-
- if ((objc != 3) && (objc != 4)) {
- Tcl_WrongNumArgs(interp, 2, objv, "window ?master?");
- return TCL_ERROR;
- }
- if (objc == 3) {
- if (wmPtr->master != None) {
- Tcl_SetObjResult(interp,
- Tcl_NewStringObj(wmPtr->masterWindowName, -1));
- }
- return TCL_OK;
- }
- if (Tcl_GetString(objv[3])[0] == '\0') {
- wmPtr->master = None;
- if (wmPtr->masterWindowName != NULL) {
- ckfree(wmPtr->masterWindowName);
- }
- wmPtr->masterWindowName = NULL;
- } else {
- if (TkGetWindowFromObj(interp, tkwin, objv[3], &master) != TCL_OK) {
- return TCL_ERROR;
- }
- TkWindow* masterPtr = (TkWindow*) master;
- while (!Tk_TopWinHierarchy(masterPtr)) {
- /*
- * Ensure that the master window is actually a Tk toplevel.
- */
-
- masterPtr = masterPtr->parentPtr;
- }
- Tk_MakeWindowExist((Tk_Window)masterPtr);
-
- if (wmPtr->iconFor != NULL) {
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "can't make \"%s\" a transient: it is an icon for %s",
- Tcl_GetString(objv[2]), Tk_PathName(wmPtr->iconFor)));
- Tcl_SetErrorCode(interp, "TK", "WM", "TRANSIENT", "ICON", NULL);
- return TCL_ERROR;
- }
-
- wmPtr2 = masterPtr->wmInfoPtr;
- /* Under some circumstances, wmPtr2 is NULL here */
- if (wmPtr2 != NULL && wmPtr2->iconFor != NULL) {
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "can't make \"%s\" a master: it is an icon for %s",
- Tcl_GetString(objv[3]), Tk_PathName(wmPtr2->iconFor)));
- Tcl_SetErrorCode(interp, "TK", "WM", "TRANSIENT", "ICON", NULL);
- return TCL_ERROR;
- }
-
- if (masterPtr == winPtr) {
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "can't make \"%s\" its own master", Tk_PathName(winPtr)));
- Tcl_SetErrorCode(interp, "TK", "WM", "TRANSIENT", "SELF", NULL);
- return TCL_ERROR;
- }
-
- wmPtr->master = Tk_WindowId(masterPtr);
- masterWindowName = masterPtr->pathName;
- length = strlen(masterWindowName);
- if (wmPtr->masterWindowName != NULL) {
- ckfree(wmPtr->masterWindowName);
- }
- wmPtr->masterWindowName = ckalloc(length+1);
- strcpy(wmPtr->masterWindowName, masterWindowName);
- }
- ApplyMasterOverrideChanges(winPtr, NULL);
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * WmWithdrawCmd --
- *
- * This procedure is invoked to process the "wm withdraw" Tcl command.
- * See the user documentation for details on what it does.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * See the user documentation.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-WmWithdrawCmd(
- Tk_Window tkwin, /* Main window of the application. */
- TkWindow *winPtr, /* Toplevel to work with */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- register WmInfo *wmPtr = winPtr->wmInfoPtr;
-
- if (objc != 3) {
- Tcl_WrongNumArgs(interp, 2, objv, "window");
- return TCL_ERROR;
- }
-
- if (wmPtr->iconFor != NULL) {
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "can't withdraw %s: it is an icon for %s",
- Tcl_GetString(objv[2]), Tk_PathName(wmPtr->iconFor)));
- Tcl_SetErrorCode(interp, "TK", "WM", "WITHDRAW", "ICON", NULL);
- return TCL_ERROR;
- }
- TkpWmSetState(winPtr, WithdrawnState);
- /*Remove window from Window menu.*/
- NSWindow *win = TkMacOSXDrawableWindow(winPtr->window);
- [win setExcludedFromWindowsMenu:YES];
-
- return TCL_OK;
-}
-
-/*
- * Invoked by those wm subcommands that affect geometry.
- * Schedules a geometry update.
- */
-
-static void
-WmUpdateGeom(
- WmInfo *wmPtr,
- TkWindow *winPtr)
-{
- if (!(wmPtr->flags & (WM_UPDATE_PENDING|WM_NEVER_MAPPED))) {
- Tcl_DoWhenIdle(UpdateGeometryInfo, winPtr);
- wmPtr->flags |= WM_UPDATE_PENDING;
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * Tk_SetGrid --
- *
- * This procedure is invoked by a widget when it wishes to set a grid
- * coordinate system that controls the size of a top-level window. It
- * provides a C interface equivalent to the "wm grid" command and is
- * usually asscoiated with the -setgrid option.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Grid-related information will be passed to the window manager, so that
- * the top-level window associated with tkwin will resize on even grid
- * units. If some other window already controls gridding for the
- * top-level window then this procedure call has no effect.
- *
- *----------------------------------------------------------------------
- */
-
-void
-Tk_SetGrid(
- Tk_Window tkwin, /* Token for window. New window mgr info will
- * be posted for the top-level window
- * associated with this window. */
- int reqWidth, /* Width (in grid units) corresponding to the
- * requested geometry for tkwin. */
- int reqHeight, /* Height (in grid units) corresponding to the
- * requested geometry for tkwin. */
- int widthInc, int heightInc)/* Pixel increments corresponding to a change
- * of one grid unit. */
-{
- TkWindow *winPtr = (TkWindow *) tkwin;
- WmInfo *wmPtr;
-
- /*
- * Ensure widthInc and heightInc are greater than 0
- */
-
- if (widthInc <= 0) {
- widthInc = 1;
- }
- if (heightInc <= 0) {
- heightInc = 1;
- }
-
- /*
- * Find the top-level window for tkwin, plus the window manager
- * information.
- */
-
- while (!(winPtr->flags & TK_TOP_LEVEL)) {
- winPtr = winPtr->parentPtr;
- }
- wmPtr = winPtr->wmInfoPtr;
-
- if ((wmPtr->gridWin != NULL) && (wmPtr->gridWin != tkwin)) {
- return;
- }
-
- if ((wmPtr->reqGridWidth == reqWidth)
- && (wmPtr->reqGridHeight == reqHeight)
- && (wmPtr->widthInc == widthInc)
- && (wmPtr->heightInc == heightInc)
- && ((wmPtr->sizeHintsFlags & (PBaseSize|PResizeInc))
- == (PBaseSize|PResizeInc))) {
- return;
- }
-
- /*
- * If gridding was previously off, then forget about any window size
- * requests made by the user or via "wm geometry": these are in pixel
- * units and there's no easy way to translate them to grid units since the
- * new requested size of the top-level window in pixels may not yet have
- * been registered yet (it may filter up the hierarchy in DoWhenIdle
- * handlers). However, if the window has never been mapped yet then just
- * leave the window size alone: assume that it is intended to be in grid
- * units but just happened to have been specified before this procedure
- * was called.
- */
-
- if ((wmPtr->gridWin == NULL) && !(wmPtr->flags & WM_NEVER_MAPPED)) {
- wmPtr->width = -1;
- wmPtr->height = -1;
- }
-
- /*
- * Set the new gridding information, and start the process of passing all
- * of this information to the window manager.
- */
-
- wmPtr->gridWin = tkwin;
- wmPtr->reqGridWidth = reqWidth;
- wmPtr->reqGridHeight = reqHeight;
- wmPtr->widthInc = widthInc;
- wmPtr->heightInc = heightInc;
- wmPtr->sizeHintsFlags |= PBaseSize|PResizeInc;
- wmPtr->flags |= WM_UPDATE_SIZE_HINTS;
- if (!(wmPtr->flags & (WM_UPDATE_PENDING|WM_NEVER_MAPPED))) {
- Tcl_DoWhenIdle(UpdateGeometryInfo, winPtr);
- wmPtr->flags |= WM_UPDATE_PENDING;
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * Tk_UnsetGrid --
- *
- * This procedure cancels the effect of a previous call to Tk_SetGrid.
- *
- * Results:
- * None.
- *
- * Side effects:
- * If tkwin currently controls gridding for its top-level window,
- * gridding is cancelled for that top-level window; if some other window
- * controls gridding then this procedure has no effect.
- *
- *----------------------------------------------------------------------
- */
-
-void
-Tk_UnsetGrid(
- Tk_Window tkwin) /* Token for window that is currently
- * controlling gridding. */
-{
- TkWindow *winPtr = (TkWindow *) tkwin;
- WmInfo *wmPtr;
-
- /*
- * Find the top-level window for tkwin, plus the window manager
- * information.
- */
-
- while (!(winPtr->flags & TK_TOP_LEVEL)) {
- winPtr = winPtr->parentPtr;
- }
- wmPtr = winPtr->wmInfoPtr;
- if (tkwin != wmPtr->gridWin) {
- return;
- }
-
- wmPtr->gridWin = NULL;
- wmPtr->sizeHintsFlags &= ~(PBaseSize|PResizeInc);
- if (wmPtr->width != -1) {
- wmPtr->width = winPtr->reqWidth + (wmPtr->width
- - wmPtr->reqGridWidth)*wmPtr->widthInc;
- wmPtr->height = winPtr->reqHeight + (wmPtr->height
- - wmPtr->reqGridHeight)*wmPtr->heightInc;
- }
- wmPtr->widthInc = 1;
- wmPtr->heightInc = 1;
-
- wmPtr->flags |= WM_UPDATE_SIZE_HINTS;
- if (!(wmPtr->flags & (WM_UPDATE_PENDING|WM_NEVER_MAPPED))) {
- Tcl_DoWhenIdle(UpdateGeometryInfo, winPtr);
- wmPtr->flags |= WM_UPDATE_PENDING;
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TopLevelEventProc --
- *
- * This procedure is invoked when a top-level (or other externally-
- * managed window) is restructured in any way.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Tk's internal data structures for the window get modified to reflect
- * the structural change.
- *
- *----------------------------------------------------------------------
- */
-
-static void
-TopLevelEventProc(
- ClientData clientData, /* Window for which event occurred. */
- XEvent *eventPtr) /* Event that just happened. */
-{
- TkWindow *winPtr = clientData;
-
- winPtr->wmInfoPtr->flags |= WM_VROOT_OFFSET_STALE;
- if (eventPtr->type == DestroyNotify) {
- if (!(winPtr->flags & TK_ALREADY_DEAD)) {
- /*
- * A top-level window was deleted externally (e.g., by the window
- * manager). This is probably not a good thing, but cleanup as
- * best we can. The error handler is needed because
- * Tk_DestroyWindow will try to destroy the window, but of course
- * it's already gone.
- */
-
- Tk_ErrorHandler handler = Tk_CreateErrorHandler(winPtr->display,
- -1, -1, -1, NULL, NULL);
-
- Tk_DestroyWindow((Tk_Window) winPtr);
- Tk_DeleteErrorHandler(handler);
- }
- if (wmTracing) {
- TkMacOSXDbgMsg("TopLevelEventProc: %s deleted", winPtr->pathName);
- }
- } else if (eventPtr->type == ReparentNotify) {
- Tcl_Panic("recieved unwanted reparent event");
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TopLevelReqProc --
- *
- * This procedure is invoked by the geometry manager whenever the
- * requested size for a top-level window is changed.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Arrange for the window to be resized to satisfy the request (this
- * happens as a when-idle action).
- *
- *----------------------------------------------------------------------
- */
-
- /* ARGSUSED */
-static void
-TopLevelReqProc(
- ClientData dummy, /* Not used. */
- Tk_Window tkwin) /* Information about window. */
-{
- TkWindow *winPtr = (TkWindow *) tkwin;
- WmInfo *wmPtr;
-
- wmPtr = winPtr->wmInfoPtr;
- wmPtr->flags |= WM_UPDATE_SIZE_HINTS;
- if (!(wmPtr->flags & (WM_UPDATE_PENDING|WM_NEVER_MAPPED))) {
- Tcl_DoWhenIdle(UpdateGeometryInfo, winPtr);
- wmPtr->flags |= WM_UPDATE_PENDING;
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * UpdateGeometryInfo --
- *
- * This procedure is invoked when a top-level window is first mapped, and
- * also as a when-idle procedure, to bring the geometry and/or position
- * of a top-level window back into line with what has been requested by
- * the user and/or widgets. This procedure doesn't return until the
- * window manager has responded to the geometry change.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The window's size and location may change, unless the WM prevents that
- * from happening.
- *
- *----------------------------------------------------------------------
- */
-
-static void
-UpdateGeometryInfo(
- ClientData clientData) /* Pointer to the window's record. */
-{
- TkWindow *winPtr = clientData;
- WmInfo *wmPtr = winPtr->wmInfoPtr;
- int x, y, width, height, min, max;
-
- wmPtr->flags &= ~WM_UPDATE_PENDING;
-
- if (wmPtr->flags & WM_FULLSCREEN) {
- return;
- }
-
- /*
- * Compute the new size for the top-level window. See the user
- * documentation for details on this, but the size requested depends on
- * (a) the size requested internally by the window's widgets, (b) the size
- * requested by the user in a "wm geometry" command or via wm-based
- * interactive resizing (if any), and (c) whether or not the window is
- * gridded. Don't permit sizes <= 0 because this upsets the X server.
- */
-
- if (wmPtr->width == -1) {
- width = winPtr->reqWidth;
- } else if (wmPtr->gridWin != NULL) {
- width = winPtr->reqWidth
- + (wmPtr->width - wmPtr->reqGridWidth)*wmPtr->widthInc;
- } else {
- width = wmPtr->width;
- }
- if (width <= 0) {
- width = 1;
- }
-
- /*
- * Account for window max/min width
- */
-
- if (wmPtr->gridWin != NULL) {
- min = winPtr->reqWidth
- + (wmPtr->minWidth - wmPtr->reqGridWidth)*wmPtr->widthInc;
- if (wmPtr->maxWidth > 0) {
- max = winPtr->reqWidth
- + (wmPtr->maxWidth - wmPtr->reqGridWidth)*wmPtr->widthInc;
- } else {
- max = 0;
- }
- } else {
- min = wmPtr->minWidth;
- max = wmPtr->maxWidth;
- }
- if (width < min) {
- width = min;
- } else if ((max > 0) && (width > max)) {
- width = max;
- }
-
- if (wmPtr->height == -1) {
- height = winPtr->reqHeight;
- } else if (wmPtr->gridWin != NULL) {
- height = winPtr->reqHeight
- + (wmPtr->height - wmPtr->reqGridHeight)*wmPtr->heightInc;
- } else {
- height = wmPtr->height;
- }
- if (height <= 0) {
- height = 1;
- }
-
- /*
- * Account for window max/min height
- */
-
- if (wmPtr->gridWin != NULL) {
- min = winPtr->reqHeight
- + (wmPtr->minHeight - wmPtr->reqGridHeight)*wmPtr->heightInc;
- if (wmPtr->maxHeight > 0) {
- max = winPtr->reqHeight
- + (wmPtr->maxHeight-wmPtr->reqGridHeight)*wmPtr->heightInc;
- } else {
- max = 0;
- }
- } else {
- min = wmPtr->minHeight;
- max = wmPtr->maxHeight;
- }
- if (height < min) {
- height = min;
- } else if ((max > 0) && (height > max)) {
- height = max;
- }
-
- /*
- * Compute the new position for the upper-left pixel of the window's
- * decorative frame. This is tricky, because we need to include the border
- * widths supplied by a reparented parent in this calculation, but can't
- * use the parent's current overall size since that may change as a result
- * of this code.
- */
-
- if (wmPtr->flags & WM_NEGATIVE_X) {
- x = wmPtr->vRootWidth - wmPtr->x
- - (width + (wmPtr->parentWidth - winPtr->changes.width));
- } else {
- x = wmPtr->x;
- }
- if (wmPtr->flags & WM_NEGATIVE_Y) {
- y = wmPtr->vRootHeight - wmPtr->y
- - (height + (wmPtr->parentHeight - winPtr->changes.height));
- } else {
- y = wmPtr->y;
- }
-
- /*
- * If the window's size is going to change and the window is supposed to
- * not be resizable by the user, then we have to update the size hints.
- * There may also be a size-hint-update request pending from somewhere
- * else, too.
- */
-
- if (((width != winPtr->changes.width)
- || (height != winPtr->changes.height))
- && (wmPtr->gridWin == NULL)
- && !(wmPtr->sizeHintsFlags & (PMinSize|PMaxSize))) {
- wmPtr->flags |= WM_UPDATE_SIZE_HINTS;
- }
- if (wmPtr->flags & WM_UPDATE_SIZE_HINTS) {
- UpdateSizeHints(winPtr);
- }
-
- /*
- * Reconfigure the window if it isn't already configured correctly. A few
- * tricky points:
- *
- * 1. If the window is embedded and the container is also in this process,
- * don't actually reconfigure the window; just pass the desired size on
- * to the container. Also, zero out any position information, since
- * embedded windows are not allowed to move.
- * 2. Sometimes the window manager will give us a different size than we
- * asked for (e.g. mwm has a minimum size for windows), so base the
- * size check on what we *asked for* last time, not what we got.
- * 3. Don't move window unless a new position has been requested for it.
- * This is because of "features" in some window managers (e.g. twm, as
- * of 4/24/91) where they don't interpret coordinates according to
- * ICCCM. Moving a window to its current location may cause it to shift
- * position on the screen.
- */
-
- if (Tk_IsEmbedded(winPtr)) {
- TkWindow *contWinPtr = TkpGetOtherWindow(winPtr);
-
- /*
- * TODO: Here we should handle out of process embedding.
- */
-
- if (contWinPtr != NULL) {
- /*
- * This window is embedded and the container is also in this
- * process, so we don't need to do anything special about the
- * geometry, except to make sure that the desired size is known by
- * the container. Also, zero out any position information, since
- * embedded windows are not allowed to move.
- */
-
- wmPtr->x = wmPtr->y = 0;
- wmPtr->flags &= ~(WM_NEGATIVE_X|WM_NEGATIVE_Y);
- Tk_GeometryRequest((Tk_Window) contWinPtr, width, height);
- }
- return;
- }
- if (wmPtr->flags & WM_MOVE_PENDING) {
- wmPtr->configWidth = width;
- wmPtr->configHeight = height;
- if (wmTracing) {
- TkMacOSXDbgMsg("Moving to %d %d, resizing to %d x %d", x, y,
- width, height);
- }
- SetWindowSizeLimits(winPtr);
- wmPtr->flags |= WM_SYNC_PENDING;
- XMoveResizeWindow(winPtr->display, winPtr->window, x, y,
- wmPtr->configWidth, wmPtr->configHeight);
- wmPtr->flags &= ~WM_SYNC_PENDING;
- } else if ((width != wmPtr->configWidth)
- || (height != wmPtr->configHeight)) {
- wmPtr->configWidth = width;
- wmPtr->configHeight = height;
- if (wmTracing) {
- TkMacOSXDbgMsg("Resizing to %d x %d\n", width, height);
- }
- SetWindowSizeLimits(winPtr);
- wmPtr->flags |= WM_SYNC_PENDING;
- XResizeWindow(winPtr->display, winPtr->window, wmPtr->configWidth,
- wmPtr->configHeight);
- wmPtr->flags &= ~WM_SYNC_PENDING;
- } else {
- SetWindowSizeLimits(winPtr);
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * UpdateSizeHints --
- *
- * This procedure is called to update the window manager's size hints
- * information from the information in a WmInfo structure.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Properties get changed for winPtr.
- *
- *----------------------------------------------------------------------
- */
-
-static void
-UpdateSizeHints(
- TkWindow *winPtr)
-{
- WmInfo *wmPtr = winPtr->wmInfoPtr;
-
- wmPtr->flags &= ~WM_UPDATE_SIZE_HINTS;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * ParseGeometry --
- *
- * This procedure parses a geometry string and updates information used
- * to control the geometry of a top-level window.
- *
- * Results:
- * A standard Tcl return value, plus an error message in the interp's
- * result if an error occurs.
- *
- * Side effects:
- * The size and/or location of winPtr may change.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-ParseGeometry(
- Tcl_Interp *interp, /* Used for error reporting. */
- char *string, /* String containing new geometry. Has the
- * standard form "=wxh+x+y". */
- TkWindow *winPtr) /* Pointer to top-level window whose geometry
- * is to be changed. */
-{
- WmInfo *wmPtr = winPtr->wmInfoPtr;
- int x, y, width, height, flags;
- char *end;
- char *p = string;
-
- /*
- * The leading "=" is optional.
- */
-
- if (*p == '=') {
- p++;
- }
-
- /*
- * Parse the width and height, if they are present. Don't actually update
- * any of the fields of wmPtr until we've successfully parsed the entire
- * geometry string.
- */
-
- width = wmPtr->width;
- height = wmPtr->height;
- x = wmPtr->x;
- y = wmPtr->y;
- flags = wmPtr->flags;
- if (isdigit(UCHAR(*p))) {
- width = strtoul(p, &end, 10);
- p = end;
- if (*p != 'x') {
- goto error;
- }
- p++;
- if (!isdigit(UCHAR(*p))) {
- goto error;
- }
- height = strtoul(p, &end, 10);
- p = end;
- }
-
- /*
- * Parse the X and Y coordinates, if they are present.
- */
-
- if (*p != '\0') {
- flags &= ~(WM_NEGATIVE_X | WM_NEGATIVE_Y);
- if (*p == '-') {
- flags |= WM_NEGATIVE_X;
- } else if (*p != '+') {
- goto error;
- }
- p++;
- if (!isdigit(UCHAR(*p)) && (*p != '-')) {
- goto error;
- }
- x = strtol(p, &end, 10);
- p = end;
- if (*p == '-') {
- flags |= WM_NEGATIVE_Y;
- } else if (*p != '+') {
- goto error;
- }
- p++;
- if (!isdigit(UCHAR(*p)) && (*p != '-')) {
- goto error;
- }
- y = strtol(p, &end, 10);
- if (*end != '\0') {
- goto error;
- }
-
- /*
- * Assume that the geometry information came from the user, unless an
- * explicit source has been specified. Otherwise most window managers
- * assume that the size hints were program-specified and they ignore
- * them.
- */
-
- if (!(wmPtr->sizeHintsFlags & (USPosition|PPosition))) {
- wmPtr->sizeHintsFlags |= USPosition;
- flags |= WM_UPDATE_SIZE_HINTS;
- }
- }
-
- /*
- * Everything was parsed OK. Update the fields of *wmPtr and arrange for
- * the appropriate information to be percolated out to the window manager
- * at the next idle moment.
- */
-
- wmPtr->width = width;
- wmPtr->height = height;
- if ((x != wmPtr->x) || (y != wmPtr->y)
- || ((flags & (WM_NEGATIVE_X|WM_NEGATIVE_Y))
- != (wmPtr->flags & (WM_NEGATIVE_X|WM_NEGATIVE_Y)))) {
- if (wmPtr->flags & WM_FULLSCREEN) {
- wmPtr->configX = x;
- wmPtr->configY = y;
- } else {
- wmPtr->x = x;
- wmPtr->y = y;
- }
- flags |= WM_MOVE_PENDING;
- }
- wmPtr->flags = flags;
-
- if (!(wmPtr->flags & (WM_UPDATE_PENDING|WM_NEVER_MAPPED))) {
- Tcl_DoWhenIdle(UpdateGeometryInfo, winPtr);
- wmPtr->flags |= WM_UPDATE_PENDING;
- }
- return TCL_OK;
-
- error:
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "bad geometry specifier \"%s\"", string));
- Tcl_SetErrorCode(interp, "TK", "VALUE", "GEOMETRY", NULL);
- return TCL_ERROR;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * Tk_GetRootCoords --
- *
- * Given a token for a window, this procedure traces through the window's
- * lineage to find the (virtual) root-window coordinates corresponding to
- * point (0,0) in the window.
- *
- * Results:
- * The locations pointed to by xPtr and yPtr are filled in with the root
- * coordinates of the (0,0) point in tkwin. If a virtual root window is
- * in effect for the window, then the coordinates in the virtual root are
- * returned.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-Tk_GetRootCoords(
- Tk_Window tkwin, /* Token for window. */
- int *xPtr, /* Where to store x-displacement of (0,0). */
- int *yPtr) /* Where to store y-displacement of (0,0). */
-{
- int x, y;
- TkWindow *winPtr = (TkWindow *) tkwin;
-
- /*
- * Search back through this window's parents all the way to a top-level
- * window, combining the offsets of each window within its parent.
- */
-
- x = y = 0;
- while (1) {
- x += winPtr->changes.x + winPtr->changes.border_width;
- y += winPtr->changes.y + winPtr->changes.border_width;
- if (winPtr->flags & TK_TOP_LEVEL) {
- TkWindow *otherPtr;
-
- if (!(Tk_IsEmbedded(winPtr))) {
- x += winPtr->wmInfoPtr->xInParent;
- y += winPtr->wmInfoPtr->yInParent;
- break;
- }
-
- otherPtr = TkpGetOtherWindow(winPtr);
- if (otherPtr == NULL) {
- if (tkMacOSXEmbedHandler->getOffsetProc != NULL) {
- Point theOffset;
-
- /*
- * We do not require that the changes.x & changes.y for a
- * non-Tk master window be kept up to date. So we first
- * subtract off the possibly bogus values that have been
- * added on at the top of this pass through the loop, and
- * then call out to the getOffsetProc to give us the
- * correct offset.
- */
-
- x -= winPtr->changes.x + winPtr->changes.border_width;
- y -= winPtr->changes.y + winPtr->changes.border_width;
-
- tkMacOSXEmbedHandler->getOffsetProc((Tk_Window) winPtr,
- &theOffset);
-
- x += theOffset.h;
- y += theOffset.v;
- }
- break;
- }
-
- /*
- * The container window is in the same application. Query its
- * coordinates.
- */
-
- winPtr = otherPtr;
- continue;
- }
- winPtr = winPtr->parentPtr;
- }
- *xPtr = x;
- *yPtr = y;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * Tk_CoordsToWindow --
- *
- * This is a Macintosh specific implementation of this function. Given
- * the root coordinates of a point, this procedure returns the token for
- * the top-most window covering that point, if there exists such a window
- * in this application.
- *
- * Results:
- * The return result is either a token for the window corresponding to
- * rootX and rootY, or else NULL to indicate that there is no such
- * window.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-Tk_Window
-Tk_CoordsToWindow(
- int rootX, int rootY, /* Coordinates of point in root window. If a
- * virtual-root window manager is in use,
- * these coordinates refer to the virtual
- * root, not the real root. */
- Tk_Window tkwin) /* Token for any window in application; used
- * to identify the display. */
-{
- TkWindow *winPtr, *childPtr;
- TkWindow *nextPtr; /* Coordinates of highest child found so far
- * that contains point. */
- int x, y; /* Coordinates in winPtr. */
- int tmpx, tmpy, bd;
-
- /*
- * Step 1: find the top-level window that contains the desired point.
- */
-
- winPtr = FrontWindowAtPoint(rootX, rootY);
- if (!winPtr) {
- return NULL;
- }
-
- /*
- * Step 2: work down through the hierarchy underneath this window. At each
- * level, scan through all the children to find the highest one in the
- * stacking order that contains the point. Then repeat the whole process
- * on that child.
- */
-
- x = rootX - winPtr->wmInfoPtr->xInParent;
- y = rootY - winPtr->wmInfoPtr->yInParent;
- while (1) {
- x -= winPtr->changes.x;
- y -= winPtr->changes.y;
- nextPtr = NULL;
-
- /*
- * Container windows cannot have children. So if it is a container,
- * look there, otherwise inspect the children.
- */
-
- if (Tk_IsContainer(winPtr)) {
- childPtr = TkpGetOtherWindow(winPtr);
- if (childPtr != NULL) {
- if (Tk_IsMapped(childPtr)) {
- tmpx = x - childPtr->changes.x;
- tmpy = y - childPtr->changes.y;
- bd = childPtr->changes.border_width;
-
- if ((tmpx >= -bd) && (tmpy >= -bd)
- && (tmpx < (childPtr->changes.width + bd))
- && (tmpy < (childPtr->changes.height + bd))) {
- nextPtr = childPtr;
- }
- }
- }
-
- /*
- * TODO: Here we should handle out of process embedding.
- */
- } else {
- for (childPtr = winPtr->childList; childPtr != NULL;
- childPtr = childPtr->nextPtr) {
- if (!Tk_IsMapped(childPtr) ||
- (childPtr->flags & TK_TOP_LEVEL)) {
- continue;
- }
- tmpx = x - childPtr->changes.x;
- tmpy = y - childPtr->changes.y;
- bd = childPtr->changes.border_width;
- if ((tmpx >= -bd) && (tmpy >= -bd)
- && (tmpx < (childPtr->changes.width + bd))
- && (tmpy < (childPtr->changes.height + bd))) {
- nextPtr = childPtr;
- }
- }
- }
- if (nextPtr == NULL) {
- break;
- }
- winPtr = nextPtr;
- }
- return (Tk_Window) winPtr;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * Tk_TopCoordsToWindow --
- *
- * Given a Tk Window, and coordinates of a point relative to that window
- * this procedure returns the top-most child of the window (excluding
- * toplevels) covering that point, if there exists such a window in this
- * application. It also sets newX, and newY to the coords of the point
- * relative to the window returned.
- *
- * Results:
- * The return result is either a token for the window corresponding to
- * rootX and rootY, or else NULL to indicate that there is no such
- * window. newX and newY are also set to the coords of the point relative
- * to the returned window.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-Tk_Window
-Tk_TopCoordsToWindow(
- Tk_Window tkwin, /* Token for a Tk Window which defines the
- * coordinates for rootX & rootY */
- int rootX, int rootY, /* Coordinates of a point in tkWin. */
- int *newX, int *newY) /* Coordinates of point in the upperMost child
- * of tkWin containing (rootX,rootY) */
-{
- TkWindow *winPtr, *childPtr;
- TkWindow *nextPtr; /* Coordinates of highest child found so far
- * that contains point. */
- int x, y; /* Coordinates in winPtr. */
- Window *children; /* Children of winPtr, or NULL. */
-
- winPtr = (TkWindow *) tkwin;
- x = rootX;
- y = rootY;
- while (1) {
- nextPtr = NULL;
- children = NULL;
-
- /*
- * Container windows cannot have children. So if it is a container,
- * look there, otherwise inspect the children.
- */
-
- if (Tk_IsContainer(winPtr)) {
- childPtr = TkpGetOtherWindow(winPtr);
- if (childPtr != NULL) {
- if (Tk_IsMapped(childPtr) &&
- x > childPtr->changes.x &&
- x < childPtr->changes.x + childPtr->changes.width &&
- y > childPtr->changes.y &&
- y < childPtr->changes.y + childPtr->changes.height) {
- nextPtr = childPtr;
- }
- }
-
- /*
- * TODO: Here we should handle out of process embedding.
- */
- } else {
- for (childPtr = winPtr->childList; childPtr != NULL;
- childPtr = childPtr->nextPtr) {
- if (!Tk_IsMapped(childPtr) ||
- (childPtr->flags & TK_TOP_LEVEL)) {
- continue;
- }
- if (x < childPtr->changes.x || y < childPtr->changes.y) {
- continue;
- }
- if (x > childPtr->changes.x + childPtr->changes.width ||
- y > childPtr->changes.y + childPtr->changes.height) {
- continue;
- }
- nextPtr = childPtr;
- }
- }
- if (nextPtr == NULL) {
- break;
- }
- winPtr = nextPtr;
- x -= winPtr->changes.x;
- y -= winPtr->changes.y;
- }
- *newX = x;
- *newY = y;
- return (Tk_Window) winPtr;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * UpdateVRootGeometry --
- *
- * This procedure is called to update all the virtual root geometry
- * information in wmPtr.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The vRootX, vRootY, vRootWidth, and vRootHeight fields in wmPtr are
- * filled with the most up-to-date information.
- *
- *----------------------------------------------------------------------
- */
-
-static void
-UpdateVRootGeometry(
- WmInfo *wmPtr) /* Window manager information to be updated.
- * The wmPtr->vRoot field must be valid. */
-{
- TkWindow *winPtr = wmPtr->winPtr;
- unsigned int bd, dummy;
- Window dummy2;
- Status status;
- Tk_ErrorHandler handler;
-
- /*
- * If this isn't a virtual-root window manager, just return information
- * about the screen.
- */
-
- wmPtr->flags &= ~WM_VROOT_OFFSET_STALE;
- if (wmPtr->vRoot == None) {
- noVRoot:
- wmPtr->vRootX = wmPtr->vRootY = 0;
- wmPtr->vRootWidth = DisplayWidth(winPtr->display, winPtr->screenNum);
- wmPtr->vRootHeight = DisplayHeight(winPtr->display, winPtr->screenNum);
- return;
- }
-
- /*
- * Refresh the virtual root information if it's out of date.
- */
-
- handler = Tk_CreateErrorHandler(winPtr->display, -1, -1, -1, NULL, NULL);
- status = XGetGeometry(winPtr->display, wmPtr->vRoot,
- &dummy2, &wmPtr->vRootX, &wmPtr->vRootY,
- &wmPtr->vRootWidth, &wmPtr->vRootHeight, &bd, &dummy);
- if (wmTracing) {
- TkMacOSXDbgMsg("x = %d, y = %d, width = %d, height = %d, status = %d",
- wmPtr->vRootX, wmPtr->vRootY, wmPtr->vRootWidth,
- wmPtr->vRootHeight, status);
- }
- Tk_DeleteErrorHandler(handler);
- if (status == 0) {
- /*
- * The virtual root is gone! Pretend that it never existed.
- */
-
- wmPtr->vRoot = None;
- goto noVRoot;
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * Tk_GetVRootGeometry --
- *
- * This procedure returns information about the virtual root window
- * corresponding to a particular Tk window.
- *
- * Results:
- * The values at xPtr, yPtr, widthPtr, and heightPtr are set with the
- * offset and dimensions of the root window corresponding to tkwin. If
- * tkwin is being managed by a virtual root window manager these values
- * correspond to the virtual root window being used for tkwin; otherwise
- * the offsets will be 0 and the dimensions will be those of the screen.
- *
- * Side effects:
- * Vroot window information is refreshed if it is out of date.
- *
- *----------------------------------------------------------------------
- */
-
-void
-Tk_GetVRootGeometry(
- Tk_Window tkwin, /* Window whose virtual root is to be
- * queried. */
- int *xPtr, int *yPtr, /* Store x and y offsets of virtual root
- * here. */
- int *widthPtr, /* Store dimensions of virtual root here. */
- int *heightPtr)
-{
- WmInfo *wmPtr;
- TkWindow *winPtr = (TkWindow *) tkwin;
-
- /*
- * Find the top-level window for tkwin, and locate the window manager
- * information for that window.
- */
-
- while (!(winPtr->flags & TK_TOP_LEVEL)) {
- winPtr = winPtr->parentPtr;
- }
- wmPtr = winPtr->wmInfoPtr;
-
- /*
- * Make sure that the geometry information is up-to-date, then copy it out
- * to the caller.
- */
-
- if (wmPtr->flags & WM_VROOT_OFFSET_STALE) {
- UpdateVRootGeometry(wmPtr);
- }
- *xPtr = wmPtr->vRootX;
- *yPtr = wmPtr->vRootY;
- *widthPtr = wmPtr->vRootWidth;
- *heightPtr = wmPtr->vRootHeight;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * Tk_MoveToplevelWindow --
- *
- * This procedure is called instead of Tk_MoveWindow to adjust the x-y
- * location of a top-level window. It delays the actual move to a later
- * time and keeps window-manager information up-to-date with the move.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The window is eventually moved so that its upper-left corner
- * (actually, the upper-left corner of the window's decorative frame, if
- * there is one) is at (x,y).
- *
- *----------------------------------------------------------------------
- */
-
-void
-Tk_MoveToplevelWindow(
- Tk_Window tkwin, /* Window to move. */
- int x, int y) /* New location for window (within parent). */
-{
- TkWindow *winPtr = (TkWindow *) tkwin;
- WmInfo *wmPtr = winPtr->wmInfoPtr;
-
- if (!(winPtr->flags & TK_TOP_LEVEL)) {
- Tcl_Panic("Tk_MoveToplevelWindow called with non-toplevel window");
- }
- wmPtr->x = x;
- wmPtr->y = y;
- wmPtr->flags |= WM_MOVE_PENDING;
- wmPtr->flags &= ~(WM_NEGATIVE_X|WM_NEGATIVE_Y);
- if (!(wmPtr->sizeHintsFlags & (USPosition|PPosition))) {
- wmPtr->sizeHintsFlags |= USPosition;
- wmPtr->flags |= WM_UPDATE_SIZE_HINTS;
- }
-
- /*
- * If the window has already been mapped, must bring its geometry
- * up-to-date immediately, otherwise an event might arrive from the server
- * that would overwrite wmPtr->x and wmPtr->y and lose the new position.
- */
-
- if (!(wmPtr->flags & WM_NEVER_MAPPED)) {
- if (wmPtr->flags & WM_UPDATE_PENDING) {
- Tcl_CancelIdleCall(UpdateGeometryInfo, winPtr);
- }
- UpdateGeometryInfo(winPtr);
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkWmRestackToplevel --
- *
- * This procedure restacks a top-level window.
- *
- * Results:
- * None.
- *
- * Side effects:
- * WinPtr gets restacked as specified by aboveBelow and otherPtr. This
- * procedure doesn't return until the restack has taken effect and the
- * ConfigureNotify event for it has been received.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkWmRestackToplevel(
- TkWindow *winPtr, /* Window to restack. */
- int aboveBelow, /* Gives relative position for restacking;
- * must be Above or Below. */
- TkWindow *otherPtr) /* Window relative to which to restack; if
- * NULL, then winPtr gets restacked above or
- * below *all* siblings. */
-{
- NSWindow *macWindow;
- NSWindow *otherMacWindow;
- WmInfo *wmPtr = winPtr->wmInfoPtr;
- int macAboveBelow = (aboveBelow == Above ? NSWindowAbove : NSWindowBelow);
- int otherNumber = 0; /* 0 will be used when otherPtr is NULL. */
-
- /*
- * If the Tk windows has no drawable, or is withdrawn do nothing.
- */
- if (winPtr->window == None ||
- wmPtr == NULL ||
- wmPtr->hints.initial_state == WithdrawnState) {
- return;
- }
- macWindow = TkMacOSXDrawableWindow(winPtr->window);
- if (macWindow == nil) {
- return;
- }
- if (otherPtr) {
- /*
- * When otherPtr is non-NULL, if the other window has no
- * drawable or is withdrawn, do nothing.
- */
- WmInfo *otherWmPtr = otherPtr->wmInfoPtr;
- if (winPtr->window == None ||
- otherWmPtr == NULL ||
- otherWmPtr->hints.initial_state == WithdrawnState) {
- return;
- }
- otherMacWindow = TkMacOSXDrawableWindow(otherPtr->window);
- if (otherMacWindow == nil) {
- return;
- } else {
- /*
- * If the other window is OK, get its number.
- */
- otherNumber = [otherMacWindow windowNumber];
- }
- }
-
- /*
- * Just let the Mac window manager deal with all the subtleties
- * of keeping track of off-screen windows, etc.
- */
- [macWindow orderWindow:macAboveBelow relativeTo:otherNumber];
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkWmAddToColormapWindows --
- *
- * This procedure is called to add a given window to the
- * WM_COLORMAP_WINDOWS property for its top-level, if it isn't already
- * there. It is invoked by the Tk code that creates a new colormap, in
- * order to make sure that colormap information is propagated to the
- * window manager by default.
- *
- * Results:
- * None.
- *
- * Side effects:
- * WinPtr's window gets added to the WM_COLORMAP_WINDOWS property of its
- * nearest top-level ancestor, unless the colormaps have been set
- * explicitly with the "wm colormapwindows" command.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkWmAddToColormapWindows(
- TkWindow *winPtr) /* Window with a non-default colormap. Should
- * not be a top-level window. */
-{
- TkWindow *topPtr;
- TkWindow **oldPtr, **newPtr;
- int count, i;
-
- if (winPtr->window == None) {
- return;
- }
-
- for (topPtr = winPtr->parentPtr; ; topPtr = topPtr->parentPtr) {
- if (topPtr == NULL) {
- /*
- * Window is being deleted. Skip the whole operation.
- */
-
- return;
- }
- if (topPtr->flags & TK_TOP_LEVEL) {
- break;
- }
- }
- if (topPtr->wmInfoPtr->flags & WM_COLORMAPS_EXPLICIT) {
- return;
- }
-
- /*
- * Make sure that the window isn't already in the list.
- */
-
- count = topPtr->wmInfoPtr->cmapCount;
- oldPtr = topPtr->wmInfoPtr->cmapList;
-
- for (i = 0; i < count; i++) {
- if (oldPtr[i] == winPtr) {
- return;
- }
- }
-
- /*
- * Make a new bigger array and use it to reset the property. Automatically
- * add the toplevel itself as the last element of the list.
- */
-
- newPtr = ckalloc((count+2) * sizeof(TkWindow *));
- if (count > 0) {
- memcpy(newPtr, oldPtr, count * sizeof(TkWindow *));
- }
- if (count == 0) {
- count++;
- }
- newPtr[count-1] = winPtr;
- newPtr[count] = topPtr;
- if (oldPtr != NULL) {
- ckfree(oldPtr);
- }
-
- topPtr->wmInfoPtr->cmapList = newPtr;
- topPtr->wmInfoPtr->cmapCount = count+1;
-
- /*
- * On the Macintosh all of this is just an excercise in compatability as
- * we don't support colormaps. If we did they would be installed here.
- */
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkWmRemoveFromColormapWindows --
- *
- * This procedure is called to remove a given window from the
- * WM_COLORMAP_WINDOWS property for its top-level. It is invoked when
- * windows are deleted.
- *
- * Results:
- * None.
- *
- * Side effects:
- * WinPtr's window gets removed from the WM_COLORMAP_WINDOWS property of
- * its nearest top-level ancestor, unless the top-level itself is being
- * deleted too.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkWmRemoveFromColormapWindows(
- TkWindow *winPtr) /* Window that may be present in
- * WM_COLORMAP_WINDOWS property for its
- * top-level. Should not be a top-level
- * window. */
-{
- TkWindow *topPtr, **oldPtr;
- int count, i, j;
-
- for (topPtr = winPtr->parentPtr; ; topPtr = topPtr->parentPtr) {
- if (topPtr == NULL) {
- /*
- * Ancestors have been deleted, so skip the whole operation. Seems
- * like this can't ever happen?
- */
-
- return;
- }
- if (topPtr->flags & TK_TOP_LEVEL) {
- break;
- }
- }
- if (topPtr->flags & TK_ALREADY_DEAD) {
- /*
- * Top-level is being deleted, so there's no need to cleanup the
- * WM_COLORMAP_WINDOWS property.
- */
-
- return;
- }
-
- /*
- * Find the window and slide the following ones down to cover it up.
- */
-
- count = topPtr->wmInfoPtr->cmapCount;
- oldPtr = topPtr->wmInfoPtr->cmapList;
- for (i = 0; i < count; i++) {
- if (oldPtr[i] == winPtr) {
- for (j = i ; j < count-1; j++) {
- oldPtr[j] = oldPtr[j+1];
- }
- topPtr->wmInfoPtr->cmapCount = count - 1;
- break;
- }
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkGetPointerCoords --
- *
- * Fetch the position of the mouse pointer.
- *
- * Results:
- * *xPtr and *yPtr are filled in with the (virtual) root coordinates of
- * the mouse pointer for tkwin's display. If the pointer isn't on tkwin's
- * screen, then -1 values are returned for both coordinates. The argument
- * tkwin must be a toplevel window.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkGetPointerCoords(
- Tk_Window tkwin, /* Toplevel window that identifies screen on
- * which lookup is to be done. */
- int *xPtr, int *yPtr) /* Store pointer coordinates here. */
-{
- XQueryPointer(NULL, None, NULL, NULL, xPtr, yPtr, NULL, NULL, NULL);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * InitialWindowBounds --
- *
- * This function calculates the initial bounds for a new Mac toplevel
- * window. Unless the geometry is specified by the user this code will
- * auto place the windows in a cascade diagonially across the main
- * monitor of the Mac.
- *
- * Results:
- * Window bounds.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-static NSRect
-InitialWindowBounds(
- TkWindow *winPtr, /* Window to get initial bounds for. */
- NSWindow *macWindow)
-{
- WmInfo *wmPtr = winPtr->wmInfoPtr;
-
- if (!(wmPtr->sizeHintsFlags & (USPosition | PPosition))) {
- static NSPoint cascadePoint = { .x = 0, .y = 0 };
- NSRect frame;
-
- cascadePoint = [macWindow cascadeTopLeftFromPoint:cascadePoint];
- frame = [macWindow frame];
- wmPtr->x = frame.origin.x;
- wmPtr->y = tkMacOSXZeroScreenHeight - (frame.origin.y +
- frame.size.height);
- }
- return NSMakeRect(wmPtr->x, wmPtr->y, winPtr->changes.width,
- winPtr->changes.height);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXResizable --
- *
- * This function determines if the passed in window is part of a toplevel
- * window that is resizable. If the window is resizable in the x, y or
- * both directions, true is returned.
- *
- * Results:
- * True if resizable, false otherwise.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-int
-TkMacOSXResizable(
- TkWindow *winPtr) /* Tk window or NULL. */
-{
- WmInfo *wmPtr;
-
- if (winPtr == NULL) {
- return false;
- }
- while (winPtr->wmInfoPtr == NULL) {
- winPtr = winPtr->parentPtr;
- }
-
- wmPtr = winPtr->wmInfoPtr;
- if ((wmPtr->flags & WM_WIDTH_NOT_RESIZABLE) &&
- (wmPtr->flags & WM_HEIGHT_NOT_RESIZABLE)) {
- return false;
- } else {
- return true;
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXGrowToplevel --
- *
- * The function is invoked when the user clicks in the grow region of a
- * Tk window. The function will handle the dragging procedure and not
- * return until completed. Finally, the function may place information
- * Tk's event queue is the window was resized.
- *
- * Results:
- * True if events were placed on event queue, false otherwise.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-int
-TkMacOSXGrowToplevel(
- void *whichWindow,
- XPoint start)
-{
- return false;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkSetWMName --
- *
- * Set the title for a toplevel window. If the window is embedded, do not
- * change the window title.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The title of the window is changed.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkSetWMName(
- TkWindow *winPtr,
- Tk_Uid titleUid)
-{
- if (Tk_IsEmbedded(winPtr)) {
- return;
- }
-
- NSString *title = [[NSString alloc] initWithUTF8String:titleUid];
- [TkMacOSXDrawableWindow(winPtr->window) setTitle:title];
- [title release];
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkGetTransientMaster --
- *
- * If the passed window has the TRANSIENT_FOR property set this will
- * return the master window. Otherwise it will return None.
- *
- * Results:
- * The master window or None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-Window
-TkGetTransientMaster(
- TkWindow *winPtr)
-{
- if (winPtr->wmInfoPtr != NULL) {
- return winPtr->wmInfoPtr->master;
- }
- return None;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXGetXWindow --
- *
- * Returns the X window Id associated with the given NSWindow*.
- *
- * Results:
- * The window id is returned. None is returned if not a Tk window.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-Window
-TkMacOSXGetXWindow(
- void *macWinPtr)
-{
- Tcl_HashEntry *hPtr;
-
- if (!macWinPtr || !windowHashInit) {
- return None;
- }
- hPtr = Tcl_FindHashEntry(&windowTable, macWinPtr);
- if (hPtr == NULL) {
- return None;
- }
- return (Window) Tcl_GetHashValue(hPtr);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXGetTkWindow --
- *
- * Returns the TkWindow* associated with the given NSWindow*.
- *
- * Results:
- * The TkWindow* returned. NULL is returned if not a Tk window.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-TkWindow*
-TkMacOSXGetTkWindow(
- NSWindow *w)
-{
- Window window = TkMacOSXGetXWindow(w);
- TkDisplay *dispPtr = TkGetDisplayList();
-
- return (window != None ?
- (TkWindow *)Tk_IdToWindow(dispPtr->display, window) : NULL);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXIsWindowZoomed --
- *
- * Ask Cocoa if the given window is in the zoomed out state. Because
- * dragging & growing a window can change the Cocoa zoom state, we
- * cannot rely on wmInfoPtr->hints.initial_state for this information.
- *
- * Results:
- * True if window is zoomed out, false otherwise.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-MODULE_SCOPE int
-TkMacOSXIsWindowZoomed(
- TkWindow *winPtr)
-{
- return [TkMacOSXDrawableWindow(winPtr->window) isZoomed];
-}
-
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXZoomToplevel --
- *
- * The function is invoked when the user clicks in the zoom region of a
- * Tk window or when the window state is set/unset to "zoomed" manually.
- * If the window is to be zoomed (in or out), the window size is changed
- * and events are generated to let Tk know what happened.
- *
- * Results:
- * True if events were placed on event queue, false otherwise.
- *
- * Side effects:
- * The window may be resized & events placed on Tk's queue.
- *
- *----------------------------------------------------------------------
- */
-
-int
-TkMacOSXZoomToplevel(
- void *whichWindow, /* The Macintosh window to zoom. */
- short zoomPart) /* Either inZoomIn or inZoomOut */
-{
- NSWindow *window = whichWindow;
- TkWindow *winPtr = TkMacOSXGetTkWindow(window);
- WmInfo *wmPtr;
-
- if (!winPtr || !winPtr->wmInfoPtr) {
- return false;
- }
- wmPtr = winPtr->wmInfoPtr;
- if ((wmPtr->flags & WM_WIDTH_NOT_RESIZABLE) &&
- (wmPtr->flags & WM_HEIGHT_NOT_RESIZABLE)) {
- return false;
- }
-
- /*
- * Do nothing if already in desired zoom state.
- */
-
- if ((![window isZoomed] == (zoomPart == inZoomIn))) {
- return false;
- }
- [window zoom:NSApp];
-
- wmPtr->hints.initial_state =
- (zoomPart == inZoomIn ? NormalState : ZoomState);
- return true;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkUnsupported1Cmd --
- *
- * This procedure is invoked to process the
- * "::tk::unsupported::MacWindowStyle" Tcl command. This command allows
- * you to set the style of decoration for a Macintosh window.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * Changes the style of a new Mac window.
- *
- *----------------------------------------------------------------------
- */
-
-/* ARGSUSED */
-int
-TkUnsupported1ObjCmd(
- ClientData clientData, /* Main window associated with interpreter. */
- Tcl_Interp *interp, /* Current interpreter. */
- int objc, /* Number of arguments. */
- Tcl_Obj *const objv[]) /* Argument objects. */
-{
- static const char *const subcmds[] = {
- "style", NULL
- };
- enum SubCmds {
- TKMWS_STYLE
- };
- Tk_Window tkwin = clientData;
- TkWindow *winPtr;
- int index;
-
- if (objc < 3) {
- Tcl_WrongNumArgs(interp, 1, objv, "option window ?arg ...?");
- return TCL_ERROR;
- }
-
-
- winPtr = (TkWindow *)
- Tk_NameToWindow(interp, Tcl_GetString(objv[2]), tkwin);
- if (winPtr == NULL) {
- return TCL_ERROR;
- }
- if (!(winPtr->flags & TK_TOP_LEVEL)) {
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "window \"%s\" isn't a top-level window", winPtr->pathName));
- Tcl_SetErrorCode(interp, "TK", "WINDOWSTYLE", "TOPLEVEL", NULL);
- return TCL_ERROR;
- }
-
- if (Tcl_GetIndexFromObjStruct(interp, objv[1], subcmds,
- sizeof(char *), "option", 0, &index) != TCL_OK) {
- return TCL_ERROR;
- }
- if (((enum SubCmds) index) == TKMWS_STYLE) {
- if ((objc < 3) || (objc > 5)) {
- Tcl_WrongNumArgs(interp, 2, objv, "window ?class attributes?");
- return TCL_ERROR;
- }
- return WmWinStyle(interp, winPtr, objc, objv);
- }
- /* won't be reached */
- return TCL_ERROR;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * WmWinStyle --
- *
- * This procedure is invoked to process the
- * "::tk::unsupported::MacWindowStyle style" subcommand. This command
- * allows you to set the style of decoration for a Macintosh window.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * Changes the style of a new Mac window.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-WmWinStyle(
- Tcl_Interp *interp, /* Current interpreter. */
- TkWindow *winPtr, /* Window to be manipulated. */
- int objc, /* Number of arguments. */
- Tcl_Obj * const objv[]) /* Argument objects. */
-{
- struct StrIntMap {
- const char *strValue;
- UInt64 intValue;
- };
- static const struct StrIntMap classMap[] = {
- { "alert", kAlertWindowClass },
- { "moveableAlert", kMovableAlertWindowClass },
- { "modal", kModalWindowClass },
- { "moveableModal", kMovableModalWindowClass },
- { "floating", kFloatingWindowClass },
- { "document", kDocumentWindowClass },
- { "utility", kUtilityWindowClass },
- { "help", kHelpWindowClass },
- { "sheet", kSheetWindowClass },
- { "toolbar", kToolbarWindowClass },
- { "plain", kPlainWindowClass },
- { "overlay", kOverlayWindowClass },
- { "sheetAlert", kSheetAlertWindowClass },
- { "altPlain", kAltPlainWindowClass },
- { "simple", kSimpleWindowClass },
- { "drawer", kDrawerWindowClass },
- { NULL }
- };
- static const struct StrIntMap compositeAttrMap[] = {
- { "none", kWindowNoAttributes },
- { "standardDocument", kWindowStandardDocumentAttributes },
- { "standardFloating", kWindowStandardFloatingAttributes },
- { "fullZoom", kWindowFullZoomAttribute },
- { NULL }
- };
-
- /*
- * Map window attributes. Color and opacity are mapped to NULL; these are
- * parsed from the objv in TkUnsupported1ObjCmd.
- */
-
- static const struct StrIntMap attrMap[] = {
- { "closeBox", kWindowCloseBoxAttribute },
- { "horizontalZoom", kWindowHorizontalZoomAttribute },
- { "verticalZoom", kWindowVerticalZoomAttribute },
- { "collapseBox", kWindowCollapseBoxAttribute },
- { "resizable", kWindowResizableAttribute },
- { "sideTitlebar", kWindowSideTitlebarAttribute },
- { "toolbarButton", kWindowToolbarButtonAttribute },
- { "unifiedTitleAndToolbar", kWindowUnifiedTitleAndToolbarAttribute },
- { "metal", kWindowMetalAttribute },
- { "noTitleBar", kWindowNoTitleBarAttribute },
- { "texturedSquareCorners", kWindowTexturedSquareCornersAttribute },
- { "metalNoContentSeparator", kWindowMetalNoContentSeparatorAttribute },
- { "doesNotCycle", kWindowDoesNotCycleAttribute },
- { "noUpdates", kWindowNoUpdatesAttribute },
- { "noActivates", kWindowNoActivatesAttribute },
- { "opaqueForEvents", kWindowOpaqueForEventsAttribute },
- { "noShadow", kWindowNoShadowAttribute },
- { "hideOnSuspend", kWindowHideOnSuspendAttribute },
- { "hideOnFullScreen", kWindowHideOnFullScreenAttribute },
- { "inWindowMenu", kWindowInWindowMenuAttribute },
- { "liveResize", kWindowLiveResizeAttribute },
- { "ignoreClicks", kWindowIgnoreClicksAttribute },
- { "noConstrain", kWindowNoConstrainAttribute },
- { "doesNotHide", tkWindowDoesNotHideAttribute },
- { "canJoinAllSpaces", tkCanJoinAllSpacesAttribute },
- { "moveToActiveSpace", tkMoveToActiveSpaceAttribute },
- { "nonActivating", tkNonactivatingPanelAttribute },
- { "hud", tkHUDWindowAttribute },
- { "black", 0 },
- { "dark", 0 },
- { "light", 0 },
- { "gray", 0 },
- { "red", 0 },
- { "green", 0 },
- { "blue", 0 },
- { "cyan", 0 },
- { "yellow", 0 },
- { "magenta", 0 },
- { "orange", 0 },
- { "purple", 0 },
- { "brown", 0 },
- { "clear", 0 },
- { "opacity", 0 },
- { NULL }
- };
-
- int index, i;
- WmInfo *wmPtr = winPtr->wmInfoPtr;
-
- if (objc == 3) {
- Tcl_Obj *attributeList, *newResult = NULL;
- UInt64 attributes;
-
- for (i = 0; classMap[i].strValue != NULL; i++) {
- if (wmPtr->macClass == classMap[i].intValue) {
- newResult = Tcl_NewStringObj(classMap[i].strValue, -1);
- break;
- }
- }
- if (newResult == NULL) {
- Tcl_Panic("invalid class");
- }
-
- attributeList = Tcl_NewListObj(0, NULL);
- attributes = wmPtr->attributes;
-
- for (i = 0; compositeAttrMap[i].strValue != NULL; i++) {
- UInt64 intValue = compositeAttrMap[i].intValue;
-
- if (intValue && (attributes & intValue) == intValue) {
- Tcl_ListObjAppendElement(NULL, attributeList,
- Tcl_NewStringObj(compositeAttrMap[i].strValue,
- -1));
- attributes &= ~intValue;
- break;
- }
- }
- for (i = 0; attrMap[i].strValue != NULL; i++) {
- if (attributes & attrMap[i].intValue) {
- Tcl_ListObjAppendElement(NULL, attributeList,
- Tcl_NewStringObj(attrMap[i].strValue, -1));
- }
- }
- Tcl_ListObjAppendElement(NULL, newResult, attributeList);
- Tcl_SetObjResult(interp, newResult);
- } else {
- int attrObjc;
- Tcl_Obj **attrObjv = NULL;
- WindowClass macClass;
- UInt64 oldAttributes = wmPtr->attributes;
- int oldFlags = wmPtr->flags;
-
- if (Tcl_GetIndexFromObjStruct(interp, objv[3], classMap,
- sizeof(struct StrIntMap), "class", 0, &index) != TCL_OK) {
- goto badClassAttrs;
- }
- macClass = classMap[index].intValue;
- if (objc == 5) {
- if (Tcl_ListObjGetElements(interp, objv[4], &attrObjc, &attrObjv)
- != TCL_OK) {
- goto badClassAttrs;
- }
- wmPtr->attributes = kWindowNoAttributes;
- for (i = 0; i < attrObjc; i++) {
- if (Tcl_GetIndexFromObjStruct(interp, attrObjv[i],
- compositeAttrMap, sizeof(struct StrIntMap),
- "attribute", 0, &index) == TCL_OK) {
- wmPtr->attributes |= compositeAttrMap[index].intValue;
- } else if (Tcl_GetIndexFromObjStruct(interp, attrObjv[i],
- attrMap, sizeof(struct StrIntMap),
- "attribute", 0, &index) == TCL_OK) {
- Tcl_ResetResult(interp);
- wmPtr->attributes |= attrMap[index].intValue;
- } else {
- goto badClassAttrs;
- }
- }
- } else {
- wmPtr->attributes = macClassAttrs[macClass].defaultAttrs;
- }
- wmPtr->attributes &= (tkAlwaysValidAttributes |
- macClassAttrs[macClass].validAttrs);
- wmPtr->flags |= macClassAttrs[macClass].flags;
- wmPtr->macClass = macClass;
-
- ApplyWindowAttributeFlagChanges(winPtr, NULL, oldAttributes, oldFlags,
- 0, 1);
-
- return TCL_OK;
-
- badClassAttrs:
- wmPtr->attributes = oldAttributes;
- return TCL_ERROR;
- }
-
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpMakeMenuWindow --
- *
- * Configure the window to be either a undecorated pull-down (or pop-up)
- * menu, or as a toplevel floating menu (palette).
- *
- * Results:
- * None.
- *
- * Side effects:
- * Changes the style bit used to create a new Mac toplevel.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpMakeMenuWindow(
- Tk_Window tkwin, /* New window. */
- int transient) /* 1 means menu is only posted briefly as a
- * popup or pulldown or cascade. 0 means menu
- * is always visible, e.g. as a floating
- * menu. */
-{
- TkWindow *winPtr = (TkWindow *) tkwin;
-
- if (transient) {
- winPtr->wmInfoPtr->macClass = kSimpleWindowClass;
- winPtr->wmInfoPtr->attributes = kWindowNoActivatesAttribute;
- } else {
- winPtr->wmInfoPtr->macClass = kFloatingWindowClass;
- winPtr->wmInfoPtr->attributes = kWindowStandardFloatingAttributes;
- winPtr->wmInfoPtr->flags |= WM_WIDTH_NOT_RESIZABLE;
- winPtr->wmInfoPtr->flags |= WM_HEIGHT_NOT_RESIZABLE;
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXMakeRealWindowExist --
- *
- * This function finally creates the real Macintosh window that the Mac
- * actually understands.
- *
- * Results:
- * None.
- *
- * Side effects:
- * A new Macintosh toplevel is created.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkMacOSXMakeRealWindowExist(
- TkWindow *winPtr) /* Tk window. */
-{
- WmInfo *wmPtr = winPtr->wmInfoPtr;
- MacDrawable *macWin;
-
- if (TkMacOSXHostToplevelExists(winPtr)) {
- return;
- }
-
- macWin = (MacDrawable *) winPtr->window;
-
- /*
- * If this is embedded, make sure its container's toplevel exists,
- * then return...
- */
-
- if (Tk_IsEmbedded(winPtr)) {
- TkWindow *contWinPtr = TkpGetOtherWindow(winPtr);
-
- if (contWinPtr != NULL) {
- TkMacOSXMakeRealWindowExist(
- contWinPtr->privatePtr->toplevel->winPtr);
- macWin->flags |= TK_HOST_EXISTS;
- return;
- }
-
- if (tkMacOSXEmbedHandler == NULL) {
- Tcl_Panic("TkMacOSXMakeRealWindowExist could not find container");
- }
- if (tkMacOSXEmbedHandler->containerExistProc &&
- tkMacOSXEmbedHandler->containerExistProc((Tk_Window) winPtr)
- != TCL_OK) {
- Tcl_Panic("ContainerExistProc could not make container");
- }
- return;
-
- /*
- * TODO: Here we should handle out of process embedding.
- */
- }
- WindowClass macClass = wmPtr->macClass;
- wmPtr->attributes &= (tkAlwaysValidAttributes |
- macClassAttrs[macClass].validAttrs);
- wmPtr->flags |= macClassAttrs[macClass].flags |
- ((wmPtr->attributes & kWindowResizableAttribute) ? 0 :
- WM_WIDTH_NOT_RESIZABLE|WM_HEIGHT_NOT_RESIZABLE);
- UInt64 attributes = (wmPtr->attributes &
- ~macClassAttrs[macClass].forceOffAttrs) |
- macClassAttrs[macClass].forceOnAttrs;
- NSUInteger styleMask = macClassAttrs[macClass].styleMask |
- ((attributes & kWindowNoTitleBarAttribute) ? 0 : NSTitledWindowMask) |
- ((attributes & kWindowCloseBoxAttribute) ? NSClosableWindowMask : 0) |
- ((attributes & kWindowCollapseBoxAttribute) ?
- NSMiniaturizableWindowMask : 0) |
- ((attributes & kWindowResizableAttribute) ? NSResizableWindowMask : 0) |
- ((attributes & kWindowMetalAttribute) ?
- NSTexturedBackgroundWindowMask : 0) |
- ((attributes & kWindowUnifiedTitleAndToolbarAttribute) ?
- NSUnifiedTitleAndToolbarWindowMask : 0) |
- ((attributes & kWindowSideTitlebarAttribute) ? 1 << 9 : 0) |
- (attributes >> WM_NSMASK_SHIFT);
- Class winClass = (macClass == kDrawerWindowClass ? [NSDrawerWindow class] :
- (styleMask & (NSUtilityWindowMask|NSDocModalWindowMask|
- NSNonactivatingPanelMask|NSHUDWindowMask)) ? [NSPanel class] :
- [TKWindow class]);
- NSRect structureRect = [winClass frameRectForContentRect:NSZeroRect
- styleMask:styleMask];
- NSRect contentRect = NSMakeRect(5 - structureRect.origin.x,
- tkMacOSXZeroScreenHeight - (tkMacOSXZeroScreenTop + 5 +
- structureRect.origin.y + structureRect.size.height + 200), 200, 200);
- NSWindow *window = [[winClass alloc] initWithContentRect:contentRect
- styleMask:styleMask backing:NSBackingStoreBuffered defer:YES];
- if (!window) {
- Tcl_Panic("couldn't allocate new Mac window");
- }
- TKContentView *contentView = [[TKContentView alloc]
- initWithFrame:NSZeroRect];
- [window setContentView:contentView];
- [contentView release];
- [window setDelegate:NSApp];
- [window setAcceptsMouseMovedEvents:YES];
- [window setReleasedWhenClosed:NO];
- if (styleMask & NSUtilityWindowMask) {
- [(NSPanel*)window setFloatingPanel:YES];
- }
- if ((styleMask & (NSTexturedBackgroundWindowMask|NSHUDWindowMask)) &&
- !(styleMask & NSDocModalWindowMask)) {
- /*
- * Workaround for [Bug 2824538]: Textured windows are draggable
- * from opaque content.
- */
- [window setMovableByWindowBackground:NO];
- }
-
- [window setDocumentEdited:NO];
- wmPtr->window = window;
- macWin->view = window.contentView;
- TkMacOSXApplyWindowAttributes(winPtr, window);
-
- NSRect geometry = InitialWindowBounds(winPtr, window);
- geometry.size.width += structureRect.size.width;
- geometry.size.height += structureRect.size.height;
- geometry.origin.y = tkMacOSXZeroScreenHeight - (geometry.origin.y +
- geometry.size.height);
- [window setFrame:geometry display:YES];
- TkMacOSXRegisterOffScreenWindow((Window) macWin, window);
- macWin->flags |= TK_HOST_EXISTS;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpDisplayWindow --
- *
- * Mark the contentView of this window as needing display so the
- * window will be drawn by the window manager. If this is called
- * within the drawRect method, do nothing.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The window's contentView is marked as needing display.
- *
- *----------------------------------------------------------------------
- */
-
-MODULE_SCOPE void
-TkpDisplayWindow(Tk_Window tkwin) {
- if (![NSApp isDrawing]) {
- TkWindow *winPtr = (TkWindow*)tkwin;
- NSWindow *w = TkMacOSXDrawableWindow(winPtr->window);
- [[w contentView] setNeedsDisplay: YES];
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXRegisterOffScreenWindow --
- *
- * This function adds the passed in Off Screen Port to the hash table
- * that maps Mac windows to root X windows.
- *
- * Results:
- * None.
- *
- * Side effects:
- * An entry is added to the windowTable hash table.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkMacOSXRegisterOffScreenWindow(
- Window window, /* Window structure. */
- void *portPtr) /* Pointer to a Mac Window. */
-{
- Tcl_HashEntry *valueHashPtr;
- int isNew;
-
- if (!windowHashInit) {
- Tcl_InitHashTable(&windowTable, TCL_ONE_WORD_KEYS);
- windowHashInit = true;
- }
- valueHashPtr = Tcl_CreateHashEntry(&windowTable, (char *) portPtr, &isNew);
- if (!isNew) {
- Tcl_Panic("Same macintosh window allocated twice!");
- }
- Tcl_SetHashValue(valueHashPtr, window);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXUnregisterMacWindow --
- *
- * Given a macintosh port window, this function removes the association
- * between this window and the root X window that Tk cares about.
- *
- * Results:
- * None.
- *
- * Side effects:
- * An entry is removed from the windowTable hash table.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkMacOSXUnregisterMacWindow(
- void *macWinPtr) /* Reference to a Mac Window */
-{
- Tcl_HashEntry *entryPtr;
-
- if (!windowHashInit) {
- Tcl_Panic("TkMacOSXUnregisterMacWindow: unmapping before inited");
- }
- entryPtr = Tcl_FindHashEntry(&windowTable, macWinPtr);
- if (!entryPtr) {
- TkMacOSXDbgMsg("Failed to find window %p", macWinPtr);
- } else {
- Tcl_DeleteHashEntry(entryPtr);
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXSetScrollbarGrow --
- *
- * Sets a flag for a toplevel window indicating that the passed Tk
- * scrollbar window will display the grow region for the toplevel window.
- *
- * Results:
- * None.
- *
- * Side effects:
- * A flag is set int windows toplevel parent.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkMacOSXSetScrollbarGrow(
- TkWindow *winPtr, /* Tk scrollbar window. */
- int flag) /* Boolean value true or false. */
-{
- if (flag) {
- winPtr->privatePtr->toplevel->flags |= TK_SCROLLBAR_GROW;
- winPtr->privatePtr->toplevel->winPtr->wmInfoPtr->scrollWinPtr = winPtr;
- } else if (winPtr->privatePtr->toplevel->winPtr->wmInfoPtr->scrollWinPtr
- == winPtr) {
- winPtr->privatePtr->toplevel->flags &= ~TK_SCROLLBAR_GROW;
- winPtr->privatePtr->toplevel->winPtr->wmInfoPtr->scrollWinPtr = NULL;
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkWmFocusToplevel --
- *
- * This is a utility procedure invoked by focus-management code. It
- * exists because of the extra wrapper windows that exist under Unix; its
- * job is to map from wrapper windows to the corresponding toplevel
- * windows. On PCs and Macs there are no wrapper windows so no mapping is
- * necessary; this procedure just determines whether a window is a
- * toplevel or not.
- *
- * Results:
- * If winPtr is a toplevel window, returns the pointer to the window;
- * otherwise returns NULL.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-TkWindow *
-TkWmFocusToplevel(
- TkWindow *winPtr) /* Window that received a focus-related
- * event. */
-{
- if (!(winPtr->flags & TK_TOP_LEVEL)) {
- return NULL;
- }
- return winPtr;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpGetWrapperWindow --
- *
- * This is a utility procedure invoked by focus-management code. It maps
- * to the wrapper for a top-level, which is just the same as the
- * top-level on Macs and PCs.
- *
- * Results:
- * If winPtr is a toplevel window, returns the pointer to the window;
- * otherwise returns NULL.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-TkWindow *
-TkpGetWrapperWindow(
- TkWindow *winPtr) /* Window that received a focus-related
- * event. */
-{
- if (!(winPtr->flags & TK_TOP_LEVEL)) {
- return NULL;
- }
- return winPtr;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpWmSetState --
- *
- * Sets the window manager state for the wrapper window of a given
- * toplevel window.
- *
- * Results:
- * None.
- *
- * Side effects:
- * May maximize, minimize, restore, or withdraw a window.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpWmSetState(
- TkWindow *winPtr, /* Toplevel window to operate on. */
- int state) /* One of IconicState, ZoomState, NormalState,
- * or WithdrawnState. */
-{
- WmInfo *wmPtr = winPtr->wmInfoPtr;
- NSWindow *macWin;
-
- wmPtr->hints.initial_state = state;
- if (wmPtr->flags & WM_NEVER_MAPPED) {
- return;
- }
-
- macWin = TkMacOSXDrawableWindow(winPtr->window);
-
- if (state == WithdrawnState) {
- Tk_UnmapWindow((Tk_Window) winPtr);
- } else if (state == IconicState) {
- /*
- * The window always gets unmapped. If we can show the icon version of
- * the window we also collapse it.
- */
-
- if (macWin && ([macWin styleMask] & NSMiniaturizableWindowMask) &&
- ![macWin isMiniaturized]) {
- [macWin miniaturize:NSApp];
- }
- Tk_UnmapWindow((Tk_Window) winPtr);
- } else if (state == NormalState || state == ZoomState) {
- Tk_MapWindow((Tk_Window) winPtr);
- if (macWin && ([macWin styleMask] & NSMiniaturizableWindowMask) &&
- [macWin isMiniaturized]) {
- [macWin deminiaturize:NSApp];
- }
- TkMacOSXZoomToplevel(macWin, state == NormalState ? inZoomIn :
- inZoomOut);
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpIsWindowFloating --
- *
- * Returns 1 if a window is floating, 0 otherwise.
- *
- * Results:
- * 1 or 0 depending on window's floating attribute.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-int
-TkpIsWindowFloating(
- void *wRef)
-{
- return [(NSWindow *)wRef level] == kCGFloatingWindowLevel;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXWindowClass --
- *
- * Returns OS X window class of window
- *
- * Results:
- * 1 or 0 depending on window's floating attribute.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-MODULE_SCOPE WindowClass
-TkMacOSXWindowClass(
- TkWindow *winPtr)
-{
- return winPtr->wmInfoPtr->macClass;
-}
-
-/*
- *--------------------------------------------------------------
- *
- * TkMacOSXWindowOffset --
- *
- * Determines the x and y offset from the orgin of the toplevel window
- * dressing (the structure region, i.e. title bar) and the orgin of the
- * content area.
- *
- * Results:
- * The x & y offset in pixels.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkMacOSXWindowOffset(
- void *wRef,
- int *xOffset,
- int *yOffset)
-{
- TkWindow *winPtr = TkMacOSXGetTkWindow(wRef);
-
- if (winPtr && winPtr->wmInfoPtr) {
- *xOffset = winPtr->wmInfoPtr->xInParent;
- *yOffset = winPtr->wmInfoPtr->yInParent;
- } else {
- *xOffset = 0;
- *yOffset = 0;
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpGetMS --
- *
- * Return a relative time in milliseconds. It doesn't matter when the
- * epoch was.
- *
- * Results:
- * Number of milliseconds.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-unsigned long
-TkpGetMS(void)
-{
- Tcl_Time now;
-
- Tcl_GetTime(&now);
- return (long) now.sec * 1000 + now.usec / 1000;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * XSetInputFocus --
- *
- * Change the focus window for the application.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-XSetInputFocus(
- Display* display,
- Window focus,
- int revert_to,
- Time time)
-{
- /*
- * Don't need to do a thing. Tk manages the focus for us.
- */
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpChangeFocus --
- *
- * This procedure is a stub on the Mac because we always own the focus if
- * we are a front most application.
- *
- * Results:
- * The return value is the serial number of the command that changed the
- * focus. It may be needed by the caller to filter out focus change
- * events that were queued before the command. If the procedure doesn't
- * actually change the focus then it returns 0.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-int
-TkpChangeFocus(
- TkWindow *winPtr, /* Window that is to receive the X focus. */
- int force) /* Non-zero means claim the focus even if it
- * didn't originally belong to topLevelPtr's
- * application. */
-{
- if (winPtr->atts.override_redirect) {
- return 0;
- }
-
- if (Tk_IsTopLevel(winPtr) && !Tk_IsEmbedded(winPtr) ){
- NSWindow *win = TkMacOSXDrawableWindow(winPtr->window);
- TkWmRestackToplevel(winPtr, Above, NULL);
- if (force ) {
- [NSApp activateIgnoringOtherApps:YES];
- }
- if ( win && [win canBecomeKeyWindow] ) {
- [win makeKeyAndOrderFront:NSApp];
- }
- }
-
- /*
- * Remember the current serial number for the X server and issue a dummy
- * server request. This marks the position at which we changed the focus,
- * so we can distinguish FocusIn and FocusOut events on either side of the
- * mark.
- */
-
- return NextRequest(winPtr->display);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * WmStackorderToplevelWrapperMap --
- *
- * This procedure will create a table that maps the reparent wrapper X id
- * for a toplevel to the TkWindow structure that it wraps. Tk keeps track
- * of a mapping from the window X id to the TkWindow structure but that
- * does us no good here since we only get the X id of the wrapper window.
- * Only those toplevel windows that are mapped have a position in the
- * stacking order.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Adds entries to the passed hashtable.
- *
- *----------------------------------------------------------------------
- */
-
-static void
-WmStackorderToplevelWrapperMap(
- TkWindow *winPtr, /* TkWindow to recurse on */
- Display *display, /* X display of parent window */
- Tcl_HashTable *table) /* Maps mac window to TkWindow */
-{
- TkWindow *childPtr;
- Tcl_HashEntry *hPtr;
- int newEntry;
-
- if (Tk_IsMapped(winPtr) && Tk_IsTopLevel(winPtr)
- && (winPtr->display == display)) {
- hPtr = Tcl_CreateHashEntry(table,
- (char*) TkMacOSXDrawableWindow(winPtr->window), &newEntry);
- Tcl_SetHashValue(hPtr, winPtr);
- }
-
- for (childPtr = winPtr->childList; childPtr != NULL;
- childPtr = childPtr->nextPtr) {
- WmStackorderToplevelWrapperMap(childPtr, display, table);
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkWmStackorderToplevel --
- *
- * This procedure returns the stack order of toplevel windows.
- *
- * Results:
- * An array of pointers to tk window objects in stacking order or else
- * NULL if there was an error.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-TkWindow **
-TkWmStackorderToplevel(
- TkWindow *parentPtr) /* Parent toplevel window. */
-{
- TkWindow *childWinPtr, **windows, **windowPtr;
- Tcl_HashTable table;
- Tcl_HashEntry *hPtr;
- Tcl_HashSearch search;
-
- /*
- * Map mac windows to a TkWindow of the wrapped toplevel.
- */
-
- Tcl_InitHashTable(&table, TCL_ONE_WORD_KEYS);
- WmStackorderToplevelWrapperMap(parentPtr, parentPtr->display, &table);
-
- windows = ckalloc((table.numEntries+1) * sizeof(TkWindow *));
-
- /*
- * Special cases: If zero or one toplevels were mapped there is no need to
- * enumerate Windows.
- */
-
- switch (table.numEntries) {
- case 0:
- windows[0] = NULL;
- goto done;
- case 1:
- hPtr = Tcl_FirstHashEntry(&table, &search);
- windows[0] = Tcl_GetHashValue(hPtr);
- windows[1] = NULL;
- goto done;
- }
-
- NSArray *macWindows = [NSApp orderedWindows];
- NSInteger windowCount = [macWindows count];
-
- if (!windowCount) {
- ckfree(windows);
- windows = NULL;
- } else {
- windowPtr = windows + table.numEntries;
- *windowPtr-- = NULL;
- for (NSWindow *w in macWindows) {
- hPtr = Tcl_FindHashEntry(&table, (char*) w);
- if (hPtr != NULL) {
- childWinPtr = Tcl_GetHashValue(hPtr);
- *windowPtr-- = childWinPtr;
- }
- }
- if (windowPtr != windows-1) {
- Tcl_Panic("num matched toplevel windows does not equal num "
- "children");
- }
- }
-
- done:
- Tcl_DeleteHashTable(&table);
- return windows;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXApplyWindowAttributes --
- *
- * This procedure applies all window attributes to the NSWindow.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkMacOSXApplyWindowAttributes(
- TkWindow *winPtr,
- NSWindow *macWindow)
-{
- WmInfo *wmPtr = winPtr->wmInfoPtr;
- ApplyWindowAttributeFlagChanges(winPtr, macWindow, 0, 0, 0, 1);
- if (wmPtr->master != None || winPtr->atts.override_redirect) {
- ApplyMasterOverrideChanges(winPtr, macWindow);
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * ApplyWindowAttributeFlagChanges --
- *
- * This procedure applies window attribute and flag changes.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-static void
-ApplyWindowAttributeFlagChanges(
- TkWindow *winPtr,
- NSWindow *macWindow,
- UInt64 oldAttributes,
- int oldFlags,
- int create,
- int initial)
-{
- WmInfo *wmPtr = winPtr->wmInfoPtr;
- UInt64 newAttributes = ForceAttributes(wmPtr->attributes, wmPtr->macClass);
- UInt64 changedAttributes = newAttributes ^ ForceAttributes(oldAttributes,
- wmPtr->macClass);
-
- if (changedAttributes || wmPtr->flags != oldFlags || initial) {
- if (!macWindow) {
- if (winPtr->window == None) {
- if (create) {
- Tk_MakeWindowExist((Tk_Window) winPtr);
- } else {
- return;
- }
- }
- if (!TkMacOSXHostToplevelExists(winPtr)) {
- if (create) {
- TkMacOSXMakeRealWindowExist(winPtr);
- } else {
- return;
- }
- }
- macWindow = TkMacOSXDrawableWindow(winPtr->window);
- }
- if ((changedAttributes & kWindowCloseBoxAttribute) || initial) {
- [[macWindow standardWindowButton:NSWindowCloseButton]
- setEnabled:!!(newAttributes & kWindowCloseBoxAttribute)];
- }
- if ((changedAttributes & kWindowCollapseBoxAttribute) || initial) {
- [[macWindow standardWindowButton:NSWindowMiniaturizeButton]
- setEnabled:!!(newAttributes & kWindowCollapseBoxAttribute)];
- }
- if ((changedAttributes & (kWindowResizableAttribute |
- kWindowFullZoomAttribute)) || initial) {
- [macWindow setShowsResizeIndicator:
- !!(newAttributes & kWindowResizableAttribute)];
- [[macWindow standardWindowButton:NSWindowZoomButton]
- setEnabled:(newAttributes & kWindowResizableAttribute) &&
- (newAttributes & kWindowFullZoomAttribute)];
- if (newAttributes & kWindowHorizontalZoomAttribute) {
- wmPtr->flags &= ~(WM_WIDTH_NOT_RESIZABLE);
- } else {
- wmPtr->flags |= (WM_WIDTH_NOT_RESIZABLE);
- }
- if (newAttributes & kWindowVerticalZoomAttribute) {
- wmPtr->flags &= ~(WM_HEIGHT_NOT_RESIZABLE);
- } else {
- wmPtr->flags |= (WM_HEIGHT_NOT_RESIZABLE);
- }
- WmUpdateGeom(wmPtr, winPtr);
- }
- if ((changedAttributes & kWindowToolbarButtonAttribute) || initial) {
- [macWindow setShowsToolbarButton:
- !!(newAttributes & kWindowToolbarButtonAttribute)];
- if ((newAttributes & kWindowToolbarButtonAttribute) &&
- ![macWindow toolbar]) {
- NSToolbar *toolbar = [[NSToolbar alloc] initWithIdentifier:@""];
- [toolbar setVisible:NO];
- [macWindow setToolbar:toolbar];
- [toolbar release];
- NSCell *toolbarButtonCell = [[macWindow standardWindowButton:
- NSWindowToolbarButton] cell];
- [toolbarButtonCell setTarget:[macWindow contentView]];
- [toolbarButtonCell setAction:@selector(tkToolbarButton:)];
- }
- }
- if ((changedAttributes & kWindowNoShadowAttribute) || initial) {
- [macWindow setHasShadow:
- !(newAttributes & kWindowNoShadowAttribute)];
- }
- if ((changedAttributes & kWindowHideOnSuspendAttribute) || initial) {
- [macWindow setHidesOnDeactivate:
- !!(newAttributes & kWindowHideOnSuspendAttribute)];
- }
- if ((changedAttributes & kWindowInWindowMenuAttribute) || initial) {
- [macWindow setExcludedFromWindowsMenu:
- !(newAttributes & kWindowInWindowMenuAttribute)];
- }
- if ((changedAttributes & kWindowIgnoreClicksAttribute) || initial) {
- [macWindow setIgnoresMouseEvents:
- !!(newAttributes & kWindowIgnoreClicksAttribute)];
- }
- if ((changedAttributes & tkWindowDoesNotHideAttribute) || initial) {
- [macWindow setCanHide:
- !(newAttributes & tkWindowDoesNotHideAttribute)];
- }
- if ((changedAttributes & (kWindowDoesNotCycleAttribute |
- tkCanJoinAllSpacesAttribute | tkMoveToActiveSpaceAttribute)) ||
- initial) {
- NSWindowCollectionBehavior b = NSWindowCollectionBehaviorDefault;
- if (newAttributes & tkCanJoinAllSpacesAttribute) {
- b |= NSWindowCollectionBehaviorCanJoinAllSpaces;
- } else if (newAttributes & tkMoveToActiveSpaceAttribute) {
- b |= NSWindowCollectionBehaviorMoveToActiveSpace;
- }
- if (newAttributes & kWindowDoesNotCycleAttribute) {
- b |= NSWindowCollectionBehaviorIgnoresCycle;
- } else {
- b |= NSWindowCollectionBehaviorParticipatesInCycle;
- }
- [macWindow setCollectionBehavior:b];
- }
- if ((wmPtr->flags & WM_TOPMOST) != (oldFlags & WM_TOPMOST)) {
- [macWindow setLevel:(wmPtr->flags & WM_TOPMOST) ?
- kCGUtilityWindowLevel : ([macWindow isKindOfClass:
- [NSPanel class]] && [macWindow isFloatingPanel] ?
- kCGFloatingWindowLevel : kCGNormalWindowLevel)];
- }
-
- /*
- * The change of window class/attributes might have changed the window
- * structure widths:
- */
-
- NSRect structureRect = [macWindow frameRectForContentRect:NSZeroRect];
- wmPtr->xInParent = -structureRect.origin.x;
- wmPtr->yInParent = structureRect.origin.y + structureRect.size.height;
- wmPtr->parentWidth = winPtr->changes.width + structureRect.size.width;
- wmPtr->parentHeight = winPtr->changes.height + structureRect.size.height;
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * ApplyMasterOverrideChanges --
- *
- * This procedure applies changes to override_redirect or master.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-static void
-ApplyMasterOverrideChanges(
- TkWindow *winPtr,
- NSWindow *macWindow)
-{
- WmInfo *wmPtr = winPtr->wmInfoPtr;
- UInt64 oldAttributes = wmPtr->attributes;
- int oldFlags = wmPtr->flags;
-
- /*
- * FIX: We need an UpdateWrapper equivalent to make this 100% correct
- */
-
- if (winPtr->atts.override_redirect) {
- if (wmPtr->macClass == kDocumentWindowClass) {
- wmPtr->macClass = kSimpleWindowClass;
- wmPtr->attributes = macClassAttrs[kSimpleWindowClass].defaultAttrs;
- }
- wmPtr->attributes |= kWindowNoActivatesAttribute;
- } else {
- if (wmPtr->macClass == kSimpleWindowClass &&
- oldAttributes == kWindowNoActivatesAttribute) {
- wmPtr->macClass = kDocumentWindowClass;
- wmPtr->attributes =
- macClassAttrs[kDocumentWindowClass].defaultAttrs;
- }
- wmPtr->attributes &= ~kWindowNoActivatesAttribute;
- }
- if (!macWindow && winPtr->window != None &&
- TkMacOSXHostToplevelExists(winPtr)) {
- macWindow = TkMacOSXDrawableWindow(winPtr->window);
- }
- if (macWindow) {
- if (winPtr->atts.override_redirect && wmPtr->master != None) {
- wmPtr->flags |= WM_TOPMOST;
- } else {
- wmPtr->flags &= ~WM_TOPMOST;
- }
- NSWindow *parentWindow = [macWindow parentWindow];
- if (wmPtr->master != None) {
- TkDisplay *dispPtr = TkGetDisplayList();
- TkWindow *masterWinPtr = (TkWindow *)
- Tk_IdToWindow(dispPtr->display, wmPtr->master);
-
- if (masterWinPtr && masterWinPtr->window != None &&
- TkMacOSXHostToplevelExists(masterWinPtr)) {
- NSWindow *masterMacWin =
- TkMacOSXDrawableWindow(masterWinPtr->window);
-
- if (masterMacWin && masterMacWin != parentWindow &&
- (winPtr->flags & TK_MAPPED)) {
- if (parentWindow) {
- [parentWindow removeChildWindow:macWindow];
- }
- [masterMacWin addChildWindow:macWindow
- ordered:NSWindowAbove];
- if (wmPtr->flags & WM_TOPMOST) {
- [macWindow setLevel:kCGUtilityWindowLevel];
- }
- }
- }
- } else if (parentWindow) {
- [parentWindow removeChildWindow:macWindow];
- }
- ApplyWindowAttributeFlagChanges(winPtr, macWindow, oldAttributes,
- oldFlags, 0, 0);
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXMakeFullscreen --
- *
- * This procedure sets a fullscreen window to the size of the screen.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-int
-TkMacOSXMakeFullscreen(
- TkWindow *winPtr,
- NSWindow *window,
- int fullscreen,
- Tcl_Interp *interp)
-{
- WmInfo *wmPtr = winPtr->wmInfoPtr;
- int screenWidth = WidthOfScreen(Tk_Screen(winPtr));
- int screenHeight = HeightOfScreen(Tk_Screen(winPtr));
-
- if (fullscreen) {
-
- /*
- * Check max width and height if set by the user.
- */
-
- if ((wmPtr->maxWidth > 0 && wmPtr->maxWidth < screenWidth)
- || (wmPtr->maxHeight > 0 && wmPtr->maxHeight < screenHeight)) {
- if (interp) {
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "can't set fullscreen attribute for \"%s\": max"
- " width/height is too small", winPtr->pathName));
- Tcl_SetErrorCode(interp, "TK", "FULLSCREEN",
- "CONSTRAINT_FAILURE", NULL);
- }
- wmPtr->flags &= ~WM_FULLSCREEN;
- return TCL_ERROR;
- }
-
- /*
- * Save the current window state.
- */
-
- wmPtr->cachedBounds = [window frame];
- wmPtr->cachedStyle = [window styleMask];
- wmPtr->cachedPresentation = [NSApp presentationOptions];
-
- /*
- * Adjust the window style so it looks like a Fullscreen window.
- */
-
- [window setStyleMask: NSFullScreenWindowMask];
- [NSApp setPresentationOptions: (NSApplicationPresentationAutoHideDock |
- NSApplicationPresentationAutoHideMenuBar)];
-
- /*For 10.13 and later add a button for exiting Fullscreen.*/
- if ([NSApp macMinorVersion] > 12) {
-#if MAC_OS_X_VERSION_MAX_ALLOWED > 101200
- exitFullScreen = [[[NSStatusBar systemStatusBar]
- statusItemWithLength:NSVariableStatusItemLength] retain];
- NSImage *exitIcon = [NSImage imageNamed:@"NSExitFullScreenTemplate"];
- exitFullScreen.button.image = exitIcon;
- exitFullScreen.button.cell.highlighted = NO;
- exitFullScreen.button.toolTip = @"Exit Full Screen";
- exitFullScreen.button.target = window;
- exitFullScreen.button.action = @selector(restoreOldScreen:);
-#endif
- }
-
- /*
- * Resize the window to fill the screen. (After setting the style!)
- */
-
- wmPtr->flags |= WM_SYNC_PENDING;
- NSRect screenBounds = NSMakeRect(0, 0, screenWidth, screenHeight);
- [window setFrame:screenBounds display:YES];
- wmPtr->flags &= ~WM_SYNC_PENDING;
- wmPtr->flags |= WM_FULLSCREEN;
- } else {
-
- /*
- * Restore the previous styles and attributes.
- */
-
- [NSApp setPresentationOptions: wmPtr->cachedPresentation];
- [window setStyleMask: wmPtr->cachedStyle];
- UInt64 oldAttributes = wmPtr->attributes;
- wmPtr->flags &= ~WM_FULLSCREEN;
- wmPtr->attributes |= wmPtr->configAttributes &
- kWindowResizableAttribute;
- ApplyWindowAttributeFlagChanges(winPtr, window, oldAttributes,
- wmPtr->flags, 1, 0);
-
- /*
- * Resize the window to its previous size.
- */
-
- wmPtr->flags |= WM_SYNC_PENDING;
- [window setFrame:wmPtr->cachedBounds display:YES];
- wmPtr->flags &= ~WM_SYNC_PENDING;
- }
- return TCL_OK;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * GetMinSize --
- *
- * This function computes the current minWidth and minHeight values for a
- * window, taking into account the possibility that they may be
- * defaulted.
- *
- * Results:
- * The values at *minWidthPtr and *minHeightPtr are filled in with the
- * minimum allowable dimensions of wmPtr's window, in grid units. If the
- * requested minimum is smaller than the system required minimum, then
- * this function computes the smallest size that will satisfy both the
- * system and the grid constraints.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-static void
-GetMinSize(
- TkWindow *winPtr, /* Toplevel window to operate on. */
- int *minWidthPtr, /* Where to store the current minimum width of
- * the window. */
- int *minHeightPtr) /* Where to store the current minimum height
- * of the window. */
-{
- WmInfo *wmPtr = winPtr->wmInfoPtr;
- int minWidth = 1, minHeight = 1;
-
- /*
- * Compute the minimum width & height by taking the default client size and
- * rounding it up to the nearest grid unit. Return the greater of the
- * default minimum and the specified minimum.
- */
-
- switch (wmPtr->macClass) {
- case kDocumentWindowClass:
- case kMovableAlertWindowClass:
- case kMovableModalWindowClass:
- minWidth = 72;
- if (wmPtr->attributes & kWindowResizableAttribute) {
- minHeight = 15;
- }
- if (wmPtr->attributes & kWindowToolbarButtonAttribute) {
- minWidth += 29;
- }
- break;
- case kFloatingWindowClass:
- case kUtilityWindowClass:
- minWidth = 59;
- if (wmPtr->attributes & kWindowResizableAttribute) {
- minHeight = 11;
- }
- if (wmPtr->attributes & kWindowSideTitlebarAttribute) {
- int tmp = minWidth;
-
- minWidth = minHeight;
- minHeight = tmp;
- } else if (wmPtr->attributes & kWindowToolbarButtonAttribute) {
- minWidth += 29;
- }
- break;
- default:
- if (wmPtr->attributes & kWindowResizableAttribute) {
- minWidth = 15;
- minHeight = 15;
- }
- break;
- }
-
- if (wmPtr->gridWin != NULL) {
- int base = winPtr->reqWidth - (wmPtr->reqGridWidth * wmPtr->widthInc);
-
- if (base < 0) {
- base = 0;
- }
- minWidth = ((minWidth - base) + wmPtr->widthInc-1)/wmPtr->widthInc;
- base = winPtr->reqHeight - (wmPtr->reqGridHeight * wmPtr->heightInc);
- if (base < 0) {
- base = 0;
- }
- minHeight = ((minHeight - base) + wmPtr->heightInc-1)/wmPtr->heightInc;
- }
- if (minWidth < wmPtr->minWidth) {
- minWidth = wmPtr->minWidth;
- }
- if (minHeight < wmPtr->minHeight) {
- minHeight = wmPtr->minHeight;
- }
- *minWidthPtr = minWidth;
- *minHeightPtr = minHeight;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * GetMaxSize --
- *
- * This function computes the current maxWidth and maxHeight values for a
- * window, taking into account the possibility that they may be
- * defaulted.
- *
- * Results:
- * The values at *maxWidthPtr and *maxHeightPtr are filled in with the
- * maximum allowable dimensions of wmPtr's window, in grid units. If no
- * maximum has been specified for the window, then this function computes
- * the largest sizes that will fit on the screen.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-static void
-GetMaxSize(
- TkWindow *winPtr, /* Toplevel window to operate on. */
- int *maxWidthPtr, /* Where to store the current maximum width of
- * the window. */
- int *maxHeightPtr) /* Where to store the current maximum height
- * of the window. */
-{
- WmInfo *wmPtr = winPtr->wmInfoPtr;
- NSRect *maxBounds = (NSRect*)(winPtr->display->screens->ext_data);
-
- if (wmPtr->maxWidth > 0) {
- *maxWidthPtr = wmPtr->maxWidth;
- } else {
- int maxWidth = maxBounds->size.width - wmPtr->xInParent;
-
- if (wmPtr->gridWin != NULL) {
- maxWidth = wmPtr->reqGridWidth
- + (maxWidth - winPtr->reqWidth)/wmPtr->widthInc;
- }
- *maxWidthPtr = maxWidth;
- }
- if (wmPtr->maxHeight > 0) {
- *maxHeightPtr = wmPtr->maxHeight;
- } else {
- int maxHeight = maxBounds->size.height - wmPtr->yInParent;
-
- if (wmPtr->gridWin != NULL) {
- maxHeight = wmPtr->reqGridHeight
- + (maxHeight - winPtr->reqHeight)/wmPtr->heightInc;
- }
- *maxHeightPtr = maxHeight;
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * RemapWindows
- *
- * Adjust parent/child relation ships of the given window hierarchy.
- *
- * Results:
- * none
- *
- * Side effects:
- * keeps windowing system (X11) happy
- *
- *----------------------------------------------------------------------
- */
-
-static void
-RemapWindows(
- TkWindow *winPtr,
- MacDrawable *parentWin)
-{
- TkWindow *childPtr;
- /*
- * Remove the OS specific window. It will get rebuilt when the window gets
- * Mapped.
- */
-
- if (winPtr->window != None) {
- MacDrawable *macWin = (MacDrawable *) winPtr->window;
-
- macWin->toplevel->referenceCount--;
- macWin->toplevel = parentWin->toplevel;
- macWin->toplevel->referenceCount++;
- winPtr->flags &= ~TK_MAPPED;
-#ifdef TK_REBUILD_TOPLEVEL
- winPtr->flags |= TK_REBUILD_TOPLEVEL;
-#endif
- }
-
- /* Repeat for all the children */
- for (childPtr = winPtr->childList; childPtr != NULL;
- childPtr = childPtr->nextPtr) {
- RemapWindows(childPtr, (MacDrawable *) winPtr->window);
- }
-}
-
-/*
- * Local Variables:
- * mode: objc
- * c-basic-offset: 4
- * fill-column: 79
- * coding: utf-8
- * End:
- */
diff --git a/tk8.6/macosx/tkMacOSXWm.h b/tk8.6/macosx/tkMacOSXWm.h
deleted file mode 100644
index 43f1a7a..0000000
--- a/tk8.6/macosx/tkMacOSXWm.h
+++ /dev/null
@@ -1,267 +0,0 @@
-/*
- * tkMacOSXWm.h --
- *
- * Declarations of Macintosh specific window manager structures.
- *
- * Copyright 2001-2009, Apple Inc.
- * Copyright (c) 2006-2009 Daniel A. Steffen <das@users.sourceforge.net>
- *
- * See the file "license.terms" for information on usage and redistribution of
- * this file, and for a DISCLAIMER OF ALL WARRANTIES.
- */
-
-#ifndef _TKMACWM
-#define _TKMACWM
-
-#include "tkMacOSXInt.h"
-#include "tkMenu.h"
-
-/*
- * A data structure of the following type holds information for each window
- * manager protocol (such as WM_DELETE_WINDOW) for which a handler (i.e. a Tcl
- * command) has been defined for a particular top-level window.
- */
-
-typedef struct ProtocolHandler {
- Atom protocol; /* Identifies the protocol. */
- struct ProtocolHandler *nextPtr;
- /* Next in list of protocol handlers for the
- * same top-level window, or NULL for end of
- * list. */
- Tcl_Interp *interp; /* Interpreter in which to invoke command. */
- char* command; /* Tcl command to invoke when a client message
- * for this protocol arrives. The actual size
- * of the structure varies to accommodate the
- * needs of the actual command. THIS MUST BE
- * THE LAST FIELD OF THE STRUCTURE. */
-} ProtocolHandler;
-
-
-/*
- * A data structure of the following type holds window-manager-related
- * information for each top-level window in an application.
- */
-
-typedef struct TkWmInfo {
- TkWindow *winPtr; /* Pointer to main Tk information for this
- * window. */
- Window reparent; /* If the window has been reparented, this
- * gives the ID of the ancestor of the window
- * that is a child of the root window (may not
- * be window's immediate parent). If the window
- * isn't reparented, this has the value
- * None. */
- Tk_Uid titleUid; /* Title to display in window caption. If NULL,
- * use name of widget. */
- char *iconName; /* Name to display in icon. */
- Window master; /* Master window for TRANSIENT_FOR property, or
- * None. */
- XWMHints hints; /* Various pieces of information for window
- * manager. */
- char *leaderName; /* Path name of leader of window group
- * (corresponds to hints.window_group).
- * Malloc-ed. Note: this field doesn't get
- * updated if leader is destroyed. */
- char *masterWindowName; /* Path name of window specified as master in
- * "wm transient" command, or NULL. Malloc-ed.
- * Note: this field doesn't get updated if
- * masterWindowName is destroyed. */
- Tk_Window icon; /* Window to use as icon for this window, or
- * NULL. */
- Tk_Window iconFor; /* Window for which this window is icon, or
- * NULL if this isn't an icon for anyone. */
-
- /*
- * Information used to construct an XSizeHints structure for the window
- * manager:
- */
-
- int sizeHintsFlags; /* Flags word for XSizeHints structure. If the
- * PBaseSize flag is set then the window is
- * gridded; otherwise it isn't gridded. */
- int minWidth, minHeight; /* Minimum dimensions of window, in grid units,
- * not pixels. */
- int maxWidth, maxHeight; /* Maximum dimensions of window, in grid units,
- * not pixels. */
- Tk_Window gridWin; /* Identifies the window that controls gridding
- * for this top-level, or NULL if the top-level
- * isn't currently gridded. */
- int widthInc, heightInc; /* Increments for size changes (# pixels per
- * step). */
- struct {
- int x; /* numerator */
- int y; /* denominator */
- } minAspect, maxAspect; /* Min/max aspect ratios for window. */
- int reqGridWidth, reqGridHeight;
- /* The dimensions of the window (in grid units)
- * requested through the geometry manager. */
- int gravity; /* Desired window gravity. */
-
- /*
- * Information used to manage the size and location of a window.
- */
-
- int width, height; /* Desired dimensions of window, specified in
- * grid units. These values are set by the "wm
- * geometry" command and by ConfigureNotify
- * events (for when wm resizes window). -1
- * means user hasn't requested dimensions. */
- int x, y; /* Desired X and Y coordinates for window.
- * These values are set by "wm geometry", plus
- * by ConfigureNotify events (when wm moves
- * window). These numbers are different than
- * the numbers stored in winPtr->changes
- * because (a) they could be measured from the
- * right or bottom edge of the screen (see
- * WM_NEGATIVE_X and WM_NEGATIVE_Y flags) and
- * (b) if the window has been reparented then
- * they refer to the parent rather than the
- * window itself. */
- int parentWidth, parentHeight;
- /* Width and height of reparent, in pixels
- * *including border*. If window hasn't been
- * reparented then these will be the outer
- * dimensions of the window, including
- * border. */
- int xInParent, yInParent; /* Offset of window within reparent, measured
- * from upper-left outer corner of parent's
- * border to upper-left outer corner of child's
- * border. If not reparented then these are
- * zero. */
- int configX, configY; /* x,y position of toplevel when window is
- * switched into fullscreen state, */
- int configWidth, configHeight;
- /* Dimensions passed to last request that we
- * issued to change geometry of window. Used to
- * eliminate redundant resize operations. */
-
- /*
- * Information about the virtual root window for this top-level, if there
- * is one.
- */
-
- Window vRoot; /* Virtual root window for this top-level, or
- * None if there is no virtual root window
- * (i.e. just use the screen's root). */
- int vRootX, vRootY; /* Position of the virtual root inside the root
- * window. If the WM_VROOT_OFFSET_STALE flag is
- * set then this information may be incorrect
- * and needs to be refreshed from the OS. If
- * vRoot is None then these values are both
- * 0. */
- unsigned int vRootWidth, vRootHeight;
- /* Dimensions of the virtual root window. If
- * vRoot is None, gives the dimensions of the
- * containing screen. This information is never
- * stale, even though vRootX and vRootY can
- * be. */
-
- /*
- * List of children of the toplevel which have private colormaps.
- */
-
- TkWindow **cmapList; /* Array of window with private colormaps. */
- int cmapCount; /* Number of windows in array. */
-
- /*
- * Miscellaneous information.
- */
-
- ProtocolHandler *protPtr; /* First in list of protocol handlers for this
- * window (NULL means none). */
- Tcl_Obj *commandObj; /* The command (guaranteed to be a list) for
- * the WM_COMMAND property. NULL means nothing
- * available. */
- char *clientMachine; /* String to store in WM_CLIENT_MACHINE
- * property, or NULL. */
- int flags; /* Miscellaneous flags, defined below. */
-
- /*
- * Macintosh information.
- */
-
- WindowClass macClass;
- UInt64 attributes, configAttributes;
- TkWindow *scrollWinPtr; /* Ptr to scrollbar handling grow widget. */
- TkMenu *menuPtr;
- NSWindow *window;
-
- /*
- * Space to cache current window state when window becomes Fullscreen.
- */
-
- unsigned long cachedStyle;
- unsigned long cachedPresentation;
- NSRect cachedBounds;
-
-} WmInfo;
-
-/*
- * Flag values for WmInfo structures:
- *
- * WM_NEVER_MAPPED - non-zero means window has never been mapped;
- * need to update all info when window is first
- * mapped.
- * WM_UPDATE_PENDING - non-zero means a call to UpdateGeometryInfo
- * has already been scheduled for this window; no
- * need to schedule another one.
- * WM_NEGATIVE_X - non-zero means x-coordinate is measured in
- * pixels from right edge of screen, rather than
- * from left edge.
- * WM_NEGATIVE_Y - non-zero means y-coordinate is measured in
- * pixels up from bottom of screen, rather than
- * down from top.
- * WM_UPDATE_SIZE_HINTS - non-zero means that new size hints need to be
- * propagated to window manager.
- * WM_SYNC_PENDING - set to non-zero while waiting for the window
- * manager to respond to some state change.
- * WM_VROOT_OFFSET_STALE - non-zero means that (x,y) offset information
- * about the virtual root window is stale and
- * needs to be fetched fresh from the X server.
- * WM_ABOUT_TO_MAP - non-zero means that the window is about to be
- * mapped by TkWmMapWindow. This is used by
- * UpdateGeometryInfo to modify its behavior.
- * WM_MOVE_PENDING - non-zero means the application has requested a
- * new position for the window, but it hasn't
- * been reflected through the window manager yet.
- * WM_COLORMAPS_EXPLICIT - non-zero means the colormap windows were set
- * explicitly via "wm colormapwindows".
- * WM_ADDED_TOPLEVEL_COLORMAP - non-zero means that when "wm colormapwindows"
- * was called the top-level itself wasn't
- * specified, so we added it implicitly at the
- * end of the list.
- * WM_WIDTH_NOT_RESIZABLE - non-zero means that we're not supposed to
- * allow the user to change the width of the
- * window (controlled by "wm resizable" command).
- * WM_HEIGHT_NOT_RESIZABLE - non-zero means that we're not supposed to
- * allow the user to change the height of the
- * window (controlled by "wm resizable" command).
- */
-
-#define WM_NEVER_MAPPED 0x0001
-#define WM_UPDATE_PENDING 0x0002
-#define WM_NEGATIVE_X 0x0004
-#define WM_NEGATIVE_Y 0x0008
-#define WM_UPDATE_SIZE_HINTS 0x0010
-#define WM_SYNC_PENDING 0x0020
-#define WM_VROOT_OFFSET_STALE 0x0040
-#define WM_ABOUT_TO_MAP 0x0080
-#define WM_MOVE_PENDING 0x0100
-#define WM_COLORMAPS_EXPLICIT 0x0200
-#define WM_ADDED_TOPLEVEL_COLORMAP 0x0400
-#define WM_WIDTH_NOT_RESIZABLE 0x0800
-#define WM_HEIGHT_NOT_RESIZABLE 0x1000
-#define WM_TOPMOST 0x2000
-#define WM_FULLSCREEN 0x4000
-#define WM_TRANSPARENT 0x8000
-
-#endif /* _TKMACWM */
-
-/*
- * Local Variables:
- * mode: objc
- * c-basic-offset: 4
- * fill-column: 79
- * coding: utf-8
- * End:
- */
diff --git a/tk8.6/macosx/tkMacOSXXCursors.h b/tk8.6/macosx/tkMacOSXXCursors.h
deleted file mode 100644
index 1363bee..0000000
--- a/tk8.6/macosx/tkMacOSXXCursors.h
+++ /dev/null
@@ -1,711 +0,0 @@
-/*
- * tkMacOSXXCursors.h --
- *
- * This file defines a set of Macintosh cursors that
- * emulate the X cursor set. All of these cursors were
- * constructed and donated by Grant Neufeld. (gneufeld@ccs.carleton.ca)
- *
- * Copyright (c) 1995-1996 Sun Microsystems, Inc.
- * Copyright 2008-2009, Apple Inc.
- * Copyright (c) 2008-2009 Daniel A. Steffen <das@users.sourceforge.net>
- *
- * See the file "license.terms" for information on usage and redistribution
- * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
- */
-
-static const unsigned char tkMacOSXXCursors[][68] = {
-
-#define TK_MAC_XCURSOR_X_cursor 0
-[TK_MAC_XCURSOR_X_cursor] = {
- 0xE0, 0x07, 0xF0, 0x0F, 0xF8, 0x1F, 0x7C, 0x3E, 0x3E, 0x7C, 0x1F, 0xF8, 0x0F, 0xF0, 0x07, 0xE0,
- 0x07, 0xE0, 0x0F, 0xF0, 0x1F, 0xF8, 0x3E, 0x7C, 0x7C, 0x3E, 0xF8, 0x1F, 0xF0, 0x0F, 0xE0, 0x07,
- 0xE0, 0x07, 0xF0, 0x0F, 0xF8, 0x1F, 0x7C, 0x3E, 0x3E, 0x7C, 0x1F, 0xF8, 0x0F, 0xF0, 0x07, 0xE0,
- 0x07, 0xE0, 0x0F, 0xF0, 0x1F, 0xF8, 0x3E, 0x7C, 0x7C, 0x3E, 0xF8, 0x1F, 0xF0, 0x0F, 0xE0, 0x07,
- 0x00, 0x07, 0x00, 0x07,
-},
-
-#define TK_MAC_XCURSOR_arrow 1
-[TK_MAC_XCURSOR_arrow] = {
- 0x00, 0x00, 0x00, 0x06, 0x00, 0x1E, 0x00, 0x7C, 0x01, 0xFC, 0x07, 0xF8, 0x00, 0xF8, 0x01, 0xF0,
- 0x03, 0xB0, 0x07, 0x20, 0x0E, 0x20, 0x1C, 0x00, 0x38, 0x00, 0x70, 0x00, 0x20, 0x00, 0x00, 0x00,
- 0x00, 0x07, 0x00, 0x1F, 0x00, 0x7F, 0x01, 0xFE, 0x07, 0xFE, 0x1F, 0xFC, 0x7F, 0xFC, 0x03, 0xF8,
- 0x07, 0xF8, 0x0F, 0xF0, 0x1F, 0x70, 0x3E, 0x60, 0x7C, 0x60, 0xF8, 0x40, 0x70, 0x40, 0x20, 0x00,
- 0x00, 0x01, 0x00, 0x0E,
-},
-
-#define TK_MAC_XCURSOR_based_arrow_down 2
-[TK_MAC_XCURSOR_based_arrow_down] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x00, 0x1F, 0xE0, 0x03, 0x00, 0x03, 0x00,
- 0x03, 0x00, 0x0B, 0x40, 0x07, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x00, 0x1F, 0xE0, 0x07, 0x80, 0x07, 0x80,
- 0x3F, 0xF0, 0x1F, 0xE0, 0x0F, 0xC0, 0x07, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x0B, 0x00, 0x06,
-},
-
-#define TK_MAC_XCURSOR_based_arrow_up 3
-[TK_MAC_XCURSOR_based_arrow_up] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x07, 0x80, 0x0B, 0x40, 0x03, 0x00,
- 0x03, 0x00, 0x03, 0x00, 0x1F, 0xE0, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x07, 0x80, 0x0F, 0xC0, 0x1F, 0xE0, 0x3F, 0xF0,
- 0x07, 0x80, 0x07, 0x80, 0x1F, 0xE0, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x04, 0x00, 0x06,
-},
-
-#define TK_MAC_XCURSOR_boat 4
-[TK_MAC_XCURSOR_boat] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x03, 0xC0, 0x84, 0x60, 0xFF, 0xFF,
- 0x00, 0x18, 0x00, 0x20, 0x00, 0x40, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x03, 0xC0, 0x87, 0xE0, 0xFF, 0xFF,
- 0xFF, 0xF8, 0xFF, 0xE0, 0xFF, 0xC0, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x07, 0x00, 0x0F,
-},
-
-#define TK_MAC_XCURSOR_bogosity 5
-[TK_MAC_XCURSOR_bogosity] = {
- 0x00, 0x00, 0x71, 0x1C, 0x11, 0x10, 0x11, 0x10, 0x11, 0x10, 0x7F, 0xFC, 0x51, 0x14, 0x51, 0x14,
- 0x51, 0x14, 0x51, 0x14, 0x7F, 0xFC, 0x11, 0x10, 0x11, 0x10, 0x11, 0x10, 0x71, 0x1C, 0x00, 0x00,
- 0x00, 0x00, 0x71, 0x1C, 0x11, 0x10, 0x11, 0x10, 0x11, 0x10, 0x7F, 0xFC, 0x7F, 0xFC, 0x7F, 0xFC,
- 0x7F, 0xFC, 0x7F, 0xFC, 0x7F, 0xFC, 0x11, 0x10, 0x11, 0x10, 0x11, 0x10, 0x71, 0x1C, 0x00, 0x00,
- 0x00, 0x01, 0x00, 0x07,
-},
-
-#define TK_MAC_XCURSOR_bottom_left_corner 6
-[TK_MAC_XCURSOR_bottom_left_corner] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0xC0, 0x20, 0xC8, 0x40, 0xC8, 0x80,
- 0xC9, 0x00, 0xCA, 0x00, 0xCC, 0x00, 0xCF, 0xC0, 0xC0, 0x00, 0xC0, 0x00, 0xFF, 0xF0, 0xFF, 0xF0,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0xC0, 0x20, 0xC8, 0x40, 0xC8, 0x80,
- 0xC9, 0x00, 0xCA, 0x00, 0xCC, 0x00, 0xCF, 0xC0, 0xC0, 0x00, 0xC0, 0x00, 0xFF, 0xF0, 0xFF, 0xF0,
- 0x00, 0x0F, 0x00, 0x00,
-},
-
-#define TK_MAC_XCURSOR_bottom_right_corner 7
-[TK_MAC_XCURSOR_bottom_right_corner] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x04, 0x03, 0x02, 0x13, 0x01, 0x13,
- 0x00, 0x93, 0x00, 0x53, 0x00, 0x33, 0x03, 0xF3, 0x00, 0x03, 0x00, 0x03, 0x0F, 0xFF, 0x0F, 0xFF,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x04, 0x03, 0x02, 0x13, 0x01, 0x13,
- 0x00, 0x93, 0x00, 0x53, 0x00, 0x33, 0x03, 0xF3, 0x00, 0x03, 0x00, 0x03, 0x0F, 0xFF, 0x0F, 0xFF,
- 0x00, 0x0F, 0x00, 0x0F,
-},
-
-#define TK_MAC_XCURSOR_bottom_side 8
-[TK_MAC_XCURSOR_bottom_side] = {
- 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x11, 0x10,
- 0x09, 0x20, 0x05, 0x40, 0x03, 0x80, 0x01, 0x00, 0x00, 0x00, 0x7F, 0xFC, 0x7F, 0xFC, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x11, 0x10,
- 0x09, 0x20, 0x05, 0x40, 0x03, 0x80, 0x01, 0x00, 0x00, 0x00, 0x7F, 0xFC, 0x7F, 0xFC, 0x00, 0x00,
- 0x00, 0x0B, 0x00, 0x07,
-},
-
-#define TK_MAC_XCURSOR_bottom_tee 9
-[TK_MAC_XCURSOR_bottom_tee] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80,
- 0x01, 0x80, 0x01, 0x80, 0x7F, 0xFE, 0x7F, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80,
- 0x01, 0x80, 0x01, 0x80, 0x7F, 0xFE, 0x7F, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x0B, 0x00, 0x07,
-},
-
-#define TK_MAC_XCURSOR_box_spiral 10
-[TK_MAC_XCURSOR_box_spiral] = {
- 0xFF, 0xFE, 0x80, 0x00, 0xBF, 0xFE, 0xA0, 0x02, 0xAF, 0xFA, 0xA8, 0x0A, 0xAB, 0xEA, 0xAA, 0x2A,
- 0xAA, 0xAA, 0xAB, 0xAA, 0xA8, 0x2A, 0xAF, 0xEA, 0xA0, 0x0A, 0xBF, 0xFA, 0x80, 0x02, 0xFF, 0xFE,
- 0xFF, 0xFE, 0x80, 0x00, 0xBF, 0xFE, 0xA0, 0x02, 0xAF, 0xFA, 0xA8, 0x0A, 0xAB, 0xEA, 0xAA, 0x2A,
- 0xAA, 0xAA, 0xAB, 0xAA, 0xA8, 0x2A, 0xAF, 0xEA, 0xA0, 0x0A, 0xBF, 0xFA, 0x80, 0x02, 0xFF, 0xFE,
- 0x00, 0x08, 0x00, 0x08,
-},
-
-#define TK_MAC_XCURSOR_center_ptr 11
-[TK_MAC_XCURSOR_center_ptr] = {
- 0x00, 0x00, 0x03, 0x00, 0x03, 0x00, 0x07, 0x80, 0x07, 0x80, 0x0F, 0xC0, 0x0F, 0xC0, 0x1F, 0xE0,
- 0x1F, 0xE0, 0x33, 0x30, 0x23, 0x10, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x00, 0x00,
- 0x03, 0x00, 0x07, 0x80, 0x07, 0x80, 0x0F, 0xC0, 0x0F, 0xC0, 0x1F, 0xE0, 0x1F, 0xE0, 0x3F, 0xF0,
- 0x3F, 0xF0, 0x7F, 0xF8, 0x77, 0xB8, 0x67, 0x98, 0x07, 0x80, 0x07, 0x80, 0x07, 0x80, 0x07, 0x80,
- 0x00, 0x01, 0x00, 0x06,
-},
-
-#define TK_MAC_XCURSOR_circle 12
-[TK_MAC_XCURSOR_circle] = {
- 0x00, 0x00, 0x03, 0xC0, 0x0F, 0xF0, 0x1F, 0xF8, 0x3C, 0x3C, 0x38, 0x1C, 0x70, 0x0E, 0x70, 0x0E,
- 0x70, 0x0E, 0x70, 0x0E, 0x38, 0x1C, 0x3C, 0x3C, 0x1F, 0xF8, 0x0F, 0xF0, 0x03, 0xC0, 0x00, 0x00,
- 0x03, 0xC0, 0x0F, 0xF0, 0x1F, 0xF8, 0x3F, 0xFC, 0x7F, 0xFE, 0x7C, 0x3E, 0xF8, 0x1F, 0xF8, 0x1F,
- 0xF8, 0x1F, 0xF8, 0x1F, 0x7C, 0x3E, 0x7F, 0xFE, 0x3F, 0xFC, 0x1F, 0xF8, 0x0F, 0xF0, 0x03, 0xC0,
- 0x00, 0x07, 0x00, 0x07,
-},
-
-#define TK_MAC_XCURSOR_clock 13
-[TK_MAC_XCURSOR_clock] = {
- 0x1F, 0xF8, 0x33, 0xCC, 0x64, 0x66, 0x49, 0x92, 0x4F, 0x12, 0x44, 0x22, 0x63, 0xC6, 0x3F, 0xFC,
- 0x29, 0x94, 0x29, 0x94, 0x29, 0x94, 0x2B, 0xD4, 0x69, 0x96, 0x78, 0x1E, 0x7F, 0xFE, 0x7F, 0xFE,
- 0x1F, 0xF8, 0x3F, 0xFC, 0x7F, 0xFE, 0x7F, 0xFE, 0x7F, 0xFE, 0x7F, 0xFE, 0x7F, 0xFE, 0x3F, 0xFC,
- 0x3F, 0xFC, 0x3F, 0xFC, 0x3F, 0xFC, 0x3F, 0xFC, 0x7F, 0xFE, 0x7F, 0xFE, 0x7F, 0xFE, 0x7F, 0xFE,
- 0x00, 0x04, 0x00, 0x08,
-},
-
-#define TK_MAC_XCURSOR_coffee_mug 14
-[TK_MAC_XCURSOR_coffee_mug] = {
- 0x03, 0xF8, 0x0C, 0x06, 0x10, 0x01, 0x1C, 0x07, 0x33, 0xF9, 0x70, 0x01, 0xD0, 0x01, 0x90, 0x01,
- 0x96, 0x0D, 0xDA, 0x55, 0x7A, 0x55, 0x36, 0xED, 0x10, 0xA1, 0x10, 0x01, 0x08, 0x02, 0x07, 0xFC,
- 0x03, 0xF8, 0x0F, 0xFE, 0x1F, 0xFF, 0x1F, 0xFF, 0x3F, 0xFF, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0xFF, 0x3F, 0xFF, 0x1F, 0xFF, 0x1F, 0xFF, 0x0F, 0xFE, 0x07, 0xFC,
- 0x00, 0x04, 0x00, 0x03,
-},
-
-#define TK_MAC_XCURSOR_cross 15
-[TK_MAC_XCURSOR_cross] = {
- 0x02, 0x80, 0x02, 0x80, 0x02, 0x80, 0x02, 0x80, 0x02, 0x80, 0x02, 0x80, 0xFE, 0xFE, 0x00, 0x00,
- 0xFE, 0xFE, 0x02, 0x80, 0x02, 0x80, 0x02, 0x80, 0x02, 0x80, 0x02, 0x80, 0x02, 0x80, 0x00, 0x00,
- 0x03, 0x80, 0x03, 0x80, 0x03, 0x80, 0x03, 0x80, 0x03, 0x80, 0x03, 0x80, 0xFF, 0xFE, 0xFF, 0xFE,
- 0xFF, 0xFE, 0x03, 0x80, 0x03, 0x80, 0x03, 0x80, 0x03, 0x80, 0x03, 0x80, 0x03, 0x80, 0x00, 0x00,
- 0x00, 0x07, 0x00, 0x07,
-},
-
-#define TK_MAC_XCURSOR_cross_reverse 16
-[TK_MAC_XCURSOR_cross_reverse] = {
- 0x42, 0x84, 0xA2, 0x8A, 0x52, 0x94, 0x2A, 0xA8, 0x16, 0xD0, 0x0A, 0xA0, 0xFD, 0x7E, 0x02, 0x80,
- 0xFD, 0x7E, 0x0A, 0xA0, 0x16, 0xD0, 0x2A, 0xA8, 0x52, 0x94, 0xA2, 0x8A, 0x42, 0x84, 0x00, 0x00,
- 0x43, 0x84, 0xE3, 0x8E, 0x73, 0x9C, 0x3B, 0xB8, 0x1F, 0xF0, 0x0F, 0xE0, 0xFF, 0xFE, 0xFF, 0xFE,
- 0xFF, 0xFE, 0x0F, 0xE0, 0x1F, 0xF0, 0x3B, 0xB8, 0x73, 0x9C, 0xE3, 0x8E, 0x43, 0x84, 0x00, 0x00,
- 0x00, 0x07, 0x00, 0x07,
-},
-
-#define TK_MAC_XCURSOR_crosshair 17
-[TK_MAC_XCURSOR_crosshair] = {
- 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0xFE, 0xFE,
- 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00,
- 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0xFE, 0xFE,
- 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00,
- 0x00, 0x07, 0x00, 0x07,
-},
-
-#define TK_MAC_XCURSOR_diamond_cross 18
-[TK_MAC_XCURSOR_diamond_cross] = {
- 0x02, 0x80, 0x06, 0xC0, 0x0A, 0xA0, 0x12, 0x90, 0x22, 0x88, 0x42, 0x84, 0xFE, 0xFE, 0x00, 0x00,
- 0xFE, 0xFE, 0x42, 0x84, 0x22, 0x88, 0x12, 0x90, 0x0A, 0xA0, 0x06, 0xC0, 0x02, 0x80, 0x00, 0x00,
- 0x02, 0x80, 0x06, 0xC0, 0x0E, 0xE0, 0x1E, 0xF0, 0x3E, 0xF8, 0x7E, 0xFC, 0xFE, 0xFE, 0x00, 0x00,
- 0xFE, 0xFE, 0x7E, 0xFC, 0x3E, 0xF8, 0x1E, 0xF0, 0x0E, 0xE0, 0x06, 0xC0, 0x02, 0x80, 0x00, 0x00,
- 0x00, 0x07, 0x00, 0x07,
-},
-
-#define TK_MAC_XCURSOR_dot 19
-[TK_MAC_XCURSOR_dot] = {
- 0x00, 0x00, 0x00, 0x00, 0x07, 0x80, 0x1F, 0xE0, 0x1F, 0xE0, 0x3F, 0xF0, 0x3F, 0xF0, 0x3F, 0xF0,
- 0x3F, 0xF0, 0x1F, 0xE0, 0x1F, 0xE0, 0x07, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x07, 0x80, 0x1F, 0xE0, 0x3F, 0xF0, 0x3F, 0xF0, 0x7F, 0xF8, 0x7F, 0xF8, 0x7F, 0xF8,
- 0x7F, 0xF8, 0x3F, 0xF0, 0x3F, 0xF0, 0x1F, 0xE0, 0x07, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x06, 0x00, 0x06,
-},
-
-#define TK_MAC_XCURSOR_dotbox 20
-[TK_MAC_XCURSOR_dotbox] = {
- 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFC, 0x20, 0x04, 0x20, 0x04, 0x20, 0x04, 0x20, 0x04, 0x21, 0x84,
- 0x21, 0x84, 0x20, 0x04, 0x20, 0x04, 0x20, 0x04, 0x20, 0x04, 0x3F, 0xFC, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFC, 0x3F, 0xFC, 0x30, 0x0C, 0x30, 0x0C, 0x31, 0x8C, 0x33, 0xCC,
- 0x33, 0xCC, 0x31, 0x8C, 0x30, 0x0C, 0x30, 0x0C, 0x3F, 0xFC, 0x3F, 0xFC, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x07, 0x00, 0x07,
-},
-
-#define TK_MAC_XCURSOR_double_arrow 21
-[TK_MAC_XCURSOR_double_arrow] = {
- 0x00, 0x00, 0x01, 0x80, 0x03, 0xC0, 0x07, 0xE0, 0x0D, 0xB0, 0x19, 0x98, 0x01, 0x80, 0x01, 0x80,
- 0x01, 0x80, 0x01, 0x80, 0x19, 0x98, 0x0D, 0xB0, 0x07, 0xE0, 0x03, 0xC0, 0x01, 0x80, 0x00, 0x00,
- 0x01, 0x80, 0x03, 0xC0, 0x07, 0xE0, 0x0F, 0xF0, 0x1F, 0xF8, 0x3F, 0xFC, 0x3B, 0xDC, 0x03, 0xC0,
- 0x03, 0xC0, 0x3B, 0xDC, 0x3F, 0xFC, 0x1F, 0xF8, 0x0F, 0xF0, 0x07, 0xE0, 0x03, 0xC0, 0x01, 0x80,
- 0x00, 0x07, 0x00, 0x07,
-},
-
-#define TK_MAC_XCURSOR_draft_large 22
-[TK_MAC_XCURSOR_draft_large] = {
- 0x00, 0x00, 0x00, 0x02, 0x00, 0x0C, 0x00, 0x3C, 0x00, 0xF8, 0x03, 0xF8, 0x0F, 0xF0, 0x00, 0xF0,
- 0x01, 0x60, 0x02, 0x60, 0x04, 0x40, 0x08, 0x40, 0x10, 0x00, 0x20, 0x00, 0x40, 0x00, 0x00, 0x00,
- 0x00, 0x03, 0x00, 0x0F, 0x00, 0x3E, 0x00, 0xFE, 0x03, 0xFC, 0x0F, 0xFC, 0x3F, 0xF8, 0xFF, 0xF8,
- 0x03, 0xF0, 0x07, 0xF0, 0x0E, 0xE0, 0x1C, 0xE0, 0x38, 0xC0, 0x70, 0xC0, 0xE0, 0x80, 0x40, 0x80,
- 0x00, 0x01, 0x00, 0x0E,
-},
-
-#define TK_MAC_XCURSOR_draft_small 23
-[TK_MAC_XCURSOR_draft_small] = {
- 0x00, 0x00, 0x00, 0x02, 0x00, 0x0C, 0x00, 0x3C, 0x00, 0xF8, 0x03, 0xF8, 0x00, 0x70, 0x00, 0xB0,
- 0x01, 0x20, 0x02, 0x20, 0x04, 0x00, 0x08, 0x00, 0x10, 0x00, 0x20, 0x00, 0x40, 0x00, 0x00, 0x00,
- 0x00, 0x03, 0x00, 0x0F, 0x00, 0x3E, 0x00, 0xFE, 0x03, 0xFC, 0x0F, 0xFC, 0x3F, 0xF8, 0x01, 0xF8,
- 0x03, 0xF0, 0x07, 0x70, 0x0E, 0x60, 0x1C, 0x60, 0x38, 0x40, 0x70, 0x40, 0xE0, 0x00, 0x40, 0x00,
- 0x00, 0x01, 0x00, 0x0E,
-},
-
-#define TK_MAC_XCURSOR_draped_box 24
-[TK_MAC_XCURSOR_draped_box] = {
- 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFC, 0x22, 0x44, 0x26, 0x64, 0x2C, 0x34, 0x38, 0x1C, 0x21, 0x84,
- 0x21, 0x84, 0x38, 0x1C, 0x2C, 0x34, 0x26, 0x64, 0x22, 0x44, 0x3F, 0xFC, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFC, 0x3E, 0x7C, 0x3E, 0x7C, 0x3C, 0x3C, 0x39, 0x9C, 0x23, 0xC4,
- 0x23, 0xC4, 0x39, 0x9C, 0x3C, 0x3C, 0x3E, 0x7C, 0x3E, 0x7C, 0x3F, 0xFC, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x07, 0x00, 0x07,
-},
-
-#define TK_MAC_XCURSOR_exchange 25
-[TK_MAC_XCURSOR_exchange] = {
- 0x00, 0x00, 0x47, 0xC0, 0x6F, 0xE0, 0x7C, 0x30, 0x48, 0x10, 0x4C, 0x00, 0x7E, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0xFC, 0x00, 0x64, 0x10, 0x24, 0x18, 0x7C, 0x0F, 0xEC, 0x07, 0xC4, 0x00, 0x00,
- 0xC7, 0xC0, 0xEF, 0xE0, 0xFF, 0xF0, 0xFF, 0xF8, 0xFC, 0x38, 0xFE, 0x10, 0xFF, 0x00, 0xFF, 0x80,
- 0x03, 0xFE, 0x01, 0xFE, 0x10, 0xFE, 0x38, 0x7E, 0x3F, 0xFE, 0x1F, 0xFE, 0x0F, 0xEE, 0x07, 0xC6,
- 0x00, 0x07, 0x00, 0x07,
-},
-
-#define TK_MAC_XCURSOR_fleur 26
-[TK_MAC_XCURSOR_fleur] = {
- 0x00, 0x00, 0x01, 0x80, 0x03, 0xC0, 0x07, 0xE0, 0x01, 0x80, 0x11, 0x88, 0x31, 0x8C, 0x7F, 0xFE,
- 0x7F, 0xFE, 0x31, 0x8C, 0x11, 0x88, 0x01, 0x80, 0x07, 0xE0, 0x03, 0xC0, 0x01, 0x80, 0x00, 0x00,
- 0x01, 0x80, 0x03, 0xC0, 0x07, 0xE0, 0x0F, 0xF0, 0x17, 0xE8, 0x3B, 0xDC, 0x7F, 0xFE, 0xFF, 0xFF,
- 0xFF, 0xFF, 0x7F, 0xFE, 0x3B, 0xDC, 0x17, 0xE8, 0x0F, 0xF0, 0x07, 0xE0, 0x03, 0xC0, 0x01, 0x80,
- 0x00, 0x07, 0x00, 0x07,
-},
-
-#define TK_MAC_XCURSOR_gobbler 27
-[TK_MAC_XCURSOR_gobbler] = {
- 0x00, 0x00, 0x00, 0x78, 0x00, 0x70, 0x40, 0x36, 0x4F, 0xB0, 0x7F, 0xF0, 0x7E, 0x30, 0x7C, 0x30,
- 0x30, 0x38, 0x00, 0xF0, 0x0F, 0xE0, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x0F, 0x00, 0x00, 0x00,
- 0x00, 0xFC, 0x00, 0xFC, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0xFF, 0xF8, 0xFF, 0xF8,
- 0xFF, 0xFC, 0x7F, 0xFC, 0x3F, 0xF8, 0x1F, 0xF0, 0x0E, 0x00, 0x1F, 0x80, 0x1F, 0x80, 0x1F, 0x80,
- 0x00, 0x03, 0x00, 0x0E,
-},
-
-#define TK_MAC_XCURSOR_gumby 28
-[TK_MAC_XCURSOR_gumby] = {
- 0x3F, 0x00, 0x10, 0xC0, 0xC8, 0x20, 0xEA, 0xA0, 0xC8, 0x20, 0xCB, 0xA0, 0xF8, 0x38, 0x38, 0x3E,
- 0x08, 0x26, 0x08, 0x26, 0x09, 0x2E, 0x09, 0x26, 0x09, 0x20, 0x11, 0x10, 0x21, 0x08, 0x3E, 0xF8,
- 0x3F, 0x00, 0x1F, 0xC0, 0xCF, 0xE0, 0xEF, 0xE0, 0xCF, 0xE0, 0xCF, 0xE0, 0xFF, 0xF8, 0x3F, 0xFE,
- 0x0F, 0xE6, 0x0F, 0xE6, 0x0F, 0xEE, 0x0F, 0xE6, 0x0F, 0xE0, 0x1F, 0xF0, 0x3F, 0xF8, 0x3E, 0xF8,
- 0x00, 0x00, 0x00, 0x02,
-},
-
-#define TK_MAC_XCURSOR_hand1 29
-[TK_MAC_XCURSOR_hand1] = {
- 0x00, 0x0C, 0x00, 0x3C, 0x00, 0xF0, 0x01, 0xE0, 0x03, 0xC0, 0x07, 0xE0, 0x0F, 0xF0, 0x2F, 0xE0,
- 0x7F, 0xF0, 0x5F, 0xF0, 0x07, 0xE0, 0x07, 0xC0, 0x4A, 0x00, 0x62, 0x00, 0x34, 0x00, 0x18, 0x00,
- 0x00, 0x0C, 0x00, 0x3C, 0x00, 0xF0, 0x01, 0xE0, 0x03, 0xC0, 0x07, 0xE0, 0x0F, 0xF0, 0x2F, 0xE0,
- 0x7F, 0xF0, 0x7F, 0xF0, 0x7F, 0xE0, 0x7F, 0xC0, 0x7E, 0x00, 0x7E, 0x00, 0x3C, 0x00, 0x18, 0x00,
- 0x00, 0x00, 0x00, 0x0D,
-},
-
-#define TK_MAC_XCURSOR_hand2 30
-[TK_MAC_XCURSOR_hand2] = {
- 0x00, 0x00, 0x3F, 0xC0, 0x40, 0x20, 0x3F, 0x10, 0x08, 0x08, 0x07, 0x08, 0x08, 0x08, 0x07, 0x14,
- 0x08, 0x22, 0x06, 0x41, 0x01, 0x82, 0x01, 0x24, 0x00, 0x88, 0x00, 0x50, 0x00, 0x20, 0x00, 0x00,
- 0x00, 0x00, 0x3F, 0xC0, 0x7F, 0xE0, 0x3F, 0xF0, 0x0F, 0xF8, 0x07, 0xF8, 0x0F, 0xF8, 0x07, 0xFC,
- 0x0F, 0xFE, 0x07, 0xFF, 0x01, 0xFE, 0x01, 0xFC, 0x00, 0xF8, 0x00, 0x70, 0x00, 0x20, 0x00, 0x00,
- 0x00, 0x02, 0x00, 0x01,
-},
-
-#define TK_MAC_XCURSOR_heart 31
-[TK_MAC_XCURSOR_heart] = {
- 0x00, 0x00, 0x3E, 0xF8, 0x63, 0x8C, 0xC1, 0x06, 0x80, 0x02, 0x80, 0x02, 0x80, 0x02, 0x80, 0x02,
- 0xC0, 0x06, 0x60, 0x0C, 0x30, 0x18, 0x18, 0x30, 0x0C, 0x60, 0x06, 0xC0, 0x03, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x3E, 0xF8, 0x7F, 0xFC, 0xFF, 0xFE, 0xFF, 0xFE, 0xFF, 0xFE, 0xFF, 0xFE, 0xFF, 0xFE,
- 0xFF, 0xFE, 0x7F, 0xFC, 0x3F, 0xF8, 0x1F, 0xF0, 0x0F, 0xE0, 0x07, 0xC0, 0x03, 0x80, 0x00, 0x00,
- 0x00, 0x03, 0x00, 0x07,
-},
-
-#define TK_MAC_XCURSOR_icon 32
-[TK_MAC_XCURSOR_icon] = {
- 0xFF, 0xFF, 0xD5, 0x55, 0xAA, 0xAB, 0xD5, 0x55, 0xA0, 0x0B, 0xD0, 0x05, 0xA0, 0x0B, 0xD0, 0x05,
- 0xA0, 0x0B, 0xD0, 0x05, 0xA0, 0x0B, 0xD0, 0x05, 0xAA, 0xAB, 0xD5, 0x55, 0xAA, 0xAB, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F,
- 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0x00, 0x07, 0x00, 0x07,
-},
-
-#define TK_MAC_XCURSOR_iron_cross 33
-[TK_MAC_XCURSOR_iron_cross] = {
- 0x00, 0x00, 0x3F, 0xFC, 0x1F, 0xF8, 0x4F, 0xF2, 0x67, 0xE6, 0x73, 0xCE, 0x79, 0x9E, 0x7F, 0xFE,
- 0x7F, 0xFE, 0x79, 0x9E, 0x73, 0xCE, 0x67, 0xE6, 0x4F, 0xF2, 0x1F, 0xF8, 0x3F, 0xFC, 0x00, 0x00,
- 0x7F, 0xFE, 0x7F, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0xFE, 0x7F, 0xFE,
- 0x00, 0x07, 0x00, 0x06,
-},
-
-#define TK_MAC_XCURSOR_left_ptr 34
-[TK_MAC_XCURSOR_left_ptr] = {
- 0x00, 0x00, 0x08, 0x00, 0x0C, 0x00, 0x0E, 0x00, 0x0F, 0x00, 0x0F, 0x80, 0x0F, 0xC0, 0x0F, 0xE0,
- 0x0F, 0xF0, 0x0F, 0x80, 0x0D, 0x80, 0x08, 0xC0, 0x00, 0xC0, 0x00, 0x60, 0x00, 0x60, 0x00, 0x00,
- 0x18, 0x00, 0x1C, 0x00, 0x1E, 0x00, 0x1F, 0x00, 0x1F, 0x80, 0x1F, 0xC0, 0x1F, 0xE0, 0x1F, 0xF0,
- 0x1F, 0xF8, 0x1F, 0xFC, 0x1F, 0xC0, 0x1D, 0xE0, 0x19, 0xE0, 0x10, 0xF0, 0x00, 0xF0, 0x00, 0x70,
- 0x00, 0x01, 0x00, 0x04,
-},
-
-#define TK_MAC_XCURSOR_left_side 35
-[TK_MAC_XCURSOR_left_side] = {
- 0x00, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x80, 0x61, 0x00, 0x62, 0x00, 0x64, 0x00, 0x6F, 0xFC,
- 0x64, 0x00, 0x62, 0x00, 0x61, 0x00, 0x60, 0x80, 0x60, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x80, 0x61, 0x00, 0x62, 0x00, 0x64, 0x00, 0x6F, 0xFC,
- 0x64, 0x00, 0x62, 0x00, 0x61, 0x00, 0x60, 0x80, 0x60, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x07, 0x00, 0x04,
-},
-
-#define TK_MAC_XCURSOR_left_tee 36
-[TK_MAC_XCURSOR_left_tee] = {
- 0x00, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x0F, 0xF8,
- 0x0F, 0xF8, 0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x0F, 0xF8,
- 0x0F, 0xF8, 0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x00, 0x00,
- 0x00, 0x07, 0x00, 0x04,
-},
-
-#define TK_MAC_XCURSOR_leftbutton 37
-[TK_MAC_XCURSOR_leftbutton] = {
- 0x80, 0x02, 0x7F, 0xFC, 0x7F, 0xFC, 0x44, 0x44, 0x45, 0x54, 0x45, 0x54, 0x45, 0x54, 0x45, 0x54,
- 0x44, 0x44, 0x7F, 0xFC, 0x7F, 0xFC, 0x7F, 0xFC, 0x7F, 0xFC, 0x7F, 0xFC, 0x7F, 0xFC, 0x80, 0x02,
- 0xFF, 0xFE, 0xFF, 0xFE, 0xFF, 0xFE, 0xFF, 0xFE, 0xFF, 0xFE, 0xFF, 0xFE, 0xFF, 0xFE, 0xFF, 0xFE,
- 0xFF, 0xFE, 0xFF, 0xFE, 0xFF, 0xFE, 0xFF, 0xFE, 0xFF, 0xFE, 0xFF, 0xFE, 0xFF, 0xFE, 0xFF, 0xFE,
- 0x00, 0x04, 0x00, 0x03,
-},
-
-#define TK_MAC_XCURSOR_ll_angle 38
-[TK_MAC_XCURSOR_ll_angle] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00,
- 0x0C, 0x00, 0x0C, 0x00, 0x0F, 0xF8, 0x0F, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00,
- 0x0C, 0x00, 0x0C, 0x00, 0x0F, 0xF8, 0x0F, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x0B, 0x00, 0x04,
-},
-
-#define TK_MAC_XCURSOR_lr_angle 39
-[TK_MAC_XCURSOR_lr_angle] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30,
- 0x00, 0x30, 0x00, 0x30, 0x1F, 0xF0, 0x1F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30,
- 0x00, 0x30, 0x00, 0x30, 0x1F, 0xF0, 0x1F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x0B, 0x00, 0x0B,
-},
-
-#define TK_MAC_XCURSOR_man 40
-[TK_MAC_XCURSOR_man] = {
- 0x03, 0x80, 0x1E, 0xF0, 0x02, 0x80, 0x81, 0x00, 0x43, 0x87, 0x24, 0x4B, 0x1D, 0x70, 0x05, 0x40,
- 0x04, 0x40, 0x02, 0x80, 0x04, 0x40, 0x09, 0x20, 0x12, 0x90, 0x14, 0x50, 0x78, 0x3C, 0xF8, 0x3F,
- 0x03, 0x80, 0x1F, 0xF0, 0x03, 0x80, 0x81, 0x00, 0x43, 0x87, 0x27, 0xCB, 0x1F, 0xF0, 0x07, 0xC0,
- 0x07, 0xC0, 0x03, 0x80, 0x07, 0xC0, 0x0F, 0xE0, 0x1E, 0xF0, 0x1C, 0x70, 0x78, 0x3C, 0xF8, 0x3F,
- 0x00, 0x01, 0x00, 0x07,
-},
-
-#define TK_MAC_XCURSOR_middlebutton 41
-[TK_MAC_XCURSOR_middlebutton] = {
- 0x80, 0x02, 0x7F, 0xFC, 0x7F, 0xFC, 0x44, 0x44, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54,
- 0x44, 0x44, 0x7F, 0xFC, 0x7F, 0xFC, 0x7F, 0xFC, 0x7F, 0xFC, 0x7F, 0xFC, 0x7F, 0xFC, 0x80, 0x02,
- 0xFF, 0xFE, 0xFF, 0xFE, 0xFF, 0xFE, 0xFF, 0xFE, 0xFF, 0xFE, 0xFF, 0xFE, 0xFF, 0xFE, 0xFF, 0xFE,
- 0xFF, 0xFE, 0xFF, 0xFE, 0xFF, 0xFE, 0xFF, 0xFE, 0xFF, 0xFE, 0xFF, 0xFE, 0xFF, 0xFE, 0xFF, 0xFE,
- 0x00, 0x04, 0x00, 0x07,
-},
-
-#define TK_MAC_XCURSOR_mouse 42
-[TK_MAC_XCURSOR_mouse] = {
- 0x06, 0x00, 0x01, 0x00, 0x01, 0x80, 0x0F, 0xF0, 0x10, 0x08, 0x17, 0xE8, 0x14, 0x28, 0x14, 0x28,
- 0x17, 0xE8, 0x10, 0x08, 0x10, 0x08, 0x10, 0x08, 0x10, 0x08, 0x10, 0x08, 0x10, 0x08, 0x0F, 0xF0,
- 0x06, 0x00, 0x01, 0x00, 0x01, 0x80, 0x0F, 0xF0, 0x1F, 0xF8, 0x1F, 0xF8, 0x1F, 0xF8, 0x1F, 0xF8,
- 0x1F, 0xF8, 0x1F, 0xF8, 0x1F, 0xF8, 0x1F, 0xF8, 0x1F, 0xF8, 0x1F, 0xF8, 0x1F, 0xF8, 0x0F, 0xF0,
- 0x00, 0x00, 0x00, 0x00,
-},
-
-#define TK_MAC_XCURSOR_pencil 43
-[TK_MAC_XCURSOR_pencil] = {
- 0x00, 0x00, 0x00, 0xF0, 0x00, 0x88, 0x01, 0x08, 0x01, 0x90, 0x02, 0x70, 0x02, 0x20, 0x04, 0x40,
- 0x04, 0x40, 0x08, 0x80, 0x08, 0x80, 0x11, 0x00, 0x1E, 0x00, 0x1C, 0x00, 0x18, 0x00, 0x10, 0x00,
- 0x00, 0x00, 0x00, 0xF0, 0x00, 0xF8, 0x01, 0xF8, 0x01, 0xF0, 0x03, 0xF0, 0x03, 0xE0, 0x07, 0xC0,
- 0x07, 0xC0, 0x0F, 0x80, 0x0F, 0x80, 0x1F, 0x00, 0x1E, 0x00, 0x1C, 0x00, 0x18, 0x00, 0x10, 0x00,
- 0x00, 0x0F, 0x00, 0x03,
-},
-
-#define TK_MAC_XCURSOR_pirate 44
-[TK_MAC_XCURSOR_pirate] = {
- 0x03, 0xC0, 0x07, 0xE0, 0x0F, 0xF0, 0x19, 0x98, 0x19, 0x98, 0x0F, 0xF0, 0x07, 0xE0, 0x03, 0xC0,
- 0x43, 0xC2, 0x43, 0xC3, 0x21, 0x84, 0x1C, 0x38, 0x03, 0xC0, 0x0F, 0xF1, 0x78, 0x1F, 0x40, 0x02,
- 0x07, 0xE0, 0x0F, 0xF0, 0x1F, 0xF8, 0x3F, 0xFC, 0x3F, 0xFC, 0x1F, 0xF8, 0x0F, 0xF0, 0x47, 0xE2,
- 0xE7, 0xE7, 0xE7, 0xE7, 0x7F, 0xFF, 0x3F, 0xFC, 0x1F, 0xF9, 0x7F, 0xFF, 0xFF, 0xFF, 0xF8, 0x1F,
- 0x00, 0x0A, 0x00, 0x07,
-},
-
-#define TK_MAC_XCURSOR_plus 45
-[TK_MAC_XCURSOR_plus] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x1F, 0xF8,
- 0x1F, 0xF8, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x1F, 0xF8,
- 0x1F, 0xF8, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x07, 0x00, 0x07,
-},
-
-#define TK_MAC_XCURSOR_question_arrow 46
-[TK_MAC_XCURSOR_question_arrow] = {
- 0x07, 0xC0, 0x0F, 0xE0, 0x1C, 0x70, 0x18, 0x30, 0x1C, 0x30, 0x0C, 0x70, 0x00, 0xE0, 0x03, 0xC0,
- 0x03, 0x80, 0x02, 0x80, 0x02, 0x80, 0x0E, 0xE0, 0x06, 0xC0, 0x03, 0x80, 0x01, 0x00, 0x00, 0x00,
- 0x07, 0xC0, 0x0F, 0xE0, 0x1C, 0x70, 0x18, 0x30, 0x1C, 0x30, 0x0C, 0x70, 0x00, 0xE0, 0x03, 0xC0,
- 0x03, 0x80, 0x02, 0x80, 0x3F, 0xF8, 0x1F, 0xF0, 0x0F, 0xE0, 0x07, 0xC0, 0x03, 0x80, 0x01, 0x00,
- 0x00, 0x0E, 0x00, 0x07,
-},
-
-#define TK_MAC_XCURSOR_right_ptr 47
-[TK_MAC_XCURSOR_right_ptr] = {
- 0x00, 0x00, 0x00, 0x10, 0x00, 0x30, 0x00, 0x70, 0x00, 0xF0, 0x01, 0xF0, 0x03, 0xF0, 0x07, 0xF0,
- 0x0F, 0xF0, 0x01, 0xF0, 0x01, 0xB0, 0x03, 0x10, 0x03, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x00,
- 0x00, 0x18, 0x00, 0x38, 0x00, 0x78, 0x00, 0xF8, 0x01, 0xF8, 0x03, 0xF8, 0x07, 0xF8, 0x0F, 0xF8,
- 0x1F, 0xF8, 0x3F, 0xF8, 0x03, 0xF8, 0x07, 0xB8, 0x07, 0x98, 0x0F, 0x08, 0x0F, 0x00, 0x0E, 0x00,
- 0x00, 0x01, 0x00, 0x0B,
-},
-
-#define TK_MAC_XCURSOR_right_side 48
-[TK_MAC_XCURSOR_right_side] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x01, 0x06, 0x00, 0x86, 0x00, 0x46, 0x00, 0x26,
- 0x3F, 0xF6, 0x00, 0x26, 0x00, 0x46, 0x00, 0x86, 0x01, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x01, 0x06, 0x00, 0x86, 0x00, 0x46, 0x00, 0x26,
- 0x3F, 0xF6, 0x00, 0x26, 0x00, 0x46, 0x00, 0x86, 0x01, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00,
- 0x00, 0x08, 0x00, 0x0B,
-},
-
-#define TK_MAC_XCURSOR_right_tee 49
-[TK_MAC_XCURSOR_right_tee] = {
- 0x00, 0x00, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x1F, 0xF0,
- 0x1F, 0xF0, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x1F, 0xF0,
- 0x1F, 0xF0, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x00,
- 0x00, 0x07, 0x00, 0x0A,
-},
-
-#define TK_MAC_XCURSOR_rightbutton 50
-[TK_MAC_XCURSOR_rightbutton] = {
- 0x80, 0x02, 0x7F, 0xFC, 0x7F, 0xFC, 0x44, 0x44, 0x55, 0x44, 0x55, 0x44, 0x55, 0x44, 0x55, 0x44,
- 0x44, 0x44, 0x7F, 0xFC, 0x7F, 0xFC, 0x7F, 0xFC, 0x7F, 0xFC, 0x7F, 0xFC, 0x7F, 0xFC, 0x80, 0x02,
- 0xFF, 0xFE, 0xFF, 0xFE, 0xFF, 0xFE, 0xFF, 0xFE, 0xFF, 0xFE, 0xFF, 0xFE, 0xFF, 0xFE, 0xFF, 0xFE,
- 0xFF, 0xFE, 0xFF, 0xFE, 0xFF, 0xFE, 0xFF, 0xFE, 0xFF, 0xFE, 0xFF, 0xFE, 0xFF, 0xFE, 0xFF, 0xFE,
- 0x00, 0x04, 0x00, 0x03,
-},
-
-#define TK_MAC_XCURSOR_rtl_logo 51
-[TK_MAC_XCURSOR_rtl_logo] = {
- 0x00, 0x00, 0x7F, 0xFE, 0x40, 0x22, 0x40, 0x22, 0x40, 0x22, 0x7F, 0xE2, 0x44, 0x22, 0x44, 0x22,
- 0x44, 0x22, 0x44, 0x22, 0x47, 0xFE, 0x44, 0x02, 0x44, 0x02, 0x44, 0x02, 0x7F, 0xFE, 0x00, 0x00,
- 0x00, 0x00, 0x7F, 0xFE, 0x7F, 0xFE, 0x60, 0x76, 0x7F, 0xF6, 0x7F, 0xF6, 0x7C, 0x36, 0x6C, 0x36,
- 0x6C, 0x36, 0x6C, 0x3E, 0x6F, 0xFE, 0x6F, 0xFE, 0x6E, 0x06, 0x7F, 0xFE, 0x7F, 0xFE, 0x00, 0x00,
- 0x00, 0x07, 0x00, 0x07,
-},
-
-#define TK_MAC_XCURSOR_sailboat 52
-[TK_MAC_XCURSOR_sailboat] = {
- 0x00, 0x00, 0x00, 0x40, 0x00, 0x40, 0x01, 0x60, 0x01, 0x60, 0x03, 0x60, 0x03, 0x70, 0x07, 0x70,
- 0x07, 0x70, 0x0F, 0x78, 0x0F, 0x78, 0x1F, 0x78, 0x1F, 0x7C, 0x3E, 0x38, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x40, 0x00, 0xE0, 0x01, 0xE0, 0x03, 0xF0, 0x03, 0xF0, 0x07, 0xF0, 0x07, 0xF8, 0x0F, 0xF8,
- 0x0F, 0xF8, 0x1F, 0xFC, 0x1F, 0xFC, 0x3F, 0xFC, 0x3F, 0xFE, 0x7F, 0x7C, 0x7E, 0x38, 0x00, 0x00,
- 0x00, 0x0C, 0x00, 0x08,
-},
-
-#define TK_MAC_XCURSOR_sb_down_arrow 53
-[TK_MAC_XCURSOR_sb_down_arrow] = {
- 0x02, 0x80, 0x02, 0x80, 0x02, 0x80, 0x02, 0x80, 0x02, 0x80, 0x02, 0x80, 0x02, 0x80, 0x02, 0x80,
- 0x02, 0x80, 0x02, 0x80, 0x02, 0x80, 0x0F, 0xE0, 0x07, 0xC0, 0x03, 0x80, 0x01, 0x00, 0x00, 0x00,
- 0x03, 0x80, 0x03, 0x80, 0x03, 0x80, 0x03, 0x80, 0x03, 0x80, 0x03, 0x80, 0x03, 0x80, 0x03, 0x80,
- 0x03, 0x80, 0x03, 0x80, 0x03, 0x80, 0x1F, 0xF0, 0x0F, 0xE0, 0x07, 0xC0, 0x03, 0x80, 0x01, 0x00,
- 0x00, 0x0E, 0x00, 0x07,
-},
-
-#define TK_MAC_XCURSOR_sb_h_double_arrow 54
-[TK_MAC_XCURSOR_sb_h_double_arrow] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x10, 0x18, 0x18, 0x3F, 0xFC, 0x78, 0x1E,
- 0x3F, 0xFC, 0x18, 0x18, 0x08, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x10, 0x18, 0x18, 0x38, 0x1C, 0x7F, 0xFE, 0xFF, 0xFF,
- 0x7F, 0xFE, 0x38, 0x1C, 0x18, 0x18, 0x08, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x07, 0x00, 0x07,
-},
-
-#define TK_MAC_XCURSOR_sb_left_arrow 55
-[TK_MAC_XCURSOR_sb_left_arrow] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x18, 0x00, 0x3F, 0xFF, 0x78, 0x00,
- 0x3F, 0xFF, 0x18, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x18, 0x00, 0x38, 0x00, 0x7F, 0xFF, 0xFF, 0xFF,
- 0x7F, 0xFF, 0x38, 0x00, 0x18, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x07, 0x00, 0x01,
-},
-
-#define TK_MAC_XCURSOR_sb_right_arrow 56
-[TK_MAC_XCURSOR_sb_right_arrow] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x18, 0xFF, 0xFC,
- 0x00, 0x1E, 0xFF, 0xFC, 0x00, 0x18, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x18, 0x00, 0x1C, 0xFF, 0xFE,
- 0xFF, 0xFF, 0xFF, 0xFE, 0x00, 0x1C, 0x00, 0x18, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x08, 0x00, 0x0E,
-},
-
-#define TK_MAC_XCURSOR_sb_up_arrow 57
-[TK_MAC_XCURSOR_sb_up_arrow] = {
- 0x00, 0x00, 0x00, 0x80, 0x01, 0xC0, 0x03, 0xE0, 0x07, 0xF0, 0x01, 0x40, 0x01, 0x40, 0x01, 0x40,
- 0x01, 0x40, 0x01, 0x40, 0x01, 0x40, 0x01, 0x40, 0x01, 0x40, 0x01, 0x40, 0x01, 0x40, 0x01, 0x40,
- 0x00, 0x80, 0x01, 0xC0, 0x03, 0xE0, 0x07, 0xF0, 0x0F, 0xF8, 0x01, 0xC0, 0x01, 0xC0, 0x01, 0xC0,
- 0x01, 0xC0, 0x01, 0xC0, 0x01, 0xC0, 0x01, 0xC0, 0x01, 0xC0, 0x01, 0xC0, 0x01, 0xC0, 0x01, 0xC0,
- 0x00, 0x01, 0x00, 0x08,
-},
-
-#define TK_MAC_XCURSOR_sb_v_double_arrow 58
-[TK_MAC_XCURSOR_sb_v_double_arrow] = {
- 0x00, 0x00, 0x01, 0x00, 0x03, 0x80, 0x07, 0xC0, 0x0F, 0xE0, 0x02, 0x80, 0x02, 0x80, 0x02, 0x80,
- 0x02, 0x80, 0x02, 0x80, 0x02, 0x80, 0x0F, 0xE0, 0x07, 0xC0, 0x03, 0x80, 0x01, 0x00, 0x00, 0x00,
- 0x01, 0x00, 0x03, 0x80, 0x07, 0xC0, 0x0F, 0xE0, 0x1F, 0xF0, 0x03, 0x80, 0x03, 0x80, 0x03, 0x80,
- 0x03, 0x80, 0x03, 0x80, 0x03, 0x80, 0x1F, 0xF0, 0x0F, 0xE0, 0x07, 0xC0, 0x03, 0x80, 0x01, 0x00,
- 0x00, 0x07, 0x00, 0x07,
-},
-
-#define TK_MAC_XCURSOR_shuttle 59
-[TK_MAC_XCURSOR_shuttle] = {
- 0x00, 0x20, 0x00, 0x70, 0x00, 0xF8, 0x01, 0xDE, 0x05, 0xDE, 0x09, 0xDE, 0x11, 0xDE, 0x11, 0xDE,
- 0x11, 0xDE, 0x11, 0xDE, 0x31, 0xDE, 0x71, 0xDE, 0xFD, 0xDE, 0x18, 0x88, 0x00, 0x78, 0x00, 0x30,
- 0x00, 0x20, 0x00, 0x70, 0x00, 0xF8, 0x01, 0xFE, 0x07, 0xFE, 0x0F, 0xFE, 0x1F, 0xFE, 0x1F, 0xFE,
- 0x1F, 0xFE, 0x1F, 0xFE, 0x3F, 0xFE, 0x7F, 0xFE, 0xFF, 0xFE, 0x18, 0xF8, 0x00, 0x78, 0x00, 0x30,
- 0x00, 0x00, 0x00, 0x0A,
-},
-
-#define TK_MAC_XCURSOR_sizing 60
-[TK_MAC_XCURSOR_sizing] = {
- 0x00, 0x00, 0x7F, 0x80, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x47, 0xE0, 0x44, 0x20, 0x44, 0x22,
- 0x44, 0x22, 0x04, 0x22, 0x07, 0xE2, 0x00, 0x12, 0x00, 0x0A, 0x00, 0x06, 0x01, 0xFE, 0x00, 0x00,
- 0xFF, 0xC0, 0xFF, 0xC0, 0xFF, 0xC0, 0xE0, 0x00, 0xEF, 0xF0, 0xEF, 0xF0, 0xEC, 0x37, 0xEC, 0x37,
- 0xEC, 0x37, 0xEC, 0x37, 0x0F, 0xF7, 0x0F, 0xFF, 0x00, 0x1F, 0x03, 0xFF, 0x03, 0xFF, 0x03, 0xFF,
- 0x00, 0x0E, 0x00, 0x0E,
-},
-
-#define TK_MAC_XCURSOR_spider 61
-[TK_MAC_XCURSOR_spider] = {
- 0x20, 0x10, 0x10, 0x20, 0x10, 0x20, 0x08, 0x40, 0x08, 0x40, 0x87, 0x87, 0x67, 0x98, 0x1F, 0xE0,
- 0x1F, 0xE0, 0x67, 0x98, 0x87, 0x87, 0x08, 0x40, 0x08, 0x40, 0x10, 0x20, 0x10, 0x20, 0x20, 0x10,
- 0x70, 0x38, 0x38, 0x70, 0x38, 0x70, 0x1C, 0xE0, 0x9F, 0xE7, 0xEF, 0xDF, 0xFF, 0xFF, 0x7F, 0xF8,
- 0x7F, 0xF8, 0xFF, 0xFF, 0xEF, 0xDF, 0x9F, 0xE7, 0x1C, 0xE0, 0x38, 0x70, 0x38, 0x70, 0x70, 0x38,
- 0x00, 0x07, 0x00, 0x07,
-},
-
-#define TK_MAC_XCURSOR_spraycan 62
-[TK_MAC_XCURSOR_spraycan] = {
- 0x00, 0x18, 0x00, 0x40, 0x0D, 0x18, 0x1E, 0x40, 0x1A, 0x18, 0x3F, 0x00, 0x21, 0x00, 0x39, 0x00,
- 0x29, 0x00, 0x39, 0x00, 0x29, 0x00, 0x39, 0x00, 0x39, 0x00, 0x21, 0x00, 0x21, 0x00, 0x3F, 0x00,
- 0x00, 0x18, 0x00, 0x40, 0x0D, 0x18, 0x1E, 0x40, 0x1E, 0x18, 0x3F, 0x00, 0x3F, 0x00, 0x3F, 0x00,
- 0x3F, 0x00, 0x3F, 0x00, 0x3F, 0x00, 0x3F, 0x00, 0x3F, 0x00, 0x3F, 0x00, 0x3F, 0x00, 0x3F, 0x00,
- 0x00, 0x02, 0x00, 0x07,
-},
-
-#define TK_MAC_XCURSOR_star 63
-[TK_MAC_XCURSOR_star] = {
- 0x01, 0x00, 0x02, 0x80, 0x02, 0x80, 0x02, 0x80, 0x04, 0x40, 0x04, 0x40, 0x04, 0x40, 0x39, 0x38,
- 0xC0, 0x06, 0x38, 0x38, 0x09, 0x20, 0x12, 0x90, 0x24, 0x48, 0x28, 0x28, 0x30, 0x18, 0x20, 0x08,
- 0x01, 0x00, 0x03, 0x80, 0x03, 0x80, 0x03, 0x80, 0x07, 0xC0, 0x07, 0xC0, 0x07, 0xC0, 0x3F, 0xF8,
- 0xFF, 0xFE, 0x3F, 0xF8, 0x0F, 0xE0, 0x1E, 0xF0, 0x3C, 0x78, 0x38, 0x38, 0x30, 0x18, 0x20, 0x08,
- 0x00, 0x07, 0x00, 0x07,
-},
-
-#define TK_MAC_XCURSOR_target 64
-[TK_MAC_XCURSOR_target] = {
- 0x00, 0x00, 0x03, 0x80, 0x0F, 0xE0, 0x1C, 0x70, 0x30, 0x18, 0x60, 0x0C, 0xC1, 0x06, 0xC2, 0x86,
- 0xC1, 0x06, 0x60, 0x0C, 0x30, 0x18, 0x1C, 0x70, 0x0F, 0xE0, 0x03, 0x80, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x03, 0x80, 0x0F, 0xE0, 0x1F, 0xF0, 0x3C, 0x78, 0x70, 0x1C, 0xE3, 0x8E, 0xE3, 0x8E,
- 0xE3, 0x8E, 0x70, 0x1C, 0x3C, 0x78, 0x1F, 0xF0, 0x0F, 0xE0, 0x03, 0x80, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x07, 0x00, 0x07,
-},
-
-#define TK_MAC_XCURSOR_tcross 65
-[TK_MAC_XCURSOR_tcross] = {
- 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0xFF, 0xFE,
- 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00,
- 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0xFF, 0xFE,
- 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00,
- 0x00, 0x07, 0x00, 0x07,
-},
-
-#define TK_MAC_XCURSOR_top_left_arrow 66
-[TK_MAC_XCURSOR_top_left_arrow] = {
- 0x00, 0x00, 0x60, 0x00, 0x78, 0x00, 0x3E, 0x00, 0x3F, 0x80, 0x1F, 0xE0, 0x1E, 0x00, 0x0D, 0x00,
- 0x0C, 0x80, 0x04, 0x40, 0x04, 0x20, 0x00, 0x10, 0x00, 0x08, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
- 0xE0, 0x00, 0xF8, 0x00, 0xFE, 0x00, 0x7F, 0x80, 0x7F, 0xE0, 0x3F, 0xF8, 0x3F, 0xFE, 0x1F, 0x80,
- 0x1F, 0xC0, 0x0E, 0xE0, 0x0E, 0x70, 0x06, 0x38, 0x06, 0x1C, 0x02, 0x0E, 0x02, 0x04, 0x00, 0x00,
- 0x00, 0x01, 0x00, 0x01,
-},
-
-#define TK_MAC_XCURSOR_top_left_corner 67
-[TK_MAC_XCURSOR_top_left_corner] = {
- 0xFF, 0xF0, 0xFF, 0xF0, 0xC0, 0x00, 0xC0, 0x00, 0xCF, 0xC0, 0xCC, 0x00, 0xCA, 0x00, 0xC9, 0x00,
- 0xC8, 0x80, 0xC8, 0x40, 0xC0, 0x20, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0xFF, 0xF0, 0xFF, 0xF0, 0xC0, 0x00, 0xC0, 0x00, 0xCF, 0xC0, 0xCC, 0x00, 0xCA, 0x00, 0xC9, 0x00,
- 0xC8, 0x80, 0xC8, 0x40, 0xC0, 0x20, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00,
-},
-
-#define TK_MAC_XCURSOR_top_right_corner 68
-[TK_MAC_XCURSOR_top_right_corner] = {
- 0x0F, 0xFF, 0x0F, 0xFF, 0x00, 0x03, 0x00, 0x03, 0x03, 0xF3, 0x00, 0x33, 0x00, 0x53, 0x00, 0x93,
- 0x01, 0x13, 0x02, 0x13, 0x04, 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x0F, 0xFF, 0x0F, 0xFF, 0x00, 0x03, 0x00, 0x03, 0x03, 0xF3, 0x00, 0x33, 0x00, 0x53, 0x00, 0x93,
- 0x01, 0x13, 0x02, 0x13, 0x04, 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x0F,
-},
-
-#define TK_MAC_XCURSOR_top_side 69
-[TK_MAC_XCURSOR_top_side] = {
- 0x00, 0x00, 0x7F, 0xFC, 0x7F, 0xFC, 0x00, 0x00, 0x01, 0x00, 0x03, 0x80, 0x05, 0x40, 0x09, 0x20,
- 0x11, 0x10, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x7F, 0xFC, 0x7F, 0xFC, 0x00, 0x00, 0x01, 0x00, 0x03, 0x80, 0x05, 0x40, 0x09, 0x20,
- 0x11, 0x10, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x04, 0x00, 0x07,
-},
-
-#define TK_MAC_XCURSOR_top_tee 70
-[TK_MAC_XCURSOR_top_tee] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFE, 0x7F, 0xFE, 0x01, 0x80, 0x01, 0x80,
- 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFE, 0x7F, 0xFE, 0x01, 0x80, 0x01, 0x80,
- 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x04, 0x00, 0x07,
-},
-
-#define TK_MAC_XCURSOR_trek 71
-[TK_MAC_XCURSOR_trek] = {
- 0x01, 0x00, 0x00, 0x00, 0x03, 0x80, 0x07, 0xC0, 0x0F, 0xE0, 0x0E, 0xE0, 0x0F, 0xE0, 0x07, 0xC0,
- 0x03, 0x80, 0x01, 0x00, 0x0B, 0xA0, 0x0D, 0x60, 0x09, 0x20, 0x08, 0x20, 0x08, 0x20, 0x00, 0x00,
- 0x01, 0x00, 0x03, 0x80, 0x07, 0xC0, 0x0F, 0xE0, 0x1F, 0xF0, 0x1F, 0xF0, 0x1F, 0xF0, 0x0F, 0xE0,
- 0x07, 0xC0, 0x0B, 0xA0, 0x1F, 0xF0, 0x1F, 0xF0, 0x1F, 0xF0, 0x1D, 0x70, 0x1C, 0x70, 0x08, 0x20,
- 0x00, 0x00, 0x00, 0x07,
-},
-
-#define TK_MAC_XCURSOR_ul_angle 72
-[TK_MAC_XCURSOR_ul_angle] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xF8, 0x0F, 0xF8, 0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00,
- 0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xF8, 0x0F, 0xF8, 0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00,
- 0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x03, 0x00, 0x04,
-},
-
-#define TK_MAC_XCURSOR_umbrella 73
-[TK_MAC_XCURSOR_umbrella] = {
- 0x00, 0x00, 0x08, 0x90, 0x02, 0x28, 0x49, 0xA6, 0x27, 0xC8, 0x19, 0x30, 0x61, 0x0C, 0x01, 0x00,
- 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x40, 0x01, 0x40, 0x00, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x0F, 0xF0, 0x1F, 0xF8, 0x7F, 0xFE, 0x7F, 0xFC, 0xFF, 0xFE, 0xFB, 0xBE, 0xE3, 0x8E,
- 0x03, 0x80, 0x03, 0x80, 0x03, 0x80, 0x03, 0xC0, 0x03, 0xE0, 0x03, 0xE0, 0x01, 0xC0, 0x00, 0x80,
- 0x00, 0x04, 0x00, 0x07,
-},
-
-#define TK_MAC_XCURSOR_ur_angle 74
-[TK_MAC_XCURSOR_ur_angle] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xF0, 0x1F, 0xF0, 0x00, 0x30, 0x00, 0x30,
- 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xF0, 0x1F, 0xF0, 0x00, 0x30, 0x00, 0x30,
- 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x04, 0x00, 0x0B,
-},
-
-#define TK_MAC_XCURSOR_watch 75
-[TK_MAC_XCURSOR_watch] = {
- 0x07, 0xE0, 0x07, 0xE0, 0x07, 0xE0, 0x07, 0xE0, 0x08, 0x10, 0x10, 0x88, 0x10, 0x88, 0x10, 0x8C,
- 0x13, 0x8C, 0x10, 0x08, 0x10, 0x08, 0x08, 0x10, 0x07, 0xE0, 0x07, 0xE0, 0x07, 0xE0, 0x07, 0xE0,
- 0x07, 0xE0, 0x07, 0xE0, 0x07, 0xE0, 0x07, 0xE0, 0x0F, 0xF0, 0x1F, 0xF8, 0x1F, 0xF8, 0x1F, 0xFC,
- 0x1F, 0xFC, 0x1F, 0xF8, 0x1F, 0xF8, 0x0F, 0xF0, 0x07, 0xE0, 0x07, 0xE0, 0x07, 0xE0, 0x07, 0xE0,
- 0x00, 0x08, 0x00, 0x0D,
-},
-
-#define TK_MAC_XCURSOR_xterm 76
-[TK_MAC_XCURSOR_xterm] = {
- 0x0C, 0x60, 0x02, 0x80, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00,
- 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x80, 0x0C, 0x60,
- 0x0C, 0x60, 0x02, 0x80, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00,
- 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x80, 0x0C, 0x60,
- 0x00, 0x0B, 0x00, 0x07,
-},
-
-};
diff --git a/tk8.6/macosx/tkMacOSXXStubs.c b/tk8.6/macosx/tkMacOSXXStubs.c
deleted file mode 100644
index cc98e84..0000000
--- a/tk8.6/macosx/tkMacOSXXStubs.c
+++ /dev/null
@@ -1,981 +0,0 @@
-/*
- * tkMacOSXXStubs.c --
- *
- * This file contains most of the X calls called by Tk. Many of these
- * calls are just stubs and either don't make sense on the Macintosh or
- * their implementation just doesn't do anything. Other calls will
- * eventually be moved into other files.
- *
- * Copyright (c) 1995-1997 Sun Microsystems, Inc.
- * Copyright 2001-2009, Apple Inc.
- * Copyright (c) 2005-2009 Daniel A. Steffen <das@users.sourceforge.net>
- * Copyright 2014 Marc Culler.
- *
- * See the file "license.terms" for information on usage and redistribution
- * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
- */
-
-#include "tkMacOSXPrivate.h"
-#include "tkMacOSXEvent.h"
-
-#include <IOKit/IOKitLib.h>
-#include <IOKit/hidsystem/IOHIDShared.h>
-
-/*
- * Because this file is still under major development Debugger statements are
- * used through out this file. The define TCL_DEBUG will decide whether the
- * debugger statements actually call the debugger or not.
- */
-
-#ifndef TCL_DEBUG
-# define Debugger()
-#endif
-
-#define ROOT_ID 10
-
-CGFloat tkMacOSXZeroScreenHeight = 0;
-CGFloat tkMacOSXZeroScreenTop = 0;
-
-/*
- * Declarations of static variables used in this file.
- */
-
-/* The unique Macintosh display. */
-static TkDisplay *gMacDisplay = NULL;
-/* The default name of the Macintosh display. */
-static const char *macScreenName = ":0";
-/* Timestamp showing the last reset of the inactivity timer. */
-static Time lastInactivityReset = 0;
-
-
-/*
- * Forward declarations of procedures used in this file.
- */
-
-static XID MacXIdAlloc(Display *display);
-static int DefaultErrorHandler(Display *display,
- XErrorEvent *err_evt);
-
-
-/*
- *----------------------------------------------------------------------
- *
- * TkMacOSXDisplayChanged --
- *
- * Called to set up initial screen info or when an event indicated
- * display (screen) change.
- *
- * Results:
- * None.
- *
- * Side effects:
- * May change info regarding the screen.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkMacOSXDisplayChanged(
- Display *display)
-{
- Screen *screen;
- NSArray *nsScreens;
-
-
- if (display == NULL || display->screens == NULL) {
- return;
- }
- screen = display->screens;
-
- nsScreens = [NSScreen screens];
- if (nsScreens && [nsScreens count]) {
- NSScreen *s = [nsScreens objectAtIndex:0];
- NSRect bounds = [s frame], visible = [s visibleFrame];
- NSRect maxBounds = NSZeroRect;
-
- tkMacOSXZeroScreenHeight = bounds.size.height;
- tkMacOSXZeroScreenTop = tkMacOSXZeroScreenHeight -
- (visible.origin.y + visible.size.height);
-
- screen->root_depth = NSBitsPerPixelFromDepth([s depth]);
- screen->width = bounds.size.width;
- screen->height = bounds.size.height;
- screen->mwidth = (bounds.size.width * 254 + 360) / 720;
- screen->mheight = (bounds.size.height * 254 + 360) / 720;
-
- for (s in nsScreens) {
- maxBounds = NSUnionRect(maxBounds, [s visibleFrame]);
- }
- *((NSRect *)screen->ext_data) = maxBounds;
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpOpenDisplay --
- *
- * Create the Display structure and fill it with device specific
- * information.
- *
- * Results:
- * Returns a Display structure on success or NULL on failure.
- *
- * Side effects:
- * Allocates a new Display structure.
- *
- *----------------------------------------------------------------------
- */
-
-TkDisplay *
-TkpOpenDisplay(
- const char *display_name)
-{
- Display *display;
- Screen *screen;
- int fd = 0;
- static NSRect maxBounds = {{0, 0}, {0, 0}};
- static char vendor[25] = "";
- NSArray *cgVers;
- NSAutoreleasePool *pool = [NSAutoreleasePool new];
-
- if (gMacDisplay != NULL) {
- if (strcmp(gMacDisplay->display->display_name, display_name) == 0) {
- return gMacDisplay;
- } else {
- return NULL;
- }
- }
-
- display = ckalloc(sizeof(Display));
- screen = ckalloc(sizeof(Screen));
- bzero(display, sizeof(Display));
- bzero(screen, sizeof(Screen));
-
- display->resource_alloc = MacXIdAlloc;
- display->request = 0;
- display->qlen = 0;
- display->fd = fd;
- display->screens = screen;
- display->nscreens = 1;
- display->default_screen = 0;
- display->display_name = (char *) macScreenName;
-
- cgVers = [[[NSBundle bundleWithIdentifier:@"com.apple.CoreGraphics"]
- objectForInfoDictionaryKey:@"CFBundleShortVersionString"]
- componentsSeparatedByString:@"."];
- if ([cgVers count] >= 2) {
- display->proto_major_version = [[cgVers objectAtIndex:1] integerValue];
- }
- if ([cgVers count] >= 3) {
- display->proto_minor_version = [[cgVers objectAtIndex:2] integerValue];
- }
- if (!vendor[0]) {
- snprintf(vendor, sizeof(vendor), "Apple AppKit %g",
- NSAppKitVersionNumber);
- }
- display->vendor = vendor;
- {
- int major, minor, patch;
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED < 101000
- Gestalt(gestaltSystemVersionMajor, (SInt32*)&major);
- Gestalt(gestaltSystemVersionMinor, (SInt32*)&minor);
- Gestalt(gestaltSystemVersionBugFix, (SInt32*)&patch);
-#else
- NSOperatingSystemVersion systemVersion = [[NSProcessInfo processInfo] operatingSystemVersion];
- major = systemVersion.majorVersion;
- minor = systemVersion.minorVersion;
- patch = systemVersion.patchVersion;
-#endif
- display->release = major << 16 | minor << 8 | patch;
- }
-
- /*
- * These screen bits never change
- */
- screen->root = ROOT_ID;
- screen->display = display;
- screen->black_pixel = 0x00000000 | PIXEL_MAGIC << 24;
- screen->white_pixel = 0x00FFFFFF | PIXEL_MAGIC << 24;
- screen->ext_data = (XExtData *) &maxBounds;
-
- screen->root_visual = ckalloc(sizeof(Visual));
- screen->root_visual->visualid = 0;
- screen->root_visual->class = TrueColor;
- screen->root_visual->red_mask = 0x00FF0000;
- screen->root_visual->green_mask = 0x0000FF00;
- screen->root_visual->blue_mask = 0x000000FF;
- screen->root_visual->bits_per_rgb = 24;
- screen->root_visual->map_entries = 256;
-
- /*
- * Initialize screen bits that may change
- */
-
- TkMacOSXDisplayChanged(display);
-
- gMacDisplay = ckalloc(sizeof(TkDisplay));
-
- /*
- * This is the quickest way to make sure that all the *Init flags get
- * properly initialized
- */
-
- bzero(gMacDisplay, sizeof(TkDisplay));
- gMacDisplay->display = display;
- [pool drain];
- return gMacDisplay;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkpCloseDisplay --
- *
- * Deallocates a display structure created by TkpOpenDisplay.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Frees memory.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkpCloseDisplay(
- TkDisplay *displayPtr)
-{
- Display *display = displayPtr->display;
-
- if (gMacDisplay != displayPtr) {
- Tcl_Panic("TkpCloseDisplay: tried to call TkpCloseDisplay on bad display");
- }
-
- gMacDisplay = NULL;
- if (display->screens != NULL) {
- if (display->screens->root_visual != NULL) {
- ckfree(display->screens->root_visual);
- }
- ckfree(display->screens);
- }
- ckfree(display);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkClipCleanup --
- *
- * This procedure is called to cleanup resources associated with claiming
- * clipboard ownership and for receiving selection get results. This
- * function is called in tkWindow.c. This has to be called by the display
- * cleanup function because we still need the access display elements.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Resources are freed - the clipboard may no longer be used.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkClipCleanup(
- TkDisplay *dispPtr) /* display associated with clipboard */
-{
- /*
- * Make sure that the local scrap is transfered to the global scrap if
- * needed.
- */
-
- [NSApp tkProvidePasteboard:dispPtr];
-
- if (dispPtr->clipWindow != NULL) {
- Tk_DeleteSelHandler(dispPtr->clipWindow, dispPtr->clipboardAtom,
- dispPtr->applicationAtom);
- Tk_DeleteSelHandler(dispPtr->clipWindow, dispPtr->clipboardAtom,
- dispPtr->windowAtom);
-
- Tk_DestroyWindow(dispPtr->clipWindow);
- Tcl_Release(dispPtr->clipWindow);
- dispPtr->clipWindow = NULL;
- }
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * MacXIdAlloc --
- *
- * This procedure is invoked by Xlib as the resource allocator for a
- * display.
- *
- * Results:
- * The return value is an X resource identifier that isn't currently in
- * use.
- *
- * Side effects:
- * The identifier is removed from the stack of free identifiers, if it
- * was previously on the stack.
- *
- *----------------------------------------------------------------------
- */
-
-static XID
-MacXIdAlloc(
- Display *display) /* Display for which to allocate. */
-{
- static long int cur_id = 100;
- /*
- * Some special XIds are reserved
- * - this is why we start at 100
- */
-
- return ++cur_id;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * DefaultErrorHandler --
- *
- * This procedure is the default X error handler. Tk uses it's own error
- * handler so this call should never be called.
- *
- * Results:
- * None.
- *
- * Side effects:
- * This function will call panic and exit.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-DefaultErrorHandler(
- Display* display,
- XErrorEvent* err_evt)
-{
- /*
- * This call should never be called. Tk replaces it with its own error
- * handler.
- */
-
- Tcl_Panic("Warning hit bogus error handler!");
- return 0;
-}
-
-char *
-XGetAtomName(
- Display * display,
- Atom atom)
-{
- display->request++;
- return NULL;
-}
-
-XErrorHandler
-XSetErrorHandler(
- XErrorHandler handler)
-{
- return DefaultErrorHandler;
-}
-
-Window
-XRootWindow(
- Display *display,
- int screen_number)
-{
- display->request++;
- return ROOT_ID;
-}
-
-int
-XGetGeometry(
- Display *display,
- Drawable d,
- Window *root_return,
- int *x_return,
- int *y_return,
- unsigned int *width_return,
- unsigned int *height_return,
- unsigned int *border_width_return,
- unsigned int *depth_return)
-{
- TkWindow *winPtr = ((MacDrawable *) d)->winPtr;
-
- display->request++;
- *root_return = ROOT_ID;
- if (winPtr) {
- *x_return = Tk_X(winPtr);
- *y_return = Tk_Y(winPtr);
- *width_return = Tk_Width(winPtr);
- *height_return = Tk_Height(winPtr);
- *border_width_return = winPtr->changes.border_width;
- *depth_return = Tk_Depth(winPtr);
- } else {
- CGSize size = ((MacDrawable *) d)->size;
- *x_return = 0;
- *y_return = 0;
- *width_return = size.width;
- *height_return = size.height;
- *border_width_return = 0;
- *depth_return = 32;
- }
- return 1;
-}
-
-void
-XChangeProperty(
- Display* display,
- Window w,
- Atom property,
- Atom type,
- int format,
- int mode,
- _Xconst unsigned char* data,
- int nelements)
-{
- Debugger();
-}
-
-void
-XSelectInput(
- Display* display,
- Window w,
- long event_mask)
-{
- Debugger();
-}
-
-int
-XBell(
- Display* display,
- int percent)
-{
- NSBeep();
- return Success;
-}
-
-#if 0
-void
-XSetWMNormalHints(
- Display* display,
- Window w,
- XSizeHints* hints)
-{
- /*
- * Do nothing. Shouldn't even be called.
- */
-}
-
-XSizeHints *
-XAllocSizeHints(void)
-{
- /*
- * Always return NULL. Tk code checks to see if NULL is returned & does
- * nothing if it is.
- */
-
- return NULL;
-}
-#endif
-
-GContext
-XGContextFromGC(
- GC gc)
-{
- /*
- * TODO: currently a no-op
- */
-
- return 0;
-}
-
-Status
-XSendEvent(
- Display* display,
- Window w,
- Bool propagate,
- long event_mask,
- XEvent* event_send)
-{
- Debugger();
- return 0;
-}
-
-void
-XClearWindow(
- Display* display,
- Window w)
-{
-}
-
-/*
-int
-XDrawPoint(
- Display* display,
- Drawable d,
- GC gc,
- int x,
- int y)
-{
-}
-
-int
-XDrawPoints(
- Display* display,
- Drawable d,
- GC gc,
- XPoint* points,
- int npoints,
- int mode)
-{
-}
-*/
-
-int
-XWarpPointer(
- Display* display,
- Window src_w,
- Window dest_w,
- int src_x,
- int src_y,
- unsigned int src_width,
- unsigned int src_height,
- int dest_x,
- int dest_y)
-{
- return Success;
-}
-
-void
-XQueryColor(
- Display* display,
- Colormap colormap,
- XColor* def_in_out)
-{
- unsigned long p;
- unsigned char r, g, b;
- XColor *d = def_in_out;
-
- p = d->pixel;
- r = (p & 0x00FF0000) >> 16;
- g = (p & 0x0000FF00) >> 8;
- b = (p & 0x000000FF);
- d->red = (r << 8) | r;
- d->green = (g << 8) | g;
- d->blue = (b << 8) | b;
- d->flags = DoRed|DoGreen|DoBlue;
- d->pad = 0;
-}
-
-void
-XQueryColors(
- Display* display,
- Colormap colormap,
- XColor* defs_in_out,
- int ncolors)
-{
- int i;
- unsigned long p;
- unsigned char r, g, b;
- XColor *d = defs_in_out;
-
- for (i = 0; i < ncolors; i++, d++) {
- p = d->pixel;
- r = (p & 0x00FF0000) >> 16;
- g = (p & 0x0000FF00) >> 8;
- b = (p & 0x000000FF);
- d->red = (r << 8) | r;
- d->green = (g << 8) | g;
- d->blue = (b << 8) | b;
- d->flags = DoRed|DoGreen|DoBlue;
- d->pad = 0;
- }
-}
-
-int
-XQueryTree(display, w, root_return, parent_return, children_return,
- nchildren_return)
- Display* display;
- Window w;
- Window* root_return;
- Window* parent_return;
- Window** children_return;
- unsigned int* nchildren_return;
-{
- return 0;
-}
-
-
-int
-XGetWindowProperty(
- Display *display,
- Window w,
- Atom property,
- long long_offset,
- long long_length,
- Bool delete,
- Atom req_type,
- Atom *actual_type_return,
- int *actual_format_return,
- unsigned long *nitems_return,
- unsigned long *bytes_after_return,
- unsigned char ** prop_return)
-{
- display->request++;
- *actual_type_return = None;
- *actual_format_return = *bytes_after_return = 0;
- *nitems_return = 0;
- return 0;
-}
-
-void
-XRefreshKeyboardMapping(
- XMappingEvent *x)
-{
- /* used by tkXEvent.c */
- Debugger();
-}
-
-void
-XSetIconName(
- Display* display,
- Window w,
- const char *icon_name)
-{
- /*
- * This is a no-op, no icon name for Macs.
- */
- display->request++;
-}
-
-void
-XForceScreenSaver(
- Display* display,
- int mode)
-{
- /*
- * This function is just a no-op. It is defined to reset the screen saver.
- * However, there is no real way to do this on a Mac. Let me know if there
- * is!
- */
-
- display->request++;
-}
-
-void
-Tk_FreeXId(
- Display *display,
- XID xid)
-{
- /* no-op function needed for stubs implementation. */
-}
-
-int
-XSync(
- Display *display,
- Bool flag)
-{
- TkMacOSXFlushWindows();
- display->request++;
- return 0;
-}
-
-#if 0
-int
-XSetClipRectangles(
- Display *d,
- GC gc,
- int clip_x_origin,
- int clip_y_origin,
- XRectangle* rectangles,
- int n,
- int ordering)
-{
- TkRegion clipRgn = TkCreateRegion();
-
- while (n--) {
- XRectangle rect = *rectangles;
-
- rect.x += clip_x_origin;
- rect.y += clip_y_origin;
- TkUnionRectWithRegion(&rect, clipRgn, clipRgn);
- rectangles++;
- }
- TkSetRegion(d, gc, clipRgn);
- TkDestroyRegion(clipRgn);
- return 1;
-}
-#endif
-
-/*
- *----------------------------------------------------------------------
- *
- * TkGetServerInfo --
- *
- * Given a window, this procedure returns information about the window
- * server for that window. This procedure provides the guts of the "winfo
- * server" command.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TkGetServerInfo(
- Tcl_Interp *interp, /* The server information is returned in this
- * interpreter's result. */
- Tk_Window tkwin) /* Token for window; this selects a particular
- * display and server. */
-{
- char buffer[5 + TCL_INTEGER_SPACE * 2];
- char buffer2[11 + TCL_INTEGER_SPACE];
-
- snprintf(buffer, sizeof(buffer), "CG%d.%d ",
- ProtocolVersion(Tk_Display(tkwin)),
- ProtocolRevision(Tk_Display(tkwin)));
- snprintf(buffer2, sizeof(buffer2), " Mac OS X %x",
- VendorRelease(Tk_Display(tkwin)));
- Tcl_AppendResult(interp, buffer, ServerVendor(Tk_Display(tkwin)),
- buffer2, NULL);
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * XChangeWindowAttributes, XSetWindowBackground,
- * XSetWindowBackgroundPixmap, XSetWindowBorder, XSetWindowBorderPixmap,
- * XSetWindowBorderWidth, XSetWindowColormap
- *
- * These functions are all no-ops. They all have equivalent Tk calls that
- * should always be used instead.
- *
- * Results:
- * None.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-void
-XChangeWindowAttributes(
- Display *display,
- Window w,
- unsigned long value_mask,
- XSetWindowAttributes *attributes)
-{
-}
-
-void
-XSetWindowBackground(
- Display *display,
- Window window,
- unsigned long value)
-{
-}
-
-void
-XSetWindowBackgroundPixmap(
- Display *display,
- Window w,
- Pixmap background_pixmap)
-{
-}
-
-void
-XSetWindowBorder(
- Display *display,
- Window w,
- unsigned long border_pixel)
-{
-}
-
-void
-XSetWindowBorderPixmap(
- Display *display,
- Window w,
- Pixmap border_pixmap)
-{
-}
-
-void
-XSetWindowBorderWidth(
- Display *display,
- Window w,
- unsigned int width)
-{
-}
-
-void
-XSetWindowColormap(
- Display *display,
- Window w,
- Colormap colormap)
-{
- Debugger();
-}
-
-Status
-XStringListToTextProperty(
- char **list,
- int count,
- XTextProperty *text_prop_return)
-{
- Debugger();
- return (Status) 0;
-}
-
-void
-XSetWMClientMachine(
- Display *display,
- Window w,
- XTextProperty *text_prop)
-{
- Debugger();
-}
-
-XIC
-XCreateIC(void)
-{
- Debugger();
- return (XIC) 0;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * TkGetDefaultScreenName --
- *
- * Returns the name of the screen that Tk should use during
- * initialization.
- *
- * Results:
- * Returns a statically allocated string.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-const char *
-TkGetDefaultScreenName(
- Tcl_Interp *interp, /* Not used. */
- const char *screenName) /* If NULL, use default string. */
-{
- if ((screenName == NULL) || (screenName[0] == '\0')) {
- screenName = macScreenName;
- }
- return screenName;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * Tk_GetUserInactiveTime --
- *
- * Return the number of milliseconds the user was inactive.
- *
- * Results:
- * The number of milliseconds the user has been inactive, or -1 if
- * querying the inactive time is not supported.
- *
- * Side effects:
- * None.
- *----------------------------------------------------------------------
- */
-
-long
-Tk_GetUserInactiveTime(
- Display *dpy)
-{
- io_registry_entry_t regEntry;
- CFMutableDictionaryRef props = NULL;
- CFTypeRef timeObj;
- long ret = -1l;
- uint64_t time;
- IOReturn result;
-
- regEntry = IOServiceGetMatchingService(kIOMasterPortDefault,
- IOServiceMatching("IOHIDSystem"));
-
- if (regEntry == 0) {
- return -1l;
- }
-
- result = IORegistryEntryCreateCFProperties(regEntry, &props,
- kCFAllocatorDefault, 0);
- IOObjectRelease(regEntry);
-
- if (result != KERN_SUCCESS || props == NULL) {
- return -1l;
- }
-
- timeObj = CFDictionaryGetValue(props, CFSTR("HIDIdleTime"));
-
- if (timeObj) {
- CFNumberGetValue((CFNumberRef)timeObj,
- kCFNumberSInt64Type, &time);
- /* Convert nanoseconds to milliseconds. */
- ret = (long) (time/kMillisecondScale);
- }
- /* Cleanup */
- CFRelease(props);
-
- /*
- * If the idle time reported by the system is larger than the elapsed
- * time since the last reset, return the elapsed time.
- */
- long elapsed = (long)(TkpGetMS() - lastInactivityReset);
- if (ret > elapsed) {
- ret = elapsed;
- }
-
- return ret;
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * Tk_ResetUserInactiveTime --
- *
- * Reset the user inactivity timer
- *
- * Results:
- * none
- *
- * Side effects:
- * The user inactivity timer of the underlaying windowing system is reset
- * to zero.
- *
- *----------------------------------------------------------------------
- */
-
-void
-Tk_ResetUserInactiveTime(
- Display *dpy)
-{
- lastInactivityReset = TkpGetMS();
-}
-
-/*
- * Local Variables:
- * mode: objc
- * c-basic-offset: 4
- * fill-column: 79
- * coding: utf-8
- * End:
- */
diff --git a/tk8.6/macosx/ttkMacOSXTheme.c b/tk8.6/macosx/ttkMacOSXTheme.c
deleted file mode 100644
index f9611c5..0000000
--- a/tk8.6/macosx/ttkMacOSXTheme.c
+++ /dev/null
@@ -1,1207 +0,0 @@
-/*
- * ttkMacOSXTheme.c --
- *
- * Tk theme engine for Mac OSX, using the Appearance Manager API.
- *
- * Copyright (c) 2004 Joe English
- * Copyright (c) 2005 Neil Madden
- * Copyright (c) 2006-2009 Daniel A. Steffen <das@users.sourceforge.net>
- * Copyright 2008-2009, Apple Inc.
- * Copyright 2009 Kevin Walzer/WordTech Communications LLC.
- *
- * See the file "license.terms" for information on usage and redistribution
- * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
- *
- * See also:
- *
- * <URL: http://developer.apple.com/documentation/Carbon/Reference/
- * Appearance_Manager/appearance_manager/APIIndex.html >
- *
- * Notes:
- * "Active" means different things in Mac and Tk terminology --
- * On Aqua, widgets are "Active" if they belong to the foreground window,
- * "Inactive" if they are in a background window.
- * Tk uses the term "active" to mean that the mouse cursor
- * is over a widget; aka "hover", "prelight", or "hot-tracked".
- * Aqua doesn't use this kind of feedback.
- *
- * The QuickDraw/Carbon coordinate system is relative to the
- * top-level window, not to the Tk_Window. BoxToRect()
- * accounts for this.
- */
-
-#include "tkMacOSXPrivate.h"
-#include "ttk/ttkTheme.h"
-
-/*
- * Use this version in the core:
- */
-#define BEGIN_DRAWING(d) { \
- TkMacOSXDrawingContext dc; \
- if (!TkMacOSXSetupDrawingContext((d), NULL, 1, &dc)) {return;}
-#define END_DRAWING \
- TkMacOSXRestoreDrawingContext(&dc); }
-
-#define HIOrientation kHIThemeOrientationNormal
-
-#ifdef __LP64__
-#define RangeToFactor(maximum) (((double) (INT_MAX >> 1)) / (maximum))
-#else
-#define RangeToFactor(maximum) (((double) (LONG_MAX >> 1)) / (maximum))
-#endif /* __LP64__ */
-
-/*----------------------------------------------------------------------
- * +++ Utilities.
- */
-
-/*
- * BoxToRect --
- * Convert a Ttk_Box in Tk coordinates relative to the given Drawable
- * to a native Rect relative to the containing port.
- */
-static inline CGRect BoxToRect(Drawable d, Ttk_Box b)
-{
- MacDrawable *md = (MacDrawable*)d;
- CGRect rect;
-
- rect.origin.y = b.y + md->yOff;
- rect.origin.x = b.x + md->xOff;
- rect.size.height = b.height;
- rect.size.width = b.width;
-
- return rect;
-}
-
-/*
- * Table mapping Tk states to Appearance manager ThemeStates
- */
-
-static Ttk_StateTable ThemeStateTable[] = {
- {kThemeStateUnavailable, TTK_STATE_DISABLED, 0},
- {kThemeStatePressed, TTK_STATE_PRESSED, 0},
- {kThemeStateInactive, TTK_STATE_BACKGROUND, 0},
- {kThemeStateActive, 0, 0}
-/* Others: Not sure what these are supposed to mean.
- Up/Down have something to do with "little arrow" increment controls...
- Dunno what a "Rollover" is.
- NEM: Rollover is TTK_STATE_ACTIVE... but we don't handle that yet, by the
- looks of things
- {kThemeStateRollover, 0, 0},
- {kThemeStateUnavailableInactive, 0, 0}
- {kThemeStatePressedUp, 0, 0},
- {kThemeStatePressedDown, 0, 0}
-*/
-};
-
-/*----------------------------------------------------------------------
- * +++ Button element: Used for elements drawn with DrawThemeButton.
- */
-
-/*
- * Extra margins to account for drop shadow.
- */
-static Ttk_Padding ButtonMargins = {2,2,2,2};
-
-#define NoThemeMetric 0xFFFFFFFF
-
-typedef struct {
- ThemeButtonKind kind;
- ThemeMetric heightMetric;
-} ThemeButtonParams;
-
-static ThemeButtonParams
- PushButtonParams = { kThemePushButton, kThemeMetricPushButtonHeight },
- CheckBoxParams = { kThemeCheckBox, kThemeMetricCheckBoxHeight },
- RadioButtonParams = { kThemeRadioButton, kThemeMetricRadioButtonHeight },
- BevelButtonParams = { kThemeBevelButton, NoThemeMetric },
- PopupButtonParams = { kThemePopupButton, kThemeMetricPopupButtonHeight },
- DisclosureParams = { kThemeDisclosureButton, kThemeMetricDisclosureTriangleHeight },
- ListHeaderParams = { kThemeListHeaderButton, kThemeMetricListHeaderHeight };
-
-static Ttk_StateTable ButtonValueTable[] = {
- { kThemeButtonMixed, TTK_STATE_ALTERNATE, 0 },
- { kThemeButtonOn, TTK_STATE_SELECTED, 0 },
- { kThemeButtonOff, 0, 0 }
-/* Others: kThemeDisclosureRight, kThemeDisclosureDown, kThemeDisclosureLeft */
-};
-
-static Ttk_StateTable ButtonAdornmentTable[] = {
- { kThemeAdornmentDefault| kThemeAdornmentFocus,
- TTK_STATE_ALTERNATE| TTK_STATE_FOCUS, 0 },
- { kThemeAdornmentDefault, TTK_STATE_ALTERNATE, 0 },
- { kThemeAdornmentFocus, TTK_STATE_FOCUS, 0 },
- { kThemeAdornmentNone, 0, 0 }
-};
-
-/*
- * computeButtonDrawInfo --
- * Fill in an appearance manager HIThemeButtonDrawInfo record.
- */
-static inline HIThemeButtonDrawInfo computeButtonDrawInfo(
- ThemeButtonParams *params, Ttk_State state)
-{
- const HIThemeButtonDrawInfo info = {
- .version = 0,
- .state = Ttk_StateTableLookup(ThemeStateTable, state),
- .kind = params ? params->kind : 0,
- .value = Ttk_StateTableLookup(ButtonValueTable, state),
- .adornment = Ttk_StateTableLookup(ButtonAdornmentTable, state),
- };
- return info;
-}
-
-static void ButtonElementSizeNoPadding(
- void *clientData, void *elementRecord, Tk_Window tkwin,
- int *widthPtr, int *heightPtr, Ttk_Padding *paddingPtr)
-{
- ThemeButtonParams *params = clientData;
-
- if (params->heightMetric != NoThemeMetric) {
- SInt32 height;
-
- ChkErr(GetThemeMetric, params->heightMetric, &height);
- *heightPtr = height;
- }
-}
-
-static void ButtonElementSize(
- void *clientData, void *elementRecord, Tk_Window tkwin,
- int *widthPtr, int *heightPtr, Ttk_Padding *paddingPtr)
-{
- ThemeButtonParams *params = clientData;
- const HIThemeButtonDrawInfo info = computeButtonDrawInfo(params, 0);
- static const CGRect scratchBounds = {{0, 0}, {100, 100}};
- CGRect contentBounds;
-
- ButtonElementSizeNoPadding(
- clientData, elementRecord, tkwin,
- widthPtr, heightPtr, paddingPtr);
-
- /*
- * To compute internal padding, query the appearance manager
- * for the content bounds of a dummy rectangle, then use
- * the difference as the padding.
- */
- ChkErr(HIThemeGetButtonContentBounds,
- &scratchBounds, &info, &contentBounds);
-
- paddingPtr->left = CGRectGetMinX(contentBounds);
- paddingPtr->top = CGRectGetMinY(contentBounds);
- paddingPtr->right = CGRectGetMaxX(scratchBounds) - CGRectGetMaxX(contentBounds) + 1;
- paddingPtr->bottom = CGRectGetMaxY(scratchBounds) - CGRectGetMaxY(contentBounds);
-
- /*
- * Now add a little extra padding to account for drop shadows.
- * @@@ SHOULD: call GetThemeButtonBackgroundBounds() instead.
- */
-
- *paddingPtr = Ttk_AddPadding(*paddingPtr, ButtonMargins);
- *widthPtr += Ttk_PaddingWidth(ButtonMargins);
- *heightPtr += Ttk_PaddingHeight(ButtonMargins);
-}
-
-static void ButtonElementDraw(
- void *clientData, void *elementRecord, Tk_Window tkwin,
- Drawable d, Ttk_Box b, Ttk_State state)
-{
- ThemeButtonParams *params = clientData;
- CGRect bounds = BoxToRect(d, Ttk_PadBox(b, ButtonMargins));
- const HIThemeButtonDrawInfo info = computeButtonDrawInfo(params, state);
-
- BEGIN_DRAWING(d)
- ChkErr(HIThemeDrawButton, &bounds, &info, dc.context, HIOrientation, NULL);
- END_DRAWING
-}
-
-static Ttk_ElementSpec ButtonElementSpec = {
- TK_STYLE_VERSION_2,
- sizeof(NullElement),
- TtkNullElementOptions,
- ButtonElementSize,
- ButtonElementDraw
-};
-
-/*----------------------------------------------------------------------
- * +++ Notebook elements.
- */
-
-
-/* Tab position logic, c.f. ttkNotebook.c TabState() */
-
-#define TTK_STATE_NOTEBOOK_FIRST TTK_STATE_USER1
-#define TTK_STATE_NOTEBOOK_LAST TTK_STATE_USER2
-static Ttk_StateTable TabStyleTable[] = {
- { kThemeTabFrontInactive, TTK_STATE_SELECTED|TTK_STATE_BACKGROUND},
- { kThemeTabNonFrontInactive, TTK_STATE_BACKGROUND},
- { kThemeTabFrontUnavailable, TTK_STATE_DISABLED|TTK_STATE_SELECTED},
- { kThemeTabNonFrontUnavailable, TTK_STATE_DISABLED},
- { kThemeTabFront, TTK_STATE_SELECTED},
- { kThemeTabNonFrontPressed, TTK_STATE_PRESSED},
- { kThemeTabNonFront, 0}
-};
-
-static Ttk_StateTable TabAdornmentTable[] = {
- { kHIThemeTabAdornmentNone,
- TTK_STATE_NOTEBOOK_FIRST|TTK_STATE_NOTEBOOK_LAST},
- {kHIThemeTabAdornmentTrailingSeparator, TTK_STATE_NOTEBOOK_FIRST},
- {kHIThemeTabAdornmentNone, TTK_STATE_NOTEBOOK_LAST},
- {kHIThemeTabAdornmentTrailingSeparator, 0 },
-};
-
-static Ttk_StateTable TabPositionTable[] = {
- { kHIThemeTabPositionOnly,
- TTK_STATE_NOTEBOOK_FIRST|TTK_STATE_NOTEBOOK_LAST},
- { kHIThemeTabPositionFirst, TTK_STATE_NOTEBOOK_FIRST},
- { kHIThemeTabPositionLast, TTK_STATE_NOTEBOOK_LAST},
- { kHIThemeTabPositionMiddle, 0 },
-};
-
-/*
- * Apple XHIG Tab View Specifications:
- *
- * Control sizes: Tab views are available in regular, small, and mini sizes.
- * The tab height is fixed for each size, but you control the size of the pane
- * area. The tab heights for each size are listed below:
- * - Regular size: 20 pixels.
- * - Small: 17 pixels.
- * - Mini: 15 pixels.
- *
- * Label spacing and fonts: The tab labels should be in a font that’s
- * proportional to the size of the tab view control. In addition, the label
- * should be placed so that there are equal margins of space before and after
- * it. The guidelines below provide the specifications you should use for tab
- * labels:
- * - Regular size: System font. Center in tab, leaving 12 pixels on each side.
- * - Small: Small system font. Center in tab, leaving 10 pixels on each side.
- * - Mini: Mini system font. Center in tab, leaving 8 pixels on each side.
- *
- * Control spacing: Whether you decide to inset a tab view in a window or
- * extend its edges to the window sides and bottom, you should place the top
- * edge of the tab view 12 or 14 pixels below the bottom edge of the title bar
- * (or toolbar, if there is one). If you choose to inset a tab view in a
- * window, you should leave a margin of 20 pixels between the sides and bottom
- * of the tab view and the sides and bottom of the window (although 16 pixels
- * is also an acceptable margin-width). If you need to provide controls below
- * the tab view, leave enough space below the tab view so the controls are 20
- * pixels above the bottom edge of the window and 12 pixels between the tab
- * view and the controls.
- * If you choose to extend the tab view sides and bottom so that they meet the
- * window sides and bottom, you should leave a margin of at least 20 pixels
- * between the content in the tab view and the tab-view edges.
- *
- * <URL: http://developer.apple.com/documentation/userexperience/Conceptual/
- * AppleHIGuidelines/XHIGControls/XHIGControls.html#//apple_ref/doc/uid/
- * TP30000359-TPXREF116>
- */
-
-static void TabElementSize(
- void *clientData, void *elementRecord, Tk_Window tkwin,
- int *widthPtr, int *heightPtr, Ttk_Padding *paddingPtr)
-{
- GetThemeMetric(kThemeMetricLargeTabHeight, (SInt32 *)heightPtr);
- *paddingPtr = Ttk_MakePadding(0, 0, 0, 2);
-
-}
-
-static void TabElementDraw(
- void *clientData, void *elementRecord, Tk_Window tkwin,
- Drawable d, Ttk_Box b, Ttk_State state)
-{
- CGRect bounds = BoxToRect(d, b);
- HIThemeTabDrawInfo info = {
- .version = 1,
- .style = Ttk_StateTableLookup(TabStyleTable, state),
- .direction = kThemeTabNorth,
- .size = kHIThemeTabSizeNormal,
- .adornment = Ttk_StateTableLookup(TabAdornmentTable, state),
- .kind = kHIThemeTabKindNormal,
- .position = Ttk_StateTableLookup(TabPositionTable, state),
- };
-
- BEGIN_DRAWING(d)
- ChkErr(HIThemeDrawTab, &bounds, &info, dc.context, HIOrientation, NULL);
- END_DRAWING
-}
-
-static Ttk_ElementSpec TabElementSpec = {
- TK_STYLE_VERSION_2,
- sizeof(NullElement),
- TtkNullElementOptions,
- TabElementSize,
- TabElementDraw
-};
-
-/*
- * Notebook panes:
- */
-static void PaneElementSize(
- void *clientData, void *elementRecord, Tk_Window tkwin,
- int *widthPtr, int *heightPtr, Ttk_Padding *paddingPtr)
-{
- *paddingPtr = Ttk_MakePadding(9, 5, 9, 9);
-}
-
-static void PaneElementDraw(
- void *clientData, void *elementRecord, Tk_Window tkwin,
- Drawable d, Ttk_Box b, Ttk_State state)
-{
- CGRect bounds = BoxToRect(d, b);
- HIThemeTabPaneDrawInfo info = {
- .version = 1,
- .state = Ttk_StateTableLookup(ThemeStateTable, state),
- .direction = kThemeTabNorth,
- .size = kHIThemeTabSizeNormal,
- .kind = kHIThemeTabKindNormal,
- .adornment = kHIThemeTabPaneAdornmentNormal,
- };
-
- bounds.origin.y -= kThemeMetricTabFrameOverlap;
- bounds.size.height += kThemeMetricTabFrameOverlap;
- BEGIN_DRAWING(d)
- ChkErr(HIThemeDrawTabPane, &bounds, &info, dc.context, HIOrientation);
- END_DRAWING
-}
-
-static Ttk_ElementSpec PaneElementSpec = {
- TK_STYLE_VERSION_2,
- sizeof(NullElement),
- TtkNullElementOptions,
- PaneElementSize,
- PaneElementDraw
-};
-
-/*
- * Labelframe borders:
- * Use "primary group box ..."
- * Quoth DrawThemePrimaryGroup reference:
- * "The primary group box frame is drawn inside the specified
- * rectangle and is a maximum of 2 pixels thick."
- *
- * "Maximum of 2 pixels thick" is apparently a lie;
- * looks more like 4 to me with shading.
- */
-static void GroupElementSize(
- void *clientData, void *elementRecord, Tk_Window tkwin,
- int *widthPtr, int *heightPtr, Ttk_Padding *paddingPtr)
-{
- *paddingPtr = Ttk_UniformPadding(4);
-}
-
-static void GroupElementDraw(
- void *clientData, void *elementRecord, Tk_Window tkwin,
- Drawable d, Ttk_Box b, Ttk_State state)
-{
- CGRect bounds = BoxToRect(d, b);
- const HIThemeGroupBoxDrawInfo info = {
- .version = 0,
- .state = Ttk_StateTableLookup(ThemeStateTable, state),
- .kind = kHIThemeGroupBoxKindPrimaryOpaque,
- };
-
- BEGIN_DRAWING(d)
- ChkErr(HIThemeDrawGroupBox, &bounds, &info, dc.context, HIOrientation);
- END_DRAWING
-}
-
-static Ttk_ElementSpec GroupElementSpec = {
- TK_STYLE_VERSION_2,
- sizeof(NullElement),
- TtkNullElementOptions,
- GroupElementSize,
- GroupElementDraw
-};
-
-/*----------------------------------------------------------------------
- * +++ Entry element --
- * 3 pixels padding for focus rectangle
- * 2 pixels padding for EditTextFrame
- */
-
-typedef struct {
- Tcl_Obj *backgroundObj;
-} EntryElement;
-
-static Ttk_ElementOptionSpec EntryElementOptions[] = {
- { "-background", TK_OPTION_BORDER,
- Tk_Offset(EntryElement,backgroundObj), "white" },
- {0}
-};
-
-static void EntryElementSize(
- void *clientData, void *elementRecord, Tk_Window tkwin,
- int *widthPtr, int *heightPtr, Ttk_Padding *paddingPtr)
-{
- *paddingPtr = Ttk_UniformPadding(5);
-}
-
-static void EntryElementDraw(
- void *clientData, void *elementRecord, Tk_Window tkwin,
- Drawable d, Ttk_Box b, Ttk_State state)
-{
- EntryElement *e = elementRecord;
- Tk_3DBorder backgroundPtr = Tk_Get3DBorderFromObj(tkwin,e->backgroundObj);
- Ttk_Box inner = Ttk_PadBox(b, Ttk_UniformPadding(3));
- CGRect bounds = BoxToRect(d, inner);
- const HIThemeFrameDrawInfo info = {
- .version = 0,
- .kind = kHIThemeFrameTextFieldSquare,
- .state = Ttk_StateTableLookup(ThemeStateTable, state),
- .isFocused = state & TTK_STATE_FOCUS,
- };
-
- /*
- * Erase w/background color:
- */
- XFillRectangle(Tk_Display(tkwin), d,
- Tk_3DBorderGC(tkwin, backgroundPtr, TK_3D_FLAT_GC),
- inner.x,inner.y, inner.width, inner.height);
-
- BEGIN_DRAWING(d)
- ChkErr(HIThemeDrawFrame, &bounds, &info, dc.context, HIOrientation);
- /*if (state & TTK_STATE_FOCUS) {
- ChkErr(DrawThemeFocusRect, &bounds, 1);
- }*/
- END_DRAWING
-}
-
-static Ttk_ElementSpec EntryElementSpec = {
- TK_STYLE_VERSION_2,
- sizeof(EntryElement),
- EntryElementOptions,
- EntryElementSize,
- EntryElementDraw
-};
-
-/*----------------------------------------------------------------------
- * +++ Combobox:
- *
- * NOTES:
- * kThemeMetricComboBoxLargeDisclosureWidth -> 17
- * Padding and margins guesstimated by trial-and-error.
- */
-
-static Ttk_Padding ComboboxPadding = { 2, 3, 17, 1 };
-static Ttk_Padding ComboboxMargins = { 3, 3, 4, 4 };
-
-static void ComboboxElementSize(
- void *clientData, void *elementRecord, Tk_Window tkwin,
- int *widthPtr, int *heightPtr, Ttk_Padding *paddingPtr)
-{
- *widthPtr = 0;
- *heightPtr = 0;
- *paddingPtr = Ttk_AddPadding(ComboboxMargins, ComboboxPadding);
-}
-
-static void ComboboxElementDraw(
- void *clientData, void *elementRecord, Tk_Window tkwin,
- Drawable d, Ttk_Box b, Ttk_State state)
-{
- CGRect bounds = BoxToRect(d, Ttk_PadBox(b, ComboboxMargins));
- const HIThemeButtonDrawInfo info = {
- .version = 0,
- .state = Ttk_StateTableLookup(ThemeStateTable, state),
- .kind = kThemeComboBox,
- .value = Ttk_StateTableLookup(ButtonValueTable, state),
- .adornment = Ttk_StateTableLookup(ButtonAdornmentTable, state),
- };
-
- BEGIN_DRAWING(d)
- ChkErr(HIThemeDrawButton, &bounds, &info, dc.context, HIOrientation, NULL);
- END_DRAWING
-}
-
-static Ttk_ElementSpec ComboboxElementSpec = {
- TK_STYLE_VERSION_2,
- sizeof(NullElement),
- TtkNullElementOptions,
- ComboboxElementSize,
- ComboboxElementDraw
-};
-
-
-
-
-
-/*----------------------------------------------------------------------
- * +++ Spinbuttons.
- *
- * From Apple HIG, part III, section "Controls", "The Stepper Control":
- * there should be 2 pixels of space between the stepper control
- * (AKA IncDecButton, AKA "little arrows") and the text field it modifies.
- */
-
-static Ttk_Padding SpinbuttonMargins = {2,0,2,0};
-static void SpinButtonElementSize(
- void *clientData, void *elementRecord, Tk_Window tkwin,
- int *widthPtr, int *heightPtr, Ttk_Padding *paddingPtr)
-{
- SInt32 s;
-
- ChkErr(GetThemeMetric, kThemeMetricLittleArrowsWidth, &s);
- *widthPtr = s + Ttk_PaddingWidth(SpinbuttonMargins);
- ChkErr(GetThemeMetric, kThemeMetricLittleArrowsHeight, &s);
- *heightPtr = s + Ttk_PaddingHeight(SpinbuttonMargins);
-}
-
-static void SpinButtonElementDraw(
- void *clientData, void *elementRecord, Tk_Window tkwin,
- Drawable d, Ttk_Box b, Ttk_State state)
-{
- CGRect bounds = BoxToRect(d, Ttk_PadBox(b, SpinbuttonMargins));
- /* @@@ can't currently distinguish PressedUp (== Pressed) from PressedDown;
- * ignore this bit for now [see #2219588]
- */
- const HIThemeButtonDrawInfo info = {
- .version = 0,
- .state = Ttk_StateTableLookup(ThemeStateTable, state & ~TTK_STATE_PRESSED),
- .kind = kThemeIncDecButton,
- .value = Ttk_StateTableLookup(ButtonValueTable, state),
- .adornment = kThemeAdornmentNone,
- };
-
- BEGIN_DRAWING(d)
- ChkErr(HIThemeDrawButton, &bounds, &info, dc.context, HIOrientation, NULL);
- END_DRAWING
-}
-
-static Ttk_ElementSpec SpinButtonElementSpec = {
- TK_STYLE_VERSION_2,
- sizeof(NullElement),
- TtkNullElementOptions,
- SpinButtonElementSize,
- SpinButtonElementDraw
-};
-
-
-/*----------------------------------------------------------------------
- * +++ DrawThemeTrack-based elements --
- * Progress bars and scales. (See also: <<NOTE-TRACKS>>)
- */
-
-static Ttk_StateTable ThemeTrackEnableTable[] = {
- { kThemeTrackDisabled, TTK_STATE_DISABLED, 0 },
- { kThemeTrackInactive, TTK_STATE_BACKGROUND, 0 },
- { kThemeTrackActive, 0, 0 }
- /* { kThemeTrackNothingToScroll, ?, ? }, */
-};
-
-typedef struct { /* TrackElement client data */
- ThemeTrackKind kind;
- SInt32 thicknessMetric;
-} TrackElementData;
-
-static TrackElementData ScaleData = {
- kThemeSlider, kThemeMetricHSliderHeight
-};
-
-
-typedef struct {
- Tcl_Obj *fromObj; /* minimum value */
- Tcl_Obj *toObj; /* maximum value */
- Tcl_Obj *valueObj; /* current value */
- Tcl_Obj *orientObj; /* horizontal / vertical */
-} TrackElement;
-
-static Ttk_ElementOptionSpec TrackElementOptions[] = {
- { "-from", TK_OPTION_DOUBLE, Tk_Offset(TrackElement,fromObj) },
- { "-to", TK_OPTION_DOUBLE, Tk_Offset(TrackElement,toObj) },
- { "-value", TK_OPTION_DOUBLE, Tk_Offset(TrackElement,valueObj) },
- { "-orient", TK_OPTION_STRING, Tk_Offset(TrackElement,orientObj) },
- {0,0,0}
-};
-
-static void TrackElementSize(
- void *clientData, void *elementRecord, Tk_Window tkwin,
- int *widthPtr, int *heightPtr, Ttk_Padding *paddingPtr)
-{
- TrackElementData *data = clientData;
- SInt32 size = 24; /* reasonable default ... */
-
- ChkErr(GetThemeMetric, data->thicknessMetric, &size);
- *widthPtr = *heightPtr = size;
-}
-
-static void TrackElementDraw(
- void *clientData, void *elementRecord, Tk_Window tkwin,
- Drawable d, Ttk_Box b, Ttk_State state)
-{
- TrackElementData *data = clientData;
- TrackElement *elem = elementRecord;
- int orientation = TTK_ORIENT_HORIZONTAL;
- double from = 0, to = 100, value = 0, factor;
-
- Ttk_GetOrientFromObj(NULL, elem->orientObj, &orientation);
- Tcl_GetDoubleFromObj(NULL, elem->fromObj, &from);
- Tcl_GetDoubleFromObj(NULL, elem->toObj, &to);
- Tcl_GetDoubleFromObj(NULL, elem->valueObj, &value);
- factor = RangeToFactor(to - from);
-
- HIThemeTrackDrawInfo info = {
- .version = 0,
- .kind = data->kind,
- .bounds = BoxToRect(d, b),
- .min = from * factor,
- .max = to * factor,
- .value = value * factor,
- .attributes = kThemeTrackShowThumb |
- (orientation == TTK_ORIENT_HORIZONTAL ?
- kThemeTrackHorizontal : 0),
- .enableState = Ttk_StateTableLookup(ThemeTrackEnableTable, state),
- .trackInfo.progress.phase = 0,
- };
-
- if (info.kind == kThemeSlider) {
- info.trackInfo.slider.pressState = state & TTK_STATE_PRESSED ?
- kThemeThumbPressed : 0;
- info.trackInfo.slider.thumbDir = kThemeThumbPlain;
- }
-
-
- BEGIN_DRAWING(d)
- ChkErr(HIThemeDrawTrack, &info, NULL, dc.context, HIOrientation);
- END_DRAWING
-}
-
-static Ttk_ElementSpec TrackElementSpec = {
- TK_STYLE_VERSION_2,
- sizeof(TrackElement),
- TrackElementOptions,
- TrackElementSize,
- TrackElementDraw
-};
-
-/*
- * Slider element -- <<NOTE-TRACKS>>
- * Has geometry only. The Scale widget adjusts the position of this element,
- * and uses it for hit detection. In the Aqua theme, the slider is actually
- * drawn as part of the trough element.
- *
- * Also buggy: The geometry here is a Wild-Assed-Guess; I can't
- * figure out how to get the Appearance Manager to tell me the
- * slider size.
- */
-static void SliderElementSize(
- void *clientData, void *elementRecord, Tk_Window tkwin,
- int *widthPtr, int *heightPtr, Ttk_Padding *paddingPtr)
-{
- *widthPtr = *heightPtr = 24;
-}
-
-static Ttk_ElementSpec SliderElementSpec = {
- TK_STYLE_VERSION_2,
- sizeof(NullElement),
- TtkNullElementOptions,
- SliderElementSize,
- TtkNullElementDraw
-};
-
-/*----------------------------------------------------------------------
- * +++ Progress bar element (new):
- *
- * @@@ NOTE: According to an older revision of the Aqua reference docs,
- * @@@ the 'phase' field is between 0 and 4. Newer revisions say
- * @@@ that it can be any UInt8 value.
- */
-
-typedef struct {
- Tcl_Obj *orientObj; /* horizontal / vertical */
- Tcl_Obj *valueObj; /* current value */
- Tcl_Obj *maximumObj; /* maximum value */
- Tcl_Obj *phaseObj; /* animation phase */
- Tcl_Obj *modeObj; /* progress bar mode */
-} PbarElement;
-
-static Ttk_ElementOptionSpec PbarElementOptions[] = {
- { "-orient", TK_OPTION_STRING,
- Tk_Offset(PbarElement,orientObj), "horizontal" },
- { "-value", TK_OPTION_DOUBLE,
- Tk_Offset(PbarElement,valueObj), "0" },
- { "-maximum", TK_OPTION_DOUBLE,
- Tk_Offset(PbarElement,maximumObj), "100" },
- { "-phase", TK_OPTION_INT,
- Tk_Offset(PbarElement,phaseObj), "0" },
- { "-mode", TK_OPTION_STRING,
- Tk_Offset(PbarElement,modeObj), "determinate" },
- {0,0,0,0}
-};
-
-static void PbarElementSize(
- void *clientData, void *elementRecord, Tk_Window tkwin,
- int *widthPtr, int *heightPtr, Ttk_Padding *paddingPtr)
-{
- SInt32 size = 24; /* @@@ Check HIG for correct default */
-
- ChkErr(GetThemeMetric, kThemeMetricLargeProgressBarThickness, &size);
- *widthPtr = *heightPtr = size;
-}
-
-static void PbarElementDraw(
- void *clientData, void *elementRecord, Tk_Window tkwin,
- Drawable d, Ttk_Box b, Ttk_State state)
-{
- PbarElement *pbar = elementRecord;
- int orientation = TTK_ORIENT_HORIZONTAL, phase = 0;
- double value = 0, maximum = 100, factor;
-
- Ttk_GetOrientFromObj(NULL, pbar->orientObj, &orientation);
- Tcl_GetDoubleFromObj(NULL, pbar->valueObj, &value);
- Tcl_GetDoubleFromObj(NULL, pbar->maximumObj, &maximum);
- Tcl_GetIntFromObj(NULL, pbar->phaseObj, &phase);
- factor = RangeToFactor(maximum);
-
- HIThemeTrackDrawInfo info = {
- .version = 0,
- .kind = (!strcmp("indeterminate", Tcl_GetString(pbar->modeObj)) && value) ?
- kThemeIndeterminateBar : kThemeProgressBar,
- .bounds = BoxToRect(d, b),
- .min = 0,
- .max = maximum * factor,
- .value = value * factor,
- .attributes = kThemeTrackShowThumb |
- (orientation == TTK_ORIENT_HORIZONTAL ?
- kThemeTrackHorizontal : 0),
- .enableState = Ttk_StateTableLookup(ThemeTrackEnableTable, state),
- .trackInfo.progress.phase = phase,
- };
-
- BEGIN_DRAWING(d)
- ChkErr(HIThemeDrawTrack, &info, NULL, dc.context, HIOrientation);
- END_DRAWING
-}
-
-static Ttk_ElementSpec PbarElementSpec = {
- TK_STYLE_VERSION_2,
- sizeof(PbarElement),
- PbarElementOptions,
- PbarElementSize,
- PbarElementDraw
-};
-
-/*----------------------------------------------------------------------
- * +++ Separator element.
- *
- * DrawThemeSeparator() guesses the orientation of the line from
- * the width and height of the rectangle, so the same element can
- * can be used for horizontal, vertical, and general separators.
- */
-
-static void SeparatorElementSize(
- void *clientData, void *elementRecord, Tk_Window tkwin,
- int *widthPtr, int *heightPtr, Ttk_Padding *paddingPtr)
-{
- *widthPtr = *heightPtr = 1;
-}
-
-static void SeparatorElementDraw(
- void *clientData, void *elementRecord, Tk_Window tkwin,
- Drawable d, Ttk_Box b, unsigned int state)
-{
- CGRect bounds = BoxToRect(d, b);
- const HIThemeSeparatorDrawInfo info = {
- .version = 0,
- /* Separator only supports kThemeStateActive, kThemeStateInactive */
- .state = Ttk_StateTableLookup(ThemeStateTable, state & TTK_STATE_BACKGROUND),
- };
-
- BEGIN_DRAWING(d)
- ChkErr(HIThemeDrawSeparator, &bounds, &info, dc.context, HIOrientation);
- END_DRAWING
-}
-
-static Ttk_ElementSpec SeparatorElementSpec = {
- TK_STYLE_VERSION_2,
- sizeof(NullElement),
- TtkNullElementOptions,
- SeparatorElementSize,
- SeparatorElementDraw
-};
-
-/*----------------------------------------------------------------------
- * +++ Size grip element.
- */
-static const ThemeGrowDirection sizegripGrowDirection
- = kThemeGrowRight|kThemeGrowDown;
-
-static void SizegripElementSize(
- void *clientData, void *elementRecord, Tk_Window tkwin,
- int *widthPtr, int *heightPtr, Ttk_Padding *paddingPtr)
-{
- HIThemeGrowBoxDrawInfo info = {
- .version = 0,
- .state = kThemeStateActive,
- .kind = kHIThemeGrowBoxKindNormal,
- .direction = sizegripGrowDirection,
- .size = kHIThemeGrowBoxSizeNormal,
- };
- CGRect bounds = CGRectZero;
-
- ChkErr(HIThemeGetGrowBoxBounds, &bounds.origin, &info, &bounds);
- *widthPtr = bounds.size.width;
- *heightPtr = bounds.size.height;
-}
-
-static void SizegripElementDraw(
- void *clientData, void *elementRecord, Tk_Window tkwin,
- Drawable d, Ttk_Box b, unsigned int state)
-{
- CGRect bounds = BoxToRect(d, b);
- HIThemeGrowBoxDrawInfo info = {
- .version = 0,
- /* Grow box only supports kThemeStateActive, kThemeStateInactive */
- .state = Ttk_StateTableLookup(ThemeStateTable, state & TTK_STATE_BACKGROUND),
- .kind = kHIThemeGrowBoxKindNormal,
- .direction = sizegripGrowDirection,
- .size = kHIThemeGrowBoxSizeNormal,
- };
-
- BEGIN_DRAWING(d)
- ChkErr(HIThemeDrawGrowBox, &bounds.origin, &info, dc.context, HIOrientation);
- END_DRAWING
-}
-
-static Ttk_ElementSpec SizegripElementSpec = {
- TK_STYLE_VERSION_2,
- sizeof(NullElement),
- TtkNullElementOptions,
- SizegripElementSize,
- SizegripElementDraw
-};
-
-/*----------------------------------------------------------------------
- * +++ Background and fill elements.
- *
- * This isn't quite right: In Aqua, the correct background for
- * a control depends on what kind of container it belongs to,
- * and the type of the top-level window.
- *
- * Also: patterned backgrounds should be aligned with the coordinate
- * system of the top-level window. If we're drawing into an
- * off-screen graphics port this leads to alignment glitches.
- */
-
-static void FillElementDraw(
- void *clientData, void *elementRecord, Tk_Window tkwin,
- Drawable d, Ttk_Box b, Ttk_State state)
-{
- CGRect bounds = BoxToRect(d, b);
- ThemeBrush brush = (state & TTK_STATE_BACKGROUND)
- ? kThemeBrushModelessDialogBackgroundInactive
- : kThemeBrushModelessDialogBackgroundActive;
-
- BEGIN_DRAWING(d)
- ChkErr(HIThemeSetFill, brush, NULL, dc.context, HIOrientation);
- //QDSetPatternOrigin(PatternOrigin(tkwin, d));
- CGContextFillRect(dc.context, bounds);
- END_DRAWING
-}
-
-static void BackgroundElementDraw(
- void *clientData, void *elementRecord, Tk_Window tkwin,
- Drawable d, Ttk_Box b, unsigned int state)
-{
- FillElementDraw(
- clientData, elementRecord, tkwin,
- d, Ttk_WinBox(tkwin), state);
-}
-
-static Ttk_ElementSpec FillElementSpec = {
- TK_STYLE_VERSION_2,
- sizeof(NullElement),
- TtkNullElementOptions,
- TtkNullElementSize,
- FillElementDraw
-};
-
-static Ttk_ElementSpec BackgroundElementSpec = {
- TK_STYLE_VERSION_2,
- sizeof(NullElement),
- TtkNullElementOptions,
- TtkNullElementSize,
- BackgroundElementDraw
-};
-
-/*----------------------------------------------------------------------
- * +++ ToolbarBackground element -- toolbar style for frames.
- *
- * This is very similar to the normal background element, but uses a
- * different ThemeBrush in order to get the lighter pinstripe effect
- * used in toolbars. We use SetThemeBackground() rather than
- * ApplyThemeBackground() in order to get the right style.
- *
- * <URL: http://developer.apple.com/documentation/Carbon/Reference/
- * Appearance_Manager/appearance_manager/constant_7.html#/
- * /apple_ref/doc/uid/TP30000243/C005321>
- *
- */
-static void ToolbarBackgroundElementDraw(
- void *clientData, void *elementRecord, Tk_Window tkwin,
- Drawable d, Ttk_Box b, Ttk_State state)
-{
- ThemeBrush brush = kThemeBrushToolbarBackground;
- CGRect bounds = BoxToRect(d, Ttk_WinBox(tkwin));
-
- BEGIN_DRAWING(d)
- ChkErr(HIThemeSetFill, brush, NULL, dc.context, HIOrientation);
- //QDSetPatternOrigin(PatternOrigin(tkwin, d));
- CGContextFillRect(dc.context, bounds);
- END_DRAWING
-}
-
-static Ttk_ElementSpec ToolbarBackgroundElementSpec = {
- TK_STYLE_VERSION_2,
- sizeof(NullElement),
- TtkNullElementOptions,
- TtkNullElementSize,
- ToolbarBackgroundElementDraw
-};
-
-/*----------------------------------------------------------------------
- * +++ Treeview header
- * Redefine the header to use a kThemeListHeaderButton.
- */
-
-#define TTK_TREEVIEW_STATE_SORTARROW TTK_STATE_USER1
-static Ttk_StateTable TreeHeaderValueTable[] = {
- { kThemeButtonOn, TTK_STATE_ALTERNATE},
- { kThemeButtonOn, TTK_STATE_SELECTED},
- { kThemeButtonOff, 0}
-};
-static Ttk_StateTable TreeHeaderAdornmentTable[] = {
- { kThemeAdornmentHeaderButtonSortUp,
- TTK_STATE_ALTERNATE|TTK_TREEVIEW_STATE_SORTARROW},
- { kThemeAdornmentDefault,
- TTK_STATE_SELECTED|TTK_TREEVIEW_STATE_SORTARROW},
- { kThemeAdornmentHeaderButtonNoSortArrow, TTK_STATE_ALTERNATE},
- { kThemeAdornmentHeaderButtonNoSortArrow, TTK_STATE_SELECTED},
- { kThemeAdornmentFocus, TTK_STATE_FOCUS},
- { kThemeAdornmentNone, 0}
-};
-
-static void TreeHeaderElementDraw(
- void *clientData, void *elementRecord, Tk_Window tkwin,
- Drawable d, Ttk_Box b, Ttk_State state)
-{
- ThemeButtonParams *params = clientData;
- CGRect bounds = BoxToRect(d, b);
- const HIThemeButtonDrawInfo info = {
- .version = 0,
- .state = Ttk_StateTableLookup(ThemeStateTable, state),
- .kind = params->kind,
- .value = Ttk_StateTableLookup(TreeHeaderValueTable, state),
- .adornment = Ttk_StateTableLookup(TreeHeaderAdornmentTable, state),
- };
-
- BEGIN_DRAWING(d)
- ChkErr(HIThemeDrawButton, &bounds, &info, dc.context, HIOrientation, NULL);
- END_DRAWING
-}
-
-static Ttk_ElementSpec TreeHeaderElementSpec = {
- TK_STYLE_VERSION_2,
- sizeof(NullElement),
- TtkNullElementOptions,
- ButtonElementSizeNoPadding,
- TreeHeaderElementDraw
-};
-
-/*
- * Disclosure triangle:
- */
-#define TTK_TREEVIEW_STATE_OPEN TTK_STATE_USER1
-#define TTK_TREEVIEW_STATE_LEAF TTK_STATE_USER2
-static Ttk_StateTable DisclosureValueTable[] = {
- { kThemeDisclosureDown, TTK_TREEVIEW_STATE_OPEN, 0 },
- { kThemeDisclosureRight, 0, 0 },
-};
-
-static void DisclosureElementSize(
- void *clientData, void *elementRecord, Tk_Window tkwin,
- int *widthPtr, int *heightPtr, Ttk_Padding *paddingPtr)
-{
- SInt32 s;
-
- ChkErr(GetThemeMetric, kThemeMetricDisclosureTriangleWidth, &s);
- *widthPtr = s;
- ChkErr(GetThemeMetric, kThemeMetricDisclosureTriangleHeight, &s);
- *heightPtr = s;
-}
-
-static void DisclosureElementDraw(
- void *clientData, void *elementRecord, Tk_Window tkwin,
- Drawable d, Ttk_Box b, Ttk_State state)
-{
- if (!(state & TTK_TREEVIEW_STATE_LEAF)) {
- CGRect bounds = BoxToRect(d, b);
- const HIThemeButtonDrawInfo info = {
- .version = 0,
- .state = Ttk_StateTableLookup(ThemeStateTable, state),
- .kind = kThemeDisclosureTriangle,
- .value = Ttk_StateTableLookup(DisclosureValueTable, state),
- .adornment = kThemeAdornmentDrawIndicatorOnly,
- };
-
- BEGIN_DRAWING(d)
- ChkErr(HIThemeDrawButton, &bounds, &info, dc.context, HIOrientation, NULL);
- END_DRAWING
- }
-}
-
-static Ttk_ElementSpec DisclosureElementSpec = {
- TK_STYLE_VERSION_2,
- sizeof(NullElement),
- TtkNullElementOptions,
- DisclosureElementSize,
- DisclosureElementDraw
-};
-
-/*----------------------------------------------------------------------
- * +++ Widget layouts.
- */
-
-TTK_BEGIN_LAYOUT_TABLE(LayoutTable)
-
-TTK_LAYOUT("Toolbar",
- TTK_NODE("Toolbar.background", TTK_FILL_BOTH))
-
-TTK_LAYOUT("TButton",
- TTK_GROUP("Button.button", TTK_FILL_BOTH,
- TTK_GROUP("Button.padding", TTK_FILL_BOTH,
- TTK_NODE("Button.label", TTK_FILL_BOTH))))
-
-TTK_LAYOUT("TRadiobutton",
- TTK_GROUP("Radiobutton.button", TTK_FILL_BOTH,
- TTK_GROUP("Radiobutton.padding", TTK_FILL_BOTH,
- TTK_NODE("Radiobutton.label", TTK_PACK_LEFT))))
-
-TTK_LAYOUT("TCheckbutton",
- TTK_GROUP("Checkbutton.button", TTK_FILL_BOTH,
- TTK_GROUP("Checkbutton.padding", TTK_FILL_BOTH,
- TTK_NODE("Checkbutton.label", TTK_PACK_LEFT))))
-
-TTK_LAYOUT("TMenubutton",
- TTK_GROUP("Menubutton.button", TTK_FILL_BOTH,
- TTK_GROUP("Menubutton.padding", TTK_FILL_BOTH,
- TTK_NODE("Menubutton.label", TTK_PACK_LEFT))))
-
-TTK_LAYOUT("TCombobox",
- TTK_GROUP("Combobox.button", TTK_PACK_TOP|TTK_FILL_X,
- TTK_GROUP("Combobox.padding", TTK_FILL_BOTH,
- TTK_NODE("Combobox.textarea", TTK_FILL_X))))
-
-/* Notebook tabs -- no focus ring */
-TTK_LAYOUT("Tab",
- TTK_GROUP("Notebook.tab", TTK_FILL_BOTH,
- TTK_GROUP("Notebook.padding", TTK_EXPAND|TTK_FILL_BOTH,
- TTK_NODE("Notebook.label", TTK_EXPAND|TTK_FILL_BOTH))))
-
-/* Progress bars -- track only */
-TTK_LAYOUT("TSpinbox",
- TTK_NODE("Spinbox.spinbutton", TTK_PACK_RIGHT|TTK_STICK_E)
- TTK_GROUP("Spinbox.field", TTK_EXPAND|TTK_FILL_X,
- TTK_NODE("Spinbox.textarea", TTK_EXPAND|TTK_FILL_X)))
-
-TTK_LAYOUT("TProgressbar",
- TTK_NODE("Progressbar.track", TTK_EXPAND|TTK_FILL_BOTH))
-
-/* Tree heading -- no border, fixed height */
-TTK_LAYOUT("Heading",
- TTK_NODE("Treeheading.cell", TTK_FILL_X)
- TTK_NODE("Treeheading.image", TTK_PACK_RIGHT)
- TTK_NODE("Treeheading.text", 0))
-
-/* Tree items -- omit focus ring */
-TTK_LAYOUT("Item",
- TTK_GROUP("Treeitem.padding", TTK_FILL_BOTH,
- TTK_NODE("Treeitem.indicator", TTK_PACK_LEFT)
- TTK_NODE("Treeitem.image", TTK_PACK_LEFT)
- TTK_NODE("Treeitem.text", TTK_PACK_LEFT)))
-
-TTK_END_LAYOUT_TABLE
-
-/*----------------------------------------------------------------------
- * +++ Initialization.
- */
-
-static int AquaTheme_Init(Tcl_Interp *interp)
-{
- Ttk_Theme themePtr = Ttk_CreateTheme(interp, "aqua", NULL);
-
- if (!themePtr) {
- return TCL_ERROR;
- }
-
- /*
- * Elements:
- */
- Ttk_RegisterElementSpec(themePtr, "background", &BackgroundElementSpec, 0);
- Ttk_RegisterElementSpec(themePtr, "fill", &FillElementSpec, 0);
- Ttk_RegisterElementSpec(themePtr, "Toolbar.background",
- &ToolbarBackgroundElementSpec, 0);
-
- Ttk_RegisterElementSpec(themePtr, "Button.button",
- &ButtonElementSpec, &PushButtonParams);
- Ttk_RegisterElementSpec(themePtr, "Checkbutton.button",
- &ButtonElementSpec, &CheckBoxParams);
- Ttk_RegisterElementSpec(themePtr, "Radiobutton.button",
- &ButtonElementSpec, &RadioButtonParams);
- Ttk_RegisterElementSpec(themePtr, "Toolbutton.border",
- &ButtonElementSpec, &BevelButtonParams);
- Ttk_RegisterElementSpec(themePtr, "Menubutton.button",
- &ButtonElementSpec, &PopupButtonParams);
- Ttk_RegisterElementSpec(themePtr, "Spinbox.spinbutton",
- &SpinButtonElementSpec, 0);
- Ttk_RegisterElementSpec(themePtr, "Combobox.button",
- &ComboboxElementSpec, 0);
- Ttk_RegisterElementSpec(themePtr, "Treeitem.indicator",
- &DisclosureElementSpec, &DisclosureParams);
- Ttk_RegisterElementSpec(themePtr, "Treeheading.cell",
- &TreeHeaderElementSpec, &ListHeaderParams);
-
- Ttk_RegisterElementSpec(themePtr, "Notebook.tab", &TabElementSpec, 0);
- Ttk_RegisterElementSpec(themePtr, "Notebook.client", &PaneElementSpec, 0);
-
- Ttk_RegisterElementSpec(themePtr, "Labelframe.border",&GroupElementSpec,0);
- Ttk_RegisterElementSpec(themePtr, "Entry.field",&EntryElementSpec,0);
- Ttk_RegisterElementSpec(themePtr, "Spinbox.field",&EntryElementSpec,0);
-
- Ttk_RegisterElementSpec(themePtr, "separator",&SeparatorElementSpec,0);
- Ttk_RegisterElementSpec(themePtr, "hseparator",&SeparatorElementSpec,0);
- Ttk_RegisterElementSpec(themePtr, "vseparator",&SeparatorElementSpec,0);
-
- Ttk_RegisterElementSpec(themePtr, "sizegrip",&SizegripElementSpec,0);
-
- /*
- * <<NOTE-TRACKS>>
- * The Progressbar widget adjusts the size of the pbar element.
- * In the Aqua theme, the appearance manager computes the bar geometry;
- * we do all the drawing in the ".track" element and leave the .pbar out.
- */
- Ttk_RegisterElementSpec(themePtr,"Scale.trough",
- &TrackElementSpec, &ScaleData);
- Ttk_RegisterElementSpec(themePtr,"Scale.slider",&SliderElementSpec,0);
- Ttk_RegisterElementSpec(themePtr,"Progressbar.track", &PbarElementSpec, 0);
-
- /*
- * Layouts:
- */
- Ttk_RegisterLayouts(themePtr, LayoutTable);
-
- Tcl_PkgProvide(interp, "ttk::theme::aqua", TTK_VERSION);
- return TCL_OK;
-}
-
-MODULE_SCOPE
-int Ttk_MacOSXPlatformInit(Tcl_Interp *interp)
-{
- return AquaTheme_Init(interp);
-}
-
-/*
- * Local Variables:
- * mode: objc
- * c-basic-offset: 4
- * fill-column: 79
- * coding: utf-8
- * End:
- */
-