Make line<->pixel_y conversion macros aware of native menu/tool bars.
authorYAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
Sat, 9 Jan 2010 04:16:32 +0000 (13:16 +0900)
committerYAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
Sat, 9 Jan 2010 04:16:32 +0000 (13:16 +0900)
commit4b00d3b1594378e77b3b485d1ed272be5bdab644
treeec9fd6e300bf9619c3327345780ba85f1f839f15
parent69e2f18578cd9b5089a68787a1a6e80ca21e6256
Make line<->pixel_y conversion macros aware of native menu/tool bars.
They are placed above the internal border.  This supersedes special
treatment of native tool bars in the display code.

This fixes wrong display position of native menu bars and bogus mouse
highlighting of native tool bars, both of which can be found when
internal border width is large.  Also it fixes wrong flashed part on
visible bell with native menu bars.

* frame.h (FRAME_TOP_MARGIN_HEIGHT): New macro.
(FRAME_LINE_TO_PIXEL_Y, FRAME_PIXEL_Y_TO_LINE): Take account of pseudo
windows above internal border.

* window.h (WINDOW_MENU_BAR_P, WINDOW_TOOL_BAR_P): New macros.
(WINDOW_TOP_EDGE_Y, WINDOW_BOTTOM_EDGE_Y): Take account of pseudo
windows above internal border.

* xdisp.c (get_glyph_string_clip_rects, init_glyph_string): Don't treat
tool bar windows specially.

* xfns.c (x_set_tool_bar_lines): Take account of menu bar height.

* xterm.c (x_after_update_window_line): Don't treat tool bar windows
specially.
(XTflash): Take account of menu bar height.

* w32term.c (x_after_update_window_line): Don't treat tool bar windows
specially.
src/ChangeLog
src/frame.h
src/w32term.c
src/window.h
src/xdisp.c
src/xfns.c
src/xterm.c