1 /*
2  * tkWin.h --
3  *
4  *  Declarations of public types and interfaces that are only
5  *  available under Windows.
6  *
7  * Copyright (c) 1996-1997 by Sun Microsystems, Inc.
8  *
9  * See the file "license.terms" for information on usage and redistribution
10  * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
11  *
12  * RCS: @(#) Id
13  */
14 
15 #ifndef _TKWIN
16 #define _TKWIN
17 
18 /*
19  * We must specify the lower version we intend to support. In particular
20  * the SystemParametersInfo API doesn't like to receive structures that
21  * are larger than it expects which affects the font assignements.
22  *
23  * WINVER = 0x0410 means Windows 98 and above
24  */
25 
26 #ifndef WINVER
27 #define WINVER 0x0410
28 #endif
29 #ifndef _WIN32_WINDOWS
30 #define _WIN32_WINDOWS 0x0410
31 #endif
32 
33 #ifndef _TK
34 #include <tk.h>
35 #endif
36 
37 #define WIN32_LEAN_AND_MEAN
38 #include <windows.h>
39 #undef WIN32_LEAN_AND_MEAN
40 
41 #ifdef BUILD_tk
42 # undef TCL_STORAGE_CLASS
43 # define TCL_STORAGE_CLASS DLLEXPORT
44 #endif
45 
46 /*
47  * The following messages are used to communicate between a Tk toplevel
48  * and its container window. A Tk container may not be able to provide
49  * service to all of the following requests at the moment. But an embedded
50  * Tk window will send out these requests to support external Tk container
51  * application.
52  */
53 
54 #define TK_CLAIMFOCUS      (WM_USER)      /* an embedded window requests to focus */
55 #define TK_GEOMETRYREQ      (WM_USER+1)      /* an embedded window requests to change size */
56 #define TK_ATTACHWINDOW      (WM_USER+2)      /* an embedded window requests to attach */
57 #define TK_DETACHWINDOW      (WM_USER+3)      /* an embedded window requests to detach */
58 #define TK_MOVEWINDOW      (WM_USER+4)      /* an embedded window requests to move */
59 #define TK_RAISEWINDOW      (WM_USER+5)      /* an embedded window requests to raise */
60 #define TK_ICONIFY      (WM_USER+6)      /* an embedded window requests to iconify */
61 #define TK_DEICONIFY      (WM_USER+7)      /* an embedded window requests to deiconify */
62 #define TK_WITHDRAW      (WM_USER+8)      /* an embedded window requests to withdraw */
63 #define TK_GETFRAMEWID      (WM_USER+9)      /* an embedded window requests a frame window id */
64 #define TK_OVERRIDEREDIRECT (WM_USER+10)    /* an embedded window requests to overrideredirect */
65 #define TK_SETMENU      (WM_USER+11)    /* an embedded window requests to setup menu */
66 #define TK_STATE      (WM_USER+12)    /* an embedded window sets/gets state */
67 #define TK_INFO        (WM_USER+13)    /* an embedded window requests a container's info */
68 
69 /*
70  * The following are sub-messages (wParam) for TK_INFO.  An embedded window may
71  * send a TK_INFO message with one of the sub-messages to query a container
72  * for verification and availability
73  */
74 #define TK_CONTAINER_VERIFY      0x01
75 #define TK_CONTAINER_ISAVAILABLE    0x02
76 
77 
78 /*
79  *--------------------------------------------------------------
80  *
81  * Exported procedures defined for the Windows platform only.
82  *
83  *--------------------------------------------------------------
84  */
85 
86 #include "tkPlatDecls.h"
87 
88 # undef TCL_STORAGE_CLASS
89 # define TCL_STORAGE_CLASS DLLIMPORT
90 
91 #endif /* _TKWIN */
92