From 37aad1b27806df99cc5fad9349efaba21bdf9aa8 Mon Sep 17 00:00:00 2001 From: Mike Kestner Date: Wed, 28 Jan 2004 04:50:19 +0000 Subject: [PATCH] 2004-01-27 Mike Kestner * glue/selectiondata.c : expose data field. * gtk/SelectionData.custom : add Data property. [Fixes #53397] svn path=/trunk/gtk-sharp/; revision=22563 --- ChangeLog | 6 ++++++ glue/selectiondata.c | 7 +++++++ gtk/SelectionData.custom | 11 +++++++++++ 3 files changed, 24 insertions(+) diff --git a/ChangeLog b/ChangeLog index 09df8698d..9cb2c89e6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2004-01-27 Mike Kestner + + * glue/selectiondata.c : expose data field. + * gtk/SelectionData.custom : add Data property. + [Fixes #53397] + 2004-01-27 John Luke * gtk/AccelKey.custom: add convenience ctor diff --git a/glue/selectiondata.c b/glue/selectiondata.c index e0d9210e3..6bdcdc206 100644 --- a/glue/selectiondata.c +++ b/glue/selectiondata.c @@ -10,6 +10,13 @@ gint gtksharp_gtk_selection_data_get_length (GtkSelectionData *data); gint gtksharp_gtk_selection_data_get_format (GtkSelectionData *data); +guchar *gtksharp_gtk_selection_data_get_data_pointer (GtkSelectionData *data); + +guchar * +gtksharp_gtk_selection_data_get_data_pointer (GtkSelectionData *data) +{ + return data->data; +} gint gtksharp_gtk_selection_data_get_length (GtkSelectionData *data) diff --git a/gtk/SelectionData.custom b/gtk/SelectionData.custom index e7fdc9982..905be8729 100644 --- a/gtk/SelectionData.custom +++ b/gtk/SelectionData.custom @@ -31,3 +31,14 @@ } } + [DllImport("gtksharpglue")] + private static extern IntPtr gtksharp_selection_data_get_data_pointer (IntPtr selection_data); + + public byte[] Data { + get { + IntPtr data_ptr = gtksharp_selection_data_get_data_pointer (Handle); + byte[] result = new byte [Length]; + Marshal.Copy (data_ptr, result, 0, Length); + return result; + } + }