1 /*
2  * This file is part of gtkD.
3  *
4  * gtkD is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU Lesser General Public License
6  * as published by the Free Software Foundation; either version 3
7  * of the License, or (at your option) any later version, with
8  * some exceptions, please read the COPYING file.
9  *
10  * gtkD is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public License
16  * along with gtkD; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA
18  */
19 
20 // generated automatically - do not change
21 // find conversion definition on APILookup.txt
22 // implement new conversion functionalities on the wrap.utils pakage
23 
24 
25 module vte.c.types;
26 
27 public import gdk.c.types;
28 public import gio.c.types;
29 public import glib.c.types;
30 public import gobject.c.types;
31 public import gtk.c.types;
32 public import pango.c.types;
33 
34 
35 /**
36  * An enumerated type which can be used to indicate the cursor blink mode
37  * for the terminal.
38  */
39 public enum VteCursorBlinkMode
40 {
41 	/**
42 	 * Follow GTK+ settings for cursor blinking.
43 	 */
44 	SYSTEM = 0,
45 	/**
46 	 * Cursor blinks.
47 	 */
48 	ON = 1,
49 	/**
50 	 * Cursor does not blink.
51 	 */
52 	OFF = 2,
53 }
54 alias VteCursorBlinkMode CursorBlinkMode;
55 
56 /**
57  * An enumerated type which can be used to indicate what should the terminal
58  * draw at the cursor position.
59  */
60 public enum VteCursorShape
61 {
62 	/**
63 	 * Draw a block cursor.  This is the default.
64 	 */
65 	BLOCK = 0,
66 	/**
67 	 * Draw a vertical bar on the left side of character.
68 	 * This is similar to the default cursor for other GTK+ widgets.
69 	 */
70 	IBEAM = 1,
71 	/**
72 	 * Draw a horizontal bar below the character.
73 	 */
74 	UNDERLINE = 2,
75 }
76 alias VteCursorShape CursorShape;
77 
78 /**
79  * An enumerated type which can be used to indicate which string the terminal
80  * should send to an application when the user presses the Delete or Backspace
81  * keys.
82  */
83 public enum VteEraseBinding
84 {
85 	/**
86 	 * For backspace, attempt to determine the right value from the terminal's IO settings.  For delete, use the control sequence.
87 	 */
88 	AUTO = 0,
89 	/**
90 	 * Send an ASCII backspace character (0x08).
91 	 */
92 	ASCII_BACKSPACE = 1,
93 	/**
94 	 * Send an ASCII delete character (0x7F).
95 	 */
96 	ASCII_DELETE = 2,
97 	/**
98 	 * Send the "@@7" control sequence.
99 	 */
100 	DELETE_SEQUENCE = 3,
101 	/**
102 	 * Send terminal's "erase" setting.
103 	 */
104 	TTY = 4,
105 }
106 alias VteEraseBinding EraseBinding;
107 
108 /**
109  * An enumeratio type that can be used to specify the format the selection
110  * should be copied to the clipboard in.
111  *
112  * Since: 0.50
113  */
114 public enum VteFormat
115 {
116 	/**
117 	 * Export as plain text
118 	 */
119 	TEXT = 1,
120 	/**
121 	 * Export as HTML formatted text
122 	 */
123 	HTML = 2,
124 }
125 alias VteFormat Format;
126 
127 public enum VtePtyError
128 {
129 	/**
130 	 * Obsolete. Deprecated: 0.42
131 	 */
132 	PTY_HELPER_FAILED = 0,
133 	/**
134 	 * failure when using PTY98 to allocate the PTY
135 	 */
136 	PTY98_FAILED = 1,
137 }
138 alias VtePtyError PtyError;
139 
140 public enum VtePtyFlags
141 {
142 	/**
143 	 * Unused. Deprecated: 0.38
144 	 */
145 	NO_LASTLOG = 1,
146 	/**
147 	 * Unused. Deprecated: 0.38
148 	 */
149 	NO_UTMP = 2,
150 	/**
151 	 * Unused. Deprecated: 0.38
152 	 */
153 	NO_WTMP = 4,
154 	/**
155 	 * Unused. Deprecated: 0.38
156 	 */
157 	NO_HELPER = 8,
158 	/**
159 	 * Unused. Deprecated: 0.38
160 	 */
161 	NO_FALLBACK = 16,
162 	/**
163 	 * the default flags
164 	 */
165 	DEFAULT = 0,
166 }
167 alias VtePtyFlags PtyFlags;
168 
169 /**
170  * An enum type for regex errors. In addition to the values listed above,
171  * any PCRE2 error values may occur.
172  *
173  * Since: 0.46
174  */
175 public enum VteRegexError
176 {
177 	/**
178 	 * The PCRE2 library was built without
179 	 * Unicode support which is required for VTE
180 	 */
181 	INCOMPATIBLE = 2147483646,
182 	/**
183 	 * Regexes are not supported because VTE was
184 	 * built without PCRE2 support
185 	 */
186 	NOT_SUPPORTED = 2147483647,
187 }
188 alias VteRegexError RegexError;
189 
190 /**
191  * An enumerated type which can be used to indicate whether the terminal allows
192  * the text contents to be blinked.
193  *
194  * Since: 0.52
195  */
196 public enum VteTextBlinkMode
197 {
198 	/**
199 	 * Do not blink the text.
200 	 */
201 	NEVER = 0,
202 	/**
203 	 * Allow blinking text only if the terminal is focused.
204 	 */
205 	FOCUSED = 1,
206 	/**
207 	 * Allow blinking text only if the terminal is unfocused.
208 	 */
209 	UNFOCUSED = 2,
210 	/**
211 	 * Allow blinking text. This is the default.
212 	 */
213 	ALWAYS = 3,
214 }
215 alias VteTextBlinkMode TextBlinkMode;
216 
217 /**
218  * A flag type to determine how terminal contents should be written
219  * to an output stream.
220  */
221 public enum VteWriteFlags
222 {
223 	/**
224 	 * Write contents as UTF-8 text.  This is the default.
225 	 */
226 	DEFAULT = 0,
227 }
228 alias VteWriteFlags WriteFlags;
229 
230 struct VteCharAttributes
231 {
232 	long row;
233 	long column;
234 	PangoColor fore;
235 	PangoColor back;
236 	import std.bitmanip: bitfields;
237 	mixin(bitfields!(
238 		uint, "underline", 1,
239 		uint, "strikethrough", 1,
240 		uint, "columns", 4,
241 		uint, "", 26
242 	));
243 }
244 
245 struct VtePty;
246 
247 struct VtePtyClass;
248 
249 struct VteRegex;
250 
251 struct VteTerminal
252 {
253 	GtkWidget widget;
254 	void**[1] UnusedPadding;
255 }
256 
257 /**
258  * All of these fields should be considered read-only, except for derived classes.
259  */
260 struct VteTerminalClass
261 {
262 	GtkWidgetClass parentClass;
263 	/** */
264 	extern(C) void function(VteTerminal* terminal) eof;
265 	/** */
266 	extern(C) void function(VteTerminal* terminal, int status) childExited;
267 	/** */
268 	extern(C) void function(VteTerminal* terminal) encodingChanged;
269 	/** */
270 	extern(C) void function(VteTerminal* terminal, uint charWidth, uint charHeight) charSizeChanged;
271 	/** */
272 	extern(C) void function(VteTerminal* terminal) windowTitleChanged;
273 	/** */
274 	extern(C) void function(VteTerminal* terminal) iconTitleChanged;
275 	/** */
276 	extern(C) void function(VteTerminal* terminal) selectionChanged;
277 	/** */
278 	extern(C) void function(VteTerminal* terminal) contentsChanged;
279 	/** */
280 	extern(C) void function(VteTerminal* terminal) cursorMoved;
281 	/** */
282 	extern(C) void function(VteTerminal* terminal, const(char)* text, uint size) commit;
283 	/** */
284 	extern(C) void function(VteTerminal* terminal) deiconifyWindow;
285 	/** */
286 	extern(C) void function(VteTerminal* terminal) iconifyWindow;
287 	/** */
288 	extern(C) void function(VteTerminal* terminal) raiseWindow;
289 	/** */
290 	extern(C) void function(VteTerminal* terminal) lowerWindow;
291 	/** */
292 	extern(C) void function(VteTerminal* terminal) refreshWindow;
293 	/** */
294 	extern(C) void function(VteTerminal* terminal) restoreWindow;
295 	/** */
296 	extern(C) void function(VteTerminal* terminal) maximizeWindow;
297 	/** */
298 	extern(C) void function(VteTerminal* terminal, uint width, uint height) resizeWindow;
299 	/** */
300 	extern(C) void function(VteTerminal* terminal, uint x, uint y) moveWindow;
301 	/** */
302 	extern(C) void function(VteTerminal* terminal) increaseFontSize;
303 	/** */
304 	extern(C) void function(VteTerminal* terminal) decreaseFontSize;
305 	/** */
306 	extern(C) void function(VteTerminal* terminal) textModified;
307 	/** */
308 	extern(C) void function(VteTerminal* terminal) textInserted;
309 	/** */
310 	extern(C) void function(VteTerminal* terminal) textDeleted;
311 	/** */
312 	extern(C) void function(VteTerminal* terminal, int delta) textScrolled;
313 	/** */
314 	extern(C) void function(VteTerminal* terminal) copyClipboard;
315 	/** */
316 	extern(C) void function(VteTerminal* terminal) pasteClipboard;
317 	/** */
318 	extern(C) void function(VteTerminal* terminal) bell;
319 	void*[16] padding;
320 	VteTerminalClassPrivate* priv;
321 }
322 
323 struct VteTerminalClassPrivate;
324 
325 /**
326  * Specifies the type of a selection function used to check whether
327  * a cell has to be selected or not.
328  *
329  * Params:
330  *     terminal = terminal in which the cell is.
331  *     column = column in which the cell is.
332  *     row = row in which the cell is.
333  *     data = user data.
334  *
335  * Returns: %TRUE if cell has to be selected; %FALSE if otherwise.
336  */
337 public alias extern(C) int function(VteTerminal* terminal, glong column, glong row, void* data) VteSelectionFunc;
338 
339 /**
340  * Callback for vte_terminal_spawn_async().
341  *
342  * On success, @pid contains the PID of the spawned process, and @error
343  * is %NULL.
344  * On failure, @pid is -1 and @error contains the error information.
345  *
346  * Params:
347  *     terminal = the #VteTerminal
348  *     pid = a #GPid
349  *     error = a #GError, or %NULL
350  *     userData = user data that was passed to vte_terminal_spawn_async
351  *
352  * Since: 0.48
353  */
354 public alias extern(C) void function(VteTerminal* terminal, GPid pid, GError* error, void* userData) VteTerminalSpawnAsyncCallback;
355 
356 /**
357  * The major version number of the VTE library
358  * (e.g. in version 3.1.4 this is 3).
359  */
360 enum MAJOR_VERSION = 0;
361 alias VTE_MAJOR_VERSION = MAJOR_VERSION;
362 
363 /**
364  * The micro version number of the VTE library
365  * (e.g. in version 3.1.4 this is 4).
366  */
367 enum MICRO_VERSION = 3;
368 alias VTE_MICRO_VERSION = MICRO_VERSION;
369 
370 /**
371  * The minor version number of the VTE library
372  * (e.g. in version 3.1.4 this is 1).
373  */
374 enum MINOR_VERSION = 56;
375 alias VTE_MINOR_VERSION = MINOR_VERSION;
376 
377 enum REGEX_FLAGS_DEFAULT = 1075314688;
378 alias VTE_REGEX_FLAGS_DEFAULT = REGEX_FLAGS_DEFAULT;
379 
380 enum SPAWN_NO_PARENT_ENVV = 33554432;
381 alias VTE_SPAWN_NO_PARENT_ENVV = SPAWN_NO_PARENT_ENVV;
382 
383 enum TEST_FLAGS_ALL = 18446744073709551615UL;
384 alias VTE_TEST_FLAGS_ALL = TEST_FLAGS_ALL;
385 
386 enum TEST_FLAGS_NONE = 0UL;
387 alias VTE_TEST_FLAGS_NONE = TEST_FLAGS_NONE;