diff --git a/ChangeLog b/ChangeLog index ce9a58379..bb33cde04 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2004-02-18 Mike Kestner + + * gdk/Gdk.metadata : hide EventMotion + * gdk/EventMotion.cs : glue-based manual implementation. + * gdk/EventMotion.custom : kill + * gdk/gdk-api.xml : regen + * gdk/gdk-symbols.xml : manual mapping for EventMotion. + * glue/event.cs : expose Motion struct fields. + * sample/Scribble.cs : fix some EventMotion api breakage + 2004-02-18 Mike Kestner * gdk/Gdk.metadata : hide EventScroll diff --git a/gdk/EventMotion.cs b/gdk/EventMotion.cs new file mode 100644 index 000000000..3417970bf --- /dev/null +++ b/gdk/EventMotion.cs @@ -0,0 +1,101 @@ +// Gdk.EventMotion.cs - Custom motion event wrapper +// +// Author: Mike Kestner +// +// (c) 2004 Novell, Inc. + +namespace Gdk { + + using System; + using System.Runtime.InteropServices; + + public class EventMotion : Event { + + [DllImport("gtksharpglue")] + static extern uint gtksharp_gdk_event_motion_get_time (IntPtr evt); + + [DllImport("gtksharpglue")] + static extern double gtksharp_gdk_event_motion_get_x (IntPtr evt); + + [DllImport("gtksharpglue")] + static extern double gtksharp_gdk_event_motion_get_y (IntPtr evt); + + [DllImport("gtksharpglue")] + static extern double gtksharp_gdk_event_motion_get_x_root (IntPtr evt); + + [DllImport("gtksharpglue")] + static extern double gtksharp_gdk_event_motion_get_y_root (IntPtr evt); + + [DllImport("gtksharpglue")] + static extern uint gtksharp_gdk_event_motion_get_state (IntPtr evt); + + [DllImport("gtksharpglue")] + static extern ushort gtksharp_gdk_event_motion_get_is_hint (IntPtr evt); + + [DllImport("gtksharpglue")] + static extern IntPtr gtksharp_gdk_event_motion_get_device (IntPtr evt); + + [DllImport("gtksharpglue")] + static extern IntPtr gtksharp_gdk_event_motion_get_axes (IntPtr evt); + + public EventMotion (IntPtr raw) : base (raw) {} + + public uint Time { + get { + return gtksharp_gdk_event_motion_get_time (Handle); + } + } + + public ModifierType State { + get { + return (ModifierType) gtksharp_gdk_event_motion_get_state (Handle); + } + } + + public double X { + get { + return gtksharp_gdk_event_motion_get_x (Handle); + } + } + + public double Y { + get { + return gtksharp_gdk_event_motion_get_y (Handle); + } + } + + public double XRoot { + get { + return gtksharp_gdk_event_motion_get_x_root (Handle); + } + } + + public double YRoot { + get { + return gtksharp_gdk_event_motion_get_y_root (Handle); + } + } + + public bool IsHint { + get { + return gtksharp_gdk_event_motion_get_is_hint (Handle) == 0 ? false : true; + } + } + + public Device Device { + get { + return GLib.Object.GetObject (gtksharp_gdk_event_motion_get_device (Handle)) as Device; + } + } + + public double[] Axes { + get { + double[] result = new double [2]; + IntPtr axes = gtksharp_gdk_event_motion_get_axes (Handle); + Marshal.Copy (result, 0, axes, 2); + return result; + } + } + } +} + diff --git a/gdk/EventMotion.custom b/gdk/EventMotion.custom deleted file mode 100644 index 8eb499b09..000000000 --- a/gdk/EventMotion.custom +++ /dev/null @@ -1,18 +0,0 @@ -// -// gdk/EventMotion.custom -// -// Author: Gustavo Giraldez -// -// Copyright (C) 2004 Gustavo Giraldez. -// - -[DllImport("libgdk-win32-2.0-0.dll")] -static extern IntPtr gdk_event_get_type(); - -public static GLib.GType GType { - get { - IntPtr raw_ret = gdk_event_get_type(); - GLib.GType ret = new GLib.GType(raw_ret); - return ret; - } -} diff --git a/gdk/Gdk.metadata b/gdk/Gdk.metadata index 4f0c4fdc3..ed8f8cef5 100644 --- a/gdk/Gdk.metadata +++ b/gdk/Gdk.metadata @@ -66,6 +66,7 @@ 1 1 1 + 1 1 1 128 diff --git a/gdk/gdk-api.xml b/gdk/gdk-api.xml index adcedee55..99b524bb0 100644 --- a/gdk/gdk-api.xml +++ b/gdk/gdk-api.xml @@ -2351,7 +2351,7 @@ - +