2008-04-16 Mike Kestner <mkestner@novell.com>

* gtk/Gtk.metadata: hide PrintContext.get_CairoContext.
	* gtk/PrintContext.custom: manual get_cairo_context implementation.
	Mono.Cairo assumes it is wrapping owned references, so we need to 
	take a ref out on the returned cairo_t pointer.
	* sample/GtkDemo/DemoPrinting.cs: dispose the CairoContext in
	to be a good citizen and avoid warnings.

svn path=/trunk/gtk-sharp/; revision=100942
This commit is contained in:
Mike Kestner 2008-04-16 20:23:39 +00:00
parent 11286d19c6
commit 8a29f46b8f
5 changed files with 47 additions and 0 deletions

View file

@ -1,3 +1,12 @@
2008-04-16 Mike Kestner <mkestner@novell.com>
* gtk/Gtk.metadata: hide PrintContext.get_CairoContext.
* gtk/PrintContext.custom: manual get_cairo_context implementation.
Mono.Cairo assumes it is wrapping owned references, so we need to
take a ref out on the returned cairo_t pointer.
* sample/GtkDemo/DemoPrinting.cs: dispose the CairoContext in
to be a good citizen and avoid warnings.
2008-04-15 Mike Kestner <mkestner@novell.com>
* generator/ReturnValue.cs: use new GLib.Opaque.OwnedCopy for owned

View file

@ -491,6 +491,7 @@
<attr path="/api/namespace/object[@cname='GtkPlug']/constructor[@cname='gtk_plug_new']" name="hidden">1</attr>
<attr path="/api/namespace/object[@cname='GtkPlug']/constructor[@cname='gtk_plug_new_for_display']" name="hidden">1</attr>
<attr path="/api/namespace/object[@cname='GtkPlug']/property[@name='Embedded']" name="name">IsEmbedded</attr>
<attr path="/api/namespace/object[@cname='GtkPrintContext']/method[@name='GetCairoContext']" name="hidden">1</attr>
<attr path="/api/namespace/object[@cname='GtkPrinter']/method[@name='AcceptsPdf']" name="name">GetAcceptsPdf</attr>
<attr path="/api/namespace/object[@cname='GtkPrinter']/method[@name='AcceptsPs']" name="name">GetAcceptsPs</attr>
<attr path="/api/namespace/object[@cname='GtkPrinter']/method[@name='HasDetails']" name="name">GetHasDetails</attr>

View file

@ -91,6 +91,7 @@ customs = \
Notebook.custom \
Object.custom \
Plug.custom \
PrintContext.custom \
Printer.custom \
RadioButton.custom \
RadioMenuItem.custom \

35
gtk/PrintContext.custom Normal file
View file

@ -0,0 +1,35 @@
// PrintContext.custom - customizations to Gtk.PrintContext
//
// Authors: Mike Kestner <mkestner@novell.com>
//
// Copyright (c) 2008 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
// Public License as published by the Free Software Foundation.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with this program; if not, write to the
// Free Software Foundation, Inc., 59 Temple Place - Suite 330,
// Boston, MA 02111-1307, USA.
[DllImport("libgtk-win32-2.0-0.dll")]
static extern IntPtr gtk_print_context_get_cairo_context(IntPtr raw);
[DllImport("libcairo-2.dll")]
static extern void cairo_reference (IntPtr raw);
public Cairo.Context CairoContext {
get {
IntPtr raw_ret = gtk_print_context_get_cairo_context (Handle);
cairo_reference (raw_ret);
return new Cairo.Context (raw_ret);
}
}

View file

@ -126,6 +126,7 @@ namespace GtkDemo
cr.RelMoveTo (0, fontSize);
line++;
}
(cr as IDisposable).Dispose ();
layout = null;
}