annotate oldXMenu/XDestAssoc.c @ 106768:21fd634f447a

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.
author YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
date Sat, 09 Jan 2010 13:16:32 +0900
parents fec5e03aaf59
children ec58e5c426ef 5cc91198ffb2
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
25858
Dave Love <fx@gnu.org>
parents:
diff changeset
1 /* Copyright Massachusetts Institute of Technology 1985 */
Dave Love <fx@gnu.org>
parents:
diff changeset
2
76133
995b45abe69d Remove license text in favour of including copyright.h, as was done in
Glenn Morris <rgm@gnu.org>
parents: 75348
diff changeset
3 #include "copyright.h"
995b45abe69d Remove license text in favour of including copyright.h, as was done in
Glenn Morris <rgm@gnu.org>
parents: 75348
diff changeset
4
25858
Dave Love <fx@gnu.org>
parents:
diff changeset
5
Dave Love <fx@gnu.org>
parents:
diff changeset
6 #include <X11/Xlib.h>
Dave Love <fx@gnu.org>
parents:
diff changeset
7 #include "X10.h"
Dave Love <fx@gnu.org>
parents:
diff changeset
8
Dave Love <fx@gnu.org>
parents:
diff changeset
9 /*
Dave Love <fx@gnu.org>
parents:
diff changeset
10 * XDestroyAssocTable - Destroy (free the memory associated with)
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 25858
diff changeset
11 * an XAssocTable.
25858
Dave Love <fx@gnu.org>
parents:
diff changeset
12 */
Dave Love <fx@gnu.org>
parents:
diff changeset
13 XDestroyAssocTable(table)
Dave Love <fx@gnu.org>
parents:
diff changeset
14 register XAssocTable *table;
Dave Love <fx@gnu.org>
parents:
diff changeset
15 {
Dave Love <fx@gnu.org>
parents:
diff changeset
16 register int i;
Dave Love <fx@gnu.org>
parents:
diff changeset
17 register XAssoc *bucket;
Dave Love <fx@gnu.org>
parents:
diff changeset
18 register XAssoc *Entry, *entry_next;
Dave Love <fx@gnu.org>
parents:
diff changeset
19
Dave Love <fx@gnu.org>
parents:
diff changeset
20 /* Free the buckets. */
Dave Love <fx@gnu.org>
parents:
diff changeset
21 for (i = 0; i < table->size; i++) {
Dave Love <fx@gnu.org>
parents:
diff changeset
22 bucket = &table->buckets[i];
Dave Love <fx@gnu.org>
parents:
diff changeset
23 for (
Dave Love <fx@gnu.org>
parents:
diff changeset
24 Entry = bucket->next;
Dave Love <fx@gnu.org>
parents:
diff changeset
25 Entry != bucket;
Dave Love <fx@gnu.org>
parents:
diff changeset
26 Entry = entry_next
Dave Love <fx@gnu.org>
parents:
diff changeset
27 ) {
Dave Love <fx@gnu.org>
parents:
diff changeset
28 entry_next = Entry->next;
Dave Love <fx@gnu.org>
parents:
diff changeset
29 free((char *)Entry);
Dave Love <fx@gnu.org>
parents:
diff changeset
30 }
Dave Love <fx@gnu.org>
parents:
diff changeset
31 }
Dave Love <fx@gnu.org>
parents:
diff changeset
32
Dave Love <fx@gnu.org>
parents:
diff changeset
33 /* Free the bucket array. */
Dave Love <fx@gnu.org>
parents:
diff changeset
34 free((char *)table->buckets);
Dave Love <fx@gnu.org>
parents:
diff changeset
35
Dave Love <fx@gnu.org>
parents:
diff changeset
36 /* Free the table. */
Dave Love <fx@gnu.org>
parents:
diff changeset
37 free((char *)table);
Dave Love <fx@gnu.org>
parents:
diff changeset
38 }
Dave Love <fx@gnu.org>
parents:
diff changeset
39
52401
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 49600
diff changeset
40 /* arch-tag: a536bf02-8d63-45f2-8c1a-c7f9fd4da2cf
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 49600
diff changeset
41 (do not change this comment) */