Mercurial > emacs
annotate src/macterm.h @ 72387:feb2b528a623
* FOR-RELEASE: Elisp manual checking completed.
author | Chong Yidong <cyd@stupidchicken.com> |
---|---|
date | Sun, 13 Aug 2006 19:02:57 +0000 |
parents | 6ac6b21d26f4 |
children | 5786b9967afa 46b1096093f5 a8190f7e546e |
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 | 19 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
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 | 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 | 103 /* Resource data base */ |
104 XrmDatabase xrdb; | |
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 |
71179
6ac6b21d26f4
(EVENT_PARAM_TEXT_INPUT_SEQUENCE_NUMBER): New enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71066
diff
changeset
|
553 /* Carbon event parameter names. */ |
6ac6b21d26f4
(EVENT_PARAM_TEXT_INPUT_SEQUENCE_NUMBER): New enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71066
diff
changeset
|
554 enum { |
6ac6b21d26f4
(EVENT_PARAM_TEXT_INPUT_SEQUENCE_NUMBER): New enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71066
diff
changeset
|
555 EVENT_PARAM_TEXT_INPUT_SEQUENCE_NUMBER = 'tsSn' /* typeUInt32 */ |
6ac6b21d26f4
(EVENT_PARAM_TEXT_INPUT_SEQUENCE_NUMBER): New enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71066
diff
changeset
|
556 }; |
6ac6b21d26f4
(EVENT_PARAM_TEXT_INPUT_SEQUENCE_NUMBER): New enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71066
diff
changeset
|
557 |
70875
9db2b3fb6b52
(TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70564
diff
changeset
|
558 /* 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
|
559 #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
|
560 /* 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
|
561 enum { |
9db2b3fb6b52
(TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70564
diff
changeset
|
562 keyReplyRequestedAttr = 'repq' |
9db2b3fb6b52
(TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70564
diff
changeset
|
563 }; |
9db2b3fb6b52
(TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70564
diff
changeset
|
564 #endif |
9db2b3fb6b52
(TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70564
diff
changeset
|
565 |
9db2b3fb6b52
(TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70564
diff
changeset
|
566 #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
|
567 /* Gestalt selectors */ |
9db2b3fb6b52
(TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70564
diff
changeset
|
568 enum { |
9db2b3fb6b52
(TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70564
diff
changeset
|
569 gestaltSystemVersionMajor = 'sys1', |
9db2b3fb6b52
(TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70564
diff
changeset
|
570 gestaltSystemVersionMinor = 'sys2', |
9db2b3fb6b52
(TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70564
diff
changeset
|
571 gestaltSystemVersionBugFix = 'sys3' |
9db2b3fb6b52
(TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70564
diff
changeset
|
572 }; |
9db2b3fb6b52
(TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70564
diff
changeset
|
573 #endif |
9db2b3fb6b52
(TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70564
diff
changeset
|
574 |
9db2b3fb6b52
(TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70564
diff
changeset
|
575 #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
|
576 #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
|
577 /* 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
|
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 typeUTF8Text = 'utf8' |
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 |
9db2b3fb6b52
(TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70564
diff
changeset
|
582 /* 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
|
583 enum { |
9db2b3fb6b52
(TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70564
diff
changeset
|
584 kEventParamWindowMouseLocation = 'wmou' |
9db2b3fb6b52
(TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70564
diff
changeset
|
585 }; |
9db2b3fb6b52
(TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70564
diff
changeset
|
586 #endif |
9db2b3fb6b52
(TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70564
diff
changeset
|
587 #endif |
9db2b3fb6b52
(TYPE_FILE_NAME): Change from macro to enumerator.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70564
diff
changeset
|
588 |
55583
21f88361795c
Various fixes to support USE_LSB_TAG with carbon emacs. Mostly fixing
Steven Tamm <steventamm@mac.com>
parents:
54367
diff
changeset
|
589 struct frame; |
21f88361795c
Various fixes to support USE_LSB_TAG with carbon emacs. Mostly fixing
Steven Tamm <steventamm@mac.com>
parents:
54367
diff
changeset
|
590 struct face; |
21f88361795c
Various fixes to support USE_LSB_TAG with carbon emacs. Mostly fixing
Steven Tamm <steventamm@mac.com>
parents:
54367
diff
changeset
|
591 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
|
592 |
55583
21f88361795c
Various fixes to support USE_LSB_TAG with carbon emacs. Mostly fixing
Steven Tamm <steventamm@mac.com>
parents:
54367
diff
changeset
|
593 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
|
594 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
|
595 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
|
596 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
|
597 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
|
598 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
|
599 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
|
600 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
|
601 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
|
602 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
|
603 |
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 /* 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
|
605 |
df306ddd8136
* macterm.h (x_list_fonts, x_get_font_info, x_load_font)
Kim F. Storm <storm@cua.dk>
parents:
54338
diff
changeset
|
606 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
|
607 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
|
608 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
|
609 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
|
610 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
|
611 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
|
612 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
|
613 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
|
614 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
|
615 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
|
616 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
|
617 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
|
618 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
|
619 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
|
620 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
|
621 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
|
622 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
|
623 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
|
624 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
|
625 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
|
626 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
|
627 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
|
628 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
|
629 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
|
630 int, int)); |
66111
3d2a18d0f5dc
(mac_clear_area): Add extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65911
diff
changeset
|
631 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
|
632 unsigned int, unsigned int)); |
59146
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
58752
diff
changeset
|
633 extern void mac_unload_font P_ ((struct mac_display_info *, XFontStruct *)); |
71066
8e0c06f079c2
(mac_font_panel_visible_p, mac_show_hide_font_panel): Add externs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70875
diff
changeset
|
634 extern int mac_font_panel_visible_p P_ ((void)); |
8e0c06f079c2
(mac_font_panel_visible_p, mac_show_hide_font_panel): Add externs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70875
diff
changeset
|
635 extern OSStatus mac_show_hide_font_panel P_ ((void)); |
70564
aa63a41cac4d
(mac_set_font_info_for_selection): Add 2nd and 3rd args in extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70497
diff
changeset
|
636 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
|
637 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
|
638 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
|
639 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
|
640 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
|
641 #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
|
642 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
|
643 #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
|
644 |
50158
4f45129dc10e
(FRAME_X_OUTPUT, FRAME_X_WINDOW, FRAME_X_DISPLAY):
Kim F. Storm <storm@cua.dk>
parents:
49600
diff
changeset
|
645 #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
|
646 #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
|
647 |
61787
2dbd9e078164
(x_clear_frame_selections): Add extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61575
diff
changeset
|
648 /* Defined in macselect.c */ |
2dbd9e078164
(x_clear_frame_selections): Add extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61575
diff
changeset
|
649 |
2dbd9e078164
(x_clear_frame_selections): Add extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61575
diff
changeset
|
650 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
|
651 |
69965
e8a7cef5ffb5
(x_set_mouse_position, x_set_mouse_pixel_position)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69434
diff
changeset
|
652 /* 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
|
653 |
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 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
|
655 |
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_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
|
657 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
|
658 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
|
659 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
|
660 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
|
661 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
|
662 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
|
663 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
|
664 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
|
665 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
|
666 |
e8a7cef5ffb5
(x_set_mouse_position, x_set_mouse_pixel_position)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69434
diff
changeset
|
667 /* 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
|
668 |
e8a7cef5ffb5
(x_set_mouse_position, x_set_mouse_pixel_position)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69434
diff
changeset
|
669 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
|
670 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
|
671 |
60365
eb435d619706
(install_window_handler, remove_window_handler)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
59575
diff
changeset
|
672 /* Defined in mac.c. */ |
eb435d619706
(install_window_handler, remove_window_handler)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
59575
diff
changeset
|
673 |
eb435d619706
(install_window_handler, remove_window_handler)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
59575
diff
changeset
|
674 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
|
675 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
|
676 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
|
677 #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
|
678 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
|
679 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
|
680 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
|
681 AppleEvent *)); |
70385
c04007f00211
(mac_make_lispy_event_code): Remove extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70305
diff
changeset
|
682 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
|
683 FlavorType *, |
c04007f00211
(mac_make_lispy_event_code): Remove extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70305
diff
changeset
|
684 AppleEvent *)); |
58752
4ad0594e1ac4
* macterm.h (cfstring_create_with_utf8_cstring): Added prototype.
Steven Tamm <steventamm@mac.com>
parents:
55583
diff
changeset
|
685 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
|
686 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
|
687 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
|
688 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
|
689 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
|
690 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
|
691 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
|
692 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
|
693 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
|
694 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
|
695 #endif |
60636
129ab1a606c3
(xrm_merge_string_database, xrm_get_resource)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
60624
diff
changeset
|
696 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
|
697 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
|
698 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
|
699 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
|
700 |
52401 | 701 /* arch-tag: 6b4ca125-5bef-476d-8ee8-31ed808b7e79 |
702 (do not change this comment) */ |