2003-10-13 03:06:22 +00:00
|
|
|
<?xml version="1.0"?>
|
|
|
|
<metadata>
|
2004-04-01 17:31:36 +00:00
|
|
|
<attr path="/api/namespace/boxed[@cname='GdkColor']/method[@name='Copy']" name="hidden">1</attr>
|
|
|
|
<attr path="/api/namespace/boxed[@cname='GdkColor']/method[@name='Free']" name="hidden">1</attr>
|
|
|
|
<attr path="/api/namespace/boxed[@cname='GdkColor']/method[@name='Hash']" name="hidden">1</attr>
|
|
|
|
<attr path="/api/namespace/boxed[@cname='GdkColor']/method[@name='Parse']/return-type" name="type">gboolean</attr>
|
|
|
|
<attr path="/api/namespace/boxed[@cname='GdkColor']/method[@name='Parse']/*/*[@type='GdkColor*']" name="pass_as">ref</attr>
|
2005-12-09 23:16:42 +00:00
|
|
|
<attr path="/api/namespace/boxed[@cname='GdkCursor']/constructor[@cname='gdk_cursor_new_from_name']" name="shared">true</attr>
|
* 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
|
|
|
<attr path="/api/namespace/boxed[@cname='GdkCursor']/field[@name='RefCount']" name="hidden">1</attr>
|
Automatic memory management for opaque types [#49565]
* glib/Opaque.cs (Owned): new property saying whether or not gtk#
owns the memory.
(Opaque): Set Owned to true in the void ctor and false in the
IntPtr one.
(GetOpaque): add a new overload that can also create opaques, a la
GLib.Object.GetObject.
(Ref, Unref, Free): empty virtual methods to be overridden by
subclasses.
(set_Raw): Unref() and possibly Free() the old value, Ref() the
new one.
(~Opaque, Dispose): set Raw to IntPtr.Zero (triggering Free/Unref
if needed)
* parser/gapi2xml.pl (addReturnElem): if the method is named Copy
and returns a pointer, set the "owned" attribute on the
return-type.
* */*-api.raw: Regen
* generator/HandleBase.cs (FromNative): Add new
FromNative/FromNativeReturn overloads that takes a "bool owned"
param. Implement the 1-arg FromNative and FromNativeReturn in
terms of that.
* generator/ObjectBase.cs (FromNative): Implement HandleBase's new
overload. Use the two-arg version of GLib.Object.GetObject when
"owned" is true.
* generator/OpaqueGen.cs (Generate): Pull out Ref, Unref, and
Free/Destroy/Dispose methods and handle them specially by
overriding Opaque.Ref, .Unref, and .Free appropriately. (If any
of the methods are marked deprecated, output a deprecated
do-nothing method as well, to save us from having to write all
those deprecated methods by hand.)
(FromNative): use GetOpaque, passing "owned".
* generator/ReturnValue.cs (FromNative): if the value is a
HandleBase, pass Owned to its FromNative().
* generator/Parameters.cs (Owned): new property (for use on out
params)
(FromNative): Call FromNative() on the generatable, handling Owned
in the case of HandleBase.
* generator/ManagedCallString.cs:
* generator/MethodBody.cs:
* generator/Signal.cs: use param.FromNative() rather than
param.Generatable.FromNative(), to get ownership right.
* */*.metadata: Mark opaque ref/unref/free methods deprecated
(except where we were hiding them before). Add "owned" attributes
to return values and out params as needed.
* pango/AttrIterator.custom (GetFont): work around a
memory-management oddity of the underlying method.
* pango/AttrFontDesc.cs (AttrFontDesc): copy the passed-in
FontDescriptor, since the attribute will assume ownership of it.
* gtk/TreeView.custom (GetPathAtPos): set the "owned" flag on the
returned TreePaths.
* gtk/TargetList.custom: Remove refcounting stuff, which is
now handled automatically
* gtk/NodeStore.cs (GetPath): clear the Owned flag on the created
TreePath so that the underlying structure doesn't get freed when
the function returns
* gtkhtml/HTMLStream.custom (Destroy): hide this and then
reimplement it by hand to keep OpaqueGen from using it in
Dispose(), since calling it after an HTMLStream.Close() will
result in a crash.
svn path=/trunk/gtk-sharp/; revision=47928
2005-08-02 18:45:21 +00:00
|
|
|
<attr path="/api/namespace/boxed[@cname='GdkCursor']/method[@name='Ref']" name="deprecated">1</attr>
|
|
|
|
<attr path="/api/namespace/boxed[@cname='GdkCursor']/method[@name='Unref']" name="deprecated">1</attr>
|
* 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
|
|
|
<attr path="/api/namespace/boxed[@cname='GdkFont']" name="opaque">false</attr>
|
2004-05-31 16:35:43 +00:00
|
|
|
<attr path="/api/namespace/boxed[@cname='GdkRectangle']/method[@name='Intersect']/*/*[@name='dest']" name="pass_as">out</attr>
|
|
|
|
<attr path="/api/namespace/boxed[@cname='GdkRectangle']/method[@name='Union']/*/*[@name='dest']" name="pass_as">out</attr>
|
2004-04-01 17:31:36 +00:00
|
|
|
<attr path="/api/namespace/callback[@cname='GdkPixbufDestroyNotify']/*/*[@type='guchar*']" name="array">1</attr>
|
2005-10-10 01:53:10 +00:00
|
|
|
<attr path="/api/namespace/class[@cname='GdkCairo_']" name="name">CairoHelper</attr>
|
2005-01-11 16:31:38 +00:00
|
|
|
<attr path="/api/namespace/class[@cname='GdkColors_']" name="hidden">1</attr>
|
2004-04-01 17:31:36 +00:00
|
|
|
<attr path="/api/namespace/class[@cname='GdkDrag_']/method[@name='Begin']" name="hidden">1</attr>
|
2004-09-09 18:05:37 +00:00
|
|
|
<attr path="/api/namespace/class[@cname='GdkDrag_']/method[@name='FindWindow']/*/*[@name='dest_window']" name="pass_as">out</attr>
|
|
|
|
<attr path="/api/namespace/class[@cname='GdkDrag_']/method[@name='FindWindowForScreen']/*/*[@name='dest_window']" name="pass_as">out</attr>
|
2004-09-14 13:25:49 +00:00
|
|
|
<attr path="/api/namespace/class[@cname='GdkEvent_']/method[@name='HandlerSet']" name="hidden">1</attr>
|
2004-04-01 17:31:36 +00:00
|
|
|
<attr path="/api/namespace/class[@cname='GdkEvent_']" name="name">EventHelper</attr>
|
2005-04-04 16:27:08 +00:00
|
|
|
<attr path="/api/namespace/class[@cname='GdkInput_']/method[@name='Add']" name="hidden">1</attr>
|
|
|
|
<attr path="/api/namespace/class[@cname='GdkInput_']/method[@name='AddFull']" name="hidden">1</attr>
|
2004-08-28 18:59:32 +00:00
|
|
|
<attr path="/api/namespace/class[@cname='GdkKeyval_']/method[@name='Name']/return-type" name="type">const-gchar*</attr>
|
2004-04-01 17:31:36 +00:00
|
|
|
<attr path="/api/namespace/class[@cname='GdkGlobal']/method[@name='DevicesList']" name="hidden">1</attr>
|
2004-09-09 18:05:37 +00:00
|
|
|
<attr path="/api/namespace/class[@cname='GdkGlobal']/method[@name='FreeTextList']" name="hidden">1</attr>
|
2004-09-14 13:25:49 +00:00
|
|
|
<attr path="/api/namespace/class[@cname='GdkGlobal']/method[@name='InitCheck']" name="hidden">1</attr>
|
2004-04-01 17:31:36 +00:00
|
|
|
<attr path="/api/namespace/class[@cname='GdkGlobal']/method[@name='ListVisuals']" name="hidden">1</attr>
|
2004-09-14 13:25:49 +00:00
|
|
|
<attr path="/api/namespace/class[@cname='GdkGlobal']/method[@name='ParseArgs']" name="hidden">1</attr>
|
2005-04-04 16:27:08 +00:00
|
|
|
<attr path="/api/namespace/class[@cname='GdkGlobal']/method[@name='AddClientMessageFilter']" name="hidden">1</attr>
|
2004-09-14 13:25:49 +00:00
|
|
|
<attr path="/api/namespace/class[@cname='GdkGlobal']/method[@name='StringToCompoundText']" name="hidden">1</attr>
|
|
|
|
<attr path="/api/namespace/class[@cname='GdkGlobal']/method[@name='StringToCompoundTextForDisplay']" name="hidden">1</attr>
|
2004-04-01 17:31:36 +00:00
|
|
|
<attr path="/api/namespace/class[@cname='GdkPango_']" name="name">PangoHelper</attr>
|
|
|
|
<attr path="/api/namespace/class[@cname='GdkPixbuf_']" name="hidden">1</attr>
|
2004-05-06 18:15:31 +00:00
|
|
|
<attr path="/api/namespace/class[@cname='GdkProperty_']/method[@name='Get']/*/*[@name='actual_property_type']" name="pass_as">out</attr>
|
|
|
|
<attr path="/api/namespace/class[@cname='GdkProperty_']/method[@name='Get']/*/*[@name='data']" name="pass_as">out</attr>
|
|
|
|
<attr path="/api/namespace/class[@cname='GdkProperty_']/method[@name='Get']/*/*[@name='data']" name="array">1</attr>
|
2004-09-14 13:25:49 +00:00
|
|
|
<attr path="/api/namespace/class[@cname='GdkQuery_']" name="hidden">1</attr>
|
2005-02-14 19:32:10 +00:00
|
|
|
<attr path="/api/namespace/class[@cname='GdkRgb_']/method[@name='FindColor']/*/*[@name='color']" name="pass_as">ref</attr>
|
2004-09-14 13:25:49 +00:00
|
|
|
<attr path="/api/namespace/class[@cname='GdkSelection_']/method[@name='PropertyGet']" name="hidden">1</attr>
|
2004-09-09 18:05:37 +00:00
|
|
|
<attr path="/api/namespace/class[@cname='GdkText_']" name="hidden">1</attr>
|
2005-04-19 15:30:45 +00:00
|
|
|
<add-node path="/api/namespace/enum[@cname='GdkModifierType']"><member name="None" value="0" /></add-node>
|
|
|
|
<attr path="/api/namespace/enum[@cname='GdkModifierType']/member[@name='ModifierMask']" name="value">ReleaseMask | 0x1fff</attr>
|
2004-09-09 18:05:37 +00:00
|
|
|
<attr path="/api/namespace/enum[@cname='GdkWindowClass']/member[@name='Output']" name="name">InputOutput</attr>
|
|
|
|
<attr path="/api/namespace/enum[@cname='GdkWindowClass']/member[@name='Only']" name="name">InputOnly</attr>
|
2004-12-03 20:42:12 +00:00
|
|
|
<attr path="/api/namespace/object[@cname='GdkBitmap']" name="hidden">1</attr>
|
|
|
|
<attr path="/api/namespace/object[@cname='GdkBitmap']/method[@name='CreateFromData']" name="name">CreateBitmapFromData</attr>
|
|
|
|
<move-node path="/api/namespace/object[@cname='GdkBitmap']/method[@name='CreateBitmapFromData']">/api/namespace/object[@cname='GdkPixmap']</move-node>
|
* 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
|
|
|
<attr path="/api/namespace/object[@cname='GdkColormap']/field[@name='Colors']" name="array">1</attr>
|
2004-04-01 17:31:36 +00:00
|
|
|
<attr path="/api/namespace/object[@cname='GdkColormap']/method[@name='AllocColor']/*/*[@type='GdkColor*']" name="pass_as">ref</attr>
|
|
|
|
<attr path="/api/namespace/object[@cname='GdkColormap']/method[@name='AllocColors']/*/*[@type='GdkColor*']" name="array">1</attr>
|
|
|
|
<attr path="/api/namespace/object[@cname='GdkColormap']/method[@name='AllocColors']/*/*[@name='success']" name="array">1</attr>
|
|
|
|
<attr path="/api/namespace/object[@cname='GdkColormap']/method[@name='QueryColor']/*/*[@type='GdkColor*']" name="pass_as">ref</attr>
|
|
|
|
<attr path="/api/namespace/object[@cname='GdkColormap']/method[@name='FreeColors']/*/*[@type='GdkColor*']" name="array">1</attr>
|
* 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
|
|
|
<attr path="/api/namespace/object[@cname='GdkDevice']/field[@name='Name']" name="access">public</attr>
|
|
|
|
<attr path="/api/namespace/object[@cname='GdkDevice']/field[@name='Source']" name="access">public</attr>
|
|
|
|
<attr path="/api/namespace/object[@cname='GdkDevice']/field[@name='Mode']" name="access">public</attr>
|
|
|
|
<attr path="/api/namespace/object[@cname='GdkDevice']/field[@name='HasCursor']" name="access">public</attr>
|
|
|
|
<attr path="/api/namespace/object[@cname='GdkDevice']/field[@name='NumAxes']" name="access">public</attr>
|
|
|
|
<attr path="/api/namespace/object[@cname='GdkDevice']/field[@name='NumKeys']" name="access">public</attr>
|
2004-08-26 19:10:48 +00:00
|
|
|
<attr path="/api/namespace/object[@cname='GdkDevice']/method[@name='GetAxis']/*/*[@name='axes']" name="array">1</attr>
|
2004-09-09 18:05:37 +00:00
|
|
|
<attr path="/api/namespace/object[@cname='GdkDevice']/method[@name='FreeHistory']" name="hidden">1</attr>
|
|
|
|
<attr path="/api/namespace/object[@cname='GdkDevice']/method[@name='GetHistory']" name="hidden">1</attr>
|
2004-08-26 19:10:48 +00:00
|
|
|
<attr path="/api/namespace/object[@cname='GdkDevice']/method[@name='GetState']" name="hidden">1</attr>
|
2005-04-04 16:27:08 +00:00
|
|
|
<attr path="/api/namespace/object[@cname='GdkDisplay']/method[@name='AddClientMessageFilter']" name="hidden">1</attr>
|
2004-09-09 18:05:37 +00:00
|
|
|
<attr path="/api/namespace/object[@cname='GdkDisplay']/method[@name='GetPointer']" name="hidden">1</attr>
|
2004-04-01 17:31:36 +00:00
|
|
|
<attr path="/api/namespace/object[@cname='GdkDisplay']/method[@name='ListDevices']" name="hidden">1</attr>
|
|
|
|
<attr path="/api/namespace/object[@cname='GdkDisplayManager']/method[@name='ListDisplays']" name="hidden">1</attr>
|
* 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
|
|
|
<attr path="/api/namespace/object[@cname='GdkDragContext']/field[@cname='protocol']" name="name">DragProtocol</attr>
|
|
|
|
<attr path="/api/namespace/object[@cname='GdkDragContext']/field[@cname='targets']" name="hidden">1</attr>
|
2004-06-08 11:09:49 +00:00
|
|
|
<attr path="/api/namespace/object[@cname='GdkDrawable']/method[@name='DrawGrayImage']/*/*[@name='buf']" name="array">1</attr>
|
2004-06-08 11:22:41 +00:00
|
|
|
<attr path="/api/namespace/object[@cname='GdkDrawable']/method[@name='DrawIndexedImage']/*/*[@name='buf']" name="array">1</attr>
|
|
|
|
<attr path="/api/namespace/object[@cname='GdkDrawable']/method[@name='DrawRgbImage']/*/*[@name='rgb_buf']" name="array">1</attr>
|
|
|
|
<attr path="/api/namespace/object[@cname='GdkDrawable']/method[@name='DrawRgbImageDithalign']/*/*[@name='rgb_buf']" name="array">1</attr>
|
|
|
|
<attr path="/api/namespace/object[@cname='GdkDrawable']/method[@name='DrawRgb32Image']/*/*[@name='buf']" name="array">1</attr>
|
|
|
|
<attr path="/api/namespace/object[@cname='GdkDrawable']/method[@name='DrawRgb32ImageDithalign']/*/*[@name='buf']" name="array">1</attr>
|
2004-04-01 17:31:36 +00:00
|
|
|
<attr path="/api/namespace/object[@cname='GdkDrawable']/method[@name='DrawLines']" name="hidden">1</attr>
|
2006-05-02 22:36:43 +00:00
|
|
|
<attr path="/api/namespace/object[@cname='GdkDrawable']/method[@name='DrawPoints']" name="hidden">1</attr>
|
2004-04-01 17:31:36 +00:00
|
|
|
<attr path="/api/namespace/object[@cname='GdkDrawable']/method[@name='DrawPolygon']" name="hidden">1</attr>
|
|
|
|
<attr path="/api/namespace/object[@cname='GdkDrawable']/method[@name='GetSize']/*/*[@type='gint*']" name="pass_as">out</attr>
|
2005-05-04 11:47:25 +00:00
|
|
|
<attr path="/api/namespace/object[@cname='GdkDrawable']/method[@name='SetData']/*/*[@name='destroy_func']" name="type">gpointer</attr>
|
* 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
|
|
|
<attr path="/api/namespace/object[@cname='GdkImage']/field[@name='Mem']" name="access">private</attr>
|
|
|
|
<attr path="/api/namespace/object[@cname='GdkImage']/field[@name='WindowingData']" name="access">private</attr>
|
2004-09-14 13:25:49 +00:00
|
|
|
<attr path="/api/namespace/object[@cname='GdkKeymap']/method[@name='GetEntriesForKeycode']" name="hidden">1</attr>
|
|
|
|
<attr path="/api/namespace/object[@cname='GdkKeymap']/method[@name='GetEntriesForKeyval']" name="hidden">1</attr>
|
2005-06-06 14:40:46 +00:00
|
|
|
<attr path="/api/namespace/object[@cname='GdkPangoRenderer']/method[@name='GetDefault']/return-type" name="type">GdkPangoRenderer*</attr>
|
2005-04-04 16:27:08 +00:00
|
|
|
<attr path="/api/namespace/object[@cname='GdkPixbuf']/constructor[@cname='gdk_pixbuf_new_from_data']" name="hidden">1</attr>
|
2004-04-01 17:31:36 +00:00
|
|
|
<attr path="/api/namespace/object[@cname='GdkPixbuf']/constructor[@cname='gdk_pixbuf_new_from_file']" name="preferred">1</attr>
|
|
|
|
<attr path="/api/namespace/object[@cname='GdkPixbuf']/constructor[@cname='gdk_pixbuf_new_from_inline']/*/*[@name='data']" name="array">1</attr>
|
|
|
|
<attr path="/api/namespace/object[@cname='GdkPixbuf']/constructor[@cname='gdk_pixbuf_new_from_xpm_data']/*/*[@name='data']" name="array">1</attr>
|
|
|
|
<attr path="/api/namespace/object[@cname='GdkPixbuf']/method[@name='AddAlpha']" name="hidden">1</attr>
|
|
|
|
<attr path="/api/namespace/object[@cname='GdkPixbuf']/method[@name='CompositeColorSimple']" name="hidden">1</attr>
|
|
|
|
<attr path="/api/namespace/object[@cname='GdkPixbuf']/method[@name='GetFromDrawable']" name="library">libgdk-win32-2.0-0.dll</attr>
|
|
|
|
<attr path="/api/namespace/object[@cname='GdkPixbuf']/method[@name='GetFormats']" name="hidden">1</attr>
|
|
|
|
<attr path="/api/namespace/object[@cname='GdkPixbuf']/method[@name='GetFromImage']" name="library">libgdk-win32-2.0-0.dll</attr>
|
|
|
|
<attr path="/api/namespace/object[@cname='GdkPixbuf']/method[@name='GetPixels']" name="hidden">1</attr>
|
|
|
|
<attr path="/api/namespace/object[@cname='GdkPixbuf']/method[@name='RenderThresholdAlpha']" name="library">libgdk-win32-2.0-0.dll</attr>
|
|
|
|
<attr path="/api/namespace/object[@cname='GdkPixbuf']/method[@name='RenderToDrawable']" name="library">libgdk-win32-2.0-0.dll</attr>
|
|
|
|
<attr path="/api/namespace/object[@cname='GdkPixbuf']/method[@name='RenderToDrawableAlpha']" name="library">libgdk-win32-2.0-0.dll</attr>
|
|
|
|
<attr path="/api/namespace/object[@cname='GdkPixbuf']/method[@name='RenderPixmapAndMaskForColormap']" name="library">libgdk-win32-2.0-0.dll</attr>
|
2004-09-09 18:05:37 +00:00
|
|
|
<attr path="/api/namespace/object[@cname='GdkPixbuf']/method[@name='RenderPixmapAndMaskForColormap']/*/*[@name='pixmap_return']" name="pass_as">out</attr>
|
|
|
|
<attr path="/api/namespace/object[@cname='GdkPixbuf']/method[@name='RenderPixmapAndMaskForColormap']/*/*[@name='mask_return']" name="pass_as">out</attr>
|
2004-04-01 17:31:36 +00:00
|
|
|
<attr path="/api/namespace/object[@cname='GdkPixbuf']/method[@name='RenderPixmapAndMask']" name="library">libgdk-win32-2.0-0.dll</attr>
|
2004-09-09 18:05:37 +00:00
|
|
|
<attr path="/api/namespace/object[@cname='GdkPixbuf']/method[@name='RenderPixmapAndMask']/*/*[@name='pixmap_return']" name="pass_as">out</attr>
|
|
|
|
<attr path="/api/namespace/object[@cname='GdkPixbuf']/method[@name='RenderPixmapAndMask']/*/*[@name='mask_return']" name="pass_as">out</attr>
|
|
|
|
<attr path="/api/namespace/object[@cname='GdkPixbuf']/method[@name='Save']" name="hidden">1</attr>
|
2004-06-14 20:25:50 +00:00
|
|
|
<attr path="/api/namespace/object[@cname='GdkPixbuf']/method[@name='Savev']/*/*[@type='char**']" name="array">1</attr>
|
2005-01-25 17:20:55 +00:00
|
|
|
<attr path="/api/namespace/object[@cname='GdkPixbuf']/method[@name='SaveToBuffer']" name="hidden">1</attr>
|
|
|
|
<attr path="/api/namespace/object[@cname='GdkPixbuf']/method[@name='SaveToBufferv']" name="hidden">1</attr>
|
|
|
|
<attr path="/api/namespace/object[@cname='GdkPixbuf']/method[@name='SaveToCallback']" name="hidden">1</attr>
|
|
|
|
<attr path="/api/namespace/object[@cname='GdkPixbuf']/method[@name='SaveToCallbackv']" name="hidden">1</attr>
|
2004-04-01 17:31:36 +00:00
|
|
|
<attr path="/api/namespace/object[@cname='GdkPixbuf']/method[@name='ScaleSimple']" name="hidden">1</attr>
|
2004-10-29 20:33:07 +00:00
|
|
|
<attr path="/api/namespace/object[@cname='GdkPixbuf']/property[@name='Pixels']" name="hidden">1</attr>
|
2005-07-28 21:24:55 +00:00
|
|
|
<attr path="/api/namespace/object[@cname='GdkPixbuf']/property" name="readable">true</attr>
|
|
|
|
<attr path="/api/namespace/object[@cname='GdkPixbuf']/property" name="writeable">true</attr>
|
|
|
|
<attr path="/api/namespace/object[@cname='GdkPixbuf']/property" name="construct-only">true</attr>
|
2004-04-01 17:31:36 +00:00
|
|
|
<attr path="/api/namespace/object[@cname='GdkPixbufLoader']/method[@name='GetPixbuf']" name="needs_ref">1</attr>
|
|
|
|
<attr path="/api/namespace/object[@cname='GdkPixbufLoader']/method[@name='Write']/*/*[@name='buf']" name="array">1</attr>
|
|
|
|
<attr path="/api/namespace/object[@cname='GdkPixmap']" name="parent">GdkDrawable</attr>
|
* gdk/Gdk.metadata: Remap all "out Gdk.Bitmap" params to be
Gdk.Pixmaps instead, because the former will crash. Also fix the
"data" param to Pixmap.CreateFromXpmD and
Pixmap.ColormapCreateFromXpmD
* gtk/Style.custom (TextAAGC, SetTextAAGC, LightGC, SetLightGC,
DarkGC, SetDarkGC, MidGC, SetMidGC): add these to go along with
BaseGC, SetBaseGC, etc.
* gtk/glue/style.c: add the glue methods needed for the above
svn path=/trunk/gtk-sharp/; revision=35409
2004-10-28 19:25:50 +00:00
|
|
|
<attr path="/api/namespace/object[@cname='GdkPixmap']/method[@name='CreateFromXpm']/*/*[@name='mask']" name="pass_as">out</attr>
|
|
|
|
<attr path="/api/namespace/object[@cname='GdkPixmap']/method[@name='CreateFromXpmD']/*/*[@name='mask']" name="pass_as">out</attr>
|
|
|
|
<attr path="/api/namespace/object[@cname='GdkPixmap']/method[@name='CreateFromXpmD']/*/*[@name='data']" name="array">1</attr>
|
|
|
|
<attr path="/api/namespace/object[@cname='GdkPixmap']/method[@name='ColormapCreateFromXpm']/*/*[@name='mask']" name="pass_as">out</attr>
|
|
|
|
<attr path="/api/namespace/object[@cname='GdkPixmap']/method[@name='ColormapCreateFromXpmD']/*/*[@name='mask']" name="pass_as">out</attr>
|
|
|
|
<attr path="/api/namespace/object[@cname='GdkPixmap']/method[@name='ColormapCreateFromXpmD']/*/*[@name='data']" name="array">1</attr>
|
2005-12-13 17:11:31 +00:00
|
|
|
<attr path="/api/namespace/object[@cname='GdkScreen']/method[@name='GetFontOptionsLibgtkOnly']" name="hidden">1</attr>
|
2004-04-01 17:31:36 +00:00
|
|
|
<attr path="/api/namespace/object[@cname='GdkScreen']/method[@name='GetMonitorGeometry']/*/*[@type='GdkRectangle*']" name="pass_as">out</attr>
|
2005-12-13 17:11:31 +00:00
|
|
|
<attr path="/api/namespace/object[@cname='GdkScreen']/method[@name='GetResolutionLibgtkOnly']" name="hidden">1</attr>
|
2004-04-01 17:31:36 +00:00
|
|
|
<attr path="/api/namespace/object[@cname='GdkScreen']/method[@name='GetToplevelWindows']" name="hidden">1</attr>
|
|
|
|
<attr path="/api/namespace/object[@cname='GdkScreen']/method[@name='Height']" name="hidden">1</attr>
|
|
|
|
<attr path="/api/namespace/object[@cname='GdkScreen']/method[@name='HeightMm']" name="hidden">1</attr>
|
|
|
|
<attr path="/api/namespace/object[@cname='GdkScreen']/method[@name='ListVisuals']" name="hidden">1</attr>
|
2005-12-13 17:11:31 +00:00
|
|
|
<attr path="/api/namespace/object[@cname='GdkScreen']/method[@name='SetFontOptionsLibgtkOnly']" name="hidden">1</attr>
|
|
|
|
<attr path="/api/namespace/object[@cname='GdkScreen']/method[@name='SetResolutionLibgtkOnly']" name="hidden">1</attr>
|
2004-04-01 17:31:36 +00:00
|
|
|
<attr path="/api/namespace/object[@cname='GdkScreen']/method[@name='Width']" name="hidden">1</attr>
|
|
|
|
<attr path="/api/namespace/object[@cname='GdkScreen']/method[@name='WidthMm']" name="hidden">1</attr>
|
2005-04-04 16:27:08 +00:00
|
|
|
<attr path="/api/namespace/object[@cname='GdkWindow']" name="parent">GdkDrawable</attr>
|
|
|
|
<attr path="/api/namespace/object[@cname='GdkWindow']/method[@name='AddFilter']" name="hidden">1</attr>
|
2004-07-24 23:36:39 +00:00
|
|
|
<attr path="/api/namespace/object[@cname='GdkWindow']/method[@name='Destroy']" name="hidden">1</attr>
|
2004-04-01 17:31:36 +00:00
|
|
|
<attr path="/api/namespace/object[@cname='GdkWindow']/method[@name='GetChildren']" name="hidden">1</attr>
|
2004-12-17 21:44:47 +00:00
|
|
|
<attr path="/api/namespace/object[@cname='GdkWindow']/method[@name='GetFrameExtents']/*/*[@name='rect']" name="pass_as">out</attr>
|
2004-04-01 17:31:36 +00:00
|
|
|
<attr path="/api/namespace/object[@cname='GdkWindow']/method[@name='GetInternalPaintInfo']/*/*[@type='gint*']" name="pass_as">out</attr>
|
|
|
|
<attr path="/api/namespace/object[@cname='GdkWindow']/method[@name='GetInternalPaintInfo']/*/*[@type='GdkDrawable**']" name="pass_as">out</attr>
|
|
|
|
<attr path="/api/namespace/object[@cname='GdkWindow']/method[@name='GetOrigin']/*/*[@type='gint*']" name="pass_as">out</attr>
|
|
|
|
<attr path="/api/namespace/object[@cname='GdkWindow']/method[@name='GetPointer']/*/*[@type='gint*']" name="pass_as">out</attr>
|
|
|
|
<attr path="/api/namespace/object[@cname='GdkWindow']/method[@name='GetPointer']/*/*[@type='GdkModifierType*']" name="pass_as">out</attr>
|
|
|
|
<attr path="/api/namespace/object[@cname='GdkWindow']/method[@name='GetToplevels']" name="hidden">1</attr>
|
|
|
|
<attr path="/api/namespace/object[@cname='GdkWindow']/method[@name='PeekChildren']" name="hidden">1</attr>
|
2005-04-04 16:27:08 +00:00
|
|
|
<attr path="/api/namespace/object[@cname='GdkWindow']/method[@name='RemoveFilter']" name="hidden">1</attr>
|
2004-04-01 17:31:36 +00:00
|
|
|
<attr path="/api/namespace/object[@cname='GdkWindow']/method[@name='SetIconList']" name="hidden">1</attr>
|
2004-06-07 17:14:35 +00:00
|
|
|
<attr path="/api/namespace/object[@cname='GdkWindow']/method[@name='GetUserData']" name="hidden">1</attr>
|
|
|
|
<attr path="/api/namespace/object[@cname='GdkWindow']/method[@cname='gdk_window_set_user_data']" name="hidden">1</attr>
|
2004-10-29 20:33:07 +00:00
|
|
|
<attr path="/api/namespace/struct[@cname='GdkAtom']/method[@name='Name']" name="name">GetName</attr>
|
2004-04-01 17:31:36 +00:00
|
|
|
<attr path="/api/namespace/struct[@cname='GdkEventAny']" name="hidden">1</attr>
|
|
|
|
<attr path="/api/namespace/struct[@cname='GdkEventButton']" name="hidden">1</attr>
|
|
|
|
<attr path="/api/namespace/struct[@cname='GdkEventClient']" name="hidden">1</attr>
|
|
|
|
<attr path="/api/namespace/struct[@cname='GdkEventConfigure']" name="hidden">1</attr>
|
|
|
|
<attr path="/api/namespace/struct[@cname='GdkEventCrossing']" name="hidden">1</attr>
|
|
|
|
<attr path="/api/namespace/struct[@cname='GdkEventDND']" name="hidden">1</attr>
|
|
|
|
<attr path="/api/namespace/struct[@cname='GdkEventExpose']" name="hidden">1</attr>
|
|
|
|
<attr path="/api/namespace/struct[@cname='GdkEventFocus']" name="hidden">1</attr>
|
2005-12-10 06:00:03 +00:00
|
|
|
<attr path="/api/namespace/struct[@cname='GdkEventGrabBroken']" name="hidden">1</attr>
|
2004-04-01 17:31:36 +00:00
|
|
|
<attr path="/api/namespace/struct[@cname='GdkEventKey']" name="hidden">1</attr>
|
|
|
|
<attr path="/api/namespace/struct[@cname='GdkEventMotion']" name="hidden">1</attr>
|
|
|
|
<attr path="/api/namespace/struct[@cname='GdkEventNoExpose']" name="hidden">1</attr>
|
|
|
|
<attr path="/api/namespace/struct[@cname='GdkEventProperty']" name="hidden">1</attr>
|
|
|
|
<attr path="/api/namespace/struct[@cname='GdkEventProximity']" name="hidden">1</attr>
|
|
|
|
<attr path="/api/namespace/struct[@cname='GdkEventScroll']" name="hidden">1</attr>
|
|
|
|
<attr path="/api/namespace/struct[@cname='GdkEventSelection']" name="hidden">1</attr>
|
|
|
|
<attr path="/api/namespace/struct[@cname='GdkEventSetting']" name="hidden">1</attr>
|
|
|
|
<attr path="/api/namespace/struct[@cname='GdkEventVisibility']" name="hidden">1</attr>
|
|
|
|
<attr path="/api/namespace/struct[@cname='GdkEventWindowState']" name="hidden">1</attr>
|
2004-06-19 14:46:11 +00:00
|
|
|
<attr path="/api/namespace/struct[@cname='GdkPixdata']/method[@name='Deserialize']/*/*[@name='stream']" name="array">1</attr>
|
|
|
|
<attr path="/api/namespace/struct[@cname='GdkPixdata']/method[@name='Serialize']" name="hidden">1</attr>
|
2004-09-14 13:25:49 +00:00
|
|
|
<attr path="/api/namespace/struct[@cname='GdkPixdata']/method[@name='ToCsource']" name="hidden">1</attr>
|
2004-04-01 17:31:36 +00:00
|
|
|
<attr path="/api/namespace/struct[@cname='GdkPixmapObject']" name="hidden">1</attr>
|
* 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
|
|
|
<attr path="/api/namespace/struct[@cname='GdkPangoAttrEmbossed']/field[@name='Attr']" name="hidden">1</attr>
|
|
|
|
<attr path="/api/namespace/struct[@cname='GdkPangoAttrStipple']/field[@name='Attr']" name="hidden">1</attr>
|
|
|
|
<attr path="/api/namespace/struct[@cname='GdkRegion']/field" name="access">private</attr>
|
Automatic memory management for opaque types [#49565]
* glib/Opaque.cs (Owned): new property saying whether or not gtk#
owns the memory.
(Opaque): Set Owned to true in the void ctor and false in the
IntPtr one.
(GetOpaque): add a new overload that can also create opaques, a la
GLib.Object.GetObject.
(Ref, Unref, Free): empty virtual methods to be overridden by
subclasses.
(set_Raw): Unref() and possibly Free() the old value, Ref() the
new one.
(~Opaque, Dispose): set Raw to IntPtr.Zero (triggering Free/Unref
if needed)
* parser/gapi2xml.pl (addReturnElem): if the method is named Copy
and returns a pointer, set the "owned" attribute on the
return-type.
* */*-api.raw: Regen
* generator/HandleBase.cs (FromNative): Add new
FromNative/FromNativeReturn overloads that takes a "bool owned"
param. Implement the 1-arg FromNative and FromNativeReturn in
terms of that.
* generator/ObjectBase.cs (FromNative): Implement HandleBase's new
overload. Use the two-arg version of GLib.Object.GetObject when
"owned" is true.
* generator/OpaqueGen.cs (Generate): Pull out Ref, Unref, and
Free/Destroy/Dispose methods and handle them specially by
overriding Opaque.Ref, .Unref, and .Free appropriately. (If any
of the methods are marked deprecated, output a deprecated
do-nothing method as well, to save us from having to write all
those deprecated methods by hand.)
(FromNative): use GetOpaque, passing "owned".
* generator/ReturnValue.cs (FromNative): if the value is a
HandleBase, pass Owned to its FromNative().
* generator/Parameters.cs (Owned): new property (for use on out
params)
(FromNative): Call FromNative() on the generatable, handling Owned
in the case of HandleBase.
* generator/ManagedCallString.cs:
* generator/MethodBody.cs:
* generator/Signal.cs: use param.FromNative() rather than
param.Generatable.FromNative(), to get ownership right.
* */*.metadata: Mark opaque ref/unref/free methods deprecated
(except where we were hiding them before). Add "owned" attributes
to return values and out params as needed.
* pango/AttrIterator.custom (GetFont): work around a
memory-management oddity of the underlying method.
* pango/AttrFontDesc.cs (AttrFontDesc): copy the passed-in
FontDescriptor, since the attribute will assume ownership of it.
* gtk/TreeView.custom (GetPathAtPos): set the "owned" flag on the
returned TreePaths.
* gtk/TargetList.custom: Remove refcounting stuff, which is
now handled automatically
* gtk/NodeStore.cs (GetPath): clear the Owned flag on the created
TreePath so that the underlying structure doesn't get freed when
the function returns
* gtkhtml/HTMLStream.custom (Destroy): hide this and then
reimplement it by hand to keep OpaqueGen from using it in
Dispose(), since calling it after an HTMLStream.Close() will
result in a crash.
svn path=/trunk/gtk-sharp/; revision=47928
2005-08-02 18:45:21 +00:00
|
|
|
<attr path="/api/namespace/struct[@cname='GdkRegion']/method[@name='Destroy']" name="deprecated">1</attr>
|
2004-09-09 18:05:37 +00:00
|
|
|
<attr path="/api/namespace/struct[@cname='GdkRegion']/method[@name='GetClipbox']/*/*[@name='rectangle']" name="pass_as">out</attr>
|
2004-04-01 17:31:36 +00:00
|
|
|
<attr path="/api/namespace/struct[@cname='GdkRegion']/method[@name='GetRectangles']" name="hidden">1</attr>
|
2004-09-09 18:05:37 +00:00
|
|
|
<attr path="/api/namespace/struct[@cname='GdkRegion']/method[@name='Polygon']/*/*[@name='points']" name="array">1</attr>
|
|
|
|
<attr path="/api/namespace/struct[@cname='GdkRegion']/method[@name='Polygon']/*/*[@name='npoints']" name="name">n_points</attr>
|
2005-04-04 16:27:08 +00:00
|
|
|
<attr path="/api/namespace/struct[@cname='GdkRegion']/method[@name='SpansIntersectForeach']/*/*[@name='function']" name="scope">call</attr>
|
* 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
|
|
|
<attr path="/api/namespace/struct[@cname='GdkRgbCmap']/constructor/*/*[@name='colors']" name="array">1</attr>
|
|
|
|
<attr path="/api/namespace/struct[@cname='GdkRgbCmap']/field[@name='NColors']" name="writeable">false</attr>
|
2004-04-01 17:31:36 +00:00
|
|
|
<attr path="/api/namespace/struct[@cname='GdkTimeCoord']/field[@cname='axes']" name="array_len">128</attr>
|
|
|
|
<attr path="/api/namespace/struct[@cname='GdkWindowObject']" name="hidden">1</attr>
|
2005-12-13 15:33:28 +00:00
|
|
|
<add-node path="/api"><symbol type="manual" cname="cairo_t" name="Cairo.Context"/></add-node>
|
2003-10-13 03:06:22 +00:00
|
|
|
</metadata>
|
|
|
|
|