annotate src/macterm.h @ 92113:2a9ed1c080b4

(font_match_xlfd, font_check_xlfd_parse): New funs. (font_parse_xlfd): Use them for sanity check. (Finternal_set_font_style_table): Make sure the table is bijiective.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Fri, 22 Feb 2008 19:04:03 +0000
parents 4d9fc08769fa
children 4e76a03232e5
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
1 /* Display module for Mac OS.
64770
a0d1312ede66 Update years in copyright notice; nfc.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 64425
diff changeset
2 Copyright (C) 2000, 2001, 2002, 2003, 2004,
79759
fc2bcd2a8aad Add 2008 to copyright years.
Glenn Morris <rgm@gnu.org>
parents: 78501
diff changeset
3 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
4
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
5 This file is part of GNU Emacs.
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
6
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
7 GNU Emacs is free software; you can redistribute it and/or modify
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
8 it under the terms of the GNU General Public License as published by
78260
922696f363b0 Switch license to GPLv3 or later.
Glenn Morris <rgm@gnu.org>
parents: 76332
diff changeset
9 the Free Software Foundation; either version 3, or (at your option)
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
10 any later version.
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
11
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
12 GNU Emacs is distributed in the hope that it will be useful,
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
15 GNU General Public License for more details.
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
16
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
17 You should have received a copy of the GNU General Public License
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
18 along with GNU Emacs; see the file COPYING. If not, write to
64084
a8fa7c632ee4 Update FSF's address.
Lute Kamstra <lute@gnu.org>
parents: 62104
diff changeset
19 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
a8fa7c632ee4 Update FSF's address.
Lute Kamstra <lute@gnu.org>
parents: 62104
diff changeset
20 Boston, MA 02110-1301, USA. */
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
21
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
22 /* Contributed by Andrew Choi (akochoi@mac.com). */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
23
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
24 #include "macgui.h"
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
25 #include "frame.h"
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
26
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
27 #define RGB_TO_ULONG(r, g, b) (((r) << 16) | ((g) << 8) | (b))
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
28
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
29 #define RED_FROM_ULONG(color) ((color) >> 16)
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
30 #define GREEN_FROM_ULONG(color) (((color) >> 8) & 0xff)
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
31 #define BLUE_FROM_ULONG(color) ((color) & 0xff)
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
32
54150
6c8849d06ab3 Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents: 52401
diff changeset
33 /* Do not change `* 0x101' in the following lines to `<< 8'. If
6c8849d06ab3 Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents: 52401
diff changeset
34 changed, image masks in 1-bit depth will not work. */
6c8849d06ab3 Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents: 52401
diff changeset
35 #define RED16_FROM_ULONG(color) (RED_FROM_ULONG(color) * 0x101)
6c8849d06ab3 Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents: 52401
diff changeset
36 #define GREEN16_FROM_ULONG(color) (GREEN_FROM_ULONG(color) * 0x101)
6c8849d06ab3 Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents: 52401
diff changeset
37 #define BLUE16_FROM_ULONG(color) (BLUE_FROM_ULONG(color) * 0x101)
6c8849d06ab3 Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents: 52401
diff changeset
38
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
39 #define BLACK_PIX_DEFAULT(f) RGB_TO_ULONG(0,0,0)
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
40 #define WHITE_PIX_DEFAULT(f) RGB_TO_ULONG(255,255,255)
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
41
65911
a86e9a781ba7 (mac_term_init): Add types to extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 65252
diff changeset
42 #define FONT_WIDTH(f) ((f)->max_bounds.width)
a86e9a781ba7 (mac_term_init): Add types to extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 65252
diff changeset
43 #define FONT_HEIGHT(f) ((f)->ascent + (f)->descent)
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
44 #define FONT_BASE(f) ((f)->ascent)
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
45 #define FONT_DESCENT(f) ((f)->descent)
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
46
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
47 /* Structure recording bitmaps and reference count.
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
48 If REFCOUNT is 0 then this record is free to be reused. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
49
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 47139
diff changeset
50 struct mac_bitmap_record
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
51 {
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
52 char *bitmap_data;
54338
d037e941c800 Image consolidation:
Kim F. Storm <storm@cua.dk>
parents: 54150
diff changeset
53 char *file;
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
54 int refcount;
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
55 int height, width;
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
56 };
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
57
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
58
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
59 /* For each display (currently only one on mac), we have a structure that
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
60 records information about it. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
61
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
62 struct mac_display_info
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
63 {
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
64 /* Chain of all mac_display_info structures. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
65 struct mac_display_info *next;
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
66
83619
5da6a46ddbd6 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83560
diff changeset
67 /* The generic display parameters corresponding to this X display. */
5da6a46ddbd6 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83560
diff changeset
68 struct terminal *terminal;
5da6a46ddbd6 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83560
diff changeset
69
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
70 /* This is a cons cell of the form (NAME . FONT-LIST-CACHE).
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
71 The same cons cell also appears in x_display_name_list. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
72 Lisp_Object name_list_element;
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
73
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
74 /* Number of frames that are on this display. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
75 int reference_count;
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
76
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
77 /* Dots per inch of the screen. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
78 double resx, resy;
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
79
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
80 /* Number of planes on this screen. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
81 int n_planes;
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
82
67459
b8f20fe8fb6e (mac_make_lispy_event_code, mac_aedesc_to_lisp): Add externs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67089
diff changeset
83 /* Whether the screen supports color */
54150
6c8849d06ab3 Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents: 52401
diff changeset
84 int color_p;
6c8849d06ab3 Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents: 52401
diff changeset
85
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
86 /* Dimensions of this screen. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
87 int height, width;
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
88
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
89 /* Mask of things that cause the mouse to be grabbed. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
90 int grabbed;
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
91
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
92 #if 0
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
93 /* Emacs bitmap-id of the default icon bitmap for this frame.
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
94 Or -1 if none has been allocated yet. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
95 int icon_bitmap_id;
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
96
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
97 #endif
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
98 /* The root window of this screen. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
99 Window root_window;
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
100
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
101 /* The cursor to use for vertical scroll bars. */
50301
c0f3ec529c05 Allow building on Mac OS X again after Kim's merging of display code.
Andrew Choi <akochoi@shaw.ca>
parents: 50223
diff changeset
102 Cursor vertical_scroll_bar_cursor;
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
103
50361
1d4bd00d1ec8 (EMACS_CLASS): Remove.
Kim F. Storm <storm@cua.dk>
parents: 50301
diff changeset
104 /* Resource data base */
1d4bd00d1ec8 (EMACS_CLASS): Remove.
Kim F. Storm <storm@cua.dk>
parents: 50301
diff changeset
105 XrmDatabase xrdb;
1d4bd00d1ec8 (EMACS_CLASS): Remove.
Kim F. Storm <storm@cua.dk>
parents: 50301
diff changeset
106
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
107 /* A table of all the fonts we have already loaded. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
108 struct font_info *font_table;
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
109
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
110 /* The current capacity of font_table. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
111 int font_table_size;
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
112
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
113 /* Minimum width over all characters in all fonts in font_table. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
114 int smallest_char_width;
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
115
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
116 /* Minimum font height over all fonts in font_table. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
117 int smallest_font_height;
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
118
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
119 /* Reusable Graphics Context for drawing a cursor in a non-default face. */
64425
fd8d1b7269d6 (struct mac_display_info): Change types of scratch_cursor_gc
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 64084
diff changeset
120 GC scratch_cursor_gc;
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
121
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
122 /* These variables describe the range of text currently shown in its
65911
a86e9a781ba7 (mac_term_init): Add types to extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 65252
diff changeset
123 mouse-face, together with the window they apply to. As long as
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
124 the mouse stays within this range, we need not redraw anything on
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
125 its account. Rows and columns are glyph matrix positions in
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
126 MOUSE_FACE_WINDOW. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
127 int mouse_face_beg_row, mouse_face_beg_col;
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
128 int mouse_face_beg_x, mouse_face_beg_y;
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
129 int mouse_face_end_row, mouse_face_end_col;
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
130 int mouse_face_end_x, mouse_face_end_y;
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
131 int mouse_face_past_end;
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
132 Lisp_Object mouse_face_window;
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
133 int mouse_face_face_id;
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
134 Lisp_Object mouse_face_overlay;
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
135
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
136 /* 1 if a mouse motion event came and we didn't handle it right away because
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
137 gc was in progress. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
138 int mouse_face_deferred_gc;
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
139
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
140 /* FRAME and X, Y position of mouse when last checked for
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
141 highlighting. X and Y can be negative or out of range for the frame. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
142 struct frame *mouse_face_mouse_frame;
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
143 int mouse_face_mouse_x, mouse_face_mouse_y;
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
144
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
145 /* Nonzero means defer mouse-motion highlighting. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
146 int mouse_face_defer;
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
147
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
148 /* Nonzero means that the mouse highlight should not be shown. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
149 int mouse_face_hidden;
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
150
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
151 int mouse_face_image_state;
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
152
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
153 char *mac_id_name;
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
154
65911
a86e9a781ba7 (mac_term_init): Add types to extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 65252
diff changeset
155 /* The number of fonts actually stored in the font table.
78501
1677cf1c2509 Replace `iff' in comments.
Glenn Morris <rgm@gnu.org>
parents: 78260
diff changeset
156 font_table[n] is used and valid if 0 <= n < n_fonts. 0 <=
65911
a86e9a781ba7 (mac_term_init): Add types to extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 65252
diff changeset
157 n_fonts <= font_table_size and font_table[i].name != 0. */
a86e9a781ba7 (mac_term_init): Add types to extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 65252
diff changeset
158 int n_fonts;
a86e9a781ba7 (mac_term_init): Add types to extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 65252
diff changeset
159
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
160 /* Pointer to bitmap records. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
161 struct mac_bitmap_record *bitmaps;
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
162
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
163 /* Allocated size of bitmaps field. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
164 int bitmaps_size;
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
165
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
166 /* Last used bitmap index. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
167 int bitmaps_last;
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
168
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
169 /* The frame (if any) which has the window that has keyboard focus.
61575
999aacd9ac84 (cfstring_create_with_string) [TARGET_API_MAC_CARBON]: New extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60636
diff changeset
170 Zero if none. This is examined by Ffocus_frame in macfns.c. Note
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
171 that a mere EnterNotify event can set this; if you need to know the
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
172 last frame specified in a FocusIn or FocusOut event, use
61575
999aacd9ac84 (cfstring_create_with_string) [TARGET_API_MAC_CARBON]: New extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60636
diff changeset
173 x_focus_event_frame. */
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
174 struct frame *x_focus_frame;
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
175
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
176 /* The last frame mentioned in a FocusIn or FocusOut event. This is
61575
999aacd9ac84 (cfstring_create_with_string) [TARGET_API_MAC_CARBON]: New extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60636
diff changeset
177 separate from x_focus_frame, because whether or not LeaveNotify
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
178 events cause us to lose focus depends on whether or not we have
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
179 received a FocusIn event for it. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
180 struct frame *x_focus_event_frame;
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
181
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
182 /* The frame which currently has the visual highlight, and should get
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
183 keyboard input (other sorts of input have the frame encoded in the
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
184 event). It points to the focus frame's selected window's
61575
999aacd9ac84 (cfstring_create_with_string) [TARGET_API_MAC_CARBON]: New extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60636
diff changeset
185 frame. It differs from x_focus_frame when we're using a global
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
186 minibuffer. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
187 struct frame *x_highlight_frame;
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
188 };
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
189
59146
9bde7721ad0f * dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents: 58752
diff changeset
190 /* This checks to make sure we have a display. */
9bde7721ad0f * dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents: 58752
diff changeset
191 extern void check_mac P_ ((void));
9bde7721ad0f * dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents: 58752
diff changeset
192
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
193 #define x_display_info mac_display_info
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
194
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
195 /* This is a chain of structures for all the X displays currently in use. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
196 extern struct x_display_info *x_display_list;
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
197
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
198 /* This is a chain of structures for all the displays currently in use. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
199 extern struct mac_display_info one_mac_display_info;
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
200
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
201 /* This is a list of cons cells, each of the form (NAME . FONT-LIST-CACHE),
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
202 one for each element of x_display_list and in the same order.
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
203 NAME is the name of the frame.
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
204 FONT-LIST-CACHE records previous values returned by x-list-fonts. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
205 extern Lisp_Object x_display_name_list;
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
206
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
207 extern struct x_display_info *x_display_info_for_name P_ ((Lisp_Object));
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
208
65911
a86e9a781ba7 (mac_term_init): Add types to extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 65252
diff changeset
209 extern struct mac_display_info *mac_term_init P_ ((Lisp_Object, char *, char *));
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
210
54367
df306ddd8136 * macterm.h (x_list_fonts, x_get_font_info, x_load_font)
Kim F. Storm <storm@cua.dk>
parents: 54338
diff changeset
211 extern Lisp_Object x_list_fonts P_ ((struct frame *, Lisp_Object, int, int));
df306ddd8136 * macterm.h (x_list_fonts, x_get_font_info, x_load_font)
Kim F. Storm <storm@cua.dk>
parents: 54338
diff changeset
212 extern struct font_info *x_get_font_info P_ ((struct frame *f, int));
df306ddd8136 * macterm.h (x_list_fonts, x_get_font_info, x_load_font)
Kim F. Storm <storm@cua.dk>
parents: 54338
diff changeset
213 extern struct font_info *x_load_font P_ ((struct frame *, char *, int));
df306ddd8136 * macterm.h (x_list_fonts, x_get_font_info, x_load_font)
Kim F. Storm <storm@cua.dk>
parents: 54338
diff changeset
214 extern struct font_info *x_query_font P_ ((struct frame *, char *));
df306ddd8136 * macterm.h (x_list_fonts, x_get_font_info, x_load_font)
Kim F. Storm <storm@cua.dk>
parents: 54338
diff changeset
215 extern void x_find_ccl_program P_ ((struct font_info *));
df306ddd8136 * macterm.h (x_list_fonts, x_get_font_info, x_load_font)
Kim F. Storm <storm@cua.dk>
parents: 54338
diff changeset
216
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
217 /* When Emacs uses a tty window, tty_display in frame.c points to an
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
218 x_output struct . */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
219 struct x_output
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
220 {
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
221 unsigned long background_pixel;
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
222 unsigned long foreground_pixel;
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
223 };
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
224
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
225 /* The collection of data describing a window on the Mac. */
72986
37ec6edfcc15 (struct mac_output): Remove member menubar_active.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 72546
diff changeset
226 struct mac_output
37ec6edfcc15 (struct mac_output): Remove member menubar_active.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 72546
diff changeset
227 {
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
228 /* Placeholder for things accessed through output_data.x. Must
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
229 appear first. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
230 struct x_output x_compatible;
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
231
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
232 /* Menubar "widget" handle. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
233 int menubar_widget;
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
234
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
235 FRAME_PTR mFP; /* points back to the frame struct */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
236
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
237 /* Here are the Graphics Contexts for the default font. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
238 GC normal_gc; /* Normal video */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
239 GC reverse_gc; /* Reverse video */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
240 GC cursor_gc; /* cursor drawing */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
241
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
242 /* The window used for this frame.
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
243 May be zero while the frame object is being created
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
244 and the window has not yet been created. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
245 Window window_desc;
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
246
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
247 /* The window that is the parent of this window.
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
248 Usually this is a window that was made by the window manager,
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
249 but it can be the root window, and it can be explicitly specified
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
250 (see the explicit_parent field, below). */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
251 Window parent_desc;
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
252
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
253 /* Default ASCII font of this frame. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
254 XFontStruct *font;
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
255
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
256 /* The baseline offset of the default ASCII font. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
257 int baseline_offset;
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
258
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
259 /* If a fontset is specified for this frame instead of font, this
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
260 value contains an ID of the fontset, else -1. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
261 int fontset;
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
262
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
263 /* Pixel values used for various purposes.
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
264 border_pixel may be -1 meaning use a gray tile. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
265 unsigned long cursor_pixel;
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
266 unsigned long border_pixel;
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
267 unsigned long mouse_pixel;
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
268 unsigned long cursor_foreground_pixel;
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
269
65911
a86e9a781ba7 (mac_term_init): Add types to extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 65252
diff changeset
270 #if 0
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
271 /* Foreground color for scroll bars. A value of -1 means use the
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
272 default (black for non-toolkit scroll bars). */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
273 unsigned long scroll_bar_foreground_pixel;
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 47139
diff changeset
274
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
275 /* Background color for scroll bars. A value of -1 means use the
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
276 default (background color of the frame for non-toolkit scroll
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
277 bars). */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
278 unsigned long scroll_bar_background_pixel;
65911
a86e9a781ba7 (mac_term_init): Add types to extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 65252
diff changeset
279 #endif
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
280
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
281 /* Descriptor for the cursor in use for this window. */
50301
c0f3ec529c05 Allow building on Mac OS X again after Kim's merging of display code.
Andrew Choi <akochoi@shaw.ca>
parents: 50223
diff changeset
282 Cursor text_cursor;
c0f3ec529c05 Allow building on Mac OS X again after Kim's merging of display code.
Andrew Choi <akochoi@shaw.ca>
parents: 50223
diff changeset
283 Cursor nontext_cursor;
c0f3ec529c05 Allow building on Mac OS X again after Kim's merging of display code.
Andrew Choi <akochoi@shaw.ca>
parents: 50223
diff changeset
284 Cursor modeline_cursor;
c0f3ec529c05 Allow building on Mac OS X again after Kim's merging of display code.
Andrew Choi <akochoi@shaw.ca>
parents: 50223
diff changeset
285 Cursor hand_cursor;
c0f3ec529c05 Allow building on Mac OS X again after Kim's merging of display code.
Andrew Choi <akochoi@shaw.ca>
parents: 50223
diff changeset
286 Cursor hourglass_cursor;
c0f3ec529c05 Allow building on Mac OS X again after Kim's merging of display code.
Andrew Choi <akochoi@shaw.ca>
parents: 50223
diff changeset
287 Cursor horizontal_drag_cursor;
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
288 #if 0
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
289 /* Window whose cursor is hourglass_cursor. This window is temporarily
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
290 mapped to display a hourglass-cursor. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
291 Window hourglass_window;
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 47139
diff changeset
292
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
293 /* Non-zero means hourglass cursor is currently displayed. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
294 unsigned hourglass_p : 1;
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
295
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
296 /* Flag to set when the window needs to be completely repainted. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
297 int needs_exposure;
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
298
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
299 #endif
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
300
60624
d76335457c6a (struct mac_output) [TARGET_API_MAC_CARBON]: New member
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60365
diff changeset
301 #if TARGET_API_MAC_CARBON
d76335457c6a (struct mac_output) [TARGET_API_MAC_CARBON]: New member
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60365
diff changeset
302 /* The Mac control reference for the hourglass (progress indicator)
d76335457c6a (struct mac_output) [TARGET_API_MAC_CARBON]: New member
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60365
diff changeset
303 shown at the upper-right corner of the window. */
d76335457c6a (struct mac_output) [TARGET_API_MAC_CARBON]: New member
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60365
diff changeset
304 ControlRef hourglass_control;
d76335457c6a (struct mac_output) [TARGET_API_MAC_CARBON]: New member
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60365
diff changeset
305 #endif
d76335457c6a (struct mac_output) [TARGET_API_MAC_CARBON]: New member
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60365
diff changeset
306
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
307 /* This is the Emacs structure for the display this frame is on. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
308 /* struct w32_display_info *display_info; */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
309
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
310 /* Nonzero means our parent is another application's window
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
311 and was explicitly specified. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
312 char explicit_parent;
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
313
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
314 /* Nonzero means tried already to make this frame visible. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
315 char asked_for_visible;
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
316
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
317 /* Relief GCs, colors etc. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
318 struct relief
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
319 {
64425
fd8d1b7269d6 (struct mac_display_info): Change types of scratch_cursor_gc
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 64084
diff changeset
320 GC gc;
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
321 unsigned long pixel;
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
322 int allocated_p;
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
323 }
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
324 black_relief, white_relief;
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
325
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
326 /* The background for which the above relief GCs were set up.
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
327 They are changed only when a different background is involved. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
328 unsigned long relief_background;
59146
9bde7721ad0f * dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents: 58752
diff changeset
329
76332
2ebc26a83cc7 (struct mac_output): New member `internal_border_width'.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 76115
diff changeset
330 /* Width of the internal border. */
2ebc26a83cc7 (struct mac_output): New member `internal_border_width'.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 76115
diff changeset
331 int internal_border_width;
2ebc26a83cc7 (struct mac_output): New member `internal_border_width'.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 76115
diff changeset
332
59146
9bde7721ad0f * dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents: 58752
diff changeset
333 /* Hints for the size and the position of a window. */
9bde7721ad0f * dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents: 58752
diff changeset
334 XSizeHints *size_hints;
69434
8eb564c8e819 (struct mac_output) [USE_CG_DRAWING]: New member cg_context.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 69302
diff changeset
335
81411
ddf18bd8d3c1 (struct mac_output) [USE_MAC_TOOLBAR]: New member
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 81243
diff changeset
336 #if USE_MAC_TOOLBAR
ddf18bd8d3c1 (struct mac_output) [USE_MAC_TOOLBAR]: New member
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 81243
diff changeset
337 /* This variable records the gravity value of the window position if
ddf18bd8d3c1 (struct mac_output) [USE_MAC_TOOLBAR]: New member
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 81243
diff changeset
338 the window has an external tool bar when it is created. The
ddf18bd8d3c1 (struct mac_output) [USE_MAC_TOOLBAR]: New member
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 81243
diff changeset
339 position of the window is adjusted using this information when
ddf18bd8d3c1 (struct mac_output) [USE_MAC_TOOLBAR]: New member
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 81243
diff changeset
340 the tool bar is first redisplayed. Once the tool bar is
ddf18bd8d3c1 (struct mac_output) [USE_MAC_TOOLBAR]: New member
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 81243
diff changeset
341 redisplayed, it is set to 0 in order to avoid further
ddf18bd8d3c1 (struct mac_output) [USE_MAC_TOOLBAR]: New member
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 81243
diff changeset
342 adjustment. */
ddf18bd8d3c1 (struct mac_output) [USE_MAC_TOOLBAR]: New member
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 81243
diff changeset
343 int toolbar_win_gravity;
ddf18bd8d3c1 (struct mac_output) [USE_MAC_TOOLBAR]: New member
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 81243
diff changeset
344 #endif
ddf18bd8d3c1 (struct mac_output) [USE_MAC_TOOLBAR]: New member
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 81243
diff changeset
345
69434
8eb564c8e819 (struct mac_output) [USE_CG_DRAWING]: New member cg_context.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 69302
diff changeset
346 #if USE_CG_DRAWING
8eb564c8e819 (struct mac_output) [USE_CG_DRAWING]: New member cg_context.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 69302
diff changeset
347 /* Quartz 2D graphics context. */
8eb564c8e819 (struct mac_output) [USE_CG_DRAWING]: New member cg_context.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 69302
diff changeset
348 CGContextRef cg_context;
8eb564c8e819 (struct mac_output) [USE_CG_DRAWING]: New member cg_context.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 69302
diff changeset
349 #endif
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
350 };
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
351
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
352 typedef struct mac_output mac_output;
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
353
50158
4f45129dc10e (FRAME_X_OUTPUT, FRAME_X_WINDOW, FRAME_X_DISPLAY):
Kim F. Storm <storm@cua.dk>
parents: 49600
diff changeset
354 /* Return the X output data for frame F. */
4f45129dc10e (FRAME_X_OUTPUT, FRAME_X_WINDOW, FRAME_X_DISPLAY):
Kim F. Storm <storm@cua.dk>
parents: 49600
diff changeset
355 #define FRAME_X_OUTPUT(f) ((f)->output_data.mac)
4f45129dc10e (FRAME_X_OUTPUT, FRAME_X_WINDOW, FRAME_X_DISPLAY):
Kim F. Storm <storm@cua.dk>
parents: 49600
diff changeset
356
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
357 /* Return the Mac window used for displaying data in frame F. */
65911
a86e9a781ba7 (mac_term_init): Add types to extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 65252
diff changeset
358 #define FRAME_MAC_WINDOW(f) ((f)->output_data.mac->window_desc)
a86e9a781ba7 (mac_term_init): Add types to extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 65252
diff changeset
359 #define FRAME_X_WINDOW(f) ((f)->output_data.mac->window_desc)
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
360
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
361 #define FRAME_FONT(f) ((f)->output_data.mac->font)
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
362 #define FRAME_FONTSET(f) ((f)->output_data.mac->fontset)
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
363
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
364 #define FRAME_BASELINE_OFFSET(f) ((f)->output_data.mac->baseline_offset)
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
365
59146
9bde7721ad0f * dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents: 58752
diff changeset
366 #define FRAME_SIZE_HINTS(f) ((f)->output_data.mac->size_hints)
9bde7721ad0f * dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents: 58752
diff changeset
367
61575
999aacd9ac84 (cfstring_create_with_string) [TARGET_API_MAC_CARBON]: New extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60636
diff changeset
368 /* This gives the mac_display_info structure for the display F is on. */
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
369 #define FRAME_MAC_DISPLAY_INFO(f) (&one_mac_display_info)
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
370 #define FRAME_X_DISPLAY_INFO(f) (&one_mac_display_info)
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
371
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
372 /* This is the `Display *' which frame F is on. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
373 #define FRAME_MAC_DISPLAY(f) (0)
50158
4f45129dc10e (FRAME_X_OUTPUT, FRAME_X_WINDOW, FRAME_X_DISPLAY):
Kim F. Storm <storm@cua.dk>
parents: 49600
diff changeset
374 #define FRAME_X_DISPLAY(f) (0)
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
375
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
376 /* This is the 'font_info *' which frame F has. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
377 #define FRAME_MAC_FONT_TABLE(f) (FRAME_MAC_DISPLAY_INFO (f)->font_table)
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
378
81243
a45c50c85284 (mac_get_window_bounds): Move extern from macfns.c.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 81159
diff changeset
379 /* The difference in pixels between the top left corner of the
a45c50c85284 (mac_get_window_bounds): Move extern from macfns.c.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 81159
diff changeset
380 Emacs window (including possible window manager decorations)
a45c50c85284 (mac_get_window_bounds): Move extern from macfns.c.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 81159
diff changeset
381 and FRAME_MAC_WINDOW (f). */
a45c50c85284 (mac_get_window_bounds): Move extern from macfns.c.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 81159
diff changeset
382 #define FRAME_OUTER_TO_INNER_DIFF_X(f) ((f)->x_pixels_diff)
a45c50c85284 (mac_get_window_bounds): Move extern from macfns.c.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 81159
diff changeset
383 #define FRAME_OUTER_TO_INNER_DIFF_Y(f) ((f)->y_pixels_diff)
a45c50c85284 (mac_get_window_bounds): Move extern from macfns.c.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 81159
diff changeset
384
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
385 /* Value is the smallest width of any character in any font on frame F. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
386
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
387 #define FRAME_SMALLEST_CHAR_WIDTH(F) \
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
388 FRAME_MAC_DISPLAY_INFO(F)->smallest_char_width
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
389
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
390 /* Value is the smallest height of any font on frame F. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
391
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
392 #define FRAME_SMALLEST_FONT_HEIGHT(F) \
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
393 FRAME_MAC_DISPLAY_INFO(F)->smallest_font_height
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
394
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
395 /* Mac-specific scroll bar stuff. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
396
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
397 /* We represent scroll bars as lisp vectors. This allows us to place
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
398 references to them in windows without worrying about whether we'll
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
399 end up with windows referring to dead scroll bars; the garbage
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
400 collector will free it when its time comes.
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
401
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
402 We use struct scroll_bar as a template for accessing fields of the
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
403 vector. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
404
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
405 struct scroll_bar {
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
406
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
407 /* These fields are shared by all vectors. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
408 EMACS_INT size_from_Lisp_Vector_struct;
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
409 struct Lisp_Vector *next_from_Lisp_Vector_struct;
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
410
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
411 /* The window we're a scroll bar for. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
412 Lisp_Object window;
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
413
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
414 /* The next and previous in the chain of scroll bars in this frame. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
415 Lisp_Object next, prev;
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
416
81159
d7bcc159ccc6 (struct scroll_bar): Rename member control_handle_low
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 76332
diff changeset
417 /* The Mac control reference of this scroll bar. Since this is a
76092
008b1f6418fd (x_display_info_for_display): Remove extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 75348
diff changeset
418 pointer value, we store it split into two Lisp integers. */
81159
d7bcc159ccc6 (struct scroll_bar): Rename member control_handle_low
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 76332
diff changeset
419 Lisp_Object control_ref_low, control_ref_high;
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
420
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
421 /* The position and size of the scroll bar in pixels, relative to the
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
422 frame. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
423 Lisp_Object top, left, width, height;
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
424
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
425 /* The starting and ending positions of the handle, relative to the
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
426 handle area (i.e. zero is the top position, not
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
427 SCROLL_BAR_TOP_BORDER). If they're equal, that means the handle
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
428 hasn't been drawn yet.
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
429
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
430 These are not actually the locations where the beginning and end
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
431 are drawn; in order to keep handles from becoming invisible when
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
432 editing large files, we establish a minimum height by always
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
433 drawing handle bottoms VERTICAL_SCROLL_BAR_MIN_HANDLE pixels below
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
434 where they would be normally; the bottom and top are in a
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
435 different co-ordinate system. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
436 Lisp_Object start, end;
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
437
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
438 /* If the scroll bar handle is currently being dragged by the user,
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
439 this is the number of pixels from the top of the handle to the
76092
008b1f6418fd (x_display_info_for_display): Remove extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 75348
diff changeset
440 place where the user grabbed it. If the handle is pressed but
008b1f6418fd (x_display_info_for_display): Remove extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 75348
diff changeset
441 not dragged yet, this is a negative integer whose absolute value
008b1f6418fd (x_display_info_for_display): Remove extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 75348
diff changeset
442 is the number of pixels plus 1. If the handle isn't currently
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
443 being dragged, this is Qnil. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
444 Lisp_Object dragging;
62104
d7baa444ded8 (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]: New
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61787
diff changeset
445
81411
ddf18bd8d3c1 (struct mac_output) [USE_MAC_TOOLBAR]: New member
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 81243
diff changeset
446 #ifdef MAC_OSX
ddf18bd8d3c1 (struct mac_output) [USE_MAC_TOOLBAR]: New member
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 81243
diff changeset
447 /* t if the background of the fringe that is adjacent to a scroll
ddf18bd8d3c1 (struct mac_output) [USE_MAC_TOOLBAR]: New member
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 81243
diff changeset
448 bar is extended to the gap between the fringe and the bar. */
ddf18bd8d3c1 (struct mac_output) [USE_MAC_TOOLBAR]: New member
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 81243
diff changeset
449 Lisp_Object fringe_extended_p;
ddf18bd8d3c1 (struct mac_output) [USE_MAC_TOOLBAR]: New member
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 81243
diff changeset
450 #endif
ddf18bd8d3c1 (struct mac_output) [USE_MAC_TOOLBAR]: New member
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 81243
diff changeset
451
79898
87ccbd940d03 (struct scroll_bar): New member `redraw_needed_p'.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 79759
diff changeset
452 /* t if redraw needed in the next XTset_vertical_scroll_bar call. */
87ccbd940d03 (struct scroll_bar): New member `redraw_needed_p'.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 79759
diff changeset
453 Lisp_Object redraw_needed_p;
87ccbd940d03 (struct scroll_bar): New member `redraw_needed_p'.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 79759
diff changeset
454
62104
d7baa444ded8 (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]: New
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61787
diff changeset
455 #ifdef USE_TOOLKIT_SCROLL_BARS
d7baa444ded8 (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]: New
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61787
diff changeset
456 /* The position and size of the scroll bar handle track area in
d7baa444ded8 (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]: New
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61787
diff changeset
457 pixels, relative to the frame. */
d7baa444ded8 (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]: New
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61787
diff changeset
458 Lisp_Object track_top, track_height;
76115
2bb3bf56c28d (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]: New
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 76092
diff changeset
459
2bb3bf56c28d (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]: New
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 76092
diff changeset
460 /* Minimum length of the scroll bar handle, in pixels. */
2bb3bf56c28d (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]: New
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 76092
diff changeset
461 Lisp_Object min_handle;
62104
d7baa444ded8 (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]: New
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61787
diff changeset
462 #endif
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
463 };
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
464
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
465 /* The number of elements a vector holding a struct scroll_bar needs. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
466 #define SCROLL_BAR_VEC_SIZE \
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
467 ((sizeof (struct scroll_bar) \
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
468 - sizeof (EMACS_INT) - sizeof (struct Lisp_Vector *)) \
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
469 / sizeof (Lisp_Object))
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
470
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
471 /* Turning a lisp vector value into a pointer to a struct scroll_bar. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
472 #define XSCROLL_BAR(vec) ((struct scroll_bar *) XVECTOR (vec))
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
473
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
474
76092
008b1f6418fd (x_display_info_for_display): Remove extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 75348
diff changeset
475 /* Building a C long integer from two lisp integers. */
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
476 #define SCROLL_BAR_PACK(low, high) (XINT (high) << 16 | XINT (low))
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
477
76092
008b1f6418fd (x_display_info_for_display): Remove extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 75348
diff changeset
478 /* Setting two lisp integers to two parts of a C unsigned long. */
008b1f6418fd (x_display_info_for_display): Remove extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 75348
diff changeset
479 #define SCROLL_BAR_UNPACK(low, high, ulong) \
008b1f6418fd (x_display_info_for_display): Remove extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 75348
diff changeset
480 (XSETINT ((low), (ulong) & 0xffff), \
008b1f6418fd (x_display_info_for_display): Remove extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 75348
diff changeset
481 XSETINT ((high), (ulong) >> 16))
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
482
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
483
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
484 /* Extract the Mac control handle of the scroll bar from a struct
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
485 scroll_bar. */
81159
d7bcc159ccc6 (struct scroll_bar): Rename member control_handle_low
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 76332
diff changeset
486 #define SCROLL_BAR_CONTROL_REF(ptr) \
d7bcc159ccc6 (struct scroll_bar): Rename member control_handle_low
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 76332
diff changeset
487 ((ControlRef) SCROLL_BAR_PACK ((ptr)->control_ref_low, \
d7bcc159ccc6 (struct scroll_bar): Rename member control_handle_low
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 76332
diff changeset
488 (ptr)->control_ref_high))
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
489
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
490 /* Store a Mac control handle in a struct scroll_bar. */
81159
d7bcc159ccc6 (struct scroll_bar): Rename member control_handle_low
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 76332
diff changeset
491 #define SET_SCROLL_BAR_CONTROL_REF(ptr, ref) \
d7bcc159ccc6 (struct scroll_bar): Rename member control_handle_low
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 76332
diff changeset
492 (SCROLL_BAR_UNPACK ((ptr)->control_ref_low, \
d7bcc159ccc6 (struct scroll_bar): Rename member control_handle_low
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 76332
diff changeset
493 (ptr)->control_ref_high, (unsigned long) (ref)))
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
494
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
495 /* Return the inside width of a vertical scroll bar, given the outside
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
496 width. */
65911
a86e9a781ba7 (mac_term_init): Add types to extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 65252
diff changeset
497 #define VERTICAL_SCROLL_BAR_INSIDE_WIDTH(f, width) \
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
498 ((width) \
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
499 - VERTICAL_SCROLL_BAR_LEFT_BORDER \
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
500 - VERTICAL_SCROLL_BAR_RIGHT_BORDER \
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
501 - VERTICAL_SCROLL_BAR_WIDTH_TRIM * 2)
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
502
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
503 /* Return the length of the rectangle within which the top of the
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
504 handle must stay. This isn't equivalent to the inside height,
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 47139
diff changeset
505 because the scroll bar handle has a minimum height.
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
506
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
507 This is the real range of motion for the scroll bar, so when we're
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
508 scaling buffer positions to scroll bar positions, we use this, not
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
509 VERTICAL_SCROLL_BAR_INSIDE_HEIGHT. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
510 #define VERTICAL_SCROLL_BAR_TOP_RANGE(f,height) \
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
511 (VERTICAL_SCROLL_BAR_INSIDE_HEIGHT (f, height) \
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
512 - VERTICAL_SCROLL_BAR_MIN_HANDLE - UP_AND_DOWN_ARROWS)
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
513
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
514 /* Return the inside height of vertical scroll bar, given the outside
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
515 height. See VERTICAL_SCROLL_BAR_TOP_RANGE too. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
516 #define VERTICAL_SCROLL_BAR_INSIDE_HEIGHT(f,height) \
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
517 ((height) - VERTICAL_SCROLL_BAR_TOP_BORDER \
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
518 - VERTICAL_SCROLL_BAR_BOTTOM_BORDER)
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
519
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
520
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
521 /* Border widths for scroll bars.
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
522
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
523 Scroll bar windows don't have any borders; their border width is
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
524 set to zero, and we redraw borders ourselves. This makes the code
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
525 a bit cleaner, since we don't have to convert between outside width
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
526 (used when relating to the rest of the screen) and inside width
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
527 (used when sizing and drawing the scroll bar window itself).
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
528
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
529 The handle moves up and down/back and forth in a rectangle inset
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
530 from the edges of the scroll bar. These are widths by which we
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
531 inset the handle boundaries from the scroll bar edges. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
532 #define VERTICAL_SCROLL_BAR_LEFT_BORDER (0)
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
533 #define VERTICAL_SCROLL_BAR_RIGHT_BORDER (0)
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
534 #define VERTICAL_SCROLL_BAR_TOP_BORDER (0)
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
535 #define VERTICAL_SCROLL_BAR_BOTTOM_BORDER (0)
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
536
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
537 /* Minimum lengths for scroll bar handles, in pixels. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
538 #define VERTICAL_SCROLL_BAR_MIN_HANDLE (16)
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
539
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
540 /* Combined length of up and down arrow boxes in scroll bars, in pixels. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
541 #define UP_AND_DOWN_ARROWS (32)
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
542
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
543 /* Trimming off a few pixels from each side prevents
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
544 text from glomming up against the scroll bar */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
545 #define VERTICAL_SCROLL_BAR_WIDTH_TRIM (0)
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
546
69302
65ed574e7a16 (MAC_AQUA_VERTICAL_SCROLL_BAR_WIDTH)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 68667
diff changeset
547 /* Variations of possible Aqua scroll bar width. */
65ed574e7a16 (MAC_AQUA_VERTICAL_SCROLL_BAR_WIDTH)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 68667
diff changeset
548 #define MAC_AQUA_VERTICAL_SCROLL_BAR_WIDTH (15)
65ed574e7a16 (MAC_AQUA_VERTICAL_SCROLL_BAR_WIDTH)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 68667
diff changeset
549 #define MAC_AQUA_SMALL_VERTICAL_SCROLL_BAR_WIDTH (11)
65ed574e7a16 (MAC_AQUA_VERTICAL_SCROLL_BAR_WIDTH)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 68667
diff changeset
550
60624
d76335457c6a (struct mac_output) [TARGET_API_MAC_CARBON]: New member
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60365
diff changeset
551 /* Size of hourglass controls */
75201
7303ce23430c (mac_quit_char_key_p): Move extern outside #ifdef MAC_OSX.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 75157
diff changeset
552 #define HOURGLASS_WIDTH (16)
7303ce23430c (mac_quit_char_key_p): Move extern outside #ifdef MAC_OSX.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 75157
diff changeset
553 #define HOURGLASS_HEIGHT (16)
60624
d76335457c6a (struct mac_output) [TARGET_API_MAC_CARBON]: New member
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60365
diff changeset
554
70875
9db2b3fb6b52 (TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70564
diff changeset
555 /* Some constants that are used locally. */
75101
a7e7b1189938 (MAC_EMACS_CREATOR_CODE): New enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 74630
diff changeset
556 /* Creator code for Emacs on Mac OS. */
a7e7b1189938 (MAC_EMACS_CREATOR_CODE): New enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 74630
diff changeset
557 enum {
a7e7b1189938 (MAC_EMACS_CREATOR_CODE): New enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 74630
diff changeset
558 MAC_EMACS_CREATOR_CODE = 'EMAx'
a7e7b1189938 (MAC_EMACS_CREATOR_CODE): New enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 74630
diff changeset
559 };
a7e7b1189938 (MAC_EMACS_CREATOR_CODE): New enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 74630
diff changeset
560
70875
9db2b3fb6b52 (TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70564
diff changeset
561 /* Apple event descriptor types */
9db2b3fb6b52 (TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70564
diff changeset
562 enum {
9db2b3fb6b52 (TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70564
diff changeset
563 TYPE_FILE_NAME = 'fNam'
9db2b3fb6b52 (TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70564
diff changeset
564 };
9db2b3fb6b52 (TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70564
diff changeset
565
9db2b3fb6b52 (TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70564
diff changeset
566 /* Keywords for Apple event attributes */
9db2b3fb6b52 (TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70564
diff changeset
567 enum {
9db2b3fb6b52 (TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70564
diff changeset
568 KEY_EMACS_SUSPENSION_ID_ATTR = 'esId' /* typeUInt32 */
9db2b3fb6b52 (TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70564
diff changeset
569 };
9db2b3fb6b52 (TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70564
diff changeset
570
71179
6ac6b21d26f4 (EVENT_PARAM_TEXT_INPUT_SEQUENCE_NUMBER): New enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 71066
diff changeset
571 /* Carbon event parameter names. */
6ac6b21d26f4 (EVENT_PARAM_TEXT_INPUT_SEQUENCE_NUMBER): New enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 71066
diff changeset
572 enum {
6ac6b21d26f4 (EVENT_PARAM_TEXT_INPUT_SEQUENCE_NUMBER): New enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 71066
diff changeset
573 EVENT_PARAM_TEXT_INPUT_SEQUENCE_NUMBER = 'tsSn' /* typeUInt32 */
6ac6b21d26f4 (EVENT_PARAM_TEXT_INPUT_SEQUENCE_NUMBER): New enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 71066
diff changeset
574 };
6ac6b21d26f4 (EVENT_PARAM_TEXT_INPUT_SEQUENCE_NUMBER): New enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 71066
diff changeset
575
70875
9db2b3fb6b52 (TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70564
diff changeset
576 /* Some constants that are not defined in older versions. */
9db2b3fb6b52 (TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70564
diff changeset
577 #if MAC_OS_X_VERSION_MAX_ALLOWED < 1030
9db2b3fb6b52 (TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70564
diff changeset
578 /* Keywords for Apple event attributes */
9db2b3fb6b52 (TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70564
diff changeset
579 enum {
9db2b3fb6b52 (TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70564
diff changeset
580 keyReplyRequestedAttr = 'repq'
9db2b3fb6b52 (TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70564
diff changeset
581 };
9db2b3fb6b52 (TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70564
diff changeset
582 #endif
9db2b3fb6b52 (TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70564
diff changeset
583
9db2b3fb6b52 (TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70564
diff changeset
584 #if MAC_OS_X_VERSION_MAX_ALLOWED < 1040
9db2b3fb6b52 (TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70564
diff changeset
585 /* Gestalt selectors */
9db2b3fb6b52 (TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70564
diff changeset
586 enum {
9db2b3fb6b52 (TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70564
diff changeset
587 gestaltSystemVersionMajor = 'sys1',
9db2b3fb6b52 (TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70564
diff changeset
588 gestaltSystemVersionMinor = 'sys2',
9db2b3fb6b52 (TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70564
diff changeset
589 gestaltSystemVersionBugFix = 'sys3'
9db2b3fb6b52 (TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70564
diff changeset
590 };
9db2b3fb6b52 (TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70564
diff changeset
591 #endif
9db2b3fb6b52 (TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70564
diff changeset
592
9db2b3fb6b52 (TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70564
diff changeset
593 #ifdef MAC_OSX
9db2b3fb6b52 (TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70564
diff changeset
594 #if MAC_OS_X_VERSION_MAX_ALLOWED < 1020
9db2b3fb6b52 (TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70564
diff changeset
595 /* Apple event descriptor types */
9db2b3fb6b52 (TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70564
diff changeset
596 enum {
9db2b3fb6b52 (TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70564
diff changeset
597 typeUTF8Text = 'utf8'
9db2b3fb6b52 (TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70564
diff changeset
598 };
9db2b3fb6b52 (TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70564
diff changeset
599
9db2b3fb6b52 (TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70564
diff changeset
600 /* Carbon event parameter names */
9db2b3fb6b52 (TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70564
diff changeset
601 enum {
9db2b3fb6b52 (TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70564
diff changeset
602 kEventParamWindowMouseLocation = 'wmou'
9db2b3fb6b52 (TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70564
diff changeset
603 };
9db2b3fb6b52 (TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70564
diff changeset
604 #endif
9db2b3fb6b52 (TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70564
diff changeset
605 #endif
9db2b3fb6b52 (TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70564
diff changeset
606
55583
21f88361795c Various fixes to support USE_LSB_TAG with carbon emacs. Mostly fixing
Steven Tamm <steventamm@mac.com>
parents: 54367
diff changeset
607 struct frame;
21f88361795c Various fixes to support USE_LSB_TAG with carbon emacs. Mostly fixing
Steven Tamm <steventamm@mac.com>
parents: 54367
diff changeset
608 struct face;
21f88361795c Various fixes to support USE_LSB_TAG with carbon emacs. Mostly fixing
Steven Tamm <steventamm@mac.com>
parents: 54367
diff changeset
609 struct image;
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
610
55583
21f88361795c Various fixes to support USE_LSB_TAG with carbon emacs. Mostly fixing
Steven Tamm <steventamm@mac.com>
parents: 54367
diff changeset
611 Lisp_Object display_x_get_resource P_ ((struct x_display_info *,
21f88361795c Various fixes to support USE_LSB_TAG with carbon emacs. Mostly fixing
Steven Tamm <steventamm@mac.com>
parents: 54367
diff changeset
612 Lisp_Object, Lisp_Object,
21f88361795c Various fixes to support USE_LSB_TAG with carbon emacs. Mostly fixing
Steven Tamm <steventamm@mac.com>
parents: 54367
diff changeset
613 Lisp_Object, Lisp_Object));
21f88361795c Various fixes to support USE_LSB_TAG with carbon emacs. Mostly fixing
Steven Tamm <steventamm@mac.com>
parents: 54367
diff changeset
614 struct frame *check_x_frame P_ ((Lisp_Object));
21f88361795c Various fixes to support USE_LSB_TAG with carbon emacs. Mostly fixing
Steven Tamm <steventamm@mac.com>
parents: 54367
diff changeset
615 EXFUN (Fx_display_color_p, 1);
21f88361795c Various fixes to support USE_LSB_TAG with carbon emacs. Mostly fixing
Steven Tamm <steventamm@mac.com>
parents: 54367
diff changeset
616 EXFUN (Fx_display_grayscale_p, 1);
21f88361795c Various fixes to support USE_LSB_TAG with carbon emacs. Mostly fixing
Steven Tamm <steventamm@mac.com>
parents: 54367
diff changeset
617 EXFUN (Fx_display_planes, 1);
21f88361795c Various fixes to support USE_LSB_TAG with carbon emacs. Mostly fixing
Steven Tamm <steventamm@mac.com>
parents: 54367
diff changeset
618 extern void x_free_gcs P_ ((struct frame *));
64425
fd8d1b7269d6 (struct mac_display_info): Change types of scratch_cursor_gc
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 64084
diff changeset
619 extern int XParseGeometry P_ ((char *, int *, int *, unsigned int *,
fd8d1b7269d6 (struct mac_display_info): Change types of scratch_cursor_gc
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 64084
diff changeset
620 unsigned int *));
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
621
54367
df306ddd8136 * macterm.h (x_list_fonts, x_get_font_info, x_load_font)
Kim F. Storm <storm@cua.dk>
parents: 54338
diff changeset
622 /* Defined in macterm.c. */
df306ddd8136 * macterm.h (x_list_fonts, x_get_font_info, x_load_font)
Kim F. Storm <storm@cua.dk>
parents: 54338
diff changeset
623
df306ddd8136 * macterm.h (x_list_fonts, x_get_font_info, x_load_font)
Kim F. Storm <storm@cua.dk>
parents: 54338
diff changeset
624 extern void x_set_window_size P_ ((struct frame *, int, int, int));
69965
e8a7cef5ffb5 (x_set_mouse_position, x_set_mouse_pixel_position)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 69434
diff changeset
625 extern void x_set_mouse_position P_ ((struct frame *, int, int));
e8a7cef5ffb5 (x_set_mouse_position, x_set_mouse_pixel_position)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 69434
diff changeset
626 extern void x_set_mouse_pixel_position P_ ((struct frame *, int, int));
54367
df306ddd8136 * macterm.h (x_list_fonts, x_get_font_info, x_load_font)
Kim F. Storm <storm@cua.dk>
parents: 54338
diff changeset
627 extern void x_make_frame_visible P_ ((struct frame *));
69965
e8a7cef5ffb5 (x_set_mouse_position, x_set_mouse_pixel_position)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 69434
diff changeset
628 extern void x_make_frame_invisible P_ ((struct frame *));
e8a7cef5ffb5 (x_set_mouse_position, x_set_mouse_pixel_position)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 69434
diff changeset
629 extern void x_iconify_frame P_ ((struct frame *));
e8a7cef5ffb5 (x_set_mouse_position, x_set_mouse_pixel_position)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 69434
diff changeset
630 extern void x_free_frame_resources P_ ((struct frame *));
e8a7cef5ffb5 (x_set_mouse_position, x_set_mouse_pixel_position)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 69434
diff changeset
631 extern void x_destroy_window P_ ((struct frame *));
e8a7cef5ffb5 (x_set_mouse_position, x_set_mouse_pixel_position)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 69434
diff changeset
632 extern void x_wm_set_size_hint P_ ((struct frame *, long, int));
e8a7cef5ffb5 (x_set_mouse_position, x_set_mouse_pixel_position)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 69434
diff changeset
633 extern void x_delete_display P_ ((struct x_display_info *));
81159
d7bcc159ccc6 (struct scroll_bar): Rename member control_handle_low
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 76332
diff changeset
634 extern Pixmap XCreatePixmap P_ ((Display *, WindowRef, unsigned int,
54367
df306ddd8136 * macterm.h (x_list_fonts, x_get_font_info, x_load_font)
Kim F. Storm <storm@cua.dk>
parents: 54338
diff changeset
635 unsigned int, unsigned int));
81159
d7bcc159ccc6 (struct scroll_bar): Rename member control_handle_low
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 76332
diff changeset
636 extern Pixmap XCreatePixmapFromBitmapData P_ ((Display *, WindowRef, char *,
54367
df306ddd8136 * macterm.h (x_list_fonts, x_get_font_info, x_load_font)
Kim F. Storm <storm@cua.dk>
parents: 54338
diff changeset
637 unsigned int, unsigned int,
df306ddd8136 * macterm.h (x_list_fonts, x_get_font_info, x_load_font)
Kim F. Storm <storm@cua.dk>
parents: 54338
diff changeset
638 unsigned long, unsigned long,
df306ddd8136 * macterm.h (x_list_fonts, x_get_font_info, x_load_font)
Kim F. Storm <storm@cua.dk>
parents: 54338
diff changeset
639 unsigned int));
df306ddd8136 * macterm.h (x_list_fonts, x_get_font_info, x_load_font)
Kim F. Storm <storm@cua.dk>
parents: 54338
diff changeset
640 extern void XFreePixmap P_ ((Display *, Pixmap));
75157
17977cca87a6 (FONT_MAX_WIDTH): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 75101
diff changeset
641 extern GC XCreateGC P_ ((Display *, void *, unsigned long, XGCValues *));
69965
e8a7cef5ffb5 (x_set_mouse_position, x_set_mouse_pixel_position)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 69434
diff changeset
642 extern void XFreeGC P_ ((Display *, GC));
54367
df306ddd8136 * macterm.h (x_list_fonts, x_get_font_info, x_load_font)
Kim F. Storm <storm@cua.dk>
parents: 54338
diff changeset
643 extern void XSetForeground P_ ((Display *, GC, unsigned long));
59575
011a0c55c1f2 * macfns.c (x_set_foreground_color, x_set_background_color): Sync
Steven Tamm <steventamm@mac.com>
parents: 59146
diff changeset
644 extern void XSetBackground P_ ((Display *, GC, unsigned long));
81159
d7bcc159ccc6 (struct scroll_bar): Rename member control_handle_low
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 76332
diff changeset
645 extern void XSetWindowBackground P_ ((Display *, WindowRef, unsigned long));
75157
17977cca87a6 (FONT_MAX_WIDTH): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 75101
diff changeset
646 extern void XDrawLine P_ ((Display *, Pixmap, GC, int, int, int, int));
66111
3d2a18d0f5dc (mac_clear_area): Add extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 65911
diff changeset
647 extern void mac_clear_area P_ ((struct frame *, int, int,
3d2a18d0f5dc (mac_clear_area): Add extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 65911
diff changeset
648 unsigned int, unsigned int));
59146
9bde7721ad0f * dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents: 58752
diff changeset
649 extern void mac_unload_font P_ ((struct mac_display_info *, XFontStruct *));
71066
8e0c06f079c2 (mac_font_panel_visible_p, mac_show_hide_font_panel): Add externs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70875
diff changeset
650 extern int mac_font_panel_visible_p P_ ((void));
8e0c06f079c2 (mac_font_panel_visible_p, mac_show_hide_font_panel): Add externs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70875
diff changeset
651 extern OSStatus mac_show_hide_font_panel P_ ((void));
70564
aa63a41cac4d (mac_set_font_info_for_selection): Add 2nd and 3rd args in extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70497
diff changeset
652 extern OSStatus mac_set_font_info_for_selection P_ ((struct frame *, int, int));
81159
d7bcc159ccc6 (struct scroll_bar): Rename member control_handle_low
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 76332
diff changeset
653 extern OSStatus install_window_handler P_ ((WindowRef));
d7bcc159ccc6 (struct scroll_bar): Rename member control_handle_low
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 76332
diff changeset
654 extern void remove_window_handler P_ ((WindowRef));
70385
c04007f00211 (mac_make_lispy_event_code): Remove extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70305
diff changeset
655 extern OSStatus mac_post_mouse_moved_event P_ ((void));
72986
37ec6edfcc15 (struct mac_output): Remove member menubar_active.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 72546
diff changeset
656 #if !TARGET_API_MAC_CARBON
37ec6edfcc15 (struct mac_output): Remove member menubar_active.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 72546
diff changeset
657 extern void do_apple_menu P_ ((SInt16));
37ec6edfcc15 (struct mac_output): Remove member menubar_active.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 72546
diff changeset
658 #endif
69434
8eb564c8e819 (struct mac_output) [USE_CG_DRAWING]: New member cg_context.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 69302
diff changeset
659 #if USE_CG_DRAWING
8eb564c8e819 (struct mac_output) [USE_CG_DRAWING]: New member cg_context.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 69302
diff changeset
660 extern void mac_prepare_for_quickdraw P_ ((struct frame *));
8eb564c8e819 (struct mac_output) [USE_CG_DRAWING]: New member cg_context.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 69302
diff changeset
661 #endif
81243
a45c50c85284 (mac_get_window_bounds): Move extern from macfns.c.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 81159
diff changeset
662 extern void mac_get_window_bounds P_ ((struct frame *, Rect *, Rect *));
75157
17977cca87a6 (FONT_MAX_WIDTH): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 75101
diff changeset
663 extern int mac_quit_char_key_p P_ ((UInt32, UInt32));
81411
ddf18bd8d3c1 (struct mac_output) [USE_MAC_TOOLBAR]: New member
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 81243
diff changeset
664 #if USE_MAC_TOOLBAR
ddf18bd8d3c1 (struct mac_output) [USE_MAC_TOOLBAR]: New member
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 81243
diff changeset
665 extern void update_frame_tool_bar P_ ((FRAME_PTR f));
ddf18bd8d3c1 (struct mac_output) [USE_MAC_TOOLBAR]: New member
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 81243
diff changeset
666 extern void free_frame_tool_bar P_ ((FRAME_PTR f));
ddf18bd8d3c1 (struct mac_output) [USE_MAC_TOOLBAR]: New member
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 81243
diff changeset
667 #endif
54367
df306ddd8136 * macterm.h (x_list_fonts, x_get_font_info, x_load_font)
Kim F. Storm <storm@cua.dk>
parents: 54338
diff changeset
668
50158
4f45129dc10e (FRAME_X_OUTPUT, FRAME_X_WINDOW, FRAME_X_DISPLAY):
Kim F. Storm <storm@cua.dk>
parents: 49600
diff changeset
669 #define FONT_TYPE_FOR_UNIBYTE(font, ch) 0
4f45129dc10e (FRAME_X_OUTPUT, FRAME_X_WINDOW, FRAME_X_DISPLAY):
Kim F. Storm <storm@cua.dk>
parents: 49600
diff changeset
670 #define FONT_TYPE_FOR_MULTIBYTE(font, ch) 0
4f45129dc10e (FRAME_X_OUTPUT, FRAME_X_WINDOW, FRAME_X_DISPLAY):
Kim F. Storm <storm@cua.dk>
parents: 49600
diff changeset
671
61787
2dbd9e078164 (x_clear_frame_selections): Add extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61575
diff changeset
672 /* Defined in macselect.c */
2dbd9e078164 (x_clear_frame_selections): Add extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61575
diff changeset
673
2dbd9e078164 (x_clear_frame_selections): Add extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61575
diff changeset
674 extern void x_clear_frame_selections P_ ((struct frame *));
2dbd9e078164 (x_clear_frame_selections): Add extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61575
diff changeset
675
69965
e8a7cef5ffb5 (x_set_mouse_position, x_set_mouse_pixel_position)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 69434
diff changeset
676 /* Defined in macfns.c */
e8a7cef5ffb5 (x_set_mouse_position, x_set_mouse_pixel_position)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 69434
diff changeset
677
e8a7cef5ffb5 (x_set_mouse_position, x_set_mouse_pixel_position)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 69434
diff changeset
678 extern void x_real_positions P_ ((struct frame *, int *, int *));
e8a7cef5ffb5 (x_set_mouse_position, x_set_mouse_pixel_position)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 69434
diff changeset
679 extern void x_set_menu_bar_lines P_ ((struct frame *, Lisp_Object, Lisp_Object));
e8a7cef5ffb5 (x_set_mouse_position, x_set_mouse_pixel_position)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 69434
diff changeset
680 extern int x_pixel_width P_ ((struct frame *));
e8a7cef5ffb5 (x_set_mouse_position, x_set_mouse_pixel_position)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 69434
diff changeset
681 extern int x_pixel_height P_ ((struct frame *));
e8a7cef5ffb5 (x_set_mouse_position, x_set_mouse_pixel_position)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 69434
diff changeset
682 extern int x_char_width P_ ((struct frame *));
e8a7cef5ffb5 (x_set_mouse_position, x_set_mouse_pixel_position)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 69434
diff changeset
683 extern int x_char_height P_ ((struct frame *));
e8a7cef5ffb5 (x_set_mouse_position, x_set_mouse_pixel_position)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 69434
diff changeset
684 extern void x_sync P_ ((struct frame *));
e8a7cef5ffb5 (x_set_mouse_position, x_set_mouse_pixel_position)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 69434
diff changeset
685 extern void x_set_tool_bar_lines P_ ((struct frame *, Lisp_Object, Lisp_Object));
70305
5efeadbe7324 (mac_update_title_bar): Add extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 69965
diff changeset
686 extern void mac_update_title_bar P_ ((struct frame *, int));
70875
9db2b3fb6b52 (TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70564
diff changeset
687 extern Lisp_Object x_get_focus_frame P_ ((struct frame *));
69965
e8a7cef5ffb5 (x_set_mouse_position, x_set_mouse_pixel_position)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 69434
diff changeset
688
e8a7cef5ffb5 (x_set_mouse_position, x_set_mouse_pixel_position)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 69434
diff changeset
689 /* Defined in macmenu.c */
e8a7cef5ffb5 (x_set_mouse_position, x_set_mouse_pixel_position)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 69434
diff changeset
690
e8a7cef5ffb5 (x_set_mouse_position, x_set_mouse_pixel_position)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 69434
diff changeset
691 extern void x_activate_menubar P_ ((struct frame *));
e8a7cef5ffb5 (x_set_mouse_position, x_set_mouse_pixel_position)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 69434
diff changeset
692 extern void free_frame_menubar P_ ((struct frame *));
e8a7cef5ffb5 (x_set_mouse_position, x_set_mouse_pixel_position)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 69434
diff changeset
693
60365
eb435d619706 (install_window_handler, remove_window_handler)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 59575
diff changeset
694 /* Defined in mac.c. */
eb435d619706 (install_window_handler, remove_window_handler)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 59575
diff changeset
695
eb435d619706 (install_window_handler, remove_window_handler)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 59575
diff changeset
696 extern void mac_clear_font_name_table P_ ((void));
70385
c04007f00211 (mac_make_lispy_event_code): Remove extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70305
diff changeset
697 extern Lisp_Object mac_aedesc_to_lisp P_ ((const AEDesc *));
70875
9db2b3fb6b52 (TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70564
diff changeset
698 extern OSErr mac_ae_put_lisp P_ ((AEDescList *, UInt32, Lisp_Object));
58752
4ad0594e1ac4 * macterm.h (cfstring_create_with_utf8_cstring): Added prototype.
Steven Tamm <steventamm@mac.com>
parents: 55583
diff changeset
699 #if TARGET_API_MAC_CARBON
72546
5786b9967afa (struct mac_output) [TARGET_API_MAC_CARBON]: Remove member
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 71179
diff changeset
700 extern OSStatus create_apple_event_from_event_ref P_ ((EventRef, UInt32,
73576
dcac157aa8ae (create_apple_event_from_event_ref)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 72986
diff changeset
701 const EventParamName *,
dcac157aa8ae (create_apple_event_from_event_ref)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 72986
diff changeset
702 const EventParamType *,
72546
5786b9967afa (struct mac_output) [TARGET_API_MAC_CARBON]: Remove member
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 71179
diff changeset
703 AppleEvent *));
70385
c04007f00211 (mac_make_lispy_event_code): Remove extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70305
diff changeset
704 extern OSErr create_apple_event_from_drag_ref P_ ((DragRef, UInt32,
73576
dcac157aa8ae (create_apple_event_from_event_ref)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 72986
diff changeset
705 const FlavorType *,
70385
c04007f00211 (mac_make_lispy_event_code): Remove extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70305
diff changeset
706 AppleEvent *));
58752
4ad0594e1ac4 * macterm.h (cfstring_create_with_utf8_cstring): Added prototype.
Steven Tamm <steventamm@mac.com>
parents: 55583
diff changeset
707 extern CFStringRef cfstring_create_with_utf8_cstring P_ ((const char *));
61575
999aacd9ac84 (cfstring_create_with_string) [TARGET_API_MAC_CARBON]: New extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60636
diff changeset
708 extern CFStringRef cfstring_create_with_string P_ ((Lisp_Object));
60636
129ab1a606c3 (xrm_merge_string_database, xrm_get_resource)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60624
diff changeset
709 extern Lisp_Object cfdata_to_lisp P_ ((CFDataRef));
67089
3eac7486ff05 (cfstring_to_lisp_nodecode) [TARGET_API_MAC_CARBON]: Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 66111
diff changeset
710 extern Lisp_Object cfstring_to_lisp_nodecode P_ ((CFStringRef));
60636
129ab1a606c3 (xrm_merge_string_database, xrm_get_resource)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60624
diff changeset
711 extern Lisp_Object cfstring_to_lisp P_ ((CFStringRef));
129ab1a606c3 (xrm_merge_string_database, xrm_get_resource)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60624
diff changeset
712 extern Lisp_Object cfnumber_to_lisp P_ ((CFNumberRef));
129ab1a606c3 (xrm_merge_string_database, xrm_get_resource)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60624
diff changeset
713 extern Lisp_Object cfdate_to_lisp P_ ((CFDateRef));
129ab1a606c3 (xrm_merge_string_database, xrm_get_resource)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60624
diff changeset
714 extern Lisp_Object cfboolean_to_lisp P_ ((CFBooleanRef));
129ab1a606c3 (xrm_merge_string_database, xrm_get_resource)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60624
diff changeset
715 extern Lisp_Object cfobject_desc_to_lisp P_ ((CFTypeRef));
129ab1a606c3 (xrm_merge_string_database, xrm_get_resource)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60624
diff changeset
716 extern Lisp_Object cfproperty_list_to_lisp P_ ((CFPropertyListRef, int, int));
74630
18841c2d7fbd (mac_wakeup_from_rne) [TARGET_API_MAC_CARBON]: Add extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 73576
diff changeset
717 extern void mac_wakeup_from_rne P_ ((void));
58752
4ad0594e1ac4 * macterm.h (cfstring_create_with_utf8_cstring): Added prototype.
Steven Tamm <steventamm@mac.com>
parents: 55583
diff changeset
718 #endif
73576
dcac157aa8ae (create_apple_event_from_event_ref)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 72986
diff changeset
719 extern void xrm_merge_string_database P_ ((XrmDatabase, const char *));
dcac157aa8ae (create_apple_event_from_event_ref)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 72986
diff changeset
720 extern Lisp_Object xrm_get_resource P_ ((XrmDatabase, const char *,
dcac157aa8ae (create_apple_event_from_event_ref)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 72986
diff changeset
721 const char *));
dcac157aa8ae (create_apple_event_from_event_ref)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 72986
diff changeset
722 extern XrmDatabase xrm_get_preference_database P_ ((const char *));
67459
b8f20fe8fb6e (mac_make_lispy_event_code, mac_aedesc_to_lisp): Add externs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67089
diff changeset
723 EXFUN (Fmac_get_preference, 4);
58752
4ad0594e1ac4 * macterm.h (cfstring_create_with_utf8_cstring): Added prototype.
Steven Tamm <steventamm@mac.com>
parents: 55583
diff changeset
724
52401
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 51199
diff changeset
725 /* arch-tag: 6b4ca125-5bef-476d-8ee8-31ed808b7e79
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 51199
diff changeset
726 (do not change this comment) */