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  * Conversion parameters:
26  * inFile  = GtkSourceGutterRenderer.html
27  * outPack = gsv
28  * outFile = SourceGutterRenderer
29  * strct   = GtkSourceGutterRenderer
30  * realStrct=
31  * ctorStrct=
32  * clss    = SourceGutterRenderer
33  * interf  = 
34  * class Code: No
35  * interface Code: No
36  * template for:
37  * extend  = GObject
38  * implements:
39  * prefixes:
40  * 	- gtk_source_gutter_renderer_
41  * omit structs:
42  * omit prefixes:
43  * omit code:
44  * omit signals:
45  * imports:
46  * 	- cairo.Context
47  * 	- gdk.Event
48  * 	- gdk.RGBA
49  * 	- gtk.TextIter
50  * 	- gtk.TextView
51  * 	- gtk.Tooltip
52  * structWrap:
53  * 	- GdkEvent* -> Event
54  * 	- GdkRGBA* -> RGBA
55  * 	- GtkSourceGutterRenderer* -> SourceGutterRenderer
56  * 	- GtkTextIter* -> TextIter
57  * 	- GtkTextView* -> TextView
58  * 	- GtkTooltip* -> Tooltip
59  * 	- cairo_t* -> Context
60  * module aliases:
61  * local aliases:
62  * overrides:
63  */
64 
65 module gsv.SourceGutterRenderer;
66 
67 public  import gsvc.gsvtypes;
68 
69 private import gsvc.gsv;
70 private import glib.ConstructionException;
71 private import gobject.ObjectG;
72 
73 private import gobject.Signals;
74 public  import gtkc.gdktypes;
75 private import cairo.Context;
76 private import gdk.Event;
77 private import gdk.RGBA;
78 private import gtk.TextIter;
79 private import gtk.TextView;
80 private import gtk.Tooltip;
81 
82 
83 private import gobject.ObjectG;
84 
85 /**
86  */
87 public class SourceGutterRenderer : ObjectG
88 {
89 	
90 	/** the main Gtk struct */
91 	protected GtkSourceGutterRenderer* gtkSourceGutterRenderer;
92 	
93 	
94 	/** Get the main Gtk struct */
95 	public GtkSourceGutterRenderer* getSourceGutterRendererStruct()
96 	{
97 		return gtkSourceGutterRenderer;
98 	}
99 	
100 	
101 	/** the main Gtk struct as a void* */
102 	protected override void* getStruct()
103 	{
104 		return cast(void*)gtkSourceGutterRenderer;
105 	}
106 	
107 	/**
108 	 * Sets our main struct and passes it to the parent class
109 	 */
110 	public this (GtkSourceGutterRenderer* gtkSourceGutterRenderer)
111 	{
112 		super(cast(GObject*)gtkSourceGutterRenderer);
113 		this.gtkSourceGutterRenderer = gtkSourceGutterRenderer;
114 	}
115 	
116 	protected override void setStruct(GObject* obj)
117 	{
118 		super.setStruct(obj);
119 		gtkSourceGutterRenderer = cast(GtkSourceGutterRenderer*)obj;
120 	}
121 	
122 	/**
123 	 */
124 	int[string] connectedSignals;
125 	
126 	void delegate(TextIter, GdkRectangle*, Event, SourceGutterRenderer)[] onActivateListeners;
127 	/**
128 	 * The ::activate signal is emitted when the renderer is
129 	 * activated.
130 	 */
131 	void addOnActivate(void delegate(TextIter, GdkRectangle*, Event, SourceGutterRenderer) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0)
132 	{
133 		if ( !("activate" in connectedSignals) )
134 		{
135 			Signals.connectData(
136 			getStruct(),
137 			"activate",
138 			cast(GCallback)&callBackActivate,
139 			cast(void*)this,
140 			null,
141 			connectFlags);
142 			connectedSignals["activate"] = 1;
143 		}
144 		onActivateListeners ~= dlg;
145 	}
146 	extern(C) static void callBackActivate(GtkSourceGutterRenderer* rendererStruct, GtkTextIter* iter, GdkRectangle* area, GdkEvent* event, SourceGutterRenderer _sourceGutterRenderer)
147 	{
148 		foreach ( void delegate(TextIter, GdkRectangle*, Event, SourceGutterRenderer) dlg ; _sourceGutterRenderer.onActivateListeners )
149 		{
150 			dlg(ObjectG.getDObject!(TextIter)(iter), area, ObjectG.getDObject!(Event)(event), _sourceGutterRenderer);
151 		}
152 	}
153 	
154 	bool delegate(TextIter, GdkRectangle*, Event, SourceGutterRenderer)[] onQueryActivatableListeners;
155 	/**
156 	 * The ::query-activatable signal is emitted when the renderer
157 	 * can possibly be activated.
158 	 */
159 	void addOnQueryActivatable(bool delegate(TextIter, GdkRectangle*, Event, SourceGutterRenderer) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0)
160 	{
161 		if ( !("query-activatable" in connectedSignals) )
162 		{
163 			Signals.connectData(
164 			getStruct(),
165 			"query-activatable",
166 			cast(GCallback)&callBackQueryActivatable,
167 			cast(void*)this,
168 			null,
169 			connectFlags);
170 			connectedSignals["query-activatable"] = 1;
171 		}
172 		onQueryActivatableListeners ~= dlg;
173 	}
174 	extern(C) static gboolean callBackQueryActivatable(GtkSourceGutterRenderer* rendererStruct, GtkTextIter* iter, GdkRectangle* area, GdkEvent* event, SourceGutterRenderer _sourceGutterRenderer)
175 	{
176 		foreach ( bool delegate(TextIter, GdkRectangle*, Event, SourceGutterRenderer) dlg ; _sourceGutterRenderer.onQueryActivatableListeners )
177 		{
178 			if ( dlg(ObjectG.getDObject!(TextIter)(iter), area, ObjectG.getDObject!(Event)(event), _sourceGutterRenderer) )
179 			{
180 				return 1;
181 			}
182 		}
183 		
184 		return 0;
185 	}
186 	
187 	void delegate(TextIter, TextIter, GtkSourceGutterRendererState, SourceGutterRenderer)[] onQueryDataListeners;
188 	/**
189 	 * The ::query-data signal is emitted when the renderer needs
190 	 * to be filled with data just before a cell is drawn. This can
191 	 * be used by general renderer implementations to allow render
192 	 * data to be filled in externally.
193 	 */
194 	void addOnQueryData(void delegate(TextIter, TextIter, GtkSourceGutterRendererState, SourceGutterRenderer) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0)
195 	{
196 		if ( !("query-data" in connectedSignals) )
197 		{
198 			Signals.connectData(
199 			getStruct(),
200 			"query-data",
201 			cast(GCallback)&callBackQueryData,
202 			cast(void*)this,
203 			null,
204 			connectFlags);
205 			connectedSignals["query-data"] = 1;
206 		}
207 		onQueryDataListeners ~= dlg;
208 	}
209 	extern(C) static void callBackQueryData(GtkSourceGutterRenderer* rendererStruct, GtkTextIter* start, GtkTextIter* end, GtkSourceGutterRendererState state, SourceGutterRenderer _sourceGutterRenderer)
210 	{
211 		foreach ( void delegate(TextIter, TextIter, GtkSourceGutterRendererState, SourceGutterRenderer) dlg ; _sourceGutterRenderer.onQueryDataListeners )
212 		{
213 			dlg(ObjectG.getDObject!(TextIter)(start), ObjectG.getDObject!(TextIter)(end), state, _sourceGutterRenderer);
214 		}
215 	}
216 	
217 	bool delegate(TextIter, GdkRectangle*, gint, gint, Tooltip, SourceGutterRenderer)[] onQueryTooltipListeners;
218 	/**
219 	 * The ::query-tooltip signal is emitted when the renderer can
220 	 * show a tooltip.
221 	 */
222 	void addOnQueryTooltip(bool delegate(TextIter, GdkRectangle*, gint, gint, Tooltip, SourceGutterRenderer) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0)
223 	{
224 		if ( !("query-tooltip" in connectedSignals) )
225 		{
226 			Signals.connectData(
227 			getStruct(),
228 			"query-tooltip",
229 			cast(GCallback)&callBackQueryTooltip,
230 			cast(void*)this,
231 			null,
232 			connectFlags);
233 			connectedSignals["query-tooltip"] = 1;
234 		}
235 		onQueryTooltipListeners ~= dlg;
236 	}
237 	extern(C) static gboolean callBackQueryTooltip(GtkSourceGutterRenderer* rendererStruct, GtkTextIter* iter, GdkRectangle* area, gint x, gint y, GtkTooltip* tooltip, SourceGutterRenderer _sourceGutterRenderer)
238 	{
239 		foreach ( bool delegate(TextIter, GdkRectangle*, gint, gint, Tooltip, SourceGutterRenderer) dlg ; _sourceGutterRenderer.onQueryTooltipListeners )
240 		{
241 			if ( dlg(ObjectG.getDObject!(TextIter)(iter), area, x, y, ObjectG.getDObject!(Tooltip)(tooltip), _sourceGutterRenderer) )
242 			{
243 				return 1;
244 			}
245 		}
246 		
247 		return 0;
248 	}
249 	
250 	void delegate(SourceGutterRenderer)[] onQueueDrawListeners;
251 	/**
252 	 * The ::queue-draw signal is emitted when the renderer needs
253 	 * to be redrawn. Use gtk_source_gutter_renderer_queue_draw()
254 	 * to emit this signal from an implementation of the
255 	 * GtkSourceGutterRenderer interface.
256 	 */
257 	void addOnQueueDraw(void delegate(SourceGutterRenderer) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0)
258 	{
259 		if ( !("queue-draw" in connectedSignals) )
260 		{
261 			Signals.connectData(
262 			getStruct(),
263 			"queue-draw",
264 			cast(GCallback)&callBackQueueDraw,
265 			cast(void*)this,
266 			null,
267 			connectFlags);
268 			connectedSignals["queue-draw"] = 1;
269 		}
270 		onQueueDrawListeners ~= dlg;
271 	}
272 	extern(C) static void callBackQueueDraw(GtkSourceGutterRenderer* rendererStruct, SourceGutterRenderer _sourceGutterRenderer)
273 	{
274 		foreach ( void delegate(SourceGutterRenderer) dlg ; _sourceGutterRenderer.onQueueDrawListeners )
275 		{
276 			dlg(_sourceGutterRenderer);
277 		}
278 	}
279 	
280 	
281 	/**
282 	 * Called when drawing a region begins. The region to be drawn is indicated
283 	 * by start and end. The purpose is to allow the implementation to precompute
284 	 * some state before the ::draw method is called for each cell.
285 	 * Params:
286 	 * cr = a cairo_t
287 	 * backgroundArea = a GdkRectangle
288 	 * cellArea = a GdkRectangle
289 	 * start = a GtkTextIter
290 	 * end = a GtkTextIter
291 	 */
292 	public void begin(Context cr, ref Rectangle backgroundArea, ref Rectangle cellArea, TextIter start, TextIter end)
293 	{
294 		// void gtk_source_gutter_renderer_begin (GtkSourceGutterRenderer *renderer,  cairo_t *cr,  GdkRectangle *background_area,  GdkRectangle *cell_area,  GtkTextIter *start,  GtkTextIter *end);
295 		gtk_source_gutter_renderer_begin(gtkSourceGutterRenderer, (cr is null) ? null : cr.getContextStruct(), &backgroundArea, &cellArea, (start is null) ? null : start.getTextIterStruct(), (end is null) ? null : end.getTextIterStruct());
296 	}
297 	
298 	/**
299 	 * Main renderering method. Implementations should implement this method to
300 	 * draw onto the cairo context. The background_area indicates total area of
301 	 * the cell (without padding or margin) to be drawn. The cell_area indicates
302 	 * the area where content can be drawn (text, images, etc).
303 	 * The state argument indicates the current state of the renderer and should
304 	 * be taken into account to properly draw the different possible states
305 	 * (cursor, prelit, selected) if appropriate.
306 	 * Params:
307 	 * cr = the cairo render context
308 	 * backgroundArea = a GdkRectangle indicating the total area to be drawn
309 	 * cellArea = a GdkRectangle indicating the area to draw content
310 	 * start = a GtkTextIter
311 	 * end = a GtkTextIter
312 	 * state = a GtkSourceGutterRendererState
313 	 */
314 	public void draw(Context cr, ref Rectangle backgroundArea, ref Rectangle cellArea, TextIter start, TextIter end, GtkSourceGutterRendererState state)
315 	{
316 		// void gtk_source_gutter_renderer_draw (GtkSourceGutterRenderer *renderer,  cairo_t *cr,  GdkRectangle *background_area,  GdkRectangle *cell_area,  GtkTextIter *start,  GtkTextIter *end,  GtkSourceGutterRendererState state);
317 		gtk_source_gutter_renderer_draw(gtkSourceGutterRenderer, (cr is null) ? null : cr.getContextStruct(), &backgroundArea, &cellArea, (start is null) ? null : start.getTextIterStruct(), (end is null) ? null : end.getTextIterStruct(), state);
318 	}
319 	
320 	/**
321 	 * Called when drawing a region of lines has ended.
322 	 */
323 	public void end()
324 	{
325 		// void gtk_source_gutter_renderer_end (GtkSourceGutterRenderer *renderer);
326 		gtk_source_gutter_renderer_end(gtkSourceGutterRenderer);
327 	}
328 	
329 	/**
330 	 * Get the size of the renderer.
331 	 * Returns: the size of the renderer.
332 	 */
333 	public int getSize()
334 	{
335 		// gint gtk_source_gutter_renderer_get_size (GtkSourceGutterRenderer *renderer);
336 		return gtk_source_gutter_renderer_get_size(gtkSourceGutterRenderer);
337 	}
338 	
339 	/**
340 	 * Sets the size of the renderer. A value of -1 specifies that the size
341 	 * is to be determined dynamically.
342 	 * Params:
343 	 * size = the size
344 	 */
345 	public void setSize(int size)
346 	{
347 		// void gtk_source_gutter_renderer_set_size (GtkSourceGutterRenderer *renderer,  gint size);
348 		gtk_source_gutter_renderer_set_size(gtkSourceGutterRenderer, size);
349 	}
350 	
351 	/**
352 	 * Set whether the gutter renderer is visible.
353 	 * Params:
354 	 * visible = the visibility
355 	 */
356 	public void setVisible(int visible)
357 	{
358 		// void gtk_source_gutter_renderer_set_visible  (GtkSourceGutterRenderer *renderer,  gboolean visible);
359 		gtk_source_gutter_renderer_set_visible(gtkSourceGutterRenderer, visible);
360 	}
361 	
362 	/**
363 	 * Get whether the gutter renderer is visible.
364 	 * Returns: TRUE if the renderer is visible, FALSE otherwise
365 	 */
366 	public int getVisible()
367 	{
368 		// gboolean gtk_source_gutter_renderer_get_visible  (GtkSourceGutterRenderer *renderer);
369 		return gtk_source_gutter_renderer_get_visible(gtkSourceGutterRenderer);
370 	}
371 	
372 	/**
373 	 * Get the x-padding and y-padding of the gutter renderer.
374 	 * Params:
375 	 * xpad = return location for the x-padding (can be NULL). [out caller-allocates][allow-none]
376 	 * ypad = return location for the y-padding (can be NULL). [out caller-allocates][allow-none]
377 	 */
378 	public void getPadding(out int xpad, out int ypad)
379 	{
380 		// void gtk_source_gutter_renderer_get_padding  (GtkSourceGutterRenderer *renderer,  gint *xpad,  gint *ypad);
381 		gtk_source_gutter_renderer_get_padding(gtkSourceGutterRenderer, &xpad, &ypad);
382 	}
383 	
384 	/**
385 	 * Set the padding of the gutter renderer. Both xpad and ypad can be
386 	 * -1, which means the values will not be changed (this allows changing only
387 	 * one of the values).
388 	 * Params:
389 	 * xpad = the x-padding
390 	 * ypad = the y-padding
391 	 */
392 	public void setPadding(int xpad, int ypad)
393 	{
394 		// void gtk_source_gutter_renderer_set_padding  (GtkSourceGutterRenderer *renderer,  gint xpad,  gint ypad);
395 		gtk_source_gutter_renderer_set_padding(gtkSourceGutterRenderer, xpad, ypad);
396 	}
397 	
398 	/**
399 	 * Get the x-alignment and y-alignment of the gutter renderer.
400 	 * Params:
401 	 * xalign = return location for the x-alignment (can be NULL). [out caller-allocates][allow-none]
402 	 * yalign = return location for the y-alignment (can be NULL). [out caller-allocates][allow-none]
403 	 */
404 	public void getAlignment(out float xalign, out float yalign)
405 	{
406 		// void gtk_source_gutter_renderer_get_alignment  (GtkSourceGutterRenderer *renderer,  gfloat *xalign,  gfloat *yalign);
407 		gtk_source_gutter_renderer_get_alignment(gtkSourceGutterRenderer, &xalign, &yalign);
408 	}
409 	
410 	/**
411 	 * Set the alignment of the gutter renderer. Both xalign and yalign can be
412 	 * -1, which means the values will not be changed (this allows changing only
413 	 * one of the values).
414 	 * Params:
415 	 * xalign = the x-alignment
416 	 * yalign = the y-alignment
417 	 */
418 	public void setAlignment(float xalign, float yalign)
419 	{
420 		// void gtk_source_gutter_renderer_set_alignment  (GtkSourceGutterRenderer *renderer,  gfloat xalign,  gfloat yalign);
421 		gtk_source_gutter_renderer_set_alignment(gtkSourceGutterRenderer, xalign, yalign);
422 	}
423 	
424 	/**
425 	 * Set the alignment mode. The alignment mode describes the manner in which the
426 	 * renderer is aligned (see :xalign and :yalign).
427 	 * Params:
428 	 * mode = a GtkSourceGutterRendererAlignmentMode
429 	 */
430 	public void setAlignmentMode(GtkSourceGutterRendererAlignmentMode mode)
431 	{
432 		// void gtk_source_gutter_renderer_set_alignment_mode  (GtkSourceGutterRenderer *renderer,  GtkSourceGutterRendererAlignmentMode mode);
433 		gtk_source_gutter_renderer_set_alignment_mode(gtkSourceGutterRenderer, mode);
434 	}
435 	
436 	/**
437 	 * Get the GtkTextWindowType associated with the gutter renderer.
438 	 * Returns: a GtkTextWindowType
439 	 */
440 	public GtkTextWindowType getWindowType()
441 	{
442 		// GtkTextWindowType gtk_source_gutter_renderer_get_window_type  (GtkSourceGutterRenderer *renderer);
443 		return gtk_source_gutter_renderer_get_window_type(gtkSourceGutterRenderer);
444 	}
445 	
446 	/**
447 	 * Get the view associated to the gutter renderer
448 	 * Returns: a GtkTextView. [transfer none]
449 	 */
450 	public TextView getView()
451 	{
452 		// GtkTextView * gtk_source_gutter_renderer_get_view (GtkSourceGutterRenderer *renderer);
453 		auto p = gtk_source_gutter_renderer_get_view(gtkSourceGutterRenderer);
454 		
455 		if(p is null)
456 		{
457 			return null;
458 		}
459 		
460 		return ObjectG.getDObject!(TextView)(cast(GtkTextView*) p);
461 	}
462 	
463 	/**
464 	 * Get the alignment mode. The alignment mode describes the manner in which the
465 	 * renderer is aligned (see :xalign and :yalign).
466 	 * Returns: a GtkSourceGutterRendererAlignmentMode
467 	 */
468 	public GtkSourceGutterRendererAlignmentMode getAlignmentMode()
469 	{
470 		// GtkSourceGutterRendererAlignmentMode gtk_source_gutter_renderer_get_alignment_mode  (GtkSourceGutterRenderer *renderer);
471 		return gtk_source_gutter_renderer_get_alignment_mode(gtkSourceGutterRenderer);
472 	}
473 	
474 	/**
475 	 * Get the background color of the renderer.
476 	 * Params:
477 	 * color = return value for a GdkRGBA. [out caller-allocates][allow-none]
478 	 * Returns: TRUE if the background color is set, FALSE otherwise
479 	 */
480 	public int getBackground(RGBA color)
481 	{
482 		// gboolean gtk_source_gutter_renderer_get_background  (GtkSourceGutterRenderer *renderer,  GdkRGBA *color);
483 		return gtk_source_gutter_renderer_get_background(gtkSourceGutterRenderer, (color is null) ? null : color.getRGBAStruct());
484 	}
485 	
486 	/**
487 	 * Set the background color of the renderer. If color is set to NULL, the
488 	 * renderer will not have a background color.
489 	 * Params:
490 	 * color = a GdkRGBA or NULL. [allow-none]
491 	 */
492 	public void setBackground(RGBA color)
493 	{
494 		// void gtk_source_gutter_renderer_set_background  (GtkSourceGutterRenderer *renderer,  const GdkRGBA *color);
495 		gtk_source_gutter_renderer_set_background(gtkSourceGutterRenderer, (color is null) ? null : color.getRGBAStruct());
496 	}
497 	
498 	/**
499 	 * Emits the ::activate signal of the renderer. This is called from
500 	 * GtkSourceGutter and should never have to be called manually.
501 	 * Params:
502 	 * iter = a GtkTextIter at the start of the line where the renderer is activated
503 	 * area = a GdkRectangle of the cell area where the renderer is activated
504 	 * event = the event that triggered the activation
505 	 */
506 	public void activate(TextIter iter, ref Rectangle area, Event event)
507 	{
508 		// void gtk_source_gutter_renderer_activate (GtkSourceGutterRenderer *renderer,  GtkTextIter *iter,  GdkRectangle *area,  GdkEvent *event);
509 		gtk_source_gutter_renderer_activate(gtkSourceGutterRenderer, (iter is null) ? null : iter.getTextIterStruct(), &area, (event is null) ? null : event.getEventStruct());
510 	}
511 	
512 	/**
513 	 * Get whether the renderer is activatable at the location in event. This is
514 	 * called from GtkSourceGutter to determine whether a renderer is activatable
515 	 * using the mouse pointer.
516 	 * Params:
517 	 * iter = a GtkTextIter at the start of the line to be activated
518 	 * area = a GdkRectangle of the cell area to be activated
519 	 * event = the event that triggered the query
520 	 * Returns: TRUE if the renderer can be activated, FALSE otherwise
521 	 */
522 	public int queryActivatable(TextIter iter, ref Rectangle area, Event event)
523 	{
524 		// gboolean gtk_source_gutter_renderer_query_activatable  (GtkSourceGutterRenderer *renderer,  GtkTextIter *iter,  GdkRectangle *area,  GdkEvent *event);
525 		return gtk_source_gutter_renderer_query_activatable(gtkSourceGutterRenderer, (iter is null) ? null : iter.getTextIterStruct(), &area, (event is null) ? null : event.getEventStruct());
526 	}
527 	
528 	/**
529 	 * Emits the ::queue-draw signal of the renderer. Call this from an
530 	 * implementation to inform that the renderer has changed such that it needs
531 	 * to redraw.
532 	 */
533 	public void queueDraw()
534 	{
535 		// void gtk_source_gutter_renderer_queue_draw  (GtkSourceGutterRenderer *renderer);
536 		gtk_source_gutter_renderer_queue_draw(gtkSourceGutterRenderer);
537 	}
538 	
539 	/**
540 	 * Emits the ::query-tooltip signal. This function is called from
541 	 * GtkSourceGutter. Implementations can override the default signal handler
542 	 * or can connect to the signal externally.
543 	 * Params:
544 	 * iter = a GtkTextIter.
545 	 * area = a GdkRectangle.
546 	 * x = The x position of the tooltip.
547 	 * y = The y position of the tooltip.
548 	 * tooltip = a GtkTooltip.
549 	 * Returns: TRUE if the tooltip has been set, FALSE otherwise
550 	 */
551 	public int queryTooltip(TextIter iter, ref Rectangle area, int x, int y, Tooltip tooltip)
552 	{
553 		// gboolean gtk_source_gutter_renderer_query_tooltip  (GtkSourceGutterRenderer *renderer,  GtkTextIter *iter,  GdkRectangle *area,  gint x,  gint y,  GtkTooltip *tooltip);
554 		return gtk_source_gutter_renderer_query_tooltip(gtkSourceGutterRenderer, (iter is null) ? null : iter.getTextIterStruct(), &area, x, y, (tooltip is null) ? null : tooltip.getTooltipStruct());
555 	}
556 	
557 	/**
558 	 * Emit the ::query-data signal. This function is called to query for data
559 	 * just before rendering a cell. This is called from the GtkSourceGutter.
560 	 * Implementations can override the default signal handler or can connect
561 	 * a signal handler externally to the ::query-data signal.
562 	 * Params:
563 	 * start = a GtkTextIter.
564 	 * end = a GtkTextIter.
565 	 * state = a GtkSourceGutterRendererState.
566 	 */
567 	public void queryData(TextIter start, TextIter end, GtkSourceGutterRendererState state)
568 	{
569 		// void gtk_source_gutter_renderer_query_data  (GtkSourceGutterRenderer *renderer,  GtkTextIter *start,  GtkTextIter *end,  GtkSourceGutterRendererState state);
570 		gtk_source_gutter_renderer_query_data(gtkSourceGutterRenderer, (start is null) ? null : start.getTextIterStruct(), (end is null) ? null : end.getTextIterStruct(), state);
571 	}
572 }