Commit 1d371022 authored by Dmitry Antipov's avatar Dmitry Antipov

* xterm.h (struct x_output) [USE_X_TOOLKIT || USE_GTK]: Define

menubar_height as such.  Tweak comment.
(FRAME_MENUBAR_HEIGHT) [!USE_X_TOOLKIT && !USE_GTK]: No-op.
* xterm.c (handle_one_xevent):
* gtkutil.c (xg_event_is_for_menubar):
* xfns.c (x_window) [USE_X_TOOLKIT]:
* xmenu.c (set_frame_menubar, free_frame_menubar): Prefer
to use FRAME_MENUBAR_HEIGHT.
parent c448c624
2014-07-22 Dmitry Antipov <dmantipov@yandex.ru>
* xterm.h (struct x_output) [USE_X_TOOLKIT || USE_GTK]: Define
menubar_height as such. Tweak comment.
(FRAME_MENUBAR_HEIGHT) [!USE_X_TOOLKIT && !USE_GTK]: No-op.
* xterm.c (handle_one_xevent):
* gtkutil.c (xg_event_is_for_menubar):
* xfns.c (x_window) [USE_X_TOOLKIT]:
* xmenu.c (set_frame_menubar, free_frame_menubar): Prefer
to use FRAME_MENUBAR_HEIGHT.
2014-07-21 Dmitry Antipov <dmantipov@yandex.ru>
* frame.c (Fframe_parameters): Always report frame height without
......
......@@ -3374,7 +3374,7 @@ xg_event_is_for_menubar (struct frame *f, const XEvent *event)
if (! (event->xbutton.x >= 0
&& event->xbutton.x < FRAME_PIXEL_WIDTH (f)
&& event->xbutton.y >= 0
&& event->xbutton.y < f->output_data.x->menubar_height
&& event->xbutton.y < FRAME_MENUBAR_HEIGHT (f)
&& event->xbutton.same_screen))
return 0;
......
......@@ -2274,7 +2274,7 @@ x_window (struct frame *f, long window_prompting, int minibuffer_only)
}
#endif
f->output_data.x->menubar_height = menubar_size;
FRAME_MENUBAR_HEIGHT (f) = menubar_size;
#ifndef USE_LUCID
/* Motif seems to need this amount added to the sizes
......@@ -2507,10 +2507,6 @@ x_window (struct frame *f)
class_hints.res_class = SSDATA (Vx_resource_class);
XSetClassHint (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f), &class_hints);
/* The menubar is part of the ordinary display;
it does not count in addition to the height of the window. */
f->output_data.x->menubar_height = 0;
/* This indicates that we use the "Passive Input" input model.
Unless we do this, we don't get the Focus{In,Out} events that we
need to draw the cursor correctly. Accursed bureaucrats.
......
......@@ -1023,7 +1023,7 @@ set_frame_menubar (struct frame *f, bool first_time, bool deep_p)
#endif /* USE_LUCID */
#endif /* 1 */
f->output_data.x->menubar_height = menubar_size;
FRAME_MENUBAR_HEIGHT (f) = menubar_size;
}
#endif /* not USE_GTK */
......@@ -1066,7 +1066,7 @@ free_frame_menubar (struct frame *f)
menubar_widget = f->output_data.x->menubar_widget;
f->output_data.x->menubar_height = 0;
FRAME_MENUBAR_HEIGHT (f) = 0;
if (menubar_widget)
{
......
......@@ -6834,7 +6834,7 @@ handle_one_xevent (struct x_display_info *dpyinfo,
&& event->xbutton.x >= 0
&& event->xbutton.x < FRAME_PIXEL_WIDTH (f)
&& event->xbutton.y >= 0
&& event->xbutton.y < f->output_data.x->menubar_height
&& event->xbutton.y < FRAME_MENUBAR_HEIGHT (f)
&& event->xbutton.same_screen)
{
if (!f->output_data.x->saved_menu_event)
......
......@@ -428,11 +428,11 @@ extern void select_visual (struct x_display_info *);
struct x_output
{
/* Height of menu bar widget, in pixels.
Zero if not using the X toolkit.
When using the toolkit, this value is not meaningful
if the menubar is turned off. */
#if defined (USE_X_TOOLKIT) || defined (USE_GTK)
/* Height of menu bar widget, in pixels. This value
is not meaningful if the menubar is turned off. */
int menubar_height;
#endif
/* Height of tool bar widget, in pixels. top_height is used if tool bar
at top, bottom_height if tool bar is at the bottom.
......@@ -714,10 +714,14 @@ enum
#endif /* !USE_GTK */
#endif
#if defined (USE_X_TOOLKIT) || defined (USE_GTK)
#define FRAME_MENUBAR_HEIGHT(f) ((f)->output_data.x->menubar_height)
#else
#define FRAME_MENUBAR_HEIGHT(f) ((void) f, 0)
#endif /* USE_X_TOOLKIT || USE_GTK */
#define FRAME_FONT(f) ((f)->output_data.x->font)
#define FRAME_FONTSET(f) ((f)->output_data.x->fontset)
#define FRAME_MENUBAR_HEIGHT(f) ((f)->output_data.x->menubar_height)
#define FRAME_TOOLBAR_TOP_HEIGHT(f) ((f)->output_data.x->toolbar_top_height)
#define FRAME_TOOLBAR_BOTTOM_HEIGHT(f) \
((f)->output_data.x->toolbar_bottom_height)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment