From 10d1d2843dfa5567cdc3647b466c2172d07532f1 Mon Sep 17 00:00:00 2001 From: Mike Kestner Date: Thu, 7 Oct 2004 15:44:00 +0000 Subject: [PATCH] 2004-10-07 Mike Kestner * gdk/Makefile.am : add missing custom file. * gdk/Pixmap.custom : add overloads for *CreateFromXPM* methods which default transparency mask and color. svn path=/trunk/gtk-sharp/; revision=34783 --- ChangeLog | 6 +++++ gdk/Makefile.am | 1 + gdk/Pixmap.custom | 57 ++++++++++++++++++++++++++++++++++++++++++----- 3 files changed, 59 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index 5111118f7..09a5b67dc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2004-10-07 Mike Kestner + + * gdk/Makefile.am : add missing custom file. + * gdk/Pixmap.custom : add overloads for *CreateFromXPM* methods which + default transparency mask and color. + 2004-10-05 Mike Kestner * gtk/Gtk.metadata : hide Selection.GetTargets. diff --git a/gdk/Makefile.am b/gdk/Makefile.am index a16b2671e..72ee6163b 100644 --- a/gdk/Makefile.am +++ b/gdk/Makefile.am @@ -51,6 +51,7 @@ customs = \ Drawable.custom \ Global.custom \ Keymap.custom \ + Pixmap.custom \ Pixbuf.custom \ PixbufLoader.custom \ Pixdata.custom \ diff --git a/gdk/Pixmap.custom b/gdk/Pixmap.custom index 8ed7fc9ed..4e4fecdac 100644 --- a/gdk/Pixmap.custom +++ b/gdk/Pixmap.custom @@ -1,6 +1,8 @@ +// Gdk.Pixmap.custom - Pixmap extensions // -// Pixmap extensions +// Authors: Mike Kestner // +// Copyright (c) 2004 Novell, Inc. // // This program is free software; you can redistribute it and/or // modify it under the terms of version 2 of the Lesser GNU General @@ -16,8 +18,53 @@ // Free Software Foundation, Inc., 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. - public Pixmap (Gdk.Drawable drawable, int width, int height) - : this (drawable, width, height, -1) - { - } + public Pixmap (Gdk.Drawable drawable, int width, int height) : this (drawable, width, height, -1) {} + + [DllImport("libgdk-win32-2.0-0.dll")] + static extern IntPtr gdk_pixmap_colormap_create_from_xpm(IntPtr drawable, IntPtr colormap, IntPtr mask, IntPtr transparent_color, string filename); + + public static Gdk.Pixmap ColormapCreateFromXpm(Gdk.Drawable drawable, Gdk.Colormap colormap, string filename) + { + IntPtr raw_ret = gdk_pixmap_colormap_create_from_xpm(drawable.Handle, colormap.Handle, IntPtr.Zero, IntPtr.Zero, filename); + if (raw_ret == IntPtr.Zero) + return null; + + return (Gdk.Pixmap) GLib.Object.GetObject(raw_ret); + } + + [DllImport("libgdk-win32-2.0-0.dll")] + static extern IntPtr gdk_pixmap_colormap_create_from_xpm_d(IntPtr drawable, IntPtr colormap, IntPtr mask, IntPtr transparent_color, string data); + + public static Gdk.Pixmap ColormapCreateFromXpmD(Gdk.Drawable drawable, Gdk.Colormap colormap, string data) + { + IntPtr raw_ret = gdk_pixmap_colormap_create_from_xpm_d(drawable.Handle, colormap.Handle, IntPtr.Zero, IntPtr.Zero, data); + if (raw_ret == IntPtr.Zero) + return null; + + return (Gdk.Pixmap) GLib.Object.GetObject(raw_ret); + } + + [DllImport("libgdk-win32-2.0-0.dll")] + static extern IntPtr gdk_pixmap_create_from_xpm(IntPtr drawable, IntPtr mask, IntPtr transparent_color, string filename); + + public static Gdk.Pixmap CreateFromXpm(Gdk.Drawable drawable, string filename) + { + IntPtr raw_ret = gdk_pixmap_create_from_xpm(drawable.Handle, IntPtr.Zero, IntPtr.Zero, filename); + if (raw_ret == IntPtr.Zero) + return null; + + return (Gdk.Pixmap) GLib.Object.GetObject(raw_ret); + } + + [DllImport("libgdk-win32-2.0-0.dll")] + static extern IntPtr gdk_pixmap_create_from_xpm_d(IntPtr drawable, IntPtr mask, IntPtr transparent_color, string data); + + public static Gdk.Pixmap CreateFromXpmD(Gdk.Drawable drawable, string data) + { + IntPtr raw_ret = gdk_pixmap_create_from_xpm_d(drawable.Handle, IntPtr.Zero, IntPtr.Zero, data); + if (raw_ret == IntPtr.Zero) + return null; + + return (Gdk.Pixmap) GLib.Object.GetObject(raw_ret); + }