GtkSharp/pango/Makefile.am

62 lines
1.1 KiB
Text
Raw Normal View History

SUBDIRS = . glue
pkg = pango
METADATA = Pango.metadata
INCLUDE_API = $(top_srcdir)/cairo/cairo-api.xml
SYMBOLS = pango-symbols.xml
references = $(top_builddir)/glib/glib-sharp.dll $(top_builddir)/cairo/cairo-sharp.dll
* generator/StructBase.cs: update field-generation logic a bit * 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
2005-05-16 14:28:55 +00:00
glue_includes = pango/pango.h
sources = \
Attribute.cs \
AttrBackground.cs \
AttrColor.cs \
AttrFallback.cs \
AttrFamily.cs \
AttrFloat.cs \
AttrFontDesc.cs \
AttrForeground.cs \
AttrGravity.cs \
AttrGravityHint.cs \
AttrInt.cs \
AttrLanguage.cs \
AttrLetterSpacing.cs \
AttrRise.cs \
AttrScale.cs \
AttrShape.cs \
AttrSize.cs \
AttrStretch.cs \
AttrStrikethroughColor.cs \
AttrStrikethrough.cs \
AttrStyle.cs \
AttrUnderlineColor.cs \
AttrUnderline.cs \
AttrVariant.cs \
AttrWeight.cs \
Scale.cs \
ScriptIter.cs
customs = \
Analysis.custom \
AttrIterator.custom \
AttrList.custom \
Context.custom \
Coverage.custom \
FontFamily.custom \
FontMap.custom \
Global.custom \
GlyphItem.custom \
* 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
GlyphString.custom \
Item.custom \
Layout.custom \
LayoutLine.custom \
* 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
LayoutRun.custom \
Matrix.custom \
TabArray.custom \
Units.custom
add_dist =
include $(top_srcdir)/Makefile.include