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.DocumentAnnotationsT;
26 
27 public  import evince.document.Annotation;
28 public  import evince.document.MappingList;
29 public  import evince.document.Page;
30 public  import evince.document.Rectangle;
31 public  import evince.document.c.functions;
32 public  import evince.document.c.types;
33 public  import gobject.ObjectG;
34 
35 
36 /** */
37 public template DocumentAnnotationsT(TStruct)
38 {
39 	/** Get the main Gtk struct */
40 	public EvDocumentAnnotations* getDocumentAnnotationsStruct(bool transferOwnership = false)
41 	{
42 		if (transferOwnership)
43 			ownedRef = false;
44 		return cast(EvDocumentAnnotations*)getStruct();
45 	}
46 
47 
48 	/** */
49 	public void addAnnotation(Annotation annot, Rectangle rect)
50 	{
51 		ev_document_annotations_add_annotation(getDocumentAnnotationsStruct(), (annot is null) ? null : annot.getAnnotationStruct(), (rect is null) ? null : rect.getRectangleStruct());
52 	}
53 
54 	/** */
55 	public bool canAddAnnotation()
56 	{
57 		return ev_document_annotations_can_add_annotation(getDocumentAnnotationsStruct()) != 0;
58 	}
59 
60 	/** */
61 	public bool canRemoveAnnotation()
62 	{
63 		return ev_document_annotations_can_remove_annotation(getDocumentAnnotationsStruct()) != 0;
64 	}
65 
66 	/** */
67 	public bool documentIsModified()
68 	{
69 		return ev_document_annotations_document_is_modified(getDocumentAnnotationsStruct()) != 0;
70 	}
71 
72 	/** */
73 	public MappingList getAnnotations(Page page)
74 	{
75 		auto __p = ev_document_annotations_get_annotations(getDocumentAnnotationsStruct(), (page is null) ? null : page.getPageStruct());
76 
77 		if(__p is null)
78 		{
79 			return null;
80 		}
81 
82 		return ObjectG.getDObject!(MappingList)(cast(EvMappingList*) __p, true);
83 	}
84 
85 	/** */
86 	public EvAnnotationsOverMarkup overMarkup(Annotation annot, double x, double y)
87 	{
88 		return ev_document_annotations_over_markup(getDocumentAnnotationsStruct(), (annot is null) ? null : annot.getAnnotationStruct(), x, y);
89 	}
90 
91 	/** */
92 	public void removeAnnotation(Annotation annot)
93 	{
94 		ev_document_annotations_remove_annotation(getDocumentAnnotationsStruct(), (annot is null) ? null : annot.getAnnotationStruct());
95 	}
96 
97 	/** */
98 	public void saveAnnotation(Annotation annot, EvAnnotationsSaveMask mask)
99 	{
100 		ev_document_annotations_save_annotation(getDocumentAnnotationsStruct(), (annot is null) ? null : annot.getAnnotationStruct(), mask);
101 	}
102 }