Mercurial > vim
annotate src/gui.h @ 20330:a7dbf32b5cc0 v8.2.0720
patch 8.2.0720: occasional exit when encountering an X error
Commit: https://github.com/vim/vim/commit/b1062eb23e7a7a8b44f3416e79c3b28aa6c6c229
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat May 9 16:11:33 2020 +0200
patch 8.2.0720: occasional exit when encountering an X error
Problem: Occasional exit when encountering an X error. (Manfred Lotz)
Solution: On an X error do not exit, do preserve files.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 09 May 2020 16:15:04 +0200 |
parents | 22f0dda71638 |
children | 35921b7fc07a |
rev | line source |
---|---|
10042
4aead6a9b7a9
commit https://github.com/vim/vim/commit/edf3f97ae2af024708ebb4ac614227327033ca47
Christian Brabandt <cb@256bit.org>
parents:
9834
diff
changeset
|
1 /* vi:set ts=8 sts=4 sw=4 noet: |
7 | 2 * |
3 * VIM - Vi IMproved by Bram Moolenaar | |
4 * Motif support by Robert Webb | |
5 * | |
6 * Do ":help uganda" in Vim to read copying and usage conditions. | |
7 * Do ":help credits" in Vim to see a list of people who contributed. | |
8 */ | |
9 | |
10 #ifdef FEAT_GUI_MOTIF | |
11 # include <Xm/Xm.h> | |
12 #endif | |
13 | |
14 #ifdef FEAT_GUI_ATHENA | |
15 # include <X11/Intrinsic.h> | |
16 # include <X11/StringDefs.h> | |
17 #endif | |
18 | |
19 #ifdef FEAT_GUI_GTK | |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
20 # ifdef VMS // undef MIN and MAX because Intrinsic.h redefines them anyway |
844 | 21 # ifdef MAX |
22 # undef MAX | |
23 # endif | |
24 # ifdef MIN | |
25 # undef MIN | |
26 # endif | |
27 # endif | |
7 | 28 # include <X11/Intrinsic.h> |
29 # include <gtk/gtk.h> | |
30 #endif | |
31 | |
19526
22f0dda71638
patch 8.2.0320: no Haiku support
Bram Moolenaar <Bram@vim.org>
parents:
18753
diff
changeset
|
32 #ifdef FEAT_GUI_HAIKU |
22f0dda71638
patch 8.2.0320: no Haiku support
Bram Moolenaar <Bram@vim.org>
parents:
18753
diff
changeset
|
33 # include "gui_haiku.h" |
22f0dda71638
patch 8.2.0320: no Haiku support
Bram Moolenaar <Bram@vim.org>
parents:
18753
diff
changeset
|
34 #endif |
22f0dda71638
patch 8.2.0320: no Haiku support
Bram Moolenaar <Bram@vim.org>
parents:
18753
diff
changeset
|
35 |
17268
00cd8830bab9
patch 8.1.1633: cannot generate prototypes with X11 but without GUI
Bram Moolenaar <Bram@vim.org>
parents:
16451
diff
changeset
|
36 // Needed when generating prototypes, since FEAT_GUI is always defined then. |
00cd8830bab9
patch 8.1.1633: cannot generate prototypes with X11 but without GUI
Bram Moolenaar <Bram@vim.org>
parents:
16451
diff
changeset
|
37 #if defined(FEAT_XCLIPBOARD) && !defined(FEAT_GUI_MOTIF) \ |
00cd8830bab9
patch 8.1.1633: cannot generate prototypes with X11 but without GUI
Bram Moolenaar <Bram@vim.org>
parents:
16451
diff
changeset
|
38 && !defined(FEAT_GUI_ATHENA) && !defined(FEAT_GUI_GTK) |
00cd8830bab9
patch 8.1.1633: cannot generate prototypes with X11 but without GUI
Bram Moolenaar <Bram@vim.org>
parents:
16451
diff
changeset
|
39 # include <X11/Intrinsic.h> |
00cd8830bab9
patch 8.1.1633: cannot generate prototypes with X11 but without GUI
Bram Moolenaar <Bram@vim.org>
parents:
16451
diff
changeset
|
40 #endif |
00cd8830bab9
patch 8.1.1633: cannot generate prototypes with X11 but without GUI
Bram Moolenaar <Bram@vim.org>
parents:
16451
diff
changeset
|
41 |
7 | 42 #ifdef FEAT_GUI_MAC |
43 # include <Types.h> | |
44 /*# include <Memory.h>*/ | |
45 # include <Quickdraw.h> | |
46 # include <Fonts.h> | |
47 # include <Events.h> | |
48 # include <Menus.h> | |
49 # if !(defined (TARGET_API_MAC_CARBON) && (TARGET_API_MAC_CARBON)) | |
6448 | 50 # include <Windows.h> |
7 | 51 # endif |
52 # include <Controls.h> | |
53 /*# include <TextEdit.h>*/ | |
54 # include <Dialogs.h> | |
55 # include <OSUtils.h> | |
56 /* | |
57 # include <ToolUtils.h> | |
58 # include <SegLoad.h>*/ | |
59 #endif | |
60 | |
61 #ifdef FEAT_GUI_PHOTON | |
62 # include <Ph.h> | |
63 # include <Pt.h> | |
64 # include "photon/PxProto.h" | |
65 #endif | |
66 | |
67 /* | |
1137 | 68 * On some systems scrolling needs to be done right away instead of in the |
69 * main loop. | |
70 */ | |
2277
f42e0b5ff9e9
Change remaining HAVE_GTK2 to FEAT_GUI_GTK.
Bram Moolenaar <bram@vim.org>
parents:
2275
diff
changeset
|
71 #if defined(FEAT_GUI_MSWIN) || defined(FEAT_GUI_MAC) || defined(FEAT_GUI_GTK) |
7 | 72 # define USE_ON_FLY_SCROLL |
73 #endif | |
74 | |
75 /* | |
76 * GUIs that support dropping files on a running Vim. | |
77 */ | |
14428
aab5947be7c5
patch 8.1.0228: dropping files is ignored while Vim is busy
Christian Brabandt <cb@256bit.org>
parents:
13847
diff
changeset
|
78 #if (defined(FEAT_DND) && defined(FEAT_GUI_GTK)) \ |
aab5947be7c5
patch 8.1.0228: dropping files is ignored while Vim is busy
Christian Brabandt <cb@256bit.org>
parents:
13847
diff
changeset
|
79 || defined(FEAT_GUI_MSWIN) \ |
19526
22f0dda71638
patch 8.2.0320: no Haiku support
Bram Moolenaar <Bram@vim.org>
parents:
18753
diff
changeset
|
80 || defined(FEAT_GUI_MAC) \ |
22f0dda71638
patch 8.2.0320: no Haiku support
Bram Moolenaar <Bram@vim.org>
parents:
18753
diff
changeset
|
81 || defined(FEAT_GUI_HAIKU) |
7 | 82 # define HAVE_DROP_FILE |
83 #endif | |
84 | |
85 /* | |
86 * This define makes menus always use a fontset. | |
87 * We're not sure if this code always works, thus it can be disabled. | |
88 */ | |
89 #ifdef FEAT_XFONTSET | |
90 # define FONTSET_ALWAYS | |
91 #endif | |
92 | |
93 /* | |
94 * These macros convert between character row/column and pixel coordinates. | |
95 * TEXT_X - Convert character column into X pixel coord for drawing strings. | |
96 * TEXT_Y - Convert character row into Y pixel coord for drawing strings. | |
97 * FILL_X - Convert character column into X pixel coord for filling the area | |
98 * under the character. | |
99 * FILL_Y - Convert character row into Y pixel coord for filling the area | |
100 * under the character. | |
101 * X_2_COL - Convert X pixel coord into character column. | |
102 * Y_2_ROW - Convert Y pixel coord into character row. | |
103 */ | |
15868
7fad90423bd2
patch 8.1.0941: macros for MS-Windows are inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
15605
diff
changeset
|
104 #ifdef FEAT_GUI_MSWIN |
7 | 105 # define TEXT_X(col) ((col) * gui.char_width) |
106 # define TEXT_Y(row) ((row) * gui.char_height + gui.char_ascent) | |
107 # define FILL_X(col) ((col) * gui.char_width) | |
108 # define FILL_Y(row) ((row) * gui.char_height) | |
109 # define X_2_COL(x) ((x) / gui.char_width) | |
110 # define Y_2_ROW(y) ((y) / gui.char_height) | |
111 #else | |
112 # define TEXT_X(col) ((col) * gui.char_width + gui.border_offset) | |
113 # define FILL_X(col) ((col) * gui.char_width + gui.border_offset) | |
114 # define X_2_COL(x) (((x) - gui.border_offset) / gui.char_width) | |
115 # define TEXT_Y(row) ((row) * gui.char_height + gui.char_ascent \ | |
116 + gui.border_offset) | |
117 # define FILL_Y(row) ((row) * gui.char_height + gui.border_offset) | |
118 # define Y_2_ROW(y) (((y) - gui.border_offset) / gui.char_height) | |
119 #endif | |
120 | |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
121 // Indices for arrays of scrollbars |
7 | 122 #define SBAR_NONE -1 |
123 #define SBAR_LEFT 0 | |
124 #define SBAR_RIGHT 1 | |
125 #define SBAR_BOTTOM 2 | |
126 | |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
127 // Orientations for scrollbars |
7 | 128 #define SBAR_VERT 0 |
129 #define SBAR_HORIZ 1 | |
130 | |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
131 // Default size of scrollbar |
7 | 132 #define SB_DEFAULT_WIDTH 16 |
133 | |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
134 // Default height of the menu bar |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
135 #define MENU_DEFAULT_HEIGHT 1 // figure it out at runtime |
7 | 136 |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
137 // Flags for gui_mch_outstr_nowrap() |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
138 #define GUI_MON_WRAP_CURSOR 0x01 // wrap cursor at end of line |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
139 #define GUI_MON_INVERT 0x02 // invert the characters |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
140 #define GUI_MON_IS_CURSOR 0x04 // drawing cursor |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
141 #define GUI_MON_TRS_CURSOR 0x08 // drawing transparent cursor |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
142 #define GUI_MON_NOCLEAR 0x10 // don't clear selection |
7 | 143 |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
144 // Flags for gui_mch_draw_string() |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
145 #define DRAW_TRANSP 0x01 // draw with transparent bg |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
146 #define DRAW_BOLD 0x02 // draw bold text |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
147 #define DRAW_UNDERL 0x04 // draw underline text |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
148 #define DRAW_UNDERC 0x08 // draw undercurl text |
2823 | 149 #if defined(FEAT_GUI_GTK) |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
150 # define DRAW_ITALIC 0x10 // draw italic text |
7 | 151 #endif |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
152 #define DRAW_CURSOR 0x20 // drawing block cursor (win32) |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
153 #define DRAW_STRIKE 0x40 // strikethrough |
7 | 154 |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
155 // For our own tearoff menu item |
7 | 156 #define TEAR_STRING "-->Detach" |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
157 #define TEAR_LEN (9) // length of above string |
7 | 158 |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
159 // for the toolbar |
8163
d8a8e86f39ad
commit https://github.com/vim/vim/commit/e89ff0472bc33779583d48e8d38a5e794d05613a
Christian Brabandt <cb@256bit.org>
parents:
6448
diff
changeset
|
160 #define TOOLBAR_BUTTON_HEIGHT 18 |
d8a8e86f39ad
commit https://github.com/vim/vim/commit/e89ff0472bc33779583d48e8d38a5e794d05613a
Christian Brabandt <cb@256bit.org>
parents:
6448
diff
changeset
|
161 #define TOOLBAR_BUTTON_WIDTH 18 |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
162 #define TOOLBAR_BORDER_HEIGHT 12 // room above+below buttons for MSWindows |
7 | 163 |
810 | 164 #ifdef FEAT_GUI_MSWIN |
811 | 165 # define TABLINE_HEIGHT 22 |
810 | 166 #endif |
819 | 167 #ifdef FEAT_GUI_MOTIF |
168 # define TABLINE_HEIGHT 30 | |
169 #endif | |
810 | 170 |
574 | 171 #if defined(NO_CONSOLE) || defined(FEAT_GUI_GTK) || defined(FEAT_GUI_X11) |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
172 # define NO_CONSOLE_INPUT // use no_console_input() to check if there |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
173 // is no console input possible |
7 | 174 #endif |
175 | |
176 typedef struct GuiScrollbar | |
177 { | |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
178 long ident; // Unique identifier for each scrollbar |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
179 win_T *wp; // Scrollbar's window, NULL for bottom |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
180 int type; // one of SBAR_{LEFT,RIGHT,BOTTOM} |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
181 long value; // Represents top line number visible |
7 | 182 #ifdef FEAT_GUI_ATHENA |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
183 int pixval; // pixel count of value |
7 | 184 #endif |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
185 long size; // Size of scrollbar thumb |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
186 long max; // Number of lines in buffer |
7 | 187 |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
188 // Values measured in characters: |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
189 int top; // Top of scroll bar (chars from row 0) |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
190 int height; // Current height of scroll bar in rows |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
191 int width; // Current width of scroll bar in cols |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
192 int status_height; // Height of status line |
7 | 193 #ifdef FEAT_GUI_X11 |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
194 Widget id; // Id of real scroll bar |
7 | 195 #endif |
196 #ifdef FEAT_GUI_GTK | |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
197 GtkWidget *id; // Id of real scroll bar |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
198 unsigned long handler_id; // Id of "value_changed" signal handler |
7 | 199 #endif |
200 | |
201 #ifdef FEAT_GUI_MSWIN | |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
202 HWND id; // Id of real scroll bar |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
203 int scroll_shift; // The scrollbar stuff can handle only up to |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
204 // 32767 lines. When the file is longer, |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
205 // scroll_shift is set to the number of shifts |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
206 // to reduce the count. |
7 | 207 #endif |
19526
22f0dda71638
patch 8.2.0320: no Haiku support
Bram Moolenaar <Bram@vim.org>
parents:
18753
diff
changeset
|
208 |
22f0dda71638
patch 8.2.0320: no Haiku support
Bram Moolenaar <Bram@vim.org>
parents:
18753
diff
changeset
|
209 #if FEAT_GUI_HAIKU |
22f0dda71638
patch 8.2.0320: no Haiku support
Bram Moolenaar <Bram@vim.org>
parents:
18753
diff
changeset
|
210 VimScrollBar *id; // Pointer to real scroll bar |
22f0dda71638
patch 8.2.0320: no Haiku support
Bram Moolenaar <Bram@vim.org>
parents:
18753
diff
changeset
|
211 #endif |
7 | 212 #ifdef FEAT_GUI_MAC |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
213 ControlHandle id; // A handle to the scrollbar |
7 | 214 #endif |
215 #ifdef FEAT_GUI_PHOTON | |
216 PtWidget_t *id; | |
217 #endif | |
218 } scrollbar_T; | |
219 | |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
220 typedef long guicolor_T; // handle for a GUI color; for X11 this should |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
221 // be "Pixel", but that's an unsigned and we |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
222 // need a signed value |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
223 #define INVALCOLOR (guicolor_T)-11111 // number for invalid color; on 32 bit |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
224 // displays there is a tiny chance this is an |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
225 // actual color |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
226 #define CTERMCOLOR (guicolor_T)-11110 // only used for cterm.bg_rgb and |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
227 // cterm.fg_rgb: use cterm color |
7 | 228 |
229 #ifdef FEAT_GUI_GTK | |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
230 typedef PangoFontDescription *GuiFont; // handle for a GUI font |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
231 typedef PangoFontDescription *GuiFontset; // handle for a GUI fontset |
7 | 232 # define NOFONT (GuiFont)NULL |
233 # define NOFONTSET (GuiFontset)NULL | |
234 #else | |
235 # ifdef FEAT_GUI_PHOTON | |
236 typedef char *GuiFont; | |
237 typedef char *GuiFontset; | |
238 # define NOFONT (GuiFont)NULL | |
239 # define NOFONTSET (GuiFontset)NULL | |
240 # else | |
241 # ifdef FEAT_GUI_X11 | |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
242 typedef XFontStruct *GuiFont; // handle for a GUI font |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
243 typedef XFontSet GuiFontset; // handle for a GUI fontset |
7 | 244 # define NOFONT (GuiFont)0 |
245 # define NOFONTSET (GuiFontset)0 | |
246 # else | |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
247 typedef long_u GuiFont; // handle for a GUI font |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
248 typedef long_u GuiFontset; // handle for a GUI fontset |
7 | 249 # define NOFONT (GuiFont)0 |
250 # define NOFONTSET (GuiFontset)0 | |
251 # endif | |
252 # endif | |
253 #endif | |
254 | |
16451
7ae2396cef62
patch 8.1.1230: a lot of code is shared between vim.exe and gvim.exe
Bram Moolenaar <Bram@vim.org>
parents:
15868
diff
changeset
|
255 #ifdef VIMDLL |
7ae2396cef62
patch 8.1.1230: a lot of code is shared between vim.exe and gvim.exe
Bram Moolenaar <Bram@vim.org>
parents:
15868
diff
changeset
|
256 // Use spawn when GUI is starting. |
7ae2396cef62
patch 8.1.1230: a lot of code is shared between vim.exe and gvim.exe
Bram Moolenaar <Bram@vim.org>
parents:
15868
diff
changeset
|
257 # define GUI_MAY_SPAWN |
7ae2396cef62
patch 8.1.1230: a lot of code is shared between vim.exe and gvim.exe
Bram Moolenaar <Bram@vim.org>
parents:
15868
diff
changeset
|
258 |
7ae2396cef62
patch 8.1.1230: a lot of code is shared between vim.exe and gvim.exe
Bram Moolenaar <Bram@vim.org>
parents:
15868
diff
changeset
|
259 // Uncomment the next definition if you want to use the `:gui` command on |
7ae2396cef62
patch 8.1.1230: a lot of code is shared between vim.exe and gvim.exe
Bram Moolenaar <Bram@vim.org>
parents:
15868
diff
changeset
|
260 // Windows. It uses `:mksession` to inherit the session from vim.exe to |
7ae2396cef62
patch 8.1.1230: a lot of code is shared between vim.exe and gvim.exe
Bram Moolenaar <Bram@vim.org>
parents:
15868
diff
changeset
|
261 // gvim.exe. So, it doesn't work perfectly. (EXPERIMENTAL) |
7ae2396cef62
patch 8.1.1230: a lot of code is shared between vim.exe and gvim.exe
Bram Moolenaar <Bram@vim.org>
parents:
15868
diff
changeset
|
262 //# define EXPERIMENTAL_GUI_CMD |
7ae2396cef62
patch 8.1.1230: a lot of code is shared between vim.exe and gvim.exe
Bram Moolenaar <Bram@vim.org>
parents:
15868
diff
changeset
|
263 #endif |
7ae2396cef62
patch 8.1.1230: a lot of code is shared between vim.exe and gvim.exe
Bram Moolenaar <Bram@vim.org>
parents:
15868
diff
changeset
|
264 |
7 | 265 typedef struct Gui |
266 { | |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
267 int in_focus; // Vim has input focus |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
268 int in_use; // Is the GUI being used? |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
269 int starting; // GUI will start in a little while |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
270 int shell_created; // Has the shell been created yet? |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
271 int dying; // Is vim dying? Then output to terminal |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
272 int dofork; // Use fork() when GUI is starting |
16451
7ae2396cef62
patch 8.1.1230: a lot of code is shared between vim.exe and gvim.exe
Bram Moolenaar <Bram@vim.org>
parents:
15868
diff
changeset
|
273 #ifdef GUI_MAY_SPAWN |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
274 int dospawn; // Use spawn() when GUI is starting |
16451
7ae2396cef62
patch 8.1.1230: a lot of code is shared between vim.exe and gvim.exe
Bram Moolenaar <Bram@vim.org>
parents:
15868
diff
changeset
|
275 #endif |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
276 int dragged_sb; // Which scrollbar being dragged, if any? |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
277 win_T *dragged_wp; // Which WIN's sb being dragged, if any? |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
278 int pointer_hidden; // Is the mouse pointer hidden? |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
279 int col; // Current cursor column in GUI display |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
280 int row; // Current cursor row in GUI display |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
281 int cursor_col; // Physical cursor column in GUI display |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
282 int cursor_row; // Physical cursor row in GUI display |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
283 char cursor_is_valid; // There is a cursor at cursor_row/col |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
284 int num_cols; // Number of columns |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
285 int num_rows; // Number of rows |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
286 int scroll_region_top; // Top (first) line of scroll region |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
287 int scroll_region_bot; // Bottom (last) line of scroll region |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
288 int scroll_region_left; // Left (first) column of scroll region |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
289 int scroll_region_right; // Right (last) col. of scroll region |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
290 int highlight_mask; // Highlight attribute mask |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
291 int scrollbar_width; // Width of vertical scrollbars |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
292 int scrollbar_height; // Height of horizontal scrollbar |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
293 int left_sbar_x; // Calculated x coord for left scrollbar |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
294 int right_sbar_x; // Calculated x coord for right scrollbar |
7 | 295 |
296 #ifdef FEAT_MENU | |
297 # ifndef FEAT_GUI_GTK | |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
298 int menu_height; // Height of the menu bar |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
299 int menu_width; // Width of the menu bar |
7 | 300 # endif |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
301 char menu_is_active; // TRUE if menu is present |
7 | 302 # ifdef FEAT_GUI_ATHENA |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
303 char menu_height_fixed; // TRUE if menu height fixed |
7 | 304 # endif |
305 #endif | |
306 | |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
307 scrollbar_T bottom_sbar; // Bottom scrollbar |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
308 int which_scrollbars[3];// Which scrollbar boxes are active? |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
309 int prev_wrap; // For updating the horizontal scrollbar |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
310 int char_width; // Width of char cell in pixels |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
311 int char_height; // Height of char cell in pixels, includes |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
312 // 'linespace' |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
313 int char_ascent; // Ascent of char in pixels |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
314 int border_width; // Width of our border around text area |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
315 int border_offset; // Total pixel offset for all borders |
7 | 316 |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
317 GuiFont norm_font; // Normal font |
2277
f42e0b5ff9e9
Change remaining HAVE_GTK2 to FEAT_GUI_GTK.
Bram Moolenaar <bram@vim.org>
parents:
2275
diff
changeset
|
318 #ifndef FEAT_GUI_GTK |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
319 GuiFont bold_font; // Bold font |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
320 GuiFont ital_font; // Italic font |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
321 GuiFont boldital_font; // Bold-Italic font |
7 | 322 #else |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
323 int font_can_bold; // Whether norm_font supports bold weight. |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
324 // The styled font variants are not used. |
7 | 325 #endif |
326 | |
2277
f42e0b5ff9e9
Change remaining HAVE_GTK2 to FEAT_GUI_GTK.
Bram Moolenaar <bram@vim.org>
parents:
2275
diff
changeset
|
327 #if defined(FEAT_MENU) && !defined(FEAT_GUI_GTK) |
7 | 328 # ifdef FONTSET_ALWAYS |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
329 GuiFontset menu_fontset; // set of fonts for multi-byte chars |
7 | 330 # else |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
331 GuiFont menu_font; // menu item font |
7 | 332 # endif |
333 #endif | |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
334 GuiFont wide_font; // Normal 'guifontwide' font |
15605
62b3805506b3
patch 8.1.0810: too many #ifdefs
Bram Moolenaar <Bram@vim.org>
parents:
14428
diff
changeset
|
335 #ifndef FEAT_GUI_GTK |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
336 GuiFont wide_bold_font; // Bold 'guifontwide' font |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
337 GuiFont wide_ital_font; // Italic 'guifontwide' font |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
338 GuiFont wide_boldital_font; // Bold-Italic 'guifontwide' font |
7 | 339 #endif |
340 #ifdef FEAT_XFONTSET | |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
341 GuiFontset fontset; // set of fonts for multi-byte chars |
7 | 342 #endif |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
343 guicolor_T back_pixel; // Color of background |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
344 guicolor_T norm_pixel; // Color of normal text |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
345 guicolor_T def_back_pixel; // default Color of background |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
346 guicolor_T def_norm_pixel; // default Color of normal text |
7 | 347 |
348 #ifdef FEAT_GUI_X11 | |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
349 char *rsrc_menu_fg_name; // Color of menu & dialog foreground |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
350 guicolor_T menu_fg_pixel; // Same in Pixel format |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
351 char *rsrc_menu_bg_name; // Color of menu & dialog background |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
352 guicolor_T menu_bg_pixel; // Same in Pixel format |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
353 char *rsrc_scroll_fg_name; // Color of scrollbar foreground |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
354 guicolor_T scroll_fg_pixel; // Same in Pixel format |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
355 char *rsrc_scroll_bg_name; // Color of scrollbar background |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
356 guicolor_T scroll_bg_pixel; // Same in Pixel format |
7 | 357 |
358 # ifdef FEAT_GUI_MOTIF | |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
359 guicolor_T menu_def_fg_pixel; // Default menu foreground |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
360 guicolor_T menu_def_bg_pixel; // Default menu background |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
361 guicolor_T scroll_def_fg_pixel; // Default scrollbar foreground |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
362 guicolor_T scroll_def_bg_pixel; // Default scrollbar background |
7 | 363 # endif |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
364 Display *dpy; // X display |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
365 Window wid; // Window id of text area |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
366 int visibility; // Is shell partially/fully obscured? |
7 | 367 GC text_gc; |
368 GC back_gc; | |
369 GC invert_gc; | |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
370 Cursor blank_pointer; // Blank pointer |
7 | 371 |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
372 // X Resources |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
373 char_u *rsrc_font_name; // Resource font name, used if 'guifont' |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
374 // not set |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
375 char_u *rsrc_bold_font_name; // Resource bold font name |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
376 char_u *rsrc_ital_font_name; // Resource italic font name |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
377 char_u *rsrc_boldital_font_name; // Resource bold-italic font name |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
378 char_u *rsrc_menu_font_name; // Resource menu Font name |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
379 Bool rsrc_rev_video; // Use reverse video? |
7 | 380 |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
381 char_u *geom; // Geometry, eg "80x24" |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
382 Bool color_approx; // Some color was approximated |
7 | 383 #endif |
384 | |
385 #ifdef FEAT_GUI_GTK | |
8218
3456e2ebebd4
commit https://github.com/vim/vim/commit/9892189d2e7ab94b750f99e6da4cbfc3c8014517
Christian Brabandt <cb@256bit.org>
parents:
8163
diff
changeset
|
386 # ifndef USE_GTK3 |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
387 int visibility; // Is shell partially/fully obscured? |
8218
3456e2ebebd4
commit https://github.com/vim/vim/commit/9892189d2e7ab94b750f99e6da4cbfc3c8014517
Christian Brabandt <cb@256bit.org>
parents:
8163
diff
changeset
|
388 # endif |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
389 GdkCursor *blank_pointer; // Blank pointer |
7 | 390 |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
391 // X Resources |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
392 char_u *geom; // Geometry, eg "80x24" |
7 | 393 |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
394 GtkWidget *mainwin; // top level GTK window |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
395 GtkWidget *formwin; // manages all the windows below |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
396 GtkWidget *drawarea; // the "text" area |
7 | 397 # ifdef FEAT_MENU |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
398 GtkWidget *menubar; // menubar |
7 | 399 # endif |
400 # ifdef FEAT_TOOLBAR | |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
401 GtkWidget *toolbar; // toolbar |
7 | 402 # endif |
403 # ifdef FEAT_GUI_GNOME | |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
404 GtkWidget *menubar_h; // menubar handle |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
405 GtkWidget *toolbar_h; // toolbar handle |
7 | 406 # endif |
9624
d63b85fe3dc7
commit https://github.com/vim/vim/commit/36edf0685c8b55ee3ce709058d83ada8027fec1e
Christian Brabandt <cb@256bit.org>
parents:
8643
diff
changeset
|
407 # ifdef USE_GTK3 |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
408 GdkRGBA *fgcolor; // GDK-styled foreground color |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
409 GdkRGBA *bgcolor; // GDK-styled background color |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
410 GdkRGBA *spcolor; // GDK-styled special color |
9624
d63b85fe3dc7
commit https://github.com/vim/vim/commit/36edf0685c8b55ee3ce709058d83ada8027fec1e
Christian Brabandt <cb@256bit.org>
parents:
8643
diff
changeset
|
411 # else |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
412 GdkColor *fgcolor; // GDK-styled foreground color |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
413 GdkColor *bgcolor; // GDK-styled background color |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
414 GdkColor *spcolor; // GDK-styled special color |
9624
d63b85fe3dc7
commit https://github.com/vim/vim/commit/36edf0685c8b55ee3ce709058d83ada8027fec1e
Christian Brabandt <cb@256bit.org>
parents:
8643
diff
changeset
|
415 # endif |
8218
3456e2ebebd4
commit https://github.com/vim/vim/commit/9892189d2e7ab94b750f99e6da4cbfc3c8014517
Christian Brabandt <cb@256bit.org>
parents:
8163
diff
changeset
|
416 # ifdef USE_GTK3 |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
417 cairo_surface_t *surface; // drawarea surface |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
418 gboolean by_signal; // cause of draw operation |
8218
3456e2ebebd4
commit https://github.com/vim/vim/commit/9892189d2e7ab94b750f99e6da4cbfc3c8014517
Christian Brabandt <cb@256bit.org>
parents:
8163
diff
changeset
|
419 # else |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
420 GdkGC *text_gc; // cached GC for normal text |
8218
3456e2ebebd4
commit https://github.com/vim/vim/commit/9892189d2e7ab94b750f99e6da4cbfc3c8014517
Christian Brabandt <cb@256bit.org>
parents:
8163
diff
changeset
|
421 # endif |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
422 PangoContext *text_context; // the context used for all text |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
423 PangoFont *ascii_font; // cached font for ASCII strings |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
424 PangoGlyphString *ascii_glyphs; // cached code point -> glyph map |
714 | 425 # ifdef FEAT_GUI_TABLINE |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
426 GtkWidget *tabline; // tab pages line handle |
7 | 427 # endif |
428 | |
429 GtkAccelGroup *accel_group; | |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
430 GtkWidget *filedlg; // file selection dialog |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
431 char_u *browse_fname; // file name from filedlg |
2923 | 432 |
433 guint32 event_time; | |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
434 #endif // FEAT_GUI_GTK |
7 | 435 |
843 | 436 #if defined(FEAT_GUI_TABLINE) \ |
15868
7fad90423bd2
patch 8.1.0941: macros for MS-Windows are inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
15605
diff
changeset
|
437 && (defined(FEAT_GUI_MSWIN) || defined(FEAT_GUI_MOTIF) \ |
19526
22f0dda71638
patch 8.2.0320: no Haiku support
Bram Moolenaar <Bram@vim.org>
parents:
18753
diff
changeset
|
438 || defined(FEAT_GUI_MAC) || defined(FEAT_GUI_HAIKU)) |
843 | 439 int tabline_height; |
440 #endif | |
441 | |
7 | 442 #ifdef FEAT_FOOTER |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
443 int footer_height; // height of the message footer |
7 | 444 #endif |
445 | |
446 #if defined(FEAT_TOOLBAR) \ | |
19526
22f0dda71638
patch 8.2.0320: no Haiku support
Bram Moolenaar <Bram@vim.org>
parents:
18753
diff
changeset
|
447 && (defined(FEAT_GUI_ATHENA) || defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_HAIKU)) |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
448 int toolbar_height; // height of the toolbar |
7 | 449 #endif |
450 | |
451 #ifdef FEAT_BEVAL_TIP | |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
452 // Tooltip properties; also used for balloon evaluation |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
453 char_u *rsrc_tooltip_font_name; // tooltip font name |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
454 char *rsrc_tooltip_fg_name; // tooltip foreground color name |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
455 char *rsrc_tooltip_bg_name; // tooltip background color name |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
456 guicolor_T tooltip_fg_pixel; // tooltip foreground color |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
457 guicolor_T tooltip_bg_pixel; // tooltip background color |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
458 XFontSet tooltip_fontset; // tooltip fontset |
7 | 459 #endif |
460 | |
461 #ifdef FEAT_GUI_MSWIN | |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
462 GuiFont currFont; // Current font |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
463 guicolor_T currFgColor; // Current foreground text color |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
464 guicolor_T currBgColor; // Current background text color |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
465 guicolor_T currSpColor; // Current special text color |
7 | 466 #endif |
467 | |
19526
22f0dda71638
patch 8.2.0320: no Haiku support
Bram Moolenaar <Bram@vim.org>
parents:
18753
diff
changeset
|
468 #ifdef FEAT_GUI_HAIKU |
22f0dda71638
patch 8.2.0320: no Haiku support
Bram Moolenaar <Bram@vim.org>
parents:
18753
diff
changeset
|
469 VimApp *vimApp; |
22f0dda71638
patch 8.2.0320: no Haiku support
Bram Moolenaar <Bram@vim.org>
parents:
18753
diff
changeset
|
470 VimWindow *vimWindow; |
22f0dda71638
patch 8.2.0320: no Haiku support
Bram Moolenaar <Bram@vim.org>
parents:
18753
diff
changeset
|
471 VimFormView *vimForm; |
22f0dda71638
patch 8.2.0320: no Haiku support
Bram Moolenaar <Bram@vim.org>
parents:
18753
diff
changeset
|
472 VimTextAreaView *vimTextArea; |
22f0dda71638
patch 8.2.0320: no Haiku support
Bram Moolenaar <Bram@vim.org>
parents:
18753
diff
changeset
|
473 int vdcmp; // Vim Direct Communication Message Port |
22f0dda71638
patch 8.2.0320: no Haiku support
Bram Moolenaar <Bram@vim.org>
parents:
18753
diff
changeset
|
474 #endif |
22f0dda71638
patch 8.2.0320: no Haiku support
Bram Moolenaar <Bram@vim.org>
parents:
18753
diff
changeset
|
475 |
7 | 476 #ifdef FEAT_GUI_MAC |
477 WindowPtr VimWindow; | |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
478 MenuHandle MacOSHelpMenu; // Help menu provided by the MacOS |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
479 int MacOSHelpItems; // Nr of help-items supplied by MacOS |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
480 WindowPtr wid; // Window id of text area |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
481 int visibility; // Is window partially/fully obscured? |
7 | 482 #endif |
483 | |
484 #ifdef FEAT_GUI_PHOTON | |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
485 PtWidget_t *vimWindow; // PtWindow |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
486 PtWidget_t *vimTextArea; // PtRaw |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
487 PtWidget_t *vimContainer; // PtPanel |
7 | 488 # if defined(FEAT_MENU) || defined(FEAT_TOOLBAR) |
489 PtWidget_t *vimToolBarGroup; | |
490 # endif | |
491 # ifdef FEAT_MENU | |
492 PtWidget_t *vimMenuBar; | |
493 # endif | |
494 # ifdef FEAT_TOOLBAR | |
495 PtWidget_t *vimToolBar; | |
496 int toolbar_height; | |
497 # endif | |
498 PhEvent_t *event_buffer; | |
499 #endif | |
500 | |
501 #ifdef FEAT_XIM | |
502 char *rsrc_input_method; | |
503 char *rsrc_preedit_type_name; | |
504 #endif | |
505 } gui_T; | |
506 | |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
507 extern gui_T gui; // this is defined in gui.c |
7 | 508 |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
509 // definitions of available window positionings for gui_*_position_in_parent() |
7 | 510 typedef enum |
511 { | |
512 VW_POS_MOUSE, | |
513 VW_POS_CENTER, | |
514 VW_POS_TOP_CENTER | |
325 | 515 } gui_win_pos_T; |
7 | 516 |
28 | 517 #ifdef FIND_REPLACE_DIALOG |
7 | 518 /* |
519 * Flags used to distinguish the different contexts in which the | |
520 * find/replace callback may be called. | |
521 */ | |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
522 # define FRD_FINDNEXT 1 // Find next in find dialog |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
523 # define FRD_R_FINDNEXT 2 // Find next in repl dialog |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
524 # define FRD_REPLACE 3 // Replace once |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
525 # define FRD_REPLACEALL 4 // Replace remaining matches |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
526 # define FRD_UNDO 5 // Undo replaced text |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
527 # define FRD_TYPE_MASK 7 // Mask for the callback type |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
528 // Flags which change the way searching is done. |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
529 # define FRD_WHOLE_WORD 0x08 // match whole word only |
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
530 # define FRD_MATCH_CASE 0x10 // match case |
7 | 531 #endif |
836 | 532 |
2277
f42e0b5ff9e9
Change remaining HAVE_GTK2 to FEAT_GUI_GTK.
Bram Moolenaar <bram@vim.org>
parents:
2275
diff
changeset
|
533 #ifdef FEAT_GUI_GTK |
836 | 534 /* |
535 * Convenience macros to convert from 'encoding' to 'termencoding' and | |
536 * vice versa. If no conversion is necessary the passed-in pointer is | |
537 * returned as is, without allocating any memory. Thus additional _FREE() | |
538 * macros are provided. The _FREE() macros also set the pointer to NULL, | |
539 * in order to avoid bugs due to illegal memory access only happening if | |
540 * 'encoding' != utf-8... | |
541 * | |
542 * Defining these macros as pure expressions looks a bit tricky but | |
543 * avoids depending on the context of the macro expansion. One of the | |
544 * rare occasions where the comma operator comes in handy :) | |
545 * | |
546 * Note: Do NOT keep the result around when handling control back to | |
547 * the main Vim! The user could change 'encoding' at any time. | |
548 */ | |
549 # define CONVERT_TO_UTF8(String) \ | |
550 ((output_conv.vc_type == CONV_NONE || (String) == NULL) \ | |
551 ? (String) \ | |
552 : string_convert(&output_conv, (String), NULL)) | |
553 | |
554 # define CONVERT_TO_UTF8_FREE(String) \ | |
555 ((String) = ((output_conv.vc_type == CONV_NONE) \ | |
556 ? (char_u *)NULL \ | |
557 : (vim_free(String), (char_u *)NULL))) | |
558 | |
559 # define CONVERT_FROM_UTF8(String) \ | |
560 ((input_conv.vc_type == CONV_NONE || (String) == NULL) \ | |
561 ? (String) \ | |
562 : string_convert(&input_conv, (String), NULL)) | |
563 | |
564 # define CONVERT_FROM_UTF8_FREE(String) \ | |
565 ((String) = ((input_conv.vc_type == CONV_NONE) \ | |
566 ? (char_u *)NULL \ | |
567 : (vim_free(String), (char_u *)NULL))) | |
568 | |
569 #else | |
570 # define CONVERT_TO_UTF8(String) (String) | |
571 # define CONVERT_TO_UTF8_FREE(String) ((String) = (char_u *)NULL) | |
572 # define CONVERT_FROM_UTF8(String) (String) | |
573 # define CONVERT_FROM_UTF8_FREE(String) ((String) = (char_u *)NULL) | |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
574 #endif // FEAT_GUI_GTK |
10176
51888fb2599f
commit https://github.com/vim/vim/commit/d47d83745ff450232328ca7a4b8b00b31bad22fc
Christian Brabandt <cb@256bit.org>
parents:
10042
diff
changeset
|
575 |
51888fb2599f
commit https://github.com/vim/vim/commit/d47d83745ff450232328ca7a4b8b00b31bad22fc
Christian Brabandt <cb@256bit.org>
parents:
10042
diff
changeset
|
576 #ifdef FEAT_GUI_GTK |
51888fb2599f
commit https://github.com/vim/vim/commit/d47d83745ff450232328ca7a4b8b00b31bad22fc
Christian Brabandt <cb@256bit.org>
parents:
10042
diff
changeset
|
577 /* |
51888fb2599f
commit https://github.com/vim/vim/commit/d47d83745ff450232328ca7a4b8b00b31bad22fc
Christian Brabandt <cb@256bit.org>
parents:
10042
diff
changeset
|
578 * The second parameter of g_signal_handlers_disconnect_by_func() is supposed |
51888fb2599f
commit https://github.com/vim/vim/commit/d47d83745ff450232328ca7a4b8b00b31bad22fc
Christian Brabandt <cb@256bit.org>
parents:
10042
diff
changeset
|
579 * to be a function pointer which was passed to g_signal_connect_*() somewhere |
51888fb2599f
commit https://github.com/vim/vim/commit/d47d83745ff450232328ca7a4b8b00b31bad22fc
Christian Brabandt <cb@256bit.org>
parents:
10042
diff
changeset
|
580 * previously, and hence it must be of type GCallback, i.e., void (*)(void). |
51888fb2599f
commit https://github.com/vim/vim/commit/d47d83745ff450232328ca7a4b8b00b31bad22fc
Christian Brabandt <cb@256bit.org>
parents:
10042
diff
changeset
|
581 * |
51888fb2599f
commit https://github.com/vim/vim/commit/d47d83745ff450232328ca7a4b8b00b31bad22fc
Christian Brabandt <cb@256bit.org>
parents:
10042
diff
changeset
|
582 * Meanwhile, g_signal_handlers_disconnect_by_func() is a macro calling |
51888fb2599f
commit https://github.com/vim/vim/commit/d47d83745ff450232328ca7a4b8b00b31bad22fc
Christian Brabandt <cb@256bit.org>
parents:
10042
diff
changeset
|
583 * g_signal_handlers_disconnect_matched(), and the second parameter of the |
51888fb2599f
commit https://github.com/vim/vim/commit/d47d83745ff450232328ca7a4b8b00b31bad22fc
Christian Brabandt <cb@256bit.org>
parents:
10042
diff
changeset
|
584 * former is to be passed to the sixth parameter of the latter the type of |
51888fb2599f
commit https://github.com/vim/vim/commit/d47d83745ff450232328ca7a4b8b00b31bad22fc
Christian Brabandt <cb@256bit.org>
parents:
10042
diff
changeset
|
585 * which, however, is declared as void * in the function signature. |
51888fb2599f
commit https://github.com/vim/vim/commit/d47d83745ff450232328ca7a4b8b00b31bad22fc
Christian Brabandt <cb@256bit.org>
parents:
10042
diff
changeset
|
586 * |
51888fb2599f
commit https://github.com/vim/vim/commit/d47d83745ff450232328ca7a4b8b00b31bad22fc
Christian Brabandt <cb@256bit.org>
parents:
10042
diff
changeset
|
587 * While the ISO C Standard does not require that function pointers be |
51888fb2599f
commit https://github.com/vim/vim/commit/d47d83745ff450232328ca7a4b8b00b31bad22fc
Christian Brabandt <cb@256bit.org>
parents:
10042
diff
changeset
|
588 * interconvertible to void *, widely-used compilers such as gcc and clang |
51888fb2599f
commit https://github.com/vim/vim/commit/d47d83745ff450232328ca7a4b8b00b31bad22fc
Christian Brabandt <cb@256bit.org>
parents:
10042
diff
changeset
|
589 * do such conversion implicitly and automatically on some platforms without |
51888fb2599f
commit https://github.com/vim/vim/commit/d47d83745ff450232328ca7a4b8b00b31bad22fc
Christian Brabandt <cb@256bit.org>
parents:
10042
diff
changeset
|
590 * issuing any warning. |
51888fb2599f
commit https://github.com/vim/vim/commit/d47d83745ff450232328ca7a4b8b00b31bad22fc
Christian Brabandt <cb@256bit.org>
parents:
10042
diff
changeset
|
591 * |
51888fb2599f
commit https://github.com/vim/vim/commit/d47d83745ff450232328ca7a4b8b00b31bad22fc
Christian Brabandt <cb@256bit.org>
parents:
10042
diff
changeset
|
592 * For Solaris Studio, that is not the case. An explicit type cast is needed |
51888fb2599f
commit https://github.com/vim/vim/commit/d47d83745ff450232328ca7a4b8b00b31bad22fc
Christian Brabandt <cb@256bit.org>
parents:
10042
diff
changeset
|
593 * to suppress warnings on that particular conversion. |
51888fb2599f
commit https://github.com/vim/vim/commit/d47d83745ff450232328ca7a4b8b00b31bad22fc
Christian Brabandt <cb@256bit.org>
parents:
10042
diff
changeset
|
594 */ |
51888fb2599f
commit https://github.com/vim/vim/commit/d47d83745ff450232328ca7a4b8b00b31bad22fc
Christian Brabandt <cb@256bit.org>
parents:
10042
diff
changeset
|
595 # if defined(__SUNPRO_C) && defined(USE_GTK3) |
51888fb2599f
commit https://github.com/vim/vim/commit/d47d83745ff450232328ca7a4b8b00b31bad22fc
Christian Brabandt <cb@256bit.org>
parents:
10042
diff
changeset
|
596 # define FUNC2GENERIC(func) (void *)(func) |
51888fb2599f
commit https://github.com/vim/vim/commit/d47d83745ff450232328ca7a4b8b00b31bad22fc
Christian Brabandt <cb@256bit.org>
parents:
10042
diff
changeset
|
597 # else |
51888fb2599f
commit https://github.com/vim/vim/commit/d47d83745ff450232328ca7a4b8b00b31bad22fc
Christian Brabandt <cb@256bit.org>
parents:
10042
diff
changeset
|
598 # define FUNC2GENERIC(func) G_CALLBACK(func) |
51888fb2599f
commit https://github.com/vim/vim/commit/d47d83745ff450232328ca7a4b8b00b31bad22fc
Christian Brabandt <cb@256bit.org>
parents:
10042
diff
changeset
|
599 # endif |
18753
6e3dc2d630c2
patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents:
17268
diff
changeset
|
600 #endif // FEAT_GUI_GTK |
13847
fa0dcdaec6a3
patch 8.0.1795: lose contact with jobs when :gui forks
Christian Brabandt <cb@256bit.org>
parents:
13339
diff
changeset
|
601 |
fa0dcdaec6a3
patch 8.0.1795: lose contact with jobs when :gui forks
Christian Brabandt <cb@256bit.org>
parents:
13339
diff
changeset
|
602 #if defined(UNIX) && !defined(FEAT_GUI_MAC) |
fa0dcdaec6a3
patch 8.0.1795: lose contact with jobs when :gui forks
Christian Brabandt <cb@256bit.org>
parents:
13339
diff
changeset
|
603 # define GUI_MAY_FORK |
fa0dcdaec6a3
patch 8.0.1795: lose contact with jobs when :gui forks
Christian Brabandt <cb@256bit.org>
parents:
13339
diff
changeset
|
604 #endif |