コード例 #1
0
        public static Art.IRect RectListFromUta(Art.Uta uta, int max_width, int max_height, out int p_nrects)
        {
            IntPtr raw_ret = art_rect_list_from_uta(uta == null ? IntPtr.Zero : uta.Handle, max_width, max_height, out p_nrects);

            Art.IRect ret = Art.IRect.New(raw_ret);
            return(ret);
        }
コード例 #2
0
        public void BboxIrect(Art.IRect irect)
        {
            IntPtr native_irect = GLib.Marshaller.StructureToPtrAlloc(irect);

            art_vpath_bbox_irect(Handle, native_irect);
            irect = Art.IRect.New(native_irect);
            Marshal.FreeHGlobal(native_irect);
        }
コード例 #3
0
        public static Art.Uta FromIrect(Art.IRect bbox)
        {
            IntPtr native_bbox = GLib.Marshaller.StructureToPtrAlloc(bbox);
            IntPtr raw_ret     = art_uta_from_irect(native_bbox);

            Art.Uta ret = raw_ret == IntPtr.Zero ? null : (Art.Uta)GLib.Opaque.GetOpaque(raw_ret, typeof(Art.Uta), false);
            bbox = Art.IRect.New(native_bbox);
            Marshal.FreeHGlobal(native_bbox);
            return(ret);
        }
コード例 #4
0
        public static void ToIrect(Art.IRect dst, Art.DRect src)
        {
            IntPtr native_dst = GLib.Marshaller.StructureToPtrAlloc(dst);
            IntPtr native_src = GLib.Marshaller.StructureToPtrAlloc(src);

            art_drect_to_irect(native_dst, native_src);
            dst = Art.IRect.New(native_dst);
            Marshal.FreeHGlobal(native_dst);
            src = Art.DRect.New(native_src);
            Marshal.FreeHGlobal(native_src);
        }
コード例 #5
0
        public void Copy(Art.IRect src)
        {
            IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal(System.Runtime.InteropServices.Marshal.SizeOf(this));

            System.Runtime.InteropServices.Marshal.StructureToPtr(this, this_as_native, false);
            IntPtr native_src = GLib.Marshaller.StructureToPtrAlloc(src);

            art_irect_copy(this_as_native, native_src);
            ReadNative(this_as_native, ref this);
            System.Runtime.InteropServices.Marshal.FreeHGlobal(this_as_native);
            src = Art.IRect.New(native_src);
            Marshal.FreeHGlobal(native_src);
        }
コード例 #6
0
 static void ReadNative(IntPtr native, ref Art.IRect target)
 {
     target = New(native);
 }