Mercurial > emacs
annotate src/macterm.c @ 80731:0b6e7c19f082
(set-version): Set version in nt/emacsclient.rc
| author | Jason Rumney <jasonr@gnu.org> |
|---|---|
| date | Sat, 16 Aug 2008 04:15:12 +0000 |
| parents | 97941d75f8ce |
| children | 038757cf9434 5b5b0194f293 |
| 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 /* Implementation of GUI terminal on the Mac OS. |
|
64770
a0d1312ede66
Update years in copyright notice; nfc.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
64471
diff
changeset
|
2 Copyright (C) 2000, 2001, 2002, 2003, 2004, |
| 79759 | 3 2005, 2006, 2007, 2008 Free Software Foundation, Inc. |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5 This file is part of GNU Emacs. |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7 GNU Emacs is free software; you can redistribute it and/or modify |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8 it under the terms of the GNU General Public License as published by |
|
78260
922696f363b0
Switch license to GPLv3 or later.
Glenn Morris <rgm@gnu.org>
parents:
78059
diff
changeset
|
9 the Free Software Foundation; either version 3, or (at your option) |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
10 any later version. |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
11 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
12 GNU Emacs is distributed in the hope that it will be useful, |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
13 but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
15 GNU General Public License for more details. |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
16 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
17 You should have received a copy of the GNU General Public License |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
18 along with GNU Emacs; see the file COPYING. If not, write to |
| 64084 | 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 <config.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 <signal.h> |
|
64276
0a062d2d75f3
Don't include stdlib.h or composite.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64102
diff
changeset
|
26 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
27 #include <stdio.h> |
|
64276
0a062d2d75f3
Don't include stdlib.h or composite.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64102
diff
changeset
|
28 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
29 #include "lisp.h" |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
30 #include "blockinput.h" |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
31 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
32 #include "macterm.h" |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
33 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
34 #ifndef MAC_OSX |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
35 #include <alloca.h> |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
36 #endif |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
37 |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
38 #if !TARGET_API_MAC_CARBON |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
39 #include <Quickdraw.h> |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
40 #include <ToolUtils.h> |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
41 #include <Sound.h> |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
42 #include <Events.h> |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
43 #include <Script.h> |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
44 #include <Resources.h> |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
45 #include <Fonts.h> |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
46 #include <TextUtils.h> |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
47 #include <LowMem.h> |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
48 #include <Controls.h> |
|
57357
05fe2d3ca439
macfns.c (mac_get_window_bounds): Add extern.
Steven Tamm <steventamm@mac.com>
parents:
56890
diff
changeset
|
49 #include <Windows.h> |
|
77167
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
50 #include <Displays.h> |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
51 #if defined (__MRC__) || (__MSL__ >= 0x6000) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
52 #include <ControlDefinitions.h> |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
53 #endif |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
54 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
55 #if __profile__ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
56 #include <profiler.h> |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
57 #endif |
|
60364
de784812b4d4
[TARGET_API_MAC_CARBON && !MAC_OSX]: Define USE_CARBON_EVENTS to 1.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
59899
diff
changeset
|
58 #endif /* not TARGET_API_MAC_CARBON */ |
|
44890
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 #include "systty.h" |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
61 #include "systime.h" |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
62 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
63 #include <ctype.h> |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
64 #include <errno.h> |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
65 #include <setjmp.h> |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
66 #include <sys/stat.h> |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
67 |
|
64276
0a062d2d75f3
Don't include stdlib.h or composite.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64102
diff
changeset
|
68 #include "charset.h" |
|
0a062d2d75f3
Don't include stdlib.h or composite.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64102
diff
changeset
|
69 #include "coding.h" |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
70 #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
|
71 #include "dispextern.h" |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
72 #include "fontset.h" |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
73 #include "termhooks.h" |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
74 #include "termopts.h" |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
75 #include "termchar.h" |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
76 #include "disptab.h" |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
77 #include "buffer.h" |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
78 #include "window.h" |
|
64276
0a062d2d75f3
Don't include stdlib.h or composite.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64102
diff
changeset
|
79 #include "keyboard.h" |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
80 #include "intervals.h" |
|
64276
0a062d2d75f3
Don't include stdlib.h or composite.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64102
diff
changeset
|
81 #include "atimer.h" |
|
0a062d2d75f3
Don't include stdlib.h or composite.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64102
diff
changeset
|
82 #include "keymap.h" |
|
66841
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
83 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
84 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
85 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
86 /* Non-nil means Emacs uses 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
|
87 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
88 Lisp_Object Vx_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
|
89 |
|
67666
037431c17fba
(mac_do_receive_drag): Drag-and-drop items are now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67458
diff
changeset
|
90 /* If non-zero, the text will be rendered using Core Graphics text |
|
037431c17fba
(mac_do_receive_drag): Drag-and-drop items are now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67458
diff
changeset
|
91 rendering which may anti-alias the text. */ |
|
037431c17fba
(mac_do_receive_drag): Drag-and-drop items are now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67458
diff
changeset
|
92 int mac_use_core_graphics; |
|
59577
a4a748516aa7
* macterm.c (Vmac_use_core_graphics): defined
Steven Tamm <steventamm@mac.com>
parents:
59575
diff
changeset
|
93 |
|
67666
037431c17fba
(mac_do_receive_drag): Drag-and-drop items are now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67458
diff
changeset
|
94 /* Non-zero means make use of UNDERLINE_POSITION font properties. |
|
037431c17fba
(mac_do_receive_drag): Drag-and-drop items are now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67458
diff
changeset
|
95 (Not yet supported.) */ |
|
037431c17fba
(mac_do_receive_drag): Drag-and-drop items are now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67458
diff
changeset
|
96 int x_use_underline_position_properties; |
|
037431c17fba
(mac_do_receive_drag): Drag-and-drop items are now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67458
diff
changeset
|
97 |
|
73114
983aa36dbb6c
(x_underline_at_descent_line): New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72985
diff
changeset
|
98 /* Non-zero means to draw the underline at the same place as the descent line. */ |
|
983aa36dbb6c
(x_underline_at_descent_line): New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72985
diff
changeset
|
99 |
|
983aa36dbb6c
(x_underline_at_descent_line): New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72985
diff
changeset
|
100 int x_underline_at_descent_line; |
|
983aa36dbb6c
(x_underline_at_descent_line): New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72985
diff
changeset
|
101 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
102 /* This is a chain of structures for all the X displays currently in |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
103 use. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
104 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
105 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
|
106 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
107 /* This is a list of cons cells, each of the form (NAME |
|
60635
e45b939c1d93
(x_list_fonts): FONT-LIST-CACHE is now cadr part of name_list_element.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
60623
diff
changeset
|
108 FONT-LIST-CACHE . RESOURCE-DATABASE), one for each element of |
|
e45b939c1d93
(x_list_fonts): FONT-LIST-CACHE is now cadr part of name_list_element.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
60623
diff
changeset
|
109 x_display_list and in the same order. NAME is the name of the |
|
e45b939c1d93
(x_list_fonts): FONT-LIST-CACHE is now cadr part of name_list_element.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
60623
diff
changeset
|
110 frame. FONT-LIST-CACHE records previous values returned by |
|
e45b939c1d93
(x_list_fonts): FONT-LIST-CACHE is now cadr part of name_list_element.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
60623
diff
changeset
|
111 x-list-fonts. RESOURCE-DATABASE preserves the X Resource Database |
|
e45b939c1d93
(x_list_fonts): FONT-LIST-CACHE is now cadr part of name_list_element.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
60623
diff
changeset
|
112 equivalent, which is implemented with a Lisp object, for the |
|
e45b939c1d93
(x_list_fonts): FONT-LIST-CACHE is now cadr part of name_list_element.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
60623
diff
changeset
|
113 display. */ |
|
44890
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 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
|
116 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
117 /* This is display since Mac does not support multiple ones. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
118 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
|
119 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
120 /* Frame being updated by update_frame. This is declared in term.c. |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
121 This is set by update_begin and looked at by all the XT functions. |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
122 It is zero while not inside an update. In that case, the XT |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
123 functions assume that `selected_frame' is the frame to apply to. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
124 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
125 extern struct frame *updating_frame; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
126 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
127 /* This is a frame waiting to be auto-raised, within XTread_socket. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
128 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
129 struct frame *pending_autoraise_frame; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
130 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
131 /* Mouse movement. |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
132 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
133 Formerly, we used PointerMotionHintMask (in standard_event_mask) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
134 so that we would have to call XQueryPointer after each MotionNotify |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
135 event to ask for another such event. However, this made mouse tracking |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
136 slow, and there was a bug that made it eventually stop. |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
137 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
138 Simply asking for MotionNotify all the time seems to work better. |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
139 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
140 In order to avoid asking for motion events and then throwing most |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
141 of them away or busy-polling the server for mouse positions, we ask |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
142 the server for pointer motion hints. This means that we get only |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
143 one event per group of mouse movements. "Groups" are delimited by |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
144 other kinds of events (focus changes and button clicks, for |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
145 example), or by XQueryPointer calls; when one of these happens, we |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
146 get another MotionNotify event the next time the mouse moves. This |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
147 is at least as efficient as getting motion events when mouse |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
148 tracking is on, and I suspect only negligibly worse when tracking |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
149 is off. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
150 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
151 /* Where the mouse was last time we reported a mouse event. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
152 |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
153 Rect last_mouse_glyph; |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
154 FRAME_PTR last_mouse_glyph_frame; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
155 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
156 /* The scroll bar in which the last X motion event occurred. |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
157 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
158 If the last X motion event occurred in a scroll bar, we set this so |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
159 XTmouse_position can know whether to report a scroll bar motion or |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
160 an ordinary motion. |
|
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 If the last X motion event didn't occur in a scroll bar, we set |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
163 this to Qnil, to tell XTmouse_position to return an ordinary motion |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
164 event. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
165 |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
166 Lisp_Object last_mouse_scroll_bar; |
|
44890
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 /* This is a hack. We would really prefer that XTmouse_position would |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
169 return the time associated with the position it returns, but there |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
170 doesn't seem to be any way to wrest the time-stamp from the server |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
171 along with the position query. So, we just keep track of the time |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
172 of the last movement we received, and return that in hopes that |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
173 it's somewhat accurate. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
174 |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
175 Time last_mouse_movement_time; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
176 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
177 struct scroll_bar *tracked_scroll_bar = NULL; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
178 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
179 /* Incremented by XTread_socket whenever it really tries to read |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
180 events. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
181 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
182 #ifdef __STDC__ |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
183 int volatile input_signal_count; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
184 #else |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
185 int input_signal_count; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
186 #endif |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
187 |
|
64276
0a062d2d75f3
Don't include stdlib.h or composite.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64102
diff
changeset
|
188 extern Lisp_Object Vsystem_name; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
189 |
|
71504
2b4e59cd1121
(Qeql): Add extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71359
diff
changeset
|
190 extern Lisp_Object Qeql; |
|
2b4e59cd1121
(Qeql): Add extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71359
diff
changeset
|
191 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
192 /* A mask of extra modifier bits to put into every keyboard char. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
193 |
|
64276
0a062d2d75f3
Don't include stdlib.h or composite.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64102
diff
changeset
|
194 extern EMACS_INT extra_keyboard_modifiers; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
195 |
|
57783
4cb8cebc3255
2004-10-28 Will <will@glozer.net>
John Wiegley <johnw@newartisans.com>
parents:
57425
diff
changeset
|
196 /* The keysyms to use for the various modifiers. */ |
|
4cb8cebc3255
2004-10-28 Will <will@glozer.net>
John Wiegley <johnw@newartisans.com>
parents:
57425
diff
changeset
|
197 |
|
67666
037431c17fba
(mac_do_receive_drag): Drag-and-drop items are now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67458
diff
changeset
|
198 static Lisp_Object Qalt, Qhyper, Qsuper, Qcontrol, Qmeta, Qmodifier_value; |
|
57783
4cb8cebc3255
2004-10-28 Will <will@glozer.net>
John Wiegley <johnw@newartisans.com>
parents:
57425
diff
changeset
|
199 |
|
46856
eba75fedd593
2002-08-10 Andrew Choi <akochoi@shaw.ca>
Andrew Choi <akochoi@shaw.ca>
parents:
46805
diff
changeset
|
200 extern int inhibit_window_system; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
201 |
|
60364
de784812b4d4
[TARGET_API_MAC_CARBON && !MAC_OSX]: Define USE_CARBON_EVENTS to 1.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
59899
diff
changeset
|
202 #if __MRC__ && !TARGET_API_MAC_CARBON |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
203 QDGlobals qd; /* QuickDraw global information structure. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
204 #endif |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
205 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
206 struct mac_display_info *mac_display_info_for_display (Display *); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
207 static void x_update_window_end P_ ((struct window *, int, int)); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
208 int x_catch_errors P_ ((Display *)); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
209 void x_uncatch_errors P_ ((Display *, int)); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
210 void x_lower_frame P_ ((struct frame *)); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
211 void x_scroll_bar_clear P_ ((struct frame *)); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
212 int x_had_errors_p P_ ((Display *)); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
213 void x_wm_set_size_hint P_ ((struct frame *, long, int)); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
214 void x_raise_frame P_ ((struct frame *)); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
215 void x_set_window_size P_ ((struct frame *, int, int, int)); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
216 void x_wm_set_window_state P_ ((struct frame *, int)); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
217 void x_wm_set_icon_pixmap P_ ((struct frame *, int)); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
218 void mac_initialize P_ ((void)); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
219 static void x_font_min_bounds P_ ((XFontStruct *, int *, int *)); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
220 static int x_compute_min_glyph_bounds P_ ((struct frame *)); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
221 static void x_update_end P_ ((struct frame *)); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
222 static void XTframe_up_to_date P_ ((struct frame *)); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
223 static void XTset_terminal_modes P_ ((void)); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
224 static void XTreset_terminal_modes P_ ((void)); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
225 static void x_clear_frame P_ ((void)); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
226 static void frame_highlight P_ ((struct frame *)); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
227 static void frame_unhighlight P_ ((struct frame *)); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
228 static void x_new_focus_frame P_ ((struct x_display_info *, struct frame *)); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
229 static void XTframe_rehighlight P_ ((struct frame *)); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
230 static void x_frame_rehighlight P_ ((struct x_display_info *)); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
231 static void x_draw_hollow_cursor P_ ((struct window *, struct glyph_row *)); |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
232 static void x_draw_bar_cursor P_ ((struct window *, struct glyph_row *, int, |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
233 enum text_cursor_kinds)); |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
234 |
|
58403
c936fa56eb60
(x_clip_to_row): Add area arg. Callers changed.
Kim F. Storm <storm@cua.dk>
parents:
57783
diff
changeset
|
235 static void x_clip_to_row P_ ((struct window *, struct glyph_row *, int, GC)); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
236 static void x_update_begin P_ ((struct frame *)); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
237 static void x_update_window_begin P_ ((struct window *)); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
238 static void x_after_update_window_line P_ ((struct glyph_row *)); |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
239 |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
240 static XCharStruct *mac_per_char_metric P_ ((XFontStruct *, XChar2b *, int)); |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
241 static void XSetFont P_ ((Display *, GC, XFontStruct *)); |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
242 |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
243 extern void mac_toolbox_initialize P_ ((void)); |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
244 extern void x_scroll_bar_report_motion P_ ((struct frame **, Lisp_Object *, |
|
64276
0a062d2d75f3
Don't include stdlib.h or composite.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64102
diff
changeset
|
245 enum scroll_bar_part *, |
|
0a062d2d75f3
Don't include stdlib.h or composite.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64102
diff
changeset
|
246 Lisp_Object *, Lisp_Object *, |
|
0a062d2d75f3
Don't include stdlib.h or composite.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64102
diff
changeset
|
247 unsigned long *)); |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
248 #if USE_CG_DRAWING |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
249 extern void mac_flush_display_optional P_ ((struct frame *)); |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
250 #endif |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
251 |
|
64424
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
252 #define GC_FORE_COLOR(gc) (&(gc)->fore_color) |
|
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
253 #define GC_BACK_COLOR(gc) (&(gc)->back_color) |
|
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
254 #define GC_FONT(gc) ((gc)->xgcv.font) |
|
66110
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
255 #define FRAME_NORMAL_GC(f) ((f)->output_data.mac->normal_gc) |
|
75100
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
256 |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
257 #define CG_SET_FILL_COLOR(context, color) \ |
|
69433
a8fd29f179b0
(mac_draw_rectangle, x_draw_glyph_string_foreground)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69369
diff
changeset
|
258 CGContextSetRGBFillColor (context, \ |
|
a8fd29f179b0
(mac_draw_rectangle, x_draw_glyph_string_foreground)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69369
diff
changeset
|
259 RED_FROM_ULONG (color) / 255.0f, \ |
|
a8fd29f179b0
(mac_draw_rectangle, x_draw_glyph_string_foreground)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69369
diff
changeset
|
260 GREEN_FROM_ULONG (color) / 255.0f, \ |
|
a8fd29f179b0
(mac_draw_rectangle, x_draw_glyph_string_foreground)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69369
diff
changeset
|
261 BLUE_FROM_ULONG (color) / 255.0f, 1.0f) |
|
75100
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
262 #if USE_CG_DRAWING && MAC_OS_X_VERSION_MAX_ALLOWED >= 1030 |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
263 #if MAC_OS_X_VERSION_MIN_REQUIRED == 1020 |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
264 #define CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR(context, color, cg_color) \ |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
265 do { \ |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
266 if (CGColorGetTypeID != NULL) \ |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
267 CGContextSetFillColorWithColor (context, cg_color); \ |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
268 else \ |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
269 CG_SET_FILL_COLOR (context, color); \ |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
270 } while (0) |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
271 #else |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
272 #define CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR(context, color, cg_color) \ |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
273 CGContextSetFillColorWithColor (context, cg_color) |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
274 #endif |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
275 #else |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
276 #define CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR(context, color, cg_color) \ |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
277 CG_SET_FILL_COLOR (context, color) |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
278 #endif |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
279 #define CG_SET_FILL_COLOR_WITH_GC_FOREGROUND(context, gc) \ |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
280 CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR (context, (gc)->xgcv.foreground, \ |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
281 (gc)->cg_fore_color) |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
282 #define CG_SET_FILL_COLOR_WITH_GC_BACKGROUND(context, gc) \ |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
283 CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR (context, (gc)->xgcv.background, \ |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
284 (gc)->cg_back_color) |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
285 |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
286 |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
287 #define CG_SET_STROKE_COLOR(context, color) \ |
|
69433
a8fd29f179b0
(mac_draw_rectangle, x_draw_glyph_string_foreground)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69369
diff
changeset
|
288 CGContextSetRGBStrokeColor (context, \ |
|
a8fd29f179b0
(mac_draw_rectangle, x_draw_glyph_string_foreground)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69369
diff
changeset
|
289 RED_FROM_ULONG (color) / 255.0f, \ |
|
a8fd29f179b0
(mac_draw_rectangle, x_draw_glyph_string_foreground)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69369
diff
changeset
|
290 GREEN_FROM_ULONG (color) / 255.0f, \ |
|
a8fd29f179b0
(mac_draw_rectangle, x_draw_glyph_string_foreground)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69369
diff
changeset
|
291 BLUE_FROM_ULONG (color) / 255.0f, 1.0f) |
|
75100
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
292 #if USE_CG_DRAWING && MAC_OS_X_VERSION_MAX_ALLOWED >= 1030 |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
293 #if MAC_OS_X_VERSION_MIN_REQUIRED == 1020 |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
294 #define CG_SET_STROKE_COLOR_MAYBE_WITH_CGCOLOR(context, color, cg_color) \ |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
295 do { \ |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
296 if (CGColorGetTypeID != NULL) \ |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
297 CGContextSetStrokeColorWithColor (context, cg_color); \ |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
298 else \ |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
299 CG_SET_STROKE_COLOR (context, color); \ |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
300 } while (0) |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
301 #else |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
302 #define CG_SET_STROKE_COLOR_MAYBE_WITH_CGCOLOR(context, color, cg_color) \ |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
303 CGContextSetStrokeColorWithColor (context, cg_color) |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
304 #endif |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
305 #else |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
306 #define CG_SET_STROKE_COLOR_MAYBE_WITH_CGCOLOR(context, color, cg_color) \ |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
307 CG_SET_STROKE_COLOR (context, color) |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
308 #endif |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
309 #define CG_SET_STROKE_COLOR_WITH_GC_FOREGROUND(context, gc) \ |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
310 CG_SET_STROKE_COLOR_MAYBE_WITH_CGCOLOR (context, (gc)->xgcv.foreground, \ |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
311 (gc)->cg_fore_color) |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
312 |
|
69433
a8fd29f179b0
(mac_draw_rectangle, x_draw_glyph_string_foreground)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69369
diff
changeset
|
313 #if USE_CG_DRAWING |
|
69488
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
314 /* Fringe bitmaps. */ |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
315 |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
316 static int max_fringe_bmp = 0; |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
317 static CGImageRef *fringe_bmp = 0; |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
318 |
|
80547
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
319 CGColorSpaceRef mac_cg_color_space_rgb; |
|
75100
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
320 #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030 |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
321 static CGColorRef mac_cg_color_black; |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
322 #endif |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
323 |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
324 static void |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
325 init_cg_color () |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
326 { |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
327 mac_cg_color_space_rgb = CGColorSpaceCreateDeviceRGB (); |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
328 #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030 |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
329 #if MAC_OS_X_VERSION_MIN_REQUIRED == 1020 |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
330 /* Don't check the availability of CGColorCreate; this symbol is |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
331 defined even in Mac OS X 10.1. */ |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
332 if (CGColorGetTypeID != NULL) |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
333 #endif |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
334 { |
|
80515
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
335 CGFloat rgba[] = {0.0f, 0.0f, 0.0f, 1.0f}; |
|
75100
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
336 |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
337 mac_cg_color_black = CGColorCreate (mac_cg_color_space_rgb, rgba); |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
338 } |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
339 #endif |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
340 } |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
341 #endif /* USE_CG_DRAWING */ |
|
64424
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
342 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
343 /* X display function emulation */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
344 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
345 /* Mac version of XDrawLine. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
346 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
347 static void |
|
66110
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
348 mac_draw_line (f, gc, x1, y1, x2, y2) |
|
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
349 struct frame *f; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
350 GC gc; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
351 int x1, y1, x2, y2; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
352 { |
|
69433
a8fd29f179b0
(mac_draw_rectangle, x_draw_glyph_string_foreground)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69369
diff
changeset
|
353 #if USE_CG_DRAWING |
|
a8fd29f179b0
(mac_draw_rectangle, x_draw_glyph_string_foreground)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69369
diff
changeset
|
354 CGContextRef context; |
|
80515
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
355 CGFloat gx1 = x1, gy1 = y1, gx2 = x2, gy2 = y2; |
|
70304
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
356 |
|
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
357 if (y1 != y2) |
|
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
358 gx1 += 0.5f, gx2 += 0.5f; |
|
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
359 if (x1 != x2) |
|
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
360 gy1 += 0.5f, gy2 += 0.5f; |
|
69433
a8fd29f179b0
(mac_draw_rectangle, x_draw_glyph_string_foreground)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69369
diff
changeset
|
361 |
|
a8fd29f179b0
(mac_draw_rectangle, x_draw_glyph_string_foreground)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69369
diff
changeset
|
362 context = mac_begin_cg_clip (f, gc); |
|
75100
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
363 CG_SET_STROKE_COLOR_WITH_GC_FOREGROUND (context, gc); |
|
69433
a8fd29f179b0
(mac_draw_rectangle, x_draw_glyph_string_foreground)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69369
diff
changeset
|
364 CGContextBeginPath (context); |
|
70304
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
365 CGContextMoveToPoint (context, gx1, gy1); |
|
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
366 CGContextAddLineToPoint (context, gx2, gy2); |
|
69433
a8fd29f179b0
(mac_draw_rectangle, x_draw_glyph_string_foreground)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69369
diff
changeset
|
367 CGContextClosePath (context); |
|
a8fd29f179b0
(mac_draw_rectangle, x_draw_glyph_string_foreground)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69369
diff
changeset
|
368 CGContextStrokePath (context); |
|
a8fd29f179b0
(mac_draw_rectangle, x_draw_glyph_string_foreground)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69369
diff
changeset
|
369 mac_end_cg_clip (f); |
|
a8fd29f179b0
(mac_draw_rectangle, x_draw_glyph_string_foreground)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69369
diff
changeset
|
370 #else |
|
70304
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
371 if (x1 == x2) |
|
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
372 { |
|
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
373 if (y1 > y2) |
|
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
374 y1--; |
|
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
375 else if (y2 > y1) |
|
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
376 y2--; |
|
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
377 } |
|
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
378 else if (y1 == y2) |
|
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
379 { |
|
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
380 if (x1 > x2) |
|
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
381 x1--; |
|
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
382 else |
|
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
383 x2--; |
|
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
384 } |
|
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
385 |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
386 mac_begin_clip (f, gc); |
|
64424
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
387 RGBForeColor (GC_FORE_COLOR (gc)); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
388 MoveTo (x1, y1); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
389 LineTo (x2, y2); |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
390 mac_end_clip (f, gc); |
|
69433
a8fd29f179b0
(mac_draw_rectangle, x_draw_glyph_string_foreground)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69369
diff
changeset
|
391 #endif |
|
44890
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 |
|
75156
a567ccd9c91c
(XDrawLine): Rename from mac_draw_line_to_pixmap.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
75100
diff
changeset
|
394 /* Mac version of XDrawLine (to Pixmap). */ |
|
a567ccd9c91c
(XDrawLine): Rename from mac_draw_line_to_pixmap.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
75100
diff
changeset
|
395 |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
396 void |
|
75156
a567ccd9c91c
(XDrawLine): Rename from mac_draw_line_to_pixmap.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
75100
diff
changeset
|
397 XDrawLine (display, p, gc, x1, y1, x2, y2) |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
398 Display *display; |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
399 Pixmap p; |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
400 GC gc; |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
401 int x1, y1, x2, y2; |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
402 { |
|
80547
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
403 #if USE_MAC_IMAGE_IO |
|
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
404 CGContextRef context; |
|
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
405 XImagePtr ximg = p; |
|
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
406 CGColorSpaceRef color_space; |
|
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
407 CGImageAlphaInfo alpha_info; |
|
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
408 CGFloat gx1 = x1, gy1 = y1, gx2 = x2, gy2 = y2; |
|
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
409 |
|
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
410 if (y1 != y2) |
|
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
411 gx1 += 0.5f, gx2 += 0.5f; |
|
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
412 if (x1 != x2) |
|
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
413 gy1 += 0.5f, gy2 += 0.5f; |
|
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
414 |
|
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
415 if (ximg->bits_per_pixel == 32) |
|
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
416 { |
|
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
417 color_space = mac_cg_color_space_rgb; |
|
80617
48a714a8e3a6
(XDrawLine, XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80604
diff
changeset
|
418 alpha_info = kCGImageAlphaNoneSkipFirst | kCGBitmapByteOrder32Host; |
|
80547
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
419 } |
|
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
420 else |
|
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
421 { |
|
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
422 color_space = NULL; |
|
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
423 alpha_info = kCGImageAlphaOnly; |
|
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
424 } |
|
80622
97941d75f8ce
(XDrawLine) [USE_MAC_IMAGE_IO]: Remove spurious return.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80617
diff
changeset
|
425 context = CGBitmapContextCreate (ximg->data, ximg->width, ximg->height, 8, |
|
80547
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
426 ximg->bytes_per_line, color_space, |
|
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
427 alpha_info); |
|
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
428 if (ximg->bits_per_pixel == 32) |
|
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
429 CG_SET_STROKE_COLOR_WITH_GC_FOREGROUND (context, gc); |
|
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
430 else |
|
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
431 CGContextSetGrayStrokeColor (context, gc->xgcv.foreground / 255.0f, 1.0); |
|
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
432 CGContextMoveToPoint (context, gx1, gy1); |
|
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
433 CGContextAddLineToPoint (context, gx2, gy2); |
|
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
434 CGContextClosePath (context); |
|
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
435 CGContextStrokePath (context); |
|
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
436 CGContextRelease (context); |
|
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
437 #else |
|
55412
53a1a79a33f9
macterm.c (mac_check_for_quit_char): Adding BLOCK_INPUT
Steven Tamm <steventamm@mac.com>
parents:
55128
diff
changeset
|
438 CGrafPtr old_port; |
|
53a1a79a33f9
macterm.c (mac_check_for_quit_char): Adding BLOCK_INPUT
Steven Tamm <steventamm@mac.com>
parents:
55128
diff
changeset
|
439 GDHandle old_gdh; |
|
53a1a79a33f9
macterm.c (mac_check_for_quit_char): Adding BLOCK_INPUT
Steven Tamm <steventamm@mac.com>
parents:
55128
diff
changeset
|
440 |
|
70304
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
441 if (x1 == x2) |
|
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
442 { |
|
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
443 if (y1 > y2) |
|
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
444 y1--; |
|
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
445 else if (y2 > y1) |
|
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
446 y2--; |
|
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
447 } |
|
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
448 else if (y1 == y2) |
|
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
449 { |
|
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
450 if (x1 > x2) |
|
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
451 x1--; |
|
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
452 else |
|
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
453 x2--; |
|
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
454 } |
|
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
455 |
|
55412
53a1a79a33f9
macterm.c (mac_check_for_quit_char): Adding BLOCK_INPUT
Steven Tamm <steventamm@mac.com>
parents:
55128
diff
changeset
|
456 GetGWorld (&old_port, &old_gdh); |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
457 SetGWorld (p, NULL); |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
458 |
|
64424
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
459 RGBForeColor (GC_FORE_COLOR (gc)); |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
460 |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
461 LockPixels (GetGWorldPixMap (p)); |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
462 MoveTo (x1, y1); |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
463 LineTo (x2, y2); |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
464 UnlockPixels (GetGWorldPixMap (p)); |
|
55412
53a1a79a33f9
macterm.c (mac_check_for_quit_char): Adding BLOCK_INPUT
Steven Tamm <steventamm@mac.com>
parents:
55128
diff
changeset
|
465 |
|
53a1a79a33f9
macterm.c (mac_check_for_quit_char): Adding BLOCK_INPUT
Steven Tamm <steventamm@mac.com>
parents:
55128
diff
changeset
|
466 SetGWorld (old_port, old_gdh); |
|
80547
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
467 #endif |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
468 } |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
469 |
|
64424
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
470 |
|
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
471 static void |
|
66110
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
472 mac_erase_rectangle (f, gc, x, y, width, height) |
|
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
473 struct frame *f; |
|
64424
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
474 GC gc; |
|
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
475 int x, y; |
|
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
476 unsigned int width, height; |
|
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
477 { |
|
69433
a8fd29f179b0
(mac_draw_rectangle, x_draw_glyph_string_foreground)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69369
diff
changeset
|
478 #if USE_CG_DRAWING |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
479 { |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
480 CGContextRef context; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
481 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
482 context = mac_begin_cg_clip (f, gc); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
483 CG_SET_FILL_COLOR_WITH_GC_BACKGROUND (context, gc); |
|
80515
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
484 CGContextFillRect (context, mac_rect_make (f, x, y, width, height)); |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
485 mac_end_cg_clip (f); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
486 } |
|
69433
a8fd29f179b0
(mac_draw_rectangle, x_draw_glyph_string_foreground)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69369
diff
changeset
|
487 #else |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
488 { |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
489 Rect r; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
490 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
491 mac_begin_clip (f, gc); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
492 RGBBackColor (GC_BACK_COLOR (gc)); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
493 SetRect (&r, x, y, x + width, y + height); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
494 EraseRect (&r); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
495 RGBBackColor (GC_BACK_COLOR (FRAME_NORMAL_GC (f))); |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
496 mac_end_clip (f, gc); |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
497 } |
|
69433
a8fd29f179b0
(mac_draw_rectangle, x_draw_glyph_string_foreground)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69369
diff
changeset
|
498 #endif |
|
64424
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
499 } |
|
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
500 |
|
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
501 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
502 /* Mac version of XClearArea. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
503 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
504 void |
|
66110
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
505 mac_clear_area (f, x, y, width, height) |
|
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
506 struct frame *f; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
507 int x, y; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
508 unsigned int width, height; |
|
66110
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
509 { |
|
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
510 mac_erase_rectangle (f, FRAME_NORMAL_GC (f), x, y, width, height); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
511 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
512 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
513 /* Mac version of XClearWindow. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
514 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
515 static void |
|
66110
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
516 mac_clear_window (f) |
|
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
517 struct frame *f; |
|
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
518 { |
|
69433
a8fd29f179b0
(mac_draw_rectangle, x_draw_glyph_string_foreground)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69369
diff
changeset
|
519 #if USE_CG_DRAWING |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
520 { |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
521 CGContextRef context; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
522 GC gc = FRAME_NORMAL_GC (f); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
523 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
524 context = mac_begin_cg_clip (f, NULL); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
525 CG_SET_FILL_COLOR_WITH_GC_BACKGROUND (context, gc); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
526 CGContextFillRect (context, CGRectMake (0, 0, FRAME_PIXEL_WIDTH (f), |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
527 FRAME_PIXEL_HEIGHT (f))); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
528 mac_end_cg_clip (f); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
529 } |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
530 #else /* !USE_CG_DRAWING */ |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
531 mac_begin_clip (f, NULL); |
|
66110
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
532 RGBBackColor (GC_BACK_COLOR (FRAME_NORMAL_GC (f))); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
533 #if TARGET_API_MAC_CARBON |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
534 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
535 Rect r; |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
536 |
|
66110
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
537 GetWindowPortBounds (FRAME_MAC_WINDOW (f), &r); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
538 EraseRect (&r); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
539 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
540 #else /* not TARGET_API_MAC_CARBON */ |
|
66110
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
541 EraseRect (&(FRAME_MAC_WINDOW (f)->portRect)); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
542 #endif /* not TARGET_API_MAC_CARBON */ |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
543 mac_end_clip (f, NULL); |
|
69433
a8fd29f179b0
(mac_draw_rectangle, x_draw_glyph_string_foreground)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69369
diff
changeset
|
544 #endif |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
545 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
546 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
547 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
548 /* Mac replacement for XCopyArea. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
549 |
|
69488
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
550 #if USE_CG_DRAWING |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
551 static void |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
552 mac_draw_cg_image (image, f, gc, src_x, src_y, width, height, |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
553 dest_x, dest_y, overlay_p) |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
554 CGImageRef image; |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
555 struct frame *f; |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
556 GC gc; |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
557 int src_x, src_y; |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
558 unsigned int width, height; |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
559 int dest_x, dest_y, overlay_p; |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
560 { |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
561 CGContextRef context; |
|
80515
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
562 CGFloat port_height = FRAME_PIXEL_HEIGHT (f); |
|
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
563 CGRect dest_rect = mac_rect_make (f, dest_x, dest_y, width, height); |
|
69488
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
564 |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
565 context = mac_begin_cg_clip (f, gc); |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
566 if (!overlay_p) |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
567 { |
|
75100
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
568 CG_SET_FILL_COLOR_WITH_GC_BACKGROUND (context, gc); |
|
69488
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
569 CGContextFillRect (context, dest_rect); |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
570 } |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
571 CGContextClipToRect (context, dest_rect); |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
572 CGContextScaleCTM (context, 1, -1); |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
573 CGContextTranslateCTM (context, 0, -port_height); |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
574 if (CGImageIsMask (image)) |
|
75100
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
575 CG_SET_FILL_COLOR_WITH_GC_FOREGROUND (context, gc); |
|
69488
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
576 CGContextDrawImage (context, |
|
80515
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
577 mac_rect_make (f, dest_x - src_x, |
|
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
578 port_height - (dest_y - src_y |
|
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
579 + CGImageGetHeight (image)), |
|
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
580 CGImageGetWidth (image), |
|
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
581 CGImageGetHeight (image)), |
|
69488
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
582 image); |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
583 mac_end_cg_clip (f); |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
584 } |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
585 |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
586 #else /* !USE_CG_DRAWING */ |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
587 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
588 static void |
|
66110
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
589 mac_draw_bitmap (f, gc, x, y, width, height, bits, overlay_p) |
|
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
590 struct frame *f; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
591 GC gc; |
|
53935
60bbfcb6328e
(mac_draw_bitmap): Handle 16 bits wide bitmaps directly.
Kim F. Storm <storm@cua.dk>
parents:
53899
diff
changeset
|
592 int x, y, width, height; |
|
60bbfcb6328e
(mac_draw_bitmap): Handle 16 bits wide bitmaps directly.
Kim F. Storm <storm@cua.dk>
parents:
53899
diff
changeset
|
593 unsigned short *bits; |
|
53899
e45e1fbbe83e
(mac_draw_bitmap): Add overlay_p arg.
Kim F. Storm <storm@cua.dk>
parents:
53885
diff
changeset
|
594 int overlay_p; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
595 { |
|
53935
60bbfcb6328e
(mac_draw_bitmap): Handle 16 bits wide bitmaps directly.
Kim F. Storm <storm@cua.dk>
parents:
53899
diff
changeset
|
596 BitMap bitmap; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
597 Rect r; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
598 |
|
53935
60bbfcb6328e
(mac_draw_bitmap): Handle 16 bits wide bitmaps directly.
Kim F. Storm <storm@cua.dk>
parents:
53899
diff
changeset
|
599 bitmap.rowBytes = sizeof(unsigned short); |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
600 bitmap.baseAddr = (char *)bits; |
|
53935
60bbfcb6328e
(mac_draw_bitmap): Handle 16 bits wide bitmaps directly.
Kim F. Storm <storm@cua.dk>
parents:
53899
diff
changeset
|
601 SetRect (&(bitmap.bounds), 0, 0, width, height); |
|
60bbfcb6328e
(mac_draw_bitmap): Handle 16 bits wide bitmaps directly.
Kim F. Storm <storm@cua.dk>
parents:
53899
diff
changeset
|
602 |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
603 mac_begin_clip (f, gc); |
|
64424
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
604 RGBForeColor (GC_FORE_COLOR (gc)); |
|
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
605 RGBBackColor (GC_BACK_COLOR (gc)); |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
606 SetRect (&r, x, y, x + width, y + height); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
607 #if TARGET_API_MAC_CARBON |
|
66110
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
608 { |
|
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
609 CGrafPtr port; |
|
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
610 |
|
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
611 GetPort (&port); |
|
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
612 LockPortBits (port); |
|
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
613 CopyBits (&bitmap, GetPortBitMapForCopyBits (port), |
|
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
614 &(bitmap.bounds), &r, overlay_p ? srcOr : srcCopy, 0); |
|
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
615 UnlockPortBits (port); |
|
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
616 } |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
617 #else /* not TARGET_API_MAC_CARBON */ |
|
66110
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
618 CopyBits (&bitmap, &(FRAME_MAC_WINDOW (f)->portBits), &(bitmap.bounds), &r, |
|
53899
e45e1fbbe83e
(mac_draw_bitmap): Add overlay_p arg.
Kim F. Storm <storm@cua.dk>
parents:
53885
diff
changeset
|
619 overlay_p ? srcOr : srcCopy, 0); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
620 #endif /* not TARGET_API_MAC_CARBON */ |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
621 RGBBackColor (GC_BACK_COLOR (FRAME_NORMAL_GC (f))); |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
622 mac_end_clip (f, gc); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
623 } |
|
69488
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
624 #endif /* !USE_CG_DRAWING */ |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
625 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
626 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
627 /* Mac replacement for XCreateBitmapFromBitmapData. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
628 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
629 static void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
630 mac_create_bitmap_from_bitmap_data (bitmap, bits, w, h) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
631 BitMap *bitmap; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
632 char *bits; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
633 int w, h; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
634 { |
|
73575
c39e3aff703e
(mac_create_bitmap_from_bitmap_data): Make variable
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73385
diff
changeset
|
635 static const unsigned char swap_nibble[16] |
|
59189
60ffced08532
* term/mac-win.el: Require x-dnd.
Steven Tamm <steventamm@mac.com>
parents:
59146
diff
changeset
|
636 = { 0x0, 0x8, 0x4, 0xc, /* 0000 1000 0100 1100 */ |
|
60ffced08532
* term/mac-win.el: Require x-dnd.
Steven Tamm <steventamm@mac.com>
parents:
59146
diff
changeset
|
637 0x2, 0xa, 0x6, 0xe, /* 0010 1010 0110 1110 */ |
|
60ffced08532
* term/mac-win.el: Require x-dnd.
Steven Tamm <steventamm@mac.com>
parents:
59146
diff
changeset
|
638 0x1, 0x9, 0x5, 0xd, /* 0001 1001 0101 1101 */ |
|
60ffced08532
* term/mac-win.el: Require x-dnd.
Steven Tamm <steventamm@mac.com>
parents:
59146
diff
changeset
|
639 0x3, 0xb, 0x7, 0xf }; /* 0011 1011 0111 1111 */ |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
640 int i, j, w1; |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
641 char *p; |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
642 |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
643 w1 = (w + 7) / 8; /* nb of 8bits elt in X bitmap */ |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
644 bitmap->rowBytes = ((w + 15) / 16) * 2; /* nb of 16bits elt in Mac bitmap */ |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
645 bitmap->baseAddr = xmalloc (bitmap->rowBytes * h); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
646 bzero (bitmap->baseAddr, bitmap->rowBytes * h); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
647 for (i = 0; i < h; i++) |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
648 { |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
649 p = bitmap->baseAddr + i * bitmap->rowBytes; |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
650 for (j = 0; j < w1; j++) |
|
59189
60ffced08532
* term/mac-win.el: Require x-dnd.
Steven Tamm <steventamm@mac.com>
parents:
59146
diff
changeset
|
651 { |
|
60ffced08532
* term/mac-win.el: Require x-dnd.
Steven Tamm <steventamm@mac.com>
parents:
59146
diff
changeset
|
652 /* Bitswap XBM bytes to match how Mac does things. */ |
|
60ffced08532
* term/mac-win.el: Require x-dnd.
Steven Tamm <steventamm@mac.com>
parents:
59146
diff
changeset
|
653 unsigned char c = *bits++; |
|
60ffced08532
* term/mac-win.el: Require x-dnd.
Steven Tamm <steventamm@mac.com>
parents:
59146
diff
changeset
|
654 *p++ = (unsigned char)((swap_nibble[c & 0xf] << 4) |
|
77907
c53c9b6a0e5b
(mac_create_bitmap_from_bitmap_data)
Chong Yidong <cyd@stupidchicken.com>
parents:
77795
diff
changeset
|
655 | (swap_nibble[(c>>4) & 0xf])); |
|
59189
60ffced08532
* term/mac-win.el: Require x-dnd.
Steven Tamm <steventamm@mac.com>
parents:
59146
diff
changeset
|
656 } |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
657 } |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
658 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
659 SetRect (&(bitmap->bounds), 0, 0, w, h); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
660 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
661 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
662 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
663 static void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
664 mac_free_bitmap (bitmap) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
665 BitMap *bitmap; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
666 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
667 xfree (bitmap->baseAddr); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
668 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
669 |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
670 |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
671 Pixmap |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
672 XCreatePixmap (display, w, width, height, depth) |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
673 Display *display; |
|
80515
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
674 Window w; |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
675 unsigned int width, height; |
|
58634
95d38c47c806
* keyboard.c: Don't undef SIGIO
Steven Tamm <steventamm@mac.com>
parents:
58403
diff
changeset
|
676 unsigned int depth; |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
677 { |
|
80547
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
678 #if USE_MAC_IMAGE_IO |
|
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
679 XImagePtr ximg; |
|
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
680 |
|
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
681 ximg = xmalloc (sizeof (*ximg)); |
|
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
682 ximg->width = width; |
|
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
683 ximg->height = height; |
|
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
684 ximg->bits_per_pixel = depth == 1 ? 8 : 32; |
|
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
685 ximg->bytes_per_line = width * (ximg->bits_per_pixel / 8); |
|
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
686 ximg->data = xmalloc (ximg->bytes_per_line * height); |
|
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
687 return ximg; |
|
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
688 #else |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
689 Pixmap pixmap; |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
690 Rect r; |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
691 QDErr err; |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
692 |
|
80515
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
693 #ifdef MAC_OS8 |
|
55851
f1d6a507dcfd
Support Tooltips with the Carbon emacs port.
Steven Tamm <steventamm@mac.com>
parents:
55583
diff
changeset
|
694 SetPortWindowPort (w); |
|
80515
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
695 #endif |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
696 SetRect (&r, 0, 0, width, height); |
|
69512
eafd737138ea
(XCreatePixmap) [!WORDS_BIG_ENDIAN && USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69488
diff
changeset
|
697 #if !defined (WORDS_BIG_ENDIAN) && USE_CG_DRAWING |
|
eafd737138ea
(XCreatePixmap) [!WORDS_BIG_ENDIAN && USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69488
diff
changeset
|
698 if (depth == 1) |
|
eafd737138ea
(XCreatePixmap) [!WORDS_BIG_ENDIAN && USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69488
diff
changeset
|
699 #endif |
|
eafd737138ea
(XCreatePixmap) [!WORDS_BIG_ENDIAN && USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69488
diff
changeset
|
700 err = NewGWorld (&pixmap, depth, &r, NULL, NULL, 0); |
|
eafd737138ea
(XCreatePixmap) [!WORDS_BIG_ENDIAN && USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69488
diff
changeset
|
701 #if !defined (WORDS_BIG_ENDIAN) && USE_CG_DRAWING |
|
eafd737138ea
(XCreatePixmap) [!WORDS_BIG_ENDIAN && USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69488
diff
changeset
|
702 else |
|
eafd737138ea
(XCreatePixmap) [!WORDS_BIG_ENDIAN && USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69488
diff
changeset
|
703 /* CreateCGImageFromPixMaps requires ARGB format. */ |
|
eafd737138ea
(XCreatePixmap) [!WORDS_BIG_ENDIAN && USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69488
diff
changeset
|
704 err = QTNewGWorld (&pixmap, k32ARGBPixelFormat, &r, NULL, NULL, 0); |
|
eafd737138ea
(XCreatePixmap) [!WORDS_BIG_ENDIAN && USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69488
diff
changeset
|
705 #endif |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
706 if (err != noErr) |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
707 return NULL; |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
708 return pixmap; |
|
80547
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
709 #endif |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
710 } |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
711 |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
712 |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
713 Pixmap |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
714 XCreatePixmapFromBitmapData (display, w, data, width, height, fg, bg, depth) |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
715 Display *display; |
|
80515
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
716 Window w; |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
717 char *data; |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
718 unsigned int width, height; |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
719 unsigned long fg, bg; |
|
64424
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
720 unsigned int depth; |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
721 { |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
722 Pixmap pixmap; |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
723 BitMap bitmap; |
|
80547
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
724 #if USE_MAC_IMAGE_IO |
|
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
725 CGDataProviderRef provider; |
|
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
726 CGImageRef image_mask; |
|
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
727 CGContextRef context; |
|
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
728 |
|
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
729 pixmap = XCreatePixmap (display, w, width, height, depth); |
|
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
730 if (pixmap == NULL) |
|
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
731 return NULL; |
|
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
732 |
|
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
733 mac_create_bitmap_from_bitmap_data (&bitmap, data, width, height); |
|
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
734 provider = CGDataProviderCreateWithData (NULL, bitmap.baseAddr, |
|
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
735 bitmap.rowBytes * height, NULL); |
|
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
736 image_mask = CGImageMaskCreate (width, height, 1, 1, bitmap.rowBytes, |
|
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
737 provider, NULL, 0); |
|
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
738 CGDataProviderRelease (provider); |
|
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
739 |
|
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
740 context = CGBitmapContextCreate (pixmap->data, width, height, 8, |
|
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
741 pixmap->bytes_per_line, |
|
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
742 mac_cg_color_space_rgb, |
|
80555
e8b63103e36b
(XDrawLine, XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80547
diff
changeset
|
743 kCGImageAlphaNoneSkipFirst |
|
80617
48a714a8e3a6
(XDrawLine, XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80604
diff
changeset
|
744 | kCGBitmapByteOrder32Host); |
|
80547
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
745 |
|
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
746 CG_SET_FILL_COLOR (context, fg); |
|
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
747 CGContextFillRect (context, CGRectMake (0, 0, width, height)); |
|
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
748 CG_SET_FILL_COLOR (context, bg); |
|
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
749 CGContextDrawImage (context, CGRectMake (0, 0, width, height), image_mask); |
|
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
750 CGContextRelease (context); |
|
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
751 CGImageRelease (image_mask); |
|
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
752 #else |
|
55412
53a1a79a33f9
macterm.c (mac_check_for_quit_char): Adding BLOCK_INPUT
Steven Tamm <steventamm@mac.com>
parents:
55128
diff
changeset
|
753 CGrafPtr old_port; |
|
53a1a79a33f9
macterm.c (mac_check_for_quit_char): Adding BLOCK_INPUT
Steven Tamm <steventamm@mac.com>
parents:
55128
diff
changeset
|
754 GDHandle old_gdh; |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
755 static GC gc = NULL; |
|
64424
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
756 |
|
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
757 if (gc == NULL) |
|
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
758 gc = XCreateGC (display, w, 0, NULL); |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
759 |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
760 pixmap = XCreatePixmap (display, w, width, height, depth); |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
761 if (pixmap == NULL) |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
762 return NULL; |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
763 |
|
55412
53a1a79a33f9
macterm.c (mac_check_for_quit_char): Adding BLOCK_INPUT
Steven Tamm <steventamm@mac.com>
parents:
55128
diff
changeset
|
764 GetGWorld (&old_port, &old_gdh); |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
765 SetGWorld (pixmap, NULL); |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
766 mac_create_bitmap_from_bitmap_data (&bitmap, data, width, height); |
|
64424
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
767 XSetForeground (display, gc, fg); |
|
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
768 XSetBackground (display, gc, bg); |
|
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
769 RGBForeColor (GC_FORE_COLOR (gc)); |
|
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
770 RGBBackColor (GC_BACK_COLOR (gc)); |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
771 LockPixels (GetGWorldPixMap (pixmap)); |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
772 #if TARGET_API_MAC_CARBON |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
773 CopyBits (&bitmap, GetPortBitMapForCopyBits (pixmap), |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
774 &bitmap.bounds, &bitmap.bounds, srcCopy, 0); |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
775 #else /* not TARGET_API_MAC_CARBON */ |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
776 CopyBits (&bitmap, &(((GrafPtr)pixmap)->portBits), |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
777 &bitmap.bounds, &bitmap.bounds, srcCopy, 0); |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
778 #endif /* not TARGET_API_MAC_CARBON */ |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
779 UnlockPixels (GetGWorldPixMap (pixmap)); |
|
55412
53a1a79a33f9
macterm.c (mac_check_for_quit_char): Adding BLOCK_INPUT
Steven Tamm <steventamm@mac.com>
parents:
55128
diff
changeset
|
780 SetGWorld (old_port, old_gdh); |
|
80547
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
781 #endif |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
782 mac_free_bitmap (&bitmap); |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
783 |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
784 return pixmap; |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
785 } |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
786 |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
787 |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
788 void |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
789 XFreePixmap (display, pixmap) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
790 Display *display; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
791 Pixmap pixmap; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
792 { |
|
80547
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
793 #if USE_MAC_IMAGE_IO |
|
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
794 if (pixmap) |
|
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
795 { |
|
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
796 if (pixmap->data) |
|
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
797 xfree (pixmap->data); |
|
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
798 xfree (pixmap); |
|
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
799 } |
|
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
800 #else |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
801 DisposeGWorld (pixmap); |
|
80547
06b5be2596c3
(mac_cg_color_space_rgb) [USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80519
diff
changeset
|
802 #endif |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
803 } |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
804 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
805 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
806 /* Mac replacement for XFillRectangle. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
807 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
808 static void |
|
66110
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
809 mac_fill_rectangle (f, gc, x, y, width, height) |
|
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
810 struct frame *f; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
811 GC gc; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
812 int x, y; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
813 unsigned int width, height; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
814 { |
|
69433
a8fd29f179b0
(mac_draw_rectangle, x_draw_glyph_string_foreground)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69369
diff
changeset
|
815 #if USE_CG_DRAWING |
|
a8fd29f179b0
(mac_draw_rectangle, x_draw_glyph_string_foreground)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69369
diff
changeset
|
816 CGContextRef context; |
|
a8fd29f179b0
(mac_draw_rectangle, x_draw_glyph_string_foreground)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69369
diff
changeset
|
817 |
|
a8fd29f179b0
(mac_draw_rectangle, x_draw_glyph_string_foreground)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69369
diff
changeset
|
818 context = mac_begin_cg_clip (f, gc); |
|
75100
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
819 CG_SET_FILL_COLOR_WITH_GC_FOREGROUND (context, gc); |
|
80515
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
820 CGContextFillRect (context, mac_rect_make (f, x, y, width, height)); |
|
69433
a8fd29f179b0
(mac_draw_rectangle, x_draw_glyph_string_foreground)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69369
diff
changeset
|
821 mac_end_cg_clip (f); |
|
a8fd29f179b0
(mac_draw_rectangle, x_draw_glyph_string_foreground)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69369
diff
changeset
|
822 #else |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
823 Rect r; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
824 |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
825 mac_begin_clip (f, gc); |
|
64424
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
826 RGBForeColor (GC_FORE_COLOR (gc)); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
827 SetRect (&r, x, y, x + width, y + height); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
828 PaintRect (&r); /* using foreground color of gc */ |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
829 mac_end_clip (f, gc); |
|
69433
a8fd29f179b0
(mac_draw_rectangle, x_draw_glyph_string_foreground)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69369
diff
changeset
|
830 #endif |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
831 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
832 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
833 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
834 /* Mac replacement for XDrawRectangle: dest is a window. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
835 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
836 static void |
|
66110
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
837 mac_draw_rectangle (f, gc, x, y, width, height) |
|
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
838 struct frame *f; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
839 GC gc; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
840 int x, y; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
841 unsigned int width, height; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
842 { |
|
69433
a8fd29f179b0
(mac_draw_rectangle, x_draw_glyph_string_foreground)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69369
diff
changeset
|
843 #if USE_CG_DRAWING |
|
a8fd29f179b0
(mac_draw_rectangle, x_draw_glyph_string_foreground)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69369
diff
changeset
|
844 CGContextRef context; |
|
a8fd29f179b0
(mac_draw_rectangle, x_draw_glyph_string_foreground)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69369
diff
changeset
|
845 |
|
a8fd29f179b0
(mac_draw_rectangle, x_draw_glyph_string_foreground)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69369
diff
changeset
|
846 context = mac_begin_cg_clip (f, gc); |
|
75100
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
847 CG_SET_STROKE_COLOR_WITH_GC_FOREGROUND (context, gc); |
|
69433
a8fd29f179b0
(mac_draw_rectangle, x_draw_glyph_string_foreground)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69369
diff
changeset
|
848 CGContextStrokeRect (context, |
|
a8fd29f179b0
(mac_draw_rectangle, x_draw_glyph_string_foreground)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69369
diff
changeset
|
849 CGRectMake (x + 0.5f, y + 0.5f, width, height)); |
|
a8fd29f179b0
(mac_draw_rectangle, x_draw_glyph_string_foreground)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69369
diff
changeset
|
850 mac_end_cg_clip (f); |
|
a8fd29f179b0
(mac_draw_rectangle, x_draw_glyph_string_foreground)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69369
diff
changeset
|
851 #else |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
852 Rect r; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
853 |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
854 mac_begin_clip (f, gc); |
|
64424
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
855 RGBForeColor (GC_FORE_COLOR (gc)); |
|
69433
a8fd29f179b0
(mac_draw_rectangle, x_draw_glyph_string_foreground)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69369
diff
changeset
|
856 SetRect (&r, x, y, x + width + 1, y + height + 1); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
857 FrameRect (&r); /* using foreground color of gc */ |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
858 mac_end_clip (f, gc); |
|
69433
a8fd29f179b0
(mac_draw_rectangle, x_draw_glyph_string_foreground)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69369
diff
changeset
|
859 #endif |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
860 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
861 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
862 |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
863 static void |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
864 mac_invert_rectangle (f, x, y, width, height) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
865 struct frame *f; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
866 int x, y; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
867 unsigned int width, height; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
868 { |
|
80515
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
869 #if USE_CG_DRAWING && MAC_OS_X_VERSION_MAX_ALLOWED >= 1040 |
|
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
870 #if MAC_OS_X_VERSION_MIN_REQUIRED < 1040 && MAC_OS_X_VERSION_MIN_REQUIRED >= 1020 |
|
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
871 if (CGContextSetBlendMode != NULL) |
|
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
872 #endif |
|
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
873 { |
|
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
874 CGContextRef context; |
|
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
875 |
|
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
876 context = mac_begin_cg_clip (f, NULL); |
|
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
877 CGContextSetRGBFillColor (context, 1.0f, 1.0f, 1.0f, 1.0f); |
|
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
878 CGContextSetBlendMode (context, kCGBlendModeDifference); |
|
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
879 CGContextFillRect (context, mac_rect_make (f, x, y, width, height)); |
|
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
880 mac_end_cg_clip (f); |
|
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
881 } |
|
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
882 #if MAC_OS_X_VERSION_MIN_REQUIRED < 1040 && MAC_OS_X_VERSION_MIN_REQUIRED >= 1020 |
|
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
883 else /* CGContextSetBlendMode == NULL */ |
|
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
884 #endif |
|
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
885 #endif /* USE_CG_DRAWING && MAC_OS_X_VERSION_MAX_ALLOWED >= 1040 */ |
|
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
886 #if !USE_CG_DRAWING || MAC_OS_X_VERSION_MAX_ALLOWED < 1040 || (MAC_OS_X_VERSION_MIN_REQUIRED < 1040 && MAC_OS_X_VERSION_MIN_REQUIRED >= 1020) |
|
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
887 { |
|
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
888 Rect r; |
|
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
889 |
|
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
890 mac_begin_clip (f, NULL); |
|
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
891 SetRect (&r, x, y, x + width, y + height); |
|
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
892 InvertRect (&r); |
|
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
893 mac_end_clip (f, NULL); |
|
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
894 } |
|
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
895 #endif |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
896 } |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
897 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
898 |
|
65772
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
899 #if USE_ATSUI |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
900 static OSStatus |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
901 atsu_get_text_layout_with_text_ptr (text, text_length, style, text_layout) |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
902 ConstUniCharArrayPtr text; |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
903 UniCharCount text_length; |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
904 ATSUStyle style; |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
905 ATSUTextLayout *text_layout; |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
906 { |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
907 OSStatus err; |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
908 static ATSUTextLayout saved_text_layout = NULL; |
|
65772
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
909 |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
910 if (saved_text_layout == NULL) |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
911 { |
|
73575
c39e3aff703e
(mac_create_bitmap_from_bitmap_data): Make variable
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73385
diff
changeset
|
912 static const UniCharCount lengths[] = {kATSUToTextEnd}; |
|
c39e3aff703e
(mac_create_bitmap_from_bitmap_data): Make variable
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73385
diff
changeset
|
913 static const ATSUAttributeTag tags[] = {kATSULineLayoutOptionsTag}; |
|
c39e3aff703e
(mac_create_bitmap_from_bitmap_data): Make variable
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73385
diff
changeset
|
914 static const ByteCount sizes[] = {sizeof (ATSLineLayoutOptions)}; |
|
65772
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
915 static ATSLineLayoutOptions line_layout = |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
916 #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1020 |
|
67458
e6e566aad553
(Qmac_ready_for_drag_n_drop, Qapplication, Qabout)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67101
diff
changeset
|
917 kATSLineDisableAllLayoutOperations | kATSLineUseDeviceMetrics |
|
68145
d88b44855af3
[USE_ATSUI] (atsu_get_text_layout_with_text_ptr)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67788
diff
changeset
|
918 | kATSLineUseQDRendering |
|
65772
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
919 #else |
|
65910
a53616277ba6
(GC_CLIP_REGION): New macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65892
diff
changeset
|
920 kATSLineIsDisplayOnly | kATSLineFractDisable |
|
65772
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
921 #endif |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
922 ; |
|
73575
c39e3aff703e
(mac_create_bitmap_from_bitmap_data): Make variable
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73385
diff
changeset
|
923 static const ATSUAttributeValuePtr values[] = {&line_layout}; |
|
65772
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
924 |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
925 err = ATSUCreateTextLayoutWithTextPtr (text, |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
926 kATSUFromTextBeginning, |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
927 kATSUToTextEnd, |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
928 text_length, |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
929 1, lengths, &style, |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
930 &saved_text_layout); |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
931 if (err == noErr) |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
932 err = ATSUSetLayoutControls (saved_text_layout, |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
933 sizeof (tags) / sizeof (tags[0]), |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
934 tags, sizes, values); |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
935 if (err == noErr) |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
936 err = ATSUSetTransientFontMatching (saved_text_layout, true); |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
937 } |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
938 else |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
939 { |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
940 err = ATSUSetRunStyle (saved_text_layout, style, |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
941 kATSUFromTextBeginning, kATSUToTextEnd); |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
942 if (err == noErr) |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
943 err = ATSUSetTextPointerLocation (saved_text_layout, text, |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
944 kATSUFromTextBeginning, |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
945 kATSUToTextEnd, |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
946 text_length); |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
947 } |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
948 |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
949 if (err == noErr) |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
950 *text_layout = saved_text_layout; |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
951 return err; |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
952 } |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
953 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
954 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
955 static void |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
956 mac_draw_image_string_atsui (f, gc, x, y, buf, nchars, bg_width, |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
957 overstrike_p, bytes_per_char) |
|
66110
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
958 struct frame *f; |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
959 GC gc; |
|
65822
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
960 int x, y; |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
961 char *buf; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
962 int nchars, bg_width, overstrike_p, bytes_per_char; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
963 { |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
964 OSStatus err; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
965 ATSUTextLayout text_layout; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
966 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
967 xassert (bytes_per_char == 2); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
968 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
969 #ifndef WORDS_BIG_ENDIAN |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
970 { |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
971 int i; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
972 UniChar *text = (UniChar *)buf; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
973 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
974 for (i = 0; i < nchars; i++) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
975 text[i] = EndianU16_BtoN (text[i]); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
976 } |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
977 #endif |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
978 err = atsu_get_text_layout_with_text_ptr ((ConstUniCharArrayPtr)buf, |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
979 nchars, |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
980 GC_FONT (gc)->mac_style, |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
981 &text_layout); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
982 if (err != noErr) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
983 return; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
984 #ifdef MAC_OSX |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
985 if (!mac_use_core_graphics) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
986 { |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
987 #endif |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
988 mac_begin_clip (f, gc); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
989 RGBForeColor (GC_FORE_COLOR (gc)); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
990 if (bg_width) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
991 { |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
992 Rect r; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
993 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
994 SetRect (&r, x, y - FONT_BASE (GC_FONT (gc)), |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
995 x + bg_width, y + FONT_DESCENT (GC_FONT (gc))); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
996 RGBBackColor (GC_BACK_COLOR (gc)); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
997 EraseRect (&r); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
998 RGBBackColor (GC_BACK_COLOR (FRAME_NORMAL_GC (f))); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
999 } |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1000 MoveTo (x, y); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1001 ATSUDrawText (text_layout, |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1002 kATSUFromTextBeginning, kATSUToTextEnd, |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1003 kATSUUseGrafPortPenLoc, kATSUUseGrafPortPenLoc); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1004 if (overstrike_p) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1005 { |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1006 MoveTo (x + 1, y); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1007 ATSUDrawText (text_layout, |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1008 kATSUFromTextBeginning, kATSUToTextEnd, |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1009 kATSUUseGrafPortPenLoc, kATSUUseGrafPortPenLoc); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1010 } |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
1011 mac_end_clip (f, gc); |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1012 #ifdef MAC_OSX |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1013 } |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1014 else |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1015 { |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1016 static CGContextRef context; |
|
80515
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
1017 CGFloat port_height = FRAME_PIXEL_HEIGHT (f); |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1018 static const ATSUAttributeTag tags[] = {kATSUCGContextTag}; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1019 static const ByteCount sizes[] = {sizeof (CGContextRef)}; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1020 static const ATSUAttributeValuePtr values[] = {&context}; |
|
65822
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
1021 |
|
69433
a8fd29f179b0
(mac_draw_rectangle, x_draw_glyph_string_foreground)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69369
diff
changeset
|
1022 #if USE_CG_DRAWING |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1023 context = mac_begin_cg_clip (f, gc); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1024 #else |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1025 CGrafPtr port; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1026 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1027 GetPort (&port); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1028 QDBeginCGContext (port, &context); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1029 if (gc->n_clip_rects || bg_width) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1030 { |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1031 CGContextTranslateCTM (context, 0, port_height); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1032 CGContextScaleCTM (context, 1, -1); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1033 if (gc->n_clip_rects) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1034 CGContextClipToRects (context, gc->clip_rects, |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1035 gc->n_clip_rects); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1036 #endif |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1037 if (bg_width) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1038 { |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1039 CG_SET_FILL_COLOR_WITH_GC_BACKGROUND (context, gc); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1040 CGContextFillRect (context, |
|
80515
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
1041 mac_rect_make (f, |
|
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
1042 x, y - FONT_BASE (GC_FONT (gc)), |
|
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
1043 bg_width, |
|
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
1044 FONT_HEIGHT (GC_FONT (gc)))); |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1045 } |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1046 CGContextScaleCTM (context, 1, -1); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1047 CGContextTranslateCTM (context, 0, -port_height); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1048 #if !USE_CG_DRAWING |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1049 } |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1050 #endif |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1051 CG_SET_FILL_COLOR_WITH_GC_FOREGROUND (context, gc); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1052 err = ATSUSetLayoutControls (text_layout, |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1053 sizeof (tags) / sizeof (tags[0]), |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1054 tags, sizes, values); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1055 if (err == noErr) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1056 { |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1057 ATSUDrawText (text_layout, |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1058 kATSUFromTextBeginning, kATSUToTextEnd, |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1059 Long2Fix (x), Long2Fix (port_height - y)); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1060 if (overstrike_p) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1061 ATSUDrawText (text_layout, |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1062 kATSUFromTextBeginning, kATSUToTextEnd, |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1063 Long2Fix (x + 1), Long2Fix (port_height - y)); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1064 } |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1065 #if USE_CG_DRAWING |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1066 mac_end_cg_clip (f); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1067 context = NULL; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1068 #else |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1069 CGContextSynchronize (context); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1070 QDEndCGContext (port, &context); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1071 #endif |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1072 #if 0 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1073 /* This doesn't work on Mac OS X 10.1. */ |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1074 ATSUClearLayoutControls (text_layout, |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1075 sizeof (tags) / sizeof (tags[0]), tags); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1076 #else |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1077 ATSUSetLayoutControls (text_layout, |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1078 sizeof (tags) / sizeof (tags[0]), |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1079 tags, sizes, values); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1080 #endif |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1081 } |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1082 #endif /* MAC_OSX */ |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1083 } |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1084 #endif /* USE_ATSUI */ |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1085 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1086 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1087 static void |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1088 mac_draw_image_string_qd (f, gc, x, y, buf, nchars, bg_width, |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1089 overstrike_p, bytes_per_char) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1090 struct frame *f; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1091 GC gc; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1092 int x, y; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1093 char *buf; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1094 int nchars, bg_width, overstrike_p, bytes_per_char; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1095 { |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1096 #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1020 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1097 UInt32 savedFlags; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1098 #endif |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1099 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1100 mac_begin_clip (f, gc); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1101 #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1020 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1102 if (mac_use_core_graphics) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1103 savedFlags = SwapQDTextFlags (kQDUseCGTextRendering); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1104 #endif |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1105 RGBForeColor (GC_FORE_COLOR (gc)); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1106 #ifdef MAC_OS8 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1107 if (bg_width) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1108 { |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1109 RGBBackColor (GC_BACK_COLOR (gc)); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1110 TextMode (srcCopy); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1111 } |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1112 else |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1113 TextMode (srcOr); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1114 #else |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1115 /* We prefer not to use srcCopy text transfer mode on Mac OS X |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1116 because: |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1117 - Screen is double-buffered. (In srcCopy mode, a text is drawn |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1118 into an offscreen graphics world first. So performance gain |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1119 cannot be expected.) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1120 - It lowers rendering quality. |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1121 - Some fonts leave garbage on cursor movement. */ |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1122 if (bg_width) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1123 { |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1124 Rect r; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1125 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1126 RGBBackColor (GC_BACK_COLOR (gc)); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1127 SetRect (&r, x, y - FONT_BASE (GC_FONT (gc)), |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1128 x + bg_width, y + FONT_DESCENT (GC_FONT (gc))); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1129 EraseRect (&r); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1130 } |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1131 TextMode (srcOr); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1132 #endif |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1133 TextFont (GC_FONT (gc)->mac_fontnum); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1134 TextSize (GC_FONT (gc)->mac_fontsize); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1135 TextFace (GC_FONT (gc)->mac_fontface); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1136 MoveTo (x, y); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1137 DrawText (buf, 0, nchars * bytes_per_char); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1138 if (overstrike_p) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1139 { |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1140 TextMode (srcOr); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1141 MoveTo (x + 1, y); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1142 DrawText (buf, 0, nchars * bytes_per_char); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1143 } |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1144 if (bg_width) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1145 RGBBackColor (GC_BACK_COLOR (FRAME_NORMAL_GC (f))); |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
1146 mac_end_clip (f, gc); |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1147 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1148 #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1020 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1149 if (mac_use_core_graphics) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1150 SwapQDTextFlags(savedFlags); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1151 #endif |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1152 } |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1153 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1154 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1155 static INLINE void |
|
73298
d16326a96180
(mac_draw_image_string, mac_draw_image_string_16): Add
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73133
diff
changeset
|
1156 mac_draw_string_common (f, gc, x, y, buf, nchars, bg_width, |
|
d16326a96180
(mac_draw_image_string, mac_draw_image_string_16): Add
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73133
diff
changeset
|
1157 overstrike_p, bytes_per_char) |
|
66110
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
1158 struct frame *f; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1159 GC gc; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1160 int x, y; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1161 char *buf; |
|
73298
d16326a96180
(mac_draw_image_string, mac_draw_image_string_16): Add
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73133
diff
changeset
|
1162 int nchars, bg_width, overstrike_p, bytes_per_char; |
|
69061
783439580869
(mac_draw_string_common): Remove arg MODE. New arg
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
68770
diff
changeset
|
1163 { |
|
65772
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
1164 #if USE_ATSUI |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
1165 if (GC_FONT (gc)->mac_style) |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1166 mac_draw_image_string_atsui (f, gc, x, y, buf, nchars, bg_width, |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1167 overstrike_p, bytes_per_char); |
|
65772
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
1168 else |
|
69061
783439580869
(mac_draw_string_common): Remove arg MODE. New arg
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
68770
diff
changeset
|
1169 #endif /* USE_ATSUI */ |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1170 mac_draw_image_string_qd (f, gc, x, y, buf, nchars, bg_width, |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1171 overstrike_p, bytes_per_char); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1172 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1173 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1174 |
|
73298
d16326a96180
(mac_draw_image_string, mac_draw_image_string_16): Add
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73133
diff
changeset
|
1175 /* Mac replacement for XDrawImageString. */ |
|
d16326a96180
(mac_draw_image_string, mac_draw_image_string_16): Add
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73133
diff
changeset
|
1176 |
|
d16326a96180
(mac_draw_image_string, mac_draw_image_string_16): Add
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73133
diff
changeset
|
1177 static void |
|
d16326a96180
(mac_draw_image_string, mac_draw_image_string_16): Add
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73133
diff
changeset
|
1178 mac_draw_image_string (f, gc, x, y, buf, nchars, bg_width, overstrike_p) |
|
66110
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
1179 struct frame *f; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1180 GC gc; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1181 int x, y; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1182 char *buf; |
|
73298
d16326a96180
(mac_draw_image_string, mac_draw_image_string_16): Add
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73133
diff
changeset
|
1183 int nchars, bg_width, overstrike_p; |
|
d16326a96180
(mac_draw_image_string, mac_draw_image_string_16): Add
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73133
diff
changeset
|
1184 { |
|
d16326a96180
(mac_draw_image_string, mac_draw_image_string_16): Add
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73133
diff
changeset
|
1185 mac_draw_string_common (f, gc, x, y, buf, nchars, bg_width, |
|
d16326a96180
(mac_draw_image_string, mac_draw_image_string_16): Add
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73133
diff
changeset
|
1186 overstrike_p, 1); |
|
d16326a96180
(mac_draw_image_string, mac_draw_image_string_16): Add
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73133
diff
changeset
|
1187 } |
|
d16326a96180
(mac_draw_image_string, mac_draw_image_string_16): Add
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73133
diff
changeset
|
1188 |
|
d16326a96180
(mac_draw_image_string, mac_draw_image_string_16): Add
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73133
diff
changeset
|
1189 |
|
d16326a96180
(mac_draw_image_string, mac_draw_image_string_16): Add
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73133
diff
changeset
|
1190 /* Mac replacement for XDrawImageString16. */ |
|
d16326a96180
(mac_draw_image_string, mac_draw_image_string_16): Add
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73133
diff
changeset
|
1191 |
|
d16326a96180
(mac_draw_image_string, mac_draw_image_string_16): Add
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73133
diff
changeset
|
1192 static void |
|
d16326a96180
(mac_draw_image_string, mac_draw_image_string_16): Add
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73133
diff
changeset
|
1193 mac_draw_image_string_16 (f, gc, x, y, buf, nchars, bg_width, overstrike_p) |
|
66110
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
1194 struct frame *f; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1195 GC gc; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1196 int x, y; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1197 XChar2b *buf; |
|
73298
d16326a96180
(mac_draw_image_string, mac_draw_image_string_16): Add
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73133
diff
changeset
|
1198 int nchars, bg_width, overstrike_p; |
|
d16326a96180
(mac_draw_image_string, mac_draw_image_string_16): Add
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73133
diff
changeset
|
1199 { |
|
d16326a96180
(mac_draw_image_string, mac_draw_image_string_16): Add
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73133
diff
changeset
|
1200 mac_draw_string_common (f, gc, x, y, (char *) buf, nchars, bg_width, |
|
d16326a96180
(mac_draw_image_string, mac_draw_image_string_16): Add
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73133
diff
changeset
|
1201 overstrike_p, 2); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1202 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1203 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1204 |
|
67733
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1205 /* Mac replacement for XQueryTextExtents, but takes a character. If |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1206 STYLE is NULL, measurement is done by QuickDraw Text routines for |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1207 the font of the current graphics port. If CG_GLYPH is not NULL, |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1208 *CG_GLYPH is set to the glyph ID or 0 if it cannot be obtained. */ |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1209 |
|
72545
171c891be45d
(mac_draw_string_common, mac_query_char_extents)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72505
diff
changeset
|
1210 static OSStatus |
|
67733
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1211 mac_query_char_extents (style, c, |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1212 font_ascent_return, font_descent_return, |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1213 overall_return, cg_glyph) |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1214 #if USE_ATSUI |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1215 ATSUStyle style; |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1216 #else |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1217 void *style; |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1218 #endif |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1219 int c; |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1220 int *font_ascent_return, *font_descent_return; |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1221 XCharStruct *overall_return; |
|
66841
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
1222 #if USE_CG_TEXT_DRAWING |
|
67733
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1223 CGGlyph *cg_glyph; |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1224 #else |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1225 void *cg_glyph; |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1226 #endif |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1227 { |
|
72545
171c891be45d
(mac_draw_string_common, mac_query_char_extents)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72505
diff
changeset
|
1228 OSStatus err = noErr; |
|
67733
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1229 int width; |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1230 Rect char_bounds; |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1231 |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1232 #if USE_ATSUI |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1233 if (style) |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1234 { |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1235 ATSUTextLayout text_layout; |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1236 UniChar ch = c; |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1237 |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1238 err = atsu_get_text_layout_with_text_ptr (&ch, 1, style, &text_layout); |
|
74629
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
1239 if (err == noErr |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
1240 && (font_ascent_return || font_descent_return || overall_return)) |
|
67733
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1241 { |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1242 ATSTrapezoid glyph_bounds; |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1243 |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1244 err = ATSUGetGlyphBounds (text_layout, 0, 0, |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1245 kATSUFromTextBeginning, kATSUToTextEnd, |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1246 #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1020 |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1247 kATSUseFractionalOrigins, |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1248 #else |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1249 kATSUseDeviceOrigins, |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1250 #endif |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1251 1, &glyph_bounds, NULL); |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1252 if (err == noErr) |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1253 { |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1254 xassert (glyph_bounds.lowerRight.x - glyph_bounds.lowerLeft.x |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1255 == glyph_bounds.upperRight.x - glyph_bounds.upperLeft.x); |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1256 |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1257 width = Fix2Long (glyph_bounds.upperRight.x |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1258 - glyph_bounds.upperLeft.x); |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1259 if (font_ascent_return) |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1260 *font_ascent_return = -Fix2Long (glyph_bounds.upperLeft.y); |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1261 if (font_descent_return) |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1262 *font_descent_return = Fix2Long (glyph_bounds.lowerLeft.y); |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1263 } |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1264 } |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1265 if (err == noErr && overall_return) |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1266 { |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1267 err = ATSUMeasureTextImage (text_layout, |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1268 kATSUFromTextBeginning, kATSUToTextEnd, |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1269 0, 0, &char_bounds); |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1270 if (err == noErr) |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1271 STORE_XCHARSTRUCT (*overall_return, width, char_bounds); |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1272 #if USE_CG_TEXT_DRAWING |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1273 if (err == noErr && cg_glyph) |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1274 { |
|
72545
171c891be45d
(mac_draw_string_common, mac_query_char_extents)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72505
diff
changeset
|
1275 OSStatus err1; |
|
67733
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1276 ATSUGlyphInfoArray glyph_info_array; |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1277 ByteCount count = sizeof (ATSUGlyphInfoArray); |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1278 |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1279 err1 = ATSUMatchFontsToText (text_layout, kATSUFromTextBeginning, |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1280 kATSUToTextEnd, NULL, NULL, NULL); |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1281 if (err1 == noErr) |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1282 err1 = ATSUGetGlyphInfo (text_layout, kATSUFromTextBeginning, |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1283 kATSUToTextEnd, &count, |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1284 &glyph_info_array); |
|
73385
bd82ccfce877
(mac_query_char_extents): Don't return glyph ID if layout
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73298
diff
changeset
|
1285 if (err1 == noErr |
|
bd82ccfce877
(mac_query_char_extents): Don't return glyph ID if layout
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73298
diff
changeset
|
1286 /* Make sure that we don't have to make layout |
|
bd82ccfce877
(mac_query_char_extents): Don't return glyph ID if layout
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73298
diff
changeset
|
1287 adjustments. */ |
|
bd82ccfce877
(mac_query_char_extents): Don't return glyph ID if layout
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73298
diff
changeset
|
1288 && glyph_info_array.glyphs[0].deltaY == 0.0f |
|
bd82ccfce877
(mac_query_char_extents): Don't return glyph ID if layout
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73298
diff
changeset
|
1289 && glyph_info_array.glyphs[0].idealX == 0.0f |
|
bd82ccfce877
(mac_query_char_extents): Don't return glyph ID if layout
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73298
diff
changeset
|
1290 && glyph_info_array.glyphs[0].screenX == 0) |
|
67733
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1291 { |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1292 xassert (glyph_info_array.glyphs[0].glyphID); |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1293 *cg_glyph = glyph_info_array.glyphs[0].glyphID; |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1294 } |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1295 else |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1296 *cg_glyph = 0; |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1297 } |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1298 #endif |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1299 } |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1300 } |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1301 else |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1302 #endif |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1303 { |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1304 if (font_ascent_return || font_descent_return) |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1305 { |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1306 FontInfo font_info; |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1307 |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1308 GetFontInfo (&font_info); |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1309 if (font_ascent_return) |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1310 *font_ascent_return = font_info.ascent; |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1311 if (font_descent_return) |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1312 *font_descent_return = font_info.descent; |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1313 } |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1314 if (overall_return) |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1315 { |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1316 char ch = c; |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1317 |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1318 width = CharWidth (ch); |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1319 QDTextBounds (1, &ch, &char_bounds); |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1320 STORE_XCHARSTRUCT (*overall_return, width, char_bounds); |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1321 } |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1322 } |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1323 |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1324 return err; |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1325 } |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1326 |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1327 |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1328 /* Mac replacement for XTextExtents16. Only sets horizontal metrics. */ |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1329 |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1330 static int |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1331 mac_text_extents_16 (font_struct, string, nchars, overall_return) |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1332 XFontStruct *font_struct; |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1333 XChar2b *string; |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1334 int nchars; |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1335 XCharStruct *overall_return; |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1336 { |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1337 int i; |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1338 short width = 0, lbearing = 0, rbearing = 0; |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1339 XCharStruct *pcm; |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1340 |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1341 for (i = 0; i < nchars; i++) |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1342 { |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1343 pcm = mac_per_char_metric (font_struct, string, 0); |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1344 if (pcm == NULL) |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1345 width += FONT_WIDTH (font_struct); |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1346 else |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1347 { |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1348 lbearing = min (lbearing, width + pcm->lbearing); |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1349 rbearing = max (rbearing, width + pcm->rbearing); |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1350 width += pcm->width; |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1351 } |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1352 string++; |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1353 } |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1354 |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1355 overall_return->lbearing = lbearing; |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1356 overall_return->rbearing = rbearing; |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1357 overall_return->width = width; |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1358 |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1359 /* What's the meaning of the return value of XTextExtents16? */ |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1360 } |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1361 |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1362 |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1363 #if USE_CG_TEXT_DRAWING |
|
67000
e99c1fd37bcd
[USE_CG_TEXT_DRAWING] (cg_text_anti_aliasing_threshold): New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66841
diff
changeset
|
1364 static int cg_text_anti_aliasing_threshold = 8; |
|
e99c1fd37bcd
[USE_CG_TEXT_DRAWING] (cg_text_anti_aliasing_threshold): New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66841
diff
changeset
|
1365 |
|
e99c1fd37bcd
[USE_CG_TEXT_DRAWING] (cg_text_anti_aliasing_threshold): New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66841
diff
changeset
|
1366 static void |
|
e99c1fd37bcd
[USE_CG_TEXT_DRAWING] (cg_text_anti_aliasing_threshold): New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66841
diff
changeset
|
1367 init_cg_text_anti_aliasing_threshold () |
|
e99c1fd37bcd
[USE_CG_TEXT_DRAWING] (cg_text_anti_aliasing_threshold): New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66841
diff
changeset
|
1368 { |
|
68770
4eb8cd48f0ef
(mac_define_frame_cursor): Don't change pointer shape
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
68651
diff
changeset
|
1369 int threshold; |
|
4eb8cd48f0ef
(mac_define_frame_cursor): Don't change pointer shape
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
68651
diff
changeset
|
1370 Boolean valid_p; |
|
4eb8cd48f0ef
(mac_define_frame_cursor): Don't change pointer shape
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
68651
diff
changeset
|
1371 |
|
4eb8cd48f0ef
(mac_define_frame_cursor): Don't change pointer shape
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
68651
diff
changeset
|
1372 threshold = |
|
4eb8cd48f0ef
(mac_define_frame_cursor): Don't change pointer shape
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
68651
diff
changeset
|
1373 CFPreferencesGetAppIntegerValue (CFSTR ("AppleAntiAliasingThreshold"), |
|
4eb8cd48f0ef
(mac_define_frame_cursor): Don't change pointer shape
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
68651
diff
changeset
|
1374 kCFPreferencesCurrentApplication, |
|
4eb8cd48f0ef
(mac_define_frame_cursor): Don't change pointer shape
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
68651
diff
changeset
|
1375 &valid_p); |
|
4eb8cd48f0ef
(mac_define_frame_cursor): Don't change pointer shape
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
68651
diff
changeset
|
1376 if (valid_p) |
|
4eb8cd48f0ef
(mac_define_frame_cursor): Don't change pointer shape
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
68651
diff
changeset
|
1377 cg_text_anti_aliasing_threshold = threshold; |
|
67000
e99c1fd37bcd
[USE_CG_TEXT_DRAWING] (cg_text_anti_aliasing_threshold): New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66841
diff
changeset
|
1378 } |
|
e99c1fd37bcd
[USE_CG_TEXT_DRAWING] (cg_text_anti_aliasing_threshold): New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66841
diff
changeset
|
1379 |
|
66841
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
1380 static int |
|
73298
d16326a96180
(mac_draw_image_string, mac_draw_image_string_16): Add
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73133
diff
changeset
|
1381 mac_draw_image_string_cg (f, gc, x, y, buf, nchars, bg_width, overstrike_p) |
|
66841
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
1382 struct frame *f; |
|
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
1383 GC gc; |
|
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
1384 int x, y; |
|
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
1385 XChar2b *buf; |
|
73298
d16326a96180
(mac_draw_image_string, mac_draw_image_string_16): Add
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73133
diff
changeset
|
1386 int nchars, bg_width, overstrike_p; |
|
66841
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
1387 { |
|
80515
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
1388 CGFloat port_height, gx, gy; |
|
66841
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
1389 int i; |
|
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
1390 CGContextRef context; |
|
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
1391 CGGlyph *glyphs; |
|
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
1392 CGSize *advances; |
|
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
1393 |
|
67666
037431c17fba
(mac_do_receive_drag): Drag-and-drop items are now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67458
diff
changeset
|
1394 if (!mac_use_core_graphics || GC_FONT (gc)->cg_font == NULL) |
|
66841
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
1395 return 0; |
|
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
1396 |
|
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
1397 port_height = FRAME_PIXEL_HEIGHT (f); |
|
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
1398 gx = x; |
|
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
1399 gy = port_height - y; |
|
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
1400 glyphs = (CGGlyph *)buf; |
|
69061
783439580869
(mac_draw_string_common): Remove arg MODE. New arg
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
68770
diff
changeset
|
1401 advances = alloca (sizeof (CGSize) * nchars); |
|
783439580869
(mac_draw_string_common): Remove arg MODE. New arg
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
68770
diff
changeset
|
1402 if (advances == NULL) |
|
783439580869
(mac_draw_string_common): Remove arg MODE. New arg
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
68770
diff
changeset
|
1403 return 0; |
|
66841
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
1404 for (i = 0; i < nchars; i++) |
|
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
1405 { |
|
67733
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1406 XCharStruct *pcm = mac_per_char_metric (GC_FONT (gc), buf, 0); |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1407 |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
1408 advances[i].width = pcm->width; |
|
66841
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
1409 advances[i].height = 0; |
|
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
1410 glyphs[i] = GC_FONT (gc)->cg_glyphs[buf->byte2]; |
|
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
1411 buf++; |
|
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
1412 } |
|
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
1413 |
|
69433
a8fd29f179b0
(mac_draw_rectangle, x_draw_glyph_string_foreground)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69369
diff
changeset
|
1414 #if USE_CG_DRAWING |
|
a8fd29f179b0
(mac_draw_rectangle, x_draw_glyph_string_foreground)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69369
diff
changeset
|
1415 context = mac_begin_cg_clip (f, gc); |
|
a8fd29f179b0
(mac_draw_rectangle, x_draw_glyph_string_foreground)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69369
diff
changeset
|
1416 #else |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1417 QDBeginCGContext (GetWindowPort (FRAME_MAC_WINDOW (f)), &context); |
|
69061
783439580869
(mac_draw_string_common): Remove arg MODE. New arg
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
68770
diff
changeset
|
1418 if (gc->n_clip_rects || bg_width) |
|
66841
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
1419 { |
|
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
1420 CGContextTranslateCTM (context, 0, port_height); |
|
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
1421 CGContextScaleCTM (context, 1, -1); |
|
69061
783439580869
(mac_draw_string_common): Remove arg MODE. New arg
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
68770
diff
changeset
|
1422 if (gc->n_clip_rects) |
|
783439580869
(mac_draw_string_common): Remove arg MODE. New arg
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
68770
diff
changeset
|
1423 CGContextClipToRects (context, gc->clip_rects, gc->n_clip_rects); |
|
69433
a8fd29f179b0
(mac_draw_rectangle, x_draw_glyph_string_foreground)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69369
diff
changeset
|
1424 #endif |
|
69061
783439580869
(mac_draw_string_common): Remove arg MODE. New arg
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
68770
diff
changeset
|
1425 if (bg_width) |
|
783439580869
(mac_draw_string_common): Remove arg MODE. New arg
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
68770
diff
changeset
|
1426 { |
|
75100
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
1427 CG_SET_FILL_COLOR_WITH_GC_BACKGROUND (context, gc); |
|
69061
783439580869
(mac_draw_string_common): Remove arg MODE. New arg
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
68770
diff
changeset
|
1428 CGContextFillRect |
|
783439580869
(mac_draw_string_common): Remove arg MODE. New arg
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
68770
diff
changeset
|
1429 (context, |
|
80515
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
1430 mac_rect_make (f, gx, y - FONT_BASE (GC_FONT (gc)), |
|
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
1431 bg_width, FONT_HEIGHT (GC_FONT (gc)))); |
|
69061
783439580869
(mac_draw_string_common): Remove arg MODE. New arg
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
68770
diff
changeset
|
1432 } |
|
66841
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
1433 CGContextScaleCTM (context, 1, -1); |
|
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
1434 CGContextTranslateCTM (context, 0, -port_height); |
|
69433
a8fd29f179b0
(mac_draw_rectangle, x_draw_glyph_string_foreground)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69369
diff
changeset
|
1435 #if !USE_CG_DRAWING |
|
a8fd29f179b0
(mac_draw_rectangle, x_draw_glyph_string_foreground)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69369
diff
changeset
|
1436 } |
|
a8fd29f179b0
(mac_draw_rectangle, x_draw_glyph_string_foreground)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69369
diff
changeset
|
1437 #endif |
|
75100
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
1438 CG_SET_FILL_COLOR_WITH_GC_FOREGROUND (context, gc); |
|
66841
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
1439 CGContextSetFont (context, GC_FONT (gc)->cg_font); |
|
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
1440 CGContextSetFontSize (context, GC_FONT (gc)->mac_fontsize); |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
1441 CGContextSetTextMatrix (context, CGAffineTransformIdentity); |
|
67000
e99c1fd37bcd
[USE_CG_TEXT_DRAWING] (cg_text_anti_aliasing_threshold): New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66841
diff
changeset
|
1442 if (GC_FONT (gc)->mac_fontsize <= cg_text_anti_aliasing_threshold) |
|
e99c1fd37bcd
[USE_CG_TEXT_DRAWING] (cg_text_anti_aliasing_threshold): New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66841
diff
changeset
|
1443 CGContextSetShouldAntialias (context, false); |
|
66841
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
1444 #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030 |
|
73993
a019988291b9
[USE_CG_TEXT_DRAWING] (mac_draw_image_string_cg)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73575
diff
changeset
|
1445 #if MAC_OS_X_VERSION_MIN_REQUIRED == 1020 |
|
a019988291b9
[USE_CG_TEXT_DRAWING] (mac_draw_image_string_cg)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73575
diff
changeset
|
1446 if (CGContextShowGlyphsWithAdvances != NULL) |
|
a019988291b9
[USE_CG_TEXT_DRAWING] (mac_draw_image_string_cg)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73575
diff
changeset
|
1447 #endif |
|
a019988291b9
[USE_CG_TEXT_DRAWING] (mac_draw_image_string_cg)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73575
diff
changeset
|
1448 { |
|
a019988291b9
[USE_CG_TEXT_DRAWING] (mac_draw_image_string_cg)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73575
diff
changeset
|
1449 CGContextSetTextPosition (context, gx, gy); |
|
73298
d16326a96180
(mac_draw_image_string, mac_draw_image_string_16): Add
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73133
diff
changeset
|
1450 CGContextShowGlyphsWithAdvances (context, glyphs, advances, nchars); |
|
d16326a96180
(mac_draw_image_string, mac_draw_image_string_16): Add
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73133
diff
changeset
|
1451 if (overstrike_p) |
|
73993
a019988291b9
[USE_CG_TEXT_DRAWING] (mac_draw_image_string_cg)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73575
diff
changeset
|
1452 { |
|
a019988291b9
[USE_CG_TEXT_DRAWING] (mac_draw_image_string_cg)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73575
diff
changeset
|
1453 CGContextSetTextPosition (context, gx + 1.0f, gy); |
|
a019988291b9
[USE_CG_TEXT_DRAWING] (mac_draw_image_string_cg)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73575
diff
changeset
|
1454 CGContextShowGlyphsWithAdvances (context, glyphs, advances, nchars); |
|
a019988291b9
[USE_CG_TEXT_DRAWING] (mac_draw_image_string_cg)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73575
diff
changeset
|
1455 } |
|
a019988291b9
[USE_CG_TEXT_DRAWING] (mac_draw_image_string_cg)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73575
diff
changeset
|
1456 } |
|
a019988291b9
[USE_CG_TEXT_DRAWING] (mac_draw_image_string_cg)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73575
diff
changeset
|
1457 #if MAC_OS_X_VERSION_MIN_REQUIRED == 1020 |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1458 else /* CGContextShowGlyphsWithAdvances == NULL */ |
|
73993
a019988291b9
[USE_CG_TEXT_DRAWING] (mac_draw_image_string_cg)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73575
diff
changeset
|
1459 #endif |
|
a019988291b9
[USE_CG_TEXT_DRAWING] (mac_draw_image_string_cg)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73575
diff
changeset
|
1460 #endif /* MAC_OS_X_VERSION_MAX_ALLOWED >= 1030 */ |
|
a019988291b9
[USE_CG_TEXT_DRAWING] (mac_draw_image_string_cg)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73575
diff
changeset
|
1461 #if MAC_OS_X_VERSION_MAX_ALLOWED < 1030 || MAC_OS_X_VERSION_MIN_REQUIRED == 1020 |
|
a019988291b9
[USE_CG_TEXT_DRAWING] (mac_draw_image_string_cg)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73575
diff
changeset
|
1462 { |
|
a019988291b9
[USE_CG_TEXT_DRAWING] (mac_draw_image_string_cg)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73575
diff
changeset
|
1463 for (i = 0; i < nchars; i++) |
|
a019988291b9
[USE_CG_TEXT_DRAWING] (mac_draw_image_string_cg)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73575
diff
changeset
|
1464 { |
|
a019988291b9
[USE_CG_TEXT_DRAWING] (mac_draw_image_string_cg)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73575
diff
changeset
|
1465 CGContextShowGlyphsAtPoint (context, gx, gy, glyphs + i, 1); |
|
a019988291b9
[USE_CG_TEXT_DRAWING] (mac_draw_image_string_cg)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73575
diff
changeset
|
1466 if (overstrike_p) |
|
a019988291b9
[USE_CG_TEXT_DRAWING] (mac_draw_image_string_cg)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73575
diff
changeset
|
1467 CGContextShowGlyphsAtPoint (context, gx + 1.0f, gy, glyphs + i, 1); |
|
a019988291b9
[USE_CG_TEXT_DRAWING] (mac_draw_image_string_cg)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73575
diff
changeset
|
1468 gx += advances[i].width; |
|
a019988291b9
[USE_CG_TEXT_DRAWING] (mac_draw_image_string_cg)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73575
diff
changeset
|
1469 } |
|
66841
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
1470 } |
|
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
1471 #endif |
|
69433
a8fd29f179b0
(mac_draw_rectangle, x_draw_glyph_string_foreground)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69369
diff
changeset
|
1472 #if USE_CG_DRAWING |
|
a8fd29f179b0
(mac_draw_rectangle, x_draw_glyph_string_foreground)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69369
diff
changeset
|
1473 mac_end_cg_clip (f); |
|
a8fd29f179b0
(mac_draw_rectangle, x_draw_glyph_string_foreground)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69369
diff
changeset
|
1474 #else |
|
66841
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
1475 CGContextSynchronize (context); |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1476 QDEndCGContext (GetWindowPort (FRAME_MAC_WINDOW (f)), &context); |
|
69433
a8fd29f179b0
(mac_draw_rectangle, x_draw_glyph_string_foreground)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69369
diff
changeset
|
1477 #endif |
|
66841
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
1478 |
|
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
1479 return 1; |
|
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
1480 } |
|
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
1481 #endif |
|
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
1482 |
|
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
1483 |
|
69512
eafd737138ea
(XCreatePixmap) [!WORDS_BIG_ENDIAN && USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69488
diff
changeset
|
1484 #if !USE_CG_DRAWING |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1485 /* Mac replacement for XCopyArea: dest must be window. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1486 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1487 static void |
|
66110
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
1488 mac_copy_area (src, f, gc, src_x, src_y, width, height, dest_x, dest_y) |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1489 Pixmap src; |
|
66110
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
1490 struct frame *f; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1491 GC gc; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1492 int src_x, src_y; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1493 unsigned int width, height; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1494 int dest_x, dest_y; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1495 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1496 Rect src_r, dest_r; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1497 |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1498 mac_begin_clip (f, gc); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1499 |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
1500 SetRect (&src_r, src_x, src_y, src_x + width, src_y + height); |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
1501 SetRect (&dest_r, dest_x, dest_y, dest_x + width, dest_y + height); |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
1502 |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
1503 ForeColor (blackColor); |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
1504 BackColor (whiteColor); |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
1505 |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
1506 LockPixels (GetGWorldPixMap (src)); |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
1507 #if TARGET_API_MAC_CARBON |
|
66110
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
1508 { |
|
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
1509 CGrafPtr port; |
|
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
1510 |
|
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
1511 GetPort (&port); |
|
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
1512 LockPortBits (port); |
|
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
1513 CopyBits (GetPortBitMapForCopyBits (src), |
|
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
1514 GetPortBitMapForCopyBits (port), |
|
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
1515 &src_r, &dest_r, srcCopy, 0); |
|
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
1516 UnlockPortBits (port); |
|
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
1517 } |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
1518 #else /* not TARGET_API_MAC_CARBON */ |
|
66110
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
1519 CopyBits (&(((GrafPtr)src)->portBits), &(FRAME_MAC_WINDOW (f)->portBits), |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
1520 &src_r, &dest_r, srcCopy, 0); |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
1521 #endif /* not TARGET_API_MAC_CARBON */ |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
1522 UnlockPixels (GetGWorldPixMap (src)); |
|
65110
ac7314b59792
(mac_copy_area, mac_copy_area_with_mask): Restore background color.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
1523 |
|
66110
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
1524 RGBBackColor (GC_BACK_COLOR (FRAME_NORMAL_GC (f))); |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1525 |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
1526 mac_end_clip (f, gc); |
|
66110
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
1527 } |
|
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
1528 |
|
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
1529 |
|
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
1530 static void |
|
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
1531 mac_copy_area_with_mask (src, mask, f, gc, src_x, src_y, |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
1532 width, height, dest_x, dest_y) |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
1533 Pixmap src, mask; |
|
66110
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
1534 struct frame *f; |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
1535 GC gc; |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
1536 int src_x, src_y; |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
1537 unsigned int width, height; |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
1538 int dest_x, dest_y; |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
1539 { |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
1540 Rect src_r, dest_r; |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
1541 |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1542 mac_begin_clip (f, gc); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1543 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1544 SetRect (&src_r, src_x, src_y, src_x + width, src_y + height); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1545 SetRect (&dest_r, dest_x, dest_y, dest_x + width, dest_y + height); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1546 |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
1547 ForeColor (blackColor); |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
1548 BackColor (whiteColor); |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
1549 |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
1550 LockPixels (GetGWorldPixMap (src)); |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
1551 LockPixels (GetGWorldPixMap (mask)); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1552 #if TARGET_API_MAC_CARBON |
|
66110
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
1553 { |
|
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
1554 CGrafPtr port; |
|
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
1555 |
|
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
1556 GetPort (&port); |
|
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
1557 LockPortBits (port); |
|
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
1558 CopyMask (GetPortBitMapForCopyBits (src), GetPortBitMapForCopyBits (mask), |
|
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
1559 GetPortBitMapForCopyBits (port), |
|
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
1560 &src_r, &src_r, &dest_r); |
|
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
1561 UnlockPortBits (port); |
|
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
1562 } |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1563 #else /* not TARGET_API_MAC_CARBON */ |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
1564 CopyMask (&(((GrafPtr)src)->portBits), &(((GrafPtr)mask)->portBits), |
|
66110
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
1565 &(FRAME_MAC_WINDOW (f)->portBits), &src_r, &src_r, &dest_r); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1566 #endif /* not TARGET_API_MAC_CARBON */ |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
1567 UnlockPixels (GetGWorldPixMap (mask)); |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
1568 UnlockPixels (GetGWorldPixMap (src)); |
|
65110
ac7314b59792
(mac_copy_area, mac_copy_area_with_mask): Restore background color.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
1569 |
|
66110
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
1570 RGBBackColor (GC_BACK_COLOR (FRAME_NORMAL_GC (f))); |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1571 |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
1572 mac_end_clip (f, gc); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1573 } |
|
69512
eafd737138ea
(XCreatePixmap) [!WORDS_BIG_ENDIAN && USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69488
diff
changeset
|
1574 #endif /* !USE_CG_DRAWING */ |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1575 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1576 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1577 /* Mac replacement for XCopyArea: used only for scrolling. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1578 |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
1579 #if TARGET_API_MAC_CARBON |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
1580 /* Defined in mactoolbox.c. */ |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
1581 extern void mac_scroll_area P_ ((struct frame *, GC, int, int, |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
1582 unsigned int, unsigned int, int, int)); |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
1583 #else /* not TARGET_API_MAC_CARBON */ |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1584 static void |
|
66110
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
1585 mac_scroll_area (f, gc, src_x, src_y, width, height, dest_x, dest_y) |
|
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
1586 struct frame *f; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1587 GC gc; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1588 int src_x, src_y; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1589 unsigned int width, height; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1590 int dest_x, dest_y; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1591 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1592 Rect src_r, dest_r; |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1593 WindowRef w = FRAME_MAC_WINDOW (f); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1594 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1595 mac_begin_clip (f, gc); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1596 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1597 SetRect (&src_r, src_x, src_y, src_x + width, src_y + height); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1598 SetRect (&dest_r, dest_x, dest_y, dest_x + width, dest_y + height); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1599 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1600 /* In Color QuickDraw, set ForeColor and BackColor as follows to avoid |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1601 color mapping in CopyBits. Otherwise, it will be slow. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1602 ForeColor (blackColor); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1603 BackColor (whiteColor); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1604 CopyBits (&(w->portBits), &(w->portBits), &src_r, &dest_r, srcCopy, 0); |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
1605 |
|
66110
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
1606 RGBBackColor (GC_BACK_COLOR (FRAME_NORMAL_GC (f))); |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
1607 |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
1608 mac_end_clip (f, gc); |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
1609 } |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
1610 #endif /* not TARGET_API_MAC_CARBON */ |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1611 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1612 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1613 /* Mac replacement for XChangeGC. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1614 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1615 static void |
|
64424
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
1616 XChangeGC (display, gc, mask, xgcv) |
|
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
1617 Display *display; |
|
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
1618 GC gc; |
|
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
1619 unsigned long mask; |
|
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
1620 XGCValues *xgcv; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1621 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1622 if (mask & GCForeground) |
|
64424
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
1623 XSetForeground (display, gc, xgcv->foreground); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1624 if (mask & GCBackground) |
|
64424
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
1625 XSetBackground (display, gc, xgcv->background); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1626 if (mask & GCFont) |
|
64424
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
1627 XSetFont (display, gc, xgcv->font); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1628 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1629 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1630 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1631 /* Mac replacement for XCreateGC. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1632 |
|
64424
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
1633 GC |
|
75156
a567ccd9c91c
(XDrawLine): Rename from mac_draw_line_to_pixmap.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
75100
diff
changeset
|
1634 XCreateGC (display, d, mask, xgcv) |
|
64424
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
1635 Display *display; |
|
75156
a567ccd9c91c
(XDrawLine): Rename from mac_draw_line_to_pixmap.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
75100
diff
changeset
|
1636 void *d; |
|
64424
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
1637 unsigned long mask; |
|
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
1638 XGCValues *xgcv; |
|
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
1639 { |
|
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
1640 GC gc = xmalloc (sizeof (*gc)); |
|
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
1641 |
|
70071
84e6726893ef
(XCreateGC, x_per_char_metric, xlfdpat_create)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69964
diff
changeset
|
1642 bzero (gc, sizeof (*gc)); |
|
75100
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
1643 #if USE_CG_DRAWING && MAC_OS_X_VERSION_MAX_ALLOWED >= 1030 |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
1644 #if MAC_OS_X_VERSION_MIN_REQUIRED == 1020 |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
1645 if (CGColorGetTypeID != NULL) |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
1646 #endif |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
1647 { |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
1648 gc->cg_fore_color = gc->cg_back_color = mac_cg_color_black; |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
1649 CGColorRetain (gc->cg_fore_color); |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
1650 CGColorRetain (gc->cg_back_color); |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
1651 } |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
1652 #endif |
|
70071
84e6726893ef
(XCreateGC, x_per_char_metric, xlfdpat_create)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69964
diff
changeset
|
1653 XChangeGC (display, gc, mask, xgcv); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1654 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1655 return gc; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1656 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1657 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1658 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1659 /* Used in xfaces.c. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1660 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1661 void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1662 XFreeGC (display, gc) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1663 Display *display; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1664 GC gc; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1665 { |
|
65910
a53616277ba6
(GC_CLIP_REGION): New macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65892
diff
changeset
|
1666 if (gc->clip_region) |
|
a53616277ba6
(GC_CLIP_REGION): New macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65892
diff
changeset
|
1667 DisposeRgn (gc->clip_region); |
|
75100
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
1668 #if USE_CG_DRAWING && MAC_OS_X_VERSION_MAX_ALLOWED >= 1030 |
|
75156
a567ccd9c91c
(XDrawLine): Rename from mac_draw_line_to_pixmap.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
75100
diff
changeset
|
1669 #if MAC_OS_X_VERSION_MIN_REQUIRED == 1020 |
|
a567ccd9c91c
(XDrawLine): Rename from mac_draw_line_to_pixmap.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
75100
diff
changeset
|
1670 if (CGColorGetTypeID != NULL) |
|
a567ccd9c91c
(XDrawLine): Rename from mac_draw_line_to_pixmap.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
75100
diff
changeset
|
1671 #endif |
|
a567ccd9c91c
(XDrawLine): Rename from mac_draw_line_to_pixmap.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
75100
diff
changeset
|
1672 { |
|
a567ccd9c91c
(XDrawLine): Rename from mac_draw_line_to_pixmap.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
75100
diff
changeset
|
1673 CGColorRelease (gc->cg_fore_color); |
|
a567ccd9c91c
(XDrawLine): Rename from mac_draw_line_to_pixmap.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
75100
diff
changeset
|
1674 CGColorRelease (gc->cg_back_color); |
|
a567ccd9c91c
(XDrawLine): Rename from mac_draw_line_to_pixmap.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
75100
diff
changeset
|
1675 } |
|
75100
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
1676 #endif |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1677 xfree (gc); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1678 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1679 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1680 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1681 /* Mac replacement for XGetGCValues. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1682 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1683 static void |
|
64424
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
1684 XGetGCValues (display, gc, mask, xgcv) |
|
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
1685 Display *display; |
|
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
1686 GC gc; |
|
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
1687 unsigned long mask; |
|
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
1688 XGCValues *xgcv; |
|
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
1689 { |
|
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
1690 if (mask & GCForeground) |
|
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
1691 xgcv->foreground = gc->xgcv.foreground; |
|
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
1692 if (mask & GCBackground) |
|
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
1693 xgcv->background = gc->xgcv.background; |
|
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
1694 if (mask & GCFont) |
|
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
1695 xgcv->font = gc->xgcv.font; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1696 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1697 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1698 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1699 /* Mac replacement for XSetForeground. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1700 |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
1701 void |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1702 XSetForeground (display, gc, color) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1703 Display *display; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1704 GC gc; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1705 unsigned long color; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1706 { |
|
64424
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
1707 if (gc->xgcv.foreground != color) |
|
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
1708 { |
|
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
1709 gc->xgcv.foreground = color; |
|
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
1710 gc->fore_color.red = RED16_FROM_ULONG (color); |
|
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
1711 gc->fore_color.green = GREEN16_FROM_ULONG (color); |
|
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
1712 gc->fore_color.blue = BLUE16_FROM_ULONG (color); |
|
75100
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
1713 #if USE_CG_DRAWING && MAC_OS_X_VERSION_MAX_ALLOWED >= 1030 |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
1714 #if MAC_OS_X_VERSION_MIN_REQUIRED == 1020 |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
1715 if (CGColorGetTypeID != NULL) |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
1716 #endif |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
1717 { |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
1718 CGColorRelease (gc->cg_fore_color); |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
1719 if (color == 0) |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
1720 { |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
1721 gc->cg_fore_color = mac_cg_color_black; |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
1722 CGColorRetain (gc->cg_fore_color); |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
1723 } |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
1724 else |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
1725 { |
|
80515
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
1726 CGFloat rgba[4]; |
|
75100
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
1727 |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
1728 rgba[0] = gc->fore_color.red / 65535.0f; |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
1729 rgba[1] = gc->fore_color.green / 65535.0f; |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
1730 rgba[2] = gc->fore_color.blue / 65535.0f; |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
1731 rgba[3] = 1.0f; |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
1732 gc->cg_fore_color = CGColorCreate (mac_cg_color_space_rgb, rgba); |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
1733 } |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
1734 } |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
1735 #endif |
|
64424
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
1736 } |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1737 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1738 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1739 |
|
59575
011a0c55c1f2
* macfns.c (x_set_foreground_color, x_set_background_color): Sync
Steven Tamm <steventamm@mac.com>
parents:
59407
diff
changeset
|
1740 /* Mac replacement for XSetBackground. */ |
|
011a0c55c1f2
* macfns.c (x_set_foreground_color, x_set_background_color): Sync
Steven Tamm <steventamm@mac.com>
parents:
59407
diff
changeset
|
1741 |
|
011a0c55c1f2
* macfns.c (x_set_foreground_color, x_set_background_color): Sync
Steven Tamm <steventamm@mac.com>
parents:
59407
diff
changeset
|
1742 void |
|
011a0c55c1f2
* macfns.c (x_set_foreground_color, x_set_background_color): Sync
Steven Tamm <steventamm@mac.com>
parents:
59407
diff
changeset
|
1743 XSetBackground (display, gc, color) |
|
011a0c55c1f2
* macfns.c (x_set_foreground_color, x_set_background_color): Sync
Steven Tamm <steventamm@mac.com>
parents:
59407
diff
changeset
|
1744 Display *display; |
|
011a0c55c1f2
* macfns.c (x_set_foreground_color, x_set_background_color): Sync
Steven Tamm <steventamm@mac.com>
parents:
59407
diff
changeset
|
1745 GC gc; |
|
011a0c55c1f2
* macfns.c (x_set_foreground_color, x_set_background_color): Sync
Steven Tamm <steventamm@mac.com>
parents:
59407
diff
changeset
|
1746 unsigned long color; |
|
011a0c55c1f2
* macfns.c (x_set_foreground_color, x_set_background_color): Sync
Steven Tamm <steventamm@mac.com>
parents:
59407
diff
changeset
|
1747 { |
|
64424
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
1748 if (gc->xgcv.background != color) |
|
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
1749 { |
|
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
1750 gc->xgcv.background = color; |
|
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
1751 gc->back_color.red = RED16_FROM_ULONG (color); |
|
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
1752 gc->back_color.green = GREEN16_FROM_ULONG (color); |
|
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
1753 gc->back_color.blue = BLUE16_FROM_ULONG (color); |
|
75100
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
1754 #if USE_CG_DRAWING && MAC_OS_X_VERSION_MAX_ALLOWED >= 1030 |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
1755 #if MAC_OS_X_VERSION_MIN_REQUIRED == 1020 |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
1756 if (CGColorGetTypeID != NULL) |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
1757 #endif |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
1758 { |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
1759 CGColorRelease (gc->cg_back_color); |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
1760 if (color == 0) |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
1761 { |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
1762 gc->cg_back_color = mac_cg_color_black; |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
1763 CGColorRetain (gc->cg_back_color); |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
1764 } |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
1765 else |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
1766 { |
|
80515
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
1767 CGFloat rgba[4]; |
|
75100
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
1768 |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
1769 rgba[0] = gc->back_color.red / 65535.0f; |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
1770 rgba[1] = gc->back_color.green / 65535.0f; |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
1771 rgba[2] = gc->back_color.blue / 65535.0f; |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
1772 rgba[3] = 1.0f; |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
1773 gc->cg_back_color = CGColorCreate (mac_cg_color_space_rgb, rgba); |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
1774 } |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
1775 } |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
1776 #endif |
|
64424
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
1777 } |
|
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
1778 } |
|
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
1779 |
|
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
1780 |
|
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
1781 /* Mac replacement for XSetFont. */ |
|
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
1782 |
|
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
1783 static void |
|
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
1784 XSetFont (display, gc, font) |
|
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
1785 Display *display; |
|
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
1786 GC gc; |
|
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
1787 XFontStruct *font; |
|
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
1788 { |
|
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
1789 gc->xgcv.font = font; |
|
59575
011a0c55c1f2
* macfns.c (x_set_foreground_color, x_set_background_color): Sync
Steven Tamm <steventamm@mac.com>
parents:
59407
diff
changeset
|
1790 } |
|
011a0c55c1f2
* macfns.c (x_set_foreground_color, x_set_background_color): Sync
Steven Tamm <steventamm@mac.com>
parents:
59407
diff
changeset
|
1791 |
|
011a0c55c1f2
* macfns.c (x_set_foreground_color, x_set_background_color): Sync
Steven Tamm <steventamm@mac.com>
parents:
59407
diff
changeset
|
1792 |
|
65910
a53616277ba6
(GC_CLIP_REGION): New macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65892
diff
changeset
|
1793 /* Mac replacement for XSetClipRectangles. */ |
|
a53616277ba6
(GC_CLIP_REGION): New macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65892
diff
changeset
|
1794 |
|
a53616277ba6
(GC_CLIP_REGION): New macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65892
diff
changeset
|
1795 static void |
|
80515
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
1796 mac_set_clip_rectangles (f, gc, rectangles, n) |
|
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
1797 struct frame *f; |
|
65910
a53616277ba6
(GC_CLIP_REGION): New macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65892
diff
changeset
|
1798 GC gc; |
|
a53616277ba6
(GC_CLIP_REGION): New macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65892
diff
changeset
|
1799 Rect *rectangles; |
|
a53616277ba6
(GC_CLIP_REGION): New macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65892
diff
changeset
|
1800 int n; |
|
a53616277ba6
(GC_CLIP_REGION): New macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65892
diff
changeset
|
1801 { |
|
a53616277ba6
(GC_CLIP_REGION): New macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65892
diff
changeset
|
1802 int i; |
|
a53616277ba6
(GC_CLIP_REGION): New macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65892
diff
changeset
|
1803 |
|
69099
9547db029a2a
(GC_CLIP_REGION): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69061
diff
changeset
|
1804 xassert (n >= 0 && n <= MAX_CLIP_RECTS); |
|
9547db029a2a
(GC_CLIP_REGION): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69061
diff
changeset
|
1805 |
|
9547db029a2a
(GC_CLIP_REGION): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69061
diff
changeset
|
1806 gc->n_clip_rects = n; |
|
9547db029a2a
(GC_CLIP_REGION): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69061
diff
changeset
|
1807 if (n > 0) |
|
65910
a53616277ba6
(GC_CLIP_REGION): New macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65892
diff
changeset
|
1808 { |
|
a53616277ba6
(GC_CLIP_REGION): New macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65892
diff
changeset
|
1809 if (gc->clip_region == NULL) |
|
a53616277ba6
(GC_CLIP_REGION): New macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65892
diff
changeset
|
1810 gc->clip_region = NewRgn (); |
|
a53616277ba6
(GC_CLIP_REGION): New macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65892
diff
changeset
|
1811 RectRgn (gc->clip_region, rectangles); |
|
a53616277ba6
(GC_CLIP_REGION): New macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65892
diff
changeset
|
1812 if (n > 1) |
|
a53616277ba6
(GC_CLIP_REGION): New macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65892
diff
changeset
|
1813 { |
|
a53616277ba6
(GC_CLIP_REGION): New macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65892
diff
changeset
|
1814 RgnHandle region = NewRgn (); |
|
a53616277ba6
(GC_CLIP_REGION): New macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65892
diff
changeset
|
1815 |
|
a53616277ba6
(GC_CLIP_REGION): New macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65892
diff
changeset
|
1816 for (i = 1; i < n; i++) |
|
a53616277ba6
(GC_CLIP_REGION): New macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65892
diff
changeset
|
1817 { |
|
a53616277ba6
(GC_CLIP_REGION): New macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65892
diff
changeset
|
1818 RectRgn (region, rectangles + i); |
|
a53616277ba6
(GC_CLIP_REGION): New macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65892
diff
changeset
|
1819 UnionRgn (gc->clip_region, region, gc->clip_region); |
|
a53616277ba6
(GC_CLIP_REGION): New macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65892
diff
changeset
|
1820 } |
|
a53616277ba6
(GC_CLIP_REGION): New macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65892
diff
changeset
|
1821 DisposeRgn (region); |
|
a53616277ba6
(GC_CLIP_REGION): New macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65892
diff
changeset
|
1822 } |
|
a53616277ba6
(GC_CLIP_REGION): New macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65892
diff
changeset
|
1823 } |
|
70304
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
1824 #if defined (MAC_OSX) && (USE_ATSUI || USE_CG_DRAWING) |
|
65910
a53616277ba6
(GC_CLIP_REGION): New macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65892
diff
changeset
|
1825 for (i = 0; i < n; i++) |
|
a53616277ba6
(GC_CLIP_REGION): New macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65892
diff
changeset
|
1826 { |
|
a53616277ba6
(GC_CLIP_REGION): New macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65892
diff
changeset
|
1827 Rect *rect = rectangles + i; |
|
a53616277ba6
(GC_CLIP_REGION): New macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65892
diff
changeset
|
1828 |
|
80515
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
1829 gc->clip_rects[i] = mac_rect_make (f, rect->left, rect->top, |
|
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
1830 rect->right - rect->left, |
|
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
1831 rect->bottom - rect->top); |
|
65910
a53616277ba6
(GC_CLIP_REGION): New macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65892
diff
changeset
|
1832 } |
|
a53616277ba6
(GC_CLIP_REGION): New macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65892
diff
changeset
|
1833 #endif |
|
a53616277ba6
(GC_CLIP_REGION): New macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65892
diff
changeset
|
1834 } |
|
a53616277ba6
(GC_CLIP_REGION): New macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65892
diff
changeset
|
1835 |
|
a53616277ba6
(GC_CLIP_REGION): New macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65892
diff
changeset
|
1836 |
|
a53616277ba6
(GC_CLIP_REGION): New macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65892
diff
changeset
|
1837 /* Mac replacement for XSetClipMask. */ |
|
a53616277ba6
(GC_CLIP_REGION): New macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65892
diff
changeset
|
1838 |
|
a53616277ba6
(GC_CLIP_REGION): New macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65892
diff
changeset
|
1839 static INLINE void |
|
80515
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
1840 mac_reset_clip_rectangles (f, gc) |
|
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
1841 struct frame *f; |
|
65910
a53616277ba6
(GC_CLIP_REGION): New macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65892
diff
changeset
|
1842 GC gc; |
|
a53616277ba6
(GC_CLIP_REGION): New macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65892
diff
changeset
|
1843 { |
|
69099
9547db029a2a
(GC_CLIP_REGION): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69061
diff
changeset
|
1844 gc->n_clip_rects = 0; |
|
65910
a53616277ba6
(GC_CLIP_REGION): New macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65892
diff
changeset
|
1845 } |
|
a53616277ba6
(GC_CLIP_REGION): New macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65892
diff
changeset
|
1846 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1847 /* Remove calls to XFlush by defining XFlush to an empty replacement. |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1848 Calls to XFlush should be unnecessary because the X output buffer |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1849 is flushed automatically as needed by calls to XPending, |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1850 XNextEvent, or XWindowEvent according to the XFlush man page. |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1851 XTread_socket calls XPending. Removing XFlush improves |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1852 performance. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1853 |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
1854 #define XFlush(DISPLAY) (void) 0 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1855 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1856 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1857 /*********************************************************************** |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1858 Starting and ending an update |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1859 ***********************************************************************/ |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
1860 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1861 /* Start an update of frame F. This function is installed as a hook |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1862 for update_begin, i.e. it is called when update_begin is called. |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1863 This function is called prior to calls to x_update_window_begin for |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1864 each window being updated. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1865 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1866 static void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1867 x_update_begin (f) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1868 struct frame *f; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1869 { |
|
59146
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
1870 BLOCK_INPUT; |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
1871 mac_update_begin (f); |
|
59146
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
1872 UNBLOCK_INPUT; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1873 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1874 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1875 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1876 /* Start update of window W. Set the global variable updated_window |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1877 to the window being updated and set output_cursor to the cursor |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1878 position of W. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1879 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1880 static void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1881 x_update_window_begin (w) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1882 struct window *w; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1883 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1884 struct frame *f = XFRAME (WINDOW_FRAME (w)); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1885 struct mac_display_info *display_info = FRAME_MAC_DISPLAY_INFO (f); |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
1886 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1887 updated_window = w; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1888 set_output_cursor (&w->cursor); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1889 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1890 BLOCK_INPUT; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1891 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1892 if (f == display_info->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
|
1893 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1894 /* Don't do highlighting for mouse motion during the update. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1895 display_info->mouse_face_defer = 1; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1896 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1897 /* If F needs to be redrawn, simply forget about any prior mouse |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1898 highlighting. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1899 if (FRAME_GARBAGED_P (f)) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1900 display_info->mouse_face_window = Qnil; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1901 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1902 #if 0 /* Rows in a current matrix containing glyphs in mouse-face have |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1903 their mouse_face_p flag set, which means that they are always |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1904 unequal to rows in a desired matrix which never have that |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1905 flag set. So, rows containing mouse-face glyphs are never |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1906 scrolled, and we don't have to switch the mouse highlight off |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1907 here to prevent it from being scrolled. */ |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
1908 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1909 /* Can we tell that this update does not affect the window |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1910 where the mouse highlight is? If so, no need to turn off. |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1911 Likewise, don't do anything if the frame is garbaged; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1912 in that case, the frame's current matrix that we would use |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1913 is all wrong, and we will redisplay that line anyway. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1914 if (!NILP (display_info->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
|
1915 && w == XWINDOW (display_info->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
|
1916 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1917 int i; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1918 |
|
55851
f1d6a507dcfd
Support Tooltips with the Carbon emacs port.
Steven Tamm <steventamm@mac.com>
parents:
55583
diff
changeset
|
1919 for (i = 0; i < w->desired_matrix->nrows; ++i) |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1920 if (MATRIX_ROW_ENABLED_P (w->desired_matrix, i)) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1921 break; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1922 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1923 if (i < w->desired_matrix->nrows) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1924 clear_mouse_face (display_info); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1925 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1926 #endif /* 0 */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1927 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1928 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1929 UNBLOCK_INPUT; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1930 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1931 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1932 |
|
50222
90e10bfd8bfa
* macterm.c: Remove consolidated defines and code.
Kim F. Storm <storm@cua.dk>
parents:
50157
diff
changeset
|
1933 /* Draw a vertical window border from (x,y0) to (x,y1) */ |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1934 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1935 static void |
|
50222
90e10bfd8bfa
* macterm.c: Remove consolidated defines and code.
Kim F. Storm <storm@cua.dk>
parents:
50157
diff
changeset
|
1936 mac_draw_vertical_window_border (w, x, y0, y1) |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1937 struct window *w; |
|
50222
90e10bfd8bfa
* macterm.c: Remove consolidated defines and code.
Kim F. Storm <storm@cua.dk>
parents:
50157
diff
changeset
|
1938 int x, y0, y1; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1939 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1940 struct frame *f = XFRAME (WINDOW_FRAME (w)); |
|
64102
09d72bda30b9
(mac_draw_vertical_window_border): Use foreground of
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64084
diff
changeset
|
1941 struct face *face; |
|
09d72bda30b9
(mac_draw_vertical_window_border): Use foreground of
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64084
diff
changeset
|
1942 |
|
09d72bda30b9
(mac_draw_vertical_window_border): Use foreground of
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64084
diff
changeset
|
1943 face = FACE_FROM_ID (f, VERTICAL_BORDER_FACE_ID); |
|
09d72bda30b9
(mac_draw_vertical_window_border): Use foreground of
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64084
diff
changeset
|
1944 if (face) |
|
09d72bda30b9
(mac_draw_vertical_window_border): Use foreground of
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64084
diff
changeset
|
1945 XSetForeground (FRAME_MAC_DISPLAY (f), f->output_data.mac->normal_gc, |
|
09d72bda30b9
(mac_draw_vertical_window_border): Use foreground of
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64084
diff
changeset
|
1946 face->foreground); |
|
55025
5cbecea4d4ad
(x_draw_relief_rect): Add top_p and bot_p args.
Kim F. Storm <storm@cua.dk>
parents:
54366
diff
changeset
|
1947 |
|
66110
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
1948 mac_draw_line (f, f->output_data.mac->normal_gc, x, y0, x, y1); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1949 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1950 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1951 /* End update of window W (which is equal to updated_window). |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1952 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1953 Draw vertical borders between horizontally adjacent windows, and |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1954 display W's cursor if CURSOR_ON_P is non-zero. |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1955 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1956 MOUSE_FACE_OVERWRITTEN_P non-zero means that some row containing |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1957 glyphs in mouse-face were overwritten. In that case we have to |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1958 make sure that the mouse-highlight is properly redrawn. |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1959 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1960 W may be a menu bar pseudo-window in case we don't have X toolkit |
|
59146
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
1961 support. Such windows don't have a cursor, so don't display it |
|
64276
0a062d2d75f3
Don't include stdlib.h or composite.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64102
diff
changeset
|
1962 here. */ |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1963 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1964 static void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1965 x_update_window_end (w, cursor_on_p, mouse_face_overwritten_p) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1966 struct window *w; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1967 int cursor_on_p, mouse_face_overwritten_p; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1968 { |
|
50222
90e10bfd8bfa
* macterm.c: Remove consolidated defines and code.
Kim F. Storm <storm@cua.dk>
parents:
50157
diff
changeset
|
1969 struct mac_display_info *dpyinfo = FRAME_MAC_DISPLAY_INFO (XFRAME (w->frame)); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1970 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1971 if (!w->pseudo_window_p) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1972 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1973 BLOCK_INPUT; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1974 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1975 if (cursor_on_p) |
|
50222
90e10bfd8bfa
* macterm.c: Remove consolidated defines and code.
Kim F. Storm <storm@cua.dk>
parents:
50157
diff
changeset
|
1976 display_and_set_cursor (w, 1, output_cursor.hpos, |
|
90e10bfd8bfa
* macterm.c: Remove consolidated defines and code.
Kim F. Storm <storm@cua.dk>
parents:
50157
diff
changeset
|
1977 output_cursor.vpos, |
|
90e10bfd8bfa
* macterm.c: Remove consolidated defines and code.
Kim F. Storm <storm@cua.dk>
parents:
50157
diff
changeset
|
1978 output_cursor.x, output_cursor.y); |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
1979 |
|
57373
38e45bf0128a
(x_update_window_end): Fix flicker on vertical line between
Kim F. Storm <storm@cua.dk>
parents:
57357
diff
changeset
|
1980 if (draw_window_fringes (w, 1)) |
|
38e45bf0128a
(x_update_window_end): Fix flicker on vertical line between
Kim F. Storm <storm@cua.dk>
parents:
57357
diff
changeset
|
1981 x_draw_vertical_border (w); |
|
53606
96c29ac603e8
(x_update_window_end): Call draw_window_fringes.
Kim F. Storm <storm@cua.dk>
parents:
53579
diff
changeset
|
1982 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1983 UNBLOCK_INPUT; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1984 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1985 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1986 /* If a row with mouse-face was overwritten, arrange for |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1987 XTframe_up_to_date to redisplay the mouse highlight. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1988 if (mouse_face_overwritten_p) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1989 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1990 dpyinfo->mouse_face_beg_row = dpyinfo->mouse_face_beg_col = -1; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1991 dpyinfo->mouse_face_end_row = dpyinfo->mouse_face_end_col = -1; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1992 dpyinfo->mouse_face_window = Qnil; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1993 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1994 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1995 updated_window = NULL; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1996 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1997 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1998 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
1999 /* End update of frame F. This function is installed as a hook in |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2000 update_end. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2001 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2002 static void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2003 x_update_end (f) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2004 struct frame *f; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2005 { |
|
56890
e8bafb4b47db
(x_update_end): Move SetPortWindowPort to inside
Steven Tamm <steventamm@mac.com>
parents:
56477
diff
changeset
|
2006 /* Mouse highlight may be displayed again. */ |
|
e8bafb4b47db
(x_update_end): Move SetPortWindowPort to inside
Steven Tamm <steventamm@mac.com>
parents:
56477
diff
changeset
|
2007 FRAME_MAC_DISPLAY_INFO (f)->mouse_face_defer = 0; |
|
e8bafb4b47db
(x_update_end): Move SetPortWindowPort to inside
Steven Tamm <steventamm@mac.com>
parents:
56477
diff
changeset
|
2008 |
|
e8bafb4b47db
(x_update_end): Move SetPortWindowPort to inside
Steven Tamm <steventamm@mac.com>
parents:
56477
diff
changeset
|
2009 BLOCK_INPUT; |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
2010 mac_update_end (f); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2011 XFlush (FRAME_MAC_DISPLAY (f)); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2012 UNBLOCK_INPUT; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2013 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2014 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2015 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2016 /* This function is called from various places in xdisp.c whenever a |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2017 complete update has been performed. The global variable |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2018 updated_window is not available here. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2019 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2020 static void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2021 XTframe_up_to_date (f) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2022 struct frame *f; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2023 { |
|
55539
db942c4b4345
macterm.c (x_flush, XTframe_up_to_date): use FRAME_MAC_P
Steven Tamm <steventamm@mac.com>
parents:
55412
diff
changeset
|
2024 if (FRAME_MAC_P (f)) |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2025 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2026 struct mac_display_info *dpyinfo = FRAME_MAC_DISPLAY_INFO (f); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2027 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2028 if (dpyinfo->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
|
2029 || f == dpyinfo->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
|
2030 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2031 BLOCK_INPUT; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2032 if (dpyinfo->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
|
2033 note_mouse_highlight (dpyinfo->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
|
2034 dpyinfo->mouse_face_mouse_x, |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2035 dpyinfo->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
|
2036 dpyinfo->mouse_face_deferred_gc = 0; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2037 UNBLOCK_INPUT; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2038 } |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
2039 |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
2040 mac_frame_up_to_date (f); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2041 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2042 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2043 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2044 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2045 /* Draw truncation mark bitmaps, continuation mark bitmaps, overlay |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2046 arrow bitmaps, or clear the fringes if no bitmaps are required |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2047 before DESIRED_ROW is made current. The window being updated is |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2048 found in updated_window. This function is called from |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2049 update_window_line only if it is known that there are differences |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2050 between bitmaps to be drawn between current row and DESIRED_ROW. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2051 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2052 static void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2053 x_after_update_window_line (desired_row) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2054 struct glyph_row *desired_row; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2055 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2056 struct window *w = updated_window; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2057 struct frame *f; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2058 int width, height; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2059 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2060 xassert (w); |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
2061 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2062 if (!desired_row->mode_line_p && !w->pseudo_window_p) |
|
53606
96c29ac603e8
(x_update_window_end): Call draw_window_fringes.
Kim F. Storm <storm@cua.dk>
parents:
53579
diff
changeset
|
2063 desired_row->redraw_fringe_bitmaps_p = 1; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2064 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2065 /* When a window has disappeared, make sure that no rest of |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2066 full-width rows stays visible in the internal border. Could |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2067 check here if updated_window is the leftmost/rightmost window, |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2068 but I guess it's not worth doing since vertically split windows |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2069 are almost never used, internal border is rarely set, and the |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2070 overhead is very small. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2071 if (windows_or_buffers_changed |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2072 && desired_row->full_width_p |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2073 && (f = XFRAME (w->frame), |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2074 width = FRAME_INTERNAL_BORDER_WIDTH (f), |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2075 width != 0) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2076 && (height = desired_row->visible_height, |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2077 height > 0)) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2078 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2079 int y = WINDOW_TO_FRAME_PIXEL_Y (w, max (0, desired_row->y)); |
|
64276
0a062d2d75f3
Don't include stdlib.h or composite.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64102
diff
changeset
|
2080 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2081 /* Internal border is drawn below the tool bar. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2082 if (WINDOWP (f->tool_bar_window) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2083 && w == XWINDOW (f->tool_bar_window)) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2084 y -= width; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2085 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2086 BLOCK_INPUT; |
|
66110
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
2087 mac_clear_area (f, 0, y, width, height); |
|
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
2088 mac_clear_area (f, FRAME_PIXEL_WIDTH (f) - width, y, width, height); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2089 UNBLOCK_INPUT; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2090 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2091 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2092 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2093 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2094 /* Draw the bitmap WHICH in one of the left or right fringes of |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2095 window W. ROW is the glyph row for which to display the bitmap; it |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2096 determines the vertical position at which the bitmap has to be |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2097 drawn. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2098 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2099 static void |
| 50097 | 2100 x_draw_fringe_bitmap (w, row, p) |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2101 struct window *w; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2102 struct glyph_row *row; |
| 50097 | 2103 struct draw_fringe_bitmap_params *p; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2104 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2105 struct frame *f = XFRAME (WINDOW_FRAME (w)); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2106 Display *display = FRAME_MAC_DISPLAY (f); |
| 50097 | 2107 struct face *face = p->face; |
|
53606
96c29ac603e8
(x_update_window_end): Call draw_window_fringes.
Kim F. Storm <storm@cua.dk>
parents:
53579
diff
changeset
|
2108 int rowY; |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2109 int overlay_p = p->overlay_p; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2110 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2111 #ifdef MAC_OSX |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2112 if (!overlay_p) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2113 { |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2114 int bx = p->bx, by = p->by, nx = p->nx, ny = p->ny; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2115 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2116 #if 0 /* MAC_TODO: stipple */ |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2117 /* In case the same realized face is used for fringes and |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2118 for something displayed in the text (e.g. face `region' on |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2119 mono-displays, the fill style may have been changed to |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2120 FillSolid in x_draw_glyph_string_background. */ |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2121 if (face->stipple) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2122 XSetFillStyle (FRAME_X_DISPLAY (f), face->gc, FillOpaqueStippled); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2123 else |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2124 XSetForeground (FRAME_X_DISPLAY (f), face->gc, face->background); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2125 #endif |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2126 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2127 /* If the fringe is adjacent to the left (right) scroll bar of a |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2128 leftmost (rightmost, respectively) window, then extend its |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2129 background to the gap between the fringe and the bar. */ |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2130 if ((WINDOW_LEFTMOST_P (w) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2131 && WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_LEFT (w)) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2132 || (WINDOW_RIGHTMOST_P (w) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2133 && WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_RIGHT (w))) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2134 { |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2135 int sb_width = WINDOW_CONFIG_SCROLL_BAR_WIDTH (w); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2136 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2137 if (sb_width > 0) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2138 { |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2139 int left = WINDOW_SCROLL_BAR_AREA_X (w); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2140 int width = (WINDOW_CONFIG_SCROLL_BAR_COLS (w) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2141 * FRAME_COLUMN_WIDTH (f)); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2142 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2143 if (bx < 0 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2144 && (left + width == p->x |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2145 || p->x + p->wd == left)) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2146 { |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2147 /* Bitmap fills the fringe and we need background |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2148 extension. */ |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2149 int header_line_height = WINDOW_HEADER_LINE_HEIGHT (w); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2150 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2151 bx = p->x; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2152 nx = p->wd; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2153 by = WINDOW_TO_FRAME_PIXEL_Y (w, max (header_line_height, |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2154 row->y)); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2155 ny = row->visible_height; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2156 } |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2157 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2158 if (bx >= 0) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2159 { |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2160 if (left + width == bx) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2161 { |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2162 bx = left + sb_width; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2163 nx += width - sb_width; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2164 } |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2165 else if (bx + nx == left) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2166 nx += width - sb_width; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2167 } |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2168 } |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2169 } |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2170 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2171 if (bx >= 0) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2172 { |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2173 mac_erase_rectangle (f, face->gc, bx, by, nx, ny); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2174 /* The fringe background has already been filled. */ |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2175 overlay_p = 1; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2176 } |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2177 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2178 #if 0 /* MAC_TODO: stipple */ |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2179 if (!face->stipple) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2180 XSetForeground (FRAME_X_DISPLAY (f), face->gc, face->foreground); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2181 #endif |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2182 } |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2183 #endif /* MAC_OSX */ |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2184 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2185 /* Must clip because of partially visible lines. */ |
|
53606
96c29ac603e8
(x_update_window_end): Call draw_window_fringes.
Kim F. Storm <storm@cua.dk>
parents:
53579
diff
changeset
|
2186 rowY = WINDOW_TO_FRAME_PIXEL_Y (w, row->y); |
|
96c29ac603e8
(x_update_window_end): Call draw_window_fringes.
Kim F. Storm <storm@cua.dk>
parents:
53579
diff
changeset
|
2187 if (p->y < rowY) |
|
96c29ac603e8
(x_update_window_end): Call draw_window_fringes.
Kim F. Storm <storm@cua.dk>
parents:
53579
diff
changeset
|
2188 { |
|
96c29ac603e8
(x_update_window_end): Call draw_window_fringes.
Kim F. Storm <storm@cua.dk>
parents:
53579
diff
changeset
|
2189 /* Adjust position of "bottom aligned" bitmap on partially |
|
96c29ac603e8
(x_update_window_end): Call draw_window_fringes.
Kim F. Storm <storm@cua.dk>
parents:
53579
diff
changeset
|
2190 visible last row. */ |
|
96c29ac603e8
(x_update_window_end): Call draw_window_fringes.
Kim F. Storm <storm@cua.dk>
parents:
53579
diff
changeset
|
2191 int oldY = row->y; |
|
96c29ac603e8
(x_update_window_end): Call draw_window_fringes.
Kim F. Storm <storm@cua.dk>
parents:
53579
diff
changeset
|
2192 int oldVH = row->visible_height; |
|
96c29ac603e8
(x_update_window_end): Call draw_window_fringes.
Kim F. Storm <storm@cua.dk>
parents:
53579
diff
changeset
|
2193 row->visible_height = p->h; |
|
96c29ac603e8
(x_update_window_end): Call draw_window_fringes.
Kim F. Storm <storm@cua.dk>
parents:
53579
diff
changeset
|
2194 row->y -= rowY - p->y; |
|
66110
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
2195 x_clip_to_row (w, row, -1, face->gc); |
|
53606
96c29ac603e8
(x_update_window_end): Call draw_window_fringes.
Kim F. Storm <storm@cua.dk>
parents:
53579
diff
changeset
|
2196 row->y = oldY; |
|
96c29ac603e8
(x_update_window_end): Call draw_window_fringes.
Kim F. Storm <storm@cua.dk>
parents:
53579
diff
changeset
|
2197 row->visible_height = oldVH; |
|
96c29ac603e8
(x_update_window_end): Call draw_window_fringes.
Kim F. Storm <storm@cua.dk>
parents:
53579
diff
changeset
|
2198 } |
|
96c29ac603e8
(x_update_window_end): Call draw_window_fringes.
Kim F. Storm <storm@cua.dk>
parents:
53579
diff
changeset
|
2199 else |
|
66110
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
2200 x_clip_to_row (w, row, -1, face->gc); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2201 |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2202 #ifndef MAC_OSX |
|
53885
693745d24f76
(x_draw_fringe_bitmap): Copy unadapted code from
Kim F. Storm <storm@cua.dk>
parents:
53722
diff
changeset
|
2203 if (p->bx >= 0 && !p->overlay_p) |
| 50097 | 2204 { |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2205 #if 0 /* MAC_TODO: stipple */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2206 /* In case the same realized face is used for fringes and |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2207 for something displayed in the text (e.g. face `region' on |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2208 mono-displays, the fill style may have been changed to |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2209 FillSolid in x_draw_glyph_string_background. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2210 if (face->stipple) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2211 XSetFillStyle (FRAME_X_DISPLAY (f), face->gc, FillOpaqueStippled); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2212 else |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2213 XSetForeground (FRAME_X_DISPLAY (f), face->gc, face->background); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2214 #endif |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2215 |
|
66110
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
2216 mac_erase_rectangle (f, face->gc, p->bx, p->by, p->nx, p->ny); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2217 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2218 #if 0 /* MAC_TODO: stipple */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2219 if (!face->stipple) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2220 XSetForeground (FRAME_X_DISPLAY (f), face->gc, face->foreground); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2221 #endif |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2222 } |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2223 #endif /* !MAC_OSX */ |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2224 |
|
69488
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
2225 if (p->which |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
2226 #if USE_CG_DRAWING |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
2227 && p->which < max_fringe_bmp |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
2228 #endif |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
2229 ) |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
2230 { |
|
64424
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
2231 XGCValues gcv; |
|
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
2232 |
|
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
2233 XGetGCValues (display, face->gc, GCForeground, &gcv); |
|
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
2234 XSetForeground (display, face->gc, |
|
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
2235 (p->cursor_p |
|
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
2236 ? (p->overlay_p ? face->background |
|
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
2237 : f->output_data.mac->cursor_pixel) |
|
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
2238 : face->foreground)); |
|
69488
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
2239 #if USE_CG_DRAWING |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
2240 mac_draw_cg_image (fringe_bmp[p->which], f, face->gc, 0, p->dh, |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2241 p->wd, p->h, p->x, p->y, overlay_p); |
|
69488
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
2242 #else |
|
66110
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
2243 mac_draw_bitmap (f, face->gc, p->x, p->y, |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
2244 p->wd, p->h, p->bits + p->dh, overlay_p); |
|
69488
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
2245 #endif |
|
64424
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
2246 XSetForeground (display, face->gc, gcv.foreground); |
| 50097 | 2247 } |
| 2248 | |
|
80515
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
2249 mac_reset_clip_rectangles (f, face->gc); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2250 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2251 |
|
69488
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
2252 #if USE_CG_DRAWING |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
2253 static void |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
2254 mac_define_fringe_bitmap (which, bits, h, wd) |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
2255 int which; |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
2256 unsigned short *bits; |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
2257 int h, wd; |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
2258 { |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
2259 int i; |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
2260 CGDataProviderRef provider; |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
2261 |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
2262 if (which >= max_fringe_bmp) |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
2263 { |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
2264 i = max_fringe_bmp; |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
2265 max_fringe_bmp = which + 20; |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
2266 fringe_bmp = (CGImageRef *) xrealloc (fringe_bmp, max_fringe_bmp * sizeof (CGImageRef)); |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
2267 while (i < max_fringe_bmp) |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
2268 fringe_bmp[i++] = 0; |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
2269 } |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
2270 |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
2271 for (i = 0; i < h; i++) |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
2272 bits[i] = ~bits[i]; |
|
78968
6d6dc60c958b
(mac_load_query_font): Fix missing return value.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
78681
diff
changeset
|
2273 |
|
6d6dc60c958b
(mac_load_query_font): Fix missing return value.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
78681
diff
changeset
|
2274 BLOCK_INPUT; |
|
6d6dc60c958b
(mac_load_query_font): Fix missing return value.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
78681
diff
changeset
|
2275 |
|
69488
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
2276 provider = CGDataProviderCreateWithData (NULL, bits, |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
2277 sizeof (unsigned short) * h, NULL); |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
2278 if (provider) |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
2279 { |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
2280 fringe_bmp[which] = CGImageMaskCreate (wd, h, 1, 1, |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
2281 sizeof (unsigned short), |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
2282 provider, NULL, 0); |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
2283 CGDataProviderRelease (provider); |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
2284 } |
|
78968
6d6dc60c958b
(mac_load_query_font): Fix missing return value.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
78681
diff
changeset
|
2285 |
|
6d6dc60c958b
(mac_load_query_font): Fix missing return value.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
78681
diff
changeset
|
2286 UNBLOCK_INPUT; |
|
69488
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
2287 } |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
2288 |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
2289 static void |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
2290 mac_destroy_fringe_bitmap (which) |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
2291 int which; |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
2292 { |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
2293 if (which >= max_fringe_bmp) |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
2294 return; |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
2295 |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
2296 if (fringe_bmp[which]) |
|
78968
6d6dc60c958b
(mac_load_query_font): Fix missing return value.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
78681
diff
changeset
|
2297 { |
|
6d6dc60c958b
(mac_load_query_font): Fix missing return value.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
78681
diff
changeset
|
2298 BLOCK_INPUT; |
|
6d6dc60c958b
(mac_load_query_font): Fix missing return value.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
78681
diff
changeset
|
2299 CGImageRelease (fringe_bmp[which]); |
|
6d6dc60c958b
(mac_load_query_font): Fix missing return value.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
78681
diff
changeset
|
2300 UNBLOCK_INPUT; |
|
6d6dc60c958b
(mac_load_query_font): Fix missing return value.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
78681
diff
changeset
|
2301 } |
|
69488
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
2302 fringe_bmp[which] = 0; |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
2303 } |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
2304 #endif |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2305 |
|
64276
0a062d2d75f3
Don't include stdlib.h or composite.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64102
diff
changeset
|
2306 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2307 /* This is called when starting Emacs and when restarting after |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2308 suspend. When starting Emacs, no window is mapped. And nothing |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2309 must be done to Emacs's own window if it is suspended (though that |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2310 rarely happens). */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2311 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2312 static void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2313 XTset_terminal_modes () |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2314 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2315 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2316 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2317 /* This is called when exiting or suspending Emacs. Exiting will make |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2318 the windows go away, and suspending requires no action. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2319 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2320 static void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2321 XTreset_terminal_modes () |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2322 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2323 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2324 |
|
64276
0a062d2d75f3
Don't include stdlib.h or composite.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64102
diff
changeset
|
2325 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2326 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2327 /*********************************************************************** |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2328 Display Iterator |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2329 ***********************************************************************/ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2330 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2331 /* Function prototypes of this page. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2332 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2333 static XCharStruct *x_per_char_metric P_ ((XFontStruct *, XChar2b *)); |
|
50157
203d5a0f77a8
The following changes consolidate some of the gui-independent
Kim F. Storm <storm@cua.dk>
parents:
50097
diff
changeset
|
2334 static int mac_encode_char P_ ((int, XChar2b *, struct font_info *, int *)); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2335 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2336 |
|
70304
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
2337 static void |
|
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
2338 pcm_init (pcm, count) |
|
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
2339 XCharStruct *pcm; |
|
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
2340 int count; |
|
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
2341 { |
|
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
2342 bzero (pcm, sizeof (XCharStruct) * count); |
|
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
2343 while (--count >= 0) |
|
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
2344 { |
|
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
2345 pcm->descent = PCM_INVALID; |
|
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
2346 pcm++; |
|
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
2347 } |
|
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
2348 } |
|
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
2349 |
|
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
2350 static enum pcm_status |
|
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
2351 pcm_get_status (pcm) |
|
73575
c39e3aff703e
(mac_create_bitmap_from_bitmap_data): Make variable
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73385
diff
changeset
|
2352 const XCharStruct *pcm; |
|
70304
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
2353 { |
|
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
2354 int height = pcm->ascent + pcm->descent; |
|
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
2355 |
|
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
2356 /* Negative height means some special status. */ |
|
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
2357 return height >= 0 ? PCM_VALID : height; |
|
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
2358 } |
|
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
2359 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2360 /* Get metrics of character CHAR2B in FONT. Value is null if CHAR2B |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2361 is not contained in the font. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2362 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2363 static INLINE XCharStruct * |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2364 x_per_char_metric (font, char2b) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2365 XFontStruct *font; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2366 XChar2b *char2b; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2367 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2368 /* The result metric information. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2369 XCharStruct *pcm = NULL; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2370 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2371 xassert (font && char2b); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2372 |
|
65772
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
2373 #if USE_ATSUI |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
2374 if (font->mac_style) |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
2375 { |
|
70304
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
2376 XCharStruct **row = font->bounds.rows + char2b->byte1; |
|
67733
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
2377 |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
2378 if (*row == NULL) |
|
65772
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
2379 { |
|
70304
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
2380 *row = xmalloc (sizeof (XCharStruct) * 0x100); |
|
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
2381 pcm_init (*row, 0x100); |
|
65772
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
2382 } |
|
70304
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
2383 pcm = *row + char2b->byte2; |
|
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
2384 if (pcm_get_status (pcm) != PCM_VALID) |
|
65772
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
2385 { |
|
70071
84e6726893ef
(XCreateGC, x_per_char_metric, xlfdpat_create)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69964
diff
changeset
|
2386 BLOCK_INPUT; |
|
84e6726893ef
(XCreateGC, x_per_char_metric, xlfdpat_create)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69964
diff
changeset
|
2387 mac_query_char_extents (font->mac_style, |
|
84e6726893ef
(XCreateGC, x_per_char_metric, xlfdpat_create)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69964
diff
changeset
|
2388 (char2b->byte1 << 8) + char2b->byte2, |
|
84e6726893ef
(XCreateGC, x_per_char_metric, xlfdpat_create)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69964
diff
changeset
|
2389 NULL, NULL, pcm, NULL); |
|
84e6726893ef
(XCreateGC, x_per_char_metric, xlfdpat_create)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69964
diff
changeset
|
2390 UNBLOCK_INPUT; |
|
65772
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
2391 } |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
2392 } |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
2393 else |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
2394 { |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
2395 #endif |
|
67733
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
2396 if (font->bounds.per_char != NULL) |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2397 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2398 if (font->min_byte1 == 0 && font->max_byte1 == 0) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2399 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2400 /* min_char_or_byte2 specifies the linear character index |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2401 corresponding to the first element of the per_char array, |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2402 max_char_or_byte2 is the index of the last character. A |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2403 character with non-zero CHAR2B->byte1 is not in the font. |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2404 A character with byte2 less than min_char_or_byte2 or |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2405 greater max_char_or_byte2 is not in the font. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2406 if (char2b->byte1 == 0 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2407 && char2b->byte2 >= font->min_char_or_byte2 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2408 && char2b->byte2 <= font->max_char_or_byte2) |
|
67733
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
2409 pcm = font->bounds.per_char |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
2410 + (char2b->byte2 - font->min_char_or_byte2); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2411 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2412 else |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2413 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2414 /* If either min_byte1 or max_byte1 are nonzero, both |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2415 min_char_or_byte2 and max_char_or_byte2 are less than |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2416 256, and the 2-byte character index values corresponding |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2417 to the per_char array element N (counting from 0) are: |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2418 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2419 byte1 = N/D + min_byte1 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2420 byte2 = N\D + min_char_or_byte2 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2421 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2422 where: |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2423 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2424 D = max_char_or_byte2 - min_char_or_byte2 + 1 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2425 / = integer division |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2426 \ = integer modulus */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2427 if (char2b->byte1 >= font->min_byte1 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2428 && char2b->byte1 <= font->max_byte1 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2429 && char2b->byte2 >= font->min_char_or_byte2 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2430 && char2b->byte2 <= font->max_char_or_byte2) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2431 { |
|
67733
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
2432 pcm = (font->bounds.per_char |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2433 + ((font->max_char_or_byte2 - font->min_char_or_byte2 + 1) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2434 * (char2b->byte1 - font->min_byte1)) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2435 + (char2b->byte2 - font->min_char_or_byte2)); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2436 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2437 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2438 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2439 else |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2440 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2441 /* If the per_char pointer is null, all glyphs between the first |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2442 and last character indexes inclusive have the same |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2443 information, as given by both min_bounds and max_bounds. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2444 if (char2b->byte2 >= font->min_char_or_byte2 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2445 && char2b->byte2 <= font->max_char_or_byte2) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2446 pcm = &font->max_bounds; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2447 } |
|
65772
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
2448 #if USE_ATSUI |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
2449 } |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
2450 #endif |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2451 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2452 return ((pcm == NULL |
|
70149
6188dfce9d77
(x_per_char_metric): Return NULL if glyph width is 0.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70071
diff
changeset
|
2453 || (pcm->width == 0 |
|
6188dfce9d77
(x_per_char_metric): Return NULL if glyph width is 0.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70071
diff
changeset
|
2454 #if 0 /* Show hollow boxes for zero-width glyphs such as combining diacritics. */ |
|
6188dfce9d77
(x_per_char_metric): Return NULL if glyph width is 0.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70071
diff
changeset
|
2455 && (pcm->rbearing - pcm->lbearing) == 0 |
|
6188dfce9d77
(x_per_char_metric): Return NULL if glyph width is 0.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70071
diff
changeset
|
2456 #endif |
|
6188dfce9d77
(x_per_char_metric): Return NULL if glyph width is 0.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70071
diff
changeset
|
2457 )) |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2458 ? NULL : pcm); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2459 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2460 |
|
50157
203d5a0f77a8
The following changes consolidate some of the gui-independent
Kim F. Storm <storm@cua.dk>
parents:
50097
diff
changeset
|
2461 /* RIF: |
|
203d5a0f77a8
The following changes consolidate some of the gui-independent
Kim F. Storm <storm@cua.dk>
parents:
50097
diff
changeset
|
2462 */ |
|
203d5a0f77a8
The following changes consolidate some of the gui-independent
Kim F. Storm <storm@cua.dk>
parents:
50097
diff
changeset
|
2463 |
|
203d5a0f77a8
The following changes consolidate some of the gui-independent
Kim F. Storm <storm@cua.dk>
parents:
50097
diff
changeset
|
2464 static XCharStruct * |
|
203d5a0f77a8
The following changes consolidate some of the gui-independent
Kim F. Storm <storm@cua.dk>
parents:
50097
diff
changeset
|
2465 mac_per_char_metric (font, char2b, font_type) |
|
203d5a0f77a8
The following changes consolidate some of the gui-independent
Kim F. Storm <storm@cua.dk>
parents:
50097
diff
changeset
|
2466 XFontStruct *font; |
|
203d5a0f77a8
The following changes consolidate some of the gui-independent
Kim F. Storm <storm@cua.dk>
parents:
50097
diff
changeset
|
2467 XChar2b *char2b; |
|
203d5a0f77a8
The following changes consolidate some of the gui-independent
Kim F. Storm <storm@cua.dk>
parents:
50097
diff
changeset
|
2468 int font_type; |
|
203d5a0f77a8
The following changes consolidate some of the gui-independent
Kim F. Storm <storm@cua.dk>
parents:
50097
diff
changeset
|
2469 { |
|
203d5a0f77a8
The following changes consolidate some of the gui-independent
Kim F. Storm <storm@cua.dk>
parents:
50097
diff
changeset
|
2470 return x_per_char_metric (font, char2b); |
|
203d5a0f77a8
The following changes consolidate some of the gui-independent
Kim F. Storm <storm@cua.dk>
parents:
50097
diff
changeset
|
2471 } |
|
203d5a0f77a8
The following changes consolidate some of the gui-independent
Kim F. Storm <storm@cua.dk>
parents:
50097
diff
changeset
|
2472 |
|
203d5a0f77a8
The following changes consolidate some of the gui-independent
Kim F. Storm <storm@cua.dk>
parents:
50097
diff
changeset
|
2473 /* RIF: |
|
203d5a0f77a8
The following changes consolidate some of the gui-independent
Kim F. Storm <storm@cua.dk>
parents:
50097
diff
changeset
|
2474 Encode CHAR2B using encoding information from FONT_INFO. CHAR2B is |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2475 the two-byte form of C. Encoding is returned in *CHAR2B. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2476 |
|
50157
203d5a0f77a8
The following changes consolidate some of the gui-independent
Kim F. Storm <storm@cua.dk>
parents:
50097
diff
changeset
|
2477 static int |
|
203d5a0f77a8
The following changes consolidate some of the gui-independent
Kim F. Storm <storm@cua.dk>
parents:
50097
diff
changeset
|
2478 mac_encode_char (c, char2b, font_info, two_byte_p) |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2479 int c; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2480 XChar2b *char2b; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2481 struct font_info *font_info; |
|
50157
203d5a0f77a8
The following changes consolidate some of the gui-independent
Kim F. Storm <storm@cua.dk>
parents:
50097
diff
changeset
|
2482 int *two_byte_p; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2483 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2484 int charset = CHAR_CHARSET (c); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2485 XFontStruct *font = font_info->font; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2486 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2487 /* FONT_INFO may define a scheme by which to encode byte1 and byte2. |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2488 This may be either a program in a special encoder language or a |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2489 fixed encoding. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2490 if (font_info->font_encoder) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2491 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2492 /* It's a program. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2493 struct ccl_program *ccl = font_info->font_encoder; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2494 |
|
64102
09d72bda30b9
(mac_draw_vertical_window_border): Use foreground of
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64084
diff
changeset
|
2495 check_ccl_update (ccl); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2496 if (CHARSET_DIMENSION (charset) == 1) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2497 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2498 ccl->reg[0] = charset; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2499 ccl->reg[1] = char2b->byte2; |
|
64102
09d72bda30b9
(mac_draw_vertical_window_border): Use foreground of
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64084
diff
changeset
|
2500 ccl->reg[2] = -1; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2501 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2502 else |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2503 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2504 ccl->reg[0] = charset; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2505 ccl->reg[1] = char2b->byte1; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2506 ccl->reg[2] = char2b->byte2; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2507 } |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
2508 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2509 ccl_driver (ccl, NULL, NULL, 0, 0, NULL); |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
2510 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2511 /* We assume that MSBs are appropriately set/reset by CCL |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2512 program. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2513 if (font->max_byte1 == 0) /* 1-byte font */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2514 char2b->byte1 = 0, char2b->byte2 = ccl->reg[1]; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2515 else |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2516 char2b->byte1 = ccl->reg[1], char2b->byte2 = ccl->reg[2]; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2517 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2518 else if (font_info->encoding[charset]) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2519 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2520 /* Fixed encoding scheme. See fontset.h for the meaning of the |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2521 encoding numbers. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2522 int enc = font_info->encoding[charset]; |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
2523 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2524 if ((enc == 1 || enc == 2) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2525 && CHARSET_DIMENSION (charset) == 2) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2526 char2b->byte1 |= 0x80; |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
2527 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2528 if (enc == 1 || enc == 3) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2529 char2b->byte2 |= 0x80; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2530 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2531 if (enc == 4) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2532 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2533 int sjis1, sjis2; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2534 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2535 ENCODE_SJIS (char2b->byte1, char2b->byte2, sjis1, sjis2); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2536 char2b->byte1 = sjis1; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2537 char2b->byte2 = sjis2; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2538 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2539 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2540 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2541 if (two_byte_p) |
|
50157
203d5a0f77a8
The following changes consolidate some of the gui-independent
Kim F. Storm <storm@cua.dk>
parents:
50097
diff
changeset
|
2542 *two_byte_p = ((XFontStruct *) (font_info->font))->max_byte1 > 0; |
|
203d5a0f77a8
The following changes consolidate some of the gui-independent
Kim F. Storm <storm@cua.dk>
parents:
50097
diff
changeset
|
2543 |
|
203d5a0f77a8
The following changes consolidate some of the gui-independent
Kim F. Storm <storm@cua.dk>
parents:
50097
diff
changeset
|
2544 return FONT_TYPE_UNKNOWN; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2545 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2546 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2547 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2548 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2549 /*********************************************************************** |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2550 Glyph display |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2551 ***********************************************************************/ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2552 |
|
50157
203d5a0f77a8
The following changes consolidate some of the gui-independent
Kim F. Storm <storm@cua.dk>
parents:
50097
diff
changeset
|
2553 |
|
64276
0a062d2d75f3
Don't include stdlib.h or composite.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64102
diff
changeset
|
2554 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2555 static void x_set_glyph_string_clipping P_ ((struct glyph_string *)); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2556 static void x_set_glyph_string_gc P_ ((struct glyph_string *)); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2557 static void x_draw_glyph_string_background P_ ((struct glyph_string *, |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2558 int)); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2559 static void x_draw_glyph_string_foreground P_ ((struct glyph_string *)); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2560 static void x_draw_composite_glyph_string_foreground P_ ((struct glyph_string *)); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2561 static void x_draw_glyph_string_box P_ ((struct glyph_string *)); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2562 static void x_draw_glyph_string P_ ((struct glyph_string *)); |
|
64276
0a062d2d75f3
Don't include stdlib.h or composite.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64102
diff
changeset
|
2563 static void mac_compute_glyph_string_overhangs P_ ((struct glyph_string *)); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2564 static void x_set_cursor_gc P_ ((struct glyph_string *)); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2565 static void x_set_mode_line_face_gc P_ ((struct glyph_string *)); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2566 static void x_set_mouse_face_gc P_ ((struct glyph_string *)); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2567 /*static int x_alloc_lighter_color P_ ((struct frame *, Display *, Colormap, |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2568 unsigned long *, double, int));*/ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2569 static void x_setup_relief_color P_ ((struct frame *, struct relief *, |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2570 double, int, unsigned long)); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2571 static void x_setup_relief_colors P_ ((struct glyph_string *)); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2572 static void x_draw_image_glyph_string P_ ((struct glyph_string *)); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2573 static void x_draw_image_relief P_ ((struct glyph_string *)); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2574 static void x_draw_image_foreground P_ ((struct glyph_string *)); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2575 static void x_clear_glyph_string_rect P_ ((struct glyph_string *, int, |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2576 int, int, int)); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2577 static void x_draw_relief_rect P_ ((struct frame *, int, int, int, int, |
|
55025
5cbecea4d4ad
(x_draw_relief_rect): Add top_p and bot_p args.
Kim F. Storm <storm@cua.dk>
parents:
54366
diff
changeset
|
2578 int, int, int, int, int, int, |
|
5cbecea4d4ad
(x_draw_relief_rect): Add top_p and bot_p args.
Kim F. Storm <storm@cua.dk>
parents:
54366
diff
changeset
|
2579 Rect *)); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2580 static void x_draw_box_rect P_ ((struct glyph_string *, int, int, int, int, |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2581 int, int, int, Rect *)); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2582 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2583 #if GLYPH_DEBUG |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2584 static void x_check_font P_ ((struct frame *, XFontStruct *)); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2585 #endif |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2586 |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
2587 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2588 /* Set S->gc to a suitable GC for drawing glyph string S in cursor |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2589 face. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2590 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2591 static void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2592 x_set_cursor_gc (s) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2593 struct glyph_string *s; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2594 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2595 if (s->font == FRAME_FONT (s->f) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2596 && s->face->background == FRAME_BACKGROUND_PIXEL (s->f) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2597 && s->face->foreground == FRAME_FOREGROUND_PIXEL (s->f) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2598 && !s->cmp) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2599 s->gc = s->f->output_data.mac->cursor_gc; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2600 else |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2601 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2602 /* Cursor on non-default face: must merge. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2603 XGCValues xgcv; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2604 unsigned long mask; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2605 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2606 xgcv.background = s->f->output_data.mac->cursor_pixel; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2607 xgcv.foreground = s->face->background; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2608 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2609 /* If the glyph would be invisible, try a different foreground. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2610 if (xgcv.foreground == xgcv.background) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2611 xgcv.foreground = s->face->foreground; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2612 if (xgcv.foreground == xgcv.background) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2613 xgcv.foreground = s->f->output_data.mac->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
|
2614 if (xgcv.foreground == xgcv.background) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2615 xgcv.foreground = s->face->foreground; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2616 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2617 /* Make sure the cursor is distinct from text in this face. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2618 if (xgcv.background == s->face->background |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2619 && xgcv.foreground == s->face->foreground) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2620 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2621 xgcv.background = s->face->foreground; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2622 xgcv.foreground = s->face->background; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2623 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2624 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2625 IF_DEBUG (x_check_font (s->f, s->font)); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2626 xgcv.font = s->font; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2627 mask = GCForeground | GCBackground | GCFont; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2628 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2629 if (FRAME_MAC_DISPLAY_INFO (s->f)->scratch_cursor_gc) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2630 XChangeGC (s->display, FRAME_MAC_DISPLAY_INFO (s->f)->scratch_cursor_gc, |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2631 mask, &xgcv); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2632 else |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2633 FRAME_MAC_DISPLAY_INFO (s->f)->scratch_cursor_gc |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2634 = XCreateGC (s->display, s->window, mask, &xgcv); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2635 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2636 s->gc = FRAME_MAC_DISPLAY_INFO (s->f)->scratch_cursor_gc; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2637 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2638 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2639 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2640 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2641 /* Set up S->gc of glyph string S for drawing text in mouse face. */ |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
2642 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2643 static void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2644 x_set_mouse_face_gc (s) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2645 struct glyph_string *s; |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
2646 { |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2647 int face_id; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2648 struct face *face; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2649 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2650 /* What face has to be used last for the mouse face? */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2651 face_id = FRAME_X_DISPLAY_INFO (s->f)->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
|
2652 face = FACE_FROM_ID (s->f, face_id); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2653 if (face == NULL) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2654 face = FACE_FROM_ID (s->f, MOUSE_FACE_ID); |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
2655 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2656 if (s->first_glyph->type == CHAR_GLYPH) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2657 face_id = FACE_FOR_CHAR (s->f, face, s->first_glyph->u.ch); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2658 else |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2659 face_id = FACE_FOR_CHAR (s->f, face, 0); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2660 s->face = FACE_FROM_ID (s->f, face_id); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2661 PREPARE_FACE_FOR_DISPLAY (s->f, s->face); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2662 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2663 /* If font in this face is same as S->font, use it. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2664 if (s->font == s->face->font) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2665 s->gc = s->face->gc; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2666 else |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2667 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2668 /* Otherwise construct scratch_cursor_gc with values from FACE |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2669 but font FONT. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2670 XGCValues xgcv; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2671 unsigned long mask; |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
2672 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2673 xgcv.background = s->face->background; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2674 xgcv.foreground = s->face->foreground; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2675 IF_DEBUG (x_check_font (s->f, s->font)); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2676 xgcv.font = s->font; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2677 mask = GCForeground | GCBackground | GCFont; |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
2678 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2679 if (FRAME_MAC_DISPLAY_INFO (s->f)->scratch_cursor_gc) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2680 XChangeGC (s->display, FRAME_MAC_DISPLAY_INFO (s->f)->scratch_cursor_gc, |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2681 mask, &xgcv); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2682 else |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2683 FRAME_MAC_DISPLAY_INFO (s->f)->scratch_cursor_gc |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2684 = XCreateGC (s->display, s->window, mask, &xgcv); |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
2685 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2686 s->gc = FRAME_MAC_DISPLAY_INFO (s->f)->scratch_cursor_gc; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2687 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2688 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2689 xassert (s->gc != 0); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2690 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2691 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2692 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2693 /* Set S->gc of glyph string S to a GC suitable for drawing a mode line. |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2694 Faces to use in the mode line have already been computed when the |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2695 matrix was built, so there isn't much to do, here. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2696 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2697 static INLINE void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2698 x_set_mode_line_face_gc (s) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2699 struct glyph_string *s; |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
2700 { |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2701 s->gc = s->face->gc; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2702 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2703 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2704 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2705 /* Set S->gc of glyph string S for drawing that glyph string. Set |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2706 S->stippled_p to a non-zero value if the face of S has a stipple |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2707 pattern. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2708 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2709 static INLINE void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2710 x_set_glyph_string_gc (s) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2711 struct glyph_string *s; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2712 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2713 PREPARE_FACE_FOR_DISPLAY (s->f, s->face); |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
2714 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2715 if (s->hl == DRAW_NORMAL_TEXT) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2716 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2717 s->gc = s->face->gc; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2718 s->stippled_p = s->face->stipple != 0; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2719 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2720 else if (s->hl == DRAW_INVERSE_VIDEO) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2721 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2722 x_set_mode_line_face_gc (s); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2723 s->stippled_p = s->face->stipple != 0; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2724 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2725 else if (s->hl == DRAW_CURSOR) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2726 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2727 x_set_cursor_gc (s); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2728 s->stippled_p = 0; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2729 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2730 else if (s->hl == DRAW_MOUSE_FACE) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2731 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2732 x_set_mouse_face_gc (s); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2733 s->stippled_p = s->face->stipple != 0; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2734 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2735 else if (s->hl == DRAW_IMAGE_RAISED |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2736 || s->hl == DRAW_IMAGE_SUNKEN) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2737 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2738 s->gc = s->face->gc; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2739 s->stippled_p = s->face->stipple != 0; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2740 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2741 else |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2742 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2743 s->gc = s->face->gc; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2744 s->stippled_p = s->face->stipple != 0; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2745 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2746 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2747 /* GC must have been set. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2748 xassert (s->gc != 0); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2749 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2750 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2751 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2752 /* Set clipping for output of glyph string S. S may be part of a mode |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2753 line or menu if we don't have X toolkit support. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2754 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2755 static INLINE void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2756 x_set_glyph_string_clipping (s) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2757 struct glyph_string *s; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2758 { |
|
65910
a53616277ba6
(GC_CLIP_REGION): New macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65892
diff
changeset
|
2759 Rect rects[MAX_CLIP_RECTS]; |
|
a53616277ba6
(GC_CLIP_REGION): New macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65892
diff
changeset
|
2760 int n; |
|
a53616277ba6
(GC_CLIP_REGION): New macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65892
diff
changeset
|
2761 |
|
a53616277ba6
(GC_CLIP_REGION): New macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65892
diff
changeset
|
2762 n = get_glyph_string_clip_rects (s, rects, MAX_CLIP_RECTS); |
|
80515
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
2763 mac_set_clip_rectangles (s->f, s->gc, rects, n); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2764 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2765 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2766 |
|
50157
203d5a0f77a8
The following changes consolidate some of the gui-independent
Kim F. Storm <storm@cua.dk>
parents:
50097
diff
changeset
|
2767 /* RIF: |
|
203d5a0f77a8
The following changes consolidate some of the gui-independent
Kim F. Storm <storm@cua.dk>
parents:
50097
diff
changeset
|
2768 Compute left and right overhang of glyph string S. If S is a glyph |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2769 string for a composition, assume overhangs don't exist. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2770 |
|
50157
203d5a0f77a8
The following changes consolidate some of the gui-independent
Kim F. Storm <storm@cua.dk>
parents:
50097
diff
changeset
|
2771 static void |
|
203d5a0f77a8
The following changes consolidate some of the gui-independent
Kim F. Storm <storm@cua.dk>
parents:
50097
diff
changeset
|
2772 mac_compute_glyph_string_overhangs (s) |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2773 struct glyph_string *s; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2774 { |
|
69964
321089786c7b
Don't include gnu.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69773
diff
changeset
|
2775 if (!(s->cmp == NULL |
|
321089786c7b
Don't include gnu.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69773
diff
changeset
|
2776 && s->first_glyph->type == CHAR_GLYPH)) |
|
321089786c7b
Don't include gnu.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69773
diff
changeset
|
2777 return; |
|
321089786c7b
Don't include gnu.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69773
diff
changeset
|
2778 |
|
321089786c7b
Don't include gnu.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69773
diff
changeset
|
2779 if (!s->two_byte_p |
|
65772
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
2780 #if USE_ATSUI |
|
69964
321089786c7b
Don't include gnu.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69773
diff
changeset
|
2781 || s->font->mac_style |
|
321089786c7b
Don't include gnu.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69773
diff
changeset
|
2782 #endif |
|
321089786c7b
Don't include gnu.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69773
diff
changeset
|
2783 ) |
|
321089786c7b
Don't include gnu.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69773
diff
changeset
|
2784 { |
|
321089786c7b
Don't include gnu.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69773
diff
changeset
|
2785 XCharStruct cs; |
|
321089786c7b
Don't include gnu.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69773
diff
changeset
|
2786 |
|
321089786c7b
Don't include gnu.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69773
diff
changeset
|
2787 mac_text_extents_16 (s->font, s->char2b, s->nchars, &cs); |
|
321089786c7b
Don't include gnu.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69773
diff
changeset
|
2788 s->right_overhang = cs.rbearing > cs.width ? cs.rbearing - cs.width : 0; |
|
321089786c7b
Don't include gnu.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69773
diff
changeset
|
2789 s->left_overhang = cs.lbearing < 0 ? -cs.lbearing : 0; |
|
321089786c7b
Don't include gnu.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69773
diff
changeset
|
2790 } |
|
321089786c7b
Don't include gnu.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69773
diff
changeset
|
2791 else |
|
321089786c7b
Don't include gnu.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69773
diff
changeset
|
2792 { |
|
321089786c7b
Don't include gnu.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69773
diff
changeset
|
2793 Rect r; |
|
321089786c7b
Don't include gnu.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69773
diff
changeset
|
2794 MacFontStruct *font = s->font; |
|
321089786c7b
Don't include gnu.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69773
diff
changeset
|
2795 |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
2796 mac_begin_clip (s->f, NULL); |
|
73133
7156654b0c06
(mac_compute_glyph_string_overhangs, XLoadQueryFont)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73114
diff
changeset
|
2797 |
|
69964
321089786c7b
Don't include gnu.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69773
diff
changeset
|
2798 TextFont (font->mac_fontnum); |
|
321089786c7b
Don't include gnu.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69773
diff
changeset
|
2799 TextSize (font->mac_fontsize); |
|
321089786c7b
Don't include gnu.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69773
diff
changeset
|
2800 TextFace (font->mac_fontface); |
|
321089786c7b
Don't include gnu.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69773
diff
changeset
|
2801 |
|
321089786c7b
Don't include gnu.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69773
diff
changeset
|
2802 QDTextBounds (s->nchars * 2, (char *)s->char2b, &r); |
|
321089786c7b
Don't include gnu.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69773
diff
changeset
|
2803 |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
2804 mac_end_clip (s->f, NULL); |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
2805 |
|
69964
321089786c7b
Don't include gnu.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69773
diff
changeset
|
2806 s->right_overhang = r.right > s->width ? r.right - s->width : 0; |
|
321089786c7b
Don't include gnu.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69773
diff
changeset
|
2807 s->left_overhang = r.left < 0 ? -r.left : 0; |
|
321089786c7b
Don't include gnu.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69773
diff
changeset
|
2808 } |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2809 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2810 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2811 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2812 /* Fill rectangle X, Y, W, H with background color of glyph string S. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2813 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2814 static INLINE void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2815 x_clear_glyph_string_rect (s, x, y, w, h) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2816 struct glyph_string *s; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2817 int x, y, w, h; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2818 { |
|
66110
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
2819 mac_erase_rectangle (s->f, s->gc, x, y, w, h); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2820 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2821 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2822 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2823 /* Draw the background of glyph_string S. If S->background_filled_p |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2824 is non-zero don't draw it. FORCE_P non-zero means draw the |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2825 background even if it wouldn't be drawn normally. This is used |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2826 when a string preceding S draws into the background of S, or S |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2827 contains the first component of a composition. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2828 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2829 static void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2830 x_draw_glyph_string_background (s, force_p) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2831 struct glyph_string *s; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2832 int force_p; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2833 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2834 /* Nothing to do if background has already been drawn or if it |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2835 shouldn't be drawn in the first place. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2836 if (!s->background_filled_p) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2837 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2838 int box_line_width = max (s->face->box_line_width, 0); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2839 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2840 #if 0 /* MAC_TODO: stipple */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2841 if (s->stippled_p) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2842 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2843 /* Fill background with a stipple pattern. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2844 XSetFillStyle (s->display, s->gc, FillOpaqueStippled); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2845 XFillRectangle (s->display, s->window, s->gc, s->x, |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2846 s->y + box_line_width, |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2847 s->background_width, |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2848 s->height - 2 * box_line_width); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2849 XSetFillStyle (s->display, s->gc, FillSolid); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2850 s->background_filled_p = 1; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2851 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2852 else |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2853 #endif |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2854 if (FONT_HEIGHT (s->font) < s->height - 2 * box_line_width |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2855 || s->font_not_found_p |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2856 || s->extends_to_end_of_line_p |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2857 || force_p) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2858 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2859 x_clear_glyph_string_rect (s, s->x, s->y + box_line_width, |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2860 s->background_width, |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2861 s->height - 2 * box_line_width); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2862 s->background_filled_p = 1; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2863 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2864 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2865 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2866 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2867 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2868 /* Draw the foreground of glyph string S. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2869 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2870 static void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2871 x_draw_glyph_string_foreground (s) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2872 struct glyph_string *s; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2873 { |
|
69061
783439580869
(mac_draw_string_common): Remove arg MODE. New arg
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
68770
diff
changeset
|
2874 int i, x, bg_width; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2875 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2876 /* If first glyph of S has a left box line, start drawing the text |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2877 of S to the right of that box line. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2878 if (s->face->box != FACE_NO_BOX |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2879 && s->first_glyph->left_box_line_p) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2880 x = s->x + abs (s->face->box_line_width); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2881 else |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2882 x = s->x; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2883 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2884 /* Draw characters of S as rectangles if S's font could not be |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2885 loaded. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2886 if (s->font_not_found_p) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2887 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2888 for (i = 0; i < s->nchars; ++i) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2889 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2890 struct glyph *g = s->first_glyph + i; |
|
66110
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
2891 mac_draw_rectangle (s->f, s->gc, x, s->y, |
|
69433
a8fd29f179b0
(mac_draw_rectangle, x_draw_glyph_string_foreground)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69369
diff
changeset
|
2892 g->pixel_width - 1, s->height - 1); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2893 x += g->pixel_width; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2894 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2895 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2896 else |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2897 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2898 char *char1b = (char *) s->char2b; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2899 int boff = s->font_info->baseline_offset; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2900 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2901 if (s->font_info->vertical_centering) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2902 boff = VCENTER_BASELINE_OFFSET (s->font, s->f) - boff; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2903 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2904 /* If we can use 8-bit functions, condense S->char2b. */ |
|
65772
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
2905 if (!s->two_byte_p |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
2906 #if USE_ATSUI |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
2907 && GC_FONT (s->gc)->mac_style == NULL |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
2908 #endif |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
2909 ) |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2910 for (i = 0; i < s->nchars; ++i) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2911 char1b[i] = s->char2b[i].byte2; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2912 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2913 /* Draw text with XDrawString if background has already been |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2914 filled. Otherwise, use XDrawImageString. (Note that |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2915 XDrawImageString is usually faster than XDrawString.) Always |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2916 use XDrawImageString when drawing the cursor so that there is |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2917 no chance that characters under a box cursor are invisible. */ |
|
65892
41fc0bf568be
Rename member for_overlaps_p in struct glyph_string to for_overlaps.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65822
diff
changeset
|
2918 if (s->for_overlaps |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2919 || (s->background_filled_p && s->hl != DRAW_CURSOR)) |
|
69061
783439580869
(mac_draw_string_common): Remove arg MODE. New arg
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
68770
diff
changeset
|
2920 bg_width = 0; /* Corresponds to XDrawString. */ |
|
783439580869
(mac_draw_string_common): Remove arg MODE. New arg
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
68770
diff
changeset
|
2921 else |
|
783439580869
(mac_draw_string_common): Remove arg MODE. New arg
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
68770
diff
changeset
|
2922 bg_width = s->background_width; /* Corresponds to XDrawImageString. */ |
|
783439580869
(mac_draw_string_common): Remove arg MODE. New arg
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
68770
diff
changeset
|
2923 |
|
783439580869
(mac_draw_string_common): Remove arg MODE. New arg
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
68770
diff
changeset
|
2924 if (s->two_byte_p |
|
65772
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
2925 #if USE_ATSUI |
|
69061
783439580869
(mac_draw_string_common): Remove arg MODE. New arg
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
68770
diff
changeset
|
2926 || GC_FONT (s->gc)->mac_style |
|
783439580869
(mac_draw_string_common): Remove arg MODE. New arg
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
68770
diff
changeset
|
2927 #endif |
|
783439580869
(mac_draw_string_common): Remove arg MODE. New arg
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
68770
diff
changeset
|
2928 ) |
|
66841
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
2929 #if USE_CG_TEXT_DRAWING |
|
69061
783439580869
(mac_draw_string_common): Remove arg MODE. New arg
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
68770
diff
changeset
|
2930 if (!s->two_byte_p |
|
783439580869
(mac_draw_string_common): Remove arg MODE. New arg
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
68770
diff
changeset
|
2931 && mac_draw_image_string_cg (s->f, s->gc, x, s->ybase - boff, |
|
73298
d16326a96180
(mac_draw_image_string, mac_draw_image_string_16): Add
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73133
diff
changeset
|
2932 s->char2b, s->nchars, bg_width, |
|
d16326a96180
(mac_draw_image_string, mac_draw_image_string_16): Add
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73133
diff
changeset
|
2933 s->face->overstrike)) |
|
69061
783439580869
(mac_draw_string_common): Remove arg MODE. New arg
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
68770
diff
changeset
|
2934 ; |
|
783439580869
(mac_draw_string_common): Remove arg MODE. New arg
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
68770
diff
changeset
|
2935 else |
|
783439580869
(mac_draw_string_common): Remove arg MODE. New arg
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
68770
diff
changeset
|
2936 #endif |
|
783439580869
(mac_draw_string_common): Remove arg MODE. New arg
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
68770
diff
changeset
|
2937 mac_draw_image_string_16 (s->f, s->gc, x, s->ybase - boff, |
|
73298
d16326a96180
(mac_draw_image_string, mac_draw_image_string_16): Add
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73133
diff
changeset
|
2938 s->char2b, s->nchars, bg_width, |
|
d16326a96180
(mac_draw_image_string, mac_draw_image_string_16): Add
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73133
diff
changeset
|
2939 s->face->overstrike); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2940 else |
|
69061
783439580869
(mac_draw_string_common): Remove arg MODE. New arg
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
68770
diff
changeset
|
2941 mac_draw_image_string (s->f, s->gc, x, s->ybase - boff, |
|
73298
d16326a96180
(mac_draw_image_string, mac_draw_image_string_16): Add
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73133
diff
changeset
|
2942 char1b, s->nchars, bg_width, |
|
d16326a96180
(mac_draw_image_string, mac_draw_image_string_16): Add
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73133
diff
changeset
|
2943 s->face->overstrike); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2944 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2945 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2946 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2947 /* Draw the foreground of composite glyph string S. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2948 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2949 static void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2950 x_draw_composite_glyph_string_foreground (s) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2951 struct glyph_string *s; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2952 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2953 int i, x; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2954 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2955 /* If first glyph of S has a left box line, start drawing the text |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2956 of S to the right of that box line. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2957 if (s->face->box != FACE_NO_BOX |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2958 && s->first_glyph->left_box_line_p) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2959 x = s->x + abs (s->face->box_line_width); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2960 else |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2961 x = s->x; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2962 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2963 /* S is a glyph string for a composition. S->gidx is the index of |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2964 the first character drawn for glyphs of this composition. |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2965 S->gidx == 0 means we are drawing the very first character of |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2966 this composition. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2967 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2968 /* Draw a rectangle for the composition if the font for the very |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2969 first character of the composition could not be loaded. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2970 if (s->font_not_found_p) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2971 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2972 if (s->gidx == 0) |
|
66110
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
2973 mac_draw_rectangle (s->f, s->gc, x, s->y, |
|
69433
a8fd29f179b0
(mac_draw_rectangle, x_draw_glyph_string_foreground)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69369
diff
changeset
|
2974 s->width - 1, s->height - 1); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2975 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2976 else |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2977 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2978 for (i = 0; i < s->nchars; i++, ++s->gidx) |
|
78681
1c0e611785d0
(x_draw_composite_glyph_string_foreground): Draw rectangle
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
78501
diff
changeset
|
2979 if (mac_per_char_metric (GC_FONT (s->gc), s->char2b + i, 0) == NULL) |
|
1c0e611785d0
(x_draw_composite_glyph_string_foreground): Draw rectangle
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
78501
diff
changeset
|
2980 /* This is a nonexistent or zero-width glyph such as a |
|
1c0e611785d0
(x_draw_composite_glyph_string_foreground): Draw rectangle
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
78501
diff
changeset
|
2981 combining diacritic. Draw a rectangle. */ |
|
1c0e611785d0
(x_draw_composite_glyph_string_foreground): Draw rectangle
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
78501
diff
changeset
|
2982 mac_draw_rectangle (s->f, s->gc, |
|
1c0e611785d0
(x_draw_composite_glyph_string_foreground): Draw rectangle
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
78501
diff
changeset
|
2983 x + s->cmp->offsets[s->gidx * 2], s->y, |
|
1c0e611785d0
(x_draw_composite_glyph_string_foreground): Draw rectangle
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
78501
diff
changeset
|
2984 FONT_WIDTH (GC_FONT (s->gc)) - 1, s->height - 1); |
|
1c0e611785d0
(x_draw_composite_glyph_string_foreground): Draw rectangle
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
78501
diff
changeset
|
2985 else |
|
1c0e611785d0
(x_draw_composite_glyph_string_foreground): Draw rectangle
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
78501
diff
changeset
|
2986 mac_draw_image_string_16 (s->f, s->gc, |
|
1c0e611785d0
(x_draw_composite_glyph_string_foreground): Draw rectangle
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
78501
diff
changeset
|
2987 x + s->cmp->offsets[s->gidx * 2], |
|
1c0e611785d0
(x_draw_composite_glyph_string_foreground): Draw rectangle
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
78501
diff
changeset
|
2988 s->ybase - s->cmp->offsets[s->gidx * 2 + 1], |
|
1c0e611785d0
(x_draw_composite_glyph_string_foreground): Draw rectangle
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
78501
diff
changeset
|
2989 s->char2b + i, 1, 0, s->face->overstrike); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2990 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2991 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2992 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2993 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2994 #ifdef USE_X_TOOLKIT |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2995 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2996 static struct frame *x_frame_of_widget P_ ((Widget)); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2997 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2998 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
2999 /* Return the frame on which widget WIDGET is used.. Abort if frame |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3000 cannot be determined. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3001 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3002 static struct frame * |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3003 x_frame_of_widget (widget) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3004 Widget widget; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3005 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3006 struct x_display_info *dpyinfo; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3007 Lisp_Object tail; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3008 struct frame *f; |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
3009 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3010 dpyinfo = x_display_info_for_display (XtDisplay (widget)); |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
3011 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3012 /* Find the top-level shell of the widget. Note that this function |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3013 can be called when the widget is not yet realized, so XtWindow |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3014 (widget) == 0. That's the reason we can't simply use |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3015 x_any_window_to_frame. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3016 while (!XtIsTopLevelShell (widget)) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3017 widget = XtParent (widget); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3018 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3019 /* Look for a frame with that top-level widget. Allocate the color |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3020 on that frame to get the right gamma correction value. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3021 for (tail = Vframe_list; GC_CONSP (tail); tail = XCDR (tail)) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3022 if (GC_FRAMEP (XCAR (tail)) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3023 && (f = XFRAME (XCAR (tail)), |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3024 (f->output_data.nothing != 1 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3025 && FRAME_X_DISPLAY_INFO (f) == dpyinfo)) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3026 && f->output_data.x->widget == widget) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3027 return f; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3028 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3029 abort (); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3030 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3031 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3032 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3033 /* Allocate the color COLOR->pixel on the screen and display of |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3034 widget WIDGET in colormap CMAP. If an exact match cannot be |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3035 allocated, try the nearest color available. Value is non-zero |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3036 if successful. This is called from lwlib. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3037 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3038 int |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3039 x_alloc_nearest_color_for_widget (widget, cmap, color) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3040 Widget widget; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3041 Colormap cmap; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3042 XColor *color; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3043 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3044 struct frame *f = x_frame_of_widget (widget); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3045 return x_alloc_nearest_color (f, cmap, color); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3046 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3047 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3048 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3049 #endif /* USE_X_TOOLKIT */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3050 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3051 #if 0 /* MAC_TODO */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3052 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3053 /* Allocate the color COLOR->pixel on SCREEN of DISPLAY, colormap |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3054 CMAP. If an exact match can't be allocated, try the nearest color |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3055 available. Value is non-zero if successful. Set *COLOR to the |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3056 color allocated. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3057 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3058 int |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3059 x_alloc_nearest_color (f, cmap, color) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3060 struct frame *f; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3061 Colormap cmap; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3062 XColor *color; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3063 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3064 Display *display = FRAME_X_DISPLAY (f); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3065 Screen *screen = FRAME_X_SCREEN (f); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3066 int rc; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3067 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3068 gamma_correct (f, color); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3069 rc = XAllocColor (display, cmap, color); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3070 if (rc == 0) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3071 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3072 /* If we got to this point, the colormap is full, so we're going |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3073 to try to get the next closest color. The algorithm used is |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3074 a least-squares matching, which is what X uses for closest |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3075 color matching with StaticColor visuals. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3076 int nearest, i; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3077 unsigned long nearest_delta = ~0; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3078 int ncells = XDisplayCells (display, XScreenNumberOfScreen (screen)); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3079 XColor *cells = (XColor *) alloca (ncells * sizeof *cells); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3080 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3081 for (i = 0; i < ncells; ++i) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3082 cells[i].pixel = i; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3083 XQueryColors (display, cmap, cells, ncells); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3084 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3085 for (nearest = i = 0; i < ncells; ++i) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3086 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3087 long dred = (color->red >> 8) - (cells[i].red >> 8); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3088 long dgreen = (color->green >> 8) - (cells[i].green >> 8); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3089 long dblue = (color->blue >> 8) - (cells[i].blue >> 8); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3090 unsigned long delta = dred * dred + dgreen * dgreen + dblue * dblue; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3091 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3092 if (delta < nearest_delta) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3093 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3094 nearest = i; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3095 nearest_delta = delta; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3096 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3097 } |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
3098 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3099 color->red = cells[nearest].red; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3100 color->green = cells[nearest].green; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3101 color->blue = cells[nearest].blue; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3102 rc = XAllocColor (display, cmap, color); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3103 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3104 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3105 #ifdef DEBUG_X_COLORS |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3106 if (rc) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3107 register_color (color->pixel); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3108 #endif /* DEBUG_X_COLORS */ |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
3109 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3110 return rc; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3111 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3112 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3113 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3114 /* Allocate color PIXEL on frame F. PIXEL must already be allocated. |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3115 It's necessary to do this instead of just using PIXEL directly to |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3116 get color reference counts right. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3117 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3118 unsigned long |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3119 x_copy_color (f, pixel) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3120 struct frame *f; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3121 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
|
3122 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3123 XColor color; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3124 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3125 color.pixel = pixel; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3126 BLOCK_INPUT; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3127 XQueryColor (FRAME_X_DISPLAY (f), FRAME_X_COLORMAP (f), &color); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3128 XAllocColor (FRAME_X_DISPLAY (f), FRAME_X_COLORMAP (f), &color); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3129 UNBLOCK_INPUT; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3130 #ifdef DEBUG_X_COLORS |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3131 register_color (pixel); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3132 #endif |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3133 return color.pixel; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3134 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3135 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3136 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3137 /* Allocate color PIXEL on display DPY. PIXEL must already be allocated. |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3138 It's necessary to do this instead of just using PIXEL directly to |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3139 get color reference counts right. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3140 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3141 unsigned long |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3142 x_copy_dpy_color (dpy, cmap, pixel) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3143 Display *dpy; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3144 Colormap cmap; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3145 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
|
3146 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3147 XColor color; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3148 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3149 color.pixel = pixel; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3150 BLOCK_INPUT; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3151 XQueryColor (dpy, cmap, &color); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3152 XAllocColor (dpy, cmap, &color); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3153 UNBLOCK_INPUT; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3154 #ifdef DEBUG_X_COLORS |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3155 register_color (pixel); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3156 #endif |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3157 return color.pixel; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3158 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3159 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3160 #endif /* MAC_TODO */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3161 |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
3162 |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
3163 /* Brightness beyond which a color won't have its highlight brightness |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
3164 boosted. |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
3165 |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
3166 Nominally, highlight colors for `3d' faces are calculated by |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
3167 brightening an object's color by a constant scale factor, but this |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
3168 doesn't yield good results for dark colors, so for colors who's |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
3169 brightness is less than this value (on a scale of 0-255) have to |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
3170 use an additional additive factor. |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
3171 |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
3172 The value here is set so that the default menu-bar/mode-line color |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
3173 (grey75) will not have its highlights changed at all. */ |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
3174 #define HIGHLIGHT_COLOR_DARK_BOOST_LIMIT 187 |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
3175 |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
3176 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3177 /* Allocate a color which is lighter or darker than *COLOR by FACTOR |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3178 or DELTA. Try a color with RGB values multiplied by FACTOR first. |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3179 If this produces the same color as COLOR, try a color where all RGB |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3180 values have DELTA added. Return the allocated color in *COLOR. |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3181 DISPLAY is the X display, CMAP is the colormap to operate on. |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3182 Value is non-zero if successful. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3183 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3184 static int |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3185 mac_alloc_lighter_color (f, color, factor, delta) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3186 struct frame *f; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3187 unsigned long *color; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3188 double factor; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3189 int delta; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3190 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3191 unsigned long new; |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
3192 long bright; |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
3193 |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
3194 /* On Mac, RGB values are 0-255, not 0-65535, so scale delta. */ |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
3195 delta /= 256; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3196 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3197 /* Change RGB values by specified FACTOR. Avoid overflow! */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3198 xassert (factor >= 0); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3199 new = RGB_TO_ULONG (min (0xff, (int) (factor * RED_FROM_ULONG (*color))), |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3200 min (0xff, (int) (factor * GREEN_FROM_ULONG (*color))), |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3201 min (0xff, (int) (factor * BLUE_FROM_ULONG (*color)))); |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
3202 |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
3203 /* Calculate brightness of COLOR. */ |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
3204 bright = (2 * RED_FROM_ULONG (*color) + 3 * GREEN_FROM_ULONG (*color) |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
3205 + BLUE_FROM_ULONG (*color)) / 6; |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
3206 |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
3207 /* We only boost colors that are darker than |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
3208 HIGHLIGHT_COLOR_DARK_BOOST_LIMIT. */ |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
3209 if (bright < HIGHLIGHT_COLOR_DARK_BOOST_LIMIT) |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
3210 /* Make an additive adjustment to NEW, because it's dark enough so |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
3211 that scaling by FACTOR alone isn't enough. */ |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
3212 { |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
3213 /* How far below the limit this color is (0 - 1, 1 being darker). */ |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
3214 double dimness = 1 - (double)bright / HIGHLIGHT_COLOR_DARK_BOOST_LIMIT; |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
3215 /* The additive adjustment. */ |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
3216 int min_delta = delta * dimness * factor / 2; |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
3217 |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
3218 if (factor < 1) |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
3219 new = RGB_TO_ULONG (max (0, min (0xff, (int) (RED_FROM_ULONG (*color)) - min_delta)), |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
3220 max (0, min (0xff, (int) (GREEN_FROM_ULONG (*color)) - min_delta)), |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
3221 max (0, min (0xff, (int) (BLUE_FROM_ULONG (*color)) - min_delta))); |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
3222 else |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
3223 new = RGB_TO_ULONG (max (0, min (0xff, (int) (min_delta + RED_FROM_ULONG (*color)))), |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
3224 max (0, min (0xff, (int) (min_delta + GREEN_FROM_ULONG (*color)))), |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
3225 max (0, min (0xff, (int) (min_delta + BLUE_FROM_ULONG (*color))))); |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
3226 } |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
3227 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3228 if (new == *color) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3229 new = RGB_TO_ULONG (max (0, min (0xff, (int) (delta + RED_FROM_ULONG (*color)))), |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3230 max (0, min (0xff, (int) (delta + GREEN_FROM_ULONG (*color)))), |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3231 max (0, min (0xff, (int) (delta + BLUE_FROM_ULONG (*color))))); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3232 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3233 /* MAC_TODO: Map to palette and retry with delta if same? */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3234 /* MAC_TODO: Free colors (if using palette)? */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3235 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3236 if (new == *color) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3237 return 0; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3238 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3239 *color = new; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3240 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3241 return 1; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3242 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3243 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3244 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3245 /* Set up the foreground color for drawing relief lines of glyph |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3246 string S. RELIEF is a pointer to a struct relief containing the GC |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3247 with which lines will be drawn. Use a color that is FACTOR or |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3248 DELTA lighter or darker than the relief's background which is found |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3249 in S->f->output_data.x->relief_background. If such a color cannot |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3250 be allocated, use DEFAULT_PIXEL, instead. */ |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
3251 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3252 static void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3253 x_setup_relief_color (f, relief, factor, delta, default_pixel) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3254 struct frame *f; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3255 struct relief *relief; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3256 double factor; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3257 int delta; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3258 unsigned long default_pixel; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3259 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3260 XGCValues xgcv; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3261 struct mac_output *di = f->output_data.mac; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3262 unsigned long mask = GCForeground; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3263 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
|
3264 unsigned long background = di->relief_background; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3265 struct mac_display_info *dpyinfo = FRAME_MAC_DISPLAY_INFO (f); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3266 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3267 /* MAC_TODO: Free colors (if using palette)? */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3268 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3269 /* Allocate new color. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3270 xgcv.foreground = default_pixel; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3271 pixel = background; |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
3272 if (dpyinfo->n_planes != 1 |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
3273 && mac_alloc_lighter_color (f, &pixel, factor, delta)) |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3274 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3275 relief->allocated_p = 1; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3276 xgcv.foreground = relief->pixel = pixel; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3277 } |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
3278 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3279 if (relief->gc == 0) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3280 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3281 #if 0 /* MAC_TODO: stipple */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3282 xgcv.stipple = dpyinfo->gray; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3283 mask |= GCStipple; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3284 #endif |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3285 relief->gc = XCreateGC (NULL, FRAME_MAC_WINDOW (f), mask, &xgcv); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3286 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3287 else |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3288 XChangeGC (NULL, relief->gc, mask, &xgcv); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3289 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3290 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3291 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3292 /* Set up colors for the relief lines around glyph string S. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3293 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3294 static void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3295 x_setup_relief_colors (s) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3296 struct glyph_string *s; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3297 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3298 struct mac_output *di = s->f->output_data.mac; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3299 unsigned long color; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3300 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3301 if (s->face->use_box_color_for_shadows_p) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3302 color = s->face->box_color; |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
3303 else if (s->first_glyph->type == IMAGE_GLYPH |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
3304 && s->img->pixmap |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
3305 && !IMAGE_BACKGROUND_TRANSPARENT (s->img, s->f, 0)) |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
3306 color = IMAGE_BACKGROUND (s->img, s->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
|
3307 else |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3308 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3309 XGCValues xgcv; |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
3310 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3311 /* Get the background color of the face. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3312 XGetGCValues (s->display, s->gc, GCBackground, &xgcv); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3313 color = xgcv.background; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3314 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3315 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3316 if (di->white_relief.gc == 0 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3317 || color != di->relief_background) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3318 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3319 di->relief_background = color; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3320 x_setup_relief_color (s->f, &di->white_relief, 1.2, 0x8000, |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3321 WHITE_PIX_DEFAULT (s->f)); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3322 x_setup_relief_color (s->f, &di->black_relief, 0.6, 0x4000, |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3323 BLACK_PIX_DEFAULT (s->f)); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3324 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3325 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3326 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3327 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3328 /* Draw a relief on frame F inside the rectangle given by LEFT_X, |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3329 TOP_Y, RIGHT_X, and BOTTOM_Y. WIDTH is the thickness of the relief |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3330 to draw, it must be >= 0. RAISED_P non-zero means draw a raised |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3331 relief. LEFT_P non-zero means draw a relief on the left side of |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3332 the rectangle. RIGHT_P non-zero means draw a relief on the right |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3333 side of the rectangle. CLIP_RECT is the clipping rectangle to use |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3334 when drawing. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3335 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3336 static void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3337 x_draw_relief_rect (f, left_x, top_y, right_x, bottom_y, width, |
|
55025
5cbecea4d4ad
(x_draw_relief_rect): Add top_p and bot_p args.
Kim F. Storm <storm@cua.dk>
parents:
54366
diff
changeset
|
3338 raised_p, top_p, bot_p, left_p, right_p, clip_rect) |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3339 struct frame *f; |
|
55025
5cbecea4d4ad
(x_draw_relief_rect): Add top_p and bot_p args.
Kim F. Storm <storm@cua.dk>
parents:
54366
diff
changeset
|
3340 int left_x, top_y, right_x, bottom_y, width; |
|
5cbecea4d4ad
(x_draw_relief_rect): Add top_p and bot_p args.
Kim F. Storm <storm@cua.dk>
parents:
54366
diff
changeset
|
3341 int top_p, bot_p, left_p, right_p, raised_p; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3342 Rect *clip_rect; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3343 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3344 int i; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3345 GC gc; |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
3346 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3347 if (raised_p) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3348 gc = f->output_data.mac->white_relief.gc; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3349 else |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3350 gc = f->output_data.mac->black_relief.gc; |
|
80515
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
3351 mac_set_clip_rectangles (f, gc, clip_rect, 1); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3352 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3353 /* Top. */ |
|
55025
5cbecea4d4ad
(x_draw_relief_rect): Add top_p and bot_p args.
Kim F. Storm <storm@cua.dk>
parents:
54366
diff
changeset
|
3354 if (top_p) |
|
5cbecea4d4ad
(x_draw_relief_rect): Add top_p and bot_p args.
Kim F. Storm <storm@cua.dk>
parents:
54366
diff
changeset
|
3355 for (i = 0; i < width; ++i) |
|
66110
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
3356 mac_draw_line (f, gc, |
|
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
3357 left_x + i * left_p, top_y + i, |
|
70304
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
3358 right_x + 1 - i * right_p, top_y + i); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3359 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3360 /* Left. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3361 if (left_p) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3362 for (i = 0; i < width; ++i) |
|
66110
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
3363 mac_draw_line (f, gc, |
|
70304
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
3364 left_x + i, top_y + i, left_x + i, bottom_y - i + 1); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3365 |
|
80515
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
3366 mac_reset_clip_rectangles (f, gc); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3367 if (raised_p) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3368 gc = f->output_data.mac->black_relief.gc; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3369 else |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3370 gc = f->output_data.mac->white_relief.gc; |
|
80515
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
3371 mac_set_clip_rectangles (f, gc, clip_rect, 1); |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
3372 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3373 /* Bottom. */ |
|
55025
5cbecea4d4ad
(x_draw_relief_rect): Add top_p and bot_p args.
Kim F. Storm <storm@cua.dk>
parents:
54366
diff
changeset
|
3374 if (bot_p) |
|
5cbecea4d4ad
(x_draw_relief_rect): Add top_p and bot_p args.
Kim F. Storm <storm@cua.dk>
parents:
54366
diff
changeset
|
3375 for (i = 0; i < width; ++i) |
|
66110
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
3376 mac_draw_line (f, gc, |
|
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
3377 left_x + i * left_p, bottom_y - i, |
|
70304
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
3378 right_x + 1 - i * right_p, bottom_y - i); |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
3379 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3380 /* Right. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3381 if (right_p) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3382 for (i = 0; i < width; ++i) |
|
66110
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
3383 mac_draw_line (f, gc, |
|
70304
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
3384 right_x - i, top_y + i + 1, right_x - i, bottom_y - i); |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
3385 |
|
80515
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
3386 mac_reset_clip_rectangles (f, gc); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3387 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3388 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3389 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3390 /* Draw a box on frame F inside the rectangle given by LEFT_X, TOP_Y, |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3391 RIGHT_X, and BOTTOM_Y. WIDTH is the thickness of the lines to |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3392 draw, it must be >= 0. LEFT_P non-zero means draw a line on the |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3393 left side of the rectangle. RIGHT_P non-zero means draw a line |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3394 on the right side of the rectangle. CLIP_RECT is the clipping |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3395 rectangle to use when drawing. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3396 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3397 static void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3398 x_draw_box_rect (s, left_x, top_y, right_x, bottom_y, width, |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3399 left_p, right_p, clip_rect) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3400 struct glyph_string *s; |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
3401 int left_x, top_y, right_x, bottom_y, width, left_p, right_p; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3402 Rect *clip_rect; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3403 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3404 XGCValues xgcv; |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
3405 |
|
64424
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
3406 XGetGCValues (s->display, s->gc, GCForeground, &xgcv); |
|
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
3407 XSetForeground (s->display, s->gc, s->face->box_color); |
|
80515
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
3408 mac_set_clip_rectangles (s->f, s->gc, clip_rect, 1); |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
3409 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3410 /* Top. */ |
|
66110
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
3411 mac_fill_rectangle (s->f, s->gc, left_x, top_y, |
|
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
3412 right_x - left_x + 1, width); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3413 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3414 /* Left. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3415 if (left_p) |
|
66110
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
3416 mac_fill_rectangle (s->f, s->gc, left_x, top_y, |
|
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
3417 width, bottom_y - top_y + 1); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3418 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3419 /* Bottom. */ |
|
66110
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
3420 mac_fill_rectangle (s->f, s->gc, left_x, bottom_y - width + 1, |
|
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
3421 right_x - left_x + 1, width); |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
3422 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3423 /* Right. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3424 if (right_p) |
|
66110
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
3425 mac_fill_rectangle (s->f, s->gc, right_x - width + 1, |
|
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
3426 top_y, width, bottom_y - top_y + 1); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3427 |
|
64424
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
3428 XSetForeground (s->display, s->gc, xgcv.foreground); |
|
80515
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
3429 mac_reset_clip_rectangles (s->f, s->gc); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3430 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3431 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3432 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3433 /* Draw a box around glyph string S. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3434 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3435 static void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3436 x_draw_glyph_string_box (s) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3437 struct glyph_string *s; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3438 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3439 int width, left_x, right_x, top_y, bottom_y, last_x, raised_p; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3440 int left_p, right_p; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3441 struct glyph *last_glyph; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3442 Rect clip_rect; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3443 |
|
59655
369714ad80ed
(x_draw_glyph_string_box): Fix last_x for full width rows.
Kim F. Storm <storm@cua.dk>
parents:
59586
diff
changeset
|
3444 last_x = ((s->row->full_width_p && !s->w->pseudo_window_p) |
|
369714ad80ed
(x_draw_glyph_string_box): Fix last_x for full width rows.
Kim F. Storm <storm@cua.dk>
parents:
59586
diff
changeset
|
3445 ? WINDOW_RIGHT_EDGE_X (s->w) |
|
369714ad80ed
(x_draw_glyph_string_box): Fix last_x for full width rows.
Kim F. Storm <storm@cua.dk>
parents:
59586
diff
changeset
|
3446 : window_box_right (s->w, s->area)); |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
3447 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3448 /* The glyph that may have a right box line. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3449 last_glyph = (s->cmp || s->img |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3450 ? s->first_glyph |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3451 : s->first_glyph + s->nchars - 1); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3452 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3453 width = abs (s->face->box_line_width); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3454 raised_p = s->face->box == FACE_RAISED_BOX; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3455 left_x = s->x; |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
3456 right_x = (s->row->full_width_p && s->extends_to_end_of_line_p |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
3457 ? last_x - 1 |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
3458 : min (last_x, s->x + s->background_width) - 1); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3459 top_y = s->y; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3460 bottom_y = top_y + s->height - 1; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3461 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3462 left_p = (s->first_glyph->left_box_line_p |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3463 || (s->hl == DRAW_MOUSE_FACE |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3464 && (s->prev == NULL |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3465 || s->prev->hl != s->hl))); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3466 right_p = (last_glyph->right_box_line_p |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3467 || (s->hl == DRAW_MOUSE_FACE |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3468 && (s->next == NULL |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3469 || s->next->hl != s->hl))); |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
3470 |
|
50222
90e10bfd8bfa
* macterm.c: Remove consolidated defines and code.
Kim F. Storm <storm@cua.dk>
parents:
50157
diff
changeset
|
3471 get_glyph_string_clip_rect (s, &clip_rect); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3472 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3473 if (s->face->box == FACE_SIMPLE_BOX) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3474 x_draw_box_rect (s, left_x, top_y, right_x, bottom_y, width, |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3475 left_p, right_p, &clip_rect); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3476 else |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3477 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3478 x_setup_relief_colors (s); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3479 x_draw_relief_rect (s->f, left_x, top_y, right_x, bottom_y, |
|
55025
5cbecea4d4ad
(x_draw_relief_rect): Add top_p and bot_p args.
Kim F. Storm <storm@cua.dk>
parents:
54366
diff
changeset
|
3480 width, raised_p, 1, 1, left_p, right_p, &clip_rect); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3481 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3482 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3483 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3484 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3485 /* Draw foreground of image glyph string S. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3486 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3487 static void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3488 x_draw_image_foreground (s) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3489 struct glyph_string *s; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3490 { |
|
55025
5cbecea4d4ad
(x_draw_relief_rect): Add top_p and bot_p args.
Kim F. Storm <storm@cua.dk>
parents:
54366
diff
changeset
|
3491 int x = s->x; |
|
5cbecea4d4ad
(x_draw_relief_rect): Add top_p and bot_p args.
Kim F. Storm <storm@cua.dk>
parents:
54366
diff
changeset
|
3492 int y = s->ybase - image_ascent (s->img, s->face, &s->slice); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3493 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3494 /* If first glyph of S has a left box line, start drawing it to the |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3495 right of that line. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3496 if (s->face->box != FACE_NO_BOX |
|
55025
5cbecea4d4ad
(x_draw_relief_rect): Add top_p and bot_p args.
Kim F. Storm <storm@cua.dk>
parents:
54366
diff
changeset
|
3497 && s->first_glyph->left_box_line_p |
|
5cbecea4d4ad
(x_draw_relief_rect): Add top_p and bot_p args.
Kim F. Storm <storm@cua.dk>
parents:
54366
diff
changeset
|
3498 && s->slice.x == 0) |
|
5cbecea4d4ad
(x_draw_relief_rect): Add top_p and bot_p args.
Kim F. Storm <storm@cua.dk>
parents:
54366
diff
changeset
|
3499 x += abs (s->face->box_line_width); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3500 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3501 /* If there is a margin around the image, adjust x- and y-position |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3502 by that margin. */ |
|
55025
5cbecea4d4ad
(x_draw_relief_rect): Add top_p and bot_p args.
Kim F. Storm <storm@cua.dk>
parents:
54366
diff
changeset
|
3503 if (s->slice.x == 0) |
|
5cbecea4d4ad
(x_draw_relief_rect): Add top_p and bot_p args.
Kim F. Storm <storm@cua.dk>
parents:
54366
diff
changeset
|
3504 x += s->img->hmargin; |
|
5cbecea4d4ad
(x_draw_relief_rect): Add top_p and bot_p args.
Kim F. Storm <storm@cua.dk>
parents:
54366
diff
changeset
|
3505 if (s->slice.y == 0) |
|
5cbecea4d4ad
(x_draw_relief_rect): Add top_p and bot_p args.
Kim F. Storm <storm@cua.dk>
parents:
54366
diff
changeset
|
3506 y += s->img->vmargin; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3507 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3508 if (s->img->pixmap) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3509 { |
|
58634
95d38c47c806
* keyboard.c: Don't undef SIGIO
Steven Tamm <steventamm@mac.com>
parents:
58403
diff
changeset
|
3510 x_set_glyph_string_clipping (s); |
|
95d38c47c806
* keyboard.c: Don't undef SIGIO
Steven Tamm <steventamm@mac.com>
parents:
58403
diff
changeset
|
3511 |
|
69512
eafd737138ea
(XCreatePixmap) [!WORDS_BIG_ENDIAN && USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69488
diff
changeset
|
3512 #if USE_CG_DRAWING |
|
eafd737138ea
(XCreatePixmap) [!WORDS_BIG_ENDIAN && USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69488
diff
changeset
|
3513 mac_draw_cg_image (s->img->data.ptr_val, |
|
eafd737138ea
(XCreatePixmap) [!WORDS_BIG_ENDIAN && USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69488
diff
changeset
|
3514 s->f, s->gc, s->slice.x, s->slice.y, |
|
eafd737138ea
(XCreatePixmap) [!WORDS_BIG_ENDIAN && USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69488
diff
changeset
|
3515 s->slice.width, s->slice.height, x, y, 1); |
|
eafd737138ea
(XCreatePixmap) [!WORDS_BIG_ENDIAN && USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69488
diff
changeset
|
3516 #endif |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3517 if (s->img->mask) |
|
69512
eafd737138ea
(XCreatePixmap) [!WORDS_BIG_ENDIAN && USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69488
diff
changeset
|
3518 #if !USE_CG_DRAWING |
|
66110
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
3519 mac_copy_area_with_mask (s->img->pixmap, s->img->mask, |
|
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
3520 s->f, s->gc, s->slice.x, s->slice.y, |
|
58634
95d38c47c806
* keyboard.c: Don't undef SIGIO
Steven Tamm <steventamm@mac.com>
parents:
58403
diff
changeset
|
3521 s->slice.width, s->slice.height, x, y); |
|
69512
eafd737138ea
(XCreatePixmap) [!WORDS_BIG_ENDIAN && USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69488
diff
changeset
|
3522 #else |
|
eafd737138ea
(XCreatePixmap) [!WORDS_BIG_ENDIAN && USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69488
diff
changeset
|
3523 ; |
|
eafd737138ea
(XCreatePixmap) [!WORDS_BIG_ENDIAN && USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69488
diff
changeset
|
3524 #endif |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3525 else |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3526 { |
|
69512
eafd737138ea
(XCreatePixmap) [!WORDS_BIG_ENDIAN && USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69488
diff
changeset
|
3527 #if !USE_CG_DRAWING |
|
66110
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
3528 mac_copy_area (s->img->pixmap, |
|
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
3529 s->f, s->gc, s->slice.x, s->slice.y, |
|
58634
95d38c47c806
* keyboard.c: Don't undef SIGIO
Steven Tamm <steventamm@mac.com>
parents:
58403
diff
changeset
|
3530 s->slice.width, s->slice.height, x, y); |
|
69512
eafd737138ea
(XCreatePixmap) [!WORDS_BIG_ENDIAN && USE_CG_DRAWING]:
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69488
diff
changeset
|
3531 #endif |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
3532 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3533 /* When the image has a mask, we can expect that at |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3534 least part of a mouse highlight or a block cursor will |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3535 be visible. If the image doesn't have a mask, make |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3536 a block cursor visible by drawing a rectangle around |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3537 the image. I believe it's looking better if we do |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3538 nothing here for mouse-face. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3539 if (s->hl == DRAW_CURSOR) |
|
45197
0b6da8b7d7ac
(x_draw_image_foreground, x_draw_image_foreground_1):
Kim F. Storm <storm@cua.dk>
parents:
45111
diff
changeset
|
3540 { |
|
0b6da8b7d7ac
(x_draw_image_foreground, x_draw_image_foreground_1):
Kim F. Storm <storm@cua.dk>
parents:
45111
diff
changeset
|
3541 int r = s->img->relief; |
|
0b6da8b7d7ac
(x_draw_image_foreground, x_draw_image_foreground_1):
Kim F. Storm <storm@cua.dk>
parents:
45111
diff
changeset
|
3542 if (r < 0) r = -r; |
|
66110
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
3543 mac_draw_rectangle (s->f, s->gc, x - r, y - r, |
|
69433
a8fd29f179b0
(mac_draw_rectangle, x_draw_glyph_string_foreground)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69369
diff
changeset
|
3544 s->slice.width + r*2 - 1, |
|
a8fd29f179b0
(mac_draw_rectangle, x_draw_glyph_string_foreground)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69369
diff
changeset
|
3545 s->slice.height + r*2 - 1); |
|
45197
0b6da8b7d7ac
(x_draw_image_foreground, x_draw_image_foreground_1):
Kim F. Storm <storm@cua.dk>
parents:
45111
diff
changeset
|
3546 } |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3547 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3548 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3549 else |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3550 /* Draw a rectangle if image could not be loaded. */ |
|
66110
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
3551 mac_draw_rectangle (s->f, s->gc, x, y, |
|
69433
a8fd29f179b0
(mac_draw_rectangle, x_draw_glyph_string_foreground)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69369
diff
changeset
|
3552 s->slice.width - 1, s->slice.height - 1); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3553 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3554 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3555 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3556 /* Draw a relief around the image glyph string S. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3557 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3558 static void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3559 x_draw_image_relief (s) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3560 struct glyph_string *s; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3561 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3562 int x0, y0, x1, y1, thick, raised_p; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3563 Rect r; |
|
55025
5cbecea4d4ad
(x_draw_relief_rect): Add top_p and bot_p args.
Kim F. Storm <storm@cua.dk>
parents:
54366
diff
changeset
|
3564 int x = s->x; |
|
5cbecea4d4ad
(x_draw_relief_rect): Add top_p and bot_p args.
Kim F. Storm <storm@cua.dk>
parents:
54366
diff
changeset
|
3565 int y = s->ybase - image_ascent (s->img, s->face, &s->slice); |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
3566 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3567 /* If first glyph of S has a left box line, start drawing it to the |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3568 right of that line. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3569 if (s->face->box != FACE_NO_BOX |
|
55025
5cbecea4d4ad
(x_draw_relief_rect): Add top_p and bot_p args.
Kim F. Storm <storm@cua.dk>
parents:
54366
diff
changeset
|
3570 && s->first_glyph->left_box_line_p |
|
5cbecea4d4ad
(x_draw_relief_rect): Add top_p and bot_p args.
Kim F. Storm <storm@cua.dk>
parents:
54366
diff
changeset
|
3571 && s->slice.x == 0) |
|
5cbecea4d4ad
(x_draw_relief_rect): Add top_p and bot_p args.
Kim F. Storm <storm@cua.dk>
parents:
54366
diff
changeset
|
3572 x += abs (s->face->box_line_width); |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
3573 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3574 /* If there is a margin around the image, adjust x- and y-position |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3575 by that margin. */ |
|
55025
5cbecea4d4ad
(x_draw_relief_rect): Add top_p and bot_p args.
Kim F. Storm <storm@cua.dk>
parents:
54366
diff
changeset
|
3576 if (s->slice.x == 0) |
|
5cbecea4d4ad
(x_draw_relief_rect): Add top_p and bot_p args.
Kim F. Storm <storm@cua.dk>
parents:
54366
diff
changeset
|
3577 x += s->img->hmargin; |
|
5cbecea4d4ad
(x_draw_relief_rect): Add top_p and bot_p args.
Kim F. Storm <storm@cua.dk>
parents:
54366
diff
changeset
|
3578 if (s->slice.y == 0) |
|
5cbecea4d4ad
(x_draw_relief_rect): Add top_p and bot_p args.
Kim F. Storm <storm@cua.dk>
parents:
54366
diff
changeset
|
3579 y += s->img->vmargin; |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
3580 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3581 if (s->hl == DRAW_IMAGE_SUNKEN |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3582 || s->hl == DRAW_IMAGE_RAISED) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3583 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3584 thick = tool_bar_button_relief >= 0 ? tool_bar_button_relief : DEFAULT_TOOL_BAR_BUTTON_RELIEF; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3585 raised_p = s->hl == DRAW_IMAGE_RAISED; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3586 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3587 else |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3588 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3589 thick = abs (s->img->relief); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3590 raised_p = s->img->relief > 0; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3591 } |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
3592 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3593 x0 = x - thick; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3594 y0 = y - thick; |
|
55025
5cbecea4d4ad
(x_draw_relief_rect): Add top_p and bot_p args.
Kim F. Storm <storm@cua.dk>
parents:
54366
diff
changeset
|
3595 x1 = x + s->slice.width + thick - 1; |
|
5cbecea4d4ad
(x_draw_relief_rect): Add top_p and bot_p args.
Kim F. Storm <storm@cua.dk>
parents:
54366
diff
changeset
|
3596 y1 = y + s->slice.height + thick - 1; |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
3597 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3598 x_setup_relief_colors (s); |
|
50222
90e10bfd8bfa
* macterm.c: Remove consolidated defines and code.
Kim F. Storm <storm@cua.dk>
parents:
50157
diff
changeset
|
3599 get_glyph_string_clip_rect (s, &r); |
|
55025
5cbecea4d4ad
(x_draw_relief_rect): Add top_p and bot_p args.
Kim F. Storm <storm@cua.dk>
parents:
54366
diff
changeset
|
3600 x_draw_relief_rect (s->f, x0, y0, x1, y1, thick, raised_p, |
|
5cbecea4d4ad
(x_draw_relief_rect): Add top_p and bot_p args.
Kim F. Storm <storm@cua.dk>
parents:
54366
diff
changeset
|
3601 s->slice.y == 0, |
|
5cbecea4d4ad
(x_draw_relief_rect): Add top_p and bot_p args.
Kim F. Storm <storm@cua.dk>
parents:
54366
diff
changeset
|
3602 s->slice.y + s->slice.height == s->img->height, |
|
5cbecea4d4ad
(x_draw_relief_rect): Add top_p and bot_p args.
Kim F. Storm <storm@cua.dk>
parents:
54366
diff
changeset
|
3603 s->slice.x == 0, |
|
5cbecea4d4ad
(x_draw_relief_rect): Add top_p and bot_p args.
Kim F. Storm <storm@cua.dk>
parents:
54366
diff
changeset
|
3604 s->slice.x + s->slice.width == s->img->width, |
|
5cbecea4d4ad
(x_draw_relief_rect): Add top_p and bot_p args.
Kim F. Storm <storm@cua.dk>
parents:
54366
diff
changeset
|
3605 &r); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3606 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3607 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3608 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3609 /* Draw part of the background of glyph string S. X, Y, W, and H |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3610 give the rectangle to draw. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3611 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3612 static void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3613 x_draw_glyph_string_bg_rect (s, x, y, w, h) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3614 struct glyph_string *s; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3615 int x, y, w, h; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3616 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3617 #if 0 /* MAC_TODO: stipple */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3618 if (s->stippled_p) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3619 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3620 /* Fill background with a stipple pattern. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3621 XSetFillStyle (s->display, s->gc, FillOpaqueStippled); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3622 XFillRectangle (s->display, s->window, s->gc, x, y, w, h); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3623 XSetFillStyle (s->display, s->gc, FillSolid); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3624 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3625 else |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3626 #endif /* MAC_TODO */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3627 x_clear_glyph_string_rect (s, x, y, w, h); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3628 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3629 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3630 |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
3631 /* Draw image glyph string S. |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3632 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3633 s->y |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3634 s->x +------------------------- |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3635 | s->face->box |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3636 | |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3637 | +------------------------- |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
3638 | | s->img->margin |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3639 | | |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3640 | | +------------------- |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3641 | | | the image |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3642 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3643 */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3644 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3645 static void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3646 x_draw_image_glyph_string (s) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3647 struct glyph_string *s; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3648 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3649 int x, y; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3650 int box_line_hwidth = abs (s->face->box_line_width); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3651 int box_line_vwidth = max (s->face->box_line_width, 0); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3652 int height; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3653 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3654 height = s->height - 2 * box_line_vwidth; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3655 |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
3656 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3657 /* Fill background with face under the image. Do it only if row is |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3658 taller than image or if image has a clip mask to reduce |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3659 flickering. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3660 s->stippled_p = s->face->stipple != 0; |
|
55025
5cbecea4d4ad
(x_draw_relief_rect): Add top_p and bot_p args.
Kim F. Storm <storm@cua.dk>
parents:
54366
diff
changeset
|
3661 if (height > s->slice.height |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3662 || s->img->hmargin |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3663 || s->img->vmargin |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3664 || s->img->mask |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3665 || s->img->pixmap == 0 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3666 || s->width != s->background_width) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3667 { |
|
55025
5cbecea4d4ad
(x_draw_relief_rect): Add top_p and bot_p args.
Kim F. Storm <storm@cua.dk>
parents:
54366
diff
changeset
|
3668 x = s->x; |
|
5cbecea4d4ad
(x_draw_relief_rect): Add top_p and bot_p args.
Kim F. Storm <storm@cua.dk>
parents:
54366
diff
changeset
|
3669 if (s->first_glyph->left_box_line_p |
|
5cbecea4d4ad
(x_draw_relief_rect): Add top_p and bot_p args.
Kim F. Storm <storm@cua.dk>
parents:
54366
diff
changeset
|
3670 && s->slice.x == 0) |
|
5cbecea4d4ad
(x_draw_relief_rect): Add top_p and bot_p args.
Kim F. Storm <storm@cua.dk>
parents:
54366
diff
changeset
|
3671 x += box_line_hwidth; |
|
5cbecea4d4ad
(x_draw_relief_rect): Add top_p and bot_p args.
Kim F. Storm <storm@cua.dk>
parents:
54366
diff
changeset
|
3672 |
|
5cbecea4d4ad
(x_draw_relief_rect): Add top_p and bot_p args.
Kim F. Storm <storm@cua.dk>
parents:
54366
diff
changeset
|
3673 y = s->y; |
|
5cbecea4d4ad
(x_draw_relief_rect): Add top_p and bot_p args.
Kim F. Storm <storm@cua.dk>
parents:
54366
diff
changeset
|
3674 if (s->slice.y == 0) |
|
5cbecea4d4ad
(x_draw_relief_rect): Add top_p and bot_p args.
Kim F. Storm <storm@cua.dk>
parents:
54366
diff
changeset
|
3675 y += box_line_vwidth; |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
3676 |
|
66110
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
3677 x_draw_glyph_string_bg_rect (s, x, y, s->background_width, height); |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
3678 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3679 s->background_filled_p = 1; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3680 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3681 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3682 /* Draw the foreground. */ |
|
66110
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
3683 x_draw_image_foreground (s); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3684 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3685 /* If we must draw a relief around the image, do it. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3686 if (s->img->relief |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3687 || s->hl == DRAW_IMAGE_RAISED |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3688 || s->hl == DRAW_IMAGE_SUNKEN) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3689 x_draw_image_relief (s); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3690 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3691 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3692 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3693 /* Draw stretch glyph string S. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3694 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3695 static void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3696 x_draw_stretch_glyph_string (s) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3697 struct glyph_string *s; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3698 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3699 xassert (s->first_glyph->type == STRETCH_GLYPH); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3700 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3701 if (s->hl == DRAW_CURSOR |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3702 && !x_stretch_cursor_p) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3703 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3704 /* If `x-stretch-block-cursor' is nil, don't draw a block cursor |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3705 as wide as the stretch glyph. */ |
|
71021
a86a3503e350
(x_draw_stretch_glyph_string): Fix problems with invisible
Kim F. Storm <storm@cua.dk>
parents:
70874
diff
changeset
|
3706 int width, background_width = s->background_width; |
|
a86a3503e350
(x_draw_stretch_glyph_string): Fix problems with invisible
Kim F. Storm <storm@cua.dk>
parents:
70874
diff
changeset
|
3707 int x = s->x, left_x = window_box_left_offset (s->w, TEXT_AREA); |
|
a86a3503e350
(x_draw_stretch_glyph_string): Fix problems with invisible
Kim F. Storm <storm@cua.dk>
parents:
70874
diff
changeset
|
3708 |
|
a86a3503e350
(x_draw_stretch_glyph_string): Fix problems with invisible
Kim F. Storm <storm@cua.dk>
parents:
70874
diff
changeset
|
3709 if (x < left_x) |
|
a86a3503e350
(x_draw_stretch_glyph_string): Fix problems with invisible
Kim F. Storm <storm@cua.dk>
parents:
70874
diff
changeset
|
3710 { |
|
a86a3503e350
(x_draw_stretch_glyph_string): Fix problems with invisible
Kim F. Storm <storm@cua.dk>
parents:
70874
diff
changeset
|
3711 background_width -= left_x - x; |
|
a86a3503e350
(x_draw_stretch_glyph_string): Fix problems with invisible
Kim F. Storm <storm@cua.dk>
parents:
70874
diff
changeset
|
3712 x = left_x; |
|
a86a3503e350
(x_draw_stretch_glyph_string): Fix problems with invisible
Kim F. Storm <storm@cua.dk>
parents:
70874
diff
changeset
|
3713 } |
|
a86a3503e350
(x_draw_stretch_glyph_string): Fix problems with invisible
Kim F. Storm <storm@cua.dk>
parents:
70874
diff
changeset
|
3714 width = min (FRAME_COLUMN_WIDTH (s->f), background_width); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3715 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3716 /* Draw cursor. */ |
|
71021
a86a3503e350
(x_draw_stretch_glyph_string): Fix problems with invisible
Kim F. Storm <storm@cua.dk>
parents:
70874
diff
changeset
|
3717 x_draw_glyph_string_bg_rect (s, x, s->y, width, s->height); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3718 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3719 /* Clear rest using the GC of the original non-cursor face. */ |
|
71021
a86a3503e350
(x_draw_stretch_glyph_string): Fix problems with invisible
Kim F. Storm <storm@cua.dk>
parents:
70874
diff
changeset
|
3720 if (width < background_width) |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3721 { |
|
71021
a86a3503e350
(x_draw_stretch_glyph_string): Fix problems with invisible
Kim F. Storm <storm@cua.dk>
parents:
70874
diff
changeset
|
3722 int y = s->y; |
|
a86a3503e350
(x_draw_stretch_glyph_string): Fix problems with invisible
Kim F. Storm <storm@cua.dk>
parents:
70874
diff
changeset
|
3723 int w = background_width - width, h = s->height; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3724 Rect r; |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
3725 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
|
3726 |
|
71021
a86a3503e350
(x_draw_stretch_glyph_string): Fix problems with invisible
Kim F. Storm <storm@cua.dk>
parents:
70874
diff
changeset
|
3727 x += width; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3728 if (s->row->mouse_face_p |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3729 && cursor_in_mouse_face_p (s->w)) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3730 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3731 x_set_mouse_face_gc (s); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3732 gc = s->gc; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3733 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3734 else |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3735 gc = s->face->gc; |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
3736 |
|
50222
90e10bfd8bfa
* macterm.c: Remove consolidated defines and code.
Kim F. Storm <storm@cua.dk>
parents:
50157
diff
changeset
|
3737 get_glyph_string_clip_rect (s, &r); |
|
80515
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
3738 mac_set_clip_rectangles (s->f, gc, &r, 1); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3739 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3740 #if 0 /* MAC_TODO: stipple */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3741 if (s->face->stipple) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3742 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3743 /* Fill background with a stipple pattern. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3744 XSetFillStyle (s->display, gc, FillOpaqueStippled); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3745 XFillRectangle (s->display, s->window, gc, x, y, w, h); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3746 XSetFillStyle (s->display, gc, FillSolid); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3747 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3748 else |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3749 #endif /* MAC_TODO */ |
|
66110
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
3750 mac_erase_rectangle (s->f, gc, x, y, w, h); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3751 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3752 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3753 else if (!s->background_filled_p) |
|
71021
a86a3503e350
(x_draw_stretch_glyph_string): Fix problems with invisible
Kim F. Storm <storm@cua.dk>
parents:
70874
diff
changeset
|
3754 { |
|
a86a3503e350
(x_draw_stretch_glyph_string): Fix problems with invisible
Kim F. Storm <storm@cua.dk>
parents:
70874
diff
changeset
|
3755 int background_width = s->background_width; |
|
a86a3503e350
(x_draw_stretch_glyph_string): Fix problems with invisible
Kim F. Storm <storm@cua.dk>
parents:
70874
diff
changeset
|
3756 int x = s->x, left_x = window_box_left_offset (s->w, TEXT_AREA); |
|
a86a3503e350
(x_draw_stretch_glyph_string): Fix problems with invisible
Kim F. Storm <storm@cua.dk>
parents:
70874
diff
changeset
|
3757 |
|
72470
3b82c004bf25
(x_draw_stretch_glyph_string): It is ok to draw a
Kim F. Storm <storm@cua.dk>
parents:
71965
diff
changeset
|
3758 /* Don't draw into left margin, fringe or scrollbar area |
|
3b82c004bf25
(x_draw_stretch_glyph_string): It is ok to draw a
Kim F. Storm <storm@cua.dk>
parents:
71965
diff
changeset
|
3759 except for header line and mode line. */ |
|
3b82c004bf25
(x_draw_stretch_glyph_string): It is ok to draw a
Kim F. Storm <storm@cua.dk>
parents:
71965
diff
changeset
|
3760 if (x < left_x && !s->row->mode_line_p) |
|
71021
a86a3503e350
(x_draw_stretch_glyph_string): Fix problems with invisible
Kim F. Storm <storm@cua.dk>
parents:
70874
diff
changeset
|
3761 { |
|
a86a3503e350
(x_draw_stretch_glyph_string): Fix problems with invisible
Kim F. Storm <storm@cua.dk>
parents:
70874
diff
changeset
|
3762 background_width -= left_x - x; |
|
a86a3503e350
(x_draw_stretch_glyph_string): Fix problems with invisible
Kim F. Storm <storm@cua.dk>
parents:
70874
diff
changeset
|
3763 x = left_x; |
|
a86a3503e350
(x_draw_stretch_glyph_string): Fix problems with invisible
Kim F. Storm <storm@cua.dk>
parents:
70874
diff
changeset
|
3764 } |
|
a86a3503e350
(x_draw_stretch_glyph_string): Fix problems with invisible
Kim F. Storm <storm@cua.dk>
parents:
70874
diff
changeset
|
3765 if (background_width > 0) |
|
a86a3503e350
(x_draw_stretch_glyph_string): Fix problems with invisible
Kim F. Storm <storm@cua.dk>
parents:
70874
diff
changeset
|
3766 x_draw_glyph_string_bg_rect (s, x, s->y, background_width, s->height); |
|
a86a3503e350
(x_draw_stretch_glyph_string): Fix problems with invisible
Kim F. Storm <storm@cua.dk>
parents:
70874
diff
changeset
|
3767 } |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
3768 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3769 s->background_filled_p = 1; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3770 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3771 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3772 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3773 /* Draw glyph string S. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3774 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3775 static void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3776 x_draw_glyph_string (s) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3777 struct glyph_string *s; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3778 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3779 int relief_drawn_p = 0; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3780 |
|
59718
d4cb255b034d
* dispextern.h (struct glyph_string): New members clip_head and
Steven Tamm <steventamm@mac.com>
parents:
59655
diff
changeset
|
3781 /* If S draws into the background of its successor that does not |
|
d4cb255b034d
* dispextern.h (struct glyph_string): New members clip_head and
Steven Tamm <steventamm@mac.com>
parents:
59655
diff
changeset
|
3782 draw a cursor, draw the background of the successor first so that |
|
d4cb255b034d
* dispextern.h (struct glyph_string): New members clip_head and
Steven Tamm <steventamm@mac.com>
parents:
59655
diff
changeset
|
3783 S can draw into it. This makes S->next use XDrawString instead |
|
d4cb255b034d
* dispextern.h (struct glyph_string): New members clip_head and
Steven Tamm <steventamm@mac.com>
parents:
59655
diff
changeset
|
3784 of XDrawImageString. */ |
|
65892
41fc0bf568be
Rename member for_overlaps_p in struct glyph_string to for_overlaps.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65822
diff
changeset
|
3785 if (s->next && s->right_overhang && !s->for_overlaps |
|
59718
d4cb255b034d
* dispextern.h (struct glyph_string): New members clip_head and
Steven Tamm <steventamm@mac.com>
parents:
59655
diff
changeset
|
3786 && s->next->hl != DRAW_CURSOR) |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3787 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3788 xassert (s->next->img == NULL); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3789 x_set_glyph_string_gc (s->next); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3790 x_set_glyph_string_clipping (s->next); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3791 x_draw_glyph_string_background (s->next, 1); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3792 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3793 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3794 /* Set up S->gc, set clipping and draw S. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3795 x_set_glyph_string_gc (s); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3796 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3797 /* Draw relief (if any) in advance for char/composition so that the |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3798 glyph string can be drawn over it. */ |
|
65892
41fc0bf568be
Rename member for_overlaps_p in struct glyph_string to for_overlaps.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65822
diff
changeset
|
3799 if (!s->for_overlaps |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3800 && s->face->box != FACE_NO_BOX |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3801 && (s->first_glyph->type == CHAR_GLYPH |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3802 || s->first_glyph->type == COMPOSITE_GLYPH)) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3803 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3804 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3805 x_set_glyph_string_clipping (s); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3806 x_draw_glyph_string_background (s, 1); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3807 x_draw_glyph_string_box (s); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3808 x_set_glyph_string_clipping (s); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3809 relief_drawn_p = 1; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3810 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3811 else |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3812 x_set_glyph_string_clipping (s); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3813 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3814 switch (s->first_glyph->type) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3815 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3816 case IMAGE_GLYPH: |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3817 x_draw_image_glyph_string (s); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3818 break; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3819 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3820 case STRETCH_GLYPH: |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3821 x_draw_stretch_glyph_string (s); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3822 break; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3823 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3824 case CHAR_GLYPH: |
|
65892
41fc0bf568be
Rename member for_overlaps_p in struct glyph_string to for_overlaps.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65822
diff
changeset
|
3825 if (s->for_overlaps) |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3826 s->background_filled_p = 1; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3827 else |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
3828 x_draw_glyph_string_background (s, 0); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3829 x_draw_glyph_string_foreground (s); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3830 break; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3831 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3832 case COMPOSITE_GLYPH: |
|
65892
41fc0bf568be
Rename member for_overlaps_p in struct glyph_string to for_overlaps.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65822
diff
changeset
|
3833 if (s->for_overlaps || s->gidx > 0) |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3834 s->background_filled_p = 1; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3835 else |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3836 x_draw_glyph_string_background (s, 1); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3837 x_draw_composite_glyph_string_foreground (s); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3838 break; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3839 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3840 default: |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3841 abort (); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3842 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3843 |
|
65892
41fc0bf568be
Rename member for_overlaps_p in struct glyph_string to for_overlaps.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65822
diff
changeset
|
3844 if (!s->for_overlaps) |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3845 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3846 /* Draw underline. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3847 if (s->face->underline_p) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3848 { |
|
73114
983aa36dbb6c
(x_underline_at_descent_line): New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72985
diff
changeset
|
3849 unsigned long tem, h; |
|
983aa36dbb6c
(x_underline_at_descent_line): New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72985
diff
changeset
|
3850 int y; |
|
983aa36dbb6c
(x_underline_at_descent_line): New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72985
diff
changeset
|
3851 |
|
983aa36dbb6c
(x_underline_at_descent_line): New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72985
diff
changeset
|
3852 #if 0 |
|
983aa36dbb6c
(x_underline_at_descent_line): New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72985
diff
changeset
|
3853 /* Get the underline thickness. Default is 1 pixel. */ |
|
983aa36dbb6c
(x_underline_at_descent_line): New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72985
diff
changeset
|
3854 if (!XGetFontProperty (s->font, XA_UNDERLINE_THICKNESS, &h)) |
|
983aa36dbb6c
(x_underline_at_descent_line): New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72985
diff
changeset
|
3855 #endif |
|
983aa36dbb6c
(x_underline_at_descent_line): New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72985
diff
changeset
|
3856 h = 1; |
|
983aa36dbb6c
(x_underline_at_descent_line): New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72985
diff
changeset
|
3857 |
|
983aa36dbb6c
(x_underline_at_descent_line): New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72985
diff
changeset
|
3858 y = s->y + s->height - h; |
|
983aa36dbb6c
(x_underline_at_descent_line): New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72985
diff
changeset
|
3859 if (!x_underline_at_descent_line) |
|
983aa36dbb6c
(x_underline_at_descent_line): New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72985
diff
changeset
|
3860 { |
|
983aa36dbb6c
(x_underline_at_descent_line): New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72985
diff
changeset
|
3861 /* Get the underline position. This is the recommended |
|
983aa36dbb6c
(x_underline_at_descent_line): New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72985
diff
changeset
|
3862 vertical offset in pixels from the baseline to the top of |
|
983aa36dbb6c
(x_underline_at_descent_line): New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72985
diff
changeset
|
3863 the underline. This is a signed value according to the |
|
983aa36dbb6c
(x_underline_at_descent_line): New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72985
diff
changeset
|
3864 specs, and its default is |
|
983aa36dbb6c
(x_underline_at_descent_line): New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72985
diff
changeset
|
3865 |
|
983aa36dbb6c
(x_underline_at_descent_line): New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72985
diff
changeset
|
3866 ROUND ((maximum descent) / 2), with |
|
983aa36dbb6c
(x_underline_at_descent_line): New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72985
diff
changeset
|
3867 ROUND(x) = floor (x + 0.5) */ |
|
983aa36dbb6c
(x_underline_at_descent_line): New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72985
diff
changeset
|
3868 |
|
983aa36dbb6c
(x_underline_at_descent_line): New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72985
diff
changeset
|
3869 #if 0 |
|
983aa36dbb6c
(x_underline_at_descent_line): New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72985
diff
changeset
|
3870 if (x_use_underline_position_properties |
|
983aa36dbb6c
(x_underline_at_descent_line): New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72985
diff
changeset
|
3871 && XGetFontProperty (s->font, XA_UNDERLINE_POSITION, &tem)) |
|
983aa36dbb6c
(x_underline_at_descent_line): New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72985
diff
changeset
|
3872 y = s->ybase + (long) tem; |
|
983aa36dbb6c
(x_underline_at_descent_line): New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72985
diff
changeset
|
3873 else |
|
983aa36dbb6c
(x_underline_at_descent_line): New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72985
diff
changeset
|
3874 #endif |
|
983aa36dbb6c
(x_underline_at_descent_line): New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72985
diff
changeset
|
3875 if (s->face->font) |
|
983aa36dbb6c
(x_underline_at_descent_line): New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72985
diff
changeset
|
3876 y = s->ybase + (s->face->font->max_bounds.descent + 1) / 2; |
|
983aa36dbb6c
(x_underline_at_descent_line): New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72985
diff
changeset
|
3877 } |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
3878 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3879 if (s->face->underline_defaulted_p) |
|
73114
983aa36dbb6c
(x_underline_at_descent_line): New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72985
diff
changeset
|
3880 mac_fill_rectangle (s->f, s->gc, s->x, y, |
|
72505
759e19ea81e5
(x_underline_at_descent_line): New variable.
Kim F. Storm <storm@cua.dk>
parents:
72470
diff
changeset
|
3881 s->background_width, h); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3882 else |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3883 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3884 XGCValues xgcv; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3885 XGetGCValues (s->display, s->gc, GCForeground, &xgcv); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3886 XSetForeground (s->display, s->gc, s->face->underline_color); |
|
73114
983aa36dbb6c
(x_underline_at_descent_line): New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72985
diff
changeset
|
3887 mac_fill_rectangle (s->f, s->gc, s->x, y, |
|
72505
759e19ea81e5
(x_underline_at_descent_line): New variable.
Kim F. Storm <storm@cua.dk>
parents:
72470
diff
changeset
|
3888 s->background_width, h); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3889 XSetForeground (s->display, s->gc, xgcv.foreground); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3890 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3891 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3892 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3893 /* Draw overline. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3894 if (s->face->overline_p) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3895 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3896 unsigned long dy = 0, h = 1; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3897 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3898 if (s->face->overline_color_defaulted_p) |
|
66110
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
3899 mac_fill_rectangle (s->f, s->gc, s->x, s->y + dy, |
|
72505
759e19ea81e5
(x_underline_at_descent_line): New variable.
Kim F. Storm <storm@cua.dk>
parents:
72470
diff
changeset
|
3900 s->background_width, h); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3901 else |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3902 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3903 XGCValues xgcv; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3904 XGetGCValues (s->display, s->gc, GCForeground, &xgcv); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3905 XSetForeground (s->display, s->gc, s->face->overline_color); |
|
66110
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
3906 mac_fill_rectangle (s->f, s->gc, s->x, s->y + dy, |
|
72505
759e19ea81e5
(x_underline_at_descent_line): New variable.
Kim F. Storm <storm@cua.dk>
parents:
72470
diff
changeset
|
3907 s->background_width, h); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3908 XSetForeground (s->display, s->gc, xgcv.foreground); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3909 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3910 } |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
3911 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3912 /* Draw strike-through. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3913 if (s->face->strike_through_p) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3914 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3915 unsigned long h = 1; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3916 unsigned long dy = (s->height - h) / 2; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3917 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3918 if (s->face->strike_through_color_defaulted_p) |
|
66110
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
3919 mac_fill_rectangle (s->f, s->gc, s->x, s->y + dy, |
|
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
3920 s->width, h); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3921 else |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3922 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3923 XGCValues xgcv; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3924 XGetGCValues (s->display, s->gc, GCForeground, &xgcv); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3925 XSetForeground (s->display, s->gc, s->face->strike_through_color); |
|
66110
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
3926 mac_fill_rectangle (s->f, s->gc, s->x, s->y + dy, |
|
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
3927 s->width, h); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3928 XSetForeground (s->display, s->gc, xgcv.foreground); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3929 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3930 } |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
3931 |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
3932 /* Draw relief if not yet drawn. */ |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3933 if (!relief_drawn_p && s->face->box != FACE_NO_BOX) |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
3934 x_draw_glyph_string_box (s); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3935 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3936 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3937 /* Reset clipping. */ |
|
80515
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
3938 mac_reset_clip_rectangles (s->f, s->gc); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3939 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3940 |
|
50222
90e10bfd8bfa
* macterm.c: Remove consolidated defines and code.
Kim F. Storm <storm@cua.dk>
parents:
50157
diff
changeset
|
3941 /* Shift display to make room for inserted glyphs. */ |
|
90e10bfd8bfa
* macterm.c: Remove consolidated defines and code.
Kim F. Storm <storm@cua.dk>
parents:
50157
diff
changeset
|
3942 |
|
90e10bfd8bfa
* macterm.c: Remove consolidated defines and code.
Kim F. Storm <storm@cua.dk>
parents:
50157
diff
changeset
|
3943 void |
|
90e10bfd8bfa
* macterm.c: Remove consolidated defines and code.
Kim F. Storm <storm@cua.dk>
parents:
50157
diff
changeset
|
3944 mac_shift_glyphs_for_insert (f, x, y, width, height, shift_by) |
|
90e10bfd8bfa
* macterm.c: Remove consolidated defines and code.
Kim F. Storm <storm@cua.dk>
parents:
50157
diff
changeset
|
3945 struct frame *f; |
|
90e10bfd8bfa
* macterm.c: Remove consolidated defines and code.
Kim F. Storm <storm@cua.dk>
parents:
50157
diff
changeset
|
3946 int x, y, width, height, shift_by; |
|
90e10bfd8bfa
* macterm.c: Remove consolidated defines and code.
Kim F. Storm <storm@cua.dk>
parents:
50157
diff
changeset
|
3947 { |
|
66110
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
3948 mac_scroll_area (f, f->output_data.mac->normal_gc, |
|
50222
90e10bfd8bfa
* macterm.c: Remove consolidated defines and code.
Kim F. Storm <storm@cua.dk>
parents:
50157
diff
changeset
|
3949 x, y, width, height, |
|
90e10bfd8bfa
* macterm.c: Remove consolidated defines and code.
Kim F. Storm <storm@cua.dk>
parents:
50157
diff
changeset
|
3950 x + shift_by, y); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3951 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3952 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3953 /* Delete N glyphs at the nominal cursor position. Not implemented |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3954 for X frames. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3955 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3956 static void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3957 x_delete_glyphs (n) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3958 register int n; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3959 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3960 abort (); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3961 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3962 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3963 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3964 /* Clear entire frame. If updating_frame is non-null, clear that |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3965 frame. Otherwise clear the selected frame. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3966 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3967 static void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3968 x_clear_frame () |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3969 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3970 struct frame *f; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3971 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3972 if (updating_frame) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3973 f = updating_frame; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3974 else |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3975 f = SELECTED_FRAME (); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3976 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3977 /* Clearing the frame will erase any cursor, so mark them all as no |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3978 longer visible. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3979 mark_window_cursors_off (XWINDOW (FRAME_ROOT_WINDOW (f))); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3980 output_cursor.hpos = output_cursor.vpos = 0; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3981 output_cursor.x = -1; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3982 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3983 /* We don't set the output cursor here because there will always |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3984 follow an explicit cursor_to. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3985 BLOCK_INPUT; |
|
66110
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
3986 mac_clear_window (f); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3987 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3988 /* We have to clear the scroll bars, too. If we have changed |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3989 colors or something like that, then they should be notified. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3990 x_scroll_bar_clear (f); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3991 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3992 XFlush (FRAME_MAC_DISPLAY (f)); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3993 UNBLOCK_INPUT; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3994 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3995 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3996 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3997 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3998 /* Invert the middle quarter of the frame for .15 sec. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
3999 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4000 /* We use the select system call to do the waiting, so we have to make |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4001 sure it's available. If it isn't, we just won't do visual bells. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4002 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4003 #if defined (HAVE_TIMEVAL) && defined (HAVE_SELECT) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4004 |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
4005 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4006 /* Subtract the `struct timeval' values X and Y, storing the result in |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4007 *RESULT. Return 1 if the difference is negative, otherwise 0. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4008 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4009 static int |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4010 timeval_subtract (result, x, y) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4011 struct timeval *result, x, y; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4012 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4013 /* Perform the carry for the later subtraction by updating y. This |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4014 is safer because on some systems the tv_sec member is unsigned. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4015 if (x.tv_usec < y.tv_usec) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4016 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4017 int nsec = (y.tv_usec - x.tv_usec) / 1000000 + 1; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4018 y.tv_usec -= 1000000 * nsec; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4019 y.tv_sec += nsec; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4020 } |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
4021 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4022 if (x.tv_usec - y.tv_usec > 1000000) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4023 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4024 int nsec = (y.tv_usec - x.tv_usec) / 1000000; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4025 y.tv_usec += 1000000 * nsec; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4026 y.tv_sec -= nsec; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4027 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4028 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4029 /* Compute the time remaining to wait. tv_usec is certainly |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4030 positive. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4031 result->tv_sec = x.tv_sec - y.tv_sec; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4032 result->tv_usec = x.tv_usec - y.tv_usec; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4033 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4034 /* Return indication of whether the result should be considered |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4035 negative. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4036 return x.tv_sec < y.tv_sec; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4037 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4038 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4039 void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4040 XTflash (f) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4041 struct frame *f; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4042 { |
|
65822
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4043 /* Get the height not including a menu bar widget. */ |
|
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4044 int height = FRAME_TEXT_LINES_TO_PIXEL_HEIGHT (f, FRAME_LINES (f)); |
|
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4045 /* Height of each line to flash. */ |
|
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4046 int flash_height = FRAME_LINE_HEIGHT (f); |
|
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4047 /* These will be the left and right margins of the rectangles. */ |
|
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4048 int flash_left = FRAME_INTERNAL_BORDER_WIDTH (f); |
|
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4049 int flash_right = FRAME_PIXEL_WIDTH (f) - FRAME_INTERNAL_BORDER_WIDTH (f); |
|
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4050 |
|
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4051 int width; |
|
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4052 |
|
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4053 /* Don't flash the area between a scroll bar and the frame |
|
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4054 edge it is next to. */ |
|
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4055 switch (FRAME_VERTICAL_SCROLL_BAR_TYPE (f)) |
|
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4056 { |
|
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4057 case vertical_scroll_bar_left: |
|
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4058 flash_left += VERTICAL_SCROLL_BAR_WIDTH_TRIM; |
|
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4059 break; |
|
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4060 |
|
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4061 case vertical_scroll_bar_right: |
|
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4062 flash_right -= VERTICAL_SCROLL_BAR_WIDTH_TRIM; |
|
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4063 break; |
|
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4064 |
|
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4065 default: |
|
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4066 break; |
|
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4067 } |
|
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4068 |
|
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4069 width = flash_right - flash_left; |
|
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4070 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4071 BLOCK_INPUT; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4072 |
|
65822
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4073 /* If window is tall, flash top and bottom line. */ |
|
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4074 if (height > 3 * FRAME_LINE_HEIGHT (f)) |
|
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4075 { |
|
66110
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
4076 mac_invert_rectangle (f, flash_left, |
|
65822
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4077 (FRAME_INTERNAL_BORDER_WIDTH (f) |
|
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4078 + FRAME_TOOL_BAR_LINES (f) * FRAME_LINE_HEIGHT (f)), |
|
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4079 width, flash_height); |
|
66110
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
4080 mac_invert_rectangle (f, flash_left, |
|
65822
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4081 (height - flash_height |
|
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4082 - FRAME_INTERNAL_BORDER_WIDTH (f)), |
|
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4083 width, flash_height); |
|
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4084 } |
|
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4085 else |
|
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4086 /* If it is short, flash it all. */ |
|
66110
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
4087 mac_invert_rectangle (f, flash_left, FRAME_INTERNAL_BORDER_WIDTH (f), |
|
65822
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4088 width, height - 2 * FRAME_INTERNAL_BORDER_WIDTH (f)); |
|
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4089 |
|
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4090 x_flush (f); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4091 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4092 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4093 struct timeval wakeup; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4094 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4095 EMACS_GET_TIME (wakeup); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4096 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4097 /* Compute time to wait until, propagating carry from usecs. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4098 wakeup.tv_usec += 150000; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4099 wakeup.tv_sec += (wakeup.tv_usec / 1000000); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4100 wakeup.tv_usec %= 1000000; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4101 |
|
65822
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4102 /* Keep waiting until past the time wakeup or any input gets |
|
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4103 available. */ |
|
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4104 while (! detect_input_pending ()) |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4105 { |
|
65822
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4106 struct timeval current; |
|
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4107 struct timeval timeout; |
|
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4108 |
|
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4109 EMACS_GET_TIME (current); |
|
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4110 |
|
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4111 /* Break if result would be negative. */ |
|
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4112 if (timeval_subtract (¤t, wakeup, current)) |
|
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4113 break; |
|
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4114 |
|
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4115 /* How long `select' should wait. */ |
|
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4116 timeout.tv_sec = 0; |
|
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4117 timeout.tv_usec = 10000; |
|
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4118 |
|
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4119 /* Try to wait that long--but we might wake up sooner. */ |
|
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4120 select (0, NULL, NULL, NULL, &timeout); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4121 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4122 } |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
4123 |
|
65822
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4124 /* If window is tall, flash top and bottom line. */ |
|
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4125 if (height > 3 * FRAME_LINE_HEIGHT (f)) |
|
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4126 { |
|
66110
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
4127 mac_invert_rectangle (f, flash_left, |
|
65822
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4128 (FRAME_INTERNAL_BORDER_WIDTH (f) |
|
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4129 + FRAME_TOOL_BAR_LINES (f) * FRAME_LINE_HEIGHT (f)), |
|
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4130 width, flash_height); |
|
66110
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
4131 mac_invert_rectangle (f, flash_left, |
|
65822
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4132 (height - flash_height |
|
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4133 - FRAME_INTERNAL_BORDER_WIDTH (f)), |
|
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4134 width, flash_height); |
|
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4135 } |
|
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4136 else |
|
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4137 /* If it is short, flash it all. */ |
|
66110
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
4138 mac_invert_rectangle (f, flash_left, FRAME_INTERNAL_BORDER_WIDTH (f), |
|
65822
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4139 width, height - 2 * FRAME_INTERNAL_BORDER_WIDTH (f)); |
|
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4140 |
|
00a8cdae2968
(mac_invert_rectangle): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65772
diff
changeset
|
4141 x_flush (f); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4142 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4143 UNBLOCK_INPUT; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4144 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4145 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4146 #endif /* defined (HAVE_TIMEVAL) && defined (HAVE_SELECT) */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4147 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4148 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4149 /* Make audible bell. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4150 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4151 void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4152 XTring_bell () |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4153 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4154 struct frame *f = SELECTED_FRAME (); |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
4155 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4156 #if defined (HAVE_TIMEVAL) && defined (HAVE_SELECT) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4157 if (visible_bell) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4158 XTflash (f); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4159 else |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4160 #endif |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4161 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4162 BLOCK_INPUT; |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
4163 mac_alert_sound_play (); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4164 XFlush (FRAME_MAC_DISPLAY (f)); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4165 UNBLOCK_INPUT; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4166 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4167 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4168 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4169 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4170 /* Specify how many text lines, from the top of the window, |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4171 should be affected by insert-lines and delete-lines operations. |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4172 This, and those operations, are used only within an update |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4173 that is bounded by calls to x_update_begin and x_update_end. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4174 |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
4175 static void |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4176 XTset_terminal_window (n) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4177 register int n; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4178 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4179 /* This function intentionally left blank. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4180 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4181 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4182 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4183 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4184 /*********************************************************************** |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4185 Line Dance |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4186 ***********************************************************************/ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4187 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4188 /* Perform an insert-lines or delete-lines operation, inserting N |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4189 lines or deleting -N lines at vertical position VPOS. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4190 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4191 static void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4192 x_ins_del_lines (vpos, n) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4193 int vpos, n; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4194 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4195 abort (); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4196 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4197 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4198 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4199 /* Scroll part of the display as described by RUN. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4200 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4201 static void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4202 x_scroll_run (w, run) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4203 struct window *w; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4204 struct run *run; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4205 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4206 struct frame *f = XFRAME (w->frame); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4207 int x, y, width, height, from_y, to_y, bottom_y; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4208 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4209 /* Get frame-relative bounding box of the text display area of W, |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4210 without mode lines. Include in this box the left and right |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
4211 fringe of W. */ |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4212 window_box (w, -1, &x, &y, &width, &height); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4213 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4214 from_y = WINDOW_TO_FRAME_PIXEL_Y (w, run->current_y); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4215 to_y = WINDOW_TO_FRAME_PIXEL_Y (w, run->desired_y); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4216 bottom_y = y + height; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4217 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4218 if (to_y < from_y) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4219 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4220 /* Scrolling up. Make sure we don't copy part of the mode |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4221 line at the bottom. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4222 if (from_y + run->height > bottom_y) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4223 height = bottom_y - from_y; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4224 else |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4225 height = run->height; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4226 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4227 else |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4228 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4229 /* Scolling down. Make sure we don't copy over the mode line. |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4230 at the bottom. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4231 if (to_y + run->height > bottom_y) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4232 height = bottom_y - to_y; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4233 else |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4234 height = run->height; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4235 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4236 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4237 BLOCK_INPUT; |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
4238 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4239 /* Cursor off. Will be switched on again in x_update_window_end. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4240 updated_window = w; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4241 x_clear_cursor (w); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4242 |
|
66110
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
4243 mac_scroll_area (f, f->output_data.mac->normal_gc, |
|
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
4244 x, from_y, |
|
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
4245 width, height, |
|
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
4246 x, to_y); |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
4247 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4248 UNBLOCK_INPUT; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4249 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4250 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4251 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4252 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4253 /*********************************************************************** |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4254 Exposure Events |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4255 ***********************************************************************/ |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
4256 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4257 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4258 static void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4259 frame_highlight (f) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4260 struct frame *f; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4261 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4262 x_update_cursor (f, 1); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4263 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4264 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4265 static void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4266 frame_unhighlight (f) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4267 struct frame *f; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4268 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4269 x_update_cursor (f, 1); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4270 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4271 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4272 /* The focus has changed. Update the frames as necessary to reflect |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4273 the new situation. Note that we can't change the selected frame |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4274 here, because the Lisp code we are interrupting might become confused. |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4275 Each event gets marked with the frame in which it occurred, so the |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4276 Lisp code can tell when the switch took place by examining the events. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4277 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4278 static void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4279 x_new_focus_frame (dpyinfo, frame) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4280 struct x_display_info *dpyinfo; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4281 struct frame *frame; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4282 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4283 struct frame *old_focus = dpyinfo->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
|
4284 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4285 if (frame != dpyinfo->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
|
4286 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4287 /* Set this before calling other routines, so that they see |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4288 the correct value of 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
|
4289 dpyinfo->x_focus_frame = frame; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4290 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4291 if (old_focus && old_focus->auto_lower) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4292 x_lower_frame (old_focus); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4293 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4294 #if 0 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4295 selected_frame = frame; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4296 XSETFRAME (XWINDOW (selected_frame->selected_window)->frame, |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4297 selected_frame); |
|
51048
7ac9c3bea5ea
(Fselect_window): Add optional arg `norecord'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
50701
diff
changeset
|
4298 Fselect_window (selected_frame->selected_window, Qnil); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4299 choose_minibuf_frame (); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4300 #endif /* ! 0 */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4301 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4302 if (dpyinfo->x_focus_frame && dpyinfo->x_focus_frame->auto_raise) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4303 pending_autoraise_frame = dpyinfo->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
|
4304 else |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4305 pending_autoraise_frame = 0; |
|
70496
8b2250961fcc
(XLoadQueryFont) [USE_ATSUI]: Set FMFontFamily value
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70384
diff
changeset
|
4306 |
|
8b2250961fcc
(XLoadQueryFont) [USE_ATSUI]: Set FMFontFamily value
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70384
diff
changeset
|
4307 #if USE_MAC_FONT_PANEL |
|
8b2250961fcc
(XLoadQueryFont) [USE_ATSUI]: Set FMFontFamily value
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70384
diff
changeset
|
4308 if (frame) |
|
70563
fc3c18e2c3b9
(Qservice) [MAC_OSX]: Rename from Qservices. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70496
diff
changeset
|
4309 mac_set_font_info_for_selection (frame, DEFAULT_FACE_ID, 0); |
|
70496
8b2250961fcc
(XLoadQueryFont) [USE_ATSUI]: Set FMFontFamily value
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70384
diff
changeset
|
4310 #endif |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4311 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4312 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4313 x_frame_rehighlight (dpyinfo); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4314 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4315 |
|
61574
d3c53b9d1828
(x_autoselect_window_p): Remove variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61555
diff
changeset
|
4316 /* Handle FocusIn and FocusOut state changes for FRAME. |
|
d3c53b9d1828
(x_autoselect_window_p): Remove variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61555
diff
changeset
|
4317 If FRAME has focus and there exists more than one frame, puts |
|
d3c53b9d1828
(x_autoselect_window_p): Remove variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61555
diff
changeset
|
4318 a FOCUS_IN_EVENT into *BUFP. */ |
|
d3c53b9d1828
(x_autoselect_window_p): Remove variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61555
diff
changeset
|
4319 |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
4320 void |
|
61574
d3c53b9d1828
(x_autoselect_window_p): Remove variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61555
diff
changeset
|
4321 mac_focus_changed (type, dpyinfo, frame, bufp) |
|
d3c53b9d1828
(x_autoselect_window_p): Remove variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61555
diff
changeset
|
4322 int type; |
|
d3c53b9d1828
(x_autoselect_window_p): Remove variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61555
diff
changeset
|
4323 struct mac_display_info *dpyinfo; |
|
d3c53b9d1828
(x_autoselect_window_p): Remove variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61555
diff
changeset
|
4324 struct frame *frame; |
|
d3c53b9d1828
(x_autoselect_window_p): Remove variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61555
diff
changeset
|
4325 struct input_event *bufp; |
|
d3c53b9d1828
(x_autoselect_window_p): Remove variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61555
diff
changeset
|
4326 { |
|
d3c53b9d1828
(x_autoselect_window_p): Remove variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61555
diff
changeset
|
4327 if (type == activeFlag) |
|
d3c53b9d1828
(x_autoselect_window_p): Remove variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61555
diff
changeset
|
4328 { |
|
d3c53b9d1828
(x_autoselect_window_p): Remove variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61555
diff
changeset
|
4329 if (dpyinfo->x_focus_event_frame != frame) |
|
d3c53b9d1828
(x_autoselect_window_p): Remove variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61555
diff
changeset
|
4330 { |
|
d3c53b9d1828
(x_autoselect_window_p): Remove variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61555
diff
changeset
|
4331 x_new_focus_frame (dpyinfo, frame); |
|
d3c53b9d1828
(x_autoselect_window_p): Remove variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61555
diff
changeset
|
4332 dpyinfo->x_focus_event_frame = frame; |
|
d3c53b9d1828
(x_autoselect_window_p): Remove variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61555
diff
changeset
|
4333 |
|
d3c53b9d1828
(x_autoselect_window_p): Remove variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61555
diff
changeset
|
4334 /* Don't stop displaying the initial startup message |
|
d3c53b9d1828
(x_autoselect_window_p): Remove variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61555
diff
changeset
|
4335 for a switch-frame event we don't need. */ |
|
d3c53b9d1828
(x_autoselect_window_p): Remove variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61555
diff
changeset
|
4336 if (GC_NILP (Vterminal_frame) |
|
d3c53b9d1828
(x_autoselect_window_p): Remove variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61555
diff
changeset
|
4337 && GC_CONSP (Vframe_list) |
|
d3c53b9d1828
(x_autoselect_window_p): Remove variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61555
diff
changeset
|
4338 && !GC_NILP (XCDR (Vframe_list))) |
|
d3c53b9d1828
(x_autoselect_window_p): Remove variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61555
diff
changeset
|
4339 { |
|
d3c53b9d1828
(x_autoselect_window_p): Remove variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61555
diff
changeset
|
4340 bufp->kind = FOCUS_IN_EVENT; |
|
d3c53b9d1828
(x_autoselect_window_p): Remove variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61555
diff
changeset
|
4341 XSETFRAME (bufp->frame_or_window, frame); |
|
d3c53b9d1828
(x_autoselect_window_p): Remove variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61555
diff
changeset
|
4342 } |
|
d3c53b9d1828
(x_autoselect_window_p): Remove variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61555
diff
changeset
|
4343 } |
|
d3c53b9d1828
(x_autoselect_window_p): Remove variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61555
diff
changeset
|
4344 } |
|
d3c53b9d1828
(x_autoselect_window_p): Remove variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61555
diff
changeset
|
4345 else |
|
d3c53b9d1828
(x_autoselect_window_p): Remove variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61555
diff
changeset
|
4346 { |
|
d3c53b9d1828
(x_autoselect_window_p): Remove variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61555
diff
changeset
|
4347 if (dpyinfo->x_focus_event_frame == frame) |
|
d3c53b9d1828
(x_autoselect_window_p): Remove variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61555
diff
changeset
|
4348 { |
|
d3c53b9d1828
(x_autoselect_window_p): Remove variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61555
diff
changeset
|
4349 dpyinfo->x_focus_event_frame = 0; |
|
d3c53b9d1828
(x_autoselect_window_p): Remove variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61555
diff
changeset
|
4350 x_new_focus_frame (dpyinfo, 0); |
|
d3c53b9d1828
(x_autoselect_window_p): Remove variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61555
diff
changeset
|
4351 } |
|
d3c53b9d1828
(x_autoselect_window_p): Remove variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61555
diff
changeset
|
4352 } |
|
d3c53b9d1828
(x_autoselect_window_p): Remove variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61555
diff
changeset
|
4353 } |
|
d3c53b9d1828
(x_autoselect_window_p): Remove variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61555
diff
changeset
|
4354 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4355 /* Handle an event saying the mouse has moved out of an Emacs frame. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4356 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4357 void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4358 x_mouse_leave (dpyinfo) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4359 struct x_display_info *dpyinfo; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4360 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4361 x_new_focus_frame (dpyinfo, dpyinfo->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
|
4362 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4363 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4364 /* The focus has changed, or we have redirected a frame's focus to |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4365 another frame (this happens when a frame uses a surrogate |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4366 mini-buffer frame). Shift the highlight as appropriate. |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4367 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4368 The FRAME argument doesn't necessarily have anything to do with which |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4369 frame is being highlighted or un-highlighted; we only use it to find |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4370 the appropriate X display info. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4371 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4372 static void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4373 XTframe_rehighlight (frame) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4374 struct frame *frame; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4375 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4376 x_frame_rehighlight (FRAME_X_DISPLAY_INFO (frame)); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4377 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4378 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4379 static void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4380 x_frame_rehighlight (dpyinfo) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4381 struct x_display_info *dpyinfo; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4382 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4383 struct frame *old_highlight = dpyinfo->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
|
4384 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4385 if (dpyinfo->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
|
4386 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4387 dpyinfo->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
|
4388 = ((GC_FRAMEP (FRAME_FOCUS_FRAME (dpyinfo->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
|
4389 ? XFRAME (FRAME_FOCUS_FRAME (dpyinfo->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
|
4390 : dpyinfo->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
|
4391 if (! FRAME_LIVE_P (dpyinfo->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
|
4392 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4393 FRAME_FOCUS_FRAME (dpyinfo->x_focus_frame) = Qnil; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4394 dpyinfo->x_highlight_frame = dpyinfo->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
|
4395 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4396 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4397 else |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4398 dpyinfo->x_highlight_frame = 0; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4399 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4400 if (dpyinfo->x_highlight_frame != old_highlight) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4401 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4402 if (old_highlight) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4403 frame_unhighlight (old_highlight); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4404 if (dpyinfo->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
|
4405 frame_highlight (dpyinfo->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
|
4406 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4407 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4408 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4409 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4410 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4411 /* Convert a keysym to its name. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4412 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4413 char * |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4414 x_get_keysym_name (keysym) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4415 int keysym; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4416 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4417 char *value; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4418 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4419 BLOCK_INPUT; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4420 #if 0 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4421 value = XKeysymToString (keysym); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4422 #else |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4423 value = 0; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4424 #endif |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4425 UNBLOCK_INPUT; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4426 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4427 return value; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4428 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4429 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4430 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4431 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4432 /* Function to report a mouse movement to the mainstream Emacs code. |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4433 The input handler calls this. |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4434 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4435 We have received a mouse movement event, which is given in *event. |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4436 If the mouse is over a different glyph than it was last time, tell |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4437 the mainstream emacs code by setting mouse_moved. If not, ask for |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4438 another motion event, so we can check again the next time it moves. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4439 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4440 static Point last_mouse_motion_position; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4441 static Lisp_Object last_mouse_motion_frame; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4442 |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
4443 int |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4444 note_mouse_movement (frame, pos) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4445 FRAME_PTR frame; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4446 Point *pos; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4447 { |
|
55851
f1d6a507dcfd
Support Tooltips with the Carbon emacs port.
Steven Tamm <steventamm@mac.com>
parents:
55583
diff
changeset
|
4448 struct mac_display_info *dpyinfo = FRAME_MAC_DISPLAY_INFO (frame); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4449 Rect r; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4450 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4451 last_mouse_movement_time = TickCount () * (1000 / 60); /* to milliseconds */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4452 last_mouse_motion_position = *pos; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4453 XSETFRAME (last_mouse_motion_frame, frame); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4454 |
|
76535
12069a316614
(note_mouse_movement): Don't return immediately for
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
76437
diff
changeset
|
4455 if (frame == dpyinfo->mouse_face_mouse_frame |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
4456 && !PtInRect (*pos, mac_get_frame_bounds (frame, &r))) |
|
76535
12069a316614
(note_mouse_movement): Don't return immediately for
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
76437
diff
changeset
|
4457 { |
|
12069a316614
(note_mouse_movement): Don't return immediately for
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
76437
diff
changeset
|
4458 /* This case corresponds to LeaveNotify in X11. If we move |
|
12069a316614
(note_mouse_movement): Don't return immediately for
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
76437
diff
changeset
|
4459 outside the frame, then we're certainly no longer on any text |
|
12069a316614
(note_mouse_movement): Don't return immediately for
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
76437
diff
changeset
|
4460 in the frame. */ |
|
12069a316614
(note_mouse_movement): Don't return immediately for
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
76437
diff
changeset
|
4461 clear_mouse_face (dpyinfo); |
|
12069a316614
(note_mouse_movement): Don't return immediately for
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
76437
diff
changeset
|
4462 dpyinfo->mouse_face_mouse_frame = 0; |
|
12069a316614
(note_mouse_movement): Don't return immediately for
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
76437
diff
changeset
|
4463 if (!dpyinfo->grabbed) |
|
12069a316614
(note_mouse_movement): Don't return immediately for
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
76437
diff
changeset
|
4464 rif->define_frame_cursor (frame, |
|
12069a316614
(note_mouse_movement): Don't return immediately for
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
76437
diff
changeset
|
4465 frame->output_data.mac->nontext_cursor); |
|
12069a316614
(note_mouse_movement): Don't return immediately for
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
76437
diff
changeset
|
4466 } |
|
12069a316614
(note_mouse_movement): Don't return immediately for
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
76437
diff
changeset
|
4467 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4468 /* Has the mouse moved off the glyph it was on at the last sighting? */ |
|
66431
8ee33d677ac7
(last_mouse_glyph_frame): New var.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66181
diff
changeset
|
4469 if (frame != last_mouse_glyph_frame |
|
8ee33d677ac7
(last_mouse_glyph_frame): New var.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66181
diff
changeset
|
4470 || !PtInRect (*pos, &last_mouse_glyph)) |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4471 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4472 frame->mouse_moved = 1; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4473 last_mouse_scroll_bar = Qnil; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4474 note_mouse_highlight (frame, pos->h, pos->v); |
|
66033
ce2c44ba9ef1
(note_mouse_movement): Add call to remember_mouse_glyph.
Kim F. Storm <storm@cua.dk>
parents:
66005
diff
changeset
|
4475 /* Remember which glyph we're now on. */ |
|
ce2c44ba9ef1
(note_mouse_movement): Add call to remember_mouse_glyph.
Kim F. Storm <storm@cua.dk>
parents:
66005
diff
changeset
|
4476 remember_mouse_glyph (frame, pos->h, pos->v, &last_mouse_glyph); |
|
66431
8ee33d677ac7
(last_mouse_glyph_frame): New var.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66181
diff
changeset
|
4477 last_mouse_glyph_frame = frame; |
|
66080
abad34f080c4
(note_mouse_movement, XTread_socket): Apply 2005-10-14 changes for
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66049
diff
changeset
|
4478 return 1; |
|
abad34f080c4
(note_mouse_movement, XTread_socket): Apply 2005-10-14 changes for
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66049
diff
changeset
|
4479 } |
|
abad34f080c4
(note_mouse_movement, XTread_socket): Apply 2005-10-14 changes for
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66049
diff
changeset
|
4480 |
|
abad34f080c4
(note_mouse_movement, XTread_socket): Apply 2005-10-14 changes for
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66049
diff
changeset
|
4481 return 0; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4482 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4483 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4484 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4485 /************************************************************************ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4486 Mouse Face |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4487 ************************************************************************/ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4488 |
|
50222
90e10bfd8bfa
* macterm.c: Remove consolidated defines and code.
Kim F. Storm <storm@cua.dk>
parents:
50157
diff
changeset
|
4489 /* MAC TODO: This should be called from somewhere (or removed) ++KFS */ |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4490 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4491 static void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4492 redo_mouse_highlight () |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4493 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4494 if (!NILP (last_mouse_motion_frame) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4495 && FRAME_LIVE_P (XFRAME (last_mouse_motion_frame))) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4496 note_mouse_highlight (XFRAME (last_mouse_motion_frame), |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4497 last_mouse_motion_position.h, |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4498 last_mouse_motion_position.v); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4499 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4500 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4501 |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
4502 struct frame * |
|
61574
d3c53b9d1828
(x_autoselect_window_p): Remove variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61555
diff
changeset
|
4503 mac_focus_frame (dpyinfo) |
|
d3c53b9d1828
(x_autoselect_window_p): Remove variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61555
diff
changeset
|
4504 struct mac_display_info *dpyinfo; |
|
d3c53b9d1828
(x_autoselect_window_p): Remove variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61555
diff
changeset
|
4505 { |
|
d3c53b9d1828
(x_autoselect_window_p): Remove variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61555
diff
changeset
|
4506 if (dpyinfo->x_focus_frame) |
|
d3c53b9d1828
(x_autoselect_window_p): Remove variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61555
diff
changeset
|
4507 return dpyinfo->x_focus_frame; |
|
d3c53b9d1828
(x_autoselect_window_p): Remove variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61555
diff
changeset
|
4508 else |
|
d3c53b9d1828
(x_autoselect_window_p): Remove variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61555
diff
changeset
|
4509 /* Mac version may get events, such as a menu bar click, even when |
|
d3c53b9d1828
(x_autoselect_window_p): Remove variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61555
diff
changeset
|
4510 all the frames are invisible. In this case, we regard the |
|
d3c53b9d1828
(x_autoselect_window_p): Remove variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61555
diff
changeset
|
4511 event came to the selected frame. */ |
|
d3c53b9d1828
(x_autoselect_window_p): Remove variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61555
diff
changeset
|
4512 return SELECTED_FRAME (); |
|
d3c53b9d1828
(x_autoselect_window_p): Remove variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61555
diff
changeset
|
4513 } |
|
d3c53b9d1828
(x_autoselect_window_p): Remove variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61555
diff
changeset
|
4514 |
|
55851
f1d6a507dcfd
Support Tooltips with the Carbon emacs port.
Steven Tamm <steventamm@mac.com>
parents:
55583
diff
changeset
|
4515 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4516 /* Return the current position of the mouse. |
|
66033
ce2c44ba9ef1
(note_mouse_movement): Add call to remember_mouse_glyph.
Kim F. Storm <storm@cua.dk>
parents:
66005
diff
changeset
|
4517 *FP should be a frame which indicates which display to ask about. |
|
ce2c44ba9ef1
(note_mouse_movement): Add call to remember_mouse_glyph.
Kim F. Storm <storm@cua.dk>
parents:
66005
diff
changeset
|
4518 |
|
ce2c44ba9ef1
(note_mouse_movement): Add call to remember_mouse_glyph.
Kim F. Storm <storm@cua.dk>
parents:
66005
diff
changeset
|
4519 If the mouse movement started in a scroll bar, set *FP, *BAR_WINDOW, |
|
ce2c44ba9ef1
(note_mouse_movement): Add call to remember_mouse_glyph.
Kim F. Storm <storm@cua.dk>
parents:
66005
diff
changeset
|
4520 and *PART to the frame, window, and scroll bar part that the mouse |
|
ce2c44ba9ef1
(note_mouse_movement): Add call to remember_mouse_glyph.
Kim F. Storm <storm@cua.dk>
parents:
66005
diff
changeset
|
4521 is over. Set *X and *Y to the portion and whole of the mouse's |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4522 position on 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
|
4523 |
|
66033
ce2c44ba9ef1
(note_mouse_movement): Add call to remember_mouse_glyph.
Kim F. Storm <storm@cua.dk>
parents:
66005
diff
changeset
|
4524 If the mouse movement started elsewhere, set *FP to the frame the |
|
ce2c44ba9ef1
(note_mouse_movement): Add call to remember_mouse_glyph.
Kim F. Storm <storm@cua.dk>
parents:
66005
diff
changeset
|
4525 mouse is on, *BAR_WINDOW to nil, and *X and *Y to the character cell |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4526 the mouse is over. |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4527 |
|
66033
ce2c44ba9ef1
(note_mouse_movement): Add call to remember_mouse_glyph.
Kim F. Storm <storm@cua.dk>
parents:
66005
diff
changeset
|
4528 Set *TIME to the server time-stamp for the time at which the mouse |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4529 was at this position. |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4530 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4531 Don't store anything if we don't have a valid set of values to report. |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4532 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4533 This clears the mouse_moved flag, so we can wait for the next mouse |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4534 movement. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4535 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4536 static void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4537 XTmouse_position (fp, insist, bar_window, part, x, y, time) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4538 FRAME_PTR *fp; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4539 int insist; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4540 Lisp_Object *bar_window; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4541 enum scroll_bar_part *part; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4542 Lisp_Object *x, *y; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4543 unsigned long *time; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4544 { |
|
66033
ce2c44ba9ef1
(note_mouse_movement): Add call to remember_mouse_glyph.
Kim F. Storm <storm@cua.dk>
parents:
66005
diff
changeset
|
4545 FRAME_PTR f1; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4546 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4547 BLOCK_INPUT; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4548 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4549 if (! NILP (last_mouse_scroll_bar) && insist == 0) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4550 x_scroll_bar_report_motion (fp, bar_window, part, x, y, time); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4551 else |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4552 { |
|
66033
ce2c44ba9ef1
(note_mouse_movement): Add call to remember_mouse_glyph.
Kim F. Storm <storm@cua.dk>
parents:
66005
diff
changeset
|
4553 Lisp_Object frame, tail; |
|
ce2c44ba9ef1
(note_mouse_movement): Add call to remember_mouse_glyph.
Kim F. Storm <storm@cua.dk>
parents:
66005
diff
changeset
|
4554 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4555 /* Clear the mouse-moved flag for every frame 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
|
4556 FOR_EACH_FRAME (tail, frame) |
|
66033
ce2c44ba9ef1
(note_mouse_movement): Add call to remember_mouse_glyph.
Kim F. Storm <storm@cua.dk>
parents:
66005
diff
changeset
|
4557 XFRAME (frame)->mouse_moved = 0; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4558 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4559 last_mouse_scroll_bar = Qnil; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4560 |
|
66033
ce2c44ba9ef1
(note_mouse_movement): Add call to remember_mouse_glyph.
Kim F. Storm <storm@cua.dk>
parents:
66005
diff
changeset
|
4561 if (FRAME_MAC_DISPLAY_INFO (*fp)->grabbed && last_mouse_frame |
|
ce2c44ba9ef1
(note_mouse_movement): Add call to remember_mouse_glyph.
Kim F. Storm <storm@cua.dk>
parents:
66005
diff
changeset
|
4562 && FRAME_LIVE_P (last_mouse_frame)) |
|
ce2c44ba9ef1
(note_mouse_movement): Add call to remember_mouse_glyph.
Kim F. Storm <storm@cua.dk>
parents:
66005
diff
changeset
|
4563 f1 = last_mouse_frame; |
|
ce2c44ba9ef1
(note_mouse_movement): Add call to remember_mouse_glyph.
Kim F. Storm <storm@cua.dk>
parents:
66005
diff
changeset
|
4564 else |
|
ce2c44ba9ef1
(note_mouse_movement): Add call to remember_mouse_glyph.
Kim F. Storm <storm@cua.dk>
parents:
66005
diff
changeset
|
4565 f1 = mac_focus_frame (FRAME_MAC_DISPLAY_INFO (*fp)); |
|
ce2c44ba9ef1
(note_mouse_movement): Add call to remember_mouse_glyph.
Kim F. Storm <storm@cua.dk>
parents:
66005
diff
changeset
|
4566 |
|
ce2c44ba9ef1
(note_mouse_movement): Add call to remember_mouse_glyph.
Kim F. Storm <storm@cua.dk>
parents:
66005
diff
changeset
|
4567 if (f1) |
|
ce2c44ba9ef1
(note_mouse_movement): Add call to remember_mouse_glyph.
Kim F. Storm <storm@cua.dk>
parents:
66005
diff
changeset
|
4568 { |
|
ce2c44ba9ef1
(note_mouse_movement): Add call to remember_mouse_glyph.
Kim F. Storm <storm@cua.dk>
parents:
66005
diff
changeset
|
4569 /* Ok, we found a frame. Store all the values. |
|
ce2c44ba9ef1
(note_mouse_movement): Add call to remember_mouse_glyph.
Kim F. Storm <storm@cua.dk>
parents:
66005
diff
changeset
|
4570 last_mouse_glyph is a rectangle used to reduce the |
|
ce2c44ba9ef1
(note_mouse_movement): Add call to remember_mouse_glyph.
Kim F. Storm <storm@cua.dk>
parents:
66005
diff
changeset
|
4571 generation of mouse events. To not miss any motion |
|
ce2c44ba9ef1
(note_mouse_movement): Add call to remember_mouse_glyph.
Kim F. Storm <storm@cua.dk>
parents:
66005
diff
changeset
|
4572 events, we must divide the frame into rectangles of the |
|
ce2c44ba9ef1
(note_mouse_movement): Add call to remember_mouse_glyph.
Kim F. Storm <storm@cua.dk>
parents:
66005
diff
changeset
|
4573 size of the smallest character that could be displayed |
|
ce2c44ba9ef1
(note_mouse_movement): Add call to remember_mouse_glyph.
Kim F. Storm <storm@cua.dk>
parents:
66005
diff
changeset
|
4574 on it, i.e. into the same rectangles that matrices on |
|
ce2c44ba9ef1
(note_mouse_movement): Add call to remember_mouse_glyph.
Kim F. Storm <storm@cua.dk>
parents:
66005
diff
changeset
|
4575 the frame are divided into. */ |
|
ce2c44ba9ef1
(note_mouse_movement): Add call to remember_mouse_glyph.
Kim F. Storm <storm@cua.dk>
parents:
66005
diff
changeset
|
4576 Point mouse_pos; |
|
ce2c44ba9ef1
(note_mouse_movement): Add call to remember_mouse_glyph.
Kim F. Storm <storm@cua.dk>
parents:
66005
diff
changeset
|
4577 |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
4578 mac_get_frame_mouse (f1, &mouse_pos); |
|
66033
ce2c44ba9ef1
(note_mouse_movement): Add call to remember_mouse_glyph.
Kim F. Storm <storm@cua.dk>
parents:
66005
diff
changeset
|
4579 remember_mouse_glyph (f1, mouse_pos.h, mouse_pos.v, |
|
ce2c44ba9ef1
(note_mouse_movement): Add call to remember_mouse_glyph.
Kim F. Storm <storm@cua.dk>
parents:
66005
diff
changeset
|
4580 &last_mouse_glyph); |
|
66431
8ee33d677ac7
(last_mouse_glyph_frame): New var.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66181
diff
changeset
|
4581 last_mouse_glyph_frame = f1; |
|
66033
ce2c44ba9ef1
(note_mouse_movement): Add call to remember_mouse_glyph.
Kim F. Storm <storm@cua.dk>
parents:
66005
diff
changeset
|
4582 |
|
ce2c44ba9ef1
(note_mouse_movement): Add call to remember_mouse_glyph.
Kim F. Storm <storm@cua.dk>
parents:
66005
diff
changeset
|
4583 *bar_window = Qnil; |
|
ce2c44ba9ef1
(note_mouse_movement): Add call to remember_mouse_glyph.
Kim F. Storm <storm@cua.dk>
parents:
66005
diff
changeset
|
4584 *part = 0; |
|
ce2c44ba9ef1
(note_mouse_movement): Add call to remember_mouse_glyph.
Kim F. Storm <storm@cua.dk>
parents:
66005
diff
changeset
|
4585 *fp = f1; |
|
ce2c44ba9ef1
(note_mouse_movement): Add call to remember_mouse_glyph.
Kim F. Storm <storm@cua.dk>
parents:
66005
diff
changeset
|
4586 XSETINT (*x, mouse_pos.h); |
|
ce2c44ba9ef1
(note_mouse_movement): Add call to remember_mouse_glyph.
Kim F. Storm <storm@cua.dk>
parents:
66005
diff
changeset
|
4587 XSETINT (*y, mouse_pos.v); |
|
ce2c44ba9ef1
(note_mouse_movement): Add call to remember_mouse_glyph.
Kim F. Storm <storm@cua.dk>
parents:
66005
diff
changeset
|
4588 *time = last_mouse_movement_time; |
|
ce2c44ba9ef1
(note_mouse_movement): Add call to remember_mouse_glyph.
Kim F. Storm <storm@cua.dk>
parents:
66005
diff
changeset
|
4589 } |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4590 } |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
4591 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4592 UNBLOCK_INPUT; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4593 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4594 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4595 |
|
62103
2d42fd79f829
(toolkit_scroll_bar_interaction): Remove unused
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61786
diff
changeset
|
4596 /************************************************************************ |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4597 Scroll bars, general |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4598 ************************************************************************/ |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
4599 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4600 /* Create a scroll bar and return the scroll bar vector for it. W is |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4601 the Emacs window on which to create the scroll bar. TOP, LEFT, |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4602 WIDTH and HEIGHT are the pixel coordinates and dimensions of the |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4603 scroll bar. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4604 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4605 static 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
|
4606 x_scroll_bar_create (w, top, left, width, height, disp_top, disp_height) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4607 struct window *w; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4608 int top, left, width, height, disp_top, disp_height; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4609 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4610 struct frame *f = XFRAME (w->frame); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4611 struct scroll_bar *bar |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4612 = XSCROLL_BAR (Fmake_vector (make_number (SCROLL_BAR_VEC_SIZE), Qnil)); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4613 Rect r; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4614 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4615 BLOCK_INPUT; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4616 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4617 XSETWINDOW (bar->window, w); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4618 XSETINT (bar->top, top); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4619 XSETINT (bar->left, left); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4620 XSETINT (bar->width, width); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4621 XSETINT (bar->height, height); |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4622 #ifdef MAC_OSX |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4623 bar->fringe_extended_p = Qnil; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4624 #endif |
|
79897
d2835a5f1cb5
(x_scroll_bar_create): Initialize bar->redraw_needed_p.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
79759
diff
changeset
|
4625 bar->redraw_needed_p = Qnil; |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
4626 |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
4627 SetRect (&r, left, disp_top, left + width, disp_top + disp_height); |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
4628 mac_create_scroll_bar (bar, &r, |
|
62103
2d42fd79f829
(toolkit_scroll_bar_interaction): Remove unused
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61786
diff
changeset
|
4629 #ifdef USE_TOOLKIT_SCROLL_BARS |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
4630 false |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
4631 #else |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
4632 width < disp_height |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
4633 #endif |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
4634 ); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4635 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4636 /* Add bar to its frame's list of scroll bars. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4637 bar->next = FRAME_SCROLL_BARS (f); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4638 bar->prev = Qnil; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4639 XSETVECTOR (FRAME_SCROLL_BARS (f), bar); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4640 if (!NILP (bar->next)) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4641 XSETVECTOR (XSCROLL_BAR (bar->next)->prev, bar); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4642 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4643 UNBLOCK_INPUT; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4644 return bar; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4645 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4646 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4647 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4648 /* Destroy scroll bar BAR, and set its Emacs window's scroll bar to |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4649 nil. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4650 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4651 static void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4652 x_scroll_bar_remove (bar) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4653 struct scroll_bar *bar; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4654 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4655 BLOCK_INPUT; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4656 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4657 /* Destroy the Mac scroll bar control */ |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
4658 mac_dispose_scroll_bar (bar); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4659 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4660 /* Disassociate this scroll bar from its window. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4661 XWINDOW (bar->window)->vertical_scroll_bar = Qnil; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4662 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4663 UNBLOCK_INPUT; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4664 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4665 |
|
64276
0a062d2d75f3
Don't include stdlib.h or composite.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64102
diff
changeset
|
4666 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4667 /* Set the handle of the vertical scroll bar for WINDOW to indicate |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4668 that we are displaying PORTION characters out of a total of WHOLE |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4669 characters, starting at POSITION. If WINDOW has no scroll bar, |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4670 create one. */ |
|
64276
0a062d2d75f3
Don't include stdlib.h or composite.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64102
diff
changeset
|
4671 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4672 static void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4673 XTset_vertical_scroll_bar (w, portion, whole, position) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4674 struct window *w; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4675 int portion, whole, position; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4676 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4677 struct frame *f = XFRAME (w->frame); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4678 struct scroll_bar *bar; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4679 int top, height, left, sb_left, width, sb_width, disp_top, disp_height; |
|
51198
f8e097cae353
Make (several) trivial substitutions for renamed and
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
4680 int window_y, window_height; |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4681 #ifdef MAC_OSX |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4682 int fringe_extended_p; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4683 #endif |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4684 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4685 /* Get window dimensions. */ |
|
51198
f8e097cae353
Make (several) trivial substitutions for renamed and
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
4686 window_box (w, -1, 0, &window_y, 0, &window_height); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4687 top = window_y; |
|
51198
f8e097cae353
Make (several) trivial substitutions for renamed and
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
4688 width = WINDOW_CONFIG_SCROLL_BAR_COLS (w) * FRAME_COLUMN_WIDTH (f); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4689 height = window_height; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4690 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4691 /* Compute the left edge of the scroll bar area. */ |
|
51198
f8e097cae353
Make (several) trivial substitutions for renamed and
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
4692 left = WINDOW_SCROLL_BAR_AREA_X (w); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4693 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4694 /* Compute the width of the scroll bar which might be less than |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4695 the width of the area reserved for the scroll bar. */ |
|
51198
f8e097cae353
Make (several) trivial substitutions for renamed and
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
4696 if (WINDOW_CONFIG_SCROLL_BAR_WIDTH (w) > 0) |
|
f8e097cae353
Make (several) trivial substitutions for renamed and
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
4697 sb_width = WINDOW_CONFIG_SCROLL_BAR_WIDTH (w); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4698 else |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4699 sb_width = width; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4700 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4701 /* Compute the left edge of the scroll bar. */ |
|
51198
f8e097cae353
Make (several) trivial substitutions for renamed and
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
4702 if (WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_RIGHT (w)) |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4703 sb_left = left + (WINDOW_RIGHTMOST_P (w) ? width - sb_width : 0); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4704 else |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4705 sb_left = left + (WINDOW_LEFTMOST_P (w) ? 0 : width - sb_width); |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
4706 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4707 /* Adjustments according to Inside Macintosh to make it look nice */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4708 disp_top = top; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4709 disp_height = height; |
|
69301
9082ca3ebeed
(get_control_part_bounds): Fix type of return value.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69113
diff
changeset
|
4710 #ifdef MAC_OS8 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4711 if (disp_top == 0) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4712 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4713 disp_top = -1; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4714 disp_height++; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4715 } |
|
51198
f8e097cae353
Make (several) trivial substitutions for renamed and
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
4716 else if (disp_top == FRAME_PIXEL_HEIGHT (f) - 16) |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4717 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4718 disp_top++; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4719 disp_height--; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4720 } |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
4721 |
|
51198
f8e097cae353
Make (several) trivial substitutions for renamed and
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
4722 if (sb_left + sb_width == FRAME_PIXEL_WIDTH (f)) |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4723 sb_left++; |
|
69301
9082ca3ebeed
(get_control_part_bounds): Fix type of return value.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69113
diff
changeset
|
4724 #endif |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
4725 |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4726 #ifdef MAC_OSX |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4727 if (WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_LEFT (w)) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4728 fringe_extended_p = (WINDOW_LEFTMOST_P (w) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4729 && WINDOW_LEFT_FRINGE_WIDTH (w) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4730 && (WINDOW_HAS_FRINGES_OUTSIDE_MARGINS (w) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4731 || WINDOW_LEFT_MARGIN_COLS (w) == 0)); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4732 else |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4733 fringe_extended_p = (WINDOW_RIGHTMOST_P (w) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4734 && WINDOW_RIGHT_FRINGE_WIDTH (w) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4735 && (WINDOW_HAS_FRINGES_OUTSIDE_MARGINS (w) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4736 || WINDOW_RIGHT_MARGIN_COLS (w) == 0)); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4737 #endif |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4738 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4739 /* Does the scroll bar exist yet? */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4740 if (NILP (w->vertical_scroll_bar)) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4741 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4742 BLOCK_INPUT; |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4743 #ifdef MAC_OSX |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4744 if (fringe_extended_p) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4745 mac_clear_area (f, sb_left, top, sb_width, height); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4746 else |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4747 #endif |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4748 mac_clear_area (f, left, top, width, height); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4749 UNBLOCK_INPUT; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4750 bar = x_scroll_bar_create (w, top, sb_left, sb_width, height, disp_top, |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4751 disp_height); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4752 XSETVECTOR (w->vertical_scroll_bar, bar); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4753 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4754 else |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4755 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4756 /* It may just need to be moved and resized. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4757 bar = XSCROLL_BAR (w->vertical_scroll_bar); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4758 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4759 BLOCK_INPUT; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4760 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4761 /* If already correctly positioned, do nothing. */ |
|
79897
d2835a5f1cb5
(x_scroll_bar_create): Initialize bar->redraw_needed_p.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
79759
diff
changeset
|
4762 if (XINT (bar->left) == sb_left |
|
d2835a5f1cb5
(x_scroll_bar_create): Initialize bar->redraw_needed_p.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
79759
diff
changeset
|
4763 && XINT (bar->top) == top |
|
d2835a5f1cb5
(x_scroll_bar_create): Initialize bar->redraw_needed_p.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
79759
diff
changeset
|
4764 && XINT (bar->width) == sb_width |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4765 && XINT (bar->height) == height |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4766 #ifdef MAC_OSX |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4767 && !NILP (bar->fringe_extended_p) == fringe_extended_p |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4768 #endif |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4769 ) |
|
79897
d2835a5f1cb5
(x_scroll_bar_create): Initialize bar->redraw_needed_p.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
79759
diff
changeset
|
4770 { |
|
d2835a5f1cb5
(x_scroll_bar_create): Initialize bar->redraw_needed_p.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
79759
diff
changeset
|
4771 if (!NILP (bar->redraw_needed_p)) |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
4772 mac_redraw_scroll_bar (bar); |
|
79897
d2835a5f1cb5
(x_scroll_bar_create): Initialize bar->redraw_needed_p.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
79759
diff
changeset
|
4773 } |
|
d2835a5f1cb5
(x_scroll_bar_create): Initialize bar->redraw_needed_p.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
79759
diff
changeset
|
4774 else |
|
62281
9df01a686e3c
[USE_TOOLKIT_SCROLL_BARS] (get_control_part_bounds):
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
62103
diff
changeset
|
4775 { |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
4776 Rect r; |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
4777 |
|
64424
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
4778 /* Since toolkit scroll bars are smaller than the space reserved |
|
feba2f2d875e
(x_bitmap_icon, x_make_frame_visible): Remove declarations.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64313
diff
changeset
|
4779 for them on the frame, we have to clear "under" them. */ |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4780 #ifdef MAC_OSX |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4781 if (fringe_extended_p) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4782 mac_clear_area (f, sb_left, top, sb_width, height); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4783 else |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4784 #endif |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4785 mac_clear_area (f, left, top, width, height); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4786 |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
4787 SetRect (&r, sb_left + VERTICAL_SCROLL_BAR_WIDTH_TRIM, disp_top, |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
4788 sb_left + sb_width - VERTICAL_SCROLL_BAR_WIDTH_TRIM, |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
4789 disp_top + disp_height); |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
4790 mac_set_scroll_bar_bounds (bar, &r); |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
4791 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4792 /* Remember new settings. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4793 XSETINT (bar->left, sb_left); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4794 XSETINT (bar->top, top); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4795 XSETINT (bar->width, sb_width); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4796 XSETINT (bar->height, height); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4797 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4798 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4799 UNBLOCK_INPUT; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4800 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4801 |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4802 #ifdef MAC_OSX |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4803 bar->fringe_extended_p = fringe_extended_p ? Qt : Qnil; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4804 #endif |
|
79897
d2835a5f1cb5
(x_scroll_bar_create): Initialize bar->redraw_needed_p.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
79759
diff
changeset
|
4805 bar->redraw_needed_p = Qnil; |
|
d2835a5f1cb5
(x_scroll_bar_create): Initialize bar->redraw_needed_p.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
79759
diff
changeset
|
4806 |
|
62103
2d42fd79f829
(toolkit_scroll_bar_interaction): Remove unused
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61786
diff
changeset
|
4807 #ifdef USE_TOOLKIT_SCROLL_BARS |
|
2d42fd79f829
(toolkit_scroll_bar_interaction): Remove unused
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61786
diff
changeset
|
4808 x_set_toolkit_scroll_bar_thumb (bar, portion, position, whole); |
|
2d42fd79f829
(toolkit_scroll_bar_interaction): Remove unused
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61786
diff
changeset
|
4809 #else /* not USE_TOOLKIT_SCROLL_BARS */ |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4810 /* Set the scroll bar's current state, unless we're currently being |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4811 dragged. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4812 if (NILP (bar->dragging)) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4813 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4814 int top_range = 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
|
4815 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4816 if (whole == 0) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4817 x_scroll_bar_set_handle (bar, 0, top_range, 0); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4818 else |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4819 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4820 int start = ((double) position * top_range) / whole; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4821 int end = ((double) (position + portion) * top_range) / whole; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4822 x_scroll_bar_set_handle (bar, start, end, 0); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4823 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4824 } |
|
62103
2d42fd79f829
(toolkit_scroll_bar_interaction): Remove unused
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61786
diff
changeset
|
4825 #endif /* not USE_TOOLKIT_SCROLL_BARS */ |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4826 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4827 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4828 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4829 /* The following three hooks are used when we're doing a thorough |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4830 redisplay of the frame. We don't explicitly know which scroll bars |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4831 are going to be deleted, because keeping track of when windows go |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4832 away is a real pain - "Can you say set-window-configuration, boys |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4833 and girls?" Instead, we just assert at the beginning of redisplay |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4834 that *all* scroll bars are to be removed, and then save a scroll bar |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4835 from the fiery pit when we actually redisplay its window. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4836 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4837 /* Arrange for all scroll bars on FRAME to be removed at the next call |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4838 to `*judge_scroll_bars_hook'. A scroll bar may be spared if |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4839 `*redeem_scroll_bar_hook' is applied to its window before the judgment. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4840 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4841 static void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4842 XTcondemn_scroll_bars (frame) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4843 FRAME_PTR frame; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4844 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4845 /* Transfer all the scroll bars to FRAME_CONDEMNED_SCROLL_BARS. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4846 while (! NILP (FRAME_SCROLL_BARS (frame))) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4847 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4848 Lisp_Object bar; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4849 bar = FRAME_SCROLL_BARS (frame); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4850 FRAME_SCROLL_BARS (frame) = XSCROLL_BAR (bar)->next; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4851 XSCROLL_BAR (bar)->next = FRAME_CONDEMNED_SCROLL_BARS (frame); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4852 XSCROLL_BAR (bar)->prev = Qnil; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4853 if (! NILP (FRAME_CONDEMNED_SCROLL_BARS (frame))) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4854 XSCROLL_BAR (FRAME_CONDEMNED_SCROLL_BARS (frame))->prev = bar; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4855 FRAME_CONDEMNED_SCROLL_BARS (frame) = bar; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4856 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4857 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4858 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4859 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4860 /* Un-mark WINDOW's scroll bar for deletion in this judgment cycle. |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4861 Note that WINDOW isn't necessarily condemned at all. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4862 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4863 static void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4864 XTredeem_scroll_bar (window) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4865 struct window *window; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4866 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4867 struct scroll_bar *bar; |
|
64276
0a062d2d75f3
Don't include stdlib.h or composite.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64102
diff
changeset
|
4868 struct frame *f; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4869 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4870 /* We can't redeem this window's scroll bar if it doesn't have one. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4871 if (NILP (window->vertical_scroll_bar)) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4872 abort (); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4873 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4874 bar = XSCROLL_BAR (window->vertical_scroll_bar); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4875 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4876 /* Unlink it from the condemned list. */ |
|
64276
0a062d2d75f3
Don't include stdlib.h or composite.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64102
diff
changeset
|
4877 f = XFRAME (WINDOW_FRAME (window)); |
|
0a062d2d75f3
Don't include stdlib.h or composite.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64102
diff
changeset
|
4878 if (NILP (bar->prev)) |
|
0a062d2d75f3
Don't include stdlib.h or composite.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64102
diff
changeset
|
4879 { |
|
0a062d2d75f3
Don't include stdlib.h or composite.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64102
diff
changeset
|
4880 /* If the prev pointer is nil, it must be the first in one of |
|
0a062d2d75f3
Don't include stdlib.h or composite.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64102
diff
changeset
|
4881 the lists. */ |
|
0a062d2d75f3
Don't include stdlib.h or composite.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64102
diff
changeset
|
4882 if (EQ (FRAME_SCROLL_BARS (f), window->vertical_scroll_bar)) |
|
0a062d2d75f3
Don't include stdlib.h or composite.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64102
diff
changeset
|
4883 /* It's not condemned. Everything's fine. */ |
|
0a062d2d75f3
Don't include stdlib.h or composite.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64102
diff
changeset
|
4884 return; |
|
0a062d2d75f3
Don't include stdlib.h or composite.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64102
diff
changeset
|
4885 else if (EQ (FRAME_CONDEMNED_SCROLL_BARS (f), |
|
0a062d2d75f3
Don't include stdlib.h or composite.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64102
diff
changeset
|
4886 window->vertical_scroll_bar)) |
|
0a062d2d75f3
Don't include stdlib.h or composite.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64102
diff
changeset
|
4887 FRAME_CONDEMNED_SCROLL_BARS (f) = bar->next; |
|
0a062d2d75f3
Don't include stdlib.h or composite.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64102
diff
changeset
|
4888 else |
|
0a062d2d75f3
Don't include stdlib.h or composite.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64102
diff
changeset
|
4889 /* If its prev pointer is nil, it must be at the front of |
|
0a062d2d75f3
Don't include stdlib.h or composite.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64102
diff
changeset
|
4890 one or the other! */ |
|
0a062d2d75f3
Don't include stdlib.h or composite.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64102
diff
changeset
|
4891 abort (); |
|
0a062d2d75f3
Don't include stdlib.h or composite.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64102
diff
changeset
|
4892 } |
|
0a062d2d75f3
Don't include stdlib.h or composite.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64102
diff
changeset
|
4893 else |
|
0a062d2d75f3
Don't include stdlib.h or composite.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64102
diff
changeset
|
4894 XSCROLL_BAR (bar->prev)->next = bar->next; |
|
0a062d2d75f3
Don't include stdlib.h or composite.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64102
diff
changeset
|
4895 |
|
0a062d2d75f3
Don't include stdlib.h or composite.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64102
diff
changeset
|
4896 if (! NILP (bar->next)) |
|
0a062d2d75f3
Don't include stdlib.h or composite.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64102
diff
changeset
|
4897 XSCROLL_BAR (bar->next)->prev = bar->prev; |
|
0a062d2d75f3
Don't include stdlib.h or composite.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64102
diff
changeset
|
4898 |
|
0a062d2d75f3
Don't include stdlib.h or composite.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64102
diff
changeset
|
4899 bar->next = FRAME_SCROLL_BARS (f); |
|
0a062d2d75f3
Don't include stdlib.h or composite.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64102
diff
changeset
|
4900 bar->prev = Qnil; |
|
0a062d2d75f3
Don't include stdlib.h or composite.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64102
diff
changeset
|
4901 XSETVECTOR (FRAME_SCROLL_BARS (f), bar); |
|
0a062d2d75f3
Don't include stdlib.h or composite.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64102
diff
changeset
|
4902 if (! NILP (bar->next)) |
|
0a062d2d75f3
Don't include stdlib.h or composite.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64102
diff
changeset
|
4903 XSETVECTOR (XSCROLL_BAR (bar->next)->prev, bar); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4904 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4905 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4906 /* Remove all scroll bars on FRAME that haven't been saved since the |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4907 last call to `*condemn_scroll_bars_hook'. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4908 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4909 static void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4910 XTjudge_scroll_bars (f) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4911 FRAME_PTR f; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4912 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4913 Lisp_Object bar, next; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4914 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4915 bar = FRAME_CONDEMNED_SCROLL_BARS (f); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4916 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4917 /* Clear out the condemned list now so we won't try to process any |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4918 more events on the hapless scroll bars. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4919 FRAME_CONDEMNED_SCROLL_BARS (f) = Qnil; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4920 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4921 for (; ! NILP (bar); bar = next) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4922 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4923 struct scroll_bar *b = XSCROLL_BAR (bar); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4924 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4925 x_scroll_bar_remove (b); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4926 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4927 next = b->next; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4928 b->next = b->prev = Qnil; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4929 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4930 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4931 /* Now there should be no references to the condemned scroll bars, |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4932 and they should get garbage-collected. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4933 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4934 |
|
62281
9df01a686e3c
[USE_TOOLKIT_SCROLL_BARS] (get_control_part_bounds):
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
62103
diff
changeset
|
4935 /* The screen has been cleared so we may have changed foreground or |
|
9df01a686e3c
[USE_TOOLKIT_SCROLL_BARS] (get_control_part_bounds):
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
62103
diff
changeset
|
4936 background colors, and the scroll bars may need to be redrawn. |
|
9df01a686e3c
[USE_TOOLKIT_SCROLL_BARS] (get_control_part_bounds):
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
62103
diff
changeset
|
4937 Clear out the scroll bars, and ask for expose events, so we can |
|
9df01a686e3c
[USE_TOOLKIT_SCROLL_BARS] (get_control_part_bounds):
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
62103
diff
changeset
|
4938 redraw them. */ |
|
9df01a686e3c
[USE_TOOLKIT_SCROLL_BARS] (get_control_part_bounds):
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
62103
diff
changeset
|
4939 |
|
9df01a686e3c
[USE_TOOLKIT_SCROLL_BARS] (get_control_part_bounds):
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
62103
diff
changeset
|
4940 void |
|
9df01a686e3c
[USE_TOOLKIT_SCROLL_BARS] (get_control_part_bounds):
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
62103
diff
changeset
|
4941 x_scroll_bar_clear (f) |
|
9df01a686e3c
[USE_TOOLKIT_SCROLL_BARS] (get_control_part_bounds):
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
62103
diff
changeset
|
4942 FRAME_PTR f; |
|
9df01a686e3c
[USE_TOOLKIT_SCROLL_BARS] (get_control_part_bounds):
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
62103
diff
changeset
|
4943 { |
|
79897
d2835a5f1cb5
(x_scroll_bar_create): Initialize bar->redraw_needed_p.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
79759
diff
changeset
|
4944 Lisp_Object bar; |
|
d2835a5f1cb5
(x_scroll_bar_create): Initialize bar->redraw_needed_p.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
79759
diff
changeset
|
4945 |
|
d2835a5f1cb5
(x_scroll_bar_create): Initialize bar->redraw_needed_p.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
79759
diff
changeset
|
4946 /* We can have scroll bars even if this is 0, |
|
d2835a5f1cb5
(x_scroll_bar_create): Initialize bar->redraw_needed_p.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
79759
diff
changeset
|
4947 if we just turned off scroll bar mode. |
|
d2835a5f1cb5
(x_scroll_bar_create): Initialize bar->redraw_needed_p.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
79759
diff
changeset
|
4948 But in that case we should not clear them. */ |
|
d2835a5f1cb5
(x_scroll_bar_create): Initialize bar->redraw_needed_p.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
79759
diff
changeset
|
4949 if (FRAME_HAS_VERTICAL_SCROLL_BARS (f)) |
|
d2835a5f1cb5
(x_scroll_bar_create): Initialize bar->redraw_needed_p.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
79759
diff
changeset
|
4950 for (bar = FRAME_SCROLL_BARS (f); VECTORP (bar); |
|
d2835a5f1cb5
(x_scroll_bar_create): Initialize bar->redraw_needed_p.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
79759
diff
changeset
|
4951 bar = XSCROLL_BAR (bar)->next) |
|
d2835a5f1cb5
(x_scroll_bar_create): Initialize bar->redraw_needed_p.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
79759
diff
changeset
|
4952 XSCROLL_BAR (bar)->redraw_needed_p = Qt; |
|
62281
9df01a686e3c
[USE_TOOLKIT_SCROLL_BARS] (get_control_part_bounds):
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
62103
diff
changeset
|
4953 } |
|
9df01a686e3c
[USE_TOOLKIT_SCROLL_BARS] (get_control_part_bounds):
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
62103
diff
changeset
|
4954 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4955 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
4956 /*********************************************************************** |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4957 Tool-bars |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4958 ***********************************************************************/ |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4959 #if USE_MAC_TOOLBAR |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
4960 void |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4961 mac_move_window_with_gravity (f, win_gravity, left, top) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4962 struct frame *f; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4963 int win_gravity; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4964 short left, top; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4965 { |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4966 Rect inner, outer; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4967 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4968 mac_get_window_bounds (f, &inner, &outer); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4969 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4970 switch (win_gravity) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4971 { |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4972 case NorthWestGravity: |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4973 case WestGravity: |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4974 case SouthWestGravity: |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4975 left += inner.left - outer.left; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4976 break; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4977 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4978 case NorthGravity: |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4979 case CenterGravity: |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4980 case SouthGravity: |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4981 left += ((inner.left - outer.left) + (inner.right - outer.right)) / 2; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4982 break; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4983 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4984 case NorthEastGravity: |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4985 case EastGravity: |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4986 case SouthEastGravity: |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4987 left += inner.right - outer.right; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4988 break; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4989 } |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4990 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4991 switch (win_gravity) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4992 { |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4993 case NorthWestGravity: |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4994 case NorthGravity: |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4995 case NorthEastGravity: |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4996 top += inner.top - outer.top; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4997 break; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4998 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
4999 case WestGravity: |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5000 case CenterGravity: |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5001 case EastGravity: |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5002 top += ((inner.top - outer.top) + (inner.bottom - outer.bottom)) / 2; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5003 break; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5004 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5005 case SouthWestGravity: |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5006 case SouthGravity: |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5007 case SouthEastGravity: |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5008 top += inner.bottom - outer.bottom; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5009 break; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5010 } |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5011 |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
5012 mac_move_window (FRAME_MAC_WINDOW (f), left, top, false); |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
5013 } |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
5014 |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
5015 void |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5016 mac_get_window_origin_with_gravity (f, win_gravity, left, top) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5017 struct frame *f; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5018 int win_gravity; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5019 short *left, *top; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5020 { |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5021 Rect inner, outer; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5022 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5023 mac_get_window_bounds (f, &inner, &outer); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5024 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5025 switch (win_gravity) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5026 { |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5027 case NorthWestGravity: |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5028 case WestGravity: |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5029 case SouthWestGravity: |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5030 *left = outer.left; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5031 break; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5032 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5033 case NorthGravity: |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5034 case CenterGravity: |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5035 case SouthGravity: |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5036 *left = outer.left + ((outer.right - outer.left) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5037 - (inner.right - inner.left)) / 2; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5038 break; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5039 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5040 case NorthEastGravity: |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5041 case EastGravity: |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5042 case SouthEastGravity: |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5043 *left = outer.right - (inner.right - inner.left); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5044 break; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5045 } |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5046 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5047 switch (win_gravity) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5048 { |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5049 case NorthWestGravity: |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5050 case NorthGravity: |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5051 case NorthEastGravity: |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5052 *top = outer.top; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5053 break; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5054 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5055 case WestGravity: |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5056 case CenterGravity: |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5057 case EastGravity: |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5058 *top = outer.top + ((outer.bottom - outer.top) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5059 - (inner.bottom - inner.top)) / 2; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5060 break; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5061 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5062 case SouthWestGravity: |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5063 case SouthGravity: |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5064 case SouthEastGravity: |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5065 *top = outer.bottom - (inner.bottom - inner.top); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5066 break; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5067 } |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5068 } |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5069 |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
5070 CGImageRef |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5071 mac_image_spec_to_cg_image (f, image) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5072 struct frame *f; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5073 Lisp_Object image; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5074 { |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5075 if (!valid_image_p (image)) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5076 return NULL; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5077 else |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5078 { |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5079 int img_id = lookup_image (f, image); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5080 struct image *img = IMAGE_FROM_ID (f, img_id); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5081 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5082 prepare_image_for_display (f, img); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5083 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5084 return img->data.ptr_val; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5085 } |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5086 } |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5087 #endif /* USE_MAC_TOOLBAR */ |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5088 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5089 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5090 /*********************************************************************** |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5091 Text Cursor |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5092 ***********************************************************************/ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5093 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5094 /* Set clipping for output in glyph row ROW. W is the window in which |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5095 we operate. GC is the graphics context to set clipping in. |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5096 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5097 ROW may be a text row or, e.g., a mode line. Text rows must be |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5098 clipped to the interior of the window dedicated to text display, |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5099 mode lines must be clipped to the whole window. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5100 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5101 static void |
|
58403
c936fa56eb60
(x_clip_to_row): Add area arg. Callers changed.
Kim F. Storm <storm@cua.dk>
parents:
57783
diff
changeset
|
5102 x_clip_to_row (w, row, area, gc) |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5103 struct window *w; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5104 struct glyph_row *row; |
|
58403
c936fa56eb60
(x_clip_to_row): Add area arg. Callers changed.
Kim F. Storm <storm@cua.dk>
parents:
57783
diff
changeset
|
5105 int area; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5106 GC gc; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5107 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5108 struct frame *f = XFRAME (WINDOW_FRAME (w)); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5109 Rect clip_rect; |
|
58403
c936fa56eb60
(x_clip_to_row): Add area arg. Callers changed.
Kim F. Storm <storm@cua.dk>
parents:
57783
diff
changeset
|
5110 int window_x, window_y, window_width; |
|
c936fa56eb60
(x_clip_to_row): Add area arg. Callers changed.
Kim F. Storm <storm@cua.dk>
parents:
57783
diff
changeset
|
5111 |
|
c936fa56eb60
(x_clip_to_row): Add area arg. Callers changed.
Kim F. Storm <storm@cua.dk>
parents:
57783
diff
changeset
|
5112 window_box (w, area, &window_x, &window_y, &window_width, 0); |
|
c936fa56eb60
(x_clip_to_row): Add area arg. Callers changed.
Kim F. Storm <storm@cua.dk>
parents:
57783
diff
changeset
|
5113 |
|
c936fa56eb60
(x_clip_to_row): Add area arg. Callers changed.
Kim F. Storm <storm@cua.dk>
parents:
57783
diff
changeset
|
5114 clip_rect.left = window_x; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5115 clip_rect.top = WINDOW_TO_FRAME_PIXEL_Y (w, row->y); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5116 clip_rect.top = max (clip_rect.top, window_y); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5117 clip_rect.right = clip_rect.left + window_width; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5118 clip_rect.bottom = clip_rect.top + row->visible_height; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5119 |
|
80515
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
5120 mac_set_clip_rectangles (f, gc, &clip_rect, 1); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5121 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5122 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5123 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5124 /* Draw a hollow box cursor on window W in glyph row ROW. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5125 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5126 static void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5127 x_draw_hollow_cursor (w, row) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5128 struct window *w; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5129 struct glyph_row *row; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5130 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5131 struct frame *f = XFRAME (WINDOW_FRAME (w)); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5132 struct mac_display_info *dpyinfo = FRAME_MAC_DISPLAY_INFO (f); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5133 Display *dpy = FRAME_MAC_DISPLAY (f); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5134 int x, y, wd, h; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5135 XGCValues xgcv; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5136 struct glyph *cursor_glyph; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5137 GC gc; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5138 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5139 /* Get the glyph the cursor is on. If we can't tell because |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5140 the current matrix is invalid or such, give up. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5141 cursor_glyph = get_phys_cursor_glyph (w); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5142 if (cursor_glyph == NULL) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5143 return; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5144 |
|
59748
1df465faf1df
(x_draw_hollow_cursor): Use get_phys_cursor_geometry.
Kim F. Storm <storm@cua.dk>
parents:
59718
diff
changeset
|
5145 /* Compute frame-relative coordinates for phys cursor. */ |
|
71021
a86a3503e350
(x_draw_stretch_glyph_string): Fix problems with invisible
Kim F. Storm <storm@cua.dk>
parents:
70874
diff
changeset
|
5146 get_phys_cursor_geometry (w, row, cursor_glyph, &x, &y, &h); |
|
69433
a8fd29f179b0
(mac_draw_rectangle, x_draw_glyph_string_foreground)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69369
diff
changeset
|
5147 wd = w->phys_cursor_width; |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
5148 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5149 /* The foreground of cursor_gc is typically the same as the normal |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5150 background color, which can cause the cursor box to be invisible. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5151 xgcv.foreground = f->output_data.mac->cursor_pixel; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5152 if (dpyinfo->scratch_cursor_gc) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5153 XChangeGC (dpy, dpyinfo->scratch_cursor_gc, GCForeground, &xgcv); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5154 else |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5155 dpyinfo->scratch_cursor_gc = XCreateGC (dpy, FRAME_MAC_WINDOW (f), |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5156 GCForeground, &xgcv); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5157 gc = dpyinfo->scratch_cursor_gc; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5158 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5159 /* Set clipping, draw the rectangle, and reset clipping again. */ |
|
58403
c936fa56eb60
(x_clip_to_row): Add area arg. Callers changed.
Kim F. Storm <storm@cua.dk>
parents:
57783
diff
changeset
|
5160 x_clip_to_row (w, row, TEXT_AREA, gc); |
|
69433
a8fd29f179b0
(mac_draw_rectangle, x_draw_glyph_string_foreground)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69369
diff
changeset
|
5161 mac_draw_rectangle (f, gc, x, y, wd, h - 1); |
|
80515
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
5162 mac_reset_clip_rectangles (f, gc); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5163 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5164 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5165 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5166 /* Draw a bar cursor on window W in glyph row ROW. |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5167 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5168 Implementation note: One would like to draw a bar cursor with an |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5169 angle equal to the one given by the font property XA_ITALIC_ANGLE. |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5170 Unfortunately, I didn't find a font yet that has this property set. |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5171 --gerd. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5172 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5173 static void |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
5174 x_draw_bar_cursor (w, row, width, kind) |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5175 struct window *w; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5176 struct glyph_row *row; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5177 int width; |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
5178 enum text_cursor_kinds kind; |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
5179 { |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
5180 struct frame *f = XFRAME (w->frame); |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
5181 struct glyph *cursor_glyph; |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
5182 |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
5183 /* If cursor is out of bounds, don't draw garbage. This can happen |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
5184 in mini-buffer windows when switching between echo area glyphs |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
5185 and mini-buffer. */ |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
5186 cursor_glyph = get_phys_cursor_glyph (w); |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
5187 if (cursor_glyph == NULL) |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
5188 return; |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
5189 |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
5190 /* If on an image, draw like a normal cursor. That's usually better |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
5191 visible than drawing a bar, esp. if the image is large so that |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
5192 the bar might not be in the window. */ |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
5193 if (cursor_glyph->type == IMAGE_GLYPH) |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
5194 { |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
5195 struct glyph_row *row; |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
5196 row = MATRIX_ROW (w->current_matrix, w->phys_cursor.vpos); |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
5197 draw_phys_cursor_glyph (w, row, DRAW_CURSOR); |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
5198 } |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
5199 else |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
5200 { |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
5201 Display *dpy = FRAME_MAC_DISPLAY (f); |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
5202 Window window = FRAME_MAC_WINDOW (f); |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
5203 GC gc = FRAME_MAC_DISPLAY_INFO (f)->scratch_cursor_gc; |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
5204 unsigned long mask = GCForeground | GCBackground; |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
5205 struct face *face = FACE_FROM_ID (f, cursor_glyph->face_id); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5206 XGCValues xgcv; |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
5207 |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
5208 /* If the glyph's background equals the color we normally draw |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
5209 the bar cursor in, the bar cursor in its normal color is |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
5210 invisible. Use the glyph's foreground color instead in this |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
5211 case, on the assumption that the glyph's colors are chosen so |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
5212 that the glyph is legible. */ |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
5213 if (face->background == f->output_data.mac->cursor_pixel) |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
5214 xgcv.background = xgcv.foreground = face->foreground; |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
5215 else |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
5216 xgcv.background = xgcv.foreground = f->output_data.mac->cursor_pixel; |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
5217 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5218 if (gc) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5219 XChangeGC (dpy, gc, mask, &xgcv); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5220 else |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5221 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5222 gc = XCreateGC (dpy, window, mask, &xgcv); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5223 FRAME_MAC_DISPLAY_INFO (f)->scratch_cursor_gc = gc; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5224 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5225 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5226 if (width < 0) |
|
47138
4a0541418bc5
(x_specified_cursor_type): Remove prototype.
Kim F. Storm <storm@cua.dk>
parents:
47030
diff
changeset
|
5227 width = FRAME_CURSOR_WIDTH (f); |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
5228 width = min (cursor_glyph->pixel_width, width); |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
5229 |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
5230 w->phys_cursor_width = width; |
|
58403
c936fa56eb60
(x_clip_to_row): Add area arg. Callers changed.
Kim F. Storm <storm@cua.dk>
parents:
57783
diff
changeset
|
5231 x_clip_to_row (w, row, TEXT_AREA, gc); |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
5232 |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
5233 if (kind == BAR_CURSOR) |
|
66110
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
5234 mac_fill_rectangle (f, gc, |
|
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
5235 WINDOW_TEXT_TO_FRAME_PIXEL_X (w, w->phys_cursor.x), |
|
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
5236 WINDOW_TO_FRAME_PIXEL_Y (w, w->phys_cursor.y), |
|
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
5237 width, row->height); |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
5238 else |
|
66110
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
5239 mac_fill_rectangle (f, gc, |
|
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
5240 WINDOW_TEXT_TO_FRAME_PIXEL_X (w, w->phys_cursor.x), |
|
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
5241 WINDOW_TO_FRAME_PIXEL_Y (w, w->phys_cursor.y + |
|
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
5242 row->height - width), |
|
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
5243 cursor_glyph->pixel_width, |
|
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
5244 width); |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
5245 |
|
80515
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
5246 mac_reset_clip_rectangles (f, gc); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5247 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5248 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5249 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5250 |
|
50222
90e10bfd8bfa
* macterm.c: Remove consolidated defines and code.
Kim F. Storm <storm@cua.dk>
parents:
50157
diff
changeset
|
5251 /* RIF: Define cursor CURSOR on frame F. */ |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5252 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5253 static void |
|
50222
90e10bfd8bfa
* macterm.c: Remove consolidated defines and code.
Kim F. Storm <storm@cua.dk>
parents:
50157
diff
changeset
|
5254 mac_define_frame_cursor (f, cursor) |
|
90e10bfd8bfa
* macterm.c: Remove consolidated defines and code.
Kim F. Storm <storm@cua.dk>
parents:
50157
diff
changeset
|
5255 struct frame *f; |
|
90e10bfd8bfa
* macterm.c: Remove consolidated defines and code.
Kim F. Storm <storm@cua.dk>
parents:
50157
diff
changeset
|
5256 Cursor cursor; |
|
90e10bfd8bfa
* macterm.c: Remove consolidated defines and code.
Kim F. Storm <storm@cua.dk>
parents:
50157
diff
changeset
|
5257 { |
|
68770
4eb8cd48f0ef
(mac_define_frame_cursor): Don't change pointer shape
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
68651
diff
changeset
|
5258 struct mac_display_info *dpyinfo = FRAME_MAC_DISPLAY_INFO (f); |
|
4eb8cd48f0ef
(mac_define_frame_cursor): Don't change pointer shape
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
68651
diff
changeset
|
5259 |
|
4eb8cd48f0ef
(mac_define_frame_cursor): Don't change pointer shape
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
68651
diff
changeset
|
5260 if (dpyinfo->x_focus_frame == f) |
|
4eb8cd48f0ef
(mac_define_frame_cursor): Don't change pointer shape
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
68651
diff
changeset
|
5261 SetThemeCursor (cursor); |
|
50222
90e10bfd8bfa
* macterm.c: Remove consolidated defines and code.
Kim F. Storm <storm@cua.dk>
parents:
50157
diff
changeset
|
5262 } |
|
90e10bfd8bfa
* macterm.c: Remove consolidated defines and code.
Kim F. Storm <storm@cua.dk>
parents:
50157
diff
changeset
|
5263 |
|
90e10bfd8bfa
* macterm.c: Remove consolidated defines and code.
Kim F. Storm <storm@cua.dk>
parents:
50157
diff
changeset
|
5264 |
|
90e10bfd8bfa
* macterm.c: Remove consolidated defines and code.
Kim F. Storm <storm@cua.dk>
parents:
50157
diff
changeset
|
5265 /* RIF: Clear area on frame F. */ |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5266 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5267 static void |
|
50222
90e10bfd8bfa
* macterm.c: Remove consolidated defines and code.
Kim F. Storm <storm@cua.dk>
parents:
50157
diff
changeset
|
5268 mac_clear_frame_area (f, x, y, width, height) |
|
90e10bfd8bfa
* macterm.c: Remove consolidated defines and code.
Kim F. Storm <storm@cua.dk>
parents:
50157
diff
changeset
|
5269 struct frame *f; |
|
90e10bfd8bfa
* macterm.c: Remove consolidated defines and code.
Kim F. Storm <storm@cua.dk>
parents:
50157
diff
changeset
|
5270 int x, y, width, height; |
|
90e10bfd8bfa
* macterm.c: Remove consolidated defines and code.
Kim F. Storm <storm@cua.dk>
parents:
50157
diff
changeset
|
5271 { |
|
66110
479c8c41d179
(MAC_WINDOW_NORMAL_GC): Remove macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66080
diff
changeset
|
5272 mac_clear_area (f, x, y, width, height); |
|
50222
90e10bfd8bfa
* macterm.c: Remove consolidated defines and code.
Kim F. Storm <storm@cua.dk>
parents:
50157
diff
changeset
|
5273 } |
|
90e10bfd8bfa
* macterm.c: Remove consolidated defines and code.
Kim F. Storm <storm@cua.dk>
parents:
50157
diff
changeset
|
5274 |
|
90e10bfd8bfa
* macterm.c: Remove consolidated defines and code.
Kim F. Storm <storm@cua.dk>
parents:
50157
diff
changeset
|
5275 |
|
90e10bfd8bfa
* macterm.c: Remove consolidated defines and code.
Kim F. Storm <storm@cua.dk>
parents:
50157
diff
changeset
|
5276 /* RIF: Draw cursor on window W. */ |
|
90e10bfd8bfa
* macterm.c: Remove consolidated defines and code.
Kim F. Storm <storm@cua.dk>
parents:
50157
diff
changeset
|
5277 |
|
90e10bfd8bfa
* macterm.c: Remove consolidated defines and code.
Kim F. Storm <storm@cua.dk>
parents:
50157
diff
changeset
|
5278 static void |
|
50243
3fb54e5a7201
(struct redisplay_interface): Add active_p argument to
Kim F. Storm <storm@cua.dk>
parents:
50222
diff
changeset
|
5279 mac_draw_window_cursor (w, glyph_row, x, y, cursor_type, cursor_width, on_p, active_p) |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5280 struct window *w; |
|
50222
90e10bfd8bfa
* macterm.c: Remove consolidated defines and code.
Kim F. Storm <storm@cua.dk>
parents:
50157
diff
changeset
|
5281 struct glyph_row *glyph_row; |
|
50243
3fb54e5a7201
(struct redisplay_interface): Add active_p argument to
Kim F. Storm <storm@cua.dk>
parents:
50222
diff
changeset
|
5282 int x, y; |
|
3fb54e5a7201
(struct redisplay_interface): Add active_p argument to
Kim F. Storm <storm@cua.dk>
parents:
50222
diff
changeset
|
5283 int cursor_type, cursor_width; |
|
3fb54e5a7201
(struct redisplay_interface): Add active_p argument to
Kim F. Storm <storm@cua.dk>
parents:
50222
diff
changeset
|
5284 int on_p, active_p; |
|
3fb54e5a7201
(struct redisplay_interface): Add active_p argument to
Kim F. Storm <storm@cua.dk>
parents:
50222
diff
changeset
|
5285 { |
|
3fb54e5a7201
(struct redisplay_interface): Add active_p argument to
Kim F. Storm <storm@cua.dk>
parents:
50222
diff
changeset
|
5286 if (on_p) |
|
3fb54e5a7201
(struct redisplay_interface): Add active_p argument to
Kim F. Storm <storm@cua.dk>
parents:
50222
diff
changeset
|
5287 { |
|
3fb54e5a7201
(struct redisplay_interface): Add active_p argument to
Kim F. Storm <storm@cua.dk>
parents:
50222
diff
changeset
|
5288 w->phys_cursor_type = cursor_type; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5289 w->phys_cursor_on_p = 1; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5290 |
|
53606
96c29ac603e8
(x_update_window_end): Call draw_window_fringes.
Kim F. Storm <storm@cua.dk>
parents:
53579
diff
changeset
|
5291 if (glyph_row->exact_window_width_line_p |
|
96c29ac603e8
(x_update_window_end): Call draw_window_fringes.
Kim F. Storm <storm@cua.dk>
parents:
53579
diff
changeset
|
5292 && w->phys_cursor.hpos >= glyph_row->used[TEXT_AREA]) |
|
96c29ac603e8
(x_update_window_end): Call draw_window_fringes.
Kim F. Storm <storm@cua.dk>
parents:
53579
diff
changeset
|
5293 { |
|
96c29ac603e8
(x_update_window_end): Call draw_window_fringes.
Kim F. Storm <storm@cua.dk>
parents:
53579
diff
changeset
|
5294 glyph_row->cursor_in_fringe_p = 1; |
|
96c29ac603e8
(x_update_window_end): Call draw_window_fringes.
Kim F. Storm <storm@cua.dk>
parents:
53579
diff
changeset
|
5295 draw_fringe_bitmap (w, glyph_row, 0); |
|
96c29ac603e8
(x_update_window_end): Call draw_window_fringes.
Kim F. Storm <storm@cua.dk>
parents:
53579
diff
changeset
|
5296 } |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
5297 else |
|
50243
3fb54e5a7201
(struct redisplay_interface): Add active_p argument to
Kim F. Storm <storm@cua.dk>
parents:
50222
diff
changeset
|
5298 switch (cursor_type) |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5299 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5300 case HOLLOW_BOX_CURSOR: |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5301 x_draw_hollow_cursor (w, glyph_row); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5302 break; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5303 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5304 case FILLED_BOX_CURSOR: |
|
50222
90e10bfd8bfa
* macterm.c: Remove consolidated defines and code.
Kim F. Storm <storm@cua.dk>
parents:
50157
diff
changeset
|
5305 draw_phys_cursor_glyph (w, glyph_row, DRAW_CURSOR); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5306 break; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5307 |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
5308 case BAR_CURSOR: |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
5309 x_draw_bar_cursor (w, glyph_row, cursor_width, BAR_CURSOR); |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
5310 break; |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
5311 |
|
47138
4a0541418bc5
(x_specified_cursor_type): Remove prototype.
Kim F. Storm <storm@cua.dk>
parents:
47030
diff
changeset
|
5312 case HBAR_CURSOR: |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
5313 x_draw_bar_cursor (w, glyph_row, cursor_width, HBAR_CURSOR); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5314 break; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5315 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5316 case NO_CURSOR: |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
5317 w->phys_cursor_width = 0; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5318 break; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5319 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5320 default: |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5321 abort (); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5322 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5323 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5324 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5325 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5326 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5327 /* Icons. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5328 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5329 #if 0 /* MAC_TODO: no icon support yet. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5330 int |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5331 x_bitmap_icon (f, icon) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5332 struct frame *f; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5333 Lisp_Object icon; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5334 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5335 HANDLE hicon; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5336 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5337 if (FRAME_W32_WINDOW (f) == 0) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5338 return 1; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5339 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5340 if (NILP (icon)) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5341 hicon = LoadIcon (hinst, EMACS_CLASS); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5342 else if (STRINGP (icon)) |
|
46370
40db0673e6f0
Most uses of XSTRING combined with STRING_BYTES or indirection changed to
Ken Raeburn <raeburn@raeburn.org>
parents:
46169
diff
changeset
|
5343 hicon = LoadImage (NULL, (LPCTSTR) SDATA (icon), IMAGE_ICON, 0, 0, |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5344 LR_DEFAULTSIZE | LR_LOADFROMFILE); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5345 else if (SYMBOLP (icon)) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5346 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5347 LPCTSTR name; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5348 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5349 if (EQ (icon, intern ("application"))) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5350 name = (LPCTSTR) IDI_APPLICATION; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5351 else if (EQ (icon, intern ("hand"))) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5352 name = (LPCTSTR) IDI_HAND; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5353 else if (EQ (icon, intern ("question"))) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5354 name = (LPCTSTR) IDI_QUESTION; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5355 else if (EQ (icon, intern ("exclamation"))) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5356 name = (LPCTSTR) IDI_EXCLAMATION; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5357 else if (EQ (icon, intern ("asterisk"))) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5358 name = (LPCTSTR) IDI_ASTERISK; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5359 else if (EQ (icon, intern ("winlogo"))) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5360 name = (LPCTSTR) IDI_WINLOGO; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5361 else |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5362 return 1; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5363 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5364 hicon = LoadIcon (NULL, name); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5365 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5366 else |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5367 return 1; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5368 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5369 if (hicon == NULL) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5370 return 1; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5371 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5372 PostMessage (FRAME_W32_WINDOW (f), WM_SETICON, (WPARAM) ICON_BIG, |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5373 (LPARAM) hicon); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5374 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5375 return 0; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5376 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5377 #endif /* MAC_TODO */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5378 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5379 /************************************************************************ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5380 Handling X errors |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5381 ************************************************************************/ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5382 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5383 /* Display Error Handling functions not used on W32. Listing them here |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5384 helps diff stay in step when comparing w32term.c with xterm.c. |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5385 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5386 x_error_catcher (display, error) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5387 x_catch_errors (dpy) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5388 x_catch_errors_unwind (old_val) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5389 x_check_errors (dpy, format) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5390 x_had_errors_p (dpy) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5391 x_clear_errors (dpy) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5392 x_uncatch_errors (dpy, count) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5393 x_trace_wire () |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5394 x_connection_signal (signalnum) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5395 x_connection_closed (dpy, error_message) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5396 x_error_quitter (display, error) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5397 x_error_handler (display, error) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5398 x_io_error_quitter (display) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5399 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5400 */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5401 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5402 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5403 /* Changing the font 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
|
5404 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5405 /* Give frame F the font named FONTNAME as its default font, and |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5406 return the full name of that font. FONTNAME may be a wildcard |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5407 pattern; in that case, we choose some font that fits the pattern. |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5408 The return value shows which font we chose. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5409 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5410 Lisp_Object |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5411 x_new_font (f, fontname) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5412 struct frame *f; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5413 register char *fontname; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5414 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5415 struct font_info *fontp |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5416 = FS_LOAD_FONT (f, 0, fontname, -1); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5417 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5418 if (!fontp) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5419 return Qnil; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5420 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5421 FRAME_FONT (f) = (XFontStruct *) (fontp->font); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5422 FRAME_BASELINE_OFFSET (f) = fontp->baseline_offset; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5423 FRAME_FONTSET (f) = -1; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5424 |
|
59325
68eaccfa130a
* macterm.c (x_new_font): Set FRAME_SPACE_WIDTH.
Steven Tamm <steventamm@mac.com>
parents:
59199
diff
changeset
|
5425 FRAME_COLUMN_WIDTH (f) = fontp->average_width; |
|
68eaccfa130a
* macterm.c (x_new_font): Set FRAME_SPACE_WIDTH.
Steven Tamm <steventamm@mac.com>
parents:
59199
diff
changeset
|
5426 FRAME_SPACE_WIDTH (f) = fontp->space_width; |
|
51198
f8e097cae353
Make (several) trivial substitutions for renamed and
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
5427 FRAME_LINE_HEIGHT (f) = FONT_HEIGHT (FRAME_FONT (f)); |
|
f8e097cae353
Make (several) trivial substitutions for renamed and
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
5428 |
|
f8e097cae353
Make (several) trivial substitutions for renamed and
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
5429 compute_fringe_widths (f, 1); |
|
f8e097cae353
Make (several) trivial substitutions for renamed and
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
5430 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5431 /* Compute the scroll bar width in character columns. */ |
|
51198
f8e097cae353
Make (several) trivial substitutions for renamed and
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
5432 if (FRAME_CONFIG_SCROLL_BAR_WIDTH (f) > 0) |
|
f8e097cae353
Make (several) trivial substitutions for renamed and
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
5433 { |
|
f8e097cae353
Make (several) trivial substitutions for renamed and
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
5434 int wid = FRAME_COLUMN_WIDTH (f); |
|
55025
5cbecea4d4ad
(x_draw_relief_rect): Add top_p and bot_p args.
Kim F. Storm <storm@cua.dk>
parents:
54366
diff
changeset
|
5435 FRAME_CONFIG_SCROLL_BAR_COLS (f) |
|
51198
f8e097cae353
Make (several) trivial substitutions for renamed and
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
5436 = (FRAME_CONFIG_SCROLL_BAR_WIDTH (f) + wid-1) / wid; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5437 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5438 else |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5439 { |
|
51198
f8e097cae353
Make (several) trivial substitutions for renamed and
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
5440 int wid = FRAME_COLUMN_WIDTH (f); |
|
f8e097cae353
Make (several) trivial substitutions for renamed and
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
5441 FRAME_CONFIG_SCROLL_BAR_COLS (f) = (14 + wid - 1) / wid; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5442 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5443 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5444 /* Now make the frame display the given font. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5445 if (FRAME_MAC_WINDOW (f) != 0) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5446 { |
| 45848 | 5447 XSetFont (FRAME_MAC_DISPLAY (f), f->output_data.mac->normal_gc, |
|
51198
f8e097cae353
Make (several) trivial substitutions for renamed and
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
5448 FRAME_FONT (f)); |
| 45848 | 5449 XSetFont (FRAME_MAC_DISPLAY (f), f->output_data.mac->reverse_gc, |
|
51198
f8e097cae353
Make (several) trivial substitutions for renamed and
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
5450 FRAME_FONT (f)); |
| 45848 | 5451 XSetFont (FRAME_MAC_DISPLAY (f), f->output_data.mac->cursor_gc, |
|
51198
f8e097cae353
Make (several) trivial substitutions for renamed and
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
5452 FRAME_FONT (f)); |
|
f8e097cae353
Make (several) trivial substitutions for renamed and
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
5453 |
|
59146
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
5454 /* Don't change the size of a tip frame; there's no point in |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
5455 doing it because it's done in Fx_show_tip, and it leads to |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
5456 problems because the tip frame has no widget. */ |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5457 if (NILP (tip_frame) || XFRAME (tip_frame) != f) |
|
51198
f8e097cae353
Make (several) trivial substitutions for renamed and
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
5458 x_set_window_size (f, 0, FRAME_COLS (f), FRAME_LINES (f)); |
|
f8e097cae353
Make (several) trivial substitutions for renamed and
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
5459 } |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5460 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5461 return build_string (fontp->full_name); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5462 } |
|
59146
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
5463 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5464 /* Give frame F the fontset named FONTSETNAME as its default font, and |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5465 return the full name of that fontset. FONTSETNAME may be a wildcard |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5466 pattern; in that case, we choose some fontset that fits the pattern. |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5467 The return value shows which fontset we chose. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5468 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5469 Lisp_Object |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5470 x_new_fontset (f, fontsetname) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5471 struct frame *f; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5472 char *fontsetname; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5473 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5474 int fontset = fs_query_fontset (build_string (fontsetname), 0); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5475 Lisp_Object result; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5476 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5477 if (fontset < 0) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5478 return Qnil; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5479 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5480 if (FRAME_FONTSET (f) == fontset) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5481 /* This fontset is already set in frame F. There's nothing more |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5482 to do. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5483 return fontset_name (fontset); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5484 |
|
46370
40db0673e6f0
Most uses of XSTRING combined with STRING_BYTES or indirection changed to
Ken Raeburn <raeburn@raeburn.org>
parents:
46169
diff
changeset
|
5485 result = x_new_font (f, (SDATA (fontset_ascii (fontset)))); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5486 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5487 if (!STRINGP (result)) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5488 /* Can't load ASCII font. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5489 return Qnil; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5490 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5491 /* Since x_new_font doesn't update any fontset information, do it now. */ |
|
61574
d3c53b9d1828
(x_autoselect_window_p): Remove variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61555
diff
changeset
|
5492 FRAME_FONTSET (f) = fontset; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5493 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5494 return build_string (fontsetname); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5495 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5496 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5497 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5498 /*********************************************************************** |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5499 TODO: W32 Input Methods |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5500 ***********************************************************************/ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5501 /* Listing missing functions from xterm.c helps diff stay in step. |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5502 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5503 xim_destroy_callback (xim, client_data, call_data) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5504 xim_open_dpy (dpyinfo, resource_name) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5505 struct xim_inst_t |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5506 xim_instantiate_callback (display, client_data, call_data) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5507 xim_initialize (dpyinfo, resource_name) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5508 xim_close_dpy (dpyinfo) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5509 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5510 */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5511 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5512 |
|
57357
05fe2d3ca439
macfns.c (mac_get_window_bounds): Add extern.
Steven Tamm <steventamm@mac.com>
parents:
56890
diff
changeset
|
5513 void |
|
72706
10536ef853fe
(mac_handle_origin_change, mac_handle_size_change)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72647
diff
changeset
|
5514 mac_handle_origin_change (f) |
|
10536ef853fe
(mac_handle_origin_change, mac_handle_size_change)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72647
diff
changeset
|
5515 struct frame *f; |
|
10536ef853fe
(mac_handle_origin_change, mac_handle_size_change)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72647
diff
changeset
|
5516 { |
|
10536ef853fe
(mac_handle_origin_change, mac_handle_size_change)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72647
diff
changeset
|
5517 x_real_positions (f, &f->left_pos, &f->top_pos); |
|
10536ef853fe
(mac_handle_origin_change, mac_handle_size_change)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72647
diff
changeset
|
5518 } |
|
10536ef853fe
(mac_handle_origin_change, mac_handle_size_change)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72647
diff
changeset
|
5519 |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
5520 void |
|
72706
10536ef853fe
(mac_handle_origin_change, mac_handle_size_change)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72647
diff
changeset
|
5521 mac_handle_size_change (f, pixelwidth, pixelheight) |
|
10536ef853fe
(mac_handle_origin_change, mac_handle_size_change)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72647
diff
changeset
|
5522 struct frame *f; |
|
10536ef853fe
(mac_handle_origin_change, mac_handle_size_change)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72647
diff
changeset
|
5523 int pixelwidth, pixelheight; |
|
10536ef853fe
(mac_handle_origin_change, mac_handle_size_change)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72647
diff
changeset
|
5524 { |
|
10536ef853fe
(mac_handle_origin_change, mac_handle_size_change)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72647
diff
changeset
|
5525 int cols, rows; |
|
10536ef853fe
(mac_handle_origin_change, mac_handle_size_change)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72647
diff
changeset
|
5526 |
|
10536ef853fe
(mac_handle_origin_change, mac_handle_size_change)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72647
diff
changeset
|
5527 cols = FRAME_PIXEL_WIDTH_TO_TEXT_COLS (f, pixelwidth); |
|
10536ef853fe
(mac_handle_origin_change, mac_handle_size_change)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72647
diff
changeset
|
5528 rows = FRAME_PIXEL_HEIGHT_TO_TEXT_LINES (f, pixelheight); |
|
10536ef853fe
(mac_handle_origin_change, mac_handle_size_change)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72647
diff
changeset
|
5529 |
|
10536ef853fe
(mac_handle_origin_change, mac_handle_size_change)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72647
diff
changeset
|
5530 if (cols != FRAME_COLS (f) |
|
10536ef853fe
(mac_handle_origin_change, mac_handle_size_change)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72647
diff
changeset
|
5531 || rows != FRAME_LINES (f) |
|
10536ef853fe
(mac_handle_origin_change, mac_handle_size_change)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72647
diff
changeset
|
5532 || pixelwidth != FRAME_PIXEL_WIDTH (f) |
|
10536ef853fe
(mac_handle_origin_change, mac_handle_size_change)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72647
diff
changeset
|
5533 || pixelheight != FRAME_PIXEL_HEIGHT (f)) |
|
10536ef853fe
(mac_handle_origin_change, mac_handle_size_change)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72647
diff
changeset
|
5534 { |
|
10536ef853fe
(mac_handle_origin_change, mac_handle_size_change)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72647
diff
changeset
|
5535 /* We pass 1 for DELAY since we can't run Lisp code inside of |
|
10536ef853fe
(mac_handle_origin_change, mac_handle_size_change)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72647
diff
changeset
|
5536 a BLOCK_INPUT. */ |
|
10536ef853fe
(mac_handle_origin_change, mac_handle_size_change)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72647
diff
changeset
|
5537 change_frame_size (f, rows, cols, 0, 1, 0); |
|
10536ef853fe
(mac_handle_origin_change, mac_handle_size_change)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72647
diff
changeset
|
5538 FRAME_PIXEL_WIDTH (f) = pixelwidth; |
|
10536ef853fe
(mac_handle_origin_change, mac_handle_size_change)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72647
diff
changeset
|
5539 FRAME_PIXEL_HEIGHT (f) = pixelheight; |
|
10536ef853fe
(mac_handle_origin_change, mac_handle_size_change)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72647
diff
changeset
|
5540 |
|
10536ef853fe
(mac_handle_origin_change, mac_handle_size_change)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72647
diff
changeset
|
5541 /* If cursor was outside the new size, mark it as off. */ |
|
10536ef853fe
(mac_handle_origin_change, mac_handle_size_change)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72647
diff
changeset
|
5542 mark_window_cursors_off (XWINDOW (f->root_window)); |
|
10536ef853fe
(mac_handle_origin_change, mac_handle_size_change)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72647
diff
changeset
|
5543 |
|
10536ef853fe
(mac_handle_origin_change, mac_handle_size_change)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72647
diff
changeset
|
5544 /* Clear out any recollection of where the mouse highlighting |
|
10536ef853fe
(mac_handle_origin_change, mac_handle_size_change)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72647
diff
changeset
|
5545 was, since it might be in a place that's outside the new |
|
10536ef853fe
(mac_handle_origin_change, mac_handle_size_change)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72647
diff
changeset
|
5546 frame size. Actually checking whether it is outside is a |
|
10536ef853fe
(mac_handle_origin_change, mac_handle_size_change)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72647
diff
changeset
|
5547 pain in the neck, so don't try--just let the highlighting be |
|
10536ef853fe
(mac_handle_origin_change, mac_handle_size_change)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72647
diff
changeset
|
5548 done afresh with new size. */ |
|
10536ef853fe
(mac_handle_origin_change, mac_handle_size_change)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72647
diff
changeset
|
5549 cancel_mouse_face (f); |
|
10536ef853fe
(mac_handle_origin_change, mac_handle_size_change)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72647
diff
changeset
|
5550 |
|
10536ef853fe
(mac_handle_origin_change, mac_handle_size_change)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72647
diff
changeset
|
5551 #if TARGET_API_MAC_CARBON |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
5552 mac_reposition_hourglass (f); |
|
72706
10536ef853fe
(mac_handle_origin_change, mac_handle_size_change)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72647
diff
changeset
|
5553 #endif |
|
10536ef853fe
(mac_handle_origin_change, mac_handle_size_change)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72647
diff
changeset
|
5554 } |
|
10536ef853fe
(mac_handle_origin_change, mac_handle_size_change)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72647
diff
changeset
|
5555 } |
|
57357
05fe2d3ca439
macfns.c (mac_get_window_bounds): Add extern.
Steven Tamm <steventamm@mac.com>
parents:
56890
diff
changeset
|
5556 |
|
64276
0a062d2d75f3
Don't include stdlib.h or composite.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64102
diff
changeset
|
5557 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5558 /* Calculate the absolute position in frame F |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5559 from its current recorded position values and gravity. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5560 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5561 void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5562 x_calc_absolute_position (f) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5563 struct frame *f; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5564 { |
|
51198
f8e097cae353
Make (several) trivial substitutions for renamed and
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
5565 int flags = f->size_hint_flags; |
|
57357
05fe2d3ca439
macfns.c (mac_get_window_bounds): Add extern.
Steven Tamm <steventamm@mac.com>
parents:
56890
diff
changeset
|
5566 Rect inner, outer; |
|
05fe2d3ca439
macfns.c (mac_get_window_bounds): Add extern.
Steven Tamm <steventamm@mac.com>
parents:
56890
diff
changeset
|
5567 |
|
05fe2d3ca439
macfns.c (mac_get_window_bounds): Add extern.
Steven Tamm <steventamm@mac.com>
parents:
56890
diff
changeset
|
5568 /* We have nothing to do if the current position |
|
05fe2d3ca439
macfns.c (mac_get_window_bounds): Add extern.
Steven Tamm <steventamm@mac.com>
parents:
56890
diff
changeset
|
5569 is already for the top-left corner. */ |
|
05fe2d3ca439
macfns.c (mac_get_window_bounds): Add extern.
Steven Tamm <steventamm@mac.com>
parents:
56890
diff
changeset
|
5570 if (! ((flags & XNegative) || (flags & YNegative))) |
|
05fe2d3ca439
macfns.c (mac_get_window_bounds): Add extern.
Steven Tamm <steventamm@mac.com>
parents:
56890
diff
changeset
|
5571 return; |
|
05fe2d3ca439
macfns.c (mac_get_window_bounds): Add extern.
Steven Tamm <steventamm@mac.com>
parents:
56890
diff
changeset
|
5572 |
|
05fe2d3ca439
macfns.c (mac_get_window_bounds): Add extern.
Steven Tamm <steventamm@mac.com>
parents:
56890
diff
changeset
|
5573 /* Find the offsets of the outside upper-left corner of |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5574 the inner window, with respect to the outer window. */ |
|
77752
b5efedfac6cc
(x_calc_absolute_position): Add BLOCK_INPUT around
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77705
diff
changeset
|
5575 BLOCK_INPUT; |
|
57357
05fe2d3ca439
macfns.c (mac_get_window_bounds): Add extern.
Steven Tamm <steventamm@mac.com>
parents:
56890
diff
changeset
|
5576 mac_get_window_bounds (f, &inner, &outer); |
|
77752
b5efedfac6cc
(x_calc_absolute_position): Add BLOCK_INPUT around
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77705
diff
changeset
|
5577 UNBLOCK_INPUT; |
|
57357
05fe2d3ca439
macfns.c (mac_get_window_bounds): Add extern.
Steven Tamm <steventamm@mac.com>
parents:
56890
diff
changeset
|
5578 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5579 /* Treat negative positions as relative to the leftmost bottommost |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5580 position that fits on the screen. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5581 if (flags & XNegative) |
|
80515
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
5582 f->left_pos += (FRAME_MAC_DISPLAY_INFO (f)->width |
|
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
5583 - (outer.right - outer.left)); |
|
57357
05fe2d3ca439
macfns.c (mac_get_window_bounds): Add extern.
Steven Tamm <steventamm@mac.com>
parents:
56890
diff
changeset
|
5584 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5585 if (flags & YNegative) |
|
80515
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
5586 f->top_pos += (FRAME_MAC_DISPLAY_INFO (f)->height |
|
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
5587 - (outer.bottom - outer.top)); |
|
57357
05fe2d3ca439
macfns.c (mac_get_window_bounds): Add extern.
Steven Tamm <steventamm@mac.com>
parents:
56890
diff
changeset
|
5588 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5589 /* The left_pos and top_pos |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5590 are now relative to the top and left screen edges, |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5591 so the flags should correspond. */ |
|
51198
f8e097cae353
Make (several) trivial substitutions for renamed and
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
5592 f->size_hint_flags &= ~ (XNegative | YNegative); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5593 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5594 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5595 /* CHANGE_GRAVITY is 1 when calling from Fset_frame_position, |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5596 to really change the position, and 0 when calling from |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5597 x_make_frame_visible (in that case, XOFF and YOFF are the current |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5598 position values). It is -1 when calling from x_set_frame_parameters, |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5599 which means, do adjust for borders but don't change the gravity. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5600 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5601 void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5602 x_set_offset (f, xoff, yoff, change_gravity) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5603 struct frame *f; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5604 register int xoff, yoff; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5605 int change_gravity; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5606 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5607 if (change_gravity > 0) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5608 { |
|
51198
f8e097cae353
Make (several) trivial substitutions for renamed and
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
5609 f->top_pos = yoff; |
|
f8e097cae353
Make (several) trivial substitutions for renamed and
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
5610 f->left_pos = xoff; |
|
f8e097cae353
Make (several) trivial substitutions for renamed and
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
5611 f->size_hint_flags &= ~ (XNegative | YNegative); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5612 if (xoff < 0) |
|
51198
f8e097cae353
Make (several) trivial substitutions for renamed and
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
5613 f->size_hint_flags |= XNegative; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5614 if (yoff < 0) |
|
51198
f8e097cae353
Make (several) trivial substitutions for renamed and
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
5615 f->size_hint_flags |= YNegative; |
|
f8e097cae353
Make (several) trivial substitutions for renamed and
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
5616 f->win_gravity = NorthWestGravity; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5617 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5618 x_calc_absolute_position (f); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5619 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5620 BLOCK_INPUT; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5621 x_wm_set_size_hint (f, (long) 0, 0); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5622 |
|
57357
05fe2d3ca439
macfns.c (mac_get_window_bounds): Add extern.
Steven Tamm <steventamm@mac.com>
parents:
56890
diff
changeset
|
5623 #if TARGET_API_MAC_CARBON |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
5624 mac_move_window_structure (FRAME_MAC_WINDOW (f), f->left_pos, f->top_pos); |
|
57357
05fe2d3ca439
macfns.c (mac_get_window_bounds): Add extern.
Steven Tamm <steventamm@mac.com>
parents:
56890
diff
changeset
|
5625 /* If the title bar is completely outside the screen, adjust the |
|
05fe2d3ca439
macfns.c (mac_get_window_bounds): Add extern.
Steven Tamm <steventamm@mac.com>
parents:
56890
diff
changeset
|
5626 position. */ |
|
05fe2d3ca439
macfns.c (mac_get_window_bounds): Add extern.
Steven Tamm <steventamm@mac.com>
parents:
56890
diff
changeset
|
5627 ConstrainWindowToScreen (FRAME_MAC_WINDOW (f), kWindowTitleBarRgn, |
|
05fe2d3ca439
macfns.c (mac_get_window_bounds): Add extern.
Steven Tamm <steventamm@mac.com>
parents:
56890
diff
changeset
|
5628 kWindowConstrainMoveRegardlessOfFit |
|
05fe2d3ca439
macfns.c (mac_get_window_bounds): Add extern.
Steven Tamm <steventamm@mac.com>
parents:
56890
diff
changeset
|
5629 | kWindowConstrainAllowPartial, NULL, NULL); |
|
72706
10536ef853fe
(mac_handle_origin_change, mac_handle_size_change)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72647
diff
changeset
|
5630 if (!NILP (tip_frame) && XFRAME (tip_frame) == f) |
|
10536ef853fe
(mac_handle_origin_change, mac_handle_size_change)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72647
diff
changeset
|
5631 mac_handle_origin_change (f); |
|
57357
05fe2d3ca439
macfns.c (mac_get_window_bounds): Add extern.
Steven Tamm <steventamm@mac.com>
parents:
56890
diff
changeset
|
5632 #else |
|
05fe2d3ca439
macfns.c (mac_get_window_bounds): Add extern.
Steven Tamm <steventamm@mac.com>
parents:
56890
diff
changeset
|
5633 { |
|
05fe2d3ca439
macfns.c (mac_get_window_bounds): Add extern.
Steven Tamm <steventamm@mac.com>
parents:
56890
diff
changeset
|
5634 Rect inner, outer, screen_rect, dummy; |
|
05fe2d3ca439
macfns.c (mac_get_window_bounds): Add extern.
Steven Tamm <steventamm@mac.com>
parents:
56890
diff
changeset
|
5635 RgnHandle region = NewRgn (); |
|
57373
38e45bf0128a
(x_update_window_end): Fix flicker on vertical line between
Kim F. Storm <storm@cua.dk>
parents:
57357
diff
changeset
|
5636 |
|
57357
05fe2d3ca439
macfns.c (mac_get_window_bounds): Add extern.
Steven Tamm <steventamm@mac.com>
parents:
56890
diff
changeset
|
5637 mac_get_window_bounds (f, &inner, &outer); |
|
05fe2d3ca439
macfns.c (mac_get_window_bounds): Add extern.
Steven Tamm <steventamm@mac.com>
parents:
56890
diff
changeset
|
5638 f->x_pixels_diff = inner.left - outer.left; |
|
05fe2d3ca439
macfns.c (mac_get_window_bounds): Add extern.
Steven Tamm <steventamm@mac.com>
parents:
56890
diff
changeset
|
5639 f->y_pixels_diff = inner.top - outer.top; |
|
05fe2d3ca439
macfns.c (mac_get_window_bounds): Add extern.
Steven Tamm <steventamm@mac.com>
parents:
56890
diff
changeset
|
5640 MoveWindow (FRAME_MAC_WINDOW (f), f->left_pos + f->x_pixels_diff, |
|
05fe2d3ca439
macfns.c (mac_get_window_bounds): Add extern.
Steven Tamm <steventamm@mac.com>
parents:
56890
diff
changeset
|
5641 f->top_pos + f->y_pixels_diff, false); |
|
05fe2d3ca439
macfns.c (mac_get_window_bounds): Add extern.
Steven Tamm <steventamm@mac.com>
parents:
56890
diff
changeset
|
5642 |
|
05fe2d3ca439
macfns.c (mac_get_window_bounds): Add extern.
Steven Tamm <steventamm@mac.com>
parents:
56890
diff
changeset
|
5643 /* If the title bar is completely outside the screen, adjust the |
|
05fe2d3ca439
macfns.c (mac_get_window_bounds): Add extern.
Steven Tamm <steventamm@mac.com>
parents:
56890
diff
changeset
|
5644 position. The variable `outer' holds the title bar rectangle. |
|
05fe2d3ca439
macfns.c (mac_get_window_bounds): Add extern.
Steven Tamm <steventamm@mac.com>
parents:
56890
diff
changeset
|
5645 The variable `inner' holds slightly smaller one than `outer', |
|
05fe2d3ca439
macfns.c (mac_get_window_bounds): Add extern.
Steven Tamm <steventamm@mac.com>
parents:
56890
diff
changeset
|
5646 so that the calculation of overlapping may not become too |
|
05fe2d3ca439
macfns.c (mac_get_window_bounds): Add extern.
Steven Tamm <steventamm@mac.com>
parents:
56890
diff
changeset
|
5647 strict. */ |
|
05fe2d3ca439
macfns.c (mac_get_window_bounds): Add extern.
Steven Tamm <steventamm@mac.com>
parents:
56890
diff
changeset
|
5648 GetWindowRegion (FRAME_MAC_WINDOW (f), kWindowTitleBarRgn, region); |
|
05fe2d3ca439
macfns.c (mac_get_window_bounds): Add extern.
Steven Tamm <steventamm@mac.com>
parents:
56890
diff
changeset
|
5649 outer = (*region)->rgnBBox; |
|
05fe2d3ca439
macfns.c (mac_get_window_bounds): Add extern.
Steven Tamm <steventamm@mac.com>
parents:
56890
diff
changeset
|
5650 DisposeRgn (region); |
|
05fe2d3ca439
macfns.c (mac_get_window_bounds): Add extern.
Steven Tamm <steventamm@mac.com>
parents:
56890
diff
changeset
|
5651 inner = outer; |
|
05fe2d3ca439
macfns.c (mac_get_window_bounds): Add extern.
Steven Tamm <steventamm@mac.com>
parents:
56890
diff
changeset
|
5652 InsetRect (&inner, 8, 8); |
|
05fe2d3ca439
macfns.c (mac_get_window_bounds): Add extern.
Steven Tamm <steventamm@mac.com>
parents:
56890
diff
changeset
|
5653 screen_rect = qd.screenBits.bounds; |
|
05fe2d3ca439
macfns.c (mac_get_window_bounds): Add extern.
Steven Tamm <steventamm@mac.com>
parents:
56890
diff
changeset
|
5654 screen_rect.top += GetMBarHeight (); |
|
05fe2d3ca439
macfns.c (mac_get_window_bounds): Add extern.
Steven Tamm <steventamm@mac.com>
parents:
56890
diff
changeset
|
5655 |
|
05fe2d3ca439
macfns.c (mac_get_window_bounds): Add extern.
Steven Tamm <steventamm@mac.com>
parents:
56890
diff
changeset
|
5656 if (!SectRect (&inner, &screen_rect, &dummy)) |
|
05fe2d3ca439
macfns.c (mac_get_window_bounds): Add extern.
Steven Tamm <steventamm@mac.com>
parents:
56890
diff
changeset
|
5657 { |
|
05fe2d3ca439
macfns.c (mac_get_window_bounds): Add extern.
Steven Tamm <steventamm@mac.com>
parents:
56890
diff
changeset
|
5658 if (inner.right <= screen_rect.left) |
|
05fe2d3ca439
macfns.c (mac_get_window_bounds): Add extern.
Steven Tamm <steventamm@mac.com>
parents:
56890
diff
changeset
|
5659 f->left_pos = screen_rect.left; |
|
05fe2d3ca439
macfns.c (mac_get_window_bounds): Add extern.
Steven Tamm <steventamm@mac.com>
parents:
56890
diff
changeset
|
5660 else if (inner.left >= screen_rect.right) |
|
05fe2d3ca439
macfns.c (mac_get_window_bounds): Add extern.
Steven Tamm <steventamm@mac.com>
parents:
56890
diff
changeset
|
5661 f->left_pos = screen_rect.right - (outer.right - outer.left); |
|
05fe2d3ca439
macfns.c (mac_get_window_bounds): Add extern.
Steven Tamm <steventamm@mac.com>
parents:
56890
diff
changeset
|
5662 |
|
05fe2d3ca439
macfns.c (mac_get_window_bounds): Add extern.
Steven Tamm <steventamm@mac.com>
parents:
56890
diff
changeset
|
5663 if (inner.bottom <= screen_rect.top) |
|
05fe2d3ca439
macfns.c (mac_get_window_bounds): Add extern.
Steven Tamm <steventamm@mac.com>
parents:
56890
diff
changeset
|
5664 f->top_pos = screen_rect.top; |
|
05fe2d3ca439
macfns.c (mac_get_window_bounds): Add extern.
Steven Tamm <steventamm@mac.com>
parents:
56890
diff
changeset
|
5665 else if (inner.top >= screen_rect.bottom) |
|
05fe2d3ca439
macfns.c (mac_get_window_bounds): Add extern.
Steven Tamm <steventamm@mac.com>
parents:
56890
diff
changeset
|
5666 f->top_pos = screen_rect.bottom - (outer.bottom - outer.top); |
|
05fe2d3ca439
macfns.c (mac_get_window_bounds): Add extern.
Steven Tamm <steventamm@mac.com>
parents:
56890
diff
changeset
|
5667 |
|
05fe2d3ca439
macfns.c (mac_get_window_bounds): Add extern.
Steven Tamm <steventamm@mac.com>
parents:
56890
diff
changeset
|
5668 MoveWindow (FRAME_MAC_WINDOW (f), f->left_pos + f->x_pixels_diff, |
|
05fe2d3ca439
macfns.c (mac_get_window_bounds): Add extern.
Steven Tamm <steventamm@mac.com>
parents:
56890
diff
changeset
|
5669 f->top_pos + f->y_pixels_diff, false); |
|
05fe2d3ca439
macfns.c (mac_get_window_bounds): Add extern.
Steven Tamm <steventamm@mac.com>
parents:
56890
diff
changeset
|
5670 } |
|
05fe2d3ca439
macfns.c (mac_get_window_bounds): Add extern.
Steven Tamm <steventamm@mac.com>
parents:
56890
diff
changeset
|
5671 } |
|
05fe2d3ca439
macfns.c (mac_get_window_bounds): Add extern.
Steven Tamm <steventamm@mac.com>
parents:
56890
diff
changeset
|
5672 #endif |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5673 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5674 UNBLOCK_INPUT; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5675 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5676 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5677 /* Call this to change the size of frame F's x-window. |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5678 If CHANGE_GRAVITY is 1, we change to top-left-corner window gravity |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5679 for this size change and subsequent size changes. |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5680 Otherwise we leave the window gravity unchanged. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5681 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5682 void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5683 x_set_window_size (f, change_gravity, cols, rows) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5684 struct frame *f; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5685 int change_gravity; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5686 int cols, rows; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5687 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5688 int pixelwidth, pixelheight; |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
5689 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5690 BLOCK_INPUT; |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
5691 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5692 check_frame_size (f, &rows, &cols); |
|
51198
f8e097cae353
Make (several) trivial substitutions for renamed and
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
5693 f->scroll_bar_actual_width |
|
f8e097cae353
Make (several) trivial substitutions for renamed and
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
5694 = FRAME_SCROLL_BAR_COLS (f) * FRAME_COLUMN_WIDTH (f); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5695 |
| 50097 | 5696 compute_fringe_widths (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
|
5697 |
|
51198
f8e097cae353
Make (several) trivial substitutions for renamed and
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
5698 pixelwidth = FRAME_TEXT_COLS_TO_PIXEL_WIDTH (f, cols); |
|
f8e097cae353
Make (several) trivial substitutions for renamed and
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
5699 pixelheight = FRAME_TEXT_LINES_TO_PIXEL_HEIGHT (f, rows); |
|
f8e097cae353
Make (several) trivial substitutions for renamed and
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
5700 |
|
f8e097cae353
Make (several) trivial substitutions for renamed and
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
5701 f->win_gravity = NorthWestGravity; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5702 x_wm_set_size_hint (f, (long) 0, 0); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5703 |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
5704 mac_size_window (FRAME_MAC_WINDOW (f), pixelwidth, pixelheight, 0); |
|
72706
10536ef853fe
(mac_handle_origin_change, mac_handle_size_change)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72647
diff
changeset
|
5705 |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5706 #if TARGET_API_MAC_CARBON |
|
72706
10536ef853fe
(mac_handle_origin_change, mac_handle_size_change)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72647
diff
changeset
|
5707 if (!NILP (tip_frame) && f == XFRAME (tip_frame)) |
|
10536ef853fe
(mac_handle_origin_change, mac_handle_size_change)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72647
diff
changeset
|
5708 #endif |
|
10536ef853fe
(mac_handle_origin_change, mac_handle_size_change)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72647
diff
changeset
|
5709 mac_handle_size_change (f, pixelwidth, pixelheight); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5710 |
|
76331
ace87cb85f08
(x_scroll_bar_create, XTread_socket): Replace #if
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
76114
diff
changeset
|
5711 if (f->output_data.mac->internal_border_width |
|
ace87cb85f08
(x_scroll_bar_create, XTread_socket): Replace #if
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
76114
diff
changeset
|
5712 != FRAME_INTERNAL_BORDER_WIDTH (f)) |
|
ace87cb85f08
(x_scroll_bar_create, XTread_socket): Replace #if
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
76114
diff
changeset
|
5713 { |
|
ace87cb85f08
(x_scroll_bar_create, XTread_socket): Replace #if
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
76114
diff
changeset
|
5714 mac_clear_window (f); |
|
ace87cb85f08
(x_scroll_bar_create, XTread_socket): Replace #if
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
76114
diff
changeset
|
5715 f->output_data.mac->internal_border_width |
|
ace87cb85f08
(x_scroll_bar_create, XTread_socket): Replace #if
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
76114
diff
changeset
|
5716 = FRAME_INTERNAL_BORDER_WIDTH (f); |
|
ace87cb85f08
(x_scroll_bar_create, XTread_socket): Replace #if
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
76114
diff
changeset
|
5717 } |
|
ace87cb85f08
(x_scroll_bar_create, XTread_socket): Replace #if
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
76114
diff
changeset
|
5718 |
|
ace87cb85f08
(x_scroll_bar_create, XTread_socket): Replace #if
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
76114
diff
changeset
|
5719 SET_FRAME_GARBAGED (f); |
|
ace87cb85f08
(x_scroll_bar_create, XTread_socket): Replace #if
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
76114
diff
changeset
|
5720 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5721 UNBLOCK_INPUT; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5722 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5723 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5724 /* Mouse warping. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5725 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5726 void x_set_mouse_pixel_position (struct frame *f, int pix_x, int pix_y); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5727 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5728 void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5729 x_set_mouse_position (f, x, y) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5730 struct frame *f; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5731 int x, y; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5732 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5733 int pix_x, pix_y; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5734 |
|
51198
f8e097cae353
Make (several) trivial substitutions for renamed and
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
5735 pix_x = FRAME_COL_TO_PIXEL_X (f, x) + FRAME_COLUMN_WIDTH (f) / 2; |
|
f8e097cae353
Make (several) trivial substitutions for renamed and
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
5736 pix_y = FRAME_LINE_TO_PIXEL_Y (f, y) + FRAME_LINE_HEIGHT (f) / 2; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5737 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5738 if (pix_x < 0) pix_x = 0; |
|
51198
f8e097cae353
Make (several) trivial substitutions for renamed and
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
5739 if (pix_x > FRAME_PIXEL_WIDTH (f)) pix_x = FRAME_PIXEL_WIDTH (f); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5740 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5741 if (pix_y < 0) pix_y = 0; |
|
51198
f8e097cae353
Make (several) trivial substitutions for renamed and
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
5742 if (pix_y > FRAME_PIXEL_HEIGHT (f)) pix_y = FRAME_PIXEL_HEIGHT (f); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5743 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5744 x_set_mouse_pixel_position (f, pix_x, pix_y); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5745 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5746 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5747 void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5748 x_set_mouse_pixel_position (f, pix_x, pix_y) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5749 struct frame *f; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5750 int pix_x, pix_y; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5751 { |
|
71504
2b4e59cd1121
(Qeql): Add extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71359
diff
changeset
|
5752 #ifdef MAC_OSX |
|
2b4e59cd1121
(Qeql): Add extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71359
diff
changeset
|
5753 BLOCK_INPUT; |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
5754 mac_convert_frame_point_to_global (f, &pix_x, &pix_y); |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5755 CGWarpMouseCursorPosition (CGPointMake (pix_x, pix_y)); |
|
71504
2b4e59cd1121
(Qeql): Add extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71359
diff
changeset
|
5756 UNBLOCK_INPUT; |
|
2b4e59cd1121
(Qeql): Add extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71359
diff
changeset
|
5757 #else |
|
2b4e59cd1121
(Qeql): Add extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71359
diff
changeset
|
5758 #if 0 /* MAC_TODO: LMSetMouseLocation and CursorDeviceMoveTo are non-Carbon */ |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5759 BLOCK_INPUT; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5760 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5761 XWarpPointer (FRAME_X_DISPLAY (f), None, FRAME_X_WINDOW (f), |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5762 0, 0, 0, 0, pix_x, pix_y); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5763 UNBLOCK_INPUT; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5764 #endif |
|
71504
2b4e59cd1121
(Qeql): Add extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71359
diff
changeset
|
5765 #endif |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5766 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5767 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5768 /* focus shifting, raising and lowering. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5769 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5770 void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5771 x_focus_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
|
5772 struct frame *f; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5773 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5774 #if 0 /* This proves to be unpleasant. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5775 x_raise_frame (f); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5776 #endif |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5777 #if 0 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5778 /* I don't think that the ICCCM allows programs to do things like this |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5779 without the interaction of the window manager. Whatever you end up |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5780 doing with this code, do it to x_unfocus_frame too. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5781 XSetInputFocus (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f), |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5782 RevertToPointerRoot, CurrentTime); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5783 #endif /* ! 0 */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5784 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5785 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5786 void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5787 x_unfocus_frame (f) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5788 struct frame *f; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5789 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5790 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5791 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5792 /* Raise frame F. */ |
|
64276
0a062d2d75f3
Don't include stdlib.h or composite.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64102
diff
changeset
|
5793 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5794 void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5795 x_raise_frame (f) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5796 struct frame *f; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5797 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5798 if (f->async_visible) |
|
57425
0867872551d9
macterm.c (x_raise_frame): Add BLOCK_INPUT around SelectWindow
Steven Tamm <steventamm@mac.com>
parents:
57373
diff
changeset
|
5799 { |
|
0867872551d9
macterm.c (x_raise_frame): Add BLOCK_INPUT around SelectWindow
Steven Tamm <steventamm@mac.com>
parents:
57373
diff
changeset
|
5800 BLOCK_INPUT; |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
5801 mac_bring_window_to_front (FRAME_MAC_WINDOW (f)); |
|
57425
0867872551d9
macterm.c (x_raise_frame): Add BLOCK_INPUT around SelectWindow
Steven Tamm <steventamm@mac.com>
parents:
57373
diff
changeset
|
5802 UNBLOCK_INPUT; |
|
0867872551d9
macterm.c (x_raise_frame): Add BLOCK_INPUT around SelectWindow
Steven Tamm <steventamm@mac.com>
parents:
57373
diff
changeset
|
5803 } |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5804 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5805 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5806 /* Lower frame F. */ |
|
64276
0a062d2d75f3
Don't include stdlib.h or composite.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64102
diff
changeset
|
5807 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5808 void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5809 x_lower_frame (f) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5810 struct frame *f; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5811 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5812 if (f->async_visible) |
|
57425
0867872551d9
macterm.c (x_raise_frame): Add BLOCK_INPUT around SelectWindow
Steven Tamm <steventamm@mac.com>
parents:
57373
diff
changeset
|
5813 { |
|
0867872551d9
macterm.c (x_raise_frame): Add BLOCK_INPUT around SelectWindow
Steven Tamm <steventamm@mac.com>
parents:
57373
diff
changeset
|
5814 BLOCK_INPUT; |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
5815 mac_send_window_behind (FRAME_MAC_WINDOW (f), NULL); |
|
57425
0867872551d9
macterm.c (x_raise_frame): Add BLOCK_INPUT around SelectWindow
Steven Tamm <steventamm@mac.com>
parents:
57373
diff
changeset
|
5816 UNBLOCK_INPUT; |
|
0867872551d9
macterm.c (x_raise_frame): Add BLOCK_INPUT around SelectWindow
Steven Tamm <steventamm@mac.com>
parents:
57373
diff
changeset
|
5817 } |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5818 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5819 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5820 static void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5821 XTframe_raise_lower (f, raise_flag) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5822 FRAME_PTR f; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5823 int raise_flag; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5824 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5825 if (raise_flag) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5826 x_raise_frame (f); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5827 else |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5828 x_lower_frame (f); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5829 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5830 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5831 /* Change of visibility. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5832 |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
5833 void |
|
65110
ac7314b59792
(mac_copy_area, mac_copy_area_with_mask): Restore background color.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
5834 mac_handle_visibility_change (f) |
|
ac7314b59792
(mac_copy_area, mac_copy_area_with_mask): Restore background color.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
5835 struct frame *f; |
|
ac7314b59792
(mac_copy_area, mac_copy_area_with_mask): Restore background color.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
5836 { |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
5837 Window wp = FRAME_MAC_WINDOW (f); |
|
65110
ac7314b59792
(mac_copy_area, mac_copy_area_with_mask): Restore background color.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
5838 int visible = 0, iconified = 0; |
|
ac7314b59792
(mac_copy_area, mac_copy_area_with_mask): Restore background color.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
5839 struct input_event buf; |
|
ac7314b59792
(mac_copy_area, mac_copy_area_with_mask): Restore background color.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
5840 |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
5841 if (mac_is_window_visible (wp)) |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
5842 { |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
5843 if (mac_is_window_collapsed (wp)) |
|
69964
321089786c7b
Don't include gnu.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69773
diff
changeset
|
5844 iconified = 1; |
|
321089786c7b
Don't include gnu.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69773
diff
changeset
|
5845 else |
|
321089786c7b
Don't include gnu.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69773
diff
changeset
|
5846 visible = 1; |
|
321089786c7b
Don't include gnu.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69773
diff
changeset
|
5847 } |
|
65110
ac7314b59792
(mac_copy_area, mac_copy_area_with_mask): Restore background color.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
5848 |
|
ac7314b59792
(mac_copy_area, mac_copy_area_with_mask): Restore background color.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
5849 if (!f->async_visible && visible) |
|
ac7314b59792
(mac_copy_area, mac_copy_area_with_mask): Restore background color.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
5850 { |
|
ac7314b59792
(mac_copy_area, mac_copy_area_with_mask): Restore background color.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
5851 if (f->iconified) |
|
ac7314b59792
(mac_copy_area, mac_copy_area_with_mask): Restore background color.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
5852 { |
|
ac7314b59792
(mac_copy_area, mac_copy_area_with_mask): Restore background color.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
5853 /* wait_reading_process_output will notice this and update |
|
ac7314b59792
(mac_copy_area, mac_copy_area_with_mask): Restore background color.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
5854 the frame's display structures. If we were made |
|
ac7314b59792
(mac_copy_area, mac_copy_area_with_mask): Restore background color.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
5855 invisible, we should not set garbaged, because that stops |
|
ac7314b59792
(mac_copy_area, mac_copy_area_with_mask): Restore background color.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
5856 redrawing on Update events. */ |
|
ac7314b59792
(mac_copy_area, mac_copy_area_with_mask): Restore background color.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
5857 SET_FRAME_GARBAGED (f); |
|
ac7314b59792
(mac_copy_area, mac_copy_area_with_mask): Restore background color.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
5858 |
|
ac7314b59792
(mac_copy_area, mac_copy_area_with_mask): Restore background color.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
5859 EVENT_INIT (buf); |
|
ac7314b59792
(mac_copy_area, mac_copy_area_with_mask): Restore background color.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
5860 buf.kind = DEICONIFY_EVENT; |
|
ac7314b59792
(mac_copy_area, mac_copy_area_with_mask): Restore background color.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
5861 XSETFRAME (buf.frame_or_window, f); |
|
71135
a40a279936e8
(mac_handle_visibility_change): Set buf.arg to Qnil.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71065
diff
changeset
|
5862 buf.arg = Qnil; |
|
65110
ac7314b59792
(mac_copy_area, mac_copy_area_with_mask): Restore background color.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
5863 kbd_buffer_store_event (&buf); |
|
ac7314b59792
(mac_copy_area, mac_copy_area_with_mask): Restore background color.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
5864 } |
|
ac7314b59792
(mac_copy_area, mac_copy_area_with_mask): Restore background color.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
5865 else if (! NILP (Vframe_list) && ! NILP (XCDR (Vframe_list))) |
|
ac7314b59792
(mac_copy_area, mac_copy_area_with_mask): Restore background color.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
5866 /* Force a redisplay sooner or later to update the |
|
ac7314b59792
(mac_copy_area, mac_copy_area_with_mask): Restore background color.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
5867 frame titles in case this is the second frame. */ |
|
ac7314b59792
(mac_copy_area, mac_copy_area_with_mask): Restore background color.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
5868 record_asynch_buffer_change (); |
|
ac7314b59792
(mac_copy_area, mac_copy_area_with_mask): Restore background color.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
5869 } |
|
ac7314b59792
(mac_copy_area, mac_copy_area_with_mask): Restore background color.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
5870 else if (f->async_visible && !visible) |
|
ac7314b59792
(mac_copy_area, mac_copy_area_with_mask): Restore background color.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
5871 if (iconified) |
|
ac7314b59792
(mac_copy_area, mac_copy_area_with_mask): Restore background color.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
5872 { |
|
ac7314b59792
(mac_copy_area, mac_copy_area_with_mask): Restore background color.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
5873 EVENT_INIT (buf); |
|
ac7314b59792
(mac_copy_area, mac_copy_area_with_mask): Restore background color.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
5874 buf.kind = ICONIFY_EVENT; |
|
ac7314b59792
(mac_copy_area, mac_copy_area_with_mask): Restore background color.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
5875 XSETFRAME (buf.frame_or_window, f); |
|
71135
a40a279936e8
(mac_handle_visibility_change): Set buf.arg to Qnil.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71065
diff
changeset
|
5876 buf.arg = Qnil; |
|
65110
ac7314b59792
(mac_copy_area, mac_copy_area_with_mask): Restore background color.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
5877 kbd_buffer_store_event (&buf); |
|
ac7314b59792
(mac_copy_area, mac_copy_area_with_mask): Restore background color.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
5878 } |
|
ac7314b59792
(mac_copy_area, mac_copy_area_with_mask): Restore background color.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
5879 |
|
ac7314b59792
(mac_copy_area, mac_copy_area_with_mask): Restore background color.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
5880 f->async_visible = visible; |
|
ac7314b59792
(mac_copy_area, mac_copy_area_with_mask): Restore background color.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
5881 f->async_iconified = iconified; |
|
ac7314b59792
(mac_copy_area, mac_copy_area_with_mask): Restore background color.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
5882 } |
|
ac7314b59792
(mac_copy_area, mac_copy_area_with_mask): Restore background color.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
5883 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5884 /* This tries to wait until the frame is really visible. |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5885 However, if the window manager asks the user where to position |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5886 the frame, this will return before the user finishes doing that. |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5887 The frame will not actually be visible at that time, |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5888 but it will become visible later when 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
|
5889 finishes with it. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5890 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5891 void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5892 x_make_frame_visible (f) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5893 struct frame *f; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5894 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5895 BLOCK_INPUT; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5896 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5897 if (! FRAME_VISIBLE_P (f)) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5898 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5899 /* We test FRAME_GARBAGED_P here to make sure we don't |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5900 call x_set_offset a second time |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5901 if we get to x_make_frame_visible a second time |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5902 before the window gets really visible. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5903 if (! FRAME_ICONIFIED_P (f) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5904 && ! f->output_data.mac->asked_for_visible) |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5905 x_set_offset (f, f->left_pos, f->top_pos, 0); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5906 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5907 f->output_data.mac->asked_for_visible = 1; |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
5908 |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
5909 mac_collapse_window (FRAME_MAC_WINDOW (f), false); |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
5910 mac_show_window (FRAME_MAC_WINDOW (f)); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5911 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5912 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5913 XFlush (FRAME_MAC_DISPLAY (f)); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5914 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5915 /* Synchronize to ensure Emacs knows the frame is visible |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5916 before we do anything else. We do this loop with input not blocked |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5917 so that incoming events are handled. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5918 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5919 Lisp_Object frame; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5920 int count; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5921 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5922 /* This must come after we set COUNT. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5923 UNBLOCK_INPUT; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5924 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5925 XSETFRAME (frame, f); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5926 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5927 /* Wait until the frame is visible. Process X events until a |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5928 MapNotify event has been seen, or until we think we won't get a |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5929 MapNotify at all.. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5930 for (count = input_signal_count + 10; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5931 input_signal_count < count && !FRAME_VISIBLE_P (f);) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5932 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5933 /* Force processing of queued events. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5934 x_sync (f); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5935 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5936 /* Machines that do polling rather than SIGIO have been |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5937 observed to go into a busy-wait here. So we'll fake an |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5938 alarm signal to let the handler know that there's something |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5939 to be read. We used to raise a real alarm, but it seems |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5940 that the handler isn't always enabled here. This is |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5941 probably a bug. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5942 if (input_polling_used ()) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5943 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5944 /* It could be confusing if a real alarm arrives while |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5945 processing the fake one. Turn it off and let the |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5946 handler reset it. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5947 extern void poll_for_input_1 P_ ((void)); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5948 int old_poll_suppress_count = poll_suppress_count; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5949 poll_suppress_count = 1; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5950 poll_for_input_1 (); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5951 poll_suppress_count = old_poll_suppress_count; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5952 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5953 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5954 /* See if a MapNotify event has been processed. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5955 FRAME_SAMPLE_VISIBILITY (f); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5956 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5957 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5958 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5959 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5960 /* Change from mapped state to withdrawn state. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5961 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5962 /* Make the frame visible (mapped and not iconified). */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5963 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5964 void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5965 x_make_frame_invisible (f) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5966 struct frame *f; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5967 { |
|
65110
ac7314b59792
(mac_copy_area, mac_copy_area_with_mask): Restore background color.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
5968 /* A deactivate event does not occur when the last visible frame is |
|
ac7314b59792
(mac_copy_area, mac_copy_area_with_mask): Restore background color.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
5969 made invisible. So if we clear the highlight here, it will not |
|
ac7314b59792
(mac_copy_area, mac_copy_area_with_mask): Restore background color.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
5970 be rehighlighted when it is made visible. */ |
|
ac7314b59792
(mac_copy_area, mac_copy_area_with_mask): Restore background color.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
5971 #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
|
5972 /* Don't keep the highlight on an invisible frame. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5973 if (FRAME_MAC_DISPLAY_INFO (f)->x_highlight_frame == f) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5974 FRAME_MAC_DISPLAY_INFO (f)->x_highlight_frame = 0; |
|
65110
ac7314b59792
(mac_copy_area, mac_copy_area_with_mask): Restore background color.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
5975 #endif |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
5976 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5977 BLOCK_INPUT; |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
5978 |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5979 #if !TARGET_API_MAC_CARBON |
|
61574
d3c53b9d1828
(x_autoselect_window_p): Remove variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61555
diff
changeset
|
5980 /* Before unmapping the window, update the WM_SIZE_HINTS property to claim |
|
d3c53b9d1828
(x_autoselect_window_p): Remove variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61555
diff
changeset
|
5981 that the current position of the window is user-specified, rather than |
|
d3c53b9d1828
(x_autoselect_window_p): Remove variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61555
diff
changeset
|
5982 program-specified, so that when the window is mapped again, it will be |
|
d3c53b9d1828
(x_autoselect_window_p): Remove variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61555
diff
changeset
|
5983 placed at the same location, without forcing the user to position it |
|
d3c53b9d1828
(x_autoselect_window_p): Remove variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61555
diff
changeset
|
5984 by hand again (they have already done that once for this window.) */ |
|
d3c53b9d1828
(x_autoselect_window_p): Remove variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61555
diff
changeset
|
5985 x_wm_set_size_hint (f, (long) 0, 1); |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5986 #endif |
|
61574
d3c53b9d1828
(x_autoselect_window_p): Remove variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61555
diff
changeset
|
5987 |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
5988 mac_hide_window (FRAME_MAC_WINDOW (f)); |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
5989 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5990 UNBLOCK_INPUT; |
|
65110
ac7314b59792
(mac_copy_area, mac_copy_area_with_mask): Restore background color.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
5991 |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
5992 #if !TARGET_API_MAC_CARBON |
|
65110
ac7314b59792
(mac_copy_area, mac_copy_area_with_mask): Restore background color.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
5993 mac_handle_visibility_change (f); |
|
ac7314b59792
(mac_copy_area, mac_copy_area_with_mask): Restore background color.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
5994 #endif |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5995 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5996 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5997 /* Change window state from mapped to iconified. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5998 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
5999 void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6000 x_iconify_frame (f) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6001 struct frame *f; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6002 { |
|
72545
171c891be45d
(mac_draw_string_common, mac_query_char_extents)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72505
diff
changeset
|
6003 OSStatus err; |
|
65110
ac7314b59792
(mac_copy_area, mac_copy_area_with_mask): Restore background color.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
6004 |
|
ac7314b59792
(mac_copy_area, mac_copy_area_with_mask): Restore background color.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
6005 /* A deactivate event does not occur when the last visible frame is |
|
ac7314b59792
(mac_copy_area, mac_copy_area_with_mask): Restore background color.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
6006 iconified. So if we clear the highlight here, it will not be |
|
ac7314b59792
(mac_copy_area, mac_copy_area_with_mask): Restore background color.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
6007 rehighlighted when it is deiconified. */ |
|
ac7314b59792
(mac_copy_area, mac_copy_area_with_mask): Restore background color.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
6008 #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
|
6009 /* Don't keep the highlight on an invisible frame. */ |
| 46798 | 6010 if (FRAME_MAC_DISPLAY_INFO (f)->x_highlight_frame == f) |
| 6011 FRAME_MAC_DISPLAY_INFO (f)->x_highlight_frame = 0; | |
|
65110
ac7314b59792
(mac_copy_area, mac_copy_area_with_mask): Restore background color.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
6012 #endif |
|
ac7314b59792
(mac_copy_area, mac_copy_area_with_mask): Restore background color.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
6013 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6014 if (f->async_iconified) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6015 return; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6016 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6017 BLOCK_INPUT; |
| 46798 | 6018 |
|
65110
ac7314b59792
(mac_copy_area, mac_copy_area_with_mask): Restore background color.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
6019 FRAME_SAMPLE_VISIBILITY (f); |
|
ac7314b59792
(mac_copy_area, mac_copy_area_with_mask): Restore background color.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
6020 |
|
ac7314b59792
(mac_copy_area, mac_copy_area_with_mask): Restore background color.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
6021 if (! FRAME_VISIBLE_P (f)) |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
6022 mac_show_window (FRAME_MAC_WINDOW (f)); |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
6023 |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
6024 err = mac_collapse_window (FRAME_MAC_WINDOW (f), true); |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
6025 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6026 UNBLOCK_INPUT; |
|
65110
ac7314b59792
(mac_copy_area, mac_copy_area_with_mask): Restore background color.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
6027 |
|
ac7314b59792
(mac_copy_area, mac_copy_area_with_mask): Restore background color.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
6028 if (err != noErr) |
|
ac7314b59792
(mac_copy_area, mac_copy_area_with_mask): Restore background color.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
6029 error ("Can't notify window manager of iconification"); |
|
ac7314b59792
(mac_copy_area, mac_copy_area_with_mask): Restore background color.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
6030 |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
6031 #if !TARGET_API_MAC_CARBON |
|
65110
ac7314b59792
(mac_copy_area, mac_copy_area_with_mask): Restore background color.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
6032 mac_handle_visibility_change (f); |
|
ac7314b59792
(mac_copy_area, mac_copy_area_with_mask): Restore background color.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
6033 #endif |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6034 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6035 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6036 |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
6037 /* Free X resources of frame F. */ |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6038 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6039 void |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
6040 x_free_frame_resources (f) |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6041 struct frame *f; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6042 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6043 struct mac_display_info *dpyinfo = FRAME_MAC_DISPLAY_INFO (f); |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
6044 Window wp = FRAME_MAC_WINDOW (f); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6045 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6046 BLOCK_INPUT; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6047 |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
6048 /* AppKit version of mac_dispose_frame_window, which is implemented |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
6049 as -[NSWindow close], will change the focus to the next window |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
6050 during its call. So, unlike other platforms, we clean up the |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
6051 focus-related variables before calling mac_dispose_frame_window. */ |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6052 if (f == dpyinfo->x_focus_frame) |
|
70563
fc3c18e2c3b9
(Qservice) [MAC_OSX]: Rename from Qservices. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70496
diff
changeset
|
6053 { |
|
fc3c18e2c3b9
(Qservice) [MAC_OSX]: Rename from Qservices. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70496
diff
changeset
|
6054 dpyinfo->x_focus_frame = 0; |
|
fc3c18e2c3b9
(Qservice) [MAC_OSX]: Rename from Qservices. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70496
diff
changeset
|
6055 #if USE_MAC_FONT_PANEL |
|
fc3c18e2c3b9
(Qservice) [MAC_OSX]: Rename from Qservices. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70496
diff
changeset
|
6056 mac_set_font_info_for_selection (NULL, DEFAULT_FACE_ID, 0); |
|
fc3c18e2c3b9
(Qservice) [MAC_OSX]: Rename from Qservices. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70496
diff
changeset
|
6057 #endif |
|
fc3c18e2c3b9
(Qservice) [MAC_OSX]: Rename from Qservices. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70496
diff
changeset
|
6058 } |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6059 if (f == dpyinfo->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
|
6060 dpyinfo->x_focus_event_frame = 0; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6061 if (f == dpyinfo->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
|
6062 dpyinfo->x_highlight_frame = 0; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6063 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6064 if (f == dpyinfo->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
|
6065 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6066 dpyinfo->mouse_face_beg_row |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6067 = dpyinfo->mouse_face_beg_col = -1; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6068 dpyinfo->mouse_face_end_row |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6069 = dpyinfo->mouse_face_end_col = -1; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6070 dpyinfo->mouse_face_window = Qnil; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6071 dpyinfo->mouse_face_deferred_gc = 0; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6072 dpyinfo->mouse_face_mouse_frame = 0; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6073 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6074 |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
6075 mac_dispose_frame_window (f); |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
6076 if (wp == tip_window) |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
6077 /* Neither WaitNextEvent nor ReceiveNextEvent receives `window |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
6078 closed' event. So we reset tip_window here. */ |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
6079 tip_window = NULL; |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
6080 |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
6081 free_frame_menubar (f); |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
6082 |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
6083 if (FRAME_FACE_CACHE (f)) |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
6084 free_frame_faces (f); |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
6085 |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
6086 x_free_gcs (f); |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
6087 |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
6088 if (FRAME_SIZE_HINTS (f)) |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
6089 xfree (FRAME_SIZE_HINTS (f)); |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
6090 |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
6091 xfree (f->output_data.mac); |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
6092 f->output_data.mac = NULL; |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
6093 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6094 UNBLOCK_INPUT; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6095 } |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
6096 |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
6097 |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
6098 /* Destroy the X window of frame F. */ |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
6099 |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
6100 void |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
6101 x_destroy_window (f) |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
6102 struct frame *f; |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
6103 { |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
6104 struct mac_display_info *dpyinfo = FRAME_MAC_DISPLAY_INFO (f); |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
6105 |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
6106 x_free_frame_resources (f); |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
6107 |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
6108 dpyinfo->reference_count--; |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
6109 } |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
6110 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6111 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6112 /* Setting window manager hints. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6113 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6114 /* Set the normal size hints for the window manager, for frame F. |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6115 FLAGS is the flags word to use--or 0 meaning preserve the flags |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6116 that the window now has. |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6117 If USER_POSITION is nonzero, we set the USPosition |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6118 flag (this is useful when FLAGS is 0). */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6119 void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6120 x_wm_set_size_hint (f, flags, user_position) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6121 struct frame *f; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6122 long flags; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6123 int user_position; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6124 { |
|
59146
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
6125 int base_width, base_height, width_inc, height_inc; |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
6126 int min_rows = 0, min_cols = 0; |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
6127 XSizeHints *size_hints; |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
6128 |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
6129 base_width = FRAME_TEXT_COLS_TO_PIXEL_WIDTH (f, 0); |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
6130 base_height = FRAME_TEXT_LINES_TO_PIXEL_HEIGHT (f, 0); |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
6131 width_inc = FRAME_COLUMN_WIDTH (f); |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
6132 height_inc = FRAME_LINE_HEIGHT (f); |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
6133 |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
6134 check_frame_size (f, &min_rows, &min_cols); |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
6135 |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
6136 size_hints = FRAME_SIZE_HINTS (f); |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
6137 if (size_hints == NULL) |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
6138 { |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
6139 size_hints = FRAME_SIZE_HINTS (f) = xmalloc (sizeof (XSizeHints)); |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
6140 bzero (size_hints, sizeof (XSizeHints)); |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
6141 } |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
6142 |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
6143 size_hints->flags |= PResizeInc | PMinSize | PBaseSize ; |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
6144 size_hints->width_inc = width_inc; |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
6145 size_hints->height_inc = height_inc; |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
6146 size_hints->min_width = base_width + min_cols * width_inc; |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
6147 size_hints->min_height = base_height + min_rows * height_inc; |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
6148 size_hints->base_width = base_width; |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
6149 size_hints->base_height = base_height; |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
6150 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6151 if (flags) |
|
59146
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
6152 size_hints->flags = flags; |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
6153 else if (user_position) |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
6154 { |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
6155 size_hints->flags &= ~ PPosition; |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
6156 size_hints->flags |= USPosition; |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
6157 } |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6158 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6159 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6160 #if 0 /* MAC_TODO: hide application instead of iconify? */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6161 /* Used for IconicState or NormalState */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6162 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6163 void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6164 x_wm_set_window_state (f, state) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6165 struct frame *f; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6166 int state; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6167 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6168 #ifdef USE_X_TOOLKIT |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6169 Arg al[1]; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6170 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6171 XtSetArg (al[0], XtNinitialState, state); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6172 XtSetValues (f->output_data.x->widget, al, 1); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6173 #else /* not USE_X_TOOLKIT */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6174 Window window = FRAME_X_WINDOW (f); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6175 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6176 f->output_data.x->wm_hints.flags |= StateHint; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6177 f->output_data.x->wm_hints.initial_state = state; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6178 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6179 XSetWMHints (FRAME_X_DISPLAY (f), window, &f->output_data.x->wm_hints); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6180 #endif /* not USE_X_TOOLKIT */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6181 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6182 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6183 void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6184 x_wm_set_icon_pixmap (f, pixmap_id) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6185 struct frame *f; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6186 int pixmap_id; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6187 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6188 Pixmap icon_pixmap; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6189 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6190 #ifndef USE_X_TOOLKIT |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6191 Window window = FRAME_X_WINDOW (f); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6192 #endif |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6193 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6194 if (pixmap_id > 0) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6195 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6196 icon_pixmap = x_bitmap_pixmap (f, pixmap_id); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6197 f->output_data.x->wm_hints.icon_pixmap = icon_pixmap; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6198 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6199 else |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6200 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6201 /* It seems there is no way to turn off use of an icon pixmap. |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6202 The following line does it, only if no icon has 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
|
6203 for some window managers. But with mwm it crashes. |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6204 Some people say it should clear the IconPixmapHint bit in this case, |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6205 but that doesn't work, and the X consortium said it isn't the |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6206 right thing at all. Since there is no way to win, |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6207 best to explicitly give up. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6208 #if 0 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6209 f->output_data.x->wm_hints.icon_pixmap = None; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6210 #else |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6211 return; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6212 #endif |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6213 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6214 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6215 #ifdef USE_X_TOOLKIT /* same as in x_wm_set_window_state. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6216 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6217 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6218 Arg al[1]; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6219 XtSetArg (al[0], XtNiconPixmap, icon_pixmap); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6220 XtSetValues (f->output_data.x->widget, al, 1); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6221 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6222 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6223 #else /* not USE_X_TOOLKIT */ |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
6224 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6225 f->output_data.x->wm_hints.flags |= IconPixmapHint; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6226 XSetWMHints (FRAME_X_DISPLAY (f), window, &f->output_data.x->wm_hints); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6227 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6228 #endif /* not USE_X_TOOLKIT */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6229 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6230 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6231 #endif /* MAC_TODO */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6232 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6233 void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6234 x_wm_set_icon_position (f, icon_x, icon_y) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6235 struct frame *f; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6236 int icon_x, icon_y; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6237 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6238 #if 0 /* MAC_TODO: no icons on Mac */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6239 #ifdef USE_X_TOOLKIT |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6240 Window window = XtWindow (f->output_data.x->widget); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6241 #else |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6242 Window window = FRAME_X_WINDOW (f); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6243 #endif |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6244 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6245 f->output_data.x->wm_hints.flags |= IconPositionHint; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6246 f->output_data.x->wm_hints.icon_x = icon_x; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6247 f->output_data.x->wm_hints.icon_y = icon_y; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6248 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6249 XSetWMHints (FRAME_X_DISPLAY (f), window, &f->output_data.x->wm_hints); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6250 #endif /* MAC_TODO */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6251 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6252 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6253 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6254 /*********************************************************************** |
|
65346
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6255 XLFD Pattern Match |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6256 ***********************************************************************/ |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6257 |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6258 /* An XLFD pattern is divided into blocks delimited by '*'. This |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6259 structure holds information for each block. */ |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6260 struct xlfdpat_block |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6261 { |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6262 /* Length of the pattern string in this block. Non-zero except for |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6263 the first and the last blocks. */ |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6264 int len; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6265 |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6266 /* Pattern string except the last character in this block. The last |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6267 character is replaced with NUL in order to use it as a |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6268 sentinel. */ |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6269 unsigned char *pattern; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6270 |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6271 /* Last character of the pattern string. Must not be '?'. */ |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6272 unsigned char last_char; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6273 |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6274 /* One of the tables for the Boyer-Moore string search. It |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6275 specifies the number of positions to proceed for each character |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6276 with which the match fails. */ |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6277 int skip[256]; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6278 |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6279 /* The skip value for the last character in the above `skip' is |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6280 assigned to `infinity' in order to simplify a loop condition. |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6281 The original value is saved here. */ |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6282 int last_char_skip; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6283 }; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6284 |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6285 struct xlfdpat |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6286 { |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6287 /* Normalized pattern string. "Normalized" means that capital |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6288 letters are lowered, blocks are not empty except the first and |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6289 the last ones, and trailing '?'s in a block that is not the last |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6290 one are moved to the next one. The last character in each block |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6291 is replaced with NUL. */ |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6292 unsigned char *buf; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6293 |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6294 /* Number of characters except '*'s and trailing '?'s in the |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6295 normalized pattern string. */ |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6296 int nchars; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6297 |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6298 /* Number of trailing '?'s in the normalized pattern string. */ |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6299 int trailing_anychars; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6300 |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6301 /* Number of blocks and information for each block. The latter is |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6302 NULL if the pattern is exact (no '*' or '?' in it). */ |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6303 int nblocks; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6304 struct xlfdpat_block *blocks; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6305 }; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6306 |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6307 static void |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6308 xlfdpat_destroy (pat) |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6309 struct xlfdpat *pat; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6310 { |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6311 if (pat) |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6312 { |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6313 if (pat->buf) |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6314 { |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6315 if (pat->blocks) |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6316 xfree (pat->blocks); |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6317 xfree (pat->buf); |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6318 } |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6319 xfree (pat); |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6320 } |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6321 } |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6322 |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6323 static struct xlfdpat * |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6324 xlfdpat_create (pattern) |
|
73575
c39e3aff703e
(mac_create_bitmap_from_bitmap_data): Make variable
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73385
diff
changeset
|
6325 const char *pattern; |
|
65346
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6326 { |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6327 struct xlfdpat *pat; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6328 int nblocks, i, skip; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6329 unsigned char last_char, *p, *q, *anychar_head; |
|
73575
c39e3aff703e
(mac_create_bitmap_from_bitmap_data): Make variable
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73385
diff
changeset
|
6330 const unsigned char *ptr; |
|
65346
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6331 struct xlfdpat_block *blk; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6332 |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6333 pat = xmalloc (sizeof (struct xlfdpat)); |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6334 pat->buf = xmalloc (strlen (pattern) + 1); |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6335 |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6336 /* Normalize the pattern string and store it to `pat->buf'. */ |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6337 nblocks = 0; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6338 anychar_head = NULL; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6339 q = pat->buf; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6340 last_char = '\0'; |
|
73575
c39e3aff703e
(mac_create_bitmap_from_bitmap_data): Make variable
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73385
diff
changeset
|
6341 for (ptr = pattern; *ptr; ptr++) |
|
c39e3aff703e
(mac_create_bitmap_from_bitmap_data): Make variable
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73385
diff
changeset
|
6342 { |
|
c39e3aff703e
(mac_create_bitmap_from_bitmap_data): Make variable
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73385
diff
changeset
|
6343 unsigned char c = *ptr; |
|
65346
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6344 |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6345 if (c == '*') |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6346 if (last_char == '*') |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6347 /* ...a** -> ...a* */ |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6348 continue; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6349 else |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6350 { |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6351 if (last_char == '?') |
|
69964
321089786c7b
Don't include gnu.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69773
diff
changeset
|
6352 { |
|
321089786c7b
Don't include gnu.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69773
diff
changeset
|
6353 if (anychar_head > pat->buf && *(anychar_head - 1) == '*') |
|
321089786c7b
Don't include gnu.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69773
diff
changeset
|
6354 /* ...*??* -> ...*?? */ |
|
321089786c7b
Don't include gnu.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69773
diff
changeset
|
6355 continue; |
|
321089786c7b
Don't include gnu.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69773
diff
changeset
|
6356 else |
|
321089786c7b
Don't include gnu.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69773
diff
changeset
|
6357 /* ...a??* -> ...a*?? */ |
|
321089786c7b
Don't include gnu.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69773
diff
changeset
|
6358 { |
|
321089786c7b
Don't include gnu.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69773
diff
changeset
|
6359 *anychar_head++ = '*'; |
|
321089786c7b
Don't include gnu.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69773
diff
changeset
|
6360 c = '?'; |
|
321089786c7b
Don't include gnu.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69773
diff
changeset
|
6361 } |
|
321089786c7b
Don't include gnu.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69773
diff
changeset
|
6362 } |
|
65346
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6363 nblocks++; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6364 } |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6365 else if (c == '?') |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6366 { |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6367 if (last_char != '?') |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6368 anychar_head = q; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6369 } |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6370 else |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6371 /* On Mac OS X 10.3, tolower also converts non-ASCII |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6372 characters for some locales. */ |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6373 if (isascii (c)) |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6374 c = tolower (c); |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6375 |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6376 *q++ = last_char = c; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6377 } |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6378 *q = '\0'; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6379 nblocks++; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6380 pat->nblocks = nblocks; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6381 if (last_char != '?') |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6382 pat->trailing_anychars = 0; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6383 else |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6384 { |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6385 pat->trailing_anychars = q - anychar_head; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6386 q = anychar_head; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6387 } |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6388 pat->nchars = q - pat->buf - (nblocks - 1); |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6389 |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6390 if (anychar_head == NULL && nblocks == 1) |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6391 { |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6392 /* The pattern is exact. */ |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6393 pat->blocks = NULL; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6394 return pat; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6395 } |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6396 |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6397 pat->blocks = xmalloc (sizeof (struct xlfdpat_block) * nblocks); |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6398 |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6399 /* Divide the normalized pattern into blocks. */ |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6400 p = pat->buf; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6401 for (blk = pat->blocks; blk < pat->blocks + nblocks - 1; blk++) |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6402 { |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6403 blk->pattern = p; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6404 while (*p != '*') |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6405 p++; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6406 blk->len = p - blk->pattern; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6407 p++; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6408 } |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6409 blk->pattern = p; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6410 blk->len = q - blk->pattern; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6411 |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6412 /* Setup a table for the Boyer-Moore string search. */ |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6413 for (blk = pat->blocks; blk < pat->blocks + nblocks; blk++) |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6414 if (blk->len != 0) |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6415 { |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6416 blk->last_char = blk->pattern[blk->len - 1]; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6417 blk->pattern[blk->len - 1] = '\0'; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6418 |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6419 for (skip = 1; skip < blk->len; skip++) |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6420 if (blk->pattern[blk->len - skip - 1] == '?') |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6421 break; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6422 |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6423 for (i = 0; i < 256; i++) |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6424 blk->skip[i] = skip; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6425 |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6426 p = blk->pattern + (blk->len - skip); |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6427 while (--skip > 0) |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6428 blk->skip[*p++] = skip; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6429 |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6430 blk->last_char_skip = blk->skip[blk->last_char]; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6431 } |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6432 |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6433 return pat; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6434 } |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6435 |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6436 static INLINE int |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6437 xlfdpat_exact_p (pat) |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6438 struct xlfdpat *pat; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6439 { |
|
65643
44af31946762
(xlfdpat_block_match_1): Fix assertion.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65346
diff
changeset
|
6440 return pat->blocks == NULL; |
|
65346
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6441 } |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6442 |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6443 /* Return the first string in STRING + 0, ..., STRING + START_MAX such |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6444 that the pattern in *BLK matches with its prefix. Return NULL |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6445 there is no such strings. STRING must be lowered in advance. */ |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6446 |
|
73575
c39e3aff703e
(mac_create_bitmap_from_bitmap_data): Make variable
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73385
diff
changeset
|
6447 static const char * |
|
65346
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6448 xlfdpat_block_match_1 (blk, string, start_max) |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6449 struct xlfdpat_block *blk; |
|
73575
c39e3aff703e
(mac_create_bitmap_from_bitmap_data): Make variable
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73385
diff
changeset
|
6450 const unsigned char *string; |
|
65346
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6451 int start_max; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6452 { |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6453 int start, infinity; |
|
73575
c39e3aff703e
(mac_create_bitmap_from_bitmap_data): Make variable
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73385
diff
changeset
|
6454 unsigned char *p; |
|
c39e3aff703e
(mac_create_bitmap_from_bitmap_data): Make variable
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73385
diff
changeset
|
6455 const unsigned char *s; |
|
65346
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6456 |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6457 xassert (blk->len > 0); |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6458 xassert (start_max + blk->len <= strlen (string)); |
|
65643
44af31946762
(xlfdpat_block_match_1): Fix assertion.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65346
diff
changeset
|
6459 xassert (blk->last_char != '?'); |
|
65346
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6460 |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6461 /* See the comments in the function `boyer_moore' (search.c) for the |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6462 use of `infinity'. */ |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6463 infinity = start_max + blk->len + 1; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6464 blk->skip[blk->last_char] = infinity; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6465 |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6466 start = 0; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6467 do |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6468 { |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6469 /* Check the last character of the pattern. */ |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6470 s = string + blk->len - 1; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6471 do |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6472 { |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6473 start += blk->skip[*(s + start)]; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6474 } |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6475 while (start <= start_max); |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6476 |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6477 if (start < infinity) |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6478 /* Couldn't find the last character. */ |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6479 return NULL; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6480 |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6481 /* No less than `infinity' means we could find the last |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6482 character at `s[start - infinity]'. */ |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6483 start -= infinity; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6484 |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6485 /* Check the remaining characters. We prefer making no-'?' |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6486 cases faster because the use of '?' is really rare. */ |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6487 p = blk->pattern; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6488 s = string + start; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6489 do |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6490 { |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6491 while (*p++ == *s++) |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6492 ; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6493 } |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6494 while (*(p - 1) == '?'); |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6495 |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6496 if (*(p - 1) == '\0') |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6497 /* Matched. */ |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6498 return string + start; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6499 |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6500 /* Didn't match. */ |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6501 start += blk->last_char_skip; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6502 } |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6503 while (start <= start_max); |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6504 |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6505 return NULL; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6506 } |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6507 |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6508 #define xlfdpat_block_match(b, s, m) \ |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6509 ((b)->len == 1 ? memchr ((s), (b)->last_char, (m) + 1) \ |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6510 : xlfdpat_block_match_1 (b, s, m)) |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6511 |
|
73575
c39e3aff703e
(mac_create_bitmap_from_bitmap_data): Make variable
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73385
diff
changeset
|
6512 /* Check if XLFD pattern PAT, which is generated by `xlfdpat_create', |
|
65346
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6513 matches with STRING. STRING must be lowered in advance. */ |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6514 |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6515 static int |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6516 xlfdpat_match (pat, string) |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6517 struct xlfdpat *pat; |
|
73575
c39e3aff703e
(mac_create_bitmap_from_bitmap_data): Make variable
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73385
diff
changeset
|
6518 const unsigned char *string; |
|
65346
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6519 { |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6520 int str_len, nblocks, i, start_max; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6521 struct xlfdpat_block *blk; |
|
73575
c39e3aff703e
(mac_create_bitmap_from_bitmap_data): Make variable
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73385
diff
changeset
|
6522 const unsigned char *s; |
|
65346
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6523 |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6524 xassert (pat->nblocks > 0); |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6525 |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6526 if (xlfdpat_exact_p (pat)) |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6527 return strcmp (pat->buf, string) == 0; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6528 |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6529 /* The number of the characters in the string must not be smaller |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6530 than that in the pattern. */ |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6531 str_len = strlen (string); |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6532 if (str_len < pat->nchars + pat->trailing_anychars) |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6533 return 0; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6534 |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6535 /* Chop off the trailing '?'s. */ |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6536 str_len -= pat->trailing_anychars; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6537 |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6538 /* The last block. When it is non-empty, it must match at the end |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6539 of the string. */ |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6540 nblocks = pat->nblocks; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6541 blk = pat->blocks + (nblocks - 1); |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6542 if (nblocks == 1) |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6543 /* The last block is also the first one. */ |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6544 return (str_len == blk->len |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6545 && (blk->len == 0 || xlfdpat_block_match (blk, string, 0))); |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6546 else if (blk->len != 0) |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6547 if (!xlfdpat_block_match (blk, string + (str_len - blk->len), 0)) |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6548 return 0; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6549 |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6550 /* The first block. When it is non-empty, it must match at the |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6551 beginning of the string. */ |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6552 blk = pat->blocks; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6553 if (blk->len != 0) |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6554 { |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6555 s = xlfdpat_block_match (blk, string, 0); |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6556 if (s == NULL) |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6557 return 0; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6558 string = s + blk->len; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6559 } |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6560 |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6561 /* The rest of the blocks. */ |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6562 start_max = str_len - pat->nchars; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6563 for (i = 1, blk++; i < nblocks - 1; i++, blk++) |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6564 { |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6565 s = xlfdpat_block_match (blk, string, start_max); |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6566 if (s == NULL) |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6567 return 0; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6568 start_max -= s - string; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6569 string = s + blk->len; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6570 } |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6571 |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6572 return 1; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6573 } |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6574 |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6575 |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6576 /*********************************************************************** |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6577 Fonts |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6578 ***********************************************************************/ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6579 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6580 /* Return a pointer to struct font_info of font FONT_IDX 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
|
6581 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6582 struct font_info * |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6583 x_get_font_info (f, font_idx) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6584 FRAME_PTR f; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6585 int font_idx; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6586 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6587 return (FRAME_MAC_FONT_TABLE (f) + font_idx); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6588 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6589 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6590 /* the global font name table */ |
|
64276
0a062d2d75f3
Don't include stdlib.h or composite.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64102
diff
changeset
|
6591 static char **font_name_table = NULL; |
|
0a062d2d75f3
Don't include stdlib.h or composite.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64102
diff
changeset
|
6592 static int font_name_table_size = 0; |
|
0a062d2d75f3
Don't include stdlib.h or composite.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64102
diff
changeset
|
6593 static int font_name_count = 0; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6594 |
|
66005
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6595 /* Alist linking font family names to Font Manager font family |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6596 references (which can also be used as QuickDraw font IDs). We use |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6597 an alist because hash tables are not ready when the terminal frame |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6598 for Mac OS Classic is created. */ |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6599 static Lisp_Object fm_font_family_alist; |
|
65772
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
6600 #if USE_ATSUI |
|
66005
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6601 /* Hash table linking font family names to ATSU font IDs. */ |
|
65772
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
6602 static Lisp_Object atsu_font_id_hash; |
|
71504
2b4e59cd1121
(Qeql): Add extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71359
diff
changeset
|
6603 /* Alist linking Font Manager style to face attributes. */ |
|
2b4e59cd1121
(Qeql): Add extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71359
diff
changeset
|
6604 static Lisp_Object fm_style_face_attributes_alist; |
|
70496
8b2250961fcc
(XLoadQueryFont) [USE_ATSUI]: Set FMFontFamily value
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70384
diff
changeset
|
6605 extern Lisp_Object QCfamily, QCweight, QCslant, Qnormal, Qbold, Qitalic; |
|
65772
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
6606 #endif |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
6607 #if USE_MAC_FONT_PANEL |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
6608 Lisp_Object Qpanel_closed, Qselection; |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
6609 #endif |
|
65772
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
6610 |
|
61658
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
6611 /* Alist linking character set strings to Mac text encoding and Emacs |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
6612 coding system. */ |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
6613 static Lisp_Object Vmac_charset_info_alist; |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
6614 |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
6615 static Lisp_Object |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
6616 create_text_encoding_info_alist () |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
6617 { |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
6618 Lisp_Object result = Qnil, rest; |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
6619 |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
6620 for (rest = Vmac_charset_info_alist; CONSP (rest); rest = XCDR (rest)) |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
6621 { |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
6622 Lisp_Object charset_info = XCAR (rest); |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
6623 Lisp_Object charset, coding_system, text_encoding; |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
6624 Lisp_Object existing_info; |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
6625 |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
6626 if (!(CONSP (charset_info) |
|
76746
d3898ad6d0d5
(create_text_encoding_info_alist): Move assignments
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
76535
diff
changeset
|
6627 && (charset = XCAR (charset_info), |
|
d3898ad6d0d5
(create_text_encoding_info_alist): Move assignments
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
76535
diff
changeset
|
6628 STRINGP (charset)) |
|
61658
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
6629 && CONSP (XCDR (charset_info)) |
|
76746
d3898ad6d0d5
(create_text_encoding_info_alist): Move assignments
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
76535
diff
changeset
|
6630 && (text_encoding = XCAR (XCDR (charset_info)), |
|
d3898ad6d0d5
(create_text_encoding_info_alist): Move assignments
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
76535
diff
changeset
|
6631 INTEGERP (text_encoding)) |
|
61658
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
6632 && CONSP (XCDR (XCDR (charset_info))) |
|
76746
d3898ad6d0d5
(create_text_encoding_info_alist): Move assignments
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
76535
diff
changeset
|
6633 && (coding_system = XCAR (XCDR (XCDR (charset_info))), |
|
d3898ad6d0d5
(create_text_encoding_info_alist): Move assignments
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
76535
diff
changeset
|
6634 SYMBOLP (coding_system)))) |
|
61658
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
6635 continue; |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
6636 |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
6637 existing_info = assq_no_quit (text_encoding, result); |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
6638 if (NILP (existing_info)) |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
6639 result = Fcons (list3 (text_encoding, coding_system, charset), |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
6640 result); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6641 else |
|
61658
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
6642 if (NILP (Fmember (charset, XCDR (XCDR (existing_info))))) |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
6643 XSETCDR (XCDR (existing_info), |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
6644 Fcons (charset, XCDR (XCDR (existing_info)))); |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
6645 } |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
6646 |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
6647 return result; |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
6648 } |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
6649 |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
6650 |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
6651 static void |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
6652 decode_mac_font_name (name, size, coding_system) |
|
58634
95d38c47c806
* keyboard.c: Don't undef SIGIO
Steven Tamm <steventamm@mac.com>
parents:
58403
diff
changeset
|
6653 char *name; |
|
95d38c47c806
* keyboard.c: Don't undef SIGIO
Steven Tamm <steventamm@mac.com>
parents:
58403
diff
changeset
|
6654 int size; |
|
61658
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
6655 Lisp_Object coding_system; |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
6656 { |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
6657 struct coding_system coding; |
|
61658
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
6658 char *buf, *p; |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
6659 |
|
66005
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6660 if (!NILP (coding_system) && !NILP (Fcoding_system_p (coding_system))) |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6661 { |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6662 for (p = name; *p; p++) |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6663 if (!isascii (*p) || iscntrl (*p)) |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6664 break; |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6665 |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6666 if (*p) |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6667 { |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6668 setup_coding_system (coding_system, &coding); |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6669 coding.src_multibyte = 0; |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6670 coding.dst_multibyte = 1; |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6671 coding.mode |= CODING_MODE_LAST_BLOCK; |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6672 coding.composing = COMPOSITION_DISABLED; |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6673 buf = (char *) alloca (size); |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6674 |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6675 decode_coding (&coding, name, buf, strlen (name), size - 1); |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6676 bcopy (buf, name, coding.produced); |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6677 name[coding.produced] = '\0'; |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6678 } |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6679 } |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6680 |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6681 /* If there's just one occurrence of '-' in the family name, it is |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6682 replaced with '_'. (More than one occurrence of '-' means a |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6683 "FOUNDRY-FAMILY-CHARSET"-style name.) */ |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6684 p = strchr (name, '-'); |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6685 if (p && strchr (p + 1, '-') == NULL) |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6686 *p = '_'; |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6687 |
|
61658
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
6688 for (p = name; *p; p++) |
|
66005
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6689 /* On Mac OS X 10.3, tolower also converts non-ASCII characters |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6690 for some locales. */ |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6691 if (isascii (*p)) |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6692 *p = tolower (*p); |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
6693 } |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6694 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6695 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6696 static char * |
|
61658
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
6697 mac_to_x_fontname (name, size, style, charset) |
|
73575
c39e3aff703e
(mac_create_bitmap_from_bitmap_data): Make variable
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73385
diff
changeset
|
6698 const char *name; |
|
58634
95d38c47c806
* keyboard.c: Don't undef SIGIO
Steven Tamm <steventamm@mac.com>
parents:
58403
diff
changeset
|
6699 int size; |
|
95d38c47c806
* keyboard.c: Don't undef SIGIO
Steven Tamm <steventamm@mac.com>
parents:
58403
diff
changeset
|
6700 Style style; |
|
61658
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
6701 char *charset; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6702 { |
|
64102
09d72bda30b9
(mac_draw_vertical_window_border): Use foreground of
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64084
diff
changeset
|
6703 Str31 foundry, cs; |
|
09d72bda30b9
(mac_draw_vertical_window_border): Use foreground of
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64084
diff
changeset
|
6704 Str255 family; |
|
65346
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6705 char xf[256], *result; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6706 unsigned char *p; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6707 |
|
64102
09d72bda30b9
(mac_draw_vertical_window_border): Use foreground of
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64084
diff
changeset
|
6708 if (sscanf (name, "%31[^-]-%255[^-]-%31s", foundry, family, cs) == 3) |
|
61658
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
6709 charset = cs; |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
6710 else |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6711 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6712 strcpy(foundry, "Apple"); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6713 strcpy(family, name); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6714 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6715 |
|
64102
09d72bda30b9
(mac_draw_vertical_window_border): Use foreground of
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64084
diff
changeset
|
6716 sprintf (xf, "%s-%c-normal--%d-%d-%d-%d-m-%d-%s", |
|
09d72bda30b9
(mac_draw_vertical_window_border): Use foreground of
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64084
diff
changeset
|
6717 style & bold ? "bold" : "medium", style & italic ? 'i' : 'r', |
|
66431
8ee33d677ac7
(last_mouse_glyph_frame): New var.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66181
diff
changeset
|
6718 size, size * 10, size ? 72 : 0, size ? 72 : 0, size * 10, charset); |
|
64102
09d72bda30b9
(mac_draw_vertical_window_border): Use foreground of
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64084
diff
changeset
|
6719 |
|
09d72bda30b9
(mac_draw_vertical_window_border): Use foreground of
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64084
diff
changeset
|
6720 result = xmalloc (strlen (foundry) + strlen (family) + strlen (xf) + 3 + 1); |
|
09d72bda30b9
(mac_draw_vertical_window_border): Use foreground of
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64084
diff
changeset
|
6721 sprintf (result, "-%s-%s-%s", foundry, family, xf); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6722 for (p = result; *p; p++) |
|
65346
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6723 /* On Mac OS X 10.3, tolower also converts non-ASCII characters |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6724 for some locales. */ |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6725 if (isascii (*p)) |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6726 *p = tolower (*p); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6727 return result; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6728 } |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
6729 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6730 |
|
66005
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6731 /* Parse fully-specified and instantiated X11 font spec XF, and store |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6732 the results to FAMILY, *SIZE, *STYLE, and CHARSET. Return 1 if the |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6733 parsing succeeded, and 0 otherwise. For FAMILY and CHARSET, the |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6734 caller must allocate at least 256 and 32 bytes respectively. For |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6735 ordinary Mac fonts, the value stored to FAMILY should just be their |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6736 names, like "monaco", "Taipei", etc. Fonts converted from the GNU |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6737 intlfonts collection contain their charset designation in their |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6738 names, like "ETL-Fixed-iso8859-1", "ETL-Fixed-koi8-r", etc. Both |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6739 types of font names are handled accordingly. */ |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6740 |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6741 const int kDefaultFontSize = 12; |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6742 |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6743 static int |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6744 parse_x_font_name (xf, family, size, style, charset) |
|
73575
c39e3aff703e
(mac_create_bitmap_from_bitmap_data): Make variable
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73385
diff
changeset
|
6745 const char *xf; |
|
c39e3aff703e
(mac_create_bitmap_from_bitmap_data): Make variable
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73385
diff
changeset
|
6746 char *family; |
|
66005
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6747 int *size; |
|
61658
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
6748 Style *style; |
|
66005
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6749 char *charset; |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6750 { |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6751 Str31 foundry, weight; |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6752 int point_size, avgwidth; |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6753 char slant[2], *p; |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6754 |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6755 if (sscanf (xf, "-%31[^-]-%255[^-]-%31[^-]-%1[^-]-%*[^-]-%*[^-]-%d-%d-%*[^-]-%*[^-]-%*c-%d-%31s", |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6756 foundry, family, weight, slant, size, |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6757 &point_size, &avgwidth, charset) != 8 |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6758 && sscanf (xf, "-%31[^-]-%255[^-]-%31[^-]-%1[^-]-%*[^-]--%d-%d-%*[^-]-%*[^-]-%*c-%d-%31s", |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6759 foundry, family, weight, slant, size, |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6760 &point_size, &avgwidth, charset) != 8) |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6761 return 0; |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6762 |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6763 if (*size == 0) |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6764 { |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6765 if (point_size > 0) |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6766 *size = point_size / 10; |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6767 else if (avgwidth > 0) |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6768 *size = avgwidth / 10; |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6769 } |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6770 if (*size == 0) |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6771 *size = kDefaultFontSize; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6772 |
|
61658
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
6773 *style = normal; |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
6774 if (strcmp (weight, "bold") == 0) |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
6775 *style |= bold; |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
6776 if (*slant == 'i') |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
6777 *style |= italic; |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
6778 |
|
66005
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6779 if (NILP (Fassoc (build_string (charset), Vmac_charset_info_alist))) |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6780 { |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6781 int foundry_len = strlen (foundry), family_len = strlen (family); |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6782 |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6783 if (foundry_len + family_len + strlen (charset) + 2 < sizeof (Str255)) |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6784 { |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6785 /* Like sprintf (family, "%s-%s-%s", foundry, family, charset), |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6786 but take overlap into account. */ |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6787 memmove (family + foundry_len + 1, family, family_len); |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6788 memcpy (family, foundry, foundry_len); |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6789 family[foundry_len] = '-'; |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6790 family[foundry_len + 1 + family_len] = '-'; |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6791 strcpy (family + foundry_len + 1 + family_len + 1, charset); |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6792 } |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6793 else |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6794 return 0; |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6795 } |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6796 |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6797 for (p = family; *p; p++) |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6798 /* On Mac OS X 10.3, tolower also converts non-ASCII characters |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6799 for some locales. */ |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6800 if (isascii (*p)) |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6801 *p = tolower (*p); |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6802 |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
6803 return 1; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6804 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6805 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6806 |
| 45848 | 6807 static void |
| 6808 add_font_name_table_entry (char *font_name) | |
| 6809 { | |
| 6810 if (font_name_table_size == 0) | |
| 6811 { | |
|
65346
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6812 font_name_table_size = 256; |
| 45848 | 6813 font_name_table = (char **) |
| 6814 xmalloc (font_name_table_size * sizeof (char *)); | |
| 6815 } | |
| 6816 else if (font_name_count + 1 >= font_name_table_size) | |
| 6817 { | |
|
65346
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
6818 font_name_table_size *= 2; |
| 45848 | 6819 font_name_table = (char **) |
| 6820 xrealloc (font_name_table, | |
| 6821 font_name_table_size * sizeof (char *)); | |
| 6822 } | |
| 6823 | |
| 6824 font_name_table[font_name_count++] = font_name; | |
| 6825 } | |
| 6826 | |
|
70149
6188dfce9d77
(x_per_char_metric): Return NULL if glyph width is 0.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70071
diff
changeset
|
6827 static void |
|
6188dfce9d77
(x_per_char_metric): Return NULL if glyph width is 0.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70071
diff
changeset
|
6828 add_mac_font_name (name, size, style, charset) |
|
73575
c39e3aff703e
(mac_create_bitmap_from_bitmap_data): Make variable
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73385
diff
changeset
|
6829 const char *name; |
|
70149
6188dfce9d77
(x_per_char_metric): Return NULL if glyph width is 0.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70071
diff
changeset
|
6830 int size; |
|
6188dfce9d77
(x_per_char_metric): Return NULL if glyph width is 0.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70071
diff
changeset
|
6831 Style style; |
|
73575
c39e3aff703e
(mac_create_bitmap_from_bitmap_data): Make variable
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73385
diff
changeset
|
6832 const char *charset; |
|
70149
6188dfce9d77
(x_per_char_metric): Return NULL if glyph width is 0.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70071
diff
changeset
|
6833 { |
|
6188dfce9d77
(x_per_char_metric): Return NULL if glyph width is 0.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70071
diff
changeset
|
6834 if (size > 0) |
|
6188dfce9d77
(x_per_char_metric): Return NULL if glyph width is 0.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70071
diff
changeset
|
6835 add_font_name_table_entry (mac_to_x_fontname (name, size, style, charset)); |
|
6188dfce9d77
(x_per_char_metric): Return NULL if glyph width is 0.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70071
diff
changeset
|
6836 else |
|
6188dfce9d77
(x_per_char_metric): Return NULL if glyph width is 0.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70071
diff
changeset
|
6837 { |
|
6188dfce9d77
(x_per_char_metric): Return NULL if glyph width is 0.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70071
diff
changeset
|
6838 add_font_name_table_entry (mac_to_x_fontname (name, 0, style, charset)); |
|
6188dfce9d77
(x_per_char_metric): Return NULL if glyph width is 0.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70071
diff
changeset
|
6839 add_font_name_table_entry (mac_to_x_fontname (name, 0, italic, charset)); |
|
6188dfce9d77
(x_per_char_metric): Return NULL if glyph width is 0.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70071
diff
changeset
|
6840 add_font_name_table_entry (mac_to_x_fontname (name, 0, bold, charset)); |
|
6188dfce9d77
(x_per_char_metric): Return NULL if glyph width is 0.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70071
diff
changeset
|
6841 add_font_name_table_entry (mac_to_x_fontname (name, 0, italic | bold, |
|
6188dfce9d77
(x_per_char_metric): Return NULL if glyph width is 0.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70071
diff
changeset
|
6842 charset)); |
|
6188dfce9d77
(x_per_char_metric): Return NULL if glyph width is 0.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70071
diff
changeset
|
6843 } |
|
6188dfce9d77
(x_per_char_metric): Return NULL if glyph width is 0.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70071
diff
changeset
|
6844 } |
|
6188dfce9d77
(x_per_char_metric): Return NULL if glyph width is 0.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70071
diff
changeset
|
6845 |
|
71504
2b4e59cd1121
(Qeql): Add extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71359
diff
changeset
|
6846 #if USE_ATSUI |
|
74629
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6847 static FMFontStyle |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6848 fm_get_style_from_font (font) |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6849 FMFont font; |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6850 { |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6851 OSStatus err; |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6852 FMFontStyle style = normal; |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6853 ByteCount len; |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6854 UInt16 mac_style; |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6855 FMFontFamily font_family; |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6856 #define FONT_HEADER_MAC_STYLE_OFFSET (4*4 + 2*2 + 8*2 + 2*4) |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6857 |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6858 /* FMGetFontFamilyInstanceFromFont returns `normal' as the style of |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6859 some font (e.g., Optima) even if it is `bold'. */ |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6860 err = FMGetFontTable (font, 'head', FONT_HEADER_MAC_STYLE_OFFSET, |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6861 sizeof (mac_style), &mac_style, &len); |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6862 if (err == noErr |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6863 && len >= FONT_HEADER_MAC_STYLE_OFFSET + sizeof (mac_style)) |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6864 style = EndianU16_BtoN (mac_style); |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6865 else |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6866 FMGetFontFamilyInstanceFromFont (font, &font_family, &style); |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6867 |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6868 return style; |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6869 } |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6870 |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6871 static ATSUFontID |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6872 atsu_find_font_from_family_name (family) |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6873 const char *family; |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6874 { |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6875 struct Lisp_Hash_Table *h = XHASH_TABLE (atsu_font_id_hash); |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6876 unsigned hash_code; |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6877 int i; |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6878 Lisp_Object rest, best; |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6879 FMFontStyle min_style, style; |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6880 |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6881 i = hash_lookup (h, make_unibyte_string (family, strlen (family)), |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6882 &hash_code); |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6883 if (i < 0) |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6884 return kATSUInvalidFontID; |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6885 |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6886 rest = HASH_VALUE (h, i); |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6887 if (INTEGERP (rest) || (CONSP (rest) && INTEGERP (XCDR (rest)))) |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6888 return cons_to_long (rest); |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6889 |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6890 rest = Fnreverse (rest); |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6891 best = XCAR (rest); |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6892 rest = XCDR (rest); |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6893 if (!NILP (rest) |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6894 && (min_style = fm_get_style_from_font (cons_to_long (best))) != normal) |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6895 do |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6896 { |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6897 style = fm_get_style_from_font (cons_to_long (XCAR (rest))); |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6898 if (style < min_style) |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6899 { |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6900 best = XCAR (rest); |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6901 if (style == normal) |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6902 break; |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6903 else |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6904 min_style = style; |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6905 } |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6906 rest = XCDR (rest); |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6907 } |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6908 while (!NILP (rest)); |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6909 |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6910 HASH_VALUE (h, i) = best; |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6911 return cons_to_long (best); |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6912 } |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6913 |
|
71504
2b4e59cd1121
(Qeql): Add extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71359
diff
changeset
|
6914 static Lisp_Object |
|
2b4e59cd1121
(Qeql): Add extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71359
diff
changeset
|
6915 fm_style_to_face_attributes (fm_style) |
|
2b4e59cd1121
(Qeql): Add extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71359
diff
changeset
|
6916 FMFontStyle fm_style; |
|
2b4e59cd1121
(Qeql): Add extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71359
diff
changeset
|
6917 { |
|
2b4e59cd1121
(Qeql): Add extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71359
diff
changeset
|
6918 Lisp_Object tem; |
|
2b4e59cd1121
(Qeql): Add extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71359
diff
changeset
|
6919 |
|
2b4e59cd1121
(Qeql): Add extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71359
diff
changeset
|
6920 fm_style &= (bold | italic); |
|
2b4e59cd1121
(Qeql): Add extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71359
diff
changeset
|
6921 tem = assq_no_quit (make_number (fm_style), |
|
2b4e59cd1121
(Qeql): Add extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71359
diff
changeset
|
6922 fm_style_face_attributes_alist); |
|
2b4e59cd1121
(Qeql): Add extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71359
diff
changeset
|
6923 if (!NILP (tem)) |
|
2b4e59cd1121
(Qeql): Add extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71359
diff
changeset
|
6924 return XCDR (tem); |
|
2b4e59cd1121
(Qeql): Add extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71359
diff
changeset
|
6925 |
|
2b4e59cd1121
(Qeql): Add extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71359
diff
changeset
|
6926 tem = list4 (QCweight, fm_style & bold ? Qbold : Qnormal, |
|
2b4e59cd1121
(Qeql): Add extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71359
diff
changeset
|
6927 QCslant, fm_style & italic ? Qitalic : Qnormal); |
|
2b4e59cd1121
(Qeql): Add extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71359
diff
changeset
|
6928 fm_style_face_attributes_alist = |
|
2b4e59cd1121
(Qeql): Add extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71359
diff
changeset
|
6929 Fcons (Fcons (make_number (fm_style), tem), |
|
2b4e59cd1121
(Qeql): Add extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71359
diff
changeset
|
6930 fm_style_face_attributes_alist); |
|
2b4e59cd1121
(Qeql): Add extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71359
diff
changeset
|
6931 |
|
2b4e59cd1121
(Qeql): Add extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71359
diff
changeset
|
6932 return tem; |
|
2b4e59cd1121
(Qeql): Add extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71359
diff
changeset
|
6933 } |
|
74629
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6934 |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6935 static Lisp_Object |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6936 atsu_find_font_family_name (font_id) |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6937 ATSUFontID font_id; |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6938 { |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6939 OSStatus err; |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6940 ByteCount len; |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6941 Lisp_Object family = Qnil; |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6942 |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6943 err = ATSUFindFontName (font_id, kFontFamilyName, |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6944 kFontMacintoshPlatform, kFontNoScript, |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6945 kFontNoLanguage, 0, NULL, &len, NULL); |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6946 if (err == noErr) |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6947 { |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6948 family = make_uninit_string (len); |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6949 err = ATSUFindFontName (font_id, kFontFamilyName, |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6950 kFontMacintoshPlatform, kFontNoScript, |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6951 kFontNoLanguage, len, SDATA (family), |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6952 NULL, NULL); |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6953 } |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6954 if (err == noErr) |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6955 decode_mac_font_name (SDATA (family), len + 1, Qnil); |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6956 |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6957 return family; |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6958 } |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6959 |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6960 Lisp_Object |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6961 mac_atsu_font_face_attributes (font_id) |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6962 ATSUFontID font_id; |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6963 { |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6964 Lisp_Object family, style_attrs; |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6965 |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6966 family = atsu_find_font_family_name (font_id); |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6967 if (NILP (family)) |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6968 return Qnil; |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6969 style_attrs = fm_style_to_face_attributes (fm_get_style_from_font (font_id)); |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6970 return Fcons (QCfamily, Fcons (family, style_attrs)); |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
6971 } |
|
71504
2b4e59cd1121
(Qeql): Add extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71359
diff
changeset
|
6972 #endif |
|
2b4e59cd1121
(Qeql): Add extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71359
diff
changeset
|
6973 |
| 45848 | 6974 /* Sets up the table font_name_table to contain the list of all fonts |
| 6975 in the system the first time the table is used so that the Resource | |
| 6976 Manager need not be accessed every time this information is | |
| 6977 needed. */ | |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6978 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6979 static void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6980 init_font_name_table () |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6981 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
6982 #if TARGET_API_MAC_CARBON |
|
61658
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
6983 FMFontFamilyIterator ffi; |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
6984 FMFontFamilyInstanceIterator ffii; |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
6985 FMFontFamily ff; |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
6986 Lisp_Object text_encoding_info_alist; |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
6987 struct gcpro gcpro1; |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
6988 |
|
65772
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
6989 text_encoding_info_alist = create_text_encoding_info_alist (); |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
6990 |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
6991 #if USE_ATSUI |
|
67000
e99c1fd37bcd
[USE_CG_TEXT_DRAWING] (cg_text_anti_aliasing_threshold): New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66841
diff
changeset
|
6992 #if USE_CG_TEXT_DRAWING |
|
e99c1fd37bcd
[USE_CG_TEXT_DRAWING] (cg_text_anti_aliasing_threshold): New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66841
diff
changeset
|
6993 init_cg_text_anti_aliasing_threshold (); |
|
e99c1fd37bcd
[USE_CG_TEXT_DRAWING] (cg_text_anti_aliasing_threshold): New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66841
diff
changeset
|
6994 #endif |
|
65772
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
6995 if (!NILP (assq_no_quit (make_number (kTextEncodingMacUnicode), |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
6996 text_encoding_info_alist))) |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
6997 { |
|
72545
171c891be45d
(mac_draw_string_common, mac_query_char_extents)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72505
diff
changeset
|
6998 OSStatus err; |
|
70149
6188dfce9d77
(x_per_char_metric): Return NULL if glyph width is 0.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70071
diff
changeset
|
6999 struct Lisp_Hash_Table *h; |
|
6188dfce9d77
(x_per_char_metric): Return NULL if glyph width is 0.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70071
diff
changeset
|
7000 unsigned hash_code; |
|
65772
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
7001 ItemCount nfonts, i; |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
7002 ATSUFontID *font_ids = NULL; |
|
74629
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
7003 Lisp_Object prev_family = Qnil; |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
7004 int j; |
|
65772
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
7005 |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
7006 atsu_font_id_hash = |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
7007 make_hash_table (Qequal, make_number (DEFAULT_HASH_SIZE), |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
7008 make_float (DEFAULT_REHASH_SIZE), |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
7009 make_float (DEFAULT_REHASH_THRESHOLD), |
|
77907
c53c9b6a0e5b
(mac_create_bitmap_from_bitmap_data)
Chong Yidong <cyd@stupidchicken.com>
parents:
77795
diff
changeset
|
7010 Qnil, Qnil, Qnil); |
|
70149
6188dfce9d77
(x_per_char_metric): Return NULL if glyph width is 0.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70071
diff
changeset
|
7011 h = XHASH_TABLE (atsu_font_id_hash); |
|
6188dfce9d77
(x_per_char_metric): Return NULL if glyph width is 0.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70071
diff
changeset
|
7012 |
|
65772
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
7013 err = ATSUFontCount (&nfonts); |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
7014 if (err == noErr) |
|
70071
84e6726893ef
(XCreateGC, x_per_char_metric, xlfdpat_create)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69964
diff
changeset
|
7015 { |
|
84e6726893ef
(XCreateGC, x_per_char_metric, xlfdpat_create)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69964
diff
changeset
|
7016 font_ids = xmalloc (sizeof (ATSUFontID) * nfonts); |
|
84e6726893ef
(XCreateGC, x_per_char_metric, xlfdpat_create)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69964
diff
changeset
|
7017 err = ATSUGetFontIDs (font_ids, nfonts, NULL); |
|
84e6726893ef
(XCreateGC, x_per_char_metric, xlfdpat_create)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69964
diff
changeset
|
7018 } |
|
65772
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
7019 if (err == noErr) |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
7020 for (i = 0; i < nfonts; i++) |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
7021 { |
|
74629
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
7022 Lisp_Object family; |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
7023 |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
7024 family = atsu_find_font_family_name (font_ids[i]); |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
7025 if (NILP (family) || SREF (family, 0) == '.') |
|
65772
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
7026 continue; |
|
74629
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
7027 if (!NILP (Fequal (prev_family, family))) |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
7028 family = prev_family; |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
7029 else |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
7030 j = hash_lookup (h, family, &hash_code); |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
7031 if (j < 0) |
|
65772
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
7032 { |
|
74629
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
7033 add_mac_font_name (SDATA (family), 0, normal, "iso10646-1"); |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
7034 j = hash_put (h, family, Fcons (long_to_cons (font_ids[i]), |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
7035 Qnil), hash_code); |
|
65772
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
7036 } |
|
74629
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
7037 else if (EQ (prev_family, family)) |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
7038 HASH_VALUE (h, j) = Fcons (long_to_cons (font_ids[i]), |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
7039 HASH_VALUE (h, j)); |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
7040 prev_family = family; |
|
65772
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
7041 } |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
7042 if (font_ids) |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
7043 xfree (font_ids); |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
7044 } |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
7045 #endif |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
7046 |
|
61658
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7047 /* Create a dummy instance iterator here to avoid creating and |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7048 destroying it in the loop. */ |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7049 if (FMCreateFontFamilyInstanceIterator (0, &ffii) != noErr) |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7050 return; |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7051 /* Create an iterator to enumerate the font families. */ |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7052 if (FMCreateFontFamilyIterator (NULL, NULL, kFMDefaultOptions, &ffi) |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7053 != noErr) |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7054 { |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7055 FMDisposeFontFamilyInstanceIterator (&ffii); |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7056 return; |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7057 } |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7058 |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7059 GCPRO1 (text_encoding_info_alist); |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7060 |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7061 while (FMGetNextFontFamily (&ffi, &ff) == noErr) |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7062 { |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7063 Str255 name; |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7064 FMFont font; |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7065 FMFontStyle style; |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7066 FMFontSize size; |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7067 TextEncoding encoding; |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7068 TextEncodingBase sc; |
|
70149
6188dfce9d77
(x_per_char_metric): Return NULL if glyph width is 0.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70071
diff
changeset
|
7069 Lisp_Object text_encoding_info, family; |
|
61658
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7070 |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7071 if (FMGetFontFamilyName (ff, name) != noErr) |
|
70149
6188dfce9d77
(x_per_char_metric): Return NULL if glyph width is 0.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70071
diff
changeset
|
7072 continue; |
|
61658
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7073 p2cstr (name); |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7074 if (*name == '.') |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7075 continue; |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7076 |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7077 if (FMGetFontFamilyTextEncoding (ff, &encoding) != noErr) |
|
70149
6188dfce9d77
(x_per_char_metric): Return NULL if glyph width is 0.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70071
diff
changeset
|
7078 continue; |
|
61658
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7079 sc = GetTextEncodingBase (encoding); |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7080 text_encoding_info = assq_no_quit (make_number (sc), |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7081 text_encoding_info_alist); |
|
66005
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7082 if (NILP (text_encoding_info)) |
|
61658
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7083 text_encoding_info = assq_no_quit (make_number (kTextEncodingMacRoman), |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7084 text_encoding_info_alist); |
|
66005
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7085 decode_mac_font_name (name, sizeof (name), |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7086 XCAR (XCDR (text_encoding_info))); |
|
70149
6188dfce9d77
(x_per_char_metric): Return NULL if glyph width is 0.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70071
diff
changeset
|
7087 family = build_string (name); |
|
6188dfce9d77
(x_per_char_metric): Return NULL if glyph width is 0.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70071
diff
changeset
|
7088 if (!NILP (Fassoc (family, fm_font_family_alist))) |
|
6188dfce9d77
(x_per_char_metric): Return NULL if glyph width is 0.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70071
diff
changeset
|
7089 continue; |
|
6188dfce9d77
(x_per_char_metric): Return NULL if glyph width is 0.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70071
diff
changeset
|
7090 fm_font_family_alist = Fcons (Fcons (family, make_number (ff)), |
|
66005
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7091 fm_font_family_alist); |
|
61658
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7092 |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7093 /* Point the instance iterator at the current font family. */ |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7094 if (FMResetFontFamilyInstanceIterator (ff, &ffii) != noErr) |
|
70149
6188dfce9d77
(x_per_char_metric): Return NULL if glyph width is 0.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70071
diff
changeset
|
7095 continue; |
|
61658
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7096 |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7097 while (FMGetNextFontFamilyInstance (&ffii, &font, &style, &size) |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7098 == noErr) |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7099 { |
|
61658
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7100 Lisp_Object rest = XCDR (XCDR (text_encoding_info)); |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7101 |
|
65643
44af31946762
(xlfdpat_block_match_1): Fix assertion.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65346
diff
changeset
|
7102 if (size > 0 || style == normal) |
|
44af31946762
(xlfdpat_block_match_1): Fix assertion.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65346
diff
changeset
|
7103 for (; !NILP (rest); rest = XCDR (rest)) |
|
70149
6188dfce9d77
(x_per_char_metric): Return NULL if glyph width is 0.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70071
diff
changeset
|
7104 add_mac_font_name (name, size, style, SDATA (XCAR (rest))); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7105 } |
|
61658
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7106 } |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7107 |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7108 UNGCPRO; |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7109 |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7110 /* Dispose of the iterators. */ |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7111 FMDisposeFontFamilyIterator (&ffi); |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7112 FMDisposeFontFamilyInstanceIterator (&ffii); |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7113 #else /* !TARGET_API_MAC_CARBON */ |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7114 GrafPtr port; |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7115 SInt16 fontnum, old_fontnum; |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7116 int num_mac_fonts = CountResources('FOND'); |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7117 int i, j; |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7118 Handle font_handle, font_handle_2; |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7119 short id, scriptcode; |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7120 ResType type; |
|
64102
09d72bda30b9
(mac_draw_vertical_window_border): Use foreground of
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64084
diff
changeset
|
7121 Str255 name; |
|
61658
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7122 struct FontAssoc *fat; |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7123 struct AsscEntry *assc_entry; |
|
70149
6188dfce9d77
(x_per_char_metric): Return NULL if glyph width is 0.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70071
diff
changeset
|
7124 Lisp_Object text_encoding_info_alist, text_encoding_info, family; |
|
61658
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7125 struct gcpro gcpro1; |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7126 |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7127 GetPort (&port); /* save the current font number used */ |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7128 old_fontnum = port->txFont; |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7129 |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7130 text_encoding_info_alist = create_text_encoding_info_alist (); |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7131 |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7132 GCPRO1 (text_encoding_info_alist); |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7133 |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7134 for (i = 1; i <= num_mac_fonts; i++) /* get all available fonts */ |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7135 { |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7136 font_handle = GetIndResource ('FOND', i); |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7137 if (!font_handle) |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7138 continue; |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7139 |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7140 GetResInfo (font_handle, &id, &type, name); |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7141 GetFNum (name, &fontnum); |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7142 p2cstr (name); |
|
70149
6188dfce9d77
(x_per_char_metric): Return NULL if glyph width is 0.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70071
diff
changeset
|
7143 if (fontnum == 0 || *name == '.') |
|
61658
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7144 continue; |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7145 |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7146 TextFont (fontnum); |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7147 scriptcode = FontToScript (fontnum); |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7148 text_encoding_info = assq_no_quit (make_number (scriptcode), |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7149 text_encoding_info_alist); |
|
66005
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7150 if (NILP (text_encoding_info)) |
|
61658
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7151 text_encoding_info = assq_no_quit (make_number (smRoman), |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7152 text_encoding_info_alist); |
|
66005
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7153 decode_mac_font_name (name, sizeof (name), |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7154 XCAR (XCDR (text_encoding_info))); |
|
70149
6188dfce9d77
(x_per_char_metric): Return NULL if glyph width is 0.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70071
diff
changeset
|
7155 family = build_string (name); |
|
6188dfce9d77
(x_per_char_metric): Return NULL if glyph width is 0.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70071
diff
changeset
|
7156 if (!NILP (Fassoc (family, fm_font_family_alist))) |
|
6188dfce9d77
(x_per_char_metric): Return NULL if glyph width is 0.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70071
diff
changeset
|
7157 continue; |
|
6188dfce9d77
(x_per_char_metric): Return NULL if glyph width is 0.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70071
diff
changeset
|
7158 fm_font_family_alist = Fcons (Fcons (family, make_number (fontnum)), |
|
66005
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7159 fm_font_family_alist); |
|
61658
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7160 do |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7161 { |
|
61658
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7162 HLock (font_handle); |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7163 |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7164 if (GetResourceSizeOnDisk (font_handle) |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7165 >= sizeof (struct FamRec)) |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7166 { |
|
61658
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7167 fat = (struct FontAssoc *) (*font_handle |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7168 + sizeof (struct FamRec)); |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7169 assc_entry |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7170 = (struct AsscEntry *) (*font_handle |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7171 + sizeof (struct FamRec) |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7172 + sizeof (struct FontAssoc)); |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7173 |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7174 for (j = 0; j <= fat->numAssoc; j++, assc_entry++) |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7175 { |
|
61658
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7176 Lisp_Object rest = XCDR (XCDR (text_encoding_info)); |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7177 |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7178 for (; !NILP (rest); rest = XCDR (rest)) |
|
70149
6188dfce9d77
(x_per_char_metric): Return NULL if glyph width is 0.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70071
diff
changeset
|
7179 add_mac_font_name (name, assc_entry->fontSize, |
|
6188dfce9d77
(x_per_char_metric): Return NULL if glyph width is 0.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70071
diff
changeset
|
7180 assc_entry->fontStyle, |
|
6188dfce9d77
(x_per_char_metric): Return NULL if glyph width is 0.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70071
diff
changeset
|
7181 SDATA (XCAR (rest))); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7182 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7183 } |
|
61658
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7184 |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7185 HUnlock (font_handle); |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7186 font_handle_2 = GetNextFOND (font_handle); |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7187 ReleaseResource (font_handle); |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7188 font_handle = font_handle_2; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7189 } |
|
61658
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7190 while (ResError () == noErr && font_handle); |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7191 } |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7192 |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7193 UNGCPRO; |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7194 |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7195 TextFont (old_fontnum); |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7196 #endif /* !TARGET_API_MAC_CARBON */ |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7197 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7198 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7199 |
|
59146
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
7200 void |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
7201 mac_clear_font_name_table () |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
7202 { |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
7203 int i; |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
7204 |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
7205 for (i = 0; i < font_name_count; i++) |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
7206 xfree (font_name_table[i]); |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
7207 xfree (font_name_table); |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
7208 font_name_table = NULL; |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
7209 font_name_table_size = font_name_count = 0; |
|
66005
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7210 fm_font_family_alist = Qnil; |
|
59146
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
7211 } |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
7212 |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
7213 |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7214 enum xlfd_scalable_field_index |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7215 { |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7216 XLFD_SCL_PIXEL_SIZE, |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7217 XLFD_SCL_POINT_SIZE, |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7218 XLFD_SCL_AVGWIDTH, |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7219 XLFD_SCL_LAST |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7220 }; |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7221 |
|
73575
c39e3aff703e
(mac_create_bitmap_from_bitmap_data): Make variable
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73385
diff
changeset
|
7222 static const int xlfd_scalable_fields[] = |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7223 { |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7224 6, /* PIXEL_SIZE */ |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7225 7, /* POINT_SIZE */ |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7226 11, /* AVGWIDTH */ |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7227 -1 |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7228 }; |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7229 |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7230 static Lisp_Object |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7231 mac_do_list_fonts (pattern, maxnames) |
|
73575
c39e3aff703e
(mac_create_bitmap_from_bitmap_data): Make variable
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73385
diff
changeset
|
7232 const char *pattern; |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7233 int maxnames; |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7234 { |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7235 int i, n_fonts = 0; |
|
65346
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
7236 Lisp_Object font_list = Qnil; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
7237 struct xlfdpat *pat; |
|
73575
c39e3aff703e
(mac_create_bitmap_from_bitmap_data): Make variable
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73385
diff
changeset
|
7238 char *scaled; |
|
c39e3aff703e
(mac_create_bitmap_from_bitmap_data): Make variable
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73385
diff
changeset
|
7239 const char *ptr; |
|
c39e3aff703e
(mac_create_bitmap_from_bitmap_data): Make variable
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73385
diff
changeset
|
7240 int scl_val[XLFD_SCL_LAST], *val; |
|
c39e3aff703e
(mac_create_bitmap_from_bitmap_data): Make variable
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73385
diff
changeset
|
7241 const int *field; |
|
65346
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
7242 int exact; |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7243 |
|
59146
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
7244 if (font_name_table == NULL) /* Initialize when first used. */ |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
7245 init_font_name_table (); |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
7246 |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7247 for (i = 0; i < XLFD_SCL_LAST; i++) |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7248 scl_val[i] = -1; |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7249 |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7250 /* If the pattern contains 14 dashes and one of PIXEL_SIZE, |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7251 POINT_SIZE, and AVGWIDTH fields is explicitly specified, scalable |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7252 fonts are scaled according to the specified size. */ |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7253 ptr = pattern; |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7254 i = 0; |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7255 field = xlfd_scalable_fields; |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7256 val = scl_val; |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7257 if (*ptr == '-') |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7258 do |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7259 { |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7260 ptr++; |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7261 if (i == *field) |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7262 { |
|
61658
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7263 if ('0' <= *ptr && *ptr <= '9') |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7264 { |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7265 *val = *ptr++ - '0'; |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7266 while ('0' <= *ptr && *ptr <= '9' && *val < 10000) |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7267 *val = *val * 10 + *ptr++ - '0'; |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7268 if (*ptr != '-') |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7269 *val = -1; |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7270 } |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7271 field++; |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7272 val++; |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7273 } |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7274 ptr = strchr (ptr, '-'); |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7275 i++; |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7276 } |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7277 while (ptr && i < 14); |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7278 |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7279 if (i == 14 && ptr == NULL) |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7280 { |
|
61658
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7281 if (scl_val[XLFD_SCL_PIXEL_SIZE] < 0) |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7282 scl_val[XLFD_SCL_PIXEL_SIZE] = |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7283 (scl_val[XLFD_SCL_POINT_SIZE] > 0 ? scl_val[XLFD_SCL_POINT_SIZE] / 10 |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7284 : (scl_val[XLFD_SCL_AVGWIDTH] > 0 ? scl_val[XLFD_SCL_AVGWIDTH] / 10 |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7285 : -1)); |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7286 if (scl_val[XLFD_SCL_POINT_SIZE] < 0) |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7287 scl_val[XLFD_SCL_POINT_SIZE] = |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7288 (scl_val[XLFD_SCL_PIXEL_SIZE] > 0 ? scl_val[XLFD_SCL_PIXEL_SIZE] * 10 |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7289 : (scl_val[XLFD_SCL_AVGWIDTH] > 0 ? scl_val[XLFD_SCL_AVGWIDTH] |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7290 : -1)); |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7291 if (scl_val[XLFD_SCL_AVGWIDTH] < 0) |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7292 scl_val[XLFD_SCL_AVGWIDTH] = |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7293 (scl_val[XLFD_SCL_PIXEL_SIZE] > 0 ? scl_val[XLFD_SCL_PIXEL_SIZE] * 10 |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7294 : (scl_val[XLFD_SCL_POINT_SIZE] > 0 ? scl_val[XLFD_SCL_POINT_SIZE] |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7295 : -1)); |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7296 } |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7297 else |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7298 scl_val[XLFD_SCL_PIXEL_SIZE] = -1; |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7299 |
|
65346
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
7300 pat = xlfdpat_create (pattern); |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
7301 if (pat == NULL) |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
7302 return Qnil; |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
7303 |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
7304 exact = xlfdpat_exact_p (pat); |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7305 |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7306 for (i = 0; i < font_name_count; i++) |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7307 { |
|
65346
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
7308 if (xlfdpat_match (pat, font_name_table[i])) |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7309 { |
|
65346
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
7310 font_list = Fcons (build_string (font_name_table[i]), font_list); |
|
69964
321089786c7b
Don't include gnu.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69773
diff
changeset
|
7311 if (exact || (maxnames > 0 && ++n_fonts >= maxnames)) |
|
59041
b978ab01b88e
(mac_do_list_fonts): Fix memory leak
Steven Tamm <steventamm@mac.com>
parents:
59034
diff
changeset
|
7312 break; |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7313 } |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7314 else if (scl_val[XLFD_SCL_PIXEL_SIZE] > 0 |
|
62944
35f25c15b8c2
(mac_to_x_fontname, mac_do_list_fonts): Set XLFD
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
62281
diff
changeset
|
7315 && (ptr = strstr (font_name_table[i], "-0-0-0-0-m-0-"))) |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7316 { |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7317 int former_len = ptr - font_name_table[i]; |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7318 |
|
64102
09d72bda30b9
(mac_draw_vertical_window_border): Use foreground of
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64084
diff
changeset
|
7319 scaled = xmalloc (strlen (font_name_table[i]) + 20 + 1); |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7320 memcpy (scaled, font_name_table[i], former_len); |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7321 sprintf (scaled + former_len, |
|
66431
8ee33d677ac7
(last_mouse_glyph_frame): New var.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66181
diff
changeset
|
7322 "-%d-%d-72-72-m-%d-%s", |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7323 scl_val[XLFD_SCL_PIXEL_SIZE], |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7324 scl_val[XLFD_SCL_POINT_SIZE], |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7325 scl_val[XLFD_SCL_AVGWIDTH], |
|
62944
35f25c15b8c2
(mac_to_x_fontname, mac_do_list_fonts): Set XLFD
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
62281
diff
changeset
|
7326 ptr + sizeof ("-0-0-0-0-m-0-") - 1); |
|
65346
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
7327 |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
7328 if (xlfdpat_match (pat, scaled)) |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7329 { |
|
65346
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
7330 font_list = Fcons (build_string (scaled), font_list); |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
7331 xfree (scaled); |
|
69964
321089786c7b
Don't include gnu.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69773
diff
changeset
|
7332 if (exact || (maxnames > 0 && ++n_fonts >= maxnames)) |
|
65346
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
7333 break; |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7334 } |
|
65346
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
7335 else |
|
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
7336 xfree (scaled); |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7337 } |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7338 } |
|
59034
2dd8aacd82ce
* term/mac-win.el (encoding-vector, mac-font-encoder-list)
Steven Tamm <steventamm@mac.com>
parents:
58634
diff
changeset
|
7339 |
|
65346
88cf9abcfe60
(struct xlfdpat_block, struct xlfdpat): New structs.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65110
diff
changeset
|
7340 xlfdpat_destroy (pat); |
|
59034
2dd8aacd82ce
* term/mac-win.el (encoding-vector, mac-font-encoder-list)
Steven Tamm <steventamm@mac.com>
parents:
58634
diff
changeset
|
7341 |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7342 return font_list; |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7343 } |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7344 |
|
61658
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7345 /* Return a list of names of available fonts matching PATTERN on frame F. |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7346 |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7347 Frame F null means we have not yet created any frame on Mac, and |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7348 consult the first display in x_display_list. MAXNAMES sets a limit |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7349 on how many fonts to match. */ |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7350 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7351 Lisp_Object |
|
61658
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7352 x_list_fonts (f, pattern, size, maxnames) |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7353 struct frame *f; |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7354 Lisp_Object pattern; |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7355 int size, maxnames; |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7356 { |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7357 Lisp_Object list = Qnil, patterns, tem, key; |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7358 struct mac_display_info *dpyinfo |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7359 = f ? FRAME_MAC_DISPLAY_INFO (f) : x_display_list; |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7360 |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7361 xassert (size <= 0); |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7362 |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7363 patterns = Fassoc (pattern, Valternate_fontname_alist); |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7364 if (NILP (patterns)) |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7365 patterns = Fcons (pattern, Qnil); |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7366 |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7367 for (; CONSP (patterns); patterns = XCDR (patterns)) |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7368 { |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7369 pattern = XCAR (patterns); |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7370 |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7371 if (!STRINGP (pattern)) |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7372 continue; |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7373 |
|
60635
e45b939c1d93
(x_list_fonts): FONT-LIST-CACHE is now cadr part of name_list_element.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
60623
diff
changeset
|
7374 tem = XCAR (XCDR (dpyinfo->name_list_element)); |
|
46169
36989d5089ee
2002-07-03 Andrew Choi <akochoi@shaw.ca>
Andrew Choi <akochoi@shaw.ca>
parents:
46168
diff
changeset
|
7375 key = Fcons (pattern, make_number (maxnames)); |
|
36989d5089ee
2002-07-03 Andrew Choi <akochoi@shaw.ca>
Andrew Choi <akochoi@shaw.ca>
parents:
46168
diff
changeset
|
7376 |
|
61658
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7377 list = Fassoc (key, tem); |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7378 if (!NILP (list)) |
|
46169
36989d5089ee
2002-07-03 Andrew Choi <akochoi@shaw.ca>
Andrew Choi <akochoi@shaw.ca>
parents:
46168
diff
changeset
|
7379 { |
|
61658
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7380 list = Fcdr_safe (list); |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7381 /* We have a cashed list. Don't have to get the list again. */ |
|
46169
36989d5089ee
2002-07-03 Andrew Choi <akochoi@shaw.ca>
Andrew Choi <akochoi@shaw.ca>
parents:
46168
diff
changeset
|
7382 goto label_cached; |
|
36989d5089ee
2002-07-03 Andrew Choi <akochoi@shaw.ca>
Andrew Choi <akochoi@shaw.ca>
parents:
46168
diff
changeset
|
7383 } |
|
61658
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7384 |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7385 BLOCK_INPUT; |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7386 list = mac_do_list_fonts (SDATA (pattern), maxnames); |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7387 UNBLOCK_INPUT; |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7388 |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7389 /* MAC_TODO: add code for matching outline fonts here */ |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7390 |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7391 /* Now store the result in the cache. */ |
|
60635
e45b939c1d93
(x_list_fonts): FONT-LIST-CACHE is now cadr part of name_list_element.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
60623
diff
changeset
|
7392 XSETCAR (XCDR (dpyinfo->name_list_element), |
|
61658
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7393 Fcons (Fcons (key, list), |
|
60635
e45b939c1d93
(x_list_fonts): FONT-LIST-CACHE is now cadr part of name_list_element.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
60623
diff
changeset
|
7394 XCAR (XCDR (dpyinfo->name_list_element)))); |
|
61658
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7395 |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7396 label_cached: |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7397 if (NILP (list)) continue; /* Try the remaining alternatives. */ |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7398 } |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7399 |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7400 return list; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7401 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7402 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7403 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7404 #if GLYPH_DEBUG |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7405 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7406 /* Check that FONT is valid on frame F. It is if it can be found in F's |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7407 font table. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7408 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7409 static void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7410 x_check_font (f, font) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7411 struct frame *f; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7412 XFontStruct *font; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7413 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7414 int i; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7415 struct x_display_info *dpyinfo = FRAME_X_DISPLAY_INFO (f); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7416 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7417 xassert (font != NULL); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7418 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7419 for (i = 0; i < dpyinfo->n_fonts; i++) |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
7420 if (dpyinfo->font_table[i].name |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7421 && font == dpyinfo->font_table[i].font) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7422 break; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7423 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7424 xassert (i < dpyinfo->n_fonts); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7425 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7426 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7427 #endif /* GLYPH_DEBUG != 0 */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7428 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7429 /* Set *W to the minimum width, *H to the minimum font height of FONT. |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7430 Note: There are (broken) X fonts out there with invalid XFontStruct |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7431 min_bounds contents. For example, handa@etl.go.jp reports that |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7432 "-adobe-courier-medium-r-normal--*-180-*-*-m-*-iso8859-1" fonts |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7433 have font->min_bounds.width == 0. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7434 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7435 static INLINE void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7436 x_font_min_bounds (font, w, h) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7437 MacFontStruct *font; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7438 int *w, *h; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7439 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7440 *h = FONT_HEIGHT (font); |
|
59325
68eaccfa130a
* macterm.c (x_new_font): Set FRAME_SPACE_WIDTH.
Steven Tamm <steventamm@mac.com>
parents:
59199
diff
changeset
|
7441 *w = font->min_bounds.width; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7442 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7443 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7444 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7445 /* Compute the smallest character width and smallest font height over |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7446 all fonts available on frame F. Set the members 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
|
7447 and smallest_font_height in F's x_display_info structure to |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7448 the values computed. Value is non-zero if smallest_font_height or |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7449 smallest_char_width become smaller than they were before. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7450 |
|
64102
09d72bda30b9
(mac_draw_vertical_window_border): Use foreground of
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64084
diff
changeset
|
7451 static int |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7452 x_compute_min_glyph_bounds (f) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7453 struct frame *f; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7454 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7455 int i; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7456 struct mac_display_info *dpyinfo = FRAME_MAC_DISPLAY_INFO (f); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7457 MacFontStruct *font; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7458 int old_width = dpyinfo->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
|
7459 int old_height = dpyinfo->smallest_font_height; |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
7460 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7461 dpyinfo->smallest_font_height = 100000; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7462 dpyinfo->smallest_char_width = 100000; |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
7463 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7464 for (i = 0; i < dpyinfo->n_fonts; ++i) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7465 if (dpyinfo->font_table[i].name) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7466 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7467 struct font_info *fontp = dpyinfo->font_table + i; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7468 int w, h; |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
7469 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7470 font = (MacFontStruct *) fontp->font; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7471 xassert (font != (MacFontStruct *) ~0); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7472 x_font_min_bounds (font, &w, &h); |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
7473 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7474 dpyinfo->smallest_font_height = min (dpyinfo->smallest_font_height, h); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7475 dpyinfo->smallest_char_width = min (dpyinfo->smallest_char_width, w); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7476 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7477 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7478 xassert (dpyinfo->smallest_char_width > 0 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7479 && dpyinfo->smallest_font_height > 0); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7480 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7481 return (dpyinfo->n_fonts == 1 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7482 || dpyinfo->smallest_char_width < old_width |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7483 || dpyinfo->smallest_font_height < old_height); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7484 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7485 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7486 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7487 /* Determine whether given string is a fully-specified XLFD: all 14 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7488 fields are present, none is '*'. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7489 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7490 static int |
|
73575
c39e3aff703e
(mac_create_bitmap_from_bitmap_data): Make variable
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73385
diff
changeset
|
7491 is_fully_specified_xlfd (p) |
|
c39e3aff703e
(mac_create_bitmap_from_bitmap_data): Make variable
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73385
diff
changeset
|
7492 const char *p; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7493 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7494 int i; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7495 char *q; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7496 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7497 if (*p != '-') |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7498 return 0; |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
7499 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7500 for (i = 0; i < 13; i++) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7501 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7502 q = strchr (p + 1, '-'); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7503 if (q == NULL) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7504 return 0; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7505 if (q - p == 2 && *(p + 1) == '*') |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7506 return 0; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7507 p = q; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7508 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7509 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7510 if (strchr (p + 1, '-') != NULL) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7511 return 0; |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
7512 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7513 if (*(p + 1) == '*' && *(p + 2) == '\0') |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7514 return 0; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7515 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7516 return 1; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7517 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7518 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7519 |
|
73298
d16326a96180
(mac_draw_image_string, mac_draw_image_string_16): Add
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73133
diff
changeset
|
7520 /* mac_load_query_font creates and returns an internal representation |
|
d16326a96180
(mac_draw_image_string, mac_draw_image_string_16): Add
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73133
diff
changeset
|
7521 for a font in a MacFontStruct struct. There is really no concept |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7522 corresponding to "loading" a font on the Mac. But we check its |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7523 existence and find the font number and all other information for it |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7524 and store them in the returned MacFontStruct. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7525 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7526 static MacFontStruct * |
|
73298
d16326a96180
(mac_draw_image_string, mac_draw_image_string_16): Add
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73133
diff
changeset
|
7527 mac_load_query_font (f, fontname) |
|
d16326a96180
(mac_draw_image_string, mac_draw_image_string_16): Add
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73133
diff
changeset
|
7528 struct frame *f; |
|
d16326a96180
(mac_draw_image_string, mac_draw_image_string_16): Add
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73133
diff
changeset
|
7529 char *fontname; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7530 { |
|
67733
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7531 int size; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7532 char *name; |
|
66005
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7533 Str255 family; |
|
64102
09d72bda30b9
(mac_draw_vertical_window_border): Use foreground of
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64084
diff
changeset
|
7534 Str31 charset; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7535 SInt16 fontnum; |
|
65772
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
7536 #if USE_ATSUI |
|
66841
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
7537 static ATSUFontID font_id; |
|
65772
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
7538 ATSUStyle mac_style = NULL; |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
7539 #endif |
|
61658
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7540 Style fontface; |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7541 #if TARGET_API_MAC_CARBON |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7542 TextEncoding encoding; |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7543 int scriptcode; |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7544 #else |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7545 short scriptcode; |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7546 #endif |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7547 MacFontStruct *font; |
|
67733
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7548 XCharStruct *space_bounds = NULL, *pcm; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7549 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7550 if (is_fully_specified_xlfd (fontname)) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7551 name = fontname; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7552 else |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7553 { |
|
54150
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7554 Lisp_Object matched_fonts; |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7555 |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7556 matched_fonts = mac_do_list_fonts (fontname, 1); |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7557 if (NILP (matched_fonts)) |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7558 return NULL; |
|
6c8849d06ab3
Inserting Yamomotosan's changes for MacOSX image support, better support
Steven Tamm <steventamm@mac.com>
parents:
53956
diff
changeset
|
7559 name = SDATA (XCAR (matched_fonts)); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7560 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7561 |
|
66005
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7562 if (parse_x_font_name (name, family, &size, &fontface, charset) == 0) |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7563 return NULL; |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7564 |
|
65772
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
7565 #if USE_ATSUI |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
7566 if (strcmp (charset, "iso10646-1") == 0) /* XXX */ |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
7567 { |
|
72545
171c891be45d
(mac_draw_string_common, mac_query_char_extents)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72505
diff
changeset
|
7568 OSStatus err; |
|
73575
c39e3aff703e
(mac_create_bitmap_from_bitmap_data): Make variable
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73385
diff
changeset
|
7569 static const ATSUAttributeTag tags[] = |
|
c39e3aff703e
(mac_create_bitmap_from_bitmap_data): Make variable
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73385
diff
changeset
|
7570 {kATSUFontTag, kATSUSizeTag, |
|
c39e3aff703e
(mac_create_bitmap_from_bitmap_data): Make variable
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73385
diff
changeset
|
7571 kATSUQDBoldfaceTag, kATSUQDItalicTag}; |
|
c39e3aff703e
(mac_create_bitmap_from_bitmap_data): Make variable
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73385
diff
changeset
|
7572 static const ByteCount sizes[] = |
|
c39e3aff703e
(mac_create_bitmap_from_bitmap_data): Make variable
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73385
diff
changeset
|
7573 {sizeof (ATSUFontID), sizeof (Fixed), |
|
c39e3aff703e
(mac_create_bitmap_from_bitmap_data): Make variable
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73385
diff
changeset
|
7574 sizeof (Boolean), sizeof (Boolean)}; |
|
65772
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
7575 static Fixed size_fixed; |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
7576 static Boolean bold_p, italic_p; |
|
73575
c39e3aff703e
(mac_create_bitmap_from_bitmap_data): Make variable
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73385
diff
changeset
|
7577 static const ATSUAttributeValuePtr values[] = |
|
c39e3aff703e
(mac_create_bitmap_from_bitmap_data): Make variable
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73385
diff
changeset
|
7578 {&font_id, &size_fixed, |
|
c39e3aff703e
(mac_create_bitmap_from_bitmap_data): Make variable
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73385
diff
changeset
|
7579 &bold_p, &italic_p}; |
|
c39e3aff703e
(mac_create_bitmap_from_bitmap_data): Make variable
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73385
diff
changeset
|
7580 static const ATSUFontFeatureType types[] = |
|
c39e3aff703e
(mac_create_bitmap_from_bitmap_data): Make variable
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73385
diff
changeset
|
7581 {kAllTypographicFeaturesType, kDiacriticsType}; |
|
c39e3aff703e
(mac_create_bitmap_from_bitmap_data): Make variable
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73385
diff
changeset
|
7582 static const ATSUFontFeatureSelector selectors[] = |
|
c39e3aff703e
(mac_create_bitmap_from_bitmap_data): Make variable
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73385
diff
changeset
|
7583 {kAllTypeFeaturesOffSelector, kDecomposeDiacriticsSelector}; |
|
70496
8b2250961fcc
(XLoadQueryFont) [USE_ATSUI]: Set FMFontFamily value
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70384
diff
changeset
|
7584 FMFontStyle style; |
|
65910
a53616277ba6
(GC_CLIP_REGION): New macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65892
diff
changeset
|
7585 |
|
74629
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
7586 font_id = atsu_find_font_from_family_name (family); |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
7587 if (font_id == kATSUInvalidFontID) |
|
78968
6d6dc60c958b
(mac_load_query_font): Fix missing return value.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
78681
diff
changeset
|
7588 return NULL; |
|
65772
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
7589 size_fixed = Long2Fix (size); |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
7590 bold_p = (fontface & bold) != 0; |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
7591 italic_p = (fontface & italic) != 0; |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
7592 err = ATSUCreateStyle (&mac_style); |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
7593 if (err != noErr) |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
7594 return NULL; |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
7595 err = ATSUSetFontFeatures (mac_style, sizeof (types) / sizeof (types[0]), |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
7596 types, selectors); |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
7597 if (err != noErr) |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
7598 return NULL; |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
7599 err = ATSUSetAttributes (mac_style, sizeof (tags) / sizeof (tags[0]), |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
7600 tags, sizes, values); |
|
70496
8b2250961fcc
(XLoadQueryFont) [USE_ATSUI]: Set FMFontFamily value
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70384
diff
changeset
|
7601 if (err != noErr) |
|
8b2250961fcc
(XLoadQueryFont) [USE_ATSUI]: Set FMFontFamily value
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70384
diff
changeset
|
7602 return NULL; |
|
8b2250961fcc
(XLoadQueryFont) [USE_ATSUI]: Set FMFontFamily value
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70384
diff
changeset
|
7603 err = FMGetFontFamilyInstanceFromFont (font_id, &fontnum, &style); |
|
8b2250961fcc
(XLoadQueryFont) [USE_ATSUI]: Set FMFontFamily value
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70384
diff
changeset
|
7604 if (err != noErr) |
|
8b2250961fcc
(XLoadQueryFont) [USE_ATSUI]: Set FMFontFamily value
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70384
diff
changeset
|
7605 fontnum = -1; |
|
65772
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
7606 scriptcode = kTextEncodingMacUnicode; |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
7607 } |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
7608 else |
|
66005
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7609 #endif |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7610 { |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7611 Lisp_Object tmp = Fassoc (build_string (family), fm_font_family_alist); |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7612 |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7613 if (NILP (tmp)) |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7614 return NULL; |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7615 fontnum = XINT (XCDR (tmp)); |
|
61658
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7616 #if TARGET_API_MAC_CARBON |
|
66005
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7617 if (FMGetFontFamilyTextEncoding (fontnum, &encoding) != noErr) |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7618 return NULL; |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7619 scriptcode = GetTextEncodingBase (encoding); |
|
61658
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7620 #else |
|
66005
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7621 scriptcode = FontToScript (fontnum); |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7622 #endif |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7623 } |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
7624 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7625 font = (MacFontStruct *) xmalloc (sizeof (struct MacFontStruct)); |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
7626 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7627 font->mac_fontnum = fontnum; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7628 font->mac_fontsize = size; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7629 font->mac_fontface = fontface; |
|
61658
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7630 font->mac_scriptcode = scriptcode; |
|
65772
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
7631 #if USE_ATSUI |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
7632 font->mac_style = mac_style; |
|
66841
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
7633 #if USE_CG_TEXT_DRAWING |
|
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
7634 font->cg_font = NULL; |
|
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
7635 font->cg_glyphs = NULL; |
|
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
7636 #endif |
|
65772
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
7637 #endif |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7638 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7639 /* Apple Japanese (SJIS) font is listed as both |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7640 "*-jisx0208.1983-sjis" (Japanese script) and "*-jisx0201.1976-0" |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7641 (Roman script) in init_font_name_table (). The latter should be |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7642 treated as a one-byte font. */ |
|
61658
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7643 if (scriptcode == smJapanese && strcmp (charset, "jisx0201.1976-0") == 0) |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7644 font->mac_scriptcode = smRoman; |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7645 |
|
66005
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7646 font->full_name = mac_to_x_fontname (family, size, fontface, charset); |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
7647 |
|
65772
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
7648 #if USE_ATSUI |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
7649 if (font->mac_style) |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
7650 { |
|
72545
171c891be45d
(mac_draw_string_common, mac_query_char_extents)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72505
diff
changeset
|
7651 OSStatus err; |
|
67733
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7652 UniChar c; |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7653 |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7654 font->min_byte1 = 0; |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7655 font->max_byte1 = 0xff; |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7656 font->min_char_or_byte2 = 0; |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7657 font->max_char_or_byte2 = 0xff; |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7658 |
|
70304
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
7659 font->bounds.rows = xmalloc (sizeof (XCharStruct *) * 0x100); |
|
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
7660 bzero (font->bounds.rows, sizeof (XCharStruct *) * 0x100); |
|
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
7661 font->bounds.rows[0] = xmalloc (sizeof (XCharStruct) * 0x100); |
|
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
7662 pcm_init (font->bounds.rows[0], 0x100); |
|
65772
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
7663 |
|
66841
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
7664 #if USE_CG_TEXT_DRAWING |
|
70496
8b2250961fcc
(XLoadQueryFont) [USE_ATSUI]: Set FMFontFamily value
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70384
diff
changeset
|
7665 if (fontnum != -1) |
|
8b2250961fcc
(XLoadQueryFont) [USE_ATSUI]: Set FMFontFamily value
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70384
diff
changeset
|
7666 { |
|
8b2250961fcc
(XLoadQueryFont) [USE_ATSUI]: Set FMFontFamily value
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70384
diff
changeset
|
7667 FMFontStyle style; |
|
8b2250961fcc
(XLoadQueryFont) [USE_ATSUI]: Set FMFontFamily value
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70384
diff
changeset
|
7668 ATSFontRef ats_font; |
|
8b2250961fcc
(XLoadQueryFont) [USE_ATSUI]: Set FMFontFamily value
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70384
diff
changeset
|
7669 |
|
8b2250961fcc
(XLoadQueryFont) [USE_ATSUI]: Set FMFontFamily value
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70384
diff
changeset
|
7670 err = FMGetFontFromFontFamilyInstance (fontnum, fontface, |
|
66841
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
7671 &font_id, &style); |
|
70496
8b2250961fcc
(XLoadQueryFont) [USE_ATSUI]: Set FMFontFamily value
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70384
diff
changeset
|
7672 /* Use CG text drawing if italic/bold is not synthesized. */ |
|
8b2250961fcc
(XLoadQueryFont) [USE_ATSUI]: Set FMFontFamily value
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70384
diff
changeset
|
7673 if (err == noErr && style == fontface) |
|
8b2250961fcc
(XLoadQueryFont) [USE_ATSUI]: Set FMFontFamily value
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70384
diff
changeset
|
7674 { |
|
8b2250961fcc
(XLoadQueryFont) [USE_ATSUI]: Set FMFontFamily value
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70384
diff
changeset
|
7675 ats_font = FMGetATSFontRefFromFont (font_id); |
|
8b2250961fcc
(XLoadQueryFont) [USE_ATSUI]: Set FMFontFamily value
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70384
diff
changeset
|
7676 font->cg_font = CGFontCreateWithPlatformFont (&ats_font); |
|
8b2250961fcc
(XLoadQueryFont) [USE_ATSUI]: Set FMFontFamily value
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70384
diff
changeset
|
7677 } |
|
8b2250961fcc
(XLoadQueryFont) [USE_ATSUI]: Set FMFontFamily value
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70384
diff
changeset
|
7678 } |
|
66841
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
7679 |
|
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
7680 if (font->cg_font) |
|
70071
84e6726893ef
(XCreateGC, x_per_char_metric, xlfdpat_create)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69964
diff
changeset
|
7681 { |
|
84e6726893ef
(XCreateGC, x_per_char_metric, xlfdpat_create)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69964
diff
changeset
|
7682 font->cg_glyphs = xmalloc (sizeof (CGGlyph) * 0x100); |
|
84e6726893ef
(XCreateGC, x_per_char_metric, xlfdpat_create)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69964
diff
changeset
|
7683 bzero (font->cg_glyphs, sizeof (CGGlyph) * 0x100); |
|
84e6726893ef
(XCreateGC, x_per_char_metric, xlfdpat_create)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69964
diff
changeset
|
7684 } |
|
66841
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
7685 #endif |
|
70304
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
7686 space_bounds = font->bounds.rows[0] + 0x20; |
|
67733
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7687 err = mac_query_char_extents (font->mac_style, 0x20, |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7688 &font->ascent, &font->descent, |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7689 space_bounds, |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7690 #if USE_CG_TEXT_DRAWING |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7691 (font->cg_glyphs ? font->cg_glyphs + 0x20 |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7692 : NULL) |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7693 #else |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7694 NULL |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7695 #endif |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7696 ); |
|
73385
bd82ccfce877
(mac_query_char_extents): Don't return glyph ID if layout
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73298
diff
changeset
|
7697 if (err != noErr |
|
bd82ccfce877
(mac_query_char_extents): Don't return glyph ID if layout
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73298
diff
changeset
|
7698 || space_bounds->width <= 0 || FONT_HEIGHT (font) <= 0) |
|
65772
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
7699 { |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
7700 mac_unload_font (&one_mac_display_info, font); |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
7701 return NULL; |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
7702 } |
|
70304
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
7703 |
|
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
7704 pcm = font->bounds.rows[0]; |
|
67733
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7705 for (c = 0x21; c <= 0xff; c++) |
|
65772
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
7706 { |
|
66841
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
7707 if (c == 0xad) |
|
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
7708 /* Soft hyphen is not supported in ATSUI. */ |
|
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
7709 continue; |
|
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
7710 else if (c == 0x7f) |
|
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
7711 { |
|
74629
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
7712 #if USE_CG_TEXT_DRAWING |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
7713 if (font->cg_glyphs) |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
7714 { |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
7715 c = 0x9f; |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
7716 pcm = NULL; |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
7717 continue; |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
7718 } |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
7719 #endif |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
7720 break; |
|
66841
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
7721 } |
|
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
7722 |
|
74629
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
7723 mac_query_char_extents (font->mac_style, c, NULL, NULL, |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
7724 pcm ? pcm + c : NULL, |
|
67733
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7725 #if USE_CG_TEXT_DRAWING |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7726 (font->cg_glyphs ? font->cg_glyphs + c |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7727 : NULL) |
|
66431
8ee33d677ac7
(last_mouse_glyph_frame): New var.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66181
diff
changeset
|
7728 #else |
|
67733
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7729 NULL |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7730 #endif |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7731 ); |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7732 |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7733 #if USE_CG_TEXT_DRAWING |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7734 if (font->cg_glyphs && font->cg_glyphs[c] == 0) |
|
65772
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
7735 { |
|
67733
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7736 /* Don't use CG text drawing if font substitution occurs in |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7737 ASCII or Latin-1 characters. */ |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7738 CGFontRelease (font->cg_font); |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7739 font->cg_font = NULL; |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7740 xfree (font->cg_glyphs); |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7741 font->cg_glyphs = NULL; |
|
74629
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
7742 if (pcm == NULL) |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
7743 break; |
|
66841
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
7744 } |
|
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
7745 #endif |
|
65772
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
7746 } |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
7747 } |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
7748 else |
|
66005
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7749 #endif |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7750 { |
|
74629
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
7751 OSStatus err; |
|
66005
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7752 FontInfo the_fontinfo; |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7753 int is_two_byte_font; |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7754 |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
7755 mac_begin_clip (f, NULL); |
|
66005
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7756 |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7757 TextFont (fontnum); |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7758 TextSize (size); |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7759 TextFace (fontface); |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7760 |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7761 GetFontInfo (&the_fontinfo); |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7762 |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7763 font->ascent = the_fontinfo.ascent; |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7764 font->descent = the_fontinfo.descent; |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7765 |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7766 is_two_byte_font = (font->mac_scriptcode == smJapanese |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7767 || font->mac_scriptcode == smTradChinese |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7768 || font->mac_scriptcode == smSimpChinese |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7769 || font->mac_scriptcode == smKorean); |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7770 |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7771 if (is_two_byte_font) |
|
65772
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
7772 { |
|
67733
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7773 int char_width; |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7774 |
|
66005
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7775 font->min_byte1 = 0xa1; |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7776 font->max_byte1 = 0xfe; |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7777 font->min_char_or_byte2 = 0xa1; |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7778 font->max_char_or_byte2 = 0xfe; |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7779 |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7780 /* Use the width of an "ideographic space" of that font |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7781 because the_fontinfo.widMax returns the wrong width for |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7782 some fonts. */ |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7783 switch (font->mac_scriptcode) |
|
65772
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
7784 { |
|
66005
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7785 case smJapanese: |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7786 font->min_byte1 = 0x81; |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7787 font->max_byte1 = 0xfc; |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7788 font->min_char_or_byte2 = 0x40; |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7789 font->max_char_or_byte2 = 0xfc; |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7790 char_width = StringWidth("\p\x81\x40"); |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7791 break; |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7792 case smTradChinese: |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7793 font->min_char_or_byte2 = 0x40; |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7794 char_width = StringWidth("\p\xa1\x40"); |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7795 break; |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7796 case smSimpChinese: |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7797 char_width = StringWidth("\p\xa1\xa1"); |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7798 break; |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7799 case smKorean: |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7800 char_width = StringWidth("\p\xa1\xa1"); |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7801 break; |
|
65772
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
7802 } |
|
67733
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7803 |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7804 font->bounds.per_char = NULL; |
|
66005
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7805 |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7806 if (fontface & italic) |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7807 font->max_bounds.rbearing = char_width + 1; |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7808 else |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7809 font->max_bounds.rbearing = char_width; |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7810 font->max_bounds.lbearing = 0; |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7811 font->max_bounds.width = char_width; |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7812 font->max_bounds.ascent = the_fontinfo.ascent; |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7813 font->max_bounds.descent = the_fontinfo.descent; |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7814 |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7815 font->min_bounds = font->max_bounds; |
|
65772
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
7816 } |
|
66005
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7817 else |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7818 { |
|
67733
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7819 int c; |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7820 |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7821 font->min_byte1 = font->max_byte1 = 0; |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7822 font->min_char_or_byte2 = 0x20; |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7823 font->max_char_or_byte2 = 0xff; |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7824 |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7825 font->bounds.per_char = |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7826 xmalloc (sizeof (XCharStruct) * (0xff - 0x20 + 1)); |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7827 bzero (font->bounds.per_char, |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7828 sizeof (XCharStruct) * (0xff - 0x20 + 1)); |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7829 |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7830 space_bounds = font->bounds.per_char; |
|
74629
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
7831 err = mac_query_char_extents (NULL, 0x20, &font->ascent, |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
7832 &font->descent, space_bounds, NULL); |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
7833 if (err != noErr || space_bounds->width <= 0) |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
7834 { |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
7835 mac_unload_font (&one_mac_display_info, font); |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
7836 return NULL; |
|
1accf28d80f2
(mac_query_char_extents) [USE_ATSUI]: Don't call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74567
diff
changeset
|
7837 } |
|
67733
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7838 |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7839 for (c = 0x21, pcm = space_bounds + 1; c <= 0xff; c++, pcm++) |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7840 mac_query_char_extents (NULL, c, NULL, NULL, pcm, NULL); |
|
66005
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7841 } |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
7842 |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
7843 mac_end_clip (f, NULL); |
|
66005
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
7844 } |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
7845 |
|
67733
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7846 if (space_bounds) |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7847 { |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7848 int c; |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7849 |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7850 font->min_bounds = font->max_bounds = *space_bounds; |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7851 for (c = 0x21, pcm = space_bounds + 1; c <= 0x7f; c++, pcm++) |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7852 if (pcm->width > 0) |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7853 { |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7854 font->min_bounds.lbearing = min (font->min_bounds.lbearing, |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7855 pcm->lbearing); |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7856 font->min_bounds.rbearing = min (font->min_bounds.rbearing, |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7857 pcm->rbearing); |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7858 font->min_bounds.width = min (font->min_bounds.width, |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7859 pcm->width); |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7860 font->min_bounds.ascent = min (font->min_bounds.ascent, |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7861 pcm->ascent); |
|
73114
983aa36dbb6c
(x_underline_at_descent_line): New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72985
diff
changeset
|
7862 font->min_bounds.descent = min (font->min_bounds.descent, |
|
983aa36dbb6c
(x_underline_at_descent_line): New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72985
diff
changeset
|
7863 pcm->descent); |
|
67733
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7864 |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7865 font->max_bounds.lbearing = max (font->max_bounds.lbearing, |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7866 pcm->lbearing); |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7867 font->max_bounds.rbearing = max (font->max_bounds.rbearing, |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7868 pcm->rbearing); |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7869 font->max_bounds.width = max (font->max_bounds.width, |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7870 pcm->width); |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7871 font->max_bounds.ascent = max (font->max_bounds.ascent, |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7872 pcm->ascent); |
|
73114
983aa36dbb6c
(x_underline_at_descent_line): New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72985
diff
changeset
|
7873 font->max_bounds.descent = max (font->max_bounds.descent, |
|
983aa36dbb6c
(x_underline_at_descent_line): New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72985
diff
changeset
|
7874 pcm->descent); |
|
67733
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7875 } |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7876 if ( |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7877 #if USE_ATSUI |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7878 font->mac_style == NULL && |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7879 #endif |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7880 font->max_bounds.width == font->min_bounds.width |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7881 && font->min_bounds.lbearing >= 0 |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7882 && font->max_bounds.rbearing <= font->max_bounds.width) |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7883 { |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7884 /* Fixed width and no overhangs. */ |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7885 xfree (font->bounds.per_char); |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7886 font->bounds.per_char = NULL; |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7887 } |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7888 } |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7889 |
|
66841
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
7890 #if !defined (MAC_OS8) || USE_ATSUI |
|
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
7891 /* AppKit and WebKit do some adjustment to the heights of Courier, |
|
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
7892 Helvetica, and Times. This only works on the environments where |
|
69061
783439580869
(mac_draw_string_common): Remove arg MODE. New arg
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
68770
diff
changeset
|
7893 srcCopy text transfer mode is never used. */ |
|
783439580869
(mac_draw_string_common): Remove arg MODE. New arg
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
68770
diff
changeset
|
7894 if ( |
|
783439580869
(mac_draw_string_common): Remove arg MODE. New arg
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
68770
diff
changeset
|
7895 #ifdef MAC_OS8 /* implies USE_ATSUI */ |
|
783439580869
(mac_draw_string_common): Remove arg MODE. New arg
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
68770
diff
changeset
|
7896 font->mac_style && |
|
783439580869
(mac_draw_string_common): Remove arg MODE. New arg
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
68770
diff
changeset
|
7897 #endif |
|
783439580869
(mac_draw_string_common): Remove arg MODE. New arg
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
68770
diff
changeset
|
7898 (strcmp (family, "courier") == 0 || strcmp (family, "helvetica") == 0 |
|
783439580869
(mac_draw_string_common): Remove arg MODE. New arg
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
68770
diff
changeset
|
7899 || strcmp (family, "times") == 0)) |
|
66841
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
7900 font->ascent += (font->ascent + font->descent) * .15 + 0.5; |
|
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
7901 #endif |
|
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
7902 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7903 return font; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7904 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7905 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7906 |
|
59146
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
7907 void |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
7908 mac_unload_font (dpyinfo, font) |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
7909 struct mac_display_info *dpyinfo; |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
7910 XFontStruct *font; |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
7911 { |
|
61658
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7912 xfree (font->full_name); |
|
65772
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
7913 #if USE_ATSUI |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
7914 if (font->mac_style) |
|
67733
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7915 { |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7916 int i; |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7917 |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7918 for (i = font->min_byte1; i <= font->max_byte1; i++) |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7919 if (font->bounds.rows[i]) |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7920 xfree (font->bounds.rows[i]); |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7921 xfree (font->bounds.rows); |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7922 ATSUDisposeStyle (font->mac_style); |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7923 } |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7924 else |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7925 #endif |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7926 if (font->bounds.per_char) |
|
330ac31a0c82
(mac_per_char_metric): Add prototype.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67672
diff
changeset
|
7927 xfree (font->bounds.per_char); |
|
66841
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
7928 #if USE_CG_TEXT_DRAWING |
|
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
7929 if (font->cg_font) |
|
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
7930 CGFontRelease (font->cg_font); |
|
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
7931 if (font->cg_glyphs) |
|
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
7932 xfree (font->cg_glyphs); |
|
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
7933 #endif |
|
59146
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
7934 xfree (font); |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
7935 } |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
7936 |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
7937 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7938 /* Load font named FONTNAME of the size SIZE for frame F, and return a |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7939 pointer to the structure font_info while allocating it dynamically. |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7940 If SIZE is 0, load any size of font. |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7941 If loading is failed, return NULL. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7942 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7943 struct font_info * |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7944 x_load_font (f, fontname, size) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7945 struct frame *f; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7946 register char *fontname; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7947 int size; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7948 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7949 struct mac_display_info *dpyinfo = FRAME_MAC_DISPLAY_INFO (f); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7950 Lisp_Object font_names; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7951 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7952 /* Get a list of all the fonts that match this name. Once we |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7953 have a list of matching fonts, we compare them against the fonts |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7954 we already have by comparing names. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7955 font_names = x_list_fonts (f, build_string (fontname), size, 1); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7956 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7957 if (!NILP (font_names)) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7958 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7959 Lisp_Object tail; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7960 int i; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7961 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7962 for (i = 0; i < dpyinfo->n_fonts; i++) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7963 for (tail = font_names; CONSP (tail); tail = XCDR (tail)) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7964 if (dpyinfo->font_table[i].name |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7965 && (!strcmp (dpyinfo->font_table[i].name, |
|
46370
40db0673e6f0
Most uses of XSTRING combined with STRING_BYTES or indirection changed to
Ken Raeburn <raeburn@raeburn.org>
parents:
46169
diff
changeset
|
7966 SDATA (XCAR (tail))) |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7967 || !strcmp (dpyinfo->font_table[i].full_name, |
|
46370
40db0673e6f0
Most uses of XSTRING combined with STRING_BYTES or indirection changed to
Ken Raeburn <raeburn@raeburn.org>
parents:
46169
diff
changeset
|
7968 SDATA (XCAR (tail))))) |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7969 return (dpyinfo->font_table + i); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7970 } |
|
61658
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7971 else |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7972 return NULL; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7973 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7974 /* Load the font and add it to the table. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7975 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7976 struct MacFontStruct *font; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7977 struct font_info *fontp; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7978 int i; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7979 |
|
61658
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
7980 fontname = (char *) SDATA (XCAR (font_names)); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7981 |
|
59146
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
7982 BLOCK_INPUT; |
|
73298
d16326a96180
(mac_draw_image_string, mac_draw_image_string_16): Add
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73133
diff
changeset
|
7983 font = mac_load_query_font (f, fontname); |
|
59146
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
7984 UNBLOCK_INPUT; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7985 if (!font) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7986 return NULL; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7987 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7988 /* Find a free slot in the font table. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7989 for (i = 0; i < dpyinfo->n_fonts; ++i) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7990 if (dpyinfo->font_table[i].name == NULL) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7991 break; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7992 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7993 /* If no free slot found, maybe enlarge the font table. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7994 if (i == dpyinfo->n_fonts |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7995 && dpyinfo->n_fonts == dpyinfo->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
|
7996 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7997 int sz; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
7998 dpyinfo->font_table_size = max (16, 2 * dpyinfo->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
|
7999 sz = dpyinfo->font_table_size * sizeof *dpyinfo->font_table; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8000 dpyinfo->font_table |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8001 = (struct font_info *) xrealloc (dpyinfo->font_table, sz); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8002 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8003 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8004 fontp = dpyinfo->font_table + i; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8005 if (i == dpyinfo->n_fonts) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8006 ++dpyinfo->n_fonts; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8007 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8008 /* Now fill in the slots of *FONTP. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8009 BLOCK_INPUT; |
|
52742
7f9bdf6cf89b
(x_load_font): Clear all members of FONTP before start filling them.
Kenichi Handa <handa@m17n.org>
parents:
52401
diff
changeset
|
8010 bzero (fontp, sizeof (*fontp)); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8011 fontp->font = font; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8012 fontp->font_idx = i; |
|
61658
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
8013 fontp->name = (char *) xmalloc (strlen (fontname) + 1); |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
8014 bcopy (fontname, fontp->name, strlen (fontname) + 1); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8015 |
|
59325
68eaccfa130a
* macterm.c (x_new_font): Set FRAME_SPACE_WIDTH.
Steven Tamm <steventamm@mac.com>
parents:
59199
diff
changeset
|
8016 if (font->min_bounds.width == font->max_bounds.width) |
|
68eaccfa130a
* macterm.c (x_new_font): Set FRAME_SPACE_WIDTH.
Steven Tamm <steventamm@mac.com>
parents:
59199
diff
changeset
|
8017 { |
|
68eaccfa130a
* macterm.c (x_new_font): Set FRAME_SPACE_WIDTH.
Steven Tamm <steventamm@mac.com>
parents:
59199
diff
changeset
|
8018 /* Fixed width font. */ |
|
68eaccfa130a
* macterm.c (x_new_font): Set FRAME_SPACE_WIDTH.
Steven Tamm <steventamm@mac.com>
parents:
59199
diff
changeset
|
8019 fontp->average_width = fontp->space_width = font->min_bounds.width; |
|
68eaccfa130a
* macterm.c (x_new_font): Set FRAME_SPACE_WIDTH.
Steven Tamm <steventamm@mac.com>
parents:
59199
diff
changeset
|
8020 } |
|
68eaccfa130a
* macterm.c (x_new_font): Set FRAME_SPACE_WIDTH.
Steven Tamm <steventamm@mac.com>
parents:
59199
diff
changeset
|
8021 else |
|
68eaccfa130a
* macterm.c (x_new_font): Set FRAME_SPACE_WIDTH.
Steven Tamm <steventamm@mac.com>
parents:
59199
diff
changeset
|
8022 { |
|
68eaccfa130a
* macterm.c (x_new_font): Set FRAME_SPACE_WIDTH.
Steven Tamm <steventamm@mac.com>
parents:
59199
diff
changeset
|
8023 XChar2b char2b; |
|
68eaccfa130a
* macterm.c (x_new_font): Set FRAME_SPACE_WIDTH.
Steven Tamm <steventamm@mac.com>
parents:
59199
diff
changeset
|
8024 XCharStruct *pcm; |
|
68eaccfa130a
* macterm.c (x_new_font): Set FRAME_SPACE_WIDTH.
Steven Tamm <steventamm@mac.com>
parents:
59199
diff
changeset
|
8025 |
|
68eaccfa130a
* macterm.c (x_new_font): Set FRAME_SPACE_WIDTH.
Steven Tamm <steventamm@mac.com>
parents:
59199
diff
changeset
|
8026 char2b.byte1 = 0x00, char2b.byte2 = 0x20; |
|
68eaccfa130a
* macterm.c (x_new_font): Set FRAME_SPACE_WIDTH.
Steven Tamm <steventamm@mac.com>
parents:
59199
diff
changeset
|
8027 pcm = mac_per_char_metric (font, &char2b, 0); |
|
68eaccfa130a
* macterm.c (x_new_font): Set FRAME_SPACE_WIDTH.
Steven Tamm <steventamm@mac.com>
parents:
59199
diff
changeset
|
8028 if (pcm) |
|
68eaccfa130a
* macterm.c (x_new_font): Set FRAME_SPACE_WIDTH.
Steven Tamm <steventamm@mac.com>
parents:
59199
diff
changeset
|
8029 fontp->space_width = pcm->width; |
|
68eaccfa130a
* macterm.c (x_new_font): Set FRAME_SPACE_WIDTH.
Steven Tamm <steventamm@mac.com>
parents:
59199
diff
changeset
|
8030 else |
|
68eaccfa130a
* macterm.c (x_new_font): Set FRAME_SPACE_WIDTH.
Steven Tamm <steventamm@mac.com>
parents:
59199
diff
changeset
|
8031 fontp->space_width = FONT_WIDTH (font); |
|
68eaccfa130a
* macterm.c (x_new_font): Set FRAME_SPACE_WIDTH.
Steven Tamm <steventamm@mac.com>
parents:
59199
diff
changeset
|
8032 |
|
68eaccfa130a
* macterm.c (x_new_font): Set FRAME_SPACE_WIDTH.
Steven Tamm <steventamm@mac.com>
parents:
59199
diff
changeset
|
8033 if (pcm) |
|
68eaccfa130a
* macterm.c (x_new_font): Set FRAME_SPACE_WIDTH.
Steven Tamm <steventamm@mac.com>
parents:
59199
diff
changeset
|
8034 { |
|
68eaccfa130a
* macterm.c (x_new_font): Set FRAME_SPACE_WIDTH.
Steven Tamm <steventamm@mac.com>
parents:
59199
diff
changeset
|
8035 int width = pcm->width; |
|
68eaccfa130a
* macterm.c (x_new_font): Set FRAME_SPACE_WIDTH.
Steven Tamm <steventamm@mac.com>
parents:
59199
diff
changeset
|
8036 for (char2b.byte2 = 33; char2b.byte2 <= 126; char2b.byte2++) |
|
68eaccfa130a
* macterm.c (x_new_font): Set FRAME_SPACE_WIDTH.
Steven Tamm <steventamm@mac.com>
parents:
59199
diff
changeset
|
8037 if ((pcm = mac_per_char_metric (font, &char2b, 0)) != NULL) |
|
68eaccfa130a
* macterm.c (x_new_font): Set FRAME_SPACE_WIDTH.
Steven Tamm <steventamm@mac.com>
parents:
59199
diff
changeset
|
8038 width += pcm->width; |
|
68eaccfa130a
* macterm.c (x_new_font): Set FRAME_SPACE_WIDTH.
Steven Tamm <steventamm@mac.com>
parents:
59199
diff
changeset
|
8039 fontp->average_width = width / 95; |
|
68eaccfa130a
* macterm.c (x_new_font): Set FRAME_SPACE_WIDTH.
Steven Tamm <steventamm@mac.com>
parents:
59199
diff
changeset
|
8040 } |
|
68eaccfa130a
* macterm.c (x_new_font): Set FRAME_SPACE_WIDTH.
Steven Tamm <steventamm@mac.com>
parents:
59199
diff
changeset
|
8041 else |
|
68eaccfa130a
* macterm.c (x_new_font): Set FRAME_SPACE_WIDTH.
Steven Tamm <steventamm@mac.com>
parents:
59199
diff
changeset
|
8042 fontp->average_width = FONT_WIDTH (font); |
|
68eaccfa130a
* macterm.c (x_new_font): Set FRAME_SPACE_WIDTH.
Steven Tamm <steventamm@mac.com>
parents:
59199
diff
changeset
|
8043 } |
|
68eaccfa130a
* macterm.c (x_new_font): Set FRAME_SPACE_WIDTH.
Steven Tamm <steventamm@mac.com>
parents:
59199
diff
changeset
|
8044 |
|
61658
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
8045 fontp->full_name = (char *) xmalloc (strlen (font->full_name) + 1); |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
8046 bcopy (font->full_name, fontp->full_name, strlen (font->full_name) + 1); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8047 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8048 fontp->size = font->max_bounds.width; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8049 fontp->height = FONT_HEIGHT (font); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8050 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8051 /* For some font, ascent and descent in max_bounds field is |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8052 larger than the above value. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8053 int max_height = font->max_bounds.ascent + font->max_bounds.descent; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8054 if (max_height > fontp->height) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8055 fontp->height = max_height; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8056 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8057 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8058 /* The slot `encoding' specifies how to map a character |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8059 code-points (0x20..0x7F or 0x2020..0x7F7F) of each charset to |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8060 the font code-points (0:0x20..0x7F, 1:0xA0..0xFF), or |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8061 (0:0x2020..0x7F7F, 1:0xA0A0..0xFFFF, 3:0x20A0..0x7FFF, |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8062 2:0xA020..0xFF7F). For the moment, we don't know which charset |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8063 uses this font. So, we set information in fontp->encoding[1] |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8064 which is never used by any charset. If mapping can't be |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8065 decided, set FONT_ENCODING_NOT_DECIDED. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8066 if (font->mac_scriptcode == smJapanese) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8067 fontp->encoding[1] = 4; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8068 else |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8069 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8070 fontp->encoding[1] |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8071 = (font->max_byte1 == 0 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8072 /* 1-byte font */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8073 ? (font->min_char_or_byte2 < 0x80 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8074 ? (font->max_char_or_byte2 < 0x80 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8075 ? 0 /* 0x20..0x7F */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8076 : FONT_ENCODING_NOT_DECIDED) /* 0x20..0xFF */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8077 : 1) /* 0xA0..0xFF */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8078 /* 2-byte font */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8079 : (font->min_byte1 < 0x80 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8080 ? (font->max_byte1 < 0x80 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8081 ? (font->min_char_or_byte2 < 0x80 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8082 ? (font->max_char_or_byte2 < 0x80 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8083 ? 0 /* 0x2020..0x7F7F */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8084 : FONT_ENCODING_NOT_DECIDED) /* 0x2020..0x7FFF */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8085 : 3) /* 0x20A0..0x7FFF */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8086 : FONT_ENCODING_NOT_DECIDED) /* 0x20??..0xA0?? */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8087 : (font->min_char_or_byte2 < 0x80 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8088 ? (font->max_char_or_byte2 < 0x80 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8089 ? 2 /* 0xA020..0xFF7F */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8090 : FONT_ENCODING_NOT_DECIDED) /* 0xA020..0xFFFF */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8091 : 1))); /* 0xA0A0..0xFFFF */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8092 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8093 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8094 #if 0 /* MAC_TODO: fill these out with more reasonably values */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8095 fontp->baseline_offset |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8096 = (XGetFontProperty (font, dpyinfo->Xatom_MULE_BASELINE_OFFSET, &value) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8097 ? (long) value : 0); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8098 fontp->relative_compose |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8099 = (XGetFontProperty (font, dpyinfo->Xatom_MULE_RELATIVE_COMPOSE, &value) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8100 ? (long) value : 0); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8101 fontp->default_ascent |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8102 = (XGetFontProperty (font, dpyinfo->Xatom_MULE_DEFAULT_ASCENT, &value) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8103 ? (long) value : 0); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8104 #else |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8105 fontp->baseline_offset = 0; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8106 fontp->relative_compose = 0; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8107 fontp->default_ascent = 0; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8108 #endif |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8109 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8110 /* Set global flag fonts_changed_p to non-zero if the font loaded |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8111 has a character with a smaller width than any other character |
|
65110
ac7314b59792
(mac_copy_area, mac_copy_area_with_mask): Restore background color.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
8112 before, or if the font loaded has a smaller height than any |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8113 other font loaded before. If this happens, it will make a |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8114 glyph matrix reallocation necessary. */ |
|
64102
09d72bda30b9
(mac_draw_vertical_window_border): Use foreground of
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64084
diff
changeset
|
8115 fonts_changed_p |= x_compute_min_glyph_bounds (f); |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8116 UNBLOCK_INPUT; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8117 return fontp; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8118 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8119 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8120 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8121 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8122 /* Return a pointer to struct font_info of a font named FONTNAME for |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8123 frame F. If no such font is loaded, return NULL. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8124 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8125 struct font_info * |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8126 x_query_font (f, fontname) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8127 struct frame *f; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8128 register char *fontname; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8129 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8130 struct mac_display_info *dpyinfo = FRAME_MAC_DISPLAY_INFO (f); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8131 int i; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8132 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8133 for (i = 0; i < dpyinfo->n_fonts; i++) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8134 if (dpyinfo->font_table[i].name |
|
72545
171c891be45d
(mac_draw_string_common, mac_query_char_extents)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72505
diff
changeset
|
8135 && (!xstricmp (dpyinfo->font_table[i].name, fontname) |
|
171c891be45d
(mac_draw_string_common, mac_query_char_extents)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72505
diff
changeset
|
8136 || !xstricmp (dpyinfo->font_table[i].full_name, fontname))) |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8137 return (dpyinfo->font_table + i); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8138 return NULL; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8139 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8140 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8141 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8142 /* Find a CCL program for a font specified by FONTP, and set the member |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8143 `encoder' of the structure. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8144 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8145 void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8146 x_find_ccl_program (fontp) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8147 struct font_info *fontp; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8148 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8149 Lisp_Object list, elt; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8150 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8151 for (list = Vfont_ccl_encoder_alist; CONSP (list); list = XCDR (list)) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8152 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8153 elt = XCAR (list); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8154 if (CONSP (elt) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8155 && STRINGP (XCAR (elt)) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8156 && (fast_c_string_match_ignore_case (XCAR (elt), fontp->name) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8157 >= 0)) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8158 break; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8159 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8160 if (! NILP (list)) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8161 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8162 struct ccl_program *ccl |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8163 = (struct ccl_program *) xmalloc (sizeof (struct ccl_program)); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8164 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8165 if (setup_ccl_program (ccl, XCDR (elt)) < 0) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8166 xfree (ccl); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8167 else |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8168 fontp->font_encoder = ccl; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8169 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8170 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8171 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8172 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8173 /* The Mac Event loop code */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8174 |
|
60364
de784812b4d4
[TARGET_API_MAC_CARBON && !MAC_OSX]: Define USE_CARBON_EVENTS to 1.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
59899
diff
changeset
|
8175 #if !TARGET_API_MAC_CARBON |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8176 #include <Events.h> |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8177 #include <Quickdraw.h> |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8178 #include <Balloons.h> |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8179 #include <Devices.h> |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8180 #include <Fonts.h> |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8181 #include <Gestalt.h> |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8182 #include <Menus.h> |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8183 #include <Processes.h> |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8184 #include <Sound.h> |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8185 #include <ToolUtils.h> |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8186 #include <TextUtils.h> |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8187 #include <Dialogs.h> |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8188 #include <Script.h> |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8189 #include <Types.h> |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8190 #include <Resources.h> |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8191 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8192 #if __MWERKS__ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8193 #include <unix.h> |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8194 #endif |
|
60364
de784812b4d4
[TARGET_API_MAC_CARBON && !MAC_OSX]: Define USE_CARBON_EVENTS to 1.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
59899
diff
changeset
|
8195 #endif /* ! TARGET_API_MAC_CARBON */ |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8196 |
|
53956
922b1cbf208b
(Vmac_emulate_three_button_mouse): New variable for
Steven Tamm <steventamm@mac.com>
parents:
53935
diff
changeset
|
8197 /* Contains the string "reverse", which is a constant for mouse button emu.*/ |
|
922b1cbf208b
(Vmac_emulate_three_button_mouse): New variable for
Steven Tamm <steventamm@mac.com>
parents:
53935
diff
changeset
|
8198 Lisp_Object Qreverse; |
|
922b1cbf208b
(Vmac_emulate_three_button_mouse): New variable for
Steven Tamm <steventamm@mac.com>
parents:
53935
diff
changeset
|
8199 |
|
66818
d85a089fce11
macterm.c (backtranslate_modified_keycode): New function to
Steven Tamm <steventamm@mac.com>
parents:
66431
diff
changeset
|
8200 |
|
d85a089fce11
macterm.c (backtranslate_modified_keycode): New function to
Steven Tamm <steventamm@mac.com>
parents:
66431
diff
changeset
|
8201 /* Modifier associated with the control key, or nil to ignore. */ |
|
d85a089fce11
macterm.c (backtranslate_modified_keycode): New function to
Steven Tamm <steventamm@mac.com>
parents:
66431
diff
changeset
|
8202 Lisp_Object Vmac_control_modifier; |
|
d85a089fce11
macterm.c (backtranslate_modified_keycode): New function to
Steven Tamm <steventamm@mac.com>
parents:
66431
diff
changeset
|
8203 |
|
d85a089fce11
macterm.c (backtranslate_modified_keycode): New function to
Steven Tamm <steventamm@mac.com>
parents:
66431
diff
changeset
|
8204 /* Modifier associated with the option key, or nil to ignore. */ |
|
57783
4cb8cebc3255
2004-10-28 Will <will@glozer.net>
John Wiegley <johnw@newartisans.com>
parents:
57425
diff
changeset
|
8205 Lisp_Object Vmac_option_modifier; |
|
4cb8cebc3255
2004-10-28 Will <will@glozer.net>
John Wiegley <johnw@newartisans.com>
parents:
57425
diff
changeset
|
8206 |
|
66818
d85a089fce11
macterm.c (backtranslate_modified_keycode): New function to
Steven Tamm <steventamm@mac.com>
parents:
66431
diff
changeset
|
8207 /* Modifier associated with the command key, or nil to ignore. */ |
|
d85a089fce11
macterm.c (backtranslate_modified_keycode): New function to
Steven Tamm <steventamm@mac.com>
parents:
66431
diff
changeset
|
8208 Lisp_Object Vmac_command_modifier; |
|
d85a089fce11
macterm.c (backtranslate_modified_keycode): New function to
Steven Tamm <steventamm@mac.com>
parents:
66431
diff
changeset
|
8209 |
|
d85a089fce11
macterm.c (backtranslate_modified_keycode): New function to
Steven Tamm <steventamm@mac.com>
parents:
66431
diff
changeset
|
8210 /* Modifier associated with the function key, or nil to ignore. */ |
|
d85a089fce11
macterm.c (backtranslate_modified_keycode): New function to
Steven Tamm <steventamm@mac.com>
parents:
66431
diff
changeset
|
8211 Lisp_Object Vmac_function_modifier; |
| 46798 | 8212 |
|
53956
922b1cbf208b
(Vmac_emulate_three_button_mouse): New variable for
Steven Tamm <steventamm@mac.com>
parents:
53935
diff
changeset
|
8213 /* True if the option and command modifiers should be used to emulate |
|
922b1cbf208b
(Vmac_emulate_three_button_mouse): New variable for
Steven Tamm <steventamm@mac.com>
parents:
53935
diff
changeset
|
8214 a three button mouse */ |
|
922b1cbf208b
(Vmac_emulate_three_button_mouse): New variable for
Steven Tamm <steventamm@mac.com>
parents:
53935
diff
changeset
|
8215 Lisp_Object Vmac_emulate_three_button_mouse; |
|
922b1cbf208b
(Vmac_emulate_three_button_mouse): New variable for
Steven Tamm <steventamm@mac.com>
parents:
53935
diff
changeset
|
8216 |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8217 #if TARGET_API_MAC_CARBON |
|
67666
037431c17fba
(mac_do_receive_drag): Drag-and-drop items are now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67458
diff
changeset
|
8218 /* Non-zero if the mouse wheel button (i.e. button 4) should map to |
| 46798 | 8219 mouse-2, instead of mouse-3. */ |
|
67666
037431c17fba
(mac_do_receive_drag): Drag-and-drop items are now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67458
diff
changeset
|
8220 int mac_wheel_button_is_mouse_2; |
|
037431c17fba
(mac_do_receive_drag): Drag-and-drop items are now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67458
diff
changeset
|
8221 |
|
037431c17fba
(mac_do_receive_drag): Drag-and-drop items are now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67458
diff
changeset
|
8222 /* If non-zero, the Mac "Command" key is passed on to the Mac Toolbox |
|
46860
8b7ade57211d
2002-08-11 Andrew Choi <akochoi@shaw.ca>
Andrew Choi <akochoi@shaw.ca>
parents:
46856
diff
changeset
|
8223 for processing before Emacs sees it. */ |
|
67666
037431c17fba
(mac_do_receive_drag): Drag-and-drop items are now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67458
diff
changeset
|
8224 int mac_pass_command_to_system; |
|
037431c17fba
(mac_do_receive_drag): Drag-and-drop items are now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67458
diff
changeset
|
8225 |
|
037431c17fba
(mac_do_receive_drag): Drag-and-drop items are now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67458
diff
changeset
|
8226 /* If non-zero, the Mac "Control" key is passed on to the Mac Toolbox |
|
46860
8b7ade57211d
2002-08-11 Andrew Choi <akochoi@shaw.ca>
Andrew Choi <akochoi@shaw.ca>
parents:
46856
diff
changeset
|
8227 for processing before Emacs sees it. */ |
|
67666
037431c17fba
(mac_do_receive_drag): Drag-and-drop items are now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67458
diff
changeset
|
8228 int mac_pass_control_to_system; |
|
65110
ac7314b59792
(mac_copy_area, mac_copy_area_with_mask): Restore background color.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
8229 #endif |
|
63461
8aa0953a6870
(mac_compute_glyph_string_overhangs): Don't set
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
63098
diff
changeset
|
8230 |
|
77167
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
8231 /* Whether or not the screen configuration has changed. */ |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8232 int mac_screen_config_changed = 0; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8233 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
8234 /* Apple Events */ |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8235 #if TARGET_API_MAC_CARBON |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8236 Lisp_Object Qhi_command; |
|
70496
8b2250961fcc
(XLoadQueryFont) [USE_ATSUI]: Set FMFontFamily value
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70384
diff
changeset
|
8237 #ifdef MAC_OSX |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8238 Lisp_Object Qtoolbar_switch_mode; |
|
70496
8b2250961fcc
(XLoadQueryFont) [USE_ATSUI]: Set FMFontFamily value
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70384
diff
changeset
|
8239 #endif |
|
71178
d098ef877d70
(tsm_document_id) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71135
diff
changeset
|
8240 #if USE_MAC_TSM |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8241 Lisp_Object Qtext_input; |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8242 Lisp_Object Qupdate_active_input_area, Qunicode_for_key_event; |
|
80519
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8243 Lisp_Object Vmac_ts_active_input_overlay, Vmac_ts_active_input_buf; |
|
80515
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
8244 static Lisp_Object Vmac_ts_script_language_on_focus; |
|
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
8245 static Lisp_Object saved_ts_script_language_on_focus; |
|
71359
4df3a065ee9b
(do_app_resume, do_app_suspend): Remove functions.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71241
diff
changeset
|
8246 static ScriptLanguageRecord saved_ts_language; |
|
4df3a065ee9b
(do_app_resume, do_app_suspend): Remove functions.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71241
diff
changeset
|
8247 static Component saved_ts_component; |
|
71178
d098ef877d70
(tsm_document_id) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71135
diff
changeset
|
8248 #endif |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8249 #ifdef MAC_OSX |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8250 Lisp_Object Qservice, Qpaste, Qperform; |
|
80519
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8251 Lisp_Object Qmouse_drag_overlay; |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8252 #endif |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8253 #endif /* TARGET_API_MAC_CARBON */ |
|
67458
e6e566aad553
(Qmac_ready_for_drag_n_drop, Qapplication, Qabout)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67101
diff
changeset
|
8254 extern Lisp_Object Qundefined; |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8255 extern int XTread_socket P_ ((int, int, struct input_event *)); |
|
67458
e6e566aad553
(Qmac_ready_for_drag_n_drop, Qapplication, Qabout)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67101
diff
changeset
|
8256 extern void init_apple_event_handler P_ ((void)); |
|
e6e566aad553
(Qmac_ready_for_drag_n_drop, Qapplication, Qabout)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67101
diff
changeset
|
8257 extern void mac_find_apple_event_spec P_ ((AEEventClass, AEEventID, |
|
e6e566aad553
(Qmac_ready_for_drag_n_drop, Qapplication, Qabout)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67101
diff
changeset
|
8258 Lisp_Object *, Lisp_Object *, |
|
e6e566aad553
(Qmac_ready_for_drag_n_drop, Qapplication, Qabout)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67101
diff
changeset
|
8259 Lisp_Object *)); |
|
67788
114d965dfb60
Don't include sys/param.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67733
diff
changeset
|
8260 extern OSErr init_coercion_handler P_ ((void)); |
| 46798 | 8261 |
|
71963
a6c0f6b0c790
(keycode_to_xkeysym): Remove function. All uses now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71504
diff
changeset
|
8262 /* Table for translating Mac keycode to X keysym values. Contributed |
|
a6c0f6b0c790
(keycode_to_xkeysym): Remove function. All uses now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71504
diff
changeset
|
8263 by Sudhir Shenoy. |
|
a6c0f6b0c790
(keycode_to_xkeysym): Remove function. All uses now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71504
diff
changeset
|
8264 Mapping for special keys is now identical to that in Apple X11 |
|
a6c0f6b0c790
(keycode_to_xkeysym): Remove function. All uses now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71504
diff
changeset
|
8265 except `clear' (-> <clear>) on the KeyPad, `enter' (-> <kp-enter>) |
|
a6c0f6b0c790
(keycode_to_xkeysym): Remove function. All uses now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71504
diff
changeset
|
8266 on the right of the Cmd key on laptops, and fn + `enter' (-> |
|
a6c0f6b0c790
(keycode_to_xkeysym): Remove function. All uses now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71504
diff
changeset
|
8267 <linefeed>). */ |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8268 const unsigned char keycode_to_xkeysym_table[] = { |
|
71963
a6c0f6b0c790
(keycode_to_xkeysym): Remove function. All uses now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71504
diff
changeset
|
8269 /*0x00*/ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
|
a6c0f6b0c790
(keycode_to_xkeysym): Remove function. All uses now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71504
diff
changeset
|
8270 /*0x10*/ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
|
a6c0f6b0c790
(keycode_to_xkeysym): Remove function. All uses now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71504
diff
changeset
|
8271 /*0x20*/ 0, 0, 0, 0, 0x0d /*return*/, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
|
a6c0f6b0c790
(keycode_to_xkeysym): Remove function. All uses now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71504
diff
changeset
|
8272 |
|
a6c0f6b0c790
(keycode_to_xkeysym): Remove function. All uses now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71504
diff
changeset
|
8273 /*0x30*/ 0x09 /*tab*/, 0 /*0x0020 space*/, 0, 0x08 /*backspace*/, |
|
a6c0f6b0c790
(keycode_to_xkeysym): Remove function. All uses now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71504
diff
changeset
|
8274 /*0x34*/ 0x8d /*enter on laptops*/, 0x1b /*escape*/, 0, 0, |
|
a6c0f6b0c790
(keycode_to_xkeysym): Remove function. All uses now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71504
diff
changeset
|
8275 /*0x38*/ 0, 0, 0, 0, |
|
a6c0f6b0c790
(keycode_to_xkeysym): Remove function. All uses now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71504
diff
changeset
|
8276 /*0x3C*/ 0, 0, 0, 0, |
|
a6c0f6b0c790
(keycode_to_xkeysym): Remove function. All uses now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71504
diff
changeset
|
8277 |
|
80604
234fcb1810c9
(keycode_to_xkeysym_table): Add entries for f17, f18, and f19.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80580
diff
changeset
|
8278 /*0x40*/ 0xce /*f17*/, 0xae /*kp-decimal*/, 0, 0xaa /*kp-multiply*/, |
|
71963
a6c0f6b0c790
(keycode_to_xkeysym): Remove function. All uses now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71504
diff
changeset
|
8279 /*0x44*/ 0, 0xab /*kp-add*/, 0, 0x0b /*clear*/, |
|
a6c0f6b0c790
(keycode_to_xkeysym): Remove function. All uses now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71504
diff
changeset
|
8280 /*0x48*/ 0, 0, 0, 0xaf /*kp-divide*/, |
|
80604
234fcb1810c9
(keycode_to_xkeysym_table): Add entries for f17, f18, and f19.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80580
diff
changeset
|
8281 /*0x4C*/ 0x8d /*kp-enter*/, 0, 0xad /*kp-subtract*/, 0xcf /*f18*/, |
|
234fcb1810c9
(keycode_to_xkeysym_table): Add entries for f17, f18, and f19.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80580
diff
changeset
|
8282 |
|
234fcb1810c9
(keycode_to_xkeysym_table): Add entries for f17, f18, and f19.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80580
diff
changeset
|
8283 /*0x50*/ 0xd0 /*f19*/, 0xbd /*kp-equal*/, 0xb0 /*kp-0*/, 0xb1 /*kp-1*/, |
|
71963
a6c0f6b0c790
(keycode_to_xkeysym): Remove function. All uses now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71504
diff
changeset
|
8284 /*0x54*/ 0xb2 /*kp-2*/, 0xb3 /*kp-3*/, 0xb4 /*kp-4*/, 0xb5 /*kp-5*/, |
|
a6c0f6b0c790
(keycode_to_xkeysym): Remove function. All uses now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71504
diff
changeset
|
8285 /*0x58*/ 0xb6 /*kp-6*/, 0xb7 /*kp-7*/, 0, 0xb8 /*kp-8*/, |
|
a6c0f6b0c790
(keycode_to_xkeysym): Remove function. All uses now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71504
diff
changeset
|
8286 /*0x5C*/ 0xb9 /*kp-9*/, 0, 0, 0, |
|
a6c0f6b0c790
(keycode_to_xkeysym): Remove function. All uses now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71504
diff
changeset
|
8287 |
|
a6c0f6b0c790
(keycode_to_xkeysym): Remove function. All uses now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71504
diff
changeset
|
8288 /*0x60*/ 0xc2 /*f5*/, 0xc3 /*f6*/, 0xc4 /*f7*/, 0xc0 /*f3*/, |
|
a6c0f6b0c790
(keycode_to_xkeysym): Remove function. All uses now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71504
diff
changeset
|
8289 /*0x64*/ 0xc5 /*f8*/, 0xc6 /*f9*/, 0, 0xc8 /*f11*/, |
|
a6c0f6b0c790
(keycode_to_xkeysym): Remove function. All uses now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71504
diff
changeset
|
8290 /*0x68*/ 0, 0xca /*f13*/, 0xcd /*f16*/, 0xcb /*f14*/, |
|
a6c0f6b0c790
(keycode_to_xkeysym): Remove function. All uses now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71504
diff
changeset
|
8291 /*0x6C*/ 0, 0xc7 /*f10*/, 0x0a /*fn+enter on laptops*/, 0xc9 /*f12*/, |
|
a6c0f6b0c790
(keycode_to_xkeysym): Remove function. All uses now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71504
diff
changeset
|
8292 |
|
a6c0f6b0c790
(keycode_to_xkeysym): Remove function. All uses now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71504
diff
changeset
|
8293 /*0x70*/ 0, 0xcc /*f15*/, 0x6a /*help*/, 0x50 /*home*/, |
|
a6c0f6b0c790
(keycode_to_xkeysym): Remove function. All uses now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71504
diff
changeset
|
8294 /*0x74*/ 0x55 /*pgup*/, 0xff /*delete*/, 0xc1 /*f4*/, 0x57 /*end*/, |
|
a6c0f6b0c790
(keycode_to_xkeysym): Remove function. All uses now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71504
diff
changeset
|
8295 /*0x78*/ 0xbf /*f2*/, 0x56 /*pgdown*/, 0xbe /*f1*/, 0x51 /*left*/, |
|
a6c0f6b0c790
(keycode_to_xkeysym): Remove function. All uses now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71504
diff
changeset
|
8296 /*0x7C*/ 0x53 /*right*/, 0x54 /*down*/, 0x52 /*up*/, 0 |
|
a6c0f6b0c790
(keycode_to_xkeysym): Remove function. All uses now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71504
diff
changeset
|
8297 }; |
|
a6c0f6b0c790
(keycode_to_xkeysym): Remove function. All uses now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71504
diff
changeset
|
8298 |
|
a6c0f6b0c790
(keycode_to_xkeysym): Remove function. All uses now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71504
diff
changeset
|
8299 #ifdef MAC_OSX |
|
a6c0f6b0c790
(keycode_to_xkeysym): Remove function. All uses now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71504
diff
changeset
|
8300 /* Table for translating Mac keycode with the laptop `fn' key to that |
|
a6c0f6b0c790
(keycode_to_xkeysym): Remove function. All uses now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71504
diff
changeset
|
8301 without it. Destination symbols in comments are keys on US |
|
a6c0f6b0c790
(keycode_to_xkeysym): Remove function. All uses now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71504
diff
changeset
|
8302 keyboard, and they may not be the same on other types of keyboards. |
|
80013
6de7ed8f6c1e
[MAC_OSX] (fn_keycode_to_keycode_table): Add more entries
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
79897
diff
changeset
|
8303 If the destination is identical to the source, it doesn't map `fn' |
|
6de7ed8f6c1e
[MAC_OSX] (fn_keycode_to_keycode_table): Add more entries
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
79897
diff
changeset
|
8304 key to a modifier. */ |
|
73575
c39e3aff703e
(mac_create_bitmap_from_bitmap_data): Make variable
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73385
diff
changeset
|
8305 static const unsigned char fn_keycode_to_keycode_table[] = { |
|
71963
a6c0f6b0c790
(keycode_to_xkeysym): Remove function. All uses now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71504
diff
changeset
|
8306 /*0x00*/ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
|
a6c0f6b0c790
(keycode_to_xkeysym): Remove function. All uses now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71504
diff
changeset
|
8307 /*0x10*/ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
|
a6c0f6b0c790
(keycode_to_xkeysym): Remove function. All uses now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71504
diff
changeset
|
8308 /*0x20*/ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
|
a6c0f6b0c790
(keycode_to_xkeysym): Remove function. All uses now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71504
diff
changeset
|
8309 |
|
a6c0f6b0c790
(keycode_to_xkeysym): Remove function. All uses now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71504
diff
changeset
|
8310 /*0x30*/ 0, 0, 0, 0, |
|
a6c0f6b0c790
(keycode_to_xkeysym): Remove function. All uses now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71504
diff
changeset
|
8311 /*0x34*/ 0, 0, 0, 0, |
|
a6c0f6b0c790
(keycode_to_xkeysym): Remove function. All uses now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71504
diff
changeset
|
8312 /*0x38*/ 0, 0, 0, 0, |
|
a6c0f6b0c790
(keycode_to_xkeysym): Remove function. All uses now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71504
diff
changeset
|
8313 /*0x3C*/ 0, 0, 0, 0, |
|
a6c0f6b0c790
(keycode_to_xkeysym): Remove function. All uses now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71504
diff
changeset
|
8314 |
|
80604
234fcb1810c9
(keycode_to_xkeysym_table): Add entries for f17, f18, and f19.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80580
diff
changeset
|
8315 /*0x40*/ 0x40 /*f17 = f17*/, 0x2f /*kp-decimal -> '.'*/, 0, 0x23 /*kp-multiply -> 'p'*/, |
|
71963
a6c0f6b0c790
(keycode_to_xkeysym): Remove function. All uses now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71504
diff
changeset
|
8316 /*0x44*/ 0, 0x2c /*kp-add -> '/'*/, 0, 0x16 /*clear -> '6'*/, |
|
a6c0f6b0c790
(keycode_to_xkeysym): Remove function. All uses now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71504
diff
changeset
|
8317 /*0x48*/ 0, 0, 0, 0x1d /*kp-/ -> '0'*/, |
|
80604
234fcb1810c9
(keycode_to_xkeysym_table): Add entries for f17, f18, and f19.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80580
diff
changeset
|
8318 /*0x4C*/ 0x24 /*kp-enter -> return*/, 0, 0x29 /*kp-subtract -> ';'*/, 0x4f /*f18 = f18*/, |
|
234fcb1810c9
(keycode_to_xkeysym_table): Add entries for f17, f18, and f19.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80580
diff
changeset
|
8319 |
|
234fcb1810c9
(keycode_to_xkeysym_table): Add entries for f17, f18, and f19.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80580
diff
changeset
|
8320 /*0x50*/ 0x50 /*f19 = f19*/, 0x1b /*kp-equal -> '-'*/, 0x2e /*kp-0 -> 'm'*/, 0x26 /*kp-1 -> 'j'*/, |
|
71963
a6c0f6b0c790
(keycode_to_xkeysym): Remove function. All uses now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71504
diff
changeset
|
8321 /*0x54*/ 0x28 /*kp-2 -> 'k'*/, 0x25 /*kp-3 -> 'l'*/, 0x20 /*kp-4 -> 'u'*/, 0x22 /*kp-5 ->'i'*/, |
|
a6c0f6b0c790
(keycode_to_xkeysym): Remove function. All uses now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71504
diff
changeset
|
8322 /*0x58*/ 0x1f /*kp-6 -> 'o'*/, 0x1a /*kp-7 -> '7'*/, 0, 0x1c /*kp-8 -> '8'*/, |
|
a6c0f6b0c790
(keycode_to_xkeysym): Remove function. All uses now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71504
diff
changeset
|
8323 /*0x5C*/ 0x19 /*kp-9 -> '9'*/, 0, 0, 0, |
|
a6c0f6b0c790
(keycode_to_xkeysym): Remove function. All uses now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71504
diff
changeset
|
8324 |
|
a6c0f6b0c790
(keycode_to_xkeysym): Remove function. All uses now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71504
diff
changeset
|
8325 /*0x60*/ 0x60 /*f5 = f5*/, 0x61 /*f6 = f6*/, 0x62 /*f7 = f7*/, 0x63 /*f3 = f3*/, |
|
a6c0f6b0c790
(keycode_to_xkeysym): Remove function. All uses now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71504
diff
changeset
|
8326 /*0x64*/ 0x64 /*f8 = f8*/, 0x65 /*f9 = f9*/, 0, 0x67 /*f11 = f11*/, |
|
80013
6de7ed8f6c1e
[MAC_OSX] (fn_keycode_to_keycode_table): Add more entries
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
79897
diff
changeset
|
8327 /*0x68*/ 0, 0x69 /*f13 = f13*/, 0x6a /*f16 = f16*/, 0x6b /*f14 = f14*/, |
|
71963
a6c0f6b0c790
(keycode_to_xkeysym): Remove function. All uses now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71504
diff
changeset
|
8328 /*0x6C*/ 0, 0x6d /*f10 = f10*/, 0, 0x6f /*f12 = f12*/, |
|
a6c0f6b0c790
(keycode_to_xkeysym): Remove function. All uses now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71504
diff
changeset
|
8329 |
|
80013
6de7ed8f6c1e
[MAC_OSX] (fn_keycode_to_keycode_table): Add more entries
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
79897
diff
changeset
|
8330 /*0x70*/ 0, 0x71 /*f15 = f15*/, 0x72 /*help = help*/, 0x7b /*home -> left*/, |
|
71963
a6c0f6b0c790
(keycode_to_xkeysym): Remove function. All uses now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71504
diff
changeset
|
8331 /*0x74*/ 0x7e /*pgup -> up*/, 0x33 /*delete -> backspace*/, 0x76 /*f4 = f4*/, 0x7c /*end -> right*/, |
|
80013
6de7ed8f6c1e
[MAC_OSX] (fn_keycode_to_keycode_table): Add more entries
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
79897
diff
changeset
|
8332 /*0x78*/ 0x78 /*f2 = f2*/, 0x7d /*pgdown -> down*/, 0x7a /*f1 = f1*/, 0x7b /*left = left*/, |
|
6de7ed8f6c1e
[MAC_OSX] (fn_keycode_to_keycode_table): Add more entries
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
79897
diff
changeset
|
8333 /*0x7C*/ 0x7c /*right = right*/, 0x7d /*down = down*/, 0x7e /*up = up*/, 0 |
|
71963
a6c0f6b0c790
(keycode_to_xkeysym): Remove function. All uses now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71504
diff
changeset
|
8334 }; |
|
a6c0f6b0c790
(keycode_to_xkeysym): Remove function. All uses now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71504
diff
changeset
|
8335 #endif /* MAC_OSX */ |
|
a6c0f6b0c790
(keycode_to_xkeysym): Remove function. All uses now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71504
diff
changeset
|
8336 |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8337 int |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8338 #if TARGET_API_MAC_CARBON |
|
80020
5b2a1921a62f
(mac_to_emacs_modifiers): New argument UNMAPPED_MODS.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80013
diff
changeset
|
8339 mac_to_emacs_modifiers (UInt32 mods, UInt32 unmapped_mods) |
| 46798 | 8340 #else |
|
80020
5b2a1921a62f
(mac_to_emacs_modifiers): New argument UNMAPPED_MODS.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80013
diff
changeset
|
8341 mac_to_emacs_modifiers (EventModifiers mods, EventModifiers unmapped_mods) |
| 46798 | 8342 #endif |
| 8343 { | |
| 8344 unsigned int result = 0; | |
|
80020
5b2a1921a62f
(mac_to_emacs_modifiers): New argument UNMAPPED_MODS.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80013
diff
changeset
|
8345 if ((mods | unmapped_mods) & shiftKey) |
| 46798 | 8346 result |= shift_modifier; |
|
66841
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
8347 |
|
66818
d85a089fce11
macterm.c (backtranslate_modified_keycode): New function to
Steven Tamm <steventamm@mac.com>
parents:
66431
diff
changeset
|
8348 /* Deactivated to simplify configuration: |
|
d85a089fce11
macterm.c (backtranslate_modified_keycode): New function to
Steven Tamm <steventamm@mac.com>
parents:
66431
diff
changeset
|
8349 if Vmac_option_modifier is non-NIL, we fully process the Option |
|
d85a089fce11
macterm.c (backtranslate_modified_keycode): New function to
Steven Tamm <steventamm@mac.com>
parents:
66431
diff
changeset
|
8350 key. Otherwise, we only process it if an additional Ctrl or Command |
|
66841
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
8351 is pressed. That way the system may convert the character to a |
|
66818
d85a089fce11
macterm.c (backtranslate_modified_keycode): New function to
Steven Tamm <steventamm@mac.com>
parents:
66431
diff
changeset
|
8352 composed one. |
|
d85a089fce11
macterm.c (backtranslate_modified_keycode): New function to
Steven Tamm <steventamm@mac.com>
parents:
66431
diff
changeset
|
8353 if ((mods & optionKey) && |
|
66841
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
8354 (( !NILP(Vmac_option_modifier) || |
|
66818
d85a089fce11
macterm.c (backtranslate_modified_keycode): New function to
Steven Tamm <steventamm@mac.com>
parents:
66431
diff
changeset
|
8355 ((mods & cmdKey) || (mods & controlKey))))) */ |
|
d85a089fce11
macterm.c (backtranslate_modified_keycode): New function to
Steven Tamm <steventamm@mac.com>
parents:
66431
diff
changeset
|
8356 |
|
57783
4cb8cebc3255
2004-10-28 Will <will@glozer.net>
John Wiegley <johnw@newartisans.com>
parents:
57425
diff
changeset
|
8357 if (!NILP (Vmac_option_modifier) && (mods & optionKey)) { |
|
66818
d85a089fce11
macterm.c (backtranslate_modified_keycode): New function to
Steven Tamm <steventamm@mac.com>
parents:
66431
diff
changeset
|
8358 Lisp_Object val = Fget(Vmac_option_modifier, Qmodifier_value); |
|
d85a089fce11
macterm.c (backtranslate_modified_keycode): New function to
Steven Tamm <steventamm@mac.com>
parents:
66431
diff
changeset
|
8359 if (INTEGERP(val)) |
|
d85a089fce11
macterm.c (backtranslate_modified_keycode): New function to
Steven Tamm <steventamm@mac.com>
parents:
66431
diff
changeset
|
8360 result |= XUINT(val); |
|
57783
4cb8cebc3255
2004-10-28 Will <will@glozer.net>
John Wiegley <johnw@newartisans.com>
parents:
57425
diff
changeset
|
8361 } |
|
66818
d85a089fce11
macterm.c (backtranslate_modified_keycode): New function to
Steven Tamm <steventamm@mac.com>
parents:
66431
diff
changeset
|
8362 if (!NILP (Vmac_command_modifier) && (mods & cmdKey)) { |
|
d85a089fce11
macterm.c (backtranslate_modified_keycode): New function to
Steven Tamm <steventamm@mac.com>
parents:
66431
diff
changeset
|
8363 Lisp_Object val = Fget(Vmac_command_modifier, Qmodifier_value); |
|
d85a089fce11
macterm.c (backtranslate_modified_keycode): New function to
Steven Tamm <steventamm@mac.com>
parents:
66431
diff
changeset
|
8364 if (INTEGERP(val)) |
|
d85a089fce11
macterm.c (backtranslate_modified_keycode): New function to
Steven Tamm <steventamm@mac.com>
parents:
66431
diff
changeset
|
8365 result |= XUINT(val); |
|
66841
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
8366 } |
|
66818
d85a089fce11
macterm.c (backtranslate_modified_keycode): New function to
Steven Tamm <steventamm@mac.com>
parents:
66431
diff
changeset
|
8367 if (!NILP (Vmac_control_modifier) && (mods & controlKey)) { |
|
d85a089fce11
macterm.c (backtranslate_modified_keycode): New function to
Steven Tamm <steventamm@mac.com>
parents:
66431
diff
changeset
|
8368 Lisp_Object val = Fget(Vmac_control_modifier, Qmodifier_value); |
|
d85a089fce11
macterm.c (backtranslate_modified_keycode): New function to
Steven Tamm <steventamm@mac.com>
parents:
66431
diff
changeset
|
8369 if (INTEGERP(val)) |
|
d85a089fce11
macterm.c (backtranslate_modified_keycode): New function to
Steven Tamm <steventamm@mac.com>
parents:
66431
diff
changeset
|
8370 result |= XUINT(val); |
|
66841
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
8371 } |
|
66818
d85a089fce11
macterm.c (backtranslate_modified_keycode): New function to
Steven Tamm <steventamm@mac.com>
parents:
66431
diff
changeset
|
8372 |
|
d85a089fce11
macterm.c (backtranslate_modified_keycode): New function to
Steven Tamm <steventamm@mac.com>
parents:
66431
diff
changeset
|
8373 #ifdef MAC_OSX |
|
d85a089fce11
macterm.c (backtranslate_modified_keycode): New function to
Steven Tamm <steventamm@mac.com>
parents:
66431
diff
changeset
|
8374 if (!NILP (Vmac_function_modifier) && (mods & kEventKeyModifierFnMask)) { |
|
d85a089fce11
macterm.c (backtranslate_modified_keycode): New function to
Steven Tamm <steventamm@mac.com>
parents:
66431
diff
changeset
|
8375 Lisp_Object val = Fget(Vmac_function_modifier, Qmodifier_value); |
|
d85a089fce11
macterm.c (backtranslate_modified_keycode): New function to
Steven Tamm <steventamm@mac.com>
parents:
66431
diff
changeset
|
8376 if (INTEGERP(val)) |
|
d85a089fce11
macterm.c (backtranslate_modified_keycode): New function to
Steven Tamm <steventamm@mac.com>
parents:
66431
diff
changeset
|
8377 result |= XUINT(val); |
|
66841
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
8378 } |
|
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
8379 #endif |
|
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
8380 |
| 46798 | 8381 return result; |
| 8382 } | |
| 8383 | |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8384 UInt32 |
|
80013
6de7ed8f6c1e
[MAC_OSX] (fn_keycode_to_keycode_table): Add more entries
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
79897
diff
changeset
|
8385 mac_mapped_modifiers (modifiers, key_code) |
|
6de7ed8f6c1e
[MAC_OSX] (fn_keycode_to_keycode_table): Add more entries
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
79897
diff
changeset
|
8386 UInt32 modifiers, key_code; |
|
75156
a567ccd9c91c
(XDrawLine): Rename from mac_draw_line_to_pixmap.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
75100
diff
changeset
|
8387 { |
|
a567ccd9c91c
(XDrawLine): Rename from mac_draw_line_to_pixmap.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
75100
diff
changeset
|
8388 UInt32 mapped_modifiers_all = |
|
a567ccd9c91c
(XDrawLine): Rename from mac_draw_line_to_pixmap.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
75100
diff
changeset
|
8389 (NILP (Vmac_control_modifier) ? 0 : controlKey) |
|
a567ccd9c91c
(XDrawLine): Rename from mac_draw_line_to_pixmap.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
75100
diff
changeset
|
8390 | (NILP (Vmac_option_modifier) ? 0 : optionKey) |
|
a567ccd9c91c
(XDrawLine): Rename from mac_draw_line_to_pixmap.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
75100
diff
changeset
|
8391 | (NILP (Vmac_command_modifier) ? 0 : cmdKey); |
|
a567ccd9c91c
(XDrawLine): Rename from mac_draw_line_to_pixmap.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
75100
diff
changeset
|
8392 |
|
a567ccd9c91c
(XDrawLine): Rename from mac_draw_line_to_pixmap.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
75100
diff
changeset
|
8393 #ifdef MAC_OSX |
|
a567ccd9c91c
(XDrawLine): Rename from mac_draw_line_to_pixmap.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
75100
diff
changeset
|
8394 mapped_modifiers_all |= |
|
a567ccd9c91c
(XDrawLine): Rename from mac_draw_line_to_pixmap.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
75100
diff
changeset
|
8395 (NILP (Vmac_function_modifier) ? 0 : kEventKeyModifierFnMask); |
|
80013
6de7ed8f6c1e
[MAC_OSX] (fn_keycode_to_keycode_table): Add more entries
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
79897
diff
changeset
|
8396 |
|
6de7ed8f6c1e
[MAC_OSX] (fn_keycode_to_keycode_table): Add more entries
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
79897
diff
changeset
|
8397 /* The meaning of kEventKeyModifierFnMask has changed in Mac OS X |
|
6de7ed8f6c1e
[MAC_OSX] (fn_keycode_to_keycode_table): Add more entries
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
79897
diff
changeset
|
8398 10.5, and it now behaves much like Cocoa's NSFunctionKeyMask. It |
|
6de7ed8f6c1e
[MAC_OSX] (fn_keycode_to_keycode_table): Add more entries
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
79897
diff
changeset
|
8399 no longer means laptop's `fn' key is down for the following keys: |
|
6de7ed8f6c1e
[MAC_OSX] (fn_keycode_to_keycode_table): Add more entries
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
79897
diff
changeset
|
8400 F1, F2, and so on, Help, Forward Delete, Home, End, Page Up, Page |
|
6de7ed8f6c1e
[MAC_OSX] (fn_keycode_to_keycode_table): Add more entries
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
79897
diff
changeset
|
8401 Down, the arrow keys, and Clear. We ignore the corresponding bit |
|
6de7ed8f6c1e
[MAC_OSX] (fn_keycode_to_keycode_table): Add more entries
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
79897
diff
changeset
|
8402 if that key can be entered without the `fn' key on laptops. */ |
|
6de7ed8f6c1e
[MAC_OSX] (fn_keycode_to_keycode_table): Add more entries
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
79897
diff
changeset
|
8403 if (modifiers & kEventKeyModifierFnMask |
|
6de7ed8f6c1e
[MAC_OSX] (fn_keycode_to_keycode_table): Add more entries
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
79897
diff
changeset
|
8404 && key_code <= 0x7f |
|
6de7ed8f6c1e
[MAC_OSX] (fn_keycode_to_keycode_table): Add more entries
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
79897
diff
changeset
|
8405 && fn_keycode_to_keycode_table[key_code] == key_code) |
|
6de7ed8f6c1e
[MAC_OSX] (fn_keycode_to_keycode_table): Add more entries
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
79897
diff
changeset
|
8406 modifiers &= ~kEventKeyModifierFnMask; |
|
75156
a567ccd9c91c
(XDrawLine): Rename from mac_draw_line_to_pixmap.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
75100
diff
changeset
|
8407 #endif |
|
a567ccd9c91c
(XDrawLine): Rename from mac_draw_line_to_pixmap.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
75100
diff
changeset
|
8408 |
|
a567ccd9c91c
(XDrawLine): Rename from mac_draw_line_to_pixmap.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
75100
diff
changeset
|
8409 return mapped_modifiers_all & modifiers; |
|
a567ccd9c91c
(XDrawLine): Rename from mac_draw_line_to_pixmap.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
75100
diff
changeset
|
8410 } |
|
a567ccd9c91c
(XDrawLine): Rename from mac_draw_line_to_pixmap.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
75100
diff
changeset
|
8411 |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8412 int |
|
53956
922b1cbf208b
(Vmac_emulate_three_button_mouse): New variable for
Steven Tamm <steventamm@mac.com>
parents:
53935
diff
changeset
|
8413 mac_get_emulated_btn ( UInt32 modifiers ) |
|
922b1cbf208b
(Vmac_emulate_three_button_mouse): New variable for
Steven Tamm <steventamm@mac.com>
parents:
53935
diff
changeset
|
8414 { |
|
922b1cbf208b
(Vmac_emulate_three_button_mouse): New variable for
Steven Tamm <steventamm@mac.com>
parents:
53935
diff
changeset
|
8415 int result = 0; |
|
55583
21f88361795c
Various fixes to support USE_LSB_TAG with carbon emacs. Mostly fixing
Steven Tamm <steventamm@mac.com>
parents:
55539
diff
changeset
|
8416 if (!NILP (Vmac_emulate_three_button_mouse)) { |
|
21f88361795c
Various fixes to support USE_LSB_TAG with carbon emacs. Mostly fixing
Steven Tamm <steventamm@mac.com>
parents:
55539
diff
changeset
|
8417 int cmdIs3 = !EQ (Vmac_emulate_three_button_mouse, Qreverse); |
|
56277
fd126130c3cd
macterm.c (mac_get_emulated_btn)
Steven Tamm <steventamm@mac.com>
parents:
56271
diff
changeset
|
8418 if (modifiers & cmdKey) |
|
53956
922b1cbf208b
(Vmac_emulate_three_button_mouse): New variable for
Steven Tamm <steventamm@mac.com>
parents:
53935
diff
changeset
|
8419 result = cmdIs3 ? 2 : 1; |
|
922b1cbf208b
(Vmac_emulate_three_button_mouse): New variable for
Steven Tamm <steventamm@mac.com>
parents:
53935
diff
changeset
|
8420 else if (modifiers & optionKey) |
|
55025
5cbecea4d4ad
(x_draw_relief_rect): Add top_p and bot_p args.
Kim F. Storm <storm@cua.dk>
parents:
54366
diff
changeset
|
8421 result = cmdIs3 ? 1 : 2; |
|
53956
922b1cbf208b
(Vmac_emulate_three_button_mouse): New variable for
Steven Tamm <steventamm@mac.com>
parents:
53935
diff
changeset
|
8422 } |
|
922b1cbf208b
(Vmac_emulate_three_button_mouse): New variable for
Steven Tamm <steventamm@mac.com>
parents:
53935
diff
changeset
|
8423 return result; |
|
922b1cbf208b
(Vmac_emulate_three_button_mouse): New variable for
Steven Tamm <steventamm@mac.com>
parents:
53935
diff
changeset
|
8424 } |
|
922b1cbf208b
(Vmac_emulate_three_button_mouse): New variable for
Steven Tamm <steventamm@mac.com>
parents:
53935
diff
changeset
|
8425 |
|
80519
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8426 #ifdef MAC_OSX |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8427 void |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8428 mac_get_selected_range (w, range) |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8429 struct window *w; |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8430 CFRange *range; |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8431 { |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8432 Lisp_Object overlay = find_symbol_value (Qmouse_drag_overlay); |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8433 struct buffer *b = XBUFFER (w->buffer); |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8434 int begv = BUF_BEGV (b), zv = BUF_ZV (b); |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8435 int start, end; |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8436 |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8437 if (OVERLAYP (overlay) |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8438 && EQ (Foverlay_buffer (overlay), w->buffer) |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8439 && (start = XINT (Foverlay_start (overlay)), |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8440 end = XINT (Foverlay_end (overlay)), |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8441 start != end)) |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8442 ; |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8443 else |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8444 { |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8445 if (w == XWINDOW (selected_window) && b == current_buffer) |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8446 start = PT; |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8447 else |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8448 start = marker_position (w->pointm); |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8449 |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8450 if (NILP (Vtransient_mark_mode) || NILP (b->mark_active)) |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8451 end = start; |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8452 else |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8453 { |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8454 int mark_pos = marker_position (b->mark); |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8455 |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8456 if (start <= mark_pos) |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8457 end = mark_pos; |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8458 else |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8459 { |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8460 end = start; |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8461 start = mark_pos; |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8462 } |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8463 } |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8464 } |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8465 |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8466 if (start != end) |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8467 { |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8468 if (start < begv) |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8469 start = begv; |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8470 else if (start > zv) |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8471 start = zv; |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8472 |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8473 if (end < begv) |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8474 end = begv; |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8475 else if (end > zv) |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8476 end = zv; |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8477 } |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8478 |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8479 range->location = start - begv; |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8480 range->length = end - start; |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8481 } |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8482 |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8483 /* Store the text of the buffer BUF from START to END as Unicode |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8484 characters in CHARACTERS. Return non-zero if successful. */ |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8485 |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8486 int |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8487 mac_store_buffer_text_to_unicode_chars (buf, start, end, characters) |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8488 struct buffer *buf; |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8489 int start, end; |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8490 UniChar *characters; |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8491 { |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8492 int start_byte, end_byte, char_count, byte_count; |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8493 struct coding_system coding; |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8494 unsigned char *dst = (unsigned char *) characters; |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8495 |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8496 start_byte = buf_charpos_to_bytepos (buf, start); |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8497 end_byte = buf_charpos_to_bytepos (buf, end); |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8498 char_count = end - start; |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8499 byte_count = end_byte - start_byte; |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8500 |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8501 if (setup_coding_system ( |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8502 #ifdef WORDS_BIG_ENDIAN |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8503 intern ("utf-16be") |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8504 #else |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8505 intern ("utf-16le") |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8506 #endif |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8507 , &coding) < 0) |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8508 return 0; |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8509 |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8510 coding.src_multibyte = !NILP (buf->enable_multibyte_characters); |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8511 coding.dst_multibyte = 0; |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8512 coding.mode |= CODING_MODE_LAST_BLOCK; |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8513 coding.composing = COMPOSITION_DISABLED; |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8514 |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8515 if (BUF_GPT_BYTE (buf) <= start_byte || end_byte <= BUF_GPT_BYTE (buf)) |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8516 encode_coding (&coding, BUF_BYTE_ADDRESS (buf, start_byte), dst, |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8517 byte_count, char_count * sizeof (UniChar)); |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8518 else |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8519 { |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8520 int first_byte_count = BUF_GPT_BYTE (buf) - start_byte; |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8521 |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8522 encode_coding (&coding, BUF_BYTE_ADDRESS (buf, start_byte), dst, |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8523 first_byte_count, char_count * sizeof (UniChar)); |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8524 if (coding.result == CODING_FINISH_NORMAL) |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8525 encode_coding (&coding, |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8526 BUF_BYTE_ADDRESS (buf, start_byte + first_byte_count), |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8527 dst + coding.produced, |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8528 byte_count - first_byte_count, |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8529 char_count * sizeof (UniChar) - coding.produced); |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8530 } |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8531 |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8532 if (coding.result != CODING_FINISH_NORMAL) |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8533 return 0; |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8534 |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8535 return 1; |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8536 } |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8537 |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8538 void |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8539 mac_ax_selected_text_range (f, range) |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8540 struct frame *f; |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8541 CFRange *range; |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8542 { |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8543 mac_get_selected_range (XWINDOW (f->selected_window), range); |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8544 } |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8545 |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8546 #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030 |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8547 unsigned int |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8548 mac_ax_number_of_characters (f) |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8549 struct frame *f; |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8550 { |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8551 struct buffer *b = XBUFFER (XWINDOW (f->selected_window)->buffer); |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8552 |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8553 return BUF_ZV (b) - BUF_BEGV (b); |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8554 } |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8555 #endif |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8556 #endif |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
8557 |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8558 #if USE_MAC_TSM |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8559 OSStatus |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8560 mac_restore_keyboard_input_source () |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8561 { |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8562 OSStatus err = noErr; |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8563 ScriptLanguageRecord slrec, *slptr = NULL; |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8564 |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8565 if (EQ (Vmac_ts_script_language_on_focus, Qt) |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8566 && EQ (saved_ts_script_language_on_focus, Qt)) |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8567 slptr = &saved_ts_language; |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8568 else if (CONSP (Vmac_ts_script_language_on_focus) |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8569 && INTEGERP (XCAR (Vmac_ts_script_language_on_focus)) |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8570 && INTEGERP (XCDR (Vmac_ts_script_language_on_focus)) |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8571 && CONSP (saved_ts_script_language_on_focus) |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8572 && EQ (XCAR (saved_ts_script_language_on_focus), |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8573 XCAR (Vmac_ts_script_language_on_focus)) |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8574 && EQ (XCDR (saved_ts_script_language_on_focus), |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8575 XCDR (Vmac_ts_script_language_on_focus))) |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8576 { |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8577 slrec.fScript = XINT (XCAR (Vmac_ts_script_language_on_focus)); |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8578 slrec.fLanguage = XINT (XCDR (Vmac_ts_script_language_on_focus)); |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8579 slptr = &slrec; |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8580 } |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8581 |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8582 if (slptr) |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8583 { |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8584 #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1020 |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8585 err = SetDefaultInputMethodOfClass (saved_ts_component, slptr, |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8586 kKeyboardInputMethodClass); |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8587 #else |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8588 err = SetDefaultInputMethod (saved_ts_component, slptr); |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8589 #endif |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8590 if (err == noErr) |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8591 err = SetTextServiceLanguage (slptr); |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8592 |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8593 /* Seems to be needed on Mac OS X 10.2. */ |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8594 if (err == noErr) |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8595 KeyScript (slptr->fScript | smKeyForceKeyScriptMask); |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8596 } |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8597 |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8598 return err; |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8599 } |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8600 |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8601 void |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8602 mac_save_keyboard_input_source () |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8603 { |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8604 OSStatus err; |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8605 ScriptLanguageRecord slrec, *slptr = NULL; |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8606 |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8607 saved_ts_script_language_on_focus = Vmac_ts_script_language_on_focus; |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8608 |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8609 if (EQ (Vmac_ts_script_language_on_focus, Qt)) |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8610 { |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8611 err = GetTextServiceLanguage (&saved_ts_language); |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8612 if (err == noErr) |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8613 slptr = &saved_ts_language; |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8614 } |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8615 else if (CONSP (Vmac_ts_script_language_on_focus) |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8616 && INTEGERP (XCAR (Vmac_ts_script_language_on_focus)) |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8617 && INTEGERP (XCDR (Vmac_ts_script_language_on_focus))) |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8618 { |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8619 slrec.fScript = XINT (XCAR (Vmac_ts_script_language_on_focus)); |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8620 slrec.fLanguage = XINT (XCDR (Vmac_ts_script_language_on_focus)); |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8621 slptr = &slrec; |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8622 } |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8623 |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8624 if (slptr) |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8625 { |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8626 #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1020 |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8627 GetDefaultInputMethodOfClass (&saved_ts_component, slptr, |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8628 kKeyboardInputMethodClass); |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8629 #else |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8630 GetDefaultInputMethod (&saved_ts_component, slptr); |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8631 #endif |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8632 } |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8633 } |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8634 #endif |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8635 |
|
75200
659905f1c3a4
(x_free_frame_resources) [USE_CG_DRAWING]: Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
75156
diff
changeset
|
8636 #if TARGET_API_MAC_CARBON |
|
659905f1c3a4
(x_free_frame_resources) [USE_CG_DRAWING]: Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
75156
diff
changeset
|
8637 /***** Code to handle C-g testing *****/ |
|
659905f1c3a4
(x_free_frame_resources) [USE_CG_DRAWING]: Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
75156
diff
changeset
|
8638 extern int quit_char; |
|
659905f1c3a4
(x_free_frame_resources) [USE_CG_DRAWING]: Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
75156
diff
changeset
|
8639 extern int make_ctrl_char P_ ((int)); |
|
659905f1c3a4
(x_free_frame_resources) [USE_CG_DRAWING]: Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
75156
diff
changeset
|
8640 |
|
659905f1c3a4
(x_free_frame_resources) [USE_CG_DRAWING]: Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
75156
diff
changeset
|
8641 int |
|
659905f1c3a4
(x_free_frame_resources) [USE_CG_DRAWING]: Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
75156
diff
changeset
|
8642 mac_quit_char_key_p (modifiers, key_code) |
|
659905f1c3a4
(x_free_frame_resources) [USE_CG_DRAWING]: Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
75156
diff
changeset
|
8643 UInt32 modifiers, key_code; |
|
659905f1c3a4
(x_free_frame_resources) [USE_CG_DRAWING]: Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
75156
diff
changeset
|
8644 { |
|
80013
6de7ed8f6c1e
[MAC_OSX] (fn_keycode_to_keycode_table): Add more entries
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
79897
diff
changeset
|
8645 UInt32 char_code, mapped_modifiers; |
|
75200
659905f1c3a4
(x_free_frame_resources) [USE_CG_DRAWING]: Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
75156
diff
changeset
|
8646 unsigned long some_state = 0; |
|
659905f1c3a4
(x_free_frame_resources) [USE_CG_DRAWING]: Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
75156
diff
changeset
|
8647 Ptr kchr_ptr = (Ptr) GetScriptManagerVariable (smKCHRCache); |
|
659905f1c3a4
(x_free_frame_resources) [USE_CG_DRAWING]: Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
75156
diff
changeset
|
8648 int c, emacs_modifiers; |
|
659905f1c3a4
(x_free_frame_resources) [USE_CG_DRAWING]: Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
75156
diff
changeset
|
8649 |
|
659905f1c3a4
(x_free_frame_resources) [USE_CG_DRAWING]: Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
75156
diff
changeset
|
8650 /* Mask off modifier keys that are mapped to some Emacs modifiers. */ |
|
80013
6de7ed8f6c1e
[MAC_OSX] (fn_keycode_to_keycode_table): Add more entries
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
79897
diff
changeset
|
8651 mapped_modifiers = mac_mapped_modifiers (modifiers, key_code); |
|
6de7ed8f6c1e
[MAC_OSX] (fn_keycode_to_keycode_table): Add more entries
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
79897
diff
changeset
|
8652 key_code |= (modifiers & ~mapped_modifiers); |
|
75200
659905f1c3a4
(x_free_frame_resources) [USE_CG_DRAWING]: Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
75156
diff
changeset
|
8653 char_code = KeyTranslate (kchr_ptr, key_code, &some_state); |
|
659905f1c3a4
(x_free_frame_resources) [USE_CG_DRAWING]: Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
75156
diff
changeset
|
8654 if (char_code & ~0xff) |
|
659905f1c3a4
(x_free_frame_resources) [USE_CG_DRAWING]: Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
75156
diff
changeset
|
8655 return 0; |
|
659905f1c3a4
(x_free_frame_resources) [USE_CG_DRAWING]: Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
75156
diff
changeset
|
8656 |
|
80020
5b2a1921a62f
(mac_to_emacs_modifiers): New argument UNMAPPED_MODS.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80013
diff
changeset
|
8657 emacs_modifiers = mac_to_emacs_modifiers (mapped_modifiers, modifiers); |
|
75200
659905f1c3a4
(x_free_frame_resources) [USE_CG_DRAWING]: Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
75156
diff
changeset
|
8658 if (emacs_modifiers & ctrl_modifier) |
|
659905f1c3a4
(x_free_frame_resources) [USE_CG_DRAWING]: Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
75156
diff
changeset
|
8659 c = make_ctrl_char (char_code); |
|
659905f1c3a4
(x_free_frame_resources) [USE_CG_DRAWING]: Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
75156
diff
changeset
|
8660 |
|
659905f1c3a4
(x_free_frame_resources) [USE_CG_DRAWING]: Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
75156
diff
changeset
|
8661 c |= (emacs_modifiers |
|
659905f1c3a4
(x_free_frame_resources) [USE_CG_DRAWING]: Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
75156
diff
changeset
|
8662 & (meta_modifier | alt_modifier |
|
659905f1c3a4
(x_free_frame_resources) [USE_CG_DRAWING]: Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
75156
diff
changeset
|
8663 | hyper_modifier | super_modifier)); |
|
659905f1c3a4
(x_free_frame_resources) [USE_CG_DRAWING]: Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
75156
diff
changeset
|
8664 |
|
659905f1c3a4
(x_free_frame_resources) [USE_CG_DRAWING]: Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
75156
diff
changeset
|
8665 return c == quit_char; |
|
659905f1c3a4
(x_free_frame_resources) [USE_CG_DRAWING]: Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
75156
diff
changeset
|
8666 } |
|
659905f1c3a4
(x_free_frame_resources) [USE_CG_DRAWING]: Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
75156
diff
changeset
|
8667 #endif |
|
659905f1c3a4
(x_free_frame_resources) [USE_CG_DRAWING]: Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
75156
diff
changeset
|
8668 |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8669 static void |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8670 mac_set_unicode_keystroke_event (code, buf) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8671 UniChar code; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8672 struct input_event *buf; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8673 { |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8674 int charset_id, c1, c2; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8675 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8676 if (code < 0x80) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8677 { |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8678 buf->kind = ASCII_KEYSTROKE_EVENT; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8679 buf->code = code; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8680 } |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8681 else if (code < 0x100) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8682 { |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8683 if (code < 0xA0) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8684 charset_id = CHARSET_8_BIT_CONTROL; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8685 else |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8686 charset_id = charset_latin_iso8859_1; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8687 buf->kind = MULTIBYTE_CHAR_KEYSTROKE_EVENT; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8688 buf->code = MAKE_CHAR (charset_id, code, 0); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8689 } |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8690 else |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8691 { |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8692 if (code < 0x2500) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8693 charset_id = charset_mule_unicode_0100_24ff, |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8694 code -= 0x100; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8695 else if (code < 0x33FF) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8696 charset_id = charset_mule_unicode_2500_33ff, |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8697 code -= 0x2500; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8698 else if (code >= 0xE000) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8699 charset_id = charset_mule_unicode_e000_ffff, |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8700 code -= 0xE000; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8701 c1 = (code / 96) + 32, c2 = (code % 96) + 32; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8702 buf->kind = MULTIBYTE_CHAR_KEYSTROKE_EVENT; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8703 buf->code = MAKE_CHAR (charset_id, c1, c2); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8704 } |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8705 } |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8706 |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8707 void |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8708 do_keystroke (action, char_code, key_code, modifiers, timestamp, buf) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8709 EventKind action; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8710 unsigned char char_code; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8711 UInt32 key_code, modifiers; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8712 unsigned long timestamp; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8713 struct input_event *buf; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8714 { |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8715 static SInt16 last_key_script = -1; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8716 SInt16 current_key_script = GetScriptManagerVariable (smKeyScript); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8717 UInt32 mapped_modifiers = mac_mapped_modifiers (modifiers, key_code); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8718 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8719 #ifdef MAC_OSX |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8720 if (mapped_modifiers & kEventKeyModifierFnMask |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8721 && key_code <= 0x7f |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8722 && fn_keycode_to_keycode_table[key_code]) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8723 key_code = fn_keycode_to_keycode_table[key_code]; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8724 #endif |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8725 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8726 if (key_code <= 0x7f && keycode_to_xkeysym_table[key_code]) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8727 { |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8728 buf->kind = NON_ASCII_KEYSTROKE_EVENT; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8729 buf->code = 0xff00 | keycode_to_xkeysym_table[key_code]; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8730 } |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8731 else if (mapped_modifiers) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8732 { |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8733 /* translate the keycode back to determine the original key */ |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8734 #ifdef MAC_OSX |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8735 UCKeyboardLayout *uchr_ptr = NULL; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8736 #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1020 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8737 OSStatus err; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8738 KeyboardLayoutRef layout; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8739 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8740 err = KLGetCurrentKeyboardLayout (&layout); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8741 if (err == noErr) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8742 err = KLGetKeyboardLayoutProperty (layout, kKLuchrData, |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8743 (const void **) &uchr_ptr); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8744 #else |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8745 static SInt16 last_key_layout_id = 0; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8746 static Handle uchr_handle = (Handle)-1; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8747 SInt16 current_key_layout_id = |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8748 GetScriptVariable (current_key_script, smScriptKeys); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8749 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8750 if (uchr_handle == (Handle)-1 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8751 || last_key_layout_id != current_key_layout_id) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8752 { |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8753 uchr_handle = GetResource ('uchr', current_key_layout_id); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8754 last_key_layout_id = current_key_layout_id; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8755 } |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8756 if (uchr_handle) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8757 uchr_ptr = (UCKeyboardLayout *)*uchr_handle; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8758 #endif |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8759 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8760 if (uchr_ptr) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8761 { |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8762 OSStatus status; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8763 UInt16 key_action = action - keyDown; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8764 UInt32 modifier_key_state = (modifiers & ~mapped_modifiers) >> 8; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8765 UInt32 keyboard_type = LMGetKbdType (); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8766 SInt32 dead_key_state = 0; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8767 UniChar code; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8768 UniCharCount actual_length; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8769 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8770 status = UCKeyTranslate (uchr_ptr, key_code, key_action, |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8771 modifier_key_state, keyboard_type, |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8772 kUCKeyTranslateNoDeadKeysMask, |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8773 &dead_key_state, |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8774 1, &actual_length, &code); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8775 if (status == noErr && actual_length == 1) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8776 mac_set_unicode_keystroke_event (code, buf); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8777 } |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8778 #endif /* MAC_OSX */ |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8779 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8780 if (buf->kind == NO_EVENT) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8781 { |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8782 /* This code comes from Keyboard Resource, Appendix C of IM |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8783 - Text. This is necessary since shift is ignored in KCHR |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8784 table translation when option or command is pressed. It |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8785 also does not translate correctly control-shift chars |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8786 like C-% so mask off shift here also. */ |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8787 /* Mask off modifier keys that are mapped to some Emacs |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8788 modifiers. */ |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8789 int new_modifiers = modifiers & ~mapped_modifiers; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8790 /* set high byte of keycode to modifier high byte*/ |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8791 int new_key_code = key_code | new_modifiers; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8792 Ptr kchr_ptr = (Ptr) GetScriptManagerVariable (smKCHRCache); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8793 unsigned long some_state = 0; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8794 UInt32 new_char_code; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8795 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8796 new_char_code = KeyTranslate (kchr_ptr, new_key_code, &some_state); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8797 if (new_char_code == 0) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8798 /* Seems like a dead key. Append up-stroke. */ |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8799 new_char_code = KeyTranslate (kchr_ptr, new_key_code | 0x80, |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8800 &some_state); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8801 if (new_char_code) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8802 { |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8803 buf->kind = ASCII_KEYSTROKE_EVENT; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8804 buf->code = new_char_code & 0xff; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8805 } |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8806 } |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8807 } |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8808 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8809 if (buf->kind == NO_EVENT) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8810 { |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8811 buf->kind = ASCII_KEYSTROKE_EVENT; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8812 buf->code = char_code; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8813 } |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8814 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8815 buf->modifiers = mac_to_emacs_modifiers (mapped_modifiers, modifiers); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8816 buf->modifiers |= (extra_keyboard_modifiers |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8817 & (meta_modifier | alt_modifier |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8818 | hyper_modifier | super_modifier)); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8819 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8820 #if TARGET_API_MAC_CARBON |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8821 if (buf->kind == ASCII_KEYSTROKE_EVENT |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8822 && buf->code >= 0x80 && buf->modifiers) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8823 { |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8824 OSStatus err; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8825 TextEncoding encoding = kTextEncodingMacRoman; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8826 TextToUnicodeInfo ttu_info; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8827 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8828 UpgradeScriptInfoToTextEncoding (current_key_script, |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8829 kTextLanguageDontCare, |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8830 kTextRegionDontCare, |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8831 NULL, &encoding); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8832 err = CreateTextToUnicodeInfoByEncoding (encoding, &ttu_info); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8833 if (err == noErr) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8834 { |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8835 UniChar code; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8836 Str255 pstr; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8837 ByteCount unicode_len; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8838 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8839 pstr[0] = 1; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8840 pstr[1] = buf->code; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8841 err = ConvertFromPStringToUnicode (ttu_info, pstr, |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8842 sizeof (UniChar), |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8843 &unicode_len, &code); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8844 if (err == noErr && unicode_len == sizeof (UniChar)) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8845 mac_set_unicode_keystroke_event (code, buf); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8846 DisposeTextToUnicodeInfo (&ttu_info); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8847 } |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8848 } |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8849 #endif |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8850 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8851 if (buf->kind == ASCII_KEYSTROKE_EVENT |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8852 && buf->code >= 0x80 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8853 && last_key_script != current_key_script) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8854 { |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8855 struct input_event event; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8856 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8857 EVENT_INIT (event); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8858 event.kind = LANGUAGE_CHANGE_EVENT; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8859 event.arg = Qnil; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8860 event.code = current_key_script; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8861 event.timestamp = timestamp; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8862 kbd_buffer_store_event (&event); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8863 last_key_script = current_key_script; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8864 } |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8865 } |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8866 |
|
70384
a5899b40fd69
(XTread_socket) [TARGET_API_MAC_CARBON]: Try window
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70304
diff
changeset
|
8867 void |
|
67458
e6e566aad553
(Qmac_ready_for_drag_n_drop, Qapplication, Qabout)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67101
diff
changeset
|
8868 mac_store_apple_event (class, id, desc) |
|
e6e566aad553
(Qmac_ready_for_drag_n_drop, Qapplication, Qabout)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67101
diff
changeset
|
8869 Lisp_Object class, id; |
|
e6e566aad553
(Qmac_ready_for_drag_n_drop, Qapplication, Qabout)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67101
diff
changeset
|
8870 const AEDesc *desc; |
|
e6e566aad553
(Qmac_ready_for_drag_n_drop, Qapplication, Qabout)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67101
diff
changeset
|
8871 { |
|
61786
223bdb2c3b9a
(handling_window_update, terminate_flag): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61658
diff
changeset
|
8872 struct input_event buf; |
|
70384
a5899b40fd69
(XTread_socket) [TARGET_API_MAC_CARBON]: Try window
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70304
diff
changeset
|
8873 |
|
a5899b40fd69
(XTread_socket) [TARGET_API_MAC_CARBON]: Try window
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70304
diff
changeset
|
8874 EVENT_INIT (buf); |
|
a5899b40fd69
(XTread_socket) [TARGET_API_MAC_CARBON]: Try window
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70304
diff
changeset
|
8875 |
|
a5899b40fd69
(XTread_socket) [TARGET_API_MAC_CARBON]: Try window
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70304
diff
changeset
|
8876 buf.kind = MAC_APPLE_EVENT; |
|
a5899b40fd69
(XTread_socket) [TARGET_API_MAC_CARBON]: Try window
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70304
diff
changeset
|
8877 buf.x = class; |
|
a5899b40fd69
(XTread_socket) [TARGET_API_MAC_CARBON]: Try window
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70304
diff
changeset
|
8878 buf.y = id; |
|
a5899b40fd69
(XTread_socket) [TARGET_API_MAC_CARBON]: Try window
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70304
diff
changeset
|
8879 XSETFRAME (buf.frame_or_window, |
|
a5899b40fd69
(XTread_socket) [TARGET_API_MAC_CARBON]: Try window
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70304
diff
changeset
|
8880 mac_focus_frame (&one_mac_display_info)); |
|
a5899b40fd69
(XTread_socket) [TARGET_API_MAC_CARBON]: Try window
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70304
diff
changeset
|
8881 /* Now that Lisp object allocations are protected by BLOCK_INPUT, it |
|
a5899b40fd69
(XTread_socket) [TARGET_API_MAC_CARBON]: Try window
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70304
diff
changeset
|
8882 is safe to use them during read_socket_hook. */ |
|
a5899b40fd69
(XTread_socket) [TARGET_API_MAC_CARBON]: Try window
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70304
diff
changeset
|
8883 buf.arg = mac_aedesc_to_lisp (desc); |
|
a5899b40fd69
(XTread_socket) [TARGET_API_MAC_CARBON]: Try window
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70304
diff
changeset
|
8884 kbd_buffer_store_event (&buf); |
|
a5899b40fd69
(XTread_socket) [TARGET_API_MAC_CARBON]: Try window
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70304
diff
changeset
|
8885 } |
|
a5899b40fd69
(XTread_socket) [TARGET_API_MAC_CARBON]: Try window
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70304
diff
changeset
|
8886 |
|
a5899b40fd69
(XTread_socket) [TARGET_API_MAC_CARBON]: Try window
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70304
diff
changeset
|
8887 #if TARGET_API_MAC_CARBON |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8888 OSStatus |
|
70496
8b2250961fcc
(XLoadQueryFont) [USE_ATSUI]: Set FMFontFamily value
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70384
diff
changeset
|
8889 mac_store_event_ref_as_apple_event (class, id, class_key, id_key, |
|
8b2250961fcc
(XLoadQueryFont) [USE_ATSUI]: Set FMFontFamily value
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70384
diff
changeset
|
8890 event, num_params, names, types) |
|
8b2250961fcc
(XLoadQueryFont) [USE_ATSUI]: Set FMFontFamily value
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70384
diff
changeset
|
8891 AEEventClass class; |
|
8b2250961fcc
(XLoadQueryFont) [USE_ATSUI]: Set FMFontFamily value
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70384
diff
changeset
|
8892 AEEventID id; |
|
8b2250961fcc
(XLoadQueryFont) [USE_ATSUI]: Set FMFontFamily value
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70384
diff
changeset
|
8893 Lisp_Object class_key, id_key; |
|
8b2250961fcc
(XLoadQueryFont) [USE_ATSUI]: Set FMFontFamily value
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70384
diff
changeset
|
8894 EventRef event; |
|
8b2250961fcc
(XLoadQueryFont) [USE_ATSUI]: Set FMFontFamily value
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70384
diff
changeset
|
8895 UInt32 num_params; |
|
73575
c39e3aff703e
(mac_create_bitmap_from_bitmap_data): Make variable
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73385
diff
changeset
|
8896 const EventParamName *names; |
|
c39e3aff703e
(mac_create_bitmap_from_bitmap_data): Make variable
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73385
diff
changeset
|
8897 const EventParamType *types; |
|
70496
8b2250961fcc
(XLoadQueryFont) [USE_ATSUI]: Set FMFontFamily value
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70384
diff
changeset
|
8898 { |
|
8b2250961fcc
(XLoadQueryFont) [USE_ATSUI]: Set FMFontFamily value
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70384
diff
changeset
|
8899 OSStatus err = eventNotHandledErr; |
|
8b2250961fcc
(XLoadQueryFont) [USE_ATSUI]: Set FMFontFamily value
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70384
diff
changeset
|
8900 Lisp_Object binding; |
|
8b2250961fcc
(XLoadQueryFont) [USE_ATSUI]: Set FMFontFamily value
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70384
diff
changeset
|
8901 |
|
8b2250961fcc
(XLoadQueryFont) [USE_ATSUI]: Set FMFontFamily value
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70384
diff
changeset
|
8902 mac_find_apple_event_spec (class, id, &class_key, &id_key, &binding); |
|
8b2250961fcc
(XLoadQueryFont) [USE_ATSUI]: Set FMFontFamily value
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70384
diff
changeset
|
8903 if (!NILP (binding) && !EQ (binding, Qundefined)) |
|
8b2250961fcc
(XLoadQueryFont) [USE_ATSUI]: Set FMFontFamily value
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70384
diff
changeset
|
8904 { |
|
8b2250961fcc
(XLoadQueryFont) [USE_ATSUI]: Set FMFontFamily value
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70384
diff
changeset
|
8905 if (INTEGERP (binding)) |
|
8b2250961fcc
(XLoadQueryFont) [USE_ATSUI]: Set FMFontFamily value
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70384
diff
changeset
|
8906 err = XINT (binding); |
|
8b2250961fcc
(XLoadQueryFont) [USE_ATSUI]: Set FMFontFamily value
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70384
diff
changeset
|
8907 else |
|
8b2250961fcc
(XLoadQueryFont) [USE_ATSUI]: Set FMFontFamily value
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70384
diff
changeset
|
8908 { |
|
80515
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
8909 struct input_event buf; |
|
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
8910 |
|
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
8911 EVENT_INIT (buf); |
|
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
8912 |
|
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
8913 buf.kind = MAC_APPLE_EVENT; |
|
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
8914 buf.x = class_key; |
|
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
8915 buf.y = id_key; |
|
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
8916 XSETFRAME (buf.frame_or_window, |
|
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
8917 mac_focus_frame (&one_mac_display_info)); |
|
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
8918 /* Now that Lisp object allocations are protected by |
|
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
8919 BLOCK_INPUT, it is safe to use them during |
|
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
8920 read_socket_hook. */ |
|
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
8921 buf.arg = Fcons (build_string ("aevt"), |
|
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
8922 mac_event_parameters_to_lisp (event, num_params, |
|
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
8923 names, types)); |
|
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
8924 kbd_buffer_store_event (&buf); |
|
40c9fd5e0c63
(mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80455
diff
changeset
|
8925 mac_wakeup_from_rne (); |
|
80578
4c9dbee3f232
(mac_store_event_ref_as_apple_event)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80555
diff
changeset
|
8926 err = noErr; |
|
70496
8b2250961fcc
(XLoadQueryFont) [USE_ATSUI]: Set FMFontFamily value
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70384
diff
changeset
|
8927 } |
|
8b2250961fcc
(XLoadQueryFont) [USE_ATSUI]: Set FMFontFamily value
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70384
diff
changeset
|
8928 } |
|
8b2250961fcc
(XLoadQueryFont) [USE_ATSUI]: Set FMFontFamily value
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70384
diff
changeset
|
8929 |
|
8b2250961fcc
(XLoadQueryFont) [USE_ATSUI]: Set FMFontFamily value
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70384
diff
changeset
|
8930 return err; |
|
8b2250961fcc
(XLoadQueryFont) [USE_ATSUI]: Set FMFontFamily value
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70384
diff
changeset
|
8931 } |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8932 #endif /* TARGET_API_MAC_CARBON */ |
|
59146
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
8933 |
|
77167
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
8934 static pascal void |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
8935 mac_handle_dm_notification (event) |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
8936 AppleEvent *event; |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
8937 { |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
8938 mac_screen_config_changed = 1; |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
8939 } |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
8940 |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8941 #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8942 static void |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8943 mac_handle_cg_display_reconfig (display, flags, user_info) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8944 CGDirectDisplayID display; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8945 CGDisplayChangeSummaryFlags flags; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8946 void *user_info; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8947 { |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8948 mac_screen_config_changed = 1; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8949 } |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8950 #endif |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8951 |
|
77167
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
8952 static OSErr |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
8953 init_dm_notification_handler () |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
8954 { |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8955 OSErr err = noErr; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8956 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8957 #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8958 #if MAC_OS_X_VERSION_MIN_REQUIRED == 1020 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8959 if (CGDisplayRegisterReconfigurationCallback != NULL) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8960 #endif |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8961 { |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8962 CGDisplayRegisterReconfigurationCallback (mac_handle_cg_display_reconfig, |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8963 NULL); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8964 } |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8965 #if MAC_OS_X_VERSION_MIN_REQUIRED == 1020 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8966 else /* CGDisplayRegisterReconfigurationCallback == NULL */ |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8967 #endif |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8968 #endif /* MAC_OS_X_VERSION_MAX_ALLOWED >= 1030 */ |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8969 #if MAC_OS_X_VERSION_MAX_ALLOWED < 1030 || MAC_OS_X_VERSION_MIN_REQUIRED == 1020 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8970 { |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8971 static DMNotificationUPP handle_dm_notificationUPP = NULL; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8972 ProcessSerialNumber psn; |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8973 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8974 if (handle_dm_notificationUPP == NULL) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8975 handle_dm_notificationUPP = |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8976 NewDMNotificationUPP (mac_handle_dm_notification); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8977 |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8978 err = GetCurrentProcess (&psn); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8979 if (err == noErr) |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8980 err = DMRegisterNotifyProc (handle_dm_notificationUPP, &psn); |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8981 } |
|
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
8982 #endif |
|
77167
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
8983 |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
8984 return err; |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
8985 } |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
8986 |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
8987 void |
|
77167
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
8988 mac_get_screen_info (dpyinfo) |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
8989 struct mac_display_info *dpyinfo; |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
8990 { |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
8991 #ifdef MAC_OSX |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
8992 /* HasDepth returns true if it is possible to have a 32 bit display, |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
8993 but this may not be what is actually used. Mac OSX can do better. */ |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
8994 dpyinfo->color_p = CGDisplaySamplesPerPixel (kCGDirectMainDisplay) > 1; |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
8995 dpyinfo->n_planes = CGDisplayBitsPerPixel (kCGDirectMainDisplay); |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
8996 { |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
8997 CGDisplayErr err; |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
8998 CGDisplayCount ndisps; |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
8999 CGDirectDisplayID *displays; |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9000 |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9001 err = CGGetActiveDisplayList (0, NULL, &ndisps); |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9002 if (err == noErr) |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9003 { |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9004 displays = alloca (sizeof (CGDirectDisplayID) * ndisps); |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9005 err = CGGetActiveDisplayList (ndisps, displays, &ndisps); |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9006 } |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9007 if (err == noErr) |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9008 { |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9009 CGRect bounds = CGRectZero; |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9010 |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9011 while (ndisps-- > 0) |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9012 bounds = CGRectUnion (bounds, CGDisplayBounds (displays[ndisps])); |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9013 dpyinfo->height = CGRectGetHeight (bounds); |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9014 dpyinfo->width = CGRectGetWidth (bounds); |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9015 } |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9016 else |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9017 { |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9018 dpyinfo->height = CGDisplayPixelsHigh (kCGDirectMainDisplay); |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9019 dpyinfo->width = CGDisplayPixelsWide (kCGDirectMainDisplay); |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9020 } |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9021 } |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9022 #else /* !MAC_OSX */ |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9023 { |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9024 GDHandle gdh = GetMainDevice (); |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9025 Rect rect = (**gdh).gdRect; |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9026 |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9027 dpyinfo->color_p = TestDeviceAttribute (gdh, gdDevType); |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9028 for (dpyinfo->n_planes = 32; dpyinfo->n_planes > 0; dpyinfo->n_planes >>= 1) |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9029 if (HasDepth (gdh, dpyinfo->n_planes, gdDevType, dpyinfo->color_p)) |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9030 break; |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9031 |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9032 for (gdh = DMGetFirstScreenDevice (dmOnlyActiveDisplays); gdh; |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9033 gdh = DMGetNextScreenDevice (gdh, dmOnlyActiveDisplays)) |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9034 UnionRect (&rect, &(**gdh).gdRect, &rect); |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9035 |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9036 dpyinfo->height = rect.bottom - rect.top; |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9037 dpyinfo->width = rect.right - rect.left; |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9038 } |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9039 #endif /* !MAC_OSX */ |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9040 } |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9041 |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9042 |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9043 /*********************************************************************** |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9044 Initialization (Mac OS Classic) |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9045 ***********************************************************************/ |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9046 |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9047 #ifdef MAC_OS8 |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9048 extern void init_emacs_passwd_dir (); |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9049 extern int emacs_main (int, char **, char **); |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9050 |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9051 extern void initialize_applescript(); |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9052 extern void terminate_applescript(); |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9053 |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9054 static void |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9055 do_get_menus (void) |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9056 { |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9057 Handle menubar_handle; |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9058 MenuRef menu; |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9059 |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9060 menubar_handle = GetNewMBar (128); |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9061 if(menubar_handle == NULL) |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9062 abort (); |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9063 SetMenuBar (menubar_handle); |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9064 DrawMenuBar (); |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9065 |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9066 #if !TARGET_API_MAC_CARBON |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9067 menu = GetMenuRef (M_APPLE); |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9068 if (menu != NULL) |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9069 AppendResMenu (menu, 'DRVR'); |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9070 else |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9071 abort (); |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9072 #endif |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9073 } |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9074 |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9075 static void |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9076 do_init_managers (void) |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9077 { |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9078 #if !TARGET_API_MAC_CARBON |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9079 InitGraf (&qd.thePort); |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9080 InitFonts (); |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9081 FlushEvents (everyEvent, 0); |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9082 InitWindows (); |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9083 InitMenus (); |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9084 TEInit (); |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9085 InitDialogs (NULL); |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9086 #endif /* !TARGET_API_MAC_CARBON */ |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9087 InitCursor (); |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9088 |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9089 #if !TARGET_API_MAC_CARBON |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9090 /* set up some extra stack space for use by emacs */ |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9091 SetApplLimit ((Ptr) ((long) GetApplLimit () - EXTRA_STACK_ALLOC)); |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9092 |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9093 /* MaxApplZone must be called for AppleScript to execute more |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9094 complicated scripts */ |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9095 MaxApplZone (); |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9096 MoreMasters (); |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9097 #endif /* !TARGET_API_MAC_CARBON */ |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9098 } |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9099 |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9100 static void |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9101 do_check_ram_size (void) |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9102 { |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9103 SInt32 physical_ram_size, logical_ram_size; |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9104 |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9105 if (Gestalt (gestaltPhysicalRAMSize, &physical_ram_size) != noErr |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9106 || Gestalt (gestaltLogicalRAMSize, &logical_ram_size) != noErr |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9107 || physical_ram_size > (1 << VALBITS) |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9108 || logical_ram_size > (1 << VALBITS)) |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9109 { |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9110 StopAlert (RAM_TOO_LARGE_ALERT_ID, NULL); |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9111 exit (1); |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9112 } |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9113 } |
|
77167
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9114 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9115 #if __profile__ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9116 void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9117 profiler_exit_proc () |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9118 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9119 ProfilerDump ("\pEmacs.prof"); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9120 ProfilerTerm (); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9121 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9122 #endif |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9123 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9124 /* These few functions implement Emacs as a normal Mac application |
|
62281
9df01a686e3c
[USE_TOOLKIT_SCROLL_BARS] (get_control_part_bounds):
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
62103
diff
changeset
|
9125 (almost): set up the heap and the Toolbox, handle necessary system |
|
9df01a686e3c
[USE_TOOLKIT_SCROLL_BARS] (get_control_part_bounds):
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
62103
diff
changeset
|
9126 events plus a few simple menu events. They also set up Emacs's |
|
9df01a686e3c
[USE_TOOLKIT_SCROLL_BARS] (get_control_part_bounds):
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
62103
diff
changeset
|
9127 access to functions defined in the rest of this file. Emacs uses |
|
9df01a686e3c
[USE_TOOLKIT_SCROLL_BARS] (get_control_part_bounds):
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
62103
diff
changeset
|
9128 function hooks to perform all its terminal I/O. A complete list of |
|
9df01a686e3c
[USE_TOOLKIT_SCROLL_BARS] (get_control_part_bounds):
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
62103
diff
changeset
|
9129 these functions appear in termhooks.h. For what they do, read the |
|
9df01a686e3c
[USE_TOOLKIT_SCROLL_BARS] (get_control_part_bounds):
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
62103
diff
changeset
|
9130 comments there and see also w32term.c and xterm.c. What's |
|
9df01a686e3c
[USE_TOOLKIT_SCROLL_BARS] (get_control_part_bounds):
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
62103
diff
changeset
|
9131 noticeably missing here is the event loop, which is normally |
|
9df01a686e3c
[USE_TOOLKIT_SCROLL_BARS] (get_control_part_bounds):
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
62103
diff
changeset
|
9132 present in most Mac application. After performing the necessary |
|
9df01a686e3c
[USE_TOOLKIT_SCROLL_BARS] (get_control_part_bounds):
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
62103
diff
changeset
|
9133 Mac initializations, main passes off control to emacs_main |
|
9df01a686e3c
[USE_TOOLKIT_SCROLL_BARS] (get_control_part_bounds):
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
62103
diff
changeset
|
9134 (corresponding to main in emacs.c). Emacs_main calls XTread_socket |
|
9df01a686e3c
[USE_TOOLKIT_SCROLL_BARS] (get_control_part_bounds):
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
62103
diff
changeset
|
9135 (defined further below) to read input. This is where |
|
9df01a686e3c
[USE_TOOLKIT_SCROLL_BARS] (get_control_part_bounds):
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
62103
diff
changeset
|
9136 WaitNextEvent/ReceiveNextEvent is called to process Mac events. */ |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9137 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9138 #undef main |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
9139 int |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9140 main (void) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9141 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9142 #if __profile__ /* is the profiler on? */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9143 if (ProfilerInit(collectDetailed, bestTimeBase, 5000, 200)) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9144 exit(1); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9145 #endif |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9146 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9147 #if __MWERKS__ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9148 /* set creator and type for files created by MSL */ |
|
75100
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
9149 _fcreator = MAC_EMACS_CREATOR_CODE; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9150 _ftype = 'TEXT'; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9151 #endif |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9152 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9153 do_init_managers (); |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
9154 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9155 do_get_menus (); |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
9156 |
|
53651
c7d570b7ba42
(main) [USE_LSB_TAG]: Don't range check the ram.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
53606
diff
changeset
|
9157 #ifndef USE_LSB_TAG |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9158 do_check_ram_size (); |
|
53651
c7d570b7ba42
(main) [USE_LSB_TAG]: Don't range check the ram.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
53606
diff
changeset
|
9159 #endif |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9160 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9161 init_emacs_passwd_dir (); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9162 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9163 init_environ (); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9164 |
|
67788
114d965dfb60
Don't include sys/param.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67733
diff
changeset
|
9165 init_coercion_handler (); |
|
114d965dfb60
Don't include sys/param.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67733
diff
changeset
|
9166 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9167 initialize_applescript (); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9168 |
|
67458
e6e566aad553
(Qmac_ready_for_drag_n_drop, Qapplication, Qabout)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67101
diff
changeset
|
9169 init_apple_event_handler (); |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
9170 |
|
77167
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9171 init_dm_notification_handler (); |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9172 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9173 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9174 char **argv; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9175 int argc = 0; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9176 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9177 /* set up argv array from STR# resource */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9178 get_string_list (&argv, ARGV_STRING_LIST_ID); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9179 while (argv[argc]) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9180 argc++; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9181 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9182 /* free up AppleScript resources on exit */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9183 atexit (terminate_applescript); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9184 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9185 #if __profile__ /* is the profiler on? */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9186 atexit (profiler_exit_proc); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9187 #endif |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9188 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9189 /* 3rd param "envp" never used in emacs_main */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9190 (void) emacs_main (argc, argv, 0); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9191 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9192 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9193 /* Never reached - real exit in Fkill_emacs */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9194 return 0; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9195 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9196 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9197 /* Need to override CodeWarrior's input function so no conversion is |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9198 done on newlines Otherwise compiled functions in .elc files will be |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9199 read incorrectly. Defined in ...:MSL C:MSL |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9200 Common:Source:buffer_io.c. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9201 #ifdef __MWERKS__ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9202 void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9203 __convert_to_newlines (unsigned char * p, size_t * n) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9204 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9205 #pragma unused(p,n) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9206 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9207 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9208 void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9209 __convert_from_newlines (unsigned char * p, size_t * n) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9210 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9211 #pragma unused(p,n) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9212 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9213 #endif |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9214 |
| 47634 | 9215 void |
| 9216 make_mac_terminal_frame (struct frame *f) | |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9217 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9218 Lisp_Object frame; |
|
59146
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9219 Rect r; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9220 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9221 XSETFRAME (frame, f); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9222 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9223 f->output_method = output_mac; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9224 f->output_data.mac = (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
|
9225 xmalloc (sizeof (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
|
9226 bzero (f->output_data.mac, sizeof (struct mac_output)); |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
9227 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9228 XSETFRAME (FRAME_KBOARD (f)->Vdefault_minibuffer_frame, f); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9229 |
|
51198
f8e097cae353
Make (several) trivial substitutions for renamed and
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
9230 FRAME_COLS (f) = 96; |
|
f8e097cae353
Make (several) trivial substitutions for renamed and
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
9231 FRAME_LINES (f) = 4; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9232 |
|
53722
4f64eb1ea148
Move setting of scroll bars from make_mac_frame to
Steven Tamm <steventamm@mac.com>
parents:
53651
diff
changeset
|
9233 FRAME_CAN_HAVE_SCROLL_BARS (f) = 1; |
|
4f64eb1ea148
Move setting of scroll bars from make_mac_frame to
Steven Tamm <steventamm@mac.com>
parents:
53651
diff
changeset
|
9234 FRAME_VERTICAL_SCROLL_BAR_TYPE (f) = vertical_scroll_bar_right; |
|
4f64eb1ea148
Move setting of scroll bars from make_mac_frame to
Steven Tamm <steventamm@mac.com>
parents:
53651
diff
changeset
|
9235 |
|
55851
f1d6a507dcfd
Support Tooltips with the Carbon emacs port.
Steven Tamm <steventamm@mac.com>
parents:
55583
diff
changeset
|
9236 FRAME_DESIRED_CURSOR (f) = FILLED_BOX_CURSOR; |
|
f1d6a507dcfd
Support Tooltips with the Carbon emacs port.
Steven Tamm <steventamm@mac.com>
parents:
55583
diff
changeset
|
9237 |
|
f1d6a507dcfd
Support Tooltips with the Carbon emacs port.
Steven Tamm <steventamm@mac.com>
parents:
55583
diff
changeset
|
9238 f->output_data.mac->cursor_pixel = 0; |
|
f1d6a507dcfd
Support Tooltips with the Carbon emacs port.
Steven Tamm <steventamm@mac.com>
parents:
55583
diff
changeset
|
9239 f->output_data.mac->border_pixel = 0x00ff00; |
|
f1d6a507dcfd
Support Tooltips with the Carbon emacs port.
Steven Tamm <steventamm@mac.com>
parents:
55583
diff
changeset
|
9240 f->output_data.mac->mouse_pixel = 0xff00ff; |
|
f1d6a507dcfd
Support Tooltips with the Carbon emacs port.
Steven Tamm <steventamm@mac.com>
parents:
55583
diff
changeset
|
9241 f->output_data.mac->cursor_foreground_pixel = 0x0000ff; |
|
f1d6a507dcfd
Support Tooltips with the Carbon emacs port.
Steven Tamm <steventamm@mac.com>
parents:
55583
diff
changeset
|
9242 |
|
60364
de784812b4d4
[TARGET_API_MAC_CARBON && !MAC_OSX]: Define USE_CARBON_EVENTS to 1.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
59899
diff
changeset
|
9243 f->output_data.mac->text_cursor = kThemeIBeamCursor; |
|
de784812b4d4
[TARGET_API_MAC_CARBON && !MAC_OSX]: Define USE_CARBON_EVENTS to 1.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
59899
diff
changeset
|
9244 f->output_data.mac->nontext_cursor = kThemeArrowCursor; |
|
de784812b4d4
[TARGET_API_MAC_CARBON && !MAC_OSX]: Define USE_CARBON_EVENTS to 1.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
59899
diff
changeset
|
9245 f->output_data.mac->modeline_cursor = kThemeArrowCursor; |
|
de784812b4d4
[TARGET_API_MAC_CARBON && !MAC_OSX]: Define USE_CARBON_EVENTS to 1.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
59899
diff
changeset
|
9246 f->output_data.mac->hand_cursor = kThemePointingHandCursor; |
|
de784812b4d4
[TARGET_API_MAC_CARBON && !MAC_OSX]: Define USE_CARBON_EVENTS to 1.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
59899
diff
changeset
|
9247 f->output_data.mac->hourglass_cursor = kThemeWatchCursor; |
|
de784812b4d4
[TARGET_API_MAC_CARBON && !MAC_OSX]: Define USE_CARBON_EVENTS to 1.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
59899
diff
changeset
|
9248 f->output_data.mac->horizontal_drag_cursor = kThemeResizeLeftRightCursor; |
|
59146
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9249 |
|
55851
f1d6a507dcfd
Support Tooltips with the Carbon emacs port.
Steven Tamm <steventamm@mac.com>
parents:
55583
diff
changeset
|
9250 FRAME_FONTSET (f) = -1; |
|
f1d6a507dcfd
Support Tooltips with the Carbon emacs port.
Steven Tamm <steventamm@mac.com>
parents:
55583
diff
changeset
|
9251 f->output_data.mac->explicit_parent = 0; |
|
59146
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9252 f->left_pos = 8; |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9253 f->top_pos = 32; |
|
55851
f1d6a507dcfd
Support Tooltips with the Carbon emacs port.
Steven Tamm <steventamm@mac.com>
parents:
55583
diff
changeset
|
9254 f->border_width = 0; |
|
f1d6a507dcfd
Support Tooltips with the Carbon emacs port.
Steven Tamm <steventamm@mac.com>
parents:
55583
diff
changeset
|
9255 |
|
f1d6a507dcfd
Support Tooltips with the Carbon emacs port.
Steven Tamm <steventamm@mac.com>
parents:
55583
diff
changeset
|
9256 f->internal_border_width = 0; |
|
f1d6a507dcfd
Support Tooltips with the Carbon emacs port.
Steven Tamm <steventamm@mac.com>
parents:
55583
diff
changeset
|
9257 |
|
f1d6a507dcfd
Support Tooltips with the Carbon emacs port.
Steven Tamm <steventamm@mac.com>
parents:
55583
diff
changeset
|
9258 f->auto_raise = 1; |
|
f1d6a507dcfd
Support Tooltips with the Carbon emacs port.
Steven Tamm <steventamm@mac.com>
parents:
55583
diff
changeset
|
9259 f->auto_lower = 1; |
|
f1d6a507dcfd
Support Tooltips with the Carbon emacs port.
Steven Tamm <steventamm@mac.com>
parents:
55583
diff
changeset
|
9260 |
|
f1d6a507dcfd
Support Tooltips with the Carbon emacs port.
Steven Tamm <steventamm@mac.com>
parents:
55583
diff
changeset
|
9261 f->new_text_cols = 0; |
|
f1d6a507dcfd
Support Tooltips with the Carbon emacs port.
Steven Tamm <steventamm@mac.com>
parents:
55583
diff
changeset
|
9262 f->new_text_lines = 0; |
|
f1d6a507dcfd
Support Tooltips with the Carbon emacs port.
Steven Tamm <steventamm@mac.com>
parents:
55583
diff
changeset
|
9263 |
|
59146
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9264 SetRect (&r, f->left_pos, f->top_pos, |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9265 f->left_pos + FRAME_PIXEL_WIDTH (f), |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9266 f->top_pos + FRAME_PIXEL_HEIGHT (f)); |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9267 |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9268 BLOCK_INPUT; |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9269 |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9270 if (!(FRAME_MAC_WINDOW (f) = |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9271 NewCWindow (NULL, &r, "\p", true, dBoxProc, |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
9272 (WindowRef) -1, 1, (long) f->output_data.mac))) |
|
59146
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9273 abort (); |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9274 /* so that update events can find this mac_output struct */ |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9275 f->output_data.mac->mFP = f; /* point back to emacs frame */ |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9276 |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9277 UNBLOCK_INPUT; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9278 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9279 x_make_gc (f); |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
9280 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9281 /* Need to be initialized for unshow_buffer in window.c. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9282 selected_window = f->selected_window; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9283 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9284 Fmodify_frame_parameters (frame, |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9285 Fcons (Fcons (Qfont, |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9286 build_string ("-*-monaco-medium-r-*--*-90-*-*-*-*-mac-roman")), Qnil)); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9287 Fmodify_frame_parameters (frame, |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9288 Fcons (Fcons (Qforeground_color, |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9289 build_string ("black")), Qnil)); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9290 Fmodify_frame_parameters (frame, |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9291 Fcons (Fcons (Qbackground_color, |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9292 build_string ("white")), Qnil)); |
|
59146
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9293 } |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9294 #endif /* MAC_OS8 */ |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9295 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9296 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9297 /*********************************************************************** |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9298 Initialization |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9299 ***********************************************************************/ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9300 |
|
77167
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9301 static int mac_initialized = 0; |
|
60635
e45b939c1d93
(x_list_fonts): FONT-LIST-CACHE is now cadr part of name_list_element.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
60623
diff
changeset
|
9302 |
|
e45b939c1d93
(x_list_fonts): FONT-LIST-CACHE is now cadr part of name_list_element.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
60623
diff
changeset
|
9303 static XrmDatabase |
|
59146
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9304 mac_make_rdb (xrm_option) |
|
73575
c39e3aff703e
(mac_create_bitmap_from_bitmap_data): Make variable
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
73385
diff
changeset
|
9305 const char *xrm_option; |
|
59146
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9306 { |
|
60635
e45b939c1d93
(x_list_fonts): FONT-LIST-CACHE is now cadr part of name_list_element.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
60623
diff
changeset
|
9307 XrmDatabase database; |
|
e45b939c1d93
(x_list_fonts): FONT-LIST-CACHE is now cadr part of name_list_element.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
60623
diff
changeset
|
9308 |
|
e45b939c1d93
(x_list_fonts): FONT-LIST-CACHE is now cadr part of name_list_element.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
60623
diff
changeset
|
9309 database = xrm_get_preference_database (NULL); |
|
e45b939c1d93
(x_list_fonts): FONT-LIST-CACHE is now cadr part of name_list_element.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
60623
diff
changeset
|
9310 if (xrm_option) |
|
e45b939c1d93
(x_list_fonts): FONT-LIST-CACHE is now cadr part of name_list_element.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
60623
diff
changeset
|
9311 xrm_merge_string_database (database, xrm_option); |
|
e45b939c1d93
(x_list_fonts): FONT-LIST-CACHE is now cadr part of name_list_element.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
60623
diff
changeset
|
9312 |
|
e45b939c1d93
(x_list_fonts): FONT-LIST-CACHE is now cadr part of name_list_element.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
60623
diff
changeset
|
9313 return database; |
|
59146
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9314 } |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9315 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9316 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
|
9317 mac_term_init (display_name, xrm_option, resource_name) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9318 Lisp_Object display_name; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9319 char *xrm_option; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9320 char *resource_name; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9321 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9322 struct mac_display_info *dpyinfo; |
|
59146
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9323 |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9324 BLOCK_INPUT; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9325 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9326 if (!mac_initialized) |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9327 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9328 mac_initialize (); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9329 mac_initialized = 1; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9330 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9331 |
|
59146
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9332 if (x_display_list) |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9333 error ("Sorry, this version can only handle one display"); |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9334 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9335 dpyinfo = &one_mac_display_info; |
|
77167
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9336 bzero (dpyinfo, sizeof (*dpyinfo)); |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9337 |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9338 #ifdef MAC_OSX |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9339 dpyinfo->mac_id_name |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9340 = (char *) xmalloc (SCHARS (Vinvocation_name) |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9341 + SCHARS (Vsystem_name) |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9342 + 2); |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9343 sprintf (dpyinfo->mac_id_name, "%s@%s", |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9344 SDATA (Vinvocation_name), SDATA (Vsystem_name)); |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9345 #else |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9346 dpyinfo->mac_id_name = (char *) xmalloc (strlen ("Mac Display") + 1); |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9347 strcpy (dpyinfo->mac_id_name, "Mac Display"); |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9348 #endif |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9349 |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9350 dpyinfo->reference_count = 0; |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9351 dpyinfo->resx = 72.0; |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9352 dpyinfo->resy = 72.0; |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9353 |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9354 mac_get_screen_info (dpyinfo); |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9355 |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9356 dpyinfo->grabbed = 0; |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9357 dpyinfo->root_window = NULL; |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9358 dpyinfo->image_cache = make_image_cache (); |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9359 |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9360 dpyinfo->mouse_face_beg_row = dpyinfo->mouse_face_beg_col = -1; |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9361 dpyinfo->mouse_face_end_row = dpyinfo->mouse_face_end_col = -1; |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9362 dpyinfo->mouse_face_face_id = DEFAULT_FACE_ID; |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9363 dpyinfo->mouse_face_window = Qnil; |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9364 dpyinfo->mouse_face_overlay = Qnil; |
|
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9365 dpyinfo->mouse_face_hidden = 0; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9366 |
|
60635
e45b939c1d93
(x_list_fonts): FONT-LIST-CACHE is now cadr part of name_list_element.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
60623
diff
changeset
|
9367 dpyinfo->xrdb = mac_make_rdb (xrm_option); |
|
59146
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9368 |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9369 /* Put this display on the chain. */ |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9370 dpyinfo->next = x_display_list; |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9371 x_display_list = dpyinfo; |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9372 |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9373 /* Put it on x_display_name_list. */ |
|
60635
e45b939c1d93
(x_list_fonts): FONT-LIST-CACHE is now cadr part of name_list_element.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
60623
diff
changeset
|
9374 x_display_name_list = Fcons (Fcons (display_name, |
|
e45b939c1d93
(x_list_fonts): FONT-LIST-CACHE is now cadr part of name_list_element.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
60623
diff
changeset
|
9375 Fcons (Qnil, dpyinfo->xrdb)), |
|
59146
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9376 x_display_name_list); |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9377 dpyinfo->name_list_element = XCAR (x_display_name_list); |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9378 |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9379 UNBLOCK_INPUT; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9380 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9381 return dpyinfo; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9382 } |
|
77167
f48e3a655e3d
[!TARGET_API_MAC_CARBON] Include Displays.h.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
77141
diff
changeset
|
9383 |
|
59146
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9384 /* Get rid of display DPYINFO, assuming all frames are already gone. */ |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9385 |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9386 void |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9387 x_delete_display (dpyinfo) |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9388 struct mac_display_info *dpyinfo; |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9389 { |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9390 int i; |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9391 |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9392 /* Discard this display from x_display_name_list and x_display_list. |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9393 We can't use Fdelq because that can quit. */ |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9394 if (! NILP (x_display_name_list) |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9395 && EQ (XCAR (x_display_name_list), dpyinfo->name_list_element)) |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9396 x_display_name_list = XCDR (x_display_name_list); |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9397 else |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9398 { |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9399 Lisp_Object tail; |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9400 |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9401 tail = x_display_name_list; |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9402 while (CONSP (tail) && CONSP (XCDR (tail))) |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9403 { |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9404 if (EQ (XCAR (XCDR (tail)), dpyinfo->name_list_element)) |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9405 { |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9406 XSETCDR (tail, XCDR (XCDR (tail))); |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9407 break; |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9408 } |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9409 tail = XCDR (tail); |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9410 } |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9411 } |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9412 |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9413 if (x_display_list == dpyinfo) |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9414 x_display_list = dpyinfo->next; |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9415 else |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9416 { |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9417 struct x_display_info *tail; |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9418 |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9419 for (tail = x_display_list; tail; tail = tail->next) |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9420 if (tail->next == dpyinfo) |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9421 tail->next = tail->next->next; |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9422 } |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9423 |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9424 /* Free the font names in the font table. */ |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9425 for (i = 0; i < dpyinfo->n_fonts; i++) |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9426 if (dpyinfo->font_table[i].name) |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9427 { |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9428 if (dpyinfo->font_table[i].name != dpyinfo->font_table[i].full_name) |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9429 xfree (dpyinfo->font_table[i].full_name); |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9430 xfree (dpyinfo->font_table[i].name); |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9431 } |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9432 |
|
71963
a6c0f6b0c790
(keycode_to_xkeysym): Remove function. All uses now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71504
diff
changeset
|
9433 if (dpyinfo->font_table) |
|
a6c0f6b0c790
(keycode_to_xkeysym): Remove function. All uses now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71504
diff
changeset
|
9434 { |
|
a6c0f6b0c790
(keycode_to_xkeysym): Remove function. All uses now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71504
diff
changeset
|
9435 if (dpyinfo->font_table->font_encoder) |
|
a6c0f6b0c790
(keycode_to_xkeysym): Remove function. All uses now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71504
diff
changeset
|
9436 xfree (dpyinfo->font_table->font_encoder); |
|
a6c0f6b0c790
(keycode_to_xkeysym): Remove function. All uses now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71504
diff
changeset
|
9437 xfree (dpyinfo->font_table); |
|
a6c0f6b0c790
(keycode_to_xkeysym): Remove function. All uses now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71504
diff
changeset
|
9438 } |
|
a6c0f6b0c790
(keycode_to_xkeysym): Remove function. All uses now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71504
diff
changeset
|
9439 if (dpyinfo->mac_id_name) |
|
a6c0f6b0c790
(keycode_to_xkeysym): Remove function. All uses now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71504
diff
changeset
|
9440 xfree (dpyinfo->mac_id_name); |
|
59146
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9441 |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9442 if (x_display_list == 0) |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9443 { |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9444 mac_clear_font_name_table (); |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9445 bzero (dpyinfo, sizeof (*dpyinfo)); |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9446 } |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9447 } |
|
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9448 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9449 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9450 /* Set up use of X before we make the first connection. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9451 |
|
50360
0cebe62850bc
Remove unnecessary extern declarations.
Kim F. Storm <storm@cua.dk>
parents:
50344
diff
changeset
|
9452 extern frame_parm_handler mac_frame_parm_handlers[]; |
|
0cebe62850bc
Remove unnecessary extern declarations.
Kim F. Storm <storm@cua.dk>
parents:
50344
diff
changeset
|
9453 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9454 static struct redisplay_interface x_redisplay_interface = |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9455 { |
|
50360
0cebe62850bc
Remove unnecessary extern declarations.
Kim F. Storm <storm@cua.dk>
parents:
50344
diff
changeset
|
9456 mac_frame_parm_handlers, |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9457 x_produce_glyphs, |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9458 x_write_glyphs, |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9459 x_insert_glyphs, |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9460 x_clear_end_of_line, |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9461 x_scroll_run, |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9462 x_after_update_window_line, |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9463 x_update_window_begin, |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9464 x_update_window_end, |
|
50222
90e10bfd8bfa
* macterm.c: Remove consolidated defines and code.
Kim F. Storm <storm@cua.dk>
parents:
50157
diff
changeset
|
9465 x_cursor_to, |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9466 x_flush, |
|
76091
746a3424769c
(mac_display_info_for_display): Remove function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
76038
diff
changeset
|
9467 #if USE_CG_DRAWING |
|
746a3424769c
(mac_display_info_for_display): Remove function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
76038
diff
changeset
|
9468 mac_flush_display_optional, |
|
746a3424769c
(mac_display_info_for_display): Remove function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
76038
diff
changeset
|
9469 #else |
|
58634
95d38c47c806
* keyboard.c: Don't undef SIGIO
Steven Tamm <steventamm@mac.com>
parents:
58403
diff
changeset
|
9470 0, /* flush_display_optional */ |
|
76091
746a3424769c
(mac_display_info_for_display): Remove function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
76038
diff
changeset
|
9471 #endif |
|
50222
90e10bfd8bfa
* macterm.c: Remove consolidated defines and code.
Kim F. Storm <storm@cua.dk>
parents:
50157
diff
changeset
|
9472 x_clear_window_mouse_face, |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9473 x_get_glyph_overhangs, |
| 50097 | 9474 x_fix_overlapping_area, |
|
50157
203d5a0f77a8
The following changes consolidate some of the gui-independent
Kim F. Storm <storm@cua.dk>
parents:
50097
diff
changeset
|
9475 x_draw_fringe_bitmap, |
|
69488
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
9476 #if USE_CG_DRAWING |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
9477 mac_define_fringe_bitmap, |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
9478 mac_destroy_fringe_bitmap, |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
9479 #else |
|
53885
693745d24f76
(x_draw_fringe_bitmap): Copy unadapted code from
Kim F. Storm <storm@cua.dk>
parents:
53722
diff
changeset
|
9480 0, /* define_fringe_bitmap */ |
|
693745d24f76
(x_draw_fringe_bitmap): Copy unadapted code from
Kim F. Storm <storm@cua.dk>
parents:
53722
diff
changeset
|
9481 0, /* destroy_fringe_bitmap */ |
|
69488
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
9482 #endif |
|
50157
203d5a0f77a8
The following changes consolidate some of the gui-independent
Kim F. Storm <storm@cua.dk>
parents:
50097
diff
changeset
|
9483 mac_per_char_metric, |
|
203d5a0f77a8
The following changes consolidate some of the gui-independent
Kim F. Storm <storm@cua.dk>
parents:
50097
diff
changeset
|
9484 mac_encode_char, |
|
59718
d4cb255b034d
* dispextern.h (struct glyph_string): New members clip_head and
Steven Tamm <steventamm@mac.com>
parents:
59655
diff
changeset
|
9485 mac_compute_glyph_string_overhangs, |
|
50222
90e10bfd8bfa
* macterm.c: Remove consolidated defines and code.
Kim F. Storm <storm@cua.dk>
parents:
50157
diff
changeset
|
9486 x_draw_glyph_string, |
|
90e10bfd8bfa
* macterm.c: Remove consolidated defines and code.
Kim F. Storm <storm@cua.dk>
parents:
50157
diff
changeset
|
9487 mac_define_frame_cursor, |
|
90e10bfd8bfa
* macterm.c: Remove consolidated defines and code.
Kim F. Storm <storm@cua.dk>
parents:
50157
diff
changeset
|
9488 mac_clear_frame_area, |
|
90e10bfd8bfa
* macterm.c: Remove consolidated defines and code.
Kim F. Storm <storm@cua.dk>
parents:
50157
diff
changeset
|
9489 mac_draw_window_cursor, |
|
50344
31cf5b909af7
(x_redisplay_interface): Add missing entry for
Andreas Schwab <schwab@suse.de>
parents:
50247
diff
changeset
|
9490 mac_draw_vertical_window_border, |
|
50222
90e10bfd8bfa
* macterm.c: Remove consolidated defines and code.
Kim F. Storm <storm@cua.dk>
parents:
50157
diff
changeset
|
9491 mac_shift_glyphs_for_insert |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9492 }; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9493 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9494 void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9495 mac_initialize () |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9496 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9497 rif = &x_redisplay_interface; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9498 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9499 clear_frame_hook = x_clear_frame; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9500 ins_del_lines_hook = x_ins_del_lines; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9501 delete_glyphs_hook = x_delete_glyphs; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9502 ring_bell_hook = XTring_bell; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9503 reset_terminal_modes_hook = XTreset_terminal_modes; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9504 set_terminal_modes_hook = XTset_terminal_modes; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9505 update_begin_hook = x_update_begin; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9506 update_end_hook = x_update_end; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9507 set_terminal_window_hook = XTset_terminal_window; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9508 read_socket_hook = XTread_socket; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9509 frame_up_to_date_hook = XTframe_up_to_date; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9510 mouse_position_hook = XTmouse_position; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9511 frame_rehighlight_hook = XTframe_rehighlight; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9512 frame_raise_lower_hook = XTframe_raise_lower; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9513 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9514 set_vertical_scroll_bar_hook = XTset_vertical_scroll_bar; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9515 condemn_scroll_bars_hook = XTcondemn_scroll_bars; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9516 redeem_scroll_bar_hook = XTredeem_scroll_bar; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9517 judge_scroll_bars_hook = XTjudge_scroll_bars; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9518 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9519 scroll_region_ok = 1; /* we'll scroll partial frames */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9520 char_ins_del_ok = 1; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9521 line_ins_del_ok = 1; /* we'll just blt 'em */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9522 fast_clear_end_of_line = 1; /* X does this well */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9523 memory_below_frame = 0; /* we don't remember what scrolls |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9524 off the bottom */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9525 baud_rate = 19200; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9526 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9527 last_tool_bar_item = -1; |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49504
diff
changeset
|
9528 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9529 /* Try to use interrupt input; if we can't, then start polling. */ |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9530 Fset_input_mode (Qt, Qnil, Qt, Qnil); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9531 |
|
57425
0867872551d9
macterm.c (x_raise_frame): Add BLOCK_INPUT around SelectWindow
Steven Tamm <steventamm@mac.com>
parents:
57373
diff
changeset
|
9532 BLOCK_INPUT; |
| 46121 | 9533 |
| 9534 #if TARGET_API_MAC_CARBON | |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9535 #ifdef MAC_OSX |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9536 init_coercion_handler (); |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9537 |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9538 init_dm_notification_handler (); |
|
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9539 #endif |
| 46121 | 9540 |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
9541 install_application_handler (); |
|
61786
223bdb2c3b9a
(handling_window_update, terminate_flag): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61658
diff
changeset
|
9542 |
|
80455
4b3759b14cc7
(mac_end_cg_clip): Add argument F. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80392
diff
changeset
|
9543 mac_toolbox_initialize (); |
|
46856
eba75fedd593
2002-08-10 Andrew Choi <akochoi@shaw.ca>
Andrew Choi <akochoi@shaw.ca>
parents:
46805
diff
changeset
|
9544 |
|
60364
de784812b4d4
[TARGET_API_MAC_CARBON && !MAC_OSX]: Define USE_CARBON_EVENTS to 1.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
59899
diff
changeset
|
9545 #ifdef MAC_OSX |
|
46856
eba75fedd593
2002-08-10 Andrew Choi <akochoi@shaw.ca>
Andrew Choi <akochoi@shaw.ca>
parents:
46805
diff
changeset
|
9546 if (!inhibit_window_system) |
|
75834
3734c13d5900
(MakeMeTheFrontProcess) [MAC_OSX]: Remove function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
75348
diff
changeset
|
9547 { |
|
3734c13d5900
(MakeMeTheFrontProcess) [MAC_OSX]: Remove function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
75348
diff
changeset
|
9548 static const ProcessSerialNumber psn = {0, kCurrentProcess}; |
|
3734c13d5900
(MakeMeTheFrontProcess) [MAC_OSX]: Remove function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
75348
diff
changeset
|
9549 |
|
3734c13d5900
(MakeMeTheFrontProcess) [MAC_OSX]: Remove function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
75348
diff
changeset
|
9550 SetFrontProcess (&psn); |
|
3734c13d5900
(MakeMeTheFrontProcess) [MAC_OSX]: Remove function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
75348
diff
changeset
|
9551 } |
| 46121 | 9552 #endif |
|
60364
de784812b4d4
[TARGET_API_MAC_CARBON && !MAC_OSX]: Define USE_CARBON_EVENTS to 1.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
59899
diff
changeset
|
9553 #endif |
|
69488
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
9554 |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
9555 #if USE_CG_DRAWING |
|
75100
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
9556 init_cg_color (); |
|
d4a5d8d2cba2
(CG_SET_FILL_COLOR_MAYBE_WITH_CGCOLOR)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
74629
diff
changeset
|
9557 |
|
69488
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
9558 mac_init_fringe (); |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
9559 #endif |
|
72158718da16
(mac_initialize) [USE_CG_DRAWING]: Call mac_init_fringe.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
69433
diff
changeset
|
9560 |
|
57425
0867872551d9
macterm.c (x_raise_frame): Add BLOCK_INPUT around SelectWindow
Steven Tamm <steventamm@mac.com>
parents:
57373
diff
changeset
|
9561 UNBLOCK_INPUT; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9562 } |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9563 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9564 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9565 void |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9566 syms_of_macterm () |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9567 { |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9568 #if 0 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9569 staticpro (&x_error_message_string); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9570 x_error_message_string = Qnil; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9571 #endif |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9572 |
|
67101
f7f6ee6060c8
(Qcontrol): Rename from Qctrl. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67000
diff
changeset
|
9573 Qcontrol = intern ("control"); staticpro (&Qcontrol); |
|
f7f6ee6060c8
(Qcontrol): Rename from Qctrl. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67000
diff
changeset
|
9574 Qmeta = intern ("meta"); staticpro (&Qmeta); |
|
f7f6ee6060c8
(Qcontrol): Rename from Qctrl. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67000
diff
changeset
|
9575 Qalt = intern ("alt"); staticpro (&Qalt); |
|
f7f6ee6060c8
(Qcontrol): Rename from Qctrl. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67000
diff
changeset
|
9576 Qhyper = intern ("hyper"); staticpro (&Qhyper); |
|
f7f6ee6060c8
(Qcontrol): Rename from Qctrl. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67000
diff
changeset
|
9577 Qsuper = intern ("super"); staticpro (&Qsuper); |
|
57783
4cb8cebc3255
2004-10-28 Will <will@glozer.net>
John Wiegley <johnw@newartisans.com>
parents:
57425
diff
changeset
|
9578 Qmodifier_value = intern ("modifier-value"); |
|
67101
f7f6ee6060c8
(Qcontrol): Rename from Qctrl. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67000
diff
changeset
|
9579 staticpro (&Qmodifier_value); |
|
f7f6ee6060c8
(Qcontrol): Rename from Qctrl. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67000
diff
changeset
|
9580 |
|
f7f6ee6060c8
(Qcontrol): Rename from Qctrl. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67000
diff
changeset
|
9581 Fput (Qcontrol, Qmodifier_value, make_number (ctrl_modifier)); |
|
f7f6ee6060c8
(Qcontrol): Rename from Qctrl. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67000
diff
changeset
|
9582 Fput (Qmeta, Qmodifier_value, make_number (meta_modifier)); |
|
f7f6ee6060c8
(Qcontrol): Rename from Qctrl. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67000
diff
changeset
|
9583 Fput (Qalt, Qmodifier_value, make_number (alt_modifier)); |
|
f7f6ee6060c8
(Qcontrol): Rename from Qctrl. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67000
diff
changeset
|
9584 Fput (Qhyper, Qmodifier_value, make_number (hyper_modifier)); |
|
f7f6ee6060c8
(Qcontrol): Rename from Qctrl. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67000
diff
changeset
|
9585 Fput (Qsuper, Qmodifier_value, make_number (super_modifier)); |
|
57783
4cb8cebc3255
2004-10-28 Will <will@glozer.net>
John Wiegley <johnw@newartisans.com>
parents:
57425
diff
changeset
|
9586 |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
9587 #if TARGET_API_MAC_CARBON |
|
72545
171c891be45d
(mac_draw_string_common, mac_query_char_extents)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72505
diff
changeset
|
9588 Qhi_command = intern ("hi-command"); staticpro (&Qhi_command); |
|
67458
e6e566aad553
(Qmac_ready_for_drag_n_drop, Qapplication, Qabout)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67101
diff
changeset
|
9589 #ifdef MAC_OSX |
|
70496
8b2250961fcc
(XLoadQueryFont) [USE_ATSUI]: Set FMFontFamily value
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70384
diff
changeset
|
9590 Qtoolbar_switch_mode = intern ("toolbar-switch-mode"); |
|
8b2250961fcc
(XLoadQueryFont) [USE_ATSUI]: Set FMFontFamily value
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70384
diff
changeset
|
9591 staticpro (&Qtoolbar_switch_mode); |
|
8b2250961fcc
(XLoadQueryFont) [USE_ATSUI]: Set FMFontFamily value
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70384
diff
changeset
|
9592 #if USE_MAC_FONT_PANEL |
|
8b2250961fcc
(XLoadQueryFont) [USE_ATSUI]: Set FMFontFamily value
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70384
diff
changeset
|
9593 Qpanel_closed = intern ("panel-closed"); staticpro (&Qpanel_closed); |
|
8b2250961fcc
(XLoadQueryFont) [USE_ATSUI]: Set FMFontFamily value
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70384
diff
changeset
|
9594 Qselection = intern ("selection"); staticpro (&Qselection); |
|
8b2250961fcc
(XLoadQueryFont) [USE_ATSUI]: Set FMFontFamily value
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70384
diff
changeset
|
9595 #endif |
|
8b2250961fcc
(XLoadQueryFont) [USE_ATSUI]: Set FMFontFamily value
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70384
diff
changeset
|
9596 |
|
70563
fc3c18e2c3b9
(Qservice) [MAC_OSX]: Rename from Qservices. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70496
diff
changeset
|
9597 Qservice = intern ("service"); staticpro (&Qservice); |
|
61786
223bdb2c3b9a
(handling_window_update, terminate_flag): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61658
diff
changeset
|
9598 Qpaste = intern ("paste"); staticpro (&Qpaste); |
|
223bdb2c3b9a
(handling_window_update, terminate_flag): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61658
diff
changeset
|
9599 Qperform = intern ("perform"); staticpro (&Qperform); |
|
80519
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
9600 |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
9601 Qmouse_drag_overlay = intern ("mouse-drag-overlay"); |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
9602 staticpro (&Qmouse_drag_overlay); |
|
61786
223bdb2c3b9a
(handling_window_update, terminate_flag): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61658
diff
changeset
|
9603 #endif |
|
71178
d098ef877d70
(tsm_document_id) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71135
diff
changeset
|
9604 #if USE_MAC_TSM |
|
d098ef877d70
(tsm_document_id) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71135
diff
changeset
|
9605 Qtext_input = intern ("text-input"); staticpro (&Qtext_input); |
|
d098ef877d70
(tsm_document_id) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71135
diff
changeset
|
9606 Qupdate_active_input_area = intern ("update-active-input-area"); |
|
d098ef877d70
(tsm_document_id) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71135
diff
changeset
|
9607 staticpro (&Qupdate_active_input_area); |
|
d098ef877d70
(tsm_document_id) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71135
diff
changeset
|
9608 Qunicode_for_key_event = intern ("unicode-for-key-event"); |
|
d098ef877d70
(tsm_document_id) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71135
diff
changeset
|
9609 staticpro (&Qunicode_for_key_event); |
|
d098ef877d70
(tsm_document_id) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71135
diff
changeset
|
9610 #endif |
|
67458
e6e566aad553
(Qmac_ready_for_drag_n_drop, Qapplication, Qabout)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67101
diff
changeset
|
9611 #endif |
|
61786
223bdb2c3b9a
(handling_window_update, terminate_flag): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61658
diff
changeset
|
9612 |
|
59146
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9613 #ifdef MAC_OSX |
|
49015
c49640262de0
* macterm.c (syms_of_macterm): Provide the feature "mac-carbon" to
Steven Tamm <steventamm@mac.com>
parents:
49003
diff
changeset
|
9614 Fprovide (intern ("mac-carbon"), Qnil); |
|
59146
9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
Steven Tamm <steventamm@mac.com>
parents:
59041
diff
changeset
|
9615 #endif |
|
49015
c49640262de0
* macterm.c (syms_of_macterm): Provide the feature "mac-carbon" to
Steven Tamm <steventamm@mac.com>
parents:
49003
diff
changeset
|
9616 |
|
53956
922b1cbf208b
(Vmac_emulate_three_button_mouse): New variable for
Steven Tamm <steventamm@mac.com>
parents:
53935
diff
changeset
|
9617 staticpro (&Qreverse); |
|
922b1cbf208b
(Vmac_emulate_three_button_mouse): New variable for
Steven Tamm <steventamm@mac.com>
parents:
53935
diff
changeset
|
9618 Qreverse = intern ("reverse"); |
|
922b1cbf208b
(Vmac_emulate_three_button_mouse): New variable for
Steven Tamm <steventamm@mac.com>
parents:
53935
diff
changeset
|
9619 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9620 staticpro (&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
|
9621 x_display_name_list = Qnil; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9622 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9623 staticpro (&last_mouse_scroll_bar); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9624 last_mouse_scroll_bar = Qnil; |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9625 |
|
66005
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
9626 staticpro (&fm_font_family_alist); |
|
f455f022b799
(PER_CHAR_METRIC): Remove unused macro.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65910
diff
changeset
|
9627 fm_font_family_alist = Qnil; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9628 |
|
65772
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
9629 #if USE_ATSUI |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
9630 staticpro (&atsu_font_id_hash); |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
9631 atsu_font_id_hash = Qnil; |
|
71504
2b4e59cd1121
(Qeql): Add extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71359
diff
changeset
|
9632 |
|
2b4e59cd1121
(Qeql): Add extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71359
diff
changeset
|
9633 staticpro (&fm_style_face_attributes_alist); |
|
2b4e59cd1121
(Qeql): Add extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71359
diff
changeset
|
9634 fm_style_face_attributes_alist = Qnil; |
|
2b4e59cd1121
(Qeql): Add extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71359
diff
changeset
|
9635 #endif |
|
2b4e59cd1121
(Qeql): Add extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71359
diff
changeset
|
9636 |
|
2b4e59cd1121
(Qeql): Add extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71359
diff
changeset
|
9637 #if USE_MAC_TSM |
|
2b4e59cd1121
(Qeql): Add extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71359
diff
changeset
|
9638 staticpro (&saved_ts_script_language_on_focus); |
|
2b4e59cd1121
(Qeql): Add extern.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71359
diff
changeset
|
9639 saved_ts_script_language_on_focus = Qnil; |
|
65772
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
9640 #endif |
|
797dc38b416e
(mac_draw_string_common, x_per_char_metric)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
65643
diff
changeset
|
9641 |
|
67666
037431c17fba
(mac_do_receive_drag): Drag-and-drop items are now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67458
diff
changeset
|
9642 /* We don't yet support this, but defining this here avoids whining |
|
037431c17fba
(mac_do_receive_drag): Drag-and-drop items are now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67458
diff
changeset
|
9643 from cus-start.el and other places, like "M-x set-variable". */ |
|
037431c17fba
(mac_do_receive_drag): Drag-and-drop items are now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67458
diff
changeset
|
9644 DEFVAR_BOOL ("x-use-underline-position-properties", |
|
037431c17fba
(mac_do_receive_drag): Drag-and-drop items are now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67458
diff
changeset
|
9645 &x_use_underline_position_properties, |
|
037431c17fba
(mac_do_receive_drag): Drag-and-drop items are now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67458
diff
changeset
|
9646 doc: /* *Non-nil means make use of UNDERLINE_POSITION font properties. |
|
74567
6b41da580ac3
(syms_of_macterm) <x-use-underline-position-properties,
Juanma Barranquero <lekktu@gmail.com>
parents:
73993
diff
changeset
|
9647 A value of nil means ignore them. If you encounter fonts with bogus |
|
67666
037431c17fba
(mac_do_receive_drag): Drag-and-drop items are now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67458
diff
changeset
|
9648 UNDERLINE_POSITION font properties, for example 7x13 on XFree prior |
|
037431c17fba
(mac_do_receive_drag): Drag-and-drop items are now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67458
diff
changeset
|
9649 to 4.1, set this to nil. |
|
037431c17fba
(mac_do_receive_drag): Drag-and-drop items are now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67458
diff
changeset
|
9650 |
|
037431c17fba
(mac_do_receive_drag): Drag-and-drop items are now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67458
diff
changeset
|
9651 NOTE: Not supported on Mac yet. */); |
|
037431c17fba
(mac_do_receive_drag): Drag-and-drop items are now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67458
diff
changeset
|
9652 x_use_underline_position_properties = 0; |
|
037431c17fba
(mac_do_receive_drag): Drag-and-drop items are now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67458
diff
changeset
|
9653 |
|
73114
983aa36dbb6c
(x_underline_at_descent_line): New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72985
diff
changeset
|
9654 DEFVAR_BOOL ("x-underline-at-descent-line", |
|
983aa36dbb6c
(x_underline_at_descent_line): New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72985
diff
changeset
|
9655 &x_underline_at_descent_line, |
|
983aa36dbb6c
(x_underline_at_descent_line): New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72985
diff
changeset
|
9656 doc: /* *Non-nil means to draw the underline at the same place as the descent line. |
|
74567
6b41da580ac3
(syms_of_macterm) <x-use-underline-position-properties,
Juanma Barranquero <lekktu@gmail.com>
parents:
73993
diff
changeset
|
9657 A value of nil means to draw the underline according to the value of the |
|
6b41da580ac3
(syms_of_macterm) <x-use-underline-position-properties,
Juanma Barranquero <lekktu@gmail.com>
parents:
73993
diff
changeset
|
9658 variable `x-use-underline-position-properties', which is usually at the |
|
6b41da580ac3
(syms_of_macterm) <x-use-underline-position-properties,
Juanma Barranquero <lekktu@gmail.com>
parents:
73993
diff
changeset
|
9659 baseline level. The default value is nil. */); |
|
73114
983aa36dbb6c
(x_underline_at_descent_line): New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72985
diff
changeset
|
9660 x_underline_at_descent_line = 0; |
|
983aa36dbb6c
(x_underline_at_descent_line): New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
72985
diff
changeset
|
9661 |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9662 DEFVAR_LISP ("x-toolkit-scroll-bars", &Vx_toolkit_scroll_bars, |
|
70496
8b2250961fcc
(XLoadQueryFont) [USE_ATSUI]: Set FMFontFamily value
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70384
diff
changeset
|
9663 doc: /* If not nil, Emacs uses toolkit scroll bars. */); |
|
62103
2d42fd79f829
(toolkit_scroll_bar_interaction): Remove unused
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61786
diff
changeset
|
9664 #ifdef USE_TOOLKIT_SCROLL_BARS |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9665 Vx_toolkit_scroll_bars = Qt; |
|
62103
2d42fd79f829
(toolkit_scroll_bar_interaction): Remove unused
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61786
diff
changeset
|
9666 #else |
|
2d42fd79f829
(toolkit_scroll_bar_interaction): Remove unused
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61786
diff
changeset
|
9667 Vx_toolkit_scroll_bars = Qnil; |
|
2d42fd79f829
(toolkit_scroll_bar_interaction): Remove unused
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61786
diff
changeset
|
9668 #endif |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9669 |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9670 staticpro (&last_mouse_motion_frame); |
|
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9671 last_mouse_motion_frame = Qnil; |
|
66841
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
9672 |
|
66818
d85a089fce11
macterm.c (backtranslate_modified_keycode): New function to
Steven Tamm <steventamm@mac.com>
parents:
66431
diff
changeset
|
9673 /* Variables to configure modifier key assignment. */ |
|
66841
b633b787c04d
[USE_CG_TEXT_DRAWING] (mac_draw_string_cg): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
66818
diff
changeset
|
9674 |
|
66818
d85a089fce11
macterm.c (backtranslate_modified_keycode): New function to
Steven Tamm <steventamm@mac.com>
parents:
66431
diff
changeset
|
9675 DEFVAR_LISP ("mac-control-modifier", &Vmac_control_modifier, |
|
67666
037431c17fba
(mac_do_receive_drag): Drag-and-drop items are now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67458
diff
changeset
|
9676 doc: /* *Modifier key assumed when the Mac control key is pressed. |
|
037431c17fba
(mac_do_receive_drag): Drag-and-drop items are now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67458
diff
changeset
|
9677 The value can be `control', `meta', `alt', `hyper', or `super' for the |
|
67101
f7f6ee6060c8
(Qcontrol): Rename from Qctrl. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67000
diff
changeset
|
9678 respective modifier. The default is `control'. */); |
|
f7f6ee6060c8
(Qcontrol): Rename from Qctrl. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67000
diff
changeset
|
9679 Vmac_control_modifier = Qcontrol; |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9680 |
|
57783
4cb8cebc3255
2004-10-28 Will <will@glozer.net>
John Wiegley <johnw@newartisans.com>
parents:
57425
diff
changeset
|
9681 DEFVAR_LISP ("mac-option-modifier", &Vmac_option_modifier, |
|
67666
037431c17fba
(mac_do_receive_drag): Drag-and-drop items are now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67458
diff
changeset
|
9682 doc: /* *Modifier key assumed when the Mac alt/option key is pressed. |
|
037431c17fba
(mac_do_receive_drag): Drag-and-drop items are now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67458
diff
changeset
|
9683 The value can be `control', `meta', `alt', `hyper', or `super' for the |
|
67101
f7f6ee6060c8
(Qcontrol): Rename from Qctrl. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67000
diff
changeset
|
9684 respective modifier. If the value is nil then the key will act as the |
|
f7f6ee6060c8
(Qcontrol): Rename from Qctrl. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67000
diff
changeset
|
9685 normal Mac control modifier, and the option key can be used to compose |
|
f7f6ee6060c8
(Qcontrol): Rename from Qctrl. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67000
diff
changeset
|
9686 characters depending on the chosen Mac keyboard setting. */); |
|
57783
4cb8cebc3255
2004-10-28 Will <will@glozer.net>
John Wiegley <johnw@newartisans.com>
parents:
57425
diff
changeset
|
9687 Vmac_option_modifier = Qnil; |
|
4cb8cebc3255
2004-10-28 Will <will@glozer.net>
John Wiegley <johnw@newartisans.com>
parents:
57425
diff
changeset
|
9688 |
|
66818
d85a089fce11
macterm.c (backtranslate_modified_keycode): New function to
Steven Tamm <steventamm@mac.com>
parents:
66431
diff
changeset
|
9689 DEFVAR_LISP ("mac-command-modifier", &Vmac_command_modifier, |
|
67666
037431c17fba
(mac_do_receive_drag): Drag-and-drop items are now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67458
diff
changeset
|
9690 doc: /* *Modifier key assumed when the Mac command key is pressed. |
|
037431c17fba
(mac_do_receive_drag): Drag-and-drop items are now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67458
diff
changeset
|
9691 The value can be `control', `meta', `alt', `hyper', or `super' for the |
|
67101
f7f6ee6060c8
(Qcontrol): Rename from Qctrl. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67000
diff
changeset
|
9692 respective modifier. The default is `meta'. */); |
|
66818
d85a089fce11
macterm.c (backtranslate_modified_keycode): New function to
Steven Tamm <steventamm@mac.com>
parents:
66431
diff
changeset
|
9693 Vmac_command_modifier = Qmeta; |
|
d85a089fce11
macterm.c (backtranslate_modified_keycode): New function to
Steven Tamm <steventamm@mac.com>
parents:
66431
diff
changeset
|
9694 |
|
d85a089fce11
macterm.c (backtranslate_modified_keycode): New function to
Steven Tamm <steventamm@mac.com>
parents:
66431
diff
changeset
|
9695 DEFVAR_LISP ("mac-function-modifier", &Vmac_function_modifier, |
|
67666
037431c17fba
(mac_do_receive_drag): Drag-and-drop items are now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67458
diff
changeset
|
9696 doc: /* *Modifier key assumed when the Mac function key is pressed. |
|
037431c17fba
(mac_do_receive_drag): Drag-and-drop items are now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67458
diff
changeset
|
9697 The value can be `control', `meta', `alt', `hyper', or `super' for the |
|
67101
f7f6ee6060c8
(Qcontrol): Rename from Qctrl. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67000
diff
changeset
|
9698 respective modifier. Note that remapping the function key may lead to |
|
f7f6ee6060c8
(Qcontrol): Rename from Qctrl. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67000
diff
changeset
|
9699 unexpected results for some keys on non-US/GB keyboards. */); |
|
66818
d85a089fce11
macterm.c (backtranslate_modified_keycode): New function to
Steven Tamm <steventamm@mac.com>
parents:
66431
diff
changeset
|
9700 Vmac_function_modifier = Qnil; |
| 46798 | 9701 |
|
55025
5cbecea4d4ad
(x_draw_relief_rect): Add top_p and bot_p args.
Kim F. Storm <storm@cua.dk>
parents:
54366
diff
changeset
|
9702 DEFVAR_LISP ("mac-emulate-three-button-mouse", |
|
53956
922b1cbf208b
(Vmac_emulate_three_button_mouse): New variable for
Steven Tamm <steventamm@mac.com>
parents:
53935
diff
changeset
|
9703 &Vmac_emulate_three_button_mouse, |
|
67666
037431c17fba
(mac_do_receive_drag): Drag-and-drop items are now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67458
diff
changeset
|
9704 doc: /* *Specify a way of three button mouse emulation. |
|
67101
f7f6ee6060c8
(Qcontrol): Rename from Qctrl. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67000
diff
changeset
|
9705 The value can be nil, t, or the symbol `reverse'. |
|
74567
6b41da580ac3
(syms_of_macterm) <x-use-underline-position-properties,
Juanma Barranquero <lekktu@gmail.com>
parents:
73993
diff
changeset
|
9706 A value of nil means that no emulation should be done and the modifiers |
|
6b41da580ac3
(syms_of_macterm) <x-use-underline-position-properties,
Juanma Barranquero <lekktu@gmail.com>
parents:
73993
diff
changeset
|
9707 should be placed on the mouse-1 event. |
|
67101
f7f6ee6060c8
(Qcontrol): Rename from Qctrl. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67000
diff
changeset
|
9708 t means that when the option-key is held down while pressing the mouse |
|
f7f6ee6060c8
(Qcontrol): Rename from Qctrl. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67000
diff
changeset
|
9709 button, the click will register as mouse-2 and while the command-key |
|
f7f6ee6060c8
(Qcontrol): Rename from Qctrl. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67000
diff
changeset
|
9710 is held down, the click will register as mouse-3. |
|
f7f6ee6060c8
(Qcontrol): Rename from Qctrl. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67000
diff
changeset
|
9711 The symbol `reverse' means that the option-key will register for |
|
f7f6ee6060c8
(Qcontrol): Rename from Qctrl. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67000
diff
changeset
|
9712 mouse-3 and the command-key will register for mouse-2. */); |
|
53956
922b1cbf208b
(Vmac_emulate_three_button_mouse): New variable for
Steven Tamm <steventamm@mac.com>
parents:
53935
diff
changeset
|
9713 Vmac_emulate_three_button_mouse = Qnil; |
|
922b1cbf208b
(Vmac_emulate_three_button_mouse): New variable for
Steven Tamm <steventamm@mac.com>
parents:
53935
diff
changeset
|
9714 |
|
80392
80c2bc6163c3
Replace MenuHandle and GetMenuHandle with MenuRef and
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80020
diff
changeset
|
9715 #if TARGET_API_MAC_CARBON |
|
67666
037431c17fba
(mac_do_receive_drag): Drag-and-drop items are now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67458
diff
changeset
|
9716 DEFVAR_BOOL ("mac-wheel-button-is-mouse-2", &mac_wheel_button_is_mouse_2, |
|
70496
8b2250961fcc
(XLoadQueryFont) [USE_ATSUI]: Set FMFontFamily value
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70384
diff
changeset
|
9717 doc: /* *Non-nil if the wheel button is mouse-2 and the right click mouse-3. |
|
67101
f7f6ee6060c8
(Qcontrol): Rename from Qctrl. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67000
diff
changeset
|
9718 Otherwise, the right click will be treated as mouse-2 and the wheel |
|
f7f6ee6060c8
(Qcontrol): Rename from Qctrl. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67000
diff
changeset
|
9719 button will be mouse-3. */); |
|
67666
037431c17fba
(mac_do_receive_drag): Drag-and-drop items are now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67458
diff
changeset
|
9720 mac_wheel_button_is_mouse_2 = 1; |
|
037431c17fba
(mac_do_receive_drag): Drag-and-drop items are now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67458
diff
changeset
|
9721 |
|
037431c17fba
(mac_do_receive_drag): Drag-and-drop items are now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67458
diff
changeset
|
9722 DEFVAR_BOOL ("mac-pass-command-to-system", &mac_pass_command_to_system, |
|
70496
8b2250961fcc
(XLoadQueryFont) [USE_ATSUI]: Set FMFontFamily value
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70384
diff
changeset
|
9723 doc: /* *Non-nil if command key presses are passed on to the Mac Toolbox. */); |
|
67666
037431c17fba
(mac_do_receive_drag): Drag-and-drop items are now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67458
diff
changeset
|
9724 mac_pass_command_to_system = 1; |
|
037431c17fba
(mac_do_receive_drag): Drag-and-drop items are now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67458
diff
changeset
|
9725 |
|
037431c17fba
(mac_do_receive_drag): Drag-and-drop items are now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67458
diff
changeset
|
9726 DEFVAR_BOOL ("mac-pass-control-to-system", &mac_pass_control_to_system, |
|
70496
8b2250961fcc
(XLoadQueryFont) [USE_ATSUI]: Set FMFontFamily value
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70384
diff
changeset
|
9727 doc: /* *Non-nil if control key presses are passed on to the Mac Toolbox. */); |
|
67666
037431c17fba
(mac_do_receive_drag): Drag-and-drop items are now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67458
diff
changeset
|
9728 mac_pass_control_to_system = 1; |
|
037431c17fba
(mac_do_receive_drag): Drag-and-drop items are now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67458
diff
changeset
|
9729 |
|
037431c17fba
(mac_do_receive_drag): Drag-and-drop items are now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67458
diff
changeset
|
9730 #endif |
|
037431c17fba
(mac_do_receive_drag): Drag-and-drop items are now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67458
diff
changeset
|
9731 |
|
037431c17fba
(mac_do_receive_drag): Drag-and-drop items are now
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67458
diff
changeset
|
9732 DEFVAR_BOOL ("mac-allow-anti-aliasing", &mac_use_core_graphics, |
|
70496
8b2250961fcc
(XLoadQueryFont) [USE_ATSUI]: Set FMFontFamily value
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70384
diff
changeset
|
9733 doc: /* *If non-nil, allow anti-aliasing. |
|
59586
2f6084ef9fec
(syms_of_macterm) <mac-allow-anti-aliasing>: Doc fix.
Kim F. Storm <storm@cua.dk>
parents:
59585
diff
changeset
|
9734 The text will be rendered using Core Graphics text rendering which |
|
2f6084ef9fec
(syms_of_macterm) <mac-allow-anti-aliasing>: Doc fix.
Kim F. Storm <storm@cua.dk>
parents:
59585
diff
changeset
|
9735 may anti-alias the text. */); |
|
70304
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
9736 #if USE_CG_DRAWING |
|
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
9737 mac_use_core_graphics = 1; |
|
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
9738 #else |
|
67672
ea51bc4acb2e
(syms_of_macterm) <mac-allow-anti-aliasing>: Fix unintended default
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67666
diff
changeset
|
9739 mac_use_core_graphics = 0; |
|
70304
085795461ed0
(mac_draw_line, mac_draw_line_to_pixmap): Adjust
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70149
diff
changeset
|
9740 #endif |
|
61658
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
9741 |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
9742 /* Register an entry for `mac-roman' so that it can be used when |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
9743 creating the terminal frame on Mac OS 9 before loading |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
9744 term/mac-win.elc. */ |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
9745 DEFVAR_LISP ("mac-charset-info-alist", &Vmac_charset_info_alist, |
|
70496
8b2250961fcc
(XLoadQueryFont) [USE_ATSUI]: Set FMFontFamily value
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70384
diff
changeset
|
9746 doc: /* Alist of Emacs character sets vs text encodings and coding systems. |
|
61658
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
9747 Each entry should be of the form: |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
9748 |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
9749 (CHARSET-NAME TEXT-ENCODING CODING-SYSTEM) |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
9750 |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
9751 where CHARSET-NAME is a string used in font names to identify the |
|
67101
f7f6ee6060c8
(Qcontrol): Rename from Qctrl. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67000
diff
changeset
|
9752 charset, TEXT-ENCODING is a TextEncodingBase value in Mac, and |
|
f7f6ee6060c8
(Qcontrol): Rename from Qctrl. All uses changed.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
67000
diff
changeset
|
9753 CODING_SYSTEM is a coding system corresponding to TEXT-ENCODING. */); |
|
61658
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
9754 Vmac_charset_info_alist = |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
9755 Fcons (list3 (build_string ("mac-roman"), |
|
38a086380ddc
(Qbig5, Qcn_gb, Qsjis, Qeuc_kr): Remove variables.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
61615
diff
changeset
|
9756 make_number (smRoman), Qnil), Qnil); |
|
70496
8b2250961fcc
(XLoadQueryFont) [USE_ATSUI]: Set FMFontFamily value
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
70384
diff
changeset
|
9757 |
|
71178
d098ef877d70
(tsm_document_id) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71135
diff
changeset
|
9758 #if USE_MAC_TSM |
|
d098ef877d70
(tsm_document_id) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71135
diff
changeset
|
9759 DEFVAR_LISP ("mac-ts-active-input-overlay", &Vmac_ts_active_input_overlay, |
|
d098ef877d70
(tsm_document_id) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71135
diff
changeset
|
9760 doc: /* Overlay used to display Mac TSM active input area. */); |
|
d098ef877d70
(tsm_document_id) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71135
diff
changeset
|
9761 Vmac_ts_active_input_overlay = Qnil; |
|
71359
4df3a065ee9b
(do_app_resume, do_app_suspend): Remove functions.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71241
diff
changeset
|
9762 |
|
80519
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
9763 DEFVAR_LISP ("mac-ts-active-input-buf", &Vmac_ts_active_input_buf, |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
9764 doc: /* Byte sequence of the current Mac TSM active input area. */); |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
9765 /* `empty_string' is not ready yet on Mac OS Classic. */ |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
9766 Vmac_ts_active_input_buf = build_string (""); |
|
15486c7f3b9e
(Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
80515
diff
changeset
|
9767 |
|
71359
4df3a065ee9b
(do_app_resume, do_app_suspend): Remove functions.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71241
diff
changeset
|
9768 DEFVAR_LISP ("mac-ts-script-language-on-focus", &Vmac_ts_script_language_on_focus, |
|
4df3a065ee9b
(do_app_resume, do_app_suspend): Remove functions.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71241
diff
changeset
|
9769 doc: /* *How to change Mac TSM script/language when a frame gets focus. |
|
4df3a065ee9b
(do_app_resume, do_app_suspend): Remove functions.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71241
diff
changeset
|
9770 If the value is t, the input script and language are restored to those |
|
4df3a065ee9b
(do_app_resume, do_app_suspend): Remove functions.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71241
diff
changeset
|
9771 used in the last focus frame. If the value is a pair of integers, the |
|
4df3a065ee9b
(do_app_resume, do_app_suspend): Remove functions.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71241
diff
changeset
|
9772 input script and language codes, which are defined in the Script |
|
4df3a065ee9b
(do_app_resume, do_app_suspend): Remove functions.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71241
diff
changeset
|
9773 Manager, are set to its car and cdr parts, respectively. Otherwise, |
|
4df3a065ee9b
(do_app_resume, do_app_suspend): Remove functions.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71241
diff
changeset
|
9774 Emacs doesn't set them and thus follows the system default behavior. */); |
|
4df3a065ee9b
(do_app_resume, do_app_suspend): Remove functions.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71241
diff
changeset
|
9775 Vmac_ts_script_language_on_focus = Qnil; |
|
71178
d098ef877d70
(tsm_document_id) [USE_MAC_TSM]: New variable.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
71135
diff
changeset
|
9776 #endif |
|
44890
01b93e5e53a7
Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents:
diff
changeset
|
9777 } |
| 52401 | 9778 |
| 9779 /* arch-tag: f2259165-4454-4c04-a029-a133c8af7b5b | |
| 9780 (do not change this comment) */ |
