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.ScrollEvent;
26 
27 private import gdk.Event;
28 private import gdk.c.functions;
29 public  import gdk.c.types;
30 
31 
32 /**
33  * An event related to a scrolling motion.
34  */
35 public class ScrollEvent : Event
36 {
37 	/** the main Gtk struct */
38 	protected GdkScrollEvent* gdkScrollEvent;
39 
40 	/** Get the main Gtk struct */
41 	public GdkScrollEvent* getScrollEventStruct(bool transferOwnership = false)
42 	{
43 		if (transferOwnership)
44 			ownedRef = false;
45 		return gdkScrollEvent;
46 	}
47 
48 	/** the main Gtk struct as a void* */
49 	protected override void* getStruct()
50 	{
51 		return cast(void*)gdkScrollEvent;
52 	}
53 
54 	/**
55 	 * Sets our main struct and passes it to the parent class.
56 	 */
57 	public this (GdkScrollEvent* gdkScrollEvent, bool ownedRef = false)
58 	{
59 		this.gdkScrollEvent = gdkScrollEvent;
60 		super(cast(GdkEvent*)gdkScrollEvent, ownedRef);
61 	}
62 
63 
64 	/** */
65 	public static GType getType()
66 	{
67 		return gdk_scroll_event_get_type();
68 	}
69 
70 	/**
71 	 * Extracts the scroll deltas of a scroll event.
72 	 *
73 	 * The deltas will be zero unless the scroll direction
74 	 * is %GDK_SCROLL_SMOOTH.
75 	 *
76 	 * Params:
77 	 *     deltaX = return location for x scroll delta
78 	 *     deltaY = return location for y scroll delta
79 	 */
80 	public void getDeltas(out double deltaX, out double deltaY)
81 	{
82 		gdk_scroll_event_get_deltas(cast(GdkEvent*)gdkScrollEvent, &deltaX, &deltaY);
83 	}
84 
85 	/**
86 	 * Extracts the direction of a scroll event.
87 	 *
88 	 * Returns: the scroll direction of @event
89 	 */
90 	public GdkScrollDirection getDirection()
91 	{
92 		return gdk_scroll_event_get_direction(cast(GdkEvent*)gdkScrollEvent);
93 	}
94 
95 	/**
96 	 * Check whether a scroll event is a stop scroll event.
97 	 *
98 	 * Scroll sequences with smooth scroll information may provide
99 	 * a stop scroll event once the interaction with the device finishes,
100 	 * e.g. by lifting a finger. This stop scroll event is the signal
101 	 * that a widget may trigger kinetic scrolling based on the current
102 	 * velocity.
103 	 *
104 	 * Stop scroll events always have a delta of 0/0.
105 	 *
106 	 * Returns: %TRUE if the event is a scroll stop event
107 	 */
108 	public bool isStop()
109 	{
110 		return gdk_scroll_event_is_stop(cast(GdkEvent*)gdkScrollEvent) != 0;
111 	}
112 }