Author: mkestner
Date: 2007-06-25 10:27:26 -0400 (Mon, 25 Jun 2007)
New Revision: 80683

Modified:
   branches/gtk-sharp-2-468-branch/gtk-sharp/ChangeLog
   branches/gtk-sharp-2-468-branch/gtk-sharp/gdk/Gdk.metadata
   branches/gtk-sharp-2-468-branch/gtk-sharp/gdk/Property.custom
Log:

2007-06-25  Ankit Jain  <[EMAIL PROTECTED]>

        * gdk/Gdk.metadata : hide Property.Get for manual impl.
        * gdk/Property.custom : manually marshal the data param in Get.


Modified: branches/gtk-sharp-2-468-branch/gtk-sharp/ChangeLog
===================================================================
--- branches/gtk-sharp-2-468-branch/gtk-sharp/ChangeLog 2007-06-25 14:26:38 UTC 
(rev 80682)
+++ branches/gtk-sharp-2-468-branch/gtk-sharp/ChangeLog 2007-06-25 14:27:26 UTC 
(rev 80683)
@@ -1,3 +1,8 @@
+2007-06-25  Ankit Jain  <[EMAIL PROTECTED]>
+
+       * gdk/Gdk.metadata : hide Property.Get for manual impl.
+       * gdk/Property.custom : manually marshal the data param in Get.
+
 2007-06-21  Mike Kestner  <[EMAIL PROTECTED]>
 
        * generator/Signal.cs : backport exception handling for native

Modified: branches/gtk-sharp-2-468-branch/gtk-sharp/gdk/Gdk.metadata
===================================================================
--- branches/gtk-sharp-2-468-branch/gtk-sharp/gdk/Gdk.metadata  2007-06-25 
14:26:38 UTC (rev 80682)
+++ branches/gtk-sharp-2-468-branch/gtk-sharp/gdk/Gdk.metadata  2007-06-25 
14:27:26 UTC (rev 80683)
@@ -33,9 +33,7 @@
   <attr path="/api/namespace/[EMAIL PROTECTED]'GdkGlobal']/[EMAIL 
PROTECTED]'StringToCompoundTextForDisplay']" name="hidden">1</attr>
   <attr path="/api/namespace/[EMAIL PROTECTED]'GdkPango_']" 
name="name">PangoHelper</attr>
   <attr path="/api/namespace/[EMAIL PROTECTED]'GdkPixbuf_']" 
name="hidden">1</attr>
-  <attr path="/api/namespace/[EMAIL PROTECTED]'GdkProperty_']/[EMAIL 
PROTECTED]'Get']/*/[EMAIL PROTECTED]'actual_property_type']" 
name="pass_as">out</attr>
-  <attr path="/api/namespace/[EMAIL PROTECTED]'GdkProperty_']/[EMAIL 
PROTECTED]'Get']/*/[EMAIL PROTECTED]'data']" name="pass_as">out</attr>
-  <attr path="/api/namespace/[EMAIL PROTECTED]'GdkProperty_']/[EMAIL 
PROTECTED]'Get']/*/[EMAIL PROTECTED]'data']" name="array">1</attr>
+  <attr path="/api/namespace/[EMAIL PROTECTED]'GdkProperty_']/[EMAIL 
PROTECTED]'Get']" name="hidden">1</attr>
   <attr path="/api/namespace/[EMAIL PROTECTED]'GdkProperty_']/[EMAIL 
PROTECTED]'Change']/*/[EMAIL PROTECTED]'data']" name="array">1</attr>
   <attr path="/api/namespace/[EMAIL PROTECTED]'GdkQuery_']" 
name="hidden">1</attr>
   <attr path="/api/namespace/[EMAIL PROTECTED]'GdkRgb_']/[EMAIL 
PROTECTED]'FindColor']/*/[EMAIL PROTECTED]'color']" name="pass_as">ref</attr>

Modified: branches/gtk-sharp-2-468-branch/gtk-sharp/gdk/Property.custom
===================================================================
--- branches/gtk-sharp-2-468-branch/gtk-sharp/gdk/Property.custom       
2007-06-25 14:26:38 UTC (rev 80682)
+++ branches/gtk-sharp-2-468-branch/gtk-sharp/gdk/Property.custom       
2007-06-25 14:27:26 UTC (rev 80683)
@@ -29,3 +29,22 @@
                        return data;
                }
 
+               [DllImport("libgdk-win32-2.0-0.dll")]
+               static extern bool gdk_property_get(IntPtr window, IntPtr 
property, IntPtr type, UIntPtr offset, UIntPtr length, int pdelete, out IntPtr 
actual_property_type, out int actual_format, out int actual_length, out IntPtr 
data);
+
+               public static bool Get(Gdk.Window window, Gdk.Atom property, 
Gdk.Atom type, ulong offset, ulong length, int pdelete, out Gdk.Atom 
actual_property_type, out int actual_format, out int actual_length, out byte[] 
data) {
+                       IntPtr actual_property_type_as_native;
+                       IntPtr actual_data;
+                       bool raw_ret = gdk_property_get(window == null ? 
IntPtr.Zero : window.Handle, property == null ? IntPtr.Zero : property.Handle, 
type == null ? IntPtr.Zero : type.Handle, new UIntPtr (offset), new UIntPtr 
(length), pdelete, out actual_property_type_as_native, out actual_format, out 
actual_length, out actual_data);
+                       data = null;
+                       if (raw_ret) {
+                               data = new byte [actual_length];
+                               Marshal.Copy (actual_data, data, 0, 
actual_length);
+                               GLib.Marshaller.Free (actual_data);
+                       }
+
+                       bool ret = raw_ret;
+                       actual_property_type = actual_property_type_as_native 
== IntPtr.Zero ? null : (Gdk.Atom) GLib.Opaque.GetOpaque 
(actual_property_type_as_native, typeof (Gdk.Atom), false);
+                       return ret;
+               }
+

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to