Commit graph

295 commits

Author SHA1 Message Date
Alan McGovern
100696b5c1 gdk: It is valid to pass a null gdk_event sometimes
For example gtk_drag_start allows a null Gdk.Event so we need to marshal
it to IntPtr.Zero instead of throwing a NullReferenceException

Cherry-picked from the gtk-sharp-2.12 branch.
2013-08-18 18:32:05 +02:00
Michael Hutchinson
38d1a3f13e cairo: Introduce the concept of reference ownership
Also:
  * improving naming consistency
  * obsolete old/broken stuff
  * clean up tabs/space mix

NOTE: this removes the wrapper caches for Pattern and Surface as
there was no reliable way to clear them.

This is a merge from changes in Mono.Cairo in mono 3.2.
2013-07-26 17:43:11 -05:00
Bertrand Lorentz
05f67db2ee gdk: Hide Global.TextPropertyToUtf8ListForDisplay method
It is implemented manually in TextProperty.ToStringListForDisplay.
2013-04-21 16:54:48 +02:00
Bertrand Lorentz
5e3b720408 gdk: Remove invalid method and P/Invoke in TextProperty
The native functions gdk_free_text_list and
gdk_text_property_to_utf8_list are gone, and we now need to use StrFreeV
to free the native string list.
2013-04-21 16:50:37 +02:00
Bertrand Lorentz
bc0aee1328 gdk: Remove invalid Global.DevicesList method
The native function gdk_devices_list is gone, device handling is now
handled through DeviceManager.
2013-04-21 16:42:18 +02:00
Bertrand Lorentz
253da2e05c Remove obsolete fix-ups for needs_ref attribute
The needs_ref attribute hasn't been used by the generator for quite some
time now.
2013-02-23 13:41:50 +01:00
Bertrand Lorentz
6ecd2d01f9 gdk: Use a Dictionary to hold the filter functions in Window class 2012-11-04 16:58:49 +01:00
Bertrand Lorentz
608a760d45 gdk: Add reference to the GLib project in the .csproj 2012-11-04 16:58:49 +01:00
Bertrand Lorentz
47f3ca6ee5 gdk: Remove AddClientMessageFilter method from Gdk.Display and Global
The native function gdk_display_add_client_message_filter is gone from
GDK.

You can use Gdk.Window.AddFilter as a replacement.
2012-11-04 16:58:49 +01:00
Bertrand Lorentz
60612071c1 Add a MonoDevelop solution and projects for browsing the codebase
This is just to be able to use MonoDevelop to browse the codebase, both
custom and generated code. It is NOT intended to be used to build
anything.
2012-10-13 16:44:10 +02:00
Bertrand Lorentz
64a79b5621 gdk: Re-enable code using Device.NumAxes
As the Device.NumAxes is back now, we can re-enable the pieces of code
that were disabled during the inital port.
2012-07-02 11:23:29 -04:00
Bertrand Lorentz
15486fda75 gdk: Delete the commented out Window.ClearArea method
All the gdk_window_clear* methods were removed in GTK+ 3.0, so we can
remove the custom code that was ifdef'd out in the initial port.
2012-07-02 11:23:19 -04:00
Bertrand Lorentz
d2a93817a1 gdk: Move all .custom files to partial classes 2012-07-02 11:12:25 -04:00
Bertrand Lorentz
b79ac26063 gdk: Rename the Device.NAxes property to NumAxes
We had a NumAxes property in 2.12, coming from a field. It's now a
property called n-axes, with an accessor function, so we need to rename
both.
2012-07-02 10:43:28 -04:00
Mike Kestner
645815d478 Fix Pixdata buffer leak.
Patch provided by Antonio on gtk-sharp-list.
2012-04-22 11:47:28 -05:00
Bertrand Lorentz
ed9a01f5c2 gdk: Add a dllmap for libgio-2.0-0.dll
As Gdk.Pixbuf uses two functions from libgio, we need a dllmap for that
in gdk-sharp.dll.config.
2011-12-04 20:48:22 +01:00
Mike Kestner
aae2b05300 Implement IEquatable<T> on structs.
* gdk/Gdk.metadata: suppress Color.GetHashCode().
* gdk/Point.custom: remove generated methods.
* generator/StructBase.cs: Generate Equals(T), Equals(object), and GetHashCode.
* generator/StructField.cs: helper property for equality testing.
* gtk/TreeIter.custom: remove generated methods.
2011-10-07 21:55:26 -05:00
Olivier Dufour
2c83126846 Fix NRE in Gdk.Window.SetBackgroundPattern
If we set it to null background is set to parent brackground.
So we must handle null case and sent it to native.
2011-09-01 21:25:25 +02:00
Bertrand Lorentz
96a1f100c7 gdk: Fix up WindowWindowClass enum value names
WindowClass was renamed to WindowWindowClass so the fix ups were
incorrectly dropped.
2011-07-16 16:03:35 +02:00
Bertrand Lorentz
6e3ad5f7e3 gdk: Various fixups in Gdk.metadata
Unhide GdkDevice.GetState and hide the GdkColorInfo and GdkDeviceKey
private structs.

Specify the return types for several methods in GdkScreen, GdkDevice and
GdkDeviceManager.
2011-07-03 16:44:16 +02:00
Bertrand Lorentz
d17d94f07e gdk: Kill libgdksharpglue
The only remaining bits in gdk/glue were 2 obsolete functions, which
were not really used.

Also clean up Device.custom to remove obsolete bits, including
references to libgdksharpglue.
2011-07-03 16:44:16 +02:00
Bertrand Lorentz
3ff334d0cc gdk: Add explicit conversion to and from GLib.Value for Rectangle
This allows the valtest sample to compile and work.
2011-06-18 19:21:38 +02:00
Andrés G. Aragoneses
db40040fdc Gdk: Transform the out param of Rectangle.Union() to a return value.
Not only this is prettier but it's also aligned with the 2.12.x API.
2011-04-15 17:31:35 +02:00
Mike Kestner
571bd01356 Fix crashes in Gdk.Pixbuf.Savev
Patch from Bertrand Lorentz <bertrand.lorentz@gmail.com>

* gdk/Gdk.metadata: hide gdk_pixbuf_savev
* gdk/Pixbuf.custom: manually implement Savev to NullTerm the string[]
    parameters.

[Fixes #681111]
2011-04-06 11:01:39 -05:00
Mike Kestner
6be0718ff2 Simplified Signal handling
* gdk/Display.custom: rework signal connection
* gdk/Window.custom: rework signal connection
* generator/Signal.cs: generate for new API.
* glib/Object.cs: add (Add|Remove)SignalHandler methods and use
them for the Notify connections.  Move to generic collections for
everything but the Data hash.
* glib/Signal.cs: kill Lookup methods and add delegate fields
* glib/ToggleRef.cs: remove Signals hash, it doesn't belong here.
* gtk/Clipboard.custom: rework signal connection
* gtk/ListStore.custom: rework signal connection
* gtk/TextView.custom: remove obsolete signal
* gtk/TreeModelAdapter.custom: rework signal connection
* gtk/TreeModelFilter.custom: rework signal connection
* gtk/TreeModelSort.custom: rework signal connection
* gtk/TreeStore.custom: rework signal connection
* gtk/Widget.custom: rework signal connection
* gtk/Window.custom: remove obsolete signal
2011-03-24 18:33:24 -05:00
Mike Kestner
0a094c2662 Cleanup the Gdk build.
* gdk/Colormap.custom: kill dead code
* gdk/DeviceAxis.custom: kill dead code
* gdk/EdgeTable.custom: kill dead code
* gdk/Event.cs: remove dead ClientEvent mapping
* gdk/EventClient.cs: kill dead code
* gdk/GCValues.custom: kill dead code
* gdk/Gdk.metadata: remove a bunch of dead markup and add some new
* gdk/Input.custom: kill dead code
* gdk/Makefile.am: remove dead files
* gdk/PangoAttrEmbossColor.custom: kill dead code
* gdk/PangoAttrEmbossed.custom: kill dead code
* gdk/PangoAttrStipple.custom: kill dead code
* gdk/Region.custom: kill dead code
* gdk/RgbCmap.custom: kill dead code
* gdk/Window.custom: kill dead code
2011-02-18 22:00:34 -06:00
Mike Kestner
27b71b1982 Get Scribble sample working.
* cairo/cairo-api.xml: add the Content enum type and fix surface symbol.
* gdk/gdk-sharp.dll.config.in: s/3.0/3/ on the so name.
* sample/Makefile.am: enable scribble.exe build
* sample/Scribble.cs: rewrite for new API, specifically replace pixmap
drawing usage with cairo, and use OnDrawn in place of OnExposeEvent.
Also Made it a subclass of DrawingArea instead of handling events.
2011-02-15 10:19:07 -06:00
Mike Kestner
3ed7e0901e Update to Gtk+ 3.0.0 API.
* configure.ac: require gtk+-3.0.0 and glib-2.28.0
* gdk/gdk-api.raw: reparse
* gdk/gdk-symbols.xml: add alias for Window (XID) to gulong
* gtk/Plug.custom: update custom ctors to ulong XID versions.
* gtk/gtk-api.raw: reparse
* gtk/gtk-sharp.dll.config.in: change dllname remap to match 3.0.0 so.
* sources/.gitignore: fix glib and gtk+ dirs
* sources/Makefile.am: update to gtk+ 3.0.0
* sources/sources.xml: update to gtk+ 3.0.0
2011-02-12 15:30:20 -06:00
Mike Kestner
70d1b232f2 DllImport updates for gdk. 2011-02-10 21:16:05 -06:00
Mike Kestner
3d8c4e25fd Kill some unneeded #if GTK_SHARP_N checks
* gdk/Event.cs
* glib/Format.cs
* gtk/Builder.custom
* gtk/IconTheme.custom
* pango/Attribute.cs
Remove versioned code since it's all there in 3.0.
2011-02-09 10:28:31 -06:00
Mike Kestner
34c0ecbcf7 The rest of the first pass.
*.*: Stubbing and tweaking and cajoling and disabling to get
the first successful build of 3.0 bindings.
2011-02-08 22:15:37 -06:00
Mike Kestner
7d70a4313a Reparse and fix build for G_DEFINE_BOXED_TYPE
* gdk/PixbufFormat.custom: kill redundant Obsolete prop.
* gdk/Makefile.am: remove file.
* gdk/gdk-api.raw: reparse
* gio/Gio.metadata: hide a couple opaque fields.
* gio/gio-api.raw: reparse
2011-01-31 10:57:06 -06:00
Mike Kestner
955cdcf123 Update Gdk to the 2.99 API
* cairo/Surface.cs: expose LookupSurface
* cairo/cairo-api.xml: add surface mapping
* gdk/*: updates and hobbling to get gdk building.  lots of work
to come.
2011-01-30 22:49:15 -06:00
Mike Kestner
f6d11d67b6 Cairo# 1.10.0 assembly.
* configure.ac: drop cairo conditionality
* cairo/AssemblyInfo.cs: set version to 1.10.0.0
* cairo/Makefile.am: unconditional build and add Region.cs
* cairo/cairo-api.xml: initial type exposure.
* pango/Makefile.am: use cairo-sharp.dll and cairo-api.xml
* pango/Pango.metadata: drop explicit symbol additions.
* gdk/Gdk.metadata: drop explicit symbol additions.
* gdk/Makefile.am: use cairo-sharp.dll and cairo-api.xml
* gtk/Makefile.am: use cairo-sharp.dll and cairo-api.xml
* sample/Makefile.am: use cairo-sharp.dll
* sample/GtkDemo/Makefile.am: use cairo-sharp.dll

This is an initial stab at a 1.10 binding.  It will probably take
more based on the number of errors still coming out of the Gdk
build.
2011-01-30 17:00:03 -06:00
Mike Kestner
fe2d4c311a Flatten the bootstrap and remove glade-sharp
2010-11-21  Mike Kestner  <mkestner@novell.com>

	* removed the glade dir from the build since libglade is
	no longer supported in gnome3.  removed the gapi2-compat stuff
	since it doesn't make much sense now.  Removed the bootstrap
	mechanism since we are unlikely to be releasing multiple API
	versions from the same tree going forward.  The build is now a
	straight autogen.sh like most autotools projects.
2010-11-21 21:18:06 -06:00
Mike Kestner
e2ee3523de 2010-03-25 Mike Kestner <mkestner@novell.com>
* gdk/Rectangle.custom: off-by-one in Right/Bottom. [Fixes #591148]

svn path=/trunk/gtk-sharp/; revision=154205
2010-03-25 15:57:47 +00:00
Christian Hoff
7b752d233c 2009-09-03 Christian Hoff <christian_hoff@gmx.net>
* glib/Global.cs: Kill the calling convention field again.
	It breaks GLib 2.x compatibility in the generator and there is
	probably no need to make the calling convention configurable.
	* .cs, *.custom: Hardcode Cdecl calling convention instead of
	using GLib's field.

svn path=/trunk/gtk-sharp/; revision=141283
2009-09-03 19:50:53 +00:00
Christian Hoff
58e97c087a 2009-09-02 Christian Hoff <christian_hoff@gmx.net>
* glib/Global.cs: Add a public constant field specifying the
	calling convention used by GLib and depending libraries.
	By now it's hardcoded to Cdecl as every non-Win32 runtime
	should ignore this attribute.
	* *.cs, *.custom: Use GLib.Global.CallingConvention for both
	pinvokes and callbacks. Plugs a stack leak on Win32. All
	pinvokes defaulted to StdCall and thus the stack was never
	cleaned up.

svn path=/trunk/gtk-sharp/; revision=141175
2009-09-02 20:17:37 +00:00
Christian Hoff
1e97a1046f 2009-08-30 Christian Hoff <christian_hoff@gmx.net>
Complete the major version jump. Gtk# 3 and 2 are now both
	installable within the same prefix.

	* */glue/Makefile.am: Produce *sharpglue-3 gluelibs.
	* *.custom, *.cs: pinvoke the new glue library.
	* *-2.0.pc.in: Rename to *-3.0.pc.in.

svn path=/trunk/gtk-sharp/; revision=140941
2009-08-30 20:06:33 +00:00
Christian Hoff
b244c750d3 2009-08-12 Christian Hoff <christian_hoff@gmx.net>
* configure.in.in: Detect GDK backend.
	* */*.dll.config.in: Link against the libs of the correct GDK backend
	instead of using x11 on Linux/win32 on Windows.
	Patch by Christian Hergert.	[Fixes 527840]

svn path=/trunk/gtk-sharp/; revision=139750
2009-08-12 08:24:32 +00:00
Christian Hoff
940cf88750 2009-07-02 Christian Hoff <christian_hoff@gmx.net>
* configure.in.in: Target .net 2.0 profile
	* gapi-cdecl-insert: Kill. We are now using the UnmanagedFunctionPointerAttribute
	for callbacks.
	* glib/CdeclCallback: Mark obsolete.
	* generator/*.cs:
	* *.custom: Use [UnmanagedFunctionPointer (CallingConvention.Cdecl)] instead of
	[GLib.CDeclCallback].

svn path=/trunk/gtk-sharp/; revision=137323
2009-07-02 20:18:10 +00:00
Christian Hoff
291ee61b2d 2009-04-13 Christian Hoff <christian_hoff@gmx.net>
Add support for virtual methods(vm) to the generator.

	* parser/gapi2xml.pl: Generate a class_struct element with
	all members of the class structure. Dump the first (instance)
	parameter for signal and vm elements. Bump up parser version.
	* generator/GObjectVM.cs: Added. Support for GObject virtual methods.
	* generator/DefaultSignalHandler.cs: Signal specific part of vm
	generation.
	* generator/InterfaceVM.cs: New class for interface vms.
	* generator/ObjectBase.cs: Parse the class struct.

svn path=/trunk/gtk-sharp/; revision=131604
2009-04-13 17:44:48 +00:00
Christian Hoff
01ed1a5e3e 2009-03-19 Christian Hoff <christian_hoff@gmx.net>
* parser/gapi2xml.pl: Introduce a "parser_version" attribute.
	* generator/GenBase.cs: Implement a property to access the
	attribute's value.

svn path=/trunk/gtk-sharp/; revision=129807
2009-03-19 18:13:01 +00:00
Christian Hoff
d7095d495c 2009-03-17 Christian Hoff <christian_hoff@gmx.net>
* gdk/Property.custom: add new overloads to the Get method
	for the most common property types
	* gdk/Global.custom: Use the new overloads of Property.Get instead of glue

svn path=/trunk/gtk-sharp/; revision=129618
2009-03-17 18:40:35 +00:00
Stephane Delcroix
20f7cd3d78 2009-02-27 Stephane Delcroix <sdelcroix@novell.com>
* gdk/Gdk.metadata:
	* gdk/PixbufFormat.custom:
	* gdk/Makefile.am: deprecate IsDisabled in favor of the Disabled
	property

svn path=/trunk/gtk-sharp/; revision=128194
2009-02-27 10:25:59 +00:00
Stephane Delcroix
360c9c88e2 2009-02-27 Stephane Delcroix <sdelcroix@novell.com>
* gdk/Gdk.metadata: fix GdkPixbufFormat mime_types and extensions

svn path=/trunk/gtk-sharp/; revision=128193
2009-02-27 10:11:36 +00:00
Mike Kestner
d02c31e387 2009-01-13 Mike Kestner <mkestner@novell.com>
* gdk/glue/event.c: kill
	* gdk/glue/selection.c: kill
	* gdk/Selection.cs: hardcode the primary, secondary, and clipboard
	atom definitions instead of using glue to access their macros.
	* gdk/Event*.cs: rewrite to use layout structures instead of glue
	for field accessors.  Also enable writing for all fields.
	[Fixes #323373]

svn path=/trunk/gtk-sharp/; revision=123197
2009-01-13 15:34:01 +00:00
Mike Kestner
146deaa38c 2009-01-04 Mike Kestner <mkestner@novell.com>
* *: update to 2.14.  parser support for GSEALed fields. svn build
	now uses bootstrap-2.14.  integrate gio-sharp module.  

svn path=/trunk/gtk-sharp/; revision=122402
2009-01-04 22:29:56 +00:00
Mike Kestner
a39a739bca 2008-11-15 Mike Kestner <mkestner@novell.com>
* gdk/Event.cs: add EventOwnerChange to GetEvent.
	* gdk/EventOwnerChange.cs: manual subclass of Gdk.Event.
	* gdk/Gdk.metadata: hide EventOwnerChange.
	* gdk/Makefile.am: add EventOwnerChange.cs.
	* gdk/gdk-symbols.xml: add EventOwnerChange.

svn path=/trunk/gtk-sharp/; revision=118953
2008-11-16 04:39:23 +00:00
Mike Kestner
81e6815080 2008-10-09 Mike Kestner <mkestner@novell.com>
* configure.in.in: magic for local Mono.Cairo build.
	* cairo/*: a local build of Mono.Cairo for .Net-only builds on win32.
	* */Makefile.am: use local Mono.Cairo where necessary.

svn path=/trunk/gtk-sharp/; revision=115399
2008-10-09 22:35:02 +00:00