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.DocumentTextT;
26 
27 public  import cairo.Region;
28 public  import evince.document.Page;
29 public  import evince.document.Rectangle;
30 public  import evince.document.c.functions;
31 public  import evince.document.c.types;
32 public  import glib.Str;
33 public  import gobject.ObjectG;
34 public  import pango.PgAttributeList;
35 
36 
37 /** */
38 public template DocumentTextT(TStruct)
39 {
40 	/** Get the main Gtk struct */
41 	public EvDocumentText* getDocumentTextStruct(bool transferOwnership = false)
42 	{
43 		if (transferOwnership)
44 			ownedRef = false;
45 		return cast(EvDocumentText*)getStruct();
46 	}
47 
48 
49 	/** */
50 	public string getText(Page page)
51 	{
52 		auto retStr = ev_document_text_get_text(getDocumentTextStruct(), (page is null) ? null : page.getPageStruct());
53 
54 		scope(exit) Str.freeString(retStr);
55 		return Str.toString(retStr);
56 	}
57 
58 	/**
59 	 * FIXME
60 	 *
61 	 * Params:
62 	 *     page = a #EvPage
63 	 *
64 	 * Returns: a newly created #PangoAttrList
65 	 *
66 	 * Since: 3.10
67 	 */
68 	public PgAttributeList getTextAttrs(Page page)
69 	{
70 		auto __p = ev_document_text_get_text_attrs(getDocumentTextStruct(), (page is null) ? null : page.getPageStruct());
71 
72 		if(__p is null)
73 		{
74 			return null;
75 		}
76 
77 		return ObjectG.getDObject!(PgAttributeList)(cast(PangoAttrList*) __p, true);
78 	}
79 
80 	/** */
81 	public bool getTextLayout(Page page, Rectangle areas, uint* nAreas)
82 	{
83 		return ev_document_text_get_text_layout(getDocumentTextStruct(), (page is null) ? null : page.getPageStruct(), (areas is null) ? null : areas.getRectangleStruct(), nAreas) != 0;
84 	}
85 
86 	/** */
87 	public Region getTextMapping(Page page)
88 	{
89 		auto __p = ev_document_text_get_text_mapping(getDocumentTextStruct(), (page is null) ? null : page.getPageStruct());
90 
91 		if(__p is null)
92 		{
93 			return null;
94 		}
95 
96 		return new Region(cast(cairo_region_t*) __p);
97 	}
98 }