2004-03-18 22:03:49 +00:00
|
|
|
SUBDIRS = . glue
|
2004-03-12 21:18:11 +00:00
|
|
|
|
2005-01-09 00:26:45 +00:00
|
|
|
pkg = gdk
|
|
|
|
SYMBOLS = gdk-symbols.xml
|
2004-03-12 21:18:11 +00:00
|
|
|
INCLUDE_API = ../pango/pango-api.xml
|
|
|
|
METADATA = Gdk.metadata
|
2005-01-09 00:26:45 +00:00
|
|
|
references = ../glib/glib-sharp.dll ../pango/pango-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 = gdk/gdk.h
|
2004-03-12 21:18:11 +00:00
|
|
|
|
|
|
|
sources = \
|
|
|
|
EventButton.cs \
|
|
|
|
EventClient.cs \
|
|
|
|
EventConfigure.cs \
|
|
|
|
EventCrossing.cs \
|
|
|
|
Event.cs \
|
|
|
|
EventDND.cs \
|
|
|
|
EventExpose.cs \
|
|
|
|
EventFocus.cs \
|
|
|
|
EventKey.cs \
|
|
|
|
EventMotion.cs \
|
|
|
|
EventProperty.cs \
|
|
|
|
EventProximity.cs \
|
|
|
|
EventScroll.cs \
|
|
|
|
EventSelection.cs \
|
|
|
|
EventSetting.cs \
|
|
|
|
EventVisibility.cs \
|
|
|
|
EventWindowState.cs \
|
2004-03-16 20:43:14 +00:00
|
|
|
Key.cs \
|
2004-09-09 18:05:37 +00:00
|
|
|
Size.cs \
|
|
|
|
TextProperty.cs
|
2004-03-12 21:18:11 +00:00
|
|
|
|
|
|
|
customs = \
|
2004-04-28 20:58:11 +00:00
|
|
|
Atom.custom \
|
2004-03-12 21:18:11 +00:00
|
|
|
Color.custom \
|
2004-08-26 19:10:48 +00:00
|
|
|
Device.custom \
|
2004-03-12 21:18:11 +00:00
|
|
|
DeviceAxis.custom \
|
|
|
|
Display.custom \
|
|
|
|
DisplayManager.custom \
|
|
|
|
DragContext.custom \
|
|
|
|
Drawable.custom \
|
2005-07-02 15:23:27 +00:00
|
|
|
EdgeTable.custom \
|
|
|
|
GCValues.custom \
|
2004-03-12 21:18:11 +00:00
|
|
|
Global.custom \
|
2005-04-04 16:27:08 +00:00
|
|
|
Input.custom \
|
2004-09-14 13:25:49 +00:00
|
|
|
Keymap.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
|
|
|
PangoAttrEmbossed.custom\
|
2005-07-02 15:23:27 +00:00
|
|
|
PangoAttrStipple.custom \
|
2004-10-07 15:44:00 +00:00
|
|
|
Pixmap.custom \
|
2004-03-12 21:18:11 +00:00
|
|
|
Pixbuf.custom \
|
2005-04-01 14:54:12 +00:00
|
|
|
PixbufAnimation.custom \
|
2005-07-02 15:23:27 +00:00
|
|
|
PixbufFrame.custom \
|
2004-03-12 21:18:11 +00:00
|
|
|
PixbufLoader.custom \
|
2004-06-19 14:46:11 +00:00
|
|
|
Pixdata.custom \
|
2004-03-12 21:18:11 +00:00
|
|
|
Point.custom \
|
|
|
|
Rectangle.custom \
|
2004-04-01 17:31:36 +00:00
|
|
|
Region.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
|
|
|
RgbCmap.custom \
|
2004-03-12 21:18:11 +00:00
|
|
|
Screen.custom \
|
|
|
|
Selection.custom \
|
2004-12-17 21:44:47 +00:00
|
|
|
WindowAttr.custom \
|
2004-03-12 21:18:11 +00:00
|
|
|
Window.custom
|
|
|
|
|
2005-01-09 00:26:45 +00:00
|
|
|
add_dist = makefile.win32
|
2004-05-01 03:38:54 +00:00
|
|
|
|
2005-01-09 00:26:45 +00:00
|
|
|
include ../Makefile.include
|