XEmacs 21.2.24 "Hecate".
[chise/xemacs-chise.git.1] / src / console-msw.h
index 45e2561..f3a6c3b 100644 (file)
@@ -38,7 +38,8 @@ Boston, MA 02111-1307, USA.  */
 #endif
 #include <windows.h>
 #include <ddeml.h>     /* DDE management library */
-#ifndef __CYGWIN32__
+#if !defined(__CYGWIN32__) && !defined(__MINGW32__) \
+       || CYGWIN_VERSION_DLL_MAJOR > 20
 #include <shellapi.h>  /* FileManager/Explorer drag and drop */
 #include <commctrl.h>
 #endif
@@ -66,6 +67,7 @@ Boston, MA 02111-1307, USA.  */
 /* The name of the main window class */
 #define XEMACS_CLASS "XEmacs"
 
+#define XEMACS_CONTROL_CLASS "XEmacsControl"
 
 /*
  * Console
@@ -133,7 +135,7 @@ struct mswindows_frame
   /* DC for this win32 window */
   HDC hdc;
 
-  /* compatibke DC for bitmap operations */
+  /* compatible DC for bitmap operations */
   HDC cdc;
 
   /* Time of last click event, for button 2 emul */
@@ -142,17 +144,20 @@ struct mswindows_frame
   /* Coordinates of last click event, screen-relative */
   POINTS last_click_point;
 #ifdef HAVE_TOOLBARS
-  /* Toolbar hashtable. See toolbar-msw.c */
-  Lisp_Object toolbar_hashtable;
+  /* Toolbar hash table. See toolbar-msw.c */
+  Lisp_Object toolbar_hash_table;
   unsigned int toolbar_checksum[4];
 #endif
 
-  /* Menu hashtable. See menubar-msw.c */
-  Lisp_Object menu_hashtable;
+  /* Menu hash table. See menubar-msw.c */
+  Lisp_Object menu_hash_table;
 
   /* Menu checksum. See menubar-msw.c */
   unsigned int menu_checksum;
 
+  /* Widget glyphs attached to this frame. See glyphs-msw.c */
+  Lisp_Object widget_hash_table;
+
   /* Frame title hash value. See frame-msw.c */
   unsigned int title_checksum;
 
@@ -175,12 +180,14 @@ struct mswindows_frame
 
 #define FRAME_MSWINDOWS_DATA(f) FRAME_TYPE_DATA (f, mswindows)
 
-#define FRAME_MSWINDOWS_HANDLE(f)        (FRAME_MSWINDOWS_DATA (f)->hwnd)
-#define FRAME_MSWINDOWS_DC(f)            (FRAME_MSWINDOWS_DATA (f)->hdc)
-#define FRAME_MSWINDOWS_CDC(f)           (FRAME_MSWINDOWS_DATA (f)->cdc)
-#define FRAME_MSWINDOWS_MENU_HASHTABLE(f) (FRAME_MSWINDOWS_DATA (f)->menu_hashtable)
-#define FRAME_MSWINDOWS_TOOLBAR_HASHTABLE(f) \
- (FRAME_MSWINDOWS_DATA (f)->toolbar_hashtable)
+#define FRAME_MSWINDOWS_HANDLE(f)         (FRAME_MSWINDOWS_DATA (f)->hwnd)
+#define FRAME_MSWINDOWS_DC(f)             (FRAME_MSWINDOWS_DATA (f)->hdc)
+#define FRAME_MSWINDOWS_CDC(f)            (FRAME_MSWINDOWS_DATA (f)->cdc)
+#define FRAME_MSWINDOWS_MENU_HASH_TABLE(f) (FRAME_MSWINDOWS_DATA (f)->menu_hash_table)
+#define FRAME_MSWINDOWS_TOOLBAR_HASH_TABLE(f) \
+ (FRAME_MSWINDOWS_DATA (f)->toolbar_hash_table)
+#define FRAME_MSWINDOWS_WIDGET_HASH_TABLE(f) \
+ (FRAME_MSWINDOWS_DATA (f)->widget_hash_table)
 #define FRAME_MSWINDOWS_TOOLBAR_CHECKSUM(f,pos) \
  (FRAME_MSWINDOWS_DATA (f)->toolbar_checksum[pos])
 #define FRAME_MSWINDOWS_MENU_CHECKSUM(f)  (FRAME_MSWINDOWS_DATA (f)->menu_checksum)
@@ -219,6 +226,9 @@ struct mswindows_frame
 /* win32 "Windows" procedure */
 LRESULT WINAPI mswindows_wnd_proc (HWND hwnd, UINT msg, WPARAM wParam,
                                   LPARAM lParam);
+LRESULT WINAPI mswindows_control_wnd_proc (HWND hwnd,
+                                          UINT msg, WPARAM wParam,
+                                          LPARAM lParam);
 
 void mswindows_redraw_exposed_area (struct frame *f, int x, int y, 
                                    int width, int height);