annotate src/macterm.h @ 70923:386bb0e801d5

* FOR-RELEASE: Key sequence elisp node done.
author Chong Yidong <cyd@stupidchicken.com>
date Thu, 25 May 2006 16:54:53 +0000
parents 9db2b3fb6b52
children 8e0c06f079c2
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,
68651
3bd95f4f2941 Update years in copyright notice; nfc.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 67789
diff changeset
3 2005, 2006 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
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
9 the Free Software Foundation; either version 2, or (at your option)
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 #define FONT_MAX_WIDTH(f) FONT_WIDTH(f) /* fix later */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
48
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
49 /* 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
50 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
51
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 47139
diff changeset
52 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
53 {
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
54 char *bitmap_data;
54338
d037e941c800 Image consolidation:
Kim F. Storm <storm@cua.dk>
parents: 54150
diff changeset
55 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
56 int refcount;
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
57 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
58 };
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
59
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
60
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
61 /* 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
62 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
63
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
64 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
65 {
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
66 /* 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
67 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
68
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
69 /* 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
70 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
71 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
72
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
73 /* 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
74 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
75
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
76 /* 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
77 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
78
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
79 /* 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
80 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
81
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
82 /* 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
83 int color_p;
6c8849d06ab3 Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents: 52401
diff changeset
84
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
85 /* 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
86 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
87
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
88 /* 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
89 int grabbed;
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
90
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
91 #if 0
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
92 /* 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
93 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
94 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
95
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
96 #endif
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
97 /* 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
98 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
99
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
100 /* 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
101 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
102
50361
1d4bd00d1ec8 (EMACS_CLASS): Remove.
Kim F. Storm <storm@cua.dk>
parents: 50301
diff changeset
103 /* Resource data base */
1d4bd00d1ec8 (EMACS_CLASS): Remove.
Kim F. Storm <storm@cua.dk>
parents: 50301
diff changeset
104 XrmDatabase xrdb;
1d4bd00d1ec8 (EMACS_CLASS): Remove.
Kim F. Storm <storm@cua.dk>
parents: 50301
diff changeset
105
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
106 /* 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
107 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
108
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
109 /* 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
110 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
111
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
112 /* 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
113 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
114
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
115 /* 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
116 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
117
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
118 /* 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
119 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
120
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
121 /* 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
122 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
123 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
124 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
125 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
126 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
127 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
128 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
129 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
130 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
131 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
132 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
133 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
134
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
135 /* 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
136 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
137 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
138
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
139 /* 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
140 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
141 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
142 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
143
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
144 /* 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
145 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
146
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
147 /* 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
148 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
149
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
150 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
151
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
152 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
153
65911
a86e9a781ba7 (mac_term_init): Add types to extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 65252
diff changeset
154 /* The number of fonts actually stored in the font table.
a86e9a781ba7 (mac_term_init): Add types to extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 65252
diff changeset
155 font_table[n] is used and valid iff 0 <= n < n_fonts. 0 <=
a86e9a781ba7 (mac_term_init): Add types to extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 65252
diff changeset
156 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
157 int n_fonts;
a86e9a781ba7 (mac_term_init): Add types to extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 65252
diff changeset
158
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
159 /* 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
160 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
161
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
162 /* 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
163 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
164
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
165 /* 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
166 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
167
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
168 /* 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
169 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
170 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
171 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
172 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
173 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
174
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
175 /* 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
176 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
177 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
178 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
179 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
180
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
181 /* 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
182 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
183 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
184 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
185 minibuffer. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
186 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
187
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
188 /* Cache of images. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
189 struct image_cache *image_cache;
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
190 };
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
191
59146
9bde7721ad0f * dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents: 58752
diff changeset
192 /* 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
193 extern void check_mac P_ ((void));
9bde7721ad0f * dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents: 58752
diff changeset
194
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
195 #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
196
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
197 /* 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
198 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
199
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
200 /* 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
201 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
202
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
203 /* 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
204 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
205 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
206 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
207 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
208
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
209 extern struct x_display_info *x_display_info_for_display P_ ((Display *));
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
210 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
211
65911
a86e9a781ba7 (mac_term_init): Add types to extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 65252
diff changeset
212 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
213
54367
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 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
215 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
216 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
217 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
218 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
219
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
220 /* 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
221 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
222 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
223 {
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
224 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
225 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
226 };
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
227
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
228 /* The collection of data describing a window on the Mac. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
229 struct mac_output {
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
230 /* 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
231 appear first. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
232 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
233
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
234 /* 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
235 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
236
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
237 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
238
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
239 /* 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
240 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
241 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
242 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
243
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
244 /* 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
245 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
246 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
247 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
248
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
249 /* 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
250 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
251 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
252 (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
253 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
254
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
255 /* 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
256 XFontStruct *font;
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
257
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
258 /* 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
259 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
260
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
261 /* 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
262 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
263 int fontset;
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
264
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
265 /* 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
266 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
267 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
268 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
269 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
270 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
271
65911
a86e9a781ba7 (mac_term_init): Add types to extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 65252
diff changeset
272 #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
273 /* 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
274 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
275 unsigned long scroll_bar_foreground_pixel;
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 47139
diff changeset
276
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
277 /* 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
278 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
279 bars). */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
280 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
281 #endif
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
282
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
283 /* 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
284 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
285 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
286 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
287 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
288 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
289 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
290 #if 0
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
291 /* 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
292 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
293 Window hourglass_window;
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 47139
diff changeset
294
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
295 /* 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
296 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
297
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
298 /* 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
299 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
300
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
301 #endif
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
302
60624
d76335457c6a (struct mac_output) [TARGET_API_MAC_CARBON]: New member
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60365
diff changeset
303 #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
304 /* 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
305 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
306 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
307 #endif
d76335457c6a (struct mac_output) [TARGET_API_MAC_CARBON]: New member
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60365
diff changeset
308
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
309 /* 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
310 /* 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
311
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
312 /* 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
313 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
314 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
315
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
316 /* 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
317 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
318
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
319 /* Nonzero means menubar is currently active. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
320 char menubar_active;
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
321
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
322 /* 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
323 struct relief
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
324 {
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
325 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
326 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
327 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
328 }
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
329 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
330
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
331 /* 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
332 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
333 unsigned long relief_background;
59146
9bde7721ad0f * dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents: 58752
diff changeset
334
9bde7721ad0f * dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents: 58752
diff changeset
335 /* 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
336 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
337
70305
5efeadbe7324 (mac_update_title_bar): Add extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 69965
diff changeset
338 #if TARGET_API_MAC_CARBON
5efeadbe7324 (mac_update_title_bar): Add extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 69965
diff changeset
339 /* File name for the proxy icon of this frame. Might be NULL. */
5efeadbe7324 (mac_update_title_bar): Add extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 69965
diff changeset
340 char *file_name;
5efeadbe7324 (mac_update_title_bar): Add extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 69965
diff changeset
341 #endif
5efeadbe7324 (mac_update_title_bar): Add extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 69965
diff changeset
342
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
343 #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
344 /* 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
345 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
346 #endif
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
347 };
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
348
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
349 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
350
50158
4f45129dc10e (FRAME_X_OUTPUT, FRAME_X_WINDOW, FRAME_X_DISPLAY):
Kim F. Storm <storm@cua.dk>
parents: 49600
diff changeset
351 /* 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
352 #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
353
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
354 /* 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
355 #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
356 #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
357
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
358 #define FRAME_FOREGROUND_PIXEL(f) ((f)->output_data.x->foreground_pixel)
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
359 #define FRAME_BACKGROUND_PIXEL(f) ((f)->output_data.x->background_pixel)
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
70305
5efeadbe7324 (mac_update_title_bar): Add extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 69965
diff changeset
368 #define FRAME_FILE_NAME(f) ((f)->output_data.mac->file_name)
5efeadbe7324 (mac_update_title_bar): Add extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 69965
diff changeset
369
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
370 /* 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
371 #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
372 #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
373
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
374 /* 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
375 #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
376 #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
377
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
378 /* 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
379 #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
380
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
381 /* 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
382
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
383 #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
384 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
385
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
386 /* 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
387
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
388 #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
389 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
390
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
391 /* Return a pointer to the image cache of frame F. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
392
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
393 #define FRAME_X_IMAGE_CACHE(F) FRAME_MAC_DISPLAY_INFO ((F))->image_cache
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
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
396 /* 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
397
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
398 /* 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
399 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
400 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
401 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
402
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
403 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
404 vector. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
405
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
406 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
407
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
408 /* 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
409 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
410 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
411
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
412 /* 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
413 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
414
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
415 /* 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
416 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
417
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
418 /* The Mac control handle of this scroll bar. Since this is a full
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
419 32-bit quantity, we store it split into two 32-bit values. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
420 Lisp_Object control_handle_low, control_handle_high;
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
421
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
422 /* 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
423 frame. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
424 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
425
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
426 /* 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
427 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
428 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
429 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
430
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
431 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
432 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
433 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
434 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
435 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
436 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
437 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
438
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
439 /* 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
440 this is the number of pixels from the top of the handle to the
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
441 place where the user grabbed it. If the handle isn't currently
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
442 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
443 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
444
d7baa444ded8 (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]: New
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61787
diff changeset
445 #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
446 /* 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
447 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
448 Lisp_Object track_top, track_height;
d7baa444ded8 (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]: New
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61787
diff changeset
449 #endif
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
450 };
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
451
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
452 /* 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
453 #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
454 ((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
455 - 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
456 / 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
457
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
458 /* 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
459 #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
460
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
461
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
462 /* Building a 32-bit C integer from two 16-bit lisp integers. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
463 #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
464
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
465 /* Setting two lisp integers to the low and high words of a 32-bit C int. */
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_UNPACK(low, high, int32) \
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
467 (XSETINT ((low), (int32) & 0xffff), \
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
468 XSETINT ((high), ((int32) >> 16) & 0xffff))
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
469
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 /* 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
472 scroll_bar. */
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
473 #define SCROLL_BAR_CONTROL_HANDLE(ptr) \
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
474 ((ControlHandle) SCROLL_BAR_PACK ((ptr)->control_handle_low, \
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
475 (ptr)->control_handle_high))
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
476
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
477 /* Store a Mac control handle in 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
478 #define SET_SCROLL_BAR_CONTROL_HANDLE(ptr, id) \
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
479 (SCROLL_BAR_UNPACK ((ptr)->control_handle_low, \
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
480 (ptr)->control_handle_high, (int) id))
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
481
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
482 /* 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
483 width. */
65911
a86e9a781ba7 (mac_term_init): Add types to extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 65252
diff changeset
484 #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
485 ((width) \
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
486 - 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
487 - 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
488 - 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
489
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
490 /* 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
491 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
492 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
493
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
494 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
495 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
496 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
497 #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
498 (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
499 - 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
500
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
501 /* 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
502 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
503 #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
504 ((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
505 - 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
506
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
507
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
508 /* 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
509
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
510 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
511 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
512 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
513 (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
514 (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
515
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
516 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
517 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
518 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
519 #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
520 #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
521 #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
522 #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
523
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
524 /* 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
525 #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
526
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
527 /* 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
528 #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
529
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
530 /* 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
531 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
532 #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
533
69302
65ed574e7a16 (MAC_AQUA_VERTICAL_SCROLL_BAR_WIDTH)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 68667
diff changeset
534 /* 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
535 #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
536 #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
537
60624
d76335457c6a (struct mac_output) [TARGET_API_MAC_CARBON]: New member
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60365
diff changeset
538 /* Size of hourglass controls */
d76335457c6a (struct mac_output) [TARGET_API_MAC_CARBON]: New member
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60365
diff changeset
539 #define HOURGLASS_WIDTH 16
d76335457c6a (struct mac_output) [TARGET_API_MAC_CARBON]: New member
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60365
diff changeset
540 #define HOURGLASS_HEIGHT 16
d76335457c6a (struct mac_output) [TARGET_API_MAC_CARBON]: New member
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60365
diff changeset
541
70875
9db2b3fb6b52 (TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70564
diff changeset
542 /* Some constants that are used locally. */
9db2b3fb6b52 (TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70564
diff changeset
543 /* 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
544 enum {
9db2b3fb6b52 (TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70564
diff changeset
545 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
546 };
9db2b3fb6b52 (TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70564
diff changeset
547
9db2b3fb6b52 (TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70564
diff changeset
548 /* 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
549 enum {
9db2b3fb6b52 (TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70564
diff changeset
550 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
551 };
9db2b3fb6b52 (TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70564
diff changeset
552
9db2b3fb6b52 (TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70564
diff changeset
553 /* 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
554 #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
555 /* 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
556 enum {
9db2b3fb6b52 (TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70564
diff changeset
557 keyReplyRequestedAttr = 'repq'
9db2b3fb6b52 (TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70564
diff changeset
558 };
9db2b3fb6b52 (TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70564
diff changeset
559 #endif
9db2b3fb6b52 (TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70564
diff changeset
560
9db2b3fb6b52 (TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70564
diff changeset
561 #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
562 /* Gestalt selectors */
9db2b3fb6b52 (TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70564
diff changeset
563 enum {
9db2b3fb6b52 (TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70564
diff changeset
564 gestaltSystemVersionMajor = 'sys1',
9db2b3fb6b52 (TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70564
diff changeset
565 gestaltSystemVersionMinor = 'sys2',
9db2b3fb6b52 (TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70564
diff changeset
566 gestaltSystemVersionBugFix = 'sys3'
9db2b3fb6b52 (TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70564
diff changeset
567 };
9db2b3fb6b52 (TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70564
diff changeset
568 #endif
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 #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
571 #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
572 /* 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
573 enum {
9db2b3fb6b52 (TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70564
diff changeset
574 typeUTF8Text = 'utf8'
9db2b3fb6b52 (TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70564
diff changeset
575 };
9db2b3fb6b52 (TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70564
diff changeset
576
9db2b3fb6b52 (TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70564
diff changeset
577 /* 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
578 enum {
9db2b3fb6b52 (TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70564
diff changeset
579 kEventParamWindowMouseLocation = 'wmou'
9db2b3fb6b52 (TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70564
diff changeset
580 };
9db2b3fb6b52 (TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70564
diff changeset
581 #endif
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
55583
21f88361795c Various fixes to support USE_LSB_TAG with carbon emacs. Mostly fixing
Steven Tamm <steventamm@mac.com>
parents: 54367
diff changeset
584 struct frame;
21f88361795c Various fixes to support USE_LSB_TAG with carbon emacs. Mostly fixing
Steven Tamm <steventamm@mac.com>
parents: 54367
diff changeset
585 struct face;
21f88361795c Various fixes to support USE_LSB_TAG with carbon emacs. Mostly fixing
Steven Tamm <steventamm@mac.com>
parents: 54367
diff changeset
586 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
587
55583
21f88361795c Various fixes to support USE_LSB_TAG with carbon emacs. Mostly fixing
Steven Tamm <steventamm@mac.com>
parents: 54367
diff changeset
588 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
589 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
590 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
591 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
592 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
593 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
594 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
595 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
596 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
597 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
598
54367
df306ddd8136 * macterm.h (x_list_fonts, x_get_font_info, x_load_font)
Kim F. Storm <storm@cua.dk>
parents: 54338
diff changeset
599 /* 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
600
df306ddd8136 * macterm.h (x_list_fonts, x_get_font_info, x_load_font)
Kim F. Storm <storm@cua.dk>
parents: 54338
diff changeset
601 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
602 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
603 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
604 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
605 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
606 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
607 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
608 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
609 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
610 extern void x_delete_display P_ ((struct x_display_info *));
54367
df306ddd8136 * macterm.h (x_list_fonts, x_get_font_info, x_load_font)
Kim F. Storm <storm@cua.dk>
parents: 54338
diff changeset
611 extern void mac_initialize P_ ((void));
df306ddd8136 * macterm.h (x_list_fonts, x_get_font_info, x_load_font)
Kim F. Storm <storm@cua.dk>
parents: 54338
diff changeset
612 extern Pixmap XCreatePixmap P_ ((Display *, WindowPtr, 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
613 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
614 extern Pixmap XCreatePixmapFromBitmapData P_ ((Display *, WindowPtr, char *,
df306ddd8136 * macterm.h (x_list_fonts, x_get_font_info, x_load_font)
Kim F. Storm <storm@cua.dk>
parents: 54338
diff changeset
615 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
616 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
617 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
618 extern void XFreePixmap P_ ((Display *, Pixmap));
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 GC XCreateGC P_ ((Display *, Window, 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
620 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
621 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
622 extern void XSetBackground P_ ((Display *, GC, unsigned long));
011a0c55c1f2 * macfns.c (x_set_foreground_color, x_set_background_color): Sync
Steven Tamm <steventamm@mac.com>
parents: 59146
diff changeset
623 extern void XSetWindowBackground P_ ((Display *, WindowPtr, unsigned long));
54367
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 mac_draw_line_to_pixmap P_ ((Display *, Pixmap, GC, 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
625 int, int));
66111
3d2a18d0f5dc (mac_clear_area): Add extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 65911
diff changeset
626 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
627 unsigned int, unsigned int));
59146
9bde7721ad0f * dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents: 58752
diff changeset
628 extern void mac_unload_font P_ ((struct mac_display_info *, XFontStruct *));
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
629 extern OSStatus mac_set_font_info_for_selection P_ ((struct frame *, int, int));
60365
eb435d619706 (install_window_handler, remove_window_handler)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 59575
diff changeset
630 extern OSErr install_window_handler P_ ((WindowPtr));
eb435d619706 (install_window_handler, remove_window_handler)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 59575
diff changeset
631 extern void remove_window_handler P_ ((WindowPtr));
69965
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 do_menu_choice P_ ((SInt32));
70385
c04007f00211 (mac_make_lispy_event_code): Remove extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70305
diff changeset
633 extern OSStatus mac_post_mouse_moved_event P_ ((void));
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
634 #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
635 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
636 #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
637
50158
4f45129dc10e (FRAME_X_OUTPUT, FRAME_X_WINDOW, FRAME_X_DISPLAY):
Kim F. Storm <storm@cua.dk>
parents: 49600
diff changeset
638 #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
639 #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
640
61787
2dbd9e078164 (x_clear_frame_selections): Add extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61575
diff changeset
641 /* Defined in macselect.c */
2dbd9e078164 (x_clear_frame_selections): Add extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61575
diff changeset
642
2dbd9e078164 (x_clear_frame_selections): Add extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61575
diff changeset
643 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
644
69965
e8a7cef5ffb5 (x_set_mouse_position, x_set_mouse_pixel_position)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 69434
diff changeset
645 /* 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
646
e8a7cef5ffb5 (x_set_mouse_position, x_set_mouse_pixel_position)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 69434
diff changeset
647 extern int have_menus_p P_ ((void));
e8a7cef5ffb5 (x_set_mouse_position, x_set_mouse_pixel_position)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 69434
diff changeset
648
e8a7cef5ffb5 (x_set_mouse_position, x_set_mouse_pixel_position)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 69434
diff changeset
649 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
650 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
651 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
652 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
653 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
654 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
655 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
656 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
657 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
658 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
659
e8a7cef5ffb5 (x_set_mouse_position, x_set_mouse_pixel_position)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 69434
diff changeset
660 /* 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
661
e8a7cef5ffb5 (x_set_mouse_position, x_set_mouse_pixel_position)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 69434
diff changeset
662 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
663 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
664
60365
eb435d619706 (install_window_handler, remove_window_handler)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 59575
diff changeset
665 /* Defined in mac.c. */
eb435d619706 (install_window_handler, remove_window_handler)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 59575
diff changeset
666
eb435d619706 (install_window_handler, remove_window_handler)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 59575
diff changeset
667 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
668 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
669 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
670 #if TARGET_API_MAC_CARBON
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
671 extern OSErr create_apple_event_from_event_ref P_ ((EventRef, UInt32,
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
672 EventParamName *,
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
673 EventParamType *,
67667
71dc01b42529 (create_apple_event_from_event_ref): Remove 5th argument from extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67459
diff changeset
674 AppleEvent *));
70385
c04007f00211 (mac_make_lispy_event_code): Remove extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70305
diff changeset
675 extern OSErr create_apple_event_from_drag_ref P_ ((DragRef, UInt32,
c04007f00211 (mac_make_lispy_event_code): Remove extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70305
diff changeset
676 FlavorType *,
c04007f00211 (mac_make_lispy_event_code): Remove extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70305
diff changeset
677 AppleEvent *));
58752
4ad0594e1ac4 * macterm.h (cfstring_create_with_utf8_cstring): Added prototype.
Steven Tamm <steventamm@mac.com>
parents: 55583
diff changeset
678 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
679 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
680 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
681 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
682 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
683 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
684 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
685 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
686 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
687 extern Lisp_Object cfproperty_list_to_lisp P_ ((CFPropertyListRef, int, int));
58752
4ad0594e1ac4 * macterm.h (cfstring_create_with_utf8_cstring): Added prototype.
Steven Tamm <steventamm@mac.com>
parents: 55583
diff changeset
688 #endif
60636
129ab1a606c3 (xrm_merge_string_database, xrm_get_resource)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60624
diff changeset
689 extern void xrm_merge_string_database P_ ((XrmDatabase, char *));
129ab1a606c3 (xrm_merge_string_database, xrm_get_resource)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60624
diff changeset
690 extern Lisp_Object xrm_get_resource P_ ((XrmDatabase, char *, char *));
129ab1a606c3 (xrm_merge_string_database, xrm_get_resource)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60624
diff changeset
691 extern XrmDatabase xrm_get_preference_database P_ ((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
692 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
693
52401
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 51199
diff changeset
694 /* arch-tag: 6b4ca125-5bef-476d-8ee8-31ed808b7e79
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 51199
diff changeset
695 (do not change this comment) */