示例#1
0
        public string LookupIcon(string icon_name, int size, Gnome.IconData icon_data, out int base_size)
        {
            IntPtr native_icon_name = GLib.Marshaller.StringToPtrGStrdup(icon_name);
            IntPtr raw_ret          = gnome_icon_theme_lookup_icon(Handle, native_icon_name, size, ref icon_data, out base_size);

            GLib.Marshaller.Free(native_icon_name);
            string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);

            return(ret);
        }
        public Gnome.IconData Dup()
        {
            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 raw_ret = gnome_icon_data_dup(this_as_native);

            Gnome.IconData ret = Gnome.IconData.New(raw_ret);
            ReadNative(this_as_native, ref this);
            System.Runtime.InteropServices.Marshal.FreeHGlobal(this_as_native);
            return(ret);
        }
示例#3
0
 static extern IntPtr gnome_icon_theme_lookup_icon(IntPtr raw, IntPtr icon_name, int size, ref Gnome.IconData icon_data, out int base_size);
 static void ReadNative(IntPtr native, ref Gnome.IconData target)
 {
     target = New(native);
 }