netgen/ng/Togl2.1
Joachim Schöberl e98451ef66 tk - path first
2016-02-23 18:21:40 +01:00
..
doc merge ttk branch to master 2016-02-08 15:53:16 +01:00
GL_unused merge ttk branch to master 2016-02-08 15:53:16 +01:00
tclconfig merge ttk branch to master 2016-02-08 15:53:16 +01:00
Xmu merge ttk branch to master 2016-02-08 15:53:16 +01:00
aclocal.m4 merge ttk branch to master 2016-02-08 15:53:16 +01:00
ben.rgb merge ttk branch to master 2016-02-08 15:53:16 +01:00
CMakeLists.txt tk - path first 2016-02-23 18:21:40 +01:00
configure merge ttk branch to master 2016-02-08 15:53:16 +01:00
configure.in merge ttk branch to master 2016-02-08 15:53:16 +01:00
double.c merge ttk branch to master 2016-02-08 15:53:16 +01:00
double.tcl merge ttk branch to master 2016-02-08 15:53:16 +01:00
gears.c merge ttk branch to master 2016-02-08 15:53:16 +01:00
gears.tcl merge ttk branch to master 2016-02-08 15:53:16 +01:00
image.c merge ttk branch to master 2016-02-08 15:53:16 +01:00
image.h merge ttk branch to master 2016-02-08 15:53:16 +01:00
index.c merge ttk branch to master 2016-02-08 15:53:16 +01:00
index.tcl merge ttk branch to master 2016-02-08 15:53:16 +01:00
LICENSE merge ttk branch to master 2016-02-08 15:53:16 +01:00
Makefile.in merge ttk branch to master 2016-02-08 15:53:16 +01:00
multisample.tcl merge ttk branch to master 2016-02-08 15:53:16 +01:00
overlay.c merge ttk branch to master 2016-02-08 15:53:16 +01:00
overlay.tcl merge ttk branch to master 2016-02-08 15:53:16 +01:00
pbuffer.c merge ttk branch to master 2016-02-08 15:53:16 +01:00
pbuffer.tcl merge ttk branch to master 2016-02-08 15:53:16 +01:00
pkgIndex.tcl.in merge ttk branch to master 2016-02-08 15:53:16 +01:00
README.bin merge ttk branch to master 2016-02-08 15:53:16 +01:00
README.stubs merge ttk branch to master 2016-02-08 15:53:16 +01:00
stereo.c merge ttk branch to master 2016-02-08 15:53:16 +01:00
stereo.tcl merge ttk branch to master 2016-02-08 15:53:16 +01:00
texture.c merge ttk branch to master 2016-02-08 15:53:16 +01:00
texture.tcl merge ttk branch to master 2016-02-08 15:53:16 +01:00
togl_ws.h.in merge ttk branch to master 2016-02-08 15:53:16 +01:00
togl.c minor 2016-02-22 18:26:01 +01:00
togl.decls merge ttk branch to master 2016-02-08 15:53:16 +01:00
togl.h merge ttk branch to master 2016-02-08 15:53:16 +01:00
Togl.py merge ttk branch to master 2016-02-08 15:53:16 +01:00
toglAGL.c merge ttk branch to master 2016-02-08 15:53:16 +01:00
toglDecls.h merge ttk branch to master 2016-02-08 15:53:16 +01:00
toglFont.c merge ttk branch to master 2016-02-08 15:53:16 +01:00
toglGLX.c merge ttk branch to master 2016-02-08 15:53:16 +01:00
toglNSOpenGL.c fixes for nsopengl 2016-02-22 09:21:47 +01:00
toglProcAddr.c merge ttk branch to master 2016-02-08 15:53:16 +01:00
toglpy.h merge ttk branch to master 2016-02-08 15:53:16 +01:00
toglStubInit.c merge ttk branch to master 2016-02-08 15:53:16 +01:00
toglStubLib.c merge ttk branch to master 2016-02-08 15:53:16 +01:00
toglWGL.c merge ttk branch to master 2016-02-08 15:53:16 +01:00
tree2.rgba merge ttk branch to master 2016-02-08 15:53:16 +01:00

This version of Togl is entirely free from
dependencies on Tcl/Tk's internal functions. It uses the public stubs
interface, witch means that the same binary works with any stubs-aware
wish (i.e. version >= 8.1)

It has been tested on Windows NT/2000 and Linux for several Tcl/Tk versions up
to 8.4a3. I haven't been able to test the Mac port, it propably needs mending 
but I can't see why it shouldn't work in principle.

Implementation wise, what differs from Togl 1.5 is that Togl_MakeWindowExist()
is replaced by Togl_CreateWindow(), a function that gets registered in Tk as a callback for window creation. In Tk/Tk 8.4a3, there is a new public API call 
Tk_SetClassProcs() to register this callback, but for earlier versions of Tk 
one needs to do this using some pointer magic.
There is a run-time check to determine which method to use, hence the 
same binary runs on all versions of Wish from 8.1 and up. For this to 
work you need to compile against the headers from Tcl/Tk 8.4a3 or later, or
the binary will only work for Tcl/Tk 8.1-8.4a2.
The tk8.4a3 public headers (tk8.4a3.h + tkDecls.h) are included for
conveniance, and they are used if the flag -DUSE_LOCAL_TK_H is specified.

Jonas Beskow, December 2001