00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef _TKWININT
00018 #define _TKWININT
00019
00020 #ifndef _TKINT
00021 #include "tkInt.h"
00022 #endif
00023
00024
00025
00026
00027
00028 #ifndef _TKWIN
00029 #include "tkWin.h"
00030 #endif
00031
00032 #ifndef _TKPORT
00033 #include "tkPort.h"
00034 #endif
00035
00036
00037
00038
00039
00040
00041 #ifndef WS_EX_TOOLWINDOW
00042 #define WS_EX_TOOLWINDOW 0x00000080L
00043 #endif
00044
00045
00046
00047
00048
00049
00050 typedef struct TkWinDCState {
00051 HPALETTE palette;
00052 int bkmode;
00053 } TkWinDCState;
00054
00055
00056
00057
00058
00059
00060
00061 #define TWD_BITMAP 1
00062 #define TWD_WINDOW 2
00063 #define TWD_WINDC 3
00064
00065 typedef struct {
00066 int type;
00067 HWND handle;
00068 TkWindow *winPtr;
00069 } TkWinWindow;
00070
00071 typedef struct {
00072 int type;
00073 HBITMAP handle;
00074 Colormap colormap;
00075 int depth;
00076 } TkWinBitmap;
00077
00078 typedef struct {
00079 int type;
00080 HDC hdc;
00081 }TkWinDC;
00082
00083 typedef union {
00084 int type;
00085 TkWinWindow window;
00086 TkWinBitmap bitmap;
00087 TkWinDC winDC;
00088 } TkWinDrawable;
00089
00090
00091
00092
00093
00094 #define TkWinGetHWND(w) (((TkWinDrawable *) w)->window.handle)
00095 #define TkWinGetWinPtr(w) (((TkWinDrawable *) w)->window.winPtr)
00096 #define TkWinGetHBITMAP(w) (((TkWinDrawable *) w)->bitmap.handle)
00097 #define TkWinGetColormap(w) (((TkWinDrawable *) w)->bitmap.colormap)
00098 #define TkWinGetHDC(w) (((TkWinDrawable *) w)->winDC.hdc)
00099
00100
00101
00102
00103
00104 typedef struct {
00105 HPALETTE palette;
00106 UINT size;
00107 int stale;
00108
00109
00110
00111 Tcl_HashTable refCounts;
00112
00113 } TkWinColormap;
00114
00115
00116
00117
00118
00119 #define TkWinGetPalette(colormap) (((TkWinColormap *) colormap)->palette)
00120
00121
00122
00123
00124
00125 #define TK_WIN_TOPLEVEL_CLASS_NAME "TkTopLevel"
00126 #define TK_WIN_CHILD_CLASS_NAME "TkChild"
00127
00128
00129
00130
00131
00132
00133 extern int tkpWinRopModes[];
00134
00135
00136
00137
00138
00139
00140 #define TK_3D_LIGHT2 TK_3D_DARK_GC+1
00141 #define TK_3D_DARK2 TK_3D_DARK_GC+2
00142
00143
00144
00145
00146
00147 #include "tkIntPlatDecls.h"
00148
00149
00150
00151
00152
00153 #ifdef BUILD_tk
00154 #undef TCL_STORAGE_CLASS
00155 #define TCL_STORAGE_CLASS DLLEXPORT
00156 #endif
00157
00158 EXTERN LRESULT CALLBACK TkWinChildProc _ANSI_ARGS_((HWND hwnd, UINT message,
00159 WPARAM wParam, LPARAM lParam));
00160
00161
00162
00163
00164
00165 EXTERN void TkWinUpdatingClipboard(int mode);
00166
00167 #undef TCL_STORAGE_CLASS
00168 #define TCL_STORAGE_CLASS DLLIMPORT
00169
00170 #endif
00171