1 /*
2  * This file is part of EvinceD.
3  * EvinceD is based on GtkD.
4  *
5  * EvinceD is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU Lesser General Public License
7  * as published by the Free Software Foundation; either version 3
8  * of the License, or (at your option) any later version, with
9  * some exceptions, please read the COPYING file.
10  *
11  * EvinceD is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public License
17  * along with EvinceD; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA
19  */
20 
21 // generated automatically - do not change
22 // find conversion definition on APILookup.txt
23 
24 
25 module evince.document.SelectionT;
26 
27 public  import cairo.Region;
28 public  import cairo.Surface;
29 public  import evince.document.Page;
30 public  import evince.document.Rectangle;
31 public  import evince.document.RenderContext;
32 public  import evince.document.c.functions;
33 public  import evince.document.c.types;
34 public  import gdk.Color;
35 public  import glib.Str;
36 
37 
38 /** */
39 public template SelectionT(TStruct)
40 {
41 	/** Get the main Gtk struct */
42 	public EvSelection* getSelectionStruct(bool transferOwnership = false)
43 	{
44 		if (transferOwnership)
45 			ownedRef = false;
46 		return cast(EvSelection*)getStruct();
47 	}
48 
49 
50 	/** */
51 	public string getSelectedText(Page page, EvSelectionStyle style, Rectangle points)
52 	{
53 		auto retStr = ev_selection_get_selected_text(getSelectionStruct(), (page is null) ? null : page.getPageStruct(), style, (points is null) ? null : points.getRectangleStruct());
54 
55 		scope(exit) Str.freeString(retStr);
56 		return Str.toString(retStr);
57 	}
58 
59 	/** */
60 	public Region getSelectionRegion(RenderContext rc, EvSelectionStyle style, Rectangle points)
61 	{
62 		auto __p = ev_selection_get_selection_region(getSelectionStruct(), (rc is null) ? null : rc.getRenderContextStruct(), style, (points is null) ? null : points.getRectangleStruct());
63 
64 		if(__p is null)
65 		{
66 			return null;
67 		}
68 
69 		return new Region(cast(cairo_region_t*) __p);
70 	}
71 
72 	/** */
73 	public void renderSelection(RenderContext rc, Surface surface, Rectangle points, Rectangle oldPoints, EvSelectionStyle style, Color text, Color base)
74 	{
75 		ev_selection_render_selection(getSelectionStruct(), (rc is null) ? null : rc.getRenderContextStruct(), (surface is null) ? null : surface.getSurfaceStruct(), (points is null) ? null : points.getRectangleStruct(), (oldPoints is null) ? null : oldPoints.getRectangleStruct(), style, (text is null) ? null : text.getColorStruct(), (base is null) ? null : base.getColorStruct());
76 	}
77 }