GtkSharp/gtk/SelectionData.custom
Mike Kestner 37aad1b278 2004-01-27 Mike Kestner <mkestner@ximian.com>
* glue/selectiondata.c : expose data field.
	* gtk/SelectionData.custom : add Data property.
	[Fixes #53397]

svn path=/trunk/gtk-sharp/; revision=22563
2004-01-28 04:50:19 +00:00

45 lines
1.2 KiB
Plaintext

[DllImport("gtksharpglue")]
private static extern int gtksharp_gtk_selection_data_get_format (IntPtr selection_data);
public int Format {
get {
return gtksharp_gtk_selection_data_get_format (Handle);
}
}
[DllImport("gtksharpglue")]
private static extern int gtksharp_gtk_selection_data_get_length (IntPtr selection_data);
public int Length {
get {
return gtksharp_gtk_selection_data_get_length (Handle);
}
}
[DllImport("libgtk-win32-2.0-0.dll")]
private static extern IntPtr gtk_selection_data_get_text (IntPtr selection_data);
[DllImport("libgtk-win32-2.0-0.dll")]
private static extern void gtk_selection_data_set_text (IntPtr selection_data, string str, int len);
public string Text {
get {
return GLibSharp.Marshaller.PtrToStringGFree (gtk_selection_data_get_text (Handle));
}
set {
gtk_selection_data_set_text (Handle, value, value.Length);
}
}
[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;
}
}