extern struct frame *x_window_to_frame ();
-enum text_cursor_kinds {
- NO_CURSOR = -1,
- FILLED_BOX_CURSOR,
- HOLLOW_BOX_CURSOR,
- BAR_CURSOR
-};
-
/* Structure recording bitmaps and reference count.
If REFCOUNT is 0 then this record is free to be reused. */
event). It points to the focus frame's selected window's
frame. It differs from w32_focus_frame when we're using a global
minibuffer. */
- struct frame *w32_highlight_frame;
+ struct frame *x_highlight_frame;
/* Cache of images. */
struct image_cache *image_cache;
Cursor cross_cursor;
Cursor hourglass_cursor;
Cursor horizontal_drag_cursor;
+ Cursor hand_cursor;
/* Window whose cursor is hourglass_cursor. This window is
temporarily mapped to display an hourglass cursor. */
/* Flag to set when the window needs to be completely repainted. */
int needs_exposure;
- /* What kind of text cursor is drawn in this window right now?
- (If there is no cursor (phys_cursor_x < 0), then this means nothing.) */
- enum text_cursor_kinds current_cursor;
-
- /* What kind of text cursor should we draw in the future?
- This should always be filled_box_cursor or bar_cursor. */
- enum text_cursor_kinds desired_cursor;
-
- /* Width of bar cursor (if we are using that). */
- int cursor_width;
-
DWORD dwStyle;
/* The size of the extra width currently allotted for vertical
/* Nonzero means menubar is currently active. */
char menubar_active;
+ /* Nonzero means a menu command is being processed. */
+ char menu_command_in_progress;
+
/* Nonzero means menubar is about to become active, but should be
brought up to date first. */
volatile char pending_menu_activation;
/* The background for which the above relief GCs were set up.
They are changed only when a different background is involved. */
unsigned long relief_background;
+
+ /* See enum below */
+ int want_fullscreen;
+
+ /* This many pixels are the difference between the outer window (i.e. the
+ left of the window manager decoration) and FRAME_W32_WINDOW. */
+ int x_pixels_diff;
+
+ /* This many pixels are the difference between the outer window (i.e. the
+ top of the window manager titlebar) and FRAME_W32_WINDOW. */
+ int y_pixels_diff;
};
extern struct w32_output w32term_display;
+enum
+{
+ /* Values used as a bit mask, BOTH == WIDTH | HEIGHT. */
+ FULLSCREEN_NONE = 0,
+ FULLSCREEN_WIDTH = 1,
+ FULLSCREEN_HEIGHT = 2,
+ FULLSCREEN_BOTH = 3,
+ FULLSCREEN_WAIT = 4,
+ FULLSCREEN_MOVE_WAIT = 8,
+};
+
/* Return the window associated with the frame F. */
#define FRAME_W32_WINDOW(f) ((f)->output_data.w32->window_desc)
#define PIXEL_WIDTH(f) ((f)->output_data.w32->pixel_width)
#define PIXEL_HEIGHT(f) ((f)->output_data.w32->pixel_height)
-#define FRAME_DESIRED_CURSOR(f) ((f)->output_data.w32->desired_cursor)
-
/* Value is the smallest width of any character in any font on frame F. */
#define FRAME_SMALLEST_CHAR_WIDTH(F) \
extern struct font_info *w32_load_font ();
extern void w32_unload_font ();
+extern void x_fullscreen_adjust P_ ((struct frame *f, int *, int *,
+ int *, int *));
+
/* Define for earlier versions of Visual C */
#ifndef WM_MOUSEWHEEL
#define WM_MOUSEWHEEL (WM_MOUSELAST + 1)
#define WM_EMACS_DESTROY_CARET (WM_EMACS_START + 16)
#define WM_EMACS_SHOW_CARET (WM_EMACS_START + 17)
#define WM_EMACS_HIDE_CARET (WM_EMACS_START + 18)
-#define WM_EMACS_END (WM_EMACS_START + 19)
+#define WM_EMACS_SETCURSOR (WM_EMACS_START + 19)
+#define WM_EMACS_END (WM_EMACS_START + 20)
#define WND_FONTWIDTH_INDEX (0)
#define WND_LINEHEIGHT_INDEX (4)