An Introduction To Embedded Tk (page 31 of 32)

[Previous Page][Next Page][Table of Contents]

13 Using ET To Build MS-Windows And Macintosh Applications

ET, like Tcl/Tk, was originally written to support the open X11 windowing system only. But nowadays, people often need to write applications for popular proprietary windowing systems such as Windows95 or Macintosh. Beginning with release 4.1, Tcl/Tk supports these proprietary products, and so does ET. (Actually, only Windows95 is supported as of this writing. The author has no access to a Macintosh system on which to develop and test a Macintosh port.)

On a Macintosh, ET applications that don't call Xlib directly should compile with little or no change. The Mac won't support the Et_ReadStdin() routine, or the Et_Display global variable, but then again, neither of these make much sense on a Mac. The application will compile in much the same way as it does for X11, except that you should use the et41mac.c source file to the et.o library.

More change is required to support Windows95, however. The Windows version of ET doesn't contain either Et_Init() or Et_MainLoop(). Instead these functions will be invoked automatically. An ET program for Windows should contain a single Et_Main() procedure definition to do all its setup, and nothing more. Hence, if your application used to look like this:

  void main(int argc, char **argv){
    Et_Init(&argc,argv);
    /* Your setup code here */
    Et_MainLoop();
  }
then under Windows, it will look like this instead:
  void Et_Main(int argc, char **argv){
    /* Your setup code here */
  }
Besides that, and the obvious fact that Et_Display is not supported, a Windows ET application should work just like an X11 ET application. It is compiled in the same way, except that you should use the et41win.c source file for the et.o library.

[Next Page][Table of Contents]