Commit graph

6 commits

Author SHA1 Message Date
Dan Winship 622c360576 * parser/gapi2xml.pl (addFuncElems): if a struct or boxed type has
a constructor or a ref, unref, or destroy method, then it must be
	a reference type, so mark it "opaque" but then also mark all of
	its fields public and writable.

	* */*-api*.raw: Regen

	* generator/Parser.cs (ParseNamespace): make the opaque attribute
	check actually look at the value of the attribute rather than just
	checking if it's there, so that you can change a struct's opaque
	attribute from "true" to "false" via metadata and have that work.

	* generator/BoxedGen.cs (Generate): do not generate the boxed's
	"Free" method (since it's guaranteed to crash when we pass it a
	stack pointer). If "Copy" is marked deprecated, create a
	deprecated no-op for it, otherwise just skip it (since otherwise
	it will just leak memory when we copy its result onto the stack).

	* pango/Pango.metadata: deprecate Pango.Color.Copy and
	Pango.Matrix.Copy. Hide some array fields in Pango.GlyphString
	that we've never generated correctly. Tweak Pango.LayoutLine
	fields to be the same as they used to be.

	* pango/GlyphItem.custom (glyphs, item):
	* pango/GlyphString.custom (Zero, New):
	* pango/Item.custom (Zero, New):
	* pango/LayoutRun.custom (glyphs, item): add deprecated API compat

	* gdk/Gdk.metadata: undo the parser's new opaquification of
	Gdk.Font; it's been deprecated since pre-gtk# times, and no one
	should be using it, so there's no point in fixing it now. Fix up a
	few other things to match how they used to be. Fix RgbCmap's
	constructor args.

	* gdk/RgbCmap.custom (Zero, New): deprecated API compat

	* gdk/PangoAttrEmbossed.custom:
	* gdk/PangoAttrStipple.custom (Zero, New, Attr): deprecated API
	compat
	(explicit operator ...): allow casting back and forth between
	Pango.Attribute. (We can't usefully make them real subclasses of
	Pango.Attribute, because there's no way for
	Pango.Attribute.GetAttribute() to be able to dtrt with them.)

	* gtk/Gtk.metadata: deprecate Gtk.Requisition.Copy,
	Gtk.TextIter.Copy, and Gtk.TreeIter.Copy. Mark the return value of
	TextView.DefaultAttributes as "owned". Mark TargetList's fields
	private so it stays how it used to be.

	* gtk/TextAttributes.custom (Zero, New): deprecated API compat

	* gnomevfs/Gnomevfs.metadata: remove a bunch of opaque
	declarations that the parser figures out on its own now.

	* art/Art.metadata:
	* glade/Glade.metadata:
	* rsvg/Rsvg.metadata: un-mark everything the parser marked opaque
	in these libraries, because all of the structs in question would
	still be unusably broken, so the API churn would be pointless.

svn path=/trunk/gtk-sharp/; revision=48387
2005-08-15 15:15:57 +00:00
Mike Kestner 5cca5957df 2004-12-08 Mike Kestner <mkestner@novell.com>
* art/Art.metadata : mark some ints as bools. [Fixes #61047]

svn path=/trunk/gtk-sharp/; revision=37408
2004-12-08 18:57:08 +00:00
Mike Kestner cd716a5979 2004-04-01 Mike Kestner <mkestner@ximian.com>
* art/Art.metadata : mark dst pass_as=out on Affine.Point

svn path=/trunk/gtk-sharp/; revision=24991
2004-04-03 04:50:59 +00:00
Mike Kestner d41f6593b0 2004-02-10 Mike Kestner <mkestner@ximian.com>
* art/Art.metadata : mark a field private
	* art/art-api.xml : regen
	* gda/Gda.metadata : mark a few structs opaque
	* gda/gda-api.xml : regen
	* gdk/*.custom : fix changed field names
	* gdk/gdk-api.xml : regen
	* generator/Field.cs : StudlyCase simple typed field names.
	* gnome/Gnome.metadata : mark FontEntry.weight private to
	avoid collision with Weight field. s|//|/api/namespace|g
	* gnome/gnome-api.xml : regen
	* gtk/Gtk.metadata : rename AccelKey.accel_key to key to
	avoid collision with type name.
	* gtk/*.custom : fix changed field names
	* gtk/gtk-api.xml : regen
	* pango/pango-api.xml : regen
	* parser/gapi_pp.pl : add a private_regex to hide BACKEND
	and ENGINE apis, which are by convention private.
	* sample/* : make compile
	* sample/GtkDemo/* : make compile
	* sample/test/* : make compile
	* sources/gtk-sharp-sources.xml : exclude a bunch of pango
	source files.

svn path=/trunk/gtk-sharp/; revision=22947
2004-02-10 16:04:50 +00:00
Mike Kestner 13c8647b1e 2004-01-19 Mike Kestner <mkestner@ximian.com>
* art/Art.metadata : correct a couple symbolic array_lens
	* art/art-api.xml : regen
	* gdk/Gdk.metadata : correct a symbolic array_len
	* gdk/gdk-api.xml : regen
	* generator/Field.cs : generate array fields with MarshalAs
	attrs for correct marshaling.

svn path=/trunk/gtk-sharp/; revision=22261
2004-01-19 17:05:53 +00:00
Mike Kestner 6e44bd8cdb 2003-10-12 Mike Kestner <mkestner@ximian.com>
* art/Art.metadata : new xpath metadata rules
	* art/Makefile.in : apply metadata before generation
	* atk/Atk.metadata : new xpath metadata rules
	* atk/Makefile.in : apply metadata before generation
	* gda/Gda.metadata : new xpath metadata rules
	* gda/Makefile.in : apply metadata before generation
	* gdk/Gdk.metadata : new xpath metadata rules
	* gdk/Makefile.in : apply metadata before generation
	* gnomedb/GnomeDb.metadata : new xpath metadata rules
	* gnomedb/Makefile.in : apply metadata before generation
	* pango/Pango.metadata : new xpath metadata rules
	* pango/Makefile.in : apply metadata before generation
	* parser/Makefile.in : build and install new gapi-fixup
	* parser/gapi-fixup.cs : new xpath based metadata engine
	* sources/*.metadata : remove most of the old metadata,
	still have to convert Gtk and Gnome to xpaths.

svn path=/trunk/gtk-sharp/; revision=18947
2003-10-13 03:06:22 +00:00