summaryrefslogtreecommitdiff
path: root/clutter-gtk
Commit message (Collapse)AuthorAgeFilesLines
* embed: Handle the new ClutterRequestMode enum valueEmmanuele Bassi2015-09-151-0/+3
| | | | Silences a compiler warning.
* embed: Remove unused variablesEmmanuele Bassi2015-09-151-6/+0
| | | | Silences various compiler warnings.
* embed: Remove unused functionEmmanuele Bassi2015-09-151-25/+0
| | | | | The get_window_position_relative_to_parent() function has been moved into Clutter's own backend.
* embed: realize stage when realize widgetLionel Landwerlin2015-09-151-0/+2
| | | | | | | Ensure backward compatibility in case someone access the stage before we map/show the embedding GtkWidget. https://bugzilla.gnome.org/show_bug.cgi?id=755053
* embed: make wayland condition similar to gdk/x11 onesLionel Landwerlin2015-09-151-1/+2
| | | | | | This is mostly for the sake similarity. https://bugzilla.gnome.org/show_bug.cgi?id=755017
* embed: capture configure event to forward them to the gdk backend on x11Lionel Landwerlin2015-09-151-1/+2
| | | | | | | | | This changes works in conjunction with a Clutter change [1] to ensure rendering is correctly synchronized at the different level of the stack. [1] : https://git.gnome.org/browse/clutter/commit/?id=ee98a5bbe8ad21519d5e368ca5b2336e5d1da880 https://bugzilla.gnome.org/show_bug.cgi?id=755016
* embed: remove map/unmap vfuncLionel Landwerlin2015-09-151-25/+0
| | | | | | | | | | | | Something I didn't quite realize is that the map vfunc is called : "when widget is going to be mapped" This is unnecessary now that we want to realize the stage only once the embedding widget is actually visible. We just need to listen to the "map-event" signal. https://bugzilla.gnome.org/show_bug.cgi?id=754944
* embed: rework foreign stage setup to work on gdk/waylandLionel Landwerlin2015-09-121-115/+181
| | | | | | | | | | | | | | | On hide/unmap the GDK wayland backend might decide to destroy its wayland surface [1]. There is no event notifying Clutter/Cogl of this. We need to notify Clutter/Cogl that the surface has changed when the embed widget becomes visible/invisible. So instead of mapping the different mapped/visible/realized properties of the GtkWidget to the ClutterStage, we take a different approach by considering that an invisible GtkWidget means an unrealized ClutterStage. [1] : https://git.gnome.org/browse/gtk+/commit/?id=87e2a7d4b23e633d0f2263d6ebd205c113eede0f https://bugzilla.gnome.org/show_bug.cgi?id=754891
* embed: remove unused coords translation callLionel Landwerlin2015-09-121-1/+0
|
* embed: Use new instance private data macrosEmmanuele Bassi2015-06-171-12/+8
| | | | Instead of the old ones.
* docs: Note the event handling gotchasEmmanuele Bassi2015-06-171-7/+35
| | | | | | | | | | | | | | | | | We should note that calling GTK API that deals with events from a ClutterActor event handler will cause re-entrancy issues. In other words: If you call GTK event API from Clutter event handlers [ South Park ski instructor ] You're going to have a bad time https://bugzilla.gnome.org/show_bug.cgi?id=745248
* embed: Use the GDK visual from ClutterEmmanuele Bassi2015-06-101-0/+7
| | | | | | | Instead of relying on the widget one. This is similar to what we do when running with the X11 backend. https://bugzilla.gnome.org/show_bug.cgi?id=747489
* initialization: add support for Mir clutter backendMarco Trevisan (Treviño)2015-02-201-0/+17
|
* Use -no-undefined ld flagKouhei Sutou2014-10-071-1/+1
| | | | | | It fixes DLL generation by cross compile. https://bugzilla.gnome.org/show_bug.cgi?id=699202
* actor: fix clutter-win32.h include pathKouhei Sutou2014-10-071-1/+1
| | | | | | | | It is installed under "clutter/win32/" directory. Other include paths were fixed in 9da7dd191dae7d1cc626ea22998145ebc2bb0722 but it was not fixed. https://bugzilla.gnome.org/show_bug.cgi?id=697945
* Drop re-definition of a symbolEmmanuele Bassi2014-09-221-1/+0
| | | | We are disabling deprecation warnings in the build.
* gtk-clutter-embed: Fix hiding embed inside containerBastien Nocera2014-09-171-12/+77
| | | | | | | | | Such as the embed inside a GtkStack, as used in Cheese or Totem. With help from Matthias Clasen (positioning inside the window), and Jasper St. Pierre (Wayland API help). https://bugzilla.gnome.org/show_bug.cgi?id=736564
* Revert "Prefer the GDK windowing backend for Clutter"Emmanuele Bassi2014-08-281-7/+2
| | | | | | | This reverts commit 0fc73a07770223964dbf41a20a4b0a8c3ef9a29c. I could have gotten away with this, if it wasn't for you meddling kids and your Wayland.
* build: Drop INCLUDES directivesEmmanuele Bassi2014-08-211-1/+1
| | | | They have been long since deprecated by AM_CPPFLAGS and AM_CFLAGS.
* window: Drop deprecated APIEmmanuele Bassi2014-08-211-5/+1
|
* util: Ignore deprecation warningsEmmanuele Bassi2014-08-211-0/+2
|
* texture: Ignore deprecation warningsEmmanuele Bassi2014-08-211-0/+6
| | | | | The whole GtkClutterTexture class should be deprecated, and replaced by a GtkClutterPixbuf class that implements the ClutterContent interface.
* offscreen: Fix deprecation warningsEmmanuele Bassi2014-08-211-1/+7
| | | | | Don't use deprecated API, or disable deprecation warnings if that's not possible without a more thorough investigation.
* embed: Ignore deprecation warningsEmmanuele Bassi2014-08-211-0/+2
| | | | | We *really* need to disable double buffering in GTK, otherwise we flicker horribly.
* actor: Ignore deprecated APIEmmanuele Bassi2014-08-211-0/+6
| | | | We really need to drop the internal usage of ClutterX11TexturePixmap.
* Prefer the GDK windowing backend for ClutterEmmanuele Bassi2014-08-211-2/+7
| | | | | If Clutter has a GDK backend compiled in, we want to use that to minimize the interaction surface between GTK and Clutter.
* gtk-clutter-embed: don't use queue redraw on gtk+'s draw()Lionel Landwerlin2014-08-171-1/+1
| | | | | | | | | | | | | | Calling clutter_actor_queue_redraw() triggers an asynchronous redraw cycle, which triggers the callback from gtk-clutter-embed on the 'queue-redraw' signal, thus triggering another GTK+ paint cycle. This ends up in a infinite draw loop. This patch uses the clutter_stage_ensure_redraw() methods, which prevents the 'queue-redraw' signal emission (this is exactly what we want). https://bugzilla.gnome.org/show_bug.cgi?id=734906
* gtk-clutter-embed: use draw() from Gtk+ as Expose event for the GDK backendLionel Landwerlin2014-08-171-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | GtkClutterEmbed puts a filter on its GdkWindow to capture events and pass them to the ClutterBackend. That works well for X11, because the filter function receives an XEvent that can be directly fed to the ClutterX11Backend. For the GDK backend we can't do this because the filter function provides an untranslated event to the callee. Thus we can't give a valid GdkEvent to the ClutterGDKBackend. To work around this problem the current GtkClutterEmbed listen to the 'event' signal of its widget, and puts fed them to the ClutterGDKBackend. The problem with this is that Gtk+ already does some filtering, mostly on Expose events. This means that initially a GtkClutterEmbed often appears unpainted with the Gdk backend of Clutter. This patch adds the draw() vfunc on the widget and triggers a clutter_actor_queue_redraw() upon call only for the GDK backend. https://bugzilla.gnome.org/show_bug.cgi?id=734906
* gtk-clutter-actor: fix inconsistent condition in actor updateLionel Landwerlin2014-08-171-7/+3
| | | | | | | | | Using the gdk backend of Clutter, you could end up in situation where none of the embedded widgets were being displayed. That's because the conditions for invalidating the canvas where inconsistent with the rest of the code. https://bugzilla.gnome.org/show_bug.cgi?id=734905
* wayland: Use the subsurface protocol to implement GtkClutterEmbedRob Bradford2014-04-161-0/+92
| | | | | | | | | | The subsurface protocol lets us "embed" one surface within another. The compositor will compose the two surfaces together to create a single window. We use it here to take the surface we get from Clutter and make that into a subsurface and then associate that subsurface with the main surface coming from GTK+. https://bugzilla.gnome.org/show_bug.cgi?id=695737
* gdk-clutter-util: Add Wayland support to initBastien Nocera2014-04-161-0/+19
| | | | | | Pretty useless, but gets the code running a little bit further. https://bugzilla.gnome.org/show_bug.cgi?id=695737
* gtk-clutter-util: Put the shared initializion logic in a shared functionJasper St. Pierre2014-04-161-51/+14
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=695737
* gtk-clutter-util: Merge fixes from post_parse_hookJasper St. Pierre2014-04-161-6/+21
| | | | | | Get these two methods back in sync. https://bugzilla.gnome.org/show_bug.cgi?id=695737
* gtk-clutter-util: Disable accessibility in the post_parse_hook as wellJasper St. Pierre2014-04-161-0/+5
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=695737
* gtk-clutter-util: Use the GDK display when using the GDK backendJasper St. Pierre2014-04-161-1/+5
| | | | | | This is what the post-parse hook does. https://bugzilla.gnome.org/show_bug.cgi?id=695737
* gtk-clutter-util: Remove extraneous set to ARGB32 visualsJasper St. Pierre2014-04-161-8/+0
| | | | | | This is already done in the post-parse hook https://bugzilla.gnome.org/show_bug.cgi?id=695737
* Revert "actor: Pick using the same order as paint"Jasper St. Pierre2014-04-161-18/+0
| | | | | | | | This reverts commit cae450696787485bb3db024f2c7b7e59d6fc2ccb. We never installed the pick handler. If this is actually fixing something with vfunc installed, we can re-revert this and add the vfunc at the same time.
* embed: Pass scaled size back to clutterAdel Gadllah2014-02-141-7/+2
| | | | | | | Instead of messing with the allocation leave it as is and send the scaled size to clutter in the synthetic XConfigureEvent. https://bugzilla.gnome.org/show_bug.cgi?id=724055
* GtkClutterEmbed: Scale allocation by the scale factorAdel Gadllah2014-02-141-0/+6
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=724055
* actor: Pick using the same order as paintEmmanuele Bassi2014-01-171-0/+18
|
* actor: Update after the API change in ClutterEmmanuele Bassi2013-07-031-21/+6
| | | | | The unstable ClutterCanvas API was changed, so we need to update GtkClutterActor to use it.
* Provide a fallback for embedding widgets into actorsEmmanuele Bassi2013-05-171-9/+130
| | | | | | | | | | | Currently, we can only embed a GtkWidget into a ClutterActor on X11 by using a Pixmap and the GLX texture_from_pixmap extension. There is no reason why we shouldn't be able to allow the same to happen by using Cairo surfaces — except the performance implications of making copies of the contents of the Drawable used by GDK. This should allow embedding widgets on platforms that do not have the texture_from_pixmap extension.
* embed: Receive touch and smooth scroll eventsclutter-gtk-1.4Bastien Nocera2013-04-261-1/+3
| | | | | | | | Otherwise all the clicks from touchscreens will appear as synthetised events coming from the virtual core pointer instead of touch events coming from the touchscreen itself. https://bugzilla.gnome.org/show_bug.cgi?id=698969
* util: Don't use clutter_x11_set_use_argb_visual() on non-X11Bastien Nocera2013-04-091-2/+5
| | | | | | We shouldn't be running this on non-X11 windowing systems. https://bugzilla.gnome.org/show_bug.cgi?id=696687
* Remove call to enable XInput support in ClutterEmmanuele Bassi2013-03-191-5/+0
| | | | | | The XInput code in Clutter is enabled by default in the version we require for Clutter-GTK, and clutter_x11_enable_xinput() is deprecated, so we should just drop it.
* Disable clutter accessibility supportAlejandro Piñeiro2013-03-131-0/+5
| | | | | | | | | | Right now, clutter-gtk applications are basically behaving as a gtk application with some clutter effects, so the accessibility support required is the one provided by gtk. We disable loading clutter accessibility support in order to not override gtk accessibility support. https://bugzilla.gnome.org/show_bug.cgi?id=691468
* embed: Check whether we're running on X11 at run-timeBastien Nocera2013-03-131-13/+28
| | | | | | Rather than assuming a single backend. https://bugzilla.gnome.org/show_bug.cgi?id=695685
* util: Run-time check the backend used on initBastien Nocera2013-03-131-6/+11
| | | | | | | Otherwise we could potentially try to run the GDK, X11 and Wayland functions on startup. https://bugzilla.gnome.org/show_bug.cgi?id=695685
* embed: remove workaround for broken state propagationCosimo Cecchi2013-01-261-13/+0
| | | | | | | | | This shouldn't be needed anymore with recent GTK versions. As a side effect, bump the required GTK version to 3.6. This reverts commit bf3397b588e0209486945e4bd71d28c5dc2e1497 https://bugzilla.gnome.org/show_bug.cgi?id=692399
* embed: be more careful when adding and removing the filter functionCosimo Cecchi2012-12-111-15/+14
| | | | | | | | | | | | The intention of the current code seems to be adding a global event filter instead of one per realized embed; the filter is unconditionally removed in unrealize() though. This is a problem if an embed is unrealized and another one is realized later (for instance because a window is destroyed and another window is recreated later). Fix the bug by tracking the number of realized embeds with a counter, and removing the event filter only when the counter reaches zero. https://bugzilla.gnome.org/show_bug.cgi?id=689879