diff options
Diffstat (limited to 'Master/tlpkg/tlperl0/lib/Tk/pTk/tkWinPort.h')
-rwxr-xr-x | Master/tlpkg/tlperl0/lib/Tk/pTk/tkWinPort.h | 156 |
1 files changed, 156 insertions, 0 deletions
diff --git a/Master/tlpkg/tlperl0/lib/Tk/pTk/tkWinPort.h b/Master/tlpkg/tlperl0/lib/Tk/pTk/tkWinPort.h new file mode 100755 index 00000000000..3c95b5d5d10 --- /dev/null +++ b/Master/tlpkg/tlperl0/lib/Tk/pTk/tkWinPort.h @@ -0,0 +1,156 @@ +/* + * tkWinPort.h -- + * + * This header file handles porting issues that occur because of + * differences between Windows and Unix. It should be the only + * file that contains #ifdefs to handle different flavors of OS. + * + * Copyright (c) 1995-1996 Sun Microsystems, Inc. + * + * See the file "license.terms" for information on usage and redistribution + * of this file, and for a DISCLAIMER OF ALL WARRANTIES. + * + * RCS: @(#) $Id: tkWinPort.h,v 1.9 2002/10/19 02:10:20 hobbs Exp $ + */ + +#ifndef _WINPORT +#define _WINPORT +#define NEED_REAL_STDIO +#include <X11/Xlib.h> +#include <X11/cursorfont.h> +#include <X11/keysym.h> +#include <X11/Xatom.h> +#include <X11/Xutil.h> + +#include <errno.h> +#include <ctype.h> +#include <math.h> +#include <stdlib.h> +#include <string.h> +#include <limits.h> +#include <fcntl.h> +#include <io.h> +#ifdef __EMX__ +# include <sys/types.h> +#endif + +/* + * Need to block out this include for building extensions with MetroWerks + * compiler for Win32. + */ + +#ifndef __MWERKS__ +#include <sys/stat.h> +#endif + +#include <time.h> +#ifdef __CYGWIN__ +# define _T(x) L##x +#else +# include <tchar.h> +#endif + +#ifdef _MSC_VER +# define hypot _hypot +#else /* _MSC_VER */ +# ifdef __EMX__ +# define strncasecmp strnicmp +# endif +#endif /* _MSC_VER */ + +#ifndef __GNUC__ +# define strncasecmp strnicmp +# define strcasecmp stricmp +#endif + +#define NBBY 8 + +#ifndef OPEN_MAX +#define OPEN_MAX 32 +#endif + +/* + * The following define causes Tk to use its internal keysym hash table + */ + +#define REDO_KEYSYM_LOOKUP + +/* + * The following macro checks to see whether there is buffered + * input data available for a stdio FILE. + */ + +#ifdef _MSC_VER +# define TK_READ_DATA_PENDING(f) ((f)->_cnt > 0) +#else /* _MSC_VER */ +# define TK_READ_DATA_PENDING(f) ((f)->level > 0) +#endif /* _MSC_VER */ + +/* + * The following stubs implement various calls that don't do anything + * under Windows. + */ + +#define TkFreeWindowId(dispPtr,w) +#define TkInitXId(dispPtr) +#define TkpCmapStressed(tkwin,colormap) (0) +#define XFlush(display) +#define XGrabServer(display) +#define XUngrabServer(display) +#define TkpSync(display) + +/* + * The following functions are implemented as macros under Windows. + */ + +#define XFree(data) {if ((data) != NULL) ckfree((char *) (data));} +#define XNoOp(display) {display->request++;} +#define XSynchronize(display, bool) {display->request++;} +#define XSync(display, bool) {display->request++;} +#define XVisualIDFromVisual(visual) (visual->visualid) + +/* Additional translations needed for Tk extensions (Pixmap). */ + +#define XPutImage(display, dr, gc, i, a, b, c, d, e, f) \ + TkPutImage(NULL, 0, display, dr, gc, i, a, b, c, d, e, f) +#define XDefaultVisual(display, screen) ((screen)->root_visual) +#define XDefaultScreen(display) ((display)->screens) +#define XDefaultColormap(display, screen) ((screen)->cmap) +#define XDefaultDepth(display, screen) ((screen)->root_depth) + +/* + * The following Tk functions are implemented as macros under Windows. + */ + +#define TkpGetPixel(p) (((((p)->red >> 8) & 0xff) \ + | ((p)->green & 0xff00) | (((p)->blue << 8) & 0xff0000)) | 0x20000000) + +/* + * These calls implement native bitmaps which are not currently + * supported under Windows. The macros eliminate the calls. + */ + +#define TkpDefineNativeBitmaps() +#define TkpCreateNativeBitmap(display, source) None +#define TkpGetNativeAppBitmap(display, name, w, h) None + +/* + * Define timezone for gettimeofday. + */ +#if 0 +struct timezone { + int tz_minuteswest; + int tz_dsttime; +}; +#else +#undef timezone +struct timezone; +struct timeval; +#endif + +#ifndef _TCLINT +#include <tclInt.h> +#endif + + +#endif /* _WINPORT */ |