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 module gsk.TransformNode; 26 27 private import glib.ConstructionException; 28 private import gobject.ObjectG; 29 private import gsk.RenderNode; 30 private import gsk.Transform; 31 private import gsk.c.functions; 32 public import gsk.c.types; 33 34 35 /** 36 * A render node applying a `GskTransform` to its single child node. 37 */ 38 public class TransformNode : RenderNode 39 { 40 /** the main Gtk struct */ 41 protected GskTransformNode* gskTransformNode; 42 43 /** Get the main Gtk struct */ 44 public GskTransformNode* getTransformNodeStruct(bool transferOwnership = false) 45 { 46 if (transferOwnership) 47 ownedRef = false; 48 return gskTransformNode; 49 } 50 51 /** the main Gtk struct as a void* */ 52 protected override void* getStruct() 53 { 54 return cast(void*)gskTransformNode; 55 } 56 57 /** 58 * Sets our main struct and passes it to the parent class. 59 */ 60 public this (GskTransformNode* gskTransformNode, bool ownedRef = false) 61 { 62 this.gskTransformNode = gskTransformNode; 63 super(cast(GskRenderNode*)gskTransformNode, ownedRef); 64 } 65 66 67 /** */ 68 public static GType getType() 69 { 70 return gsk_transform_node_get_type(); 71 } 72 73 /** 74 * Creates a `GskRenderNode` that will transform the given @child 75 * with the given @transform. 76 * 77 * Params: 78 * child = The node to transform 79 * transform = The transform to apply 80 * 81 * Returns: A new `GskRenderNode` 82 * 83 * Throws: ConstructionException GTK+ fails to create the object. 84 */ 85 public this(RenderNode child, Transform transform) 86 { 87 auto __p = gsk_transform_node_new((child is null) ? null : child.getRenderNodeStruct(), (transform is null) ? null : transform.getTransformStruct()); 88 89 if(__p is null) 90 { 91 throw new ConstructionException("null returned by new"); 92 } 93 94 this(cast(GskTransformNode*) __p); 95 } 96 97 /** 98 * Gets the child node that is getting transformed by the given @node. 99 * 100 * Returns: The child that is getting transformed 101 */ 102 public RenderNode getChild() 103 { 104 auto __p = gsk_transform_node_get_child(cast(GskRenderNode*)gskTransformNode); 105 106 if(__p is null) 107 { 108 return null; 109 } 110 111 return ObjectG.getDObject!(RenderNode)(cast(GskRenderNode*) __p); 112 } 113 114 /** 115 * Retrieves the `GskTransform` used by the @node. 116 * 117 * Returns: a `GskTransform` 118 */ 119 public Transform getTransform() 120 { 121 auto __p = gsk_transform_node_get_transform(cast(GskRenderNode*)gskTransformNode); 122 123 if(__p is null) 124 { 125 return null; 126 } 127 128 return ObjectG.getDObject!(Transform)(cast(GskTransform*) __p); 129 } 130 }