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 gdk.DeviceTool; 26 27 private import gdk.c.functions; 28 public import gdk.c.types; 29 private import gobject.ObjectG; 30 31 32 /** 33 * A physical tool associated to a `GdkDevice`. 34 */ 35 public class DeviceTool : ObjectG 36 { 37 /** the main Gtk struct */ 38 protected GdkDeviceTool* gdkDeviceTool; 39 40 /** Get the main Gtk struct */ 41 public GdkDeviceTool* getDeviceToolStruct(bool transferOwnership = false) 42 { 43 if (transferOwnership) 44 ownedRef = false; 45 return gdkDeviceTool; 46 } 47 48 /** the main Gtk struct as a void* */ 49 protected override void* getStruct() 50 { 51 return cast(void*)gdkDeviceTool; 52 } 53 54 /** 55 * Sets our main struct and passes it to the parent class. 56 */ 57 public this (GdkDeviceTool* gdkDeviceTool, bool ownedRef = false) 58 { 59 this.gdkDeviceTool = gdkDeviceTool; 60 super(cast(GObject*)gdkDeviceTool, ownedRef); 61 } 62 63 64 /** */ 65 public static GType getType() 66 { 67 return gdk_device_tool_get_type(); 68 } 69 70 /** 71 * Gets the axes of the tool. 72 * 73 * Returns: the axes of @tool 74 */ 75 public GdkAxisFlags getAxes() 76 { 77 return gdk_device_tool_get_axes(gdkDeviceTool); 78 } 79 80 /** 81 * Gets the hardware ID of this tool, or 0 if it's not known. 82 * 83 * When non-zero, the identificator is unique for the given tool model, 84 * meaning that two identical tools will share the same @hardware_id, 85 * but will have different serial numbers (see 86 * [method@Gdk.DeviceTool.get_serial]). 87 * 88 * This is a more concrete (and device specific) method to identify 89 * a `GdkDeviceTool` than [method@Gdk.DeviceTool.get_tool_type], 90 * as a tablet may support multiple devices with the same 91 * `GdkDeviceToolType`, but different hardware identificators. 92 * 93 * Returns: The hardware identificator of this tool. 94 */ 95 public ulong getHardwareId() 96 { 97 return gdk_device_tool_get_hardware_id(gdkDeviceTool); 98 } 99 100 /** 101 * Gets the serial number of this tool. 102 * 103 * This value can be used to identify a physical tool 104 * (eg. a tablet pen) across program executions. 105 * 106 * Returns: The serial ID for this tool 107 */ 108 public ulong getSerial() 109 { 110 return gdk_device_tool_get_serial(gdkDeviceTool); 111 } 112 113 /** 114 * Gets the `GdkDeviceToolType` of the tool. 115 * 116 * Returns: The physical type for this tool. This can be used to 117 * figure out what sort of pen is being used, such as an airbrush 118 * or a pencil. 119 */ 120 public GdkDeviceToolType getToolType() 121 { 122 return gdk_device_tool_get_tool_type(gdkDeviceTool); 123 } 124 }