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
params... some functions use that to mark const "out" params. In
fact, let's use it as a hint to mark them pass_as="out" too...
* pango/pango-api-2.4.raw:
* pango/pango-api-2.6.raw:
* gtk/gtk-api-2.6.raw: Regen, fixing pango_script_iter_get_range
and gtk_image_get_icon_name.
* pango/Pango.metadata:
* pango/ScriptIter.cs: Alas, exposing GetRange makes it clear that
PangoScriptIter is really weird and we weren't wrapping it
correctly before anyway, so mark the whole thing hidden and wrap
it by hand.
svn path=/trunk/gtk-sharp/; revision=47748
* Makefile.include : add included apis as deps on the generation
target to force regen if dependency lib api changes.
* pango/Analysis.custom : new custom to implement the ExtraAttrs
property. [Fixes#74668]
* pango/Makefile.am : add new custom file.
svn path=/trunk/gtk-sharp/; revision=46166
* generator/CodeGenerator.cs: add a --glue-includes flag
* generator/GenerationInfo.cs: Accept glue_includes value from
Main and output it to the glue_filename.
* generator/FieldBase.cs (Ignored): handle more ignorable cases.
(CheckGlue): New method to figure out what kind of glue we'll need
for a field.
(GenerateImports): generate appropriate imports per CheckGlue.
(GenerateGlue): Generate C glue for accessing a struct field;
either a fully-C-based accessor, or a method to just return the
field's offset in the struct.
(Generate): Use the generated glue to read the field.
* generator/PropertyBase.cs (CType): if the field is a single bit,
set its type to gboolean.
* generator/ObjectGen.cs (Generate):
* generator/OpaqueGen.cs (Generate): Call GenFields.
* generator/StructField.cs: Use FieldBase's glue-generation code
to handle bitfields. [#54489]
* generator/ObjectField.cs: Generates accessors for public fields
of objects and opaque structs. [#69514]
* generator/ClassBase.cs (ClassBase): Parse <fields> nodes and
create ObjectField objects.
(GenFields): Output field properties
(IgnoreMethod): Ignore Get/Set methods that duplicate fields
* generator/Makefile.am (sources): update
* {gdk,gnome,gtk,pango}/*.metadata: Mark some additional fields as
public. Rename/retype some fields for consistency with earlier
hand-coded bindings.
* {gdk,gnome,gtk,pango}/*.custom: Remove custom methods that can
now be autogenerated.
* {gdk,gnome,gtk,pango}/glue/*.c: Remove glue methods that can now
be autogenerated
* {gdk,glade,gnome,gtk,pango,vte}/Makefile.am
* {gdk,glade,gnome,gtk,pango,vte}/glue/Makefile.am
* {gdk,gnome,gtk,pango}/glue/makefile.win32: Update
svn path=/trunk/gtk-sharp/; revision=44563
* pango/Makefile.am : add file.
* pango/Units.cs : new class to wrap PANGO_SCALE and PANGO_PIXELS.
* pango/glue/units.c : accessors for the macros.
* pango/glue/Makefile.am : build it.
* pango/glue/makefile.win32 : build it on win.
[Fixes#74837]
svn path=/trunk/gtk-sharp/; revision=44410
* pango/Makefile.am: add Matrix.custom
* pango/Matrix.custom: add Pango.Matrix.Identity field
which is the equivalent of PANGO_MATRIX_INIT
* sample/GtkDemo/DemoRotatedText.cs: use Pango.Matrix.Identity
* doc/en/Pango/Matrix.xml: add docs for Pango.Matrix.Identity
svn path=/trunk/gtk-sharp/; revision=44181
Gdk.Event
* pango/pango-symbols.xml: explain how to marshal PangoAttribute.
* pango/AttrBackground.cs:
* pango/AttrFallback.cs:
* pango/AttrFamily.cs:
* pango/AttrFontDesc.cs:
* pango/AttrForeground.cs:
* pango/AttrLanguage.cs:
* pango/AttrLetterSpacing.cs:
* pango/AttrRise.cs:
* pango/AttrScale.cs:
* pango/AttrShape.cs:
* pango/AttrSize.cs:
* pango/AttrStretch.cs:
* pango/AttrStrikethrough.cs:
* pango/AttrStrikethroughColor.cs:
* pango/AttrStyle.cs:
* pango/AttrUnderline.cs:
* pango/AttrUnderlineColor.cs:
* pango/AttrVariant.cs:
* pango/AttrWeight.cs: subclasses of Attribute, with proper
constructors. These don't actually correspond one-to-one with
the underlying types, but they're nicer this way.
* pango/Pango.metadata: Hide Attribute and its subclasses from the
generator. Also hide "Attr" (which previously contained
non-working badly-named static methods to create Attributes)
and AttrClass (which is not really useful outside of pango
itself).
* pango/AttrIterator.custom: use Pango.Attribute.GetAttribute.
* pango/glue/attribute.c: glue for Attribute and its subclasses
[Fixes#52575 and its semi-dup #46552]
svn path=/trunk/gtk-sharp/; revision=43520
* configure.in : kill a ton of redundant stuff.
* AssemblyInfo.cs.in : moved here, only need one.
* Makefile.include : rules for building generated assemblies.
* Makefile.am : removed gtk-sharp-2.0.pc handling.
* */AssemblyInfo.cs.in : killed
* */Makefile.am : refactored out a ton of rules to an include.
* */*-pc.in : added Cflags entries pointing to the gapi files.
* generator/CodeGenerator.cs : add -I: synonym --include.
* gnomevfs/gnome-vfs-api.raw : remamed from gnomevfs-api.raw.
* gtk/gtk-sharp-2.0.pc.in : moved here from top.
* parser/gapi-fixup.cs : add --symbol arg to merge sym files.
* sources/gtk-sharp-sources.xml : remamed gnome-vfs-api.raw.
svn path=/trunk/gtk-sharp/; revision=38551
* pango/Pango.metadata : metadata for the pango audit.
* pango/*.custom : customizations to fix audited API.
* doc/en/* : docs for some api changes and additions.
* glib/Marshaller.cs : some gunichar marshal-fu.
* glib/glue/unichar.c : a new glue method.
svn path=/trunk/gtk-sharp/; revision=32462
* configure.in : deal with a csc-ism in source paths.
* */Makefile.am : use the GENERATED_SOURCES var.
* */glue/Makefile.am : add -no-undefined for win32 dll builds.
svn path=/trunk/gtk-sharp/; revision=29367
* configure.in : lookup gacutil and error out if not found.
* */Makefile.am : add install-data-local and uninstall-local targets
for GAC installation. Add gtk-sharp.pub target to cp the key in for
distcheck.
* */AssemblyInfo.cs.in : remove ../ from key path for VPATH build.
svn path=/trunk/gtk-sharp/; revision=26485
* */Makefile.am : automakify the build
* */Makefile.in : kill
* *.custom : remove System.Drawing dependencies
* *.cs : remove System.Drawing dependencies
* *-api.xml : mv to *-api.raw
* glue/* : mv to lib specific gluelibs for glib, gdk, gtk, and glade.
* gtk/gtk-symbols : alias GtkType to GType
* sources/gtk-sharp-sources.xml : create .raw files. They are now
transformed to .xml files by the metadata compilation step.
svn path=/trunk/gtk-sharp/; revision=23967