2004-06-07 18:59:16 +00:00
|
|
|
SUBDIRS = . glue
|
|
|
|
|
2005-01-09 00:26:45 +00:00
|
|
|
pkg = pango
|
2004-03-12 21:18:11 +00:00
|
|
|
METADATA = Pango.metadata
|
2005-04-24 22:35:43 +00:00
|
|
|
SYMBOLS = pango-symbols.xml
|
2005-01-09 00:26:45 +00:00
|
|
|
references = ../glib/glib-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
|
2004-03-12 21:18:11 +00:00
|
|
|
|
2005-04-24 22:35:43 +00:00
|
|
|
sources = \
|
|
|
|
Attribute.cs \
|
|
|
|
AttrBackground.cs \
|
|
|
|
AttrFallback.cs \
|
|
|
|
AttrFamily.cs \
|
|
|
|
AttrFontDesc.cs \
|
|
|
|
AttrForeground.cs \
|
2007-12-06 17:23:28 +00:00
|
|
|
AttrGravity.cs \
|
|
|
|
AttrGravityHint.cs \
|
2005-04-24 22:35:43 +00:00
|
|
|
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 \
|
2005-05-11 20:27:00 +00:00
|
|
|
Scale.cs \
|
2007-12-06 17:23:28 +00:00
|
|
|
ScriptIter.cs
|
2004-03-12 21:18:11 +00:00
|
|
|
|
|
|
|
customs = \
|
2005-06-17 18:48:27 +00:00
|
|
|
Analysis.custom \
|
2004-03-12 21:18:11 +00:00
|
|
|
AttrIterator.custom \
|
2008-03-15 03:15:32 +00:00
|
|
|
AttrList.custom \
|
2004-08-17 20:43:49 +00:00
|
|
|
Context.custom \
|
|
|
|
Coverage.custom \
|
|
|
|
FontFamily.custom \
|
|
|
|
FontMap.custom \
|
|
|
|
Global.custom \
|
2004-03-12 21:18:11 +00:00
|
|
|
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 \
|
2004-06-07 18:59:16 +00:00
|
|
|
Layout.custom \
|
2004-08-17 20:43:49 +00:00
|
|
|
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 \
|
2005-05-07 00:16:47 +00:00
|
|
|
Matrix.custom \
|
2007-12-06 17:23:28 +00:00
|
|
|
TabArray.custom \
|
|
|
|
Units.custom
|
2004-03-12 21:18:11 +00:00
|
|
|
|
2008-05-15 17:36:46 +00:00
|
|
|
add_dist =
|
2004-05-01 03:38:54 +00:00
|
|
|
|
2005-01-09 00:26:45 +00:00
|
|
|
include ../Makefile.include
|
2004-05-01 03:38:54 +00:00
|
|
|
|