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.RenderContext;
26 
27 private import evince.document.Page;
28 private import evince.document.c.functions;
29 public  import evince.document.c.types;
30 private import glib.ConstructionException;
31 private import gobject.ObjectG;
32 
33 
34 /** */
35 public class RenderContext : ObjectG
36 {
37 	/** the main Gtk struct */
38 	protected EvRenderContext* evRenderContext;
39 
40 	/** Get the main Gtk struct */
41 	public EvRenderContext* getRenderContextStruct(bool transferOwnership = false)
42 	{
43 		if (transferOwnership)
44 			ownedRef = false;
45 		return evRenderContext;
46 	}
47 
48 	/** the main Gtk struct as a void* */
49 	protected override void* getStruct()
50 	{
51 		return cast(void*)evRenderContext;
52 	}
53 
54 	/**
55 	 * Sets our main struct and passes it to the parent class.
56 	 */
57 	public this (EvRenderContext* evRenderContext, bool ownedRef = false)
58 	{
59 		this.evRenderContext = evRenderContext;
60 		super(cast(GObject*)evRenderContext, ownedRef);
61 	}
62 
63 
64 	/** */
65 	public static GType getType()
66 	{
67 		return ev_render_context_get_type();
68 	}
69 
70 	/** */
71 	public this(Page page, int rotation, double scale)
72 	{
73 		auto __p = ev_render_context_new((page is null) ? null : page.getPageStruct(), rotation, scale);
74 
75 		if(__p is null)
76 		{
77 			throw new ConstructionException("null returned by new");
78 		}
79 
80 		this(cast(EvRenderContext*) __p, true);
81 	}
82 
83 	/** */
84 	public void computeScaledSize(double widthPoints, double heightPoints, int* scaledWidth, int* scaledHeight)
85 	{
86 		ev_render_context_compute_scaled_size(evRenderContext, widthPoints, heightPoints, scaledWidth, scaledHeight);
87 	}
88 
89 	/** */
90 	public void computeScales(double widthPoints, double heightPoints, double* scaleX, double* scaleY)
91 	{
92 		ev_render_context_compute_scales(evRenderContext, widthPoints, heightPoints, scaleX, scaleY);
93 	}
94 
95 	/** */
96 	public void computeTransformedSize(double widthPoints, double heightPoints, int* transformedWidth, int* transformedHeight)
97 	{
98 		ev_render_context_compute_transformed_size(evRenderContext, widthPoints, heightPoints, transformedWidth, transformedHeight);
99 	}
100 
101 	/** */
102 	public void setPage(Page page)
103 	{
104 		ev_render_context_set_page(evRenderContext, (page is null) ? null : page.getPageStruct());
105 	}
106 
107 	/** */
108 	public void setRotation(int rotation)
109 	{
110 		ev_render_context_set_rotation(evRenderContext, rotation);
111 	}
112 
113 	/** */
114 	public void setScale(double scale)
115 	{
116 		ev_render_context_set_scale(evRenderContext, scale);
117 	}
118 
119 	/** */
120 	public void setTargetSize(int targetWidth, int targetHeight)
121 	{
122 		ev_render_context_set_target_size(evRenderContext, targetWidth, targetHeight);
123 	}
124 }