]> code.delx.au - gnu-emacs/blobdiff - src/w32term.h
Revision: miles@gnu.org--gnu-2005/emacs--unicode--0--patch-55
[gnu-emacs] / src / w32term.h
index 524b1097c42323966d546df628a6bc773a78a08d..61c7c5b61152a8df6158e8076b743a12bcb5c51c 100644 (file)
@@ -278,8 +278,25 @@ struct x_output
 {
   PIX_TYPE background_pixel;
   PIX_TYPE foreground_pixel;
+
+  /* Keep track of focus.  May be EXPLICIT if we received a FocusIn for this
+     frame, or IMPLICIT if we received an EnterNotify.
+     FocusOut and LeaveNotify clears EXPLICIT/IMPLICIT. */
+  int focus_state;
+
 };
 
+enum
+{
+  /* Values for focus_state, used as bit mask.
+     EXPLICIT means we received a FocusIn for the frame and know it has
+     the focus.  IMPLICIT means we recevied an EnterNotify and the frame
+     may have the focus if no window manager is running.
+     FocusOut and LeaveNotify clears EXPLICIT/IMPLICIT. */
+  FOCUS_NONE     = 0,
+  FOCUS_IMPLICIT = 1,
+  FOCUS_EXPLICIT = 2
+};
 
 struct w32_output
 {
@@ -740,6 +757,11 @@ EXFUN (Fx_display_grayscale_p, 1);
       ? BDF_1D_FONT : BDF_2D_FONT))
 
 typedef DWORD (WINAPI * ClipboardSequence_Proc) ();
+typedef BOOL (WINAPI * AppendMenuW_Proc) (
+    IN HMENU,
+    IN UINT,
+    IN UINT_PTR,
+    IN LPCWSTR);
 
 /* arch-tag: f201d05a-1240-4fc5-8ea4-ca24d4ee5671
    (do not change this comment) */