Compare commits
192 Commits
3.21.3
...
wip/garnac
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7e3f96d972 | ||
|
|
5f91d34f88 | ||
|
|
d0a708b42c | ||
|
|
d940d5e581 | ||
|
|
70f69e5de4 | ||
|
|
c2ce0e6795 | ||
|
|
adbd566f83 | ||
|
|
f511f65a14 | ||
|
|
0942d68f1a | ||
|
|
73d5d837db | ||
|
|
ea5b691ac6 | ||
|
|
53d1b11386 | ||
|
|
85e8feca67 | ||
|
|
fb47374629 | ||
|
|
9a92d5fe89 | ||
|
|
337b833e23 | ||
|
|
d25af2a02a | ||
|
|
820a6ab406 | ||
|
|
cd225c4e19 | ||
|
|
98cd8136ca | ||
|
|
e6972924d0 | ||
|
|
ead09bf6cc | ||
|
|
fe09a3c4e2 | ||
|
|
ee6867611f | ||
|
|
207c11d1f7 | ||
|
|
c6beb1cfc5 | ||
|
|
b34fe72bb7 | ||
|
|
18f301cec9 | ||
|
|
406677e2a0 | ||
|
|
4f25057413 | ||
|
|
2f492c133c | ||
|
|
138a47b8f9 | ||
|
|
62e4954c96 | ||
|
|
062b696df2 | ||
|
|
5effde59f6 | ||
|
|
76595af8af | ||
|
|
21c8911254 | ||
|
|
35554555e0 | ||
|
|
e2ad8700a9 | ||
|
|
323c608b0c | ||
|
|
0efe076a0a | ||
|
|
6f7f98540f | ||
|
|
56632d2ef7 | ||
|
|
6296d30e1a | ||
|
|
ed16b40c98 | ||
|
|
7bba20e536 | ||
|
|
8e6244238d | ||
|
|
ba9ec00694 | ||
|
|
08cda496f8 | ||
|
|
f9552bb9c0 | ||
|
|
7e267e9b01 | ||
|
|
fbb4c0b831 | ||
|
|
d7faab76e0 | ||
|
|
b7892ba1c5 | ||
|
|
ab2d2af176 | ||
|
|
80674fc9e4 | ||
|
|
9587a60da4 | ||
|
|
73958aeb59 | ||
|
|
77b33a86b8 | ||
|
|
f3b94d9a78 | ||
|
|
af8b938f92 | ||
|
|
1496a7ead3 | ||
|
|
e7e62ee4a4 | ||
|
|
f6e471fca4 | ||
|
|
1dd121002f | ||
|
|
526fdca3fb | ||
|
|
220ac7c8f2 | ||
|
|
5ea39e0e77 | ||
|
|
1c23d4bc51 | ||
|
|
2e6bfa8bae | ||
|
|
a59170c09f | ||
|
|
aa9b2c5494 | ||
|
|
c1d157e136 | ||
|
|
2cd21f1b20 | ||
|
|
5ccde659c1 | ||
|
|
fd62a1f6ce | ||
|
|
b8808ca24d | ||
|
|
41ff0aaf60 | ||
|
|
c5d0791710 | ||
|
|
828277f5e0 | ||
|
|
e56d6b06cf | ||
|
|
96aed5fd2e | ||
|
|
88c510c38a | ||
|
|
6bcff556b5 | ||
|
|
81736b1dea | ||
|
|
cc09ca8892 | ||
|
|
d76aa89be9 | ||
|
|
8cd4b0e11f | ||
|
|
6b08990dcc | ||
|
|
8b769a3412 | ||
|
|
8d3ac8c3e9 | ||
|
|
074b0d6b2a | ||
|
|
8e8cdf1873 | ||
|
|
72ee6b8b65 | ||
|
|
3d9bb1cc09 | ||
|
|
4ed59a020d | ||
|
|
b5e797f453 | ||
|
|
125cba7100 | ||
|
|
720cbc5e5f | ||
|
|
ad7ec6b979 | ||
|
|
991f2d696a | ||
|
|
76175a48d5 | ||
|
|
c8392e025f | ||
|
|
820ffa2781 | ||
|
|
51f7892600 | ||
|
|
de1464f88f | ||
|
|
aebd5ba6e0 | ||
|
|
a310ba7649 | ||
|
|
daf5a112fb | ||
|
|
0745734ba5 | ||
|
|
a75e2ace82 | ||
|
|
f18e2a8c31 | ||
|
|
ff6186f1ec | ||
|
|
cd0f8e5cd1 | ||
|
|
75c3cf0589 | ||
|
|
a40e4634a6 | ||
|
|
d62d780a95 | ||
|
|
eed71654ba | ||
|
|
835ded3f02 | ||
|
|
3450b51da1 | ||
|
|
1ca9d8ac02 | ||
|
|
aafdb6baaa | ||
|
|
2547a7cd9c | ||
|
|
b4b13ac996 | ||
|
|
21f2f52269 | ||
|
|
ea64e0abfa | ||
|
|
e891a8b628 | ||
|
|
aecd98b847 | ||
|
|
d7b87799c8 | ||
|
|
28a898a22f | ||
|
|
92341e7c30 | ||
|
|
2eb843268a | ||
|
|
44b163e39b | ||
|
|
566c28bdaf | ||
|
|
749237a28e | ||
|
|
c498bce9e4 | ||
|
|
7f0e6b9b4b | ||
|
|
a465e4c5b8 | ||
|
|
767e12125b | ||
|
|
df0805fb0a | ||
|
|
14dbdfe483 | ||
|
|
c3d2352a9e | ||
|
|
55726e787b | ||
|
|
085df1170e | ||
|
|
f31d71ce63 | ||
|
|
2c439dec75 | ||
|
|
942feadffd | ||
|
|
8bebb8126c | ||
|
|
12ef1a5e4b | ||
|
|
ec1da588cf | ||
|
|
44628bf224 | ||
|
|
27ac0b7f27 | ||
|
|
e420f386d2 | ||
|
|
2ceff4ee9b | ||
|
|
b2a62e6d5a | ||
|
|
a54042e938 | ||
|
|
2facf26568 | ||
|
|
9c0fa583f5 | ||
|
|
feb4c36659 | ||
|
|
dd1eaeb262 | ||
|
|
f096cc327d | ||
|
|
e05f48fc53 | ||
|
|
95a68854ad | ||
|
|
d63e9452d9 | ||
|
|
f1b7b41b8d | ||
|
|
bdc68efe45 | ||
|
|
bf71cb2e3c | ||
|
|
4d13f6e2d0 | ||
|
|
d6cde4b043 | ||
|
|
e2f5579391 | ||
|
|
90de521799 | ||
|
|
a1bedd4b1c | ||
|
|
b281f9566d | ||
|
|
5ee0f24ab9 | ||
|
|
fcc7501eb8 | ||
|
|
492854e14d | ||
|
|
c325a0bebf | ||
|
|
d6b290ef77 | ||
|
|
b112d98278 | ||
|
|
cc6efeb14f | ||
|
|
53993ba4d2 | ||
|
|
7f6bcea331 | ||
|
|
7ed14e0ee8 | ||
|
|
3691eb6d70 | ||
|
|
d4d2bf0f6c | ||
|
|
0f2be43af4 | ||
|
|
87f9927375 | ||
|
|
21fd87c4af | ||
|
|
1d2bead358 | ||
|
|
a174c18fb5 | ||
|
|
c61dfa71ed | ||
|
|
65cc1c711a |
2
.gitignore
vendored
2
.gitignore
vendored
@@ -36,6 +36,8 @@ mutter-wayland.desktop
|
|||||||
stamp-h1
|
stamp-h1
|
||||||
*.gmo
|
*.gmo
|
||||||
*.make
|
*.make
|
||||||
|
*.log
|
||||||
|
*.trs
|
||||||
*~
|
*~
|
||||||
stamp-it
|
stamp-it
|
||||||
.intltool-merge-cache
|
.intltool-merge-cache
|
||||||
|
|||||||
20
NEWS
20
NEWS
@@ -1,3 +1,23 @@
|
|||||||
|
3.21.4
|
||||||
|
======
|
||||||
|
* Fix missing frame border around GTK+ dialogs [Florian; #745060]
|
||||||
|
* Improve X11 <-> wayland copy and paste interaction [Carlos; #768007]
|
||||||
|
* Add support for NV_robustness_video_memory_purge extension [Rui; #739178]
|
||||||
|
* Fix restoring the old focused window on restart [Owen; #766243]
|
||||||
|
* Fix fullscreen windows on other monitors stealing focus after closing
|
||||||
|
a window [Rui; #768221]
|
||||||
|
* Draw monitor content to individual framebuffer [Jonas; #768976]
|
||||||
|
* Provide screen capture API [Jonas; #768978]
|
||||||
|
* Misc. bug fixes and cleanups [Rui, Owen, Luca, Olivier, Jonas, Carlos;
|
||||||
|
#767969, #768243, #762407, #767997, #768039, #768977, #768977]
|
||||||
|
|
||||||
|
Contributors:
|
||||||
|
Jonas Ådahl, Luca Bruno, Olivier Fourdan, Carlos Garnacho, Rui Matos,
|
||||||
|
Florian Müllner, Owen W. Taylor
|
||||||
|
|
||||||
|
Translations:
|
||||||
|
Andika Triwidada [id]
|
||||||
|
|
||||||
3.21.3
|
3.21.3
|
||||||
======
|
======
|
||||||
* Don't create invalid UTF-8 window description strings [Rui; #765535]
|
* Don't create invalid UTF-8 window description strings [Rui; #765535]
|
||||||
|
|||||||
20
clutter/.gitignore
vendored
20
clutter/.gitignore
vendored
@@ -18,16 +18,16 @@ stamp-enum-types
|
|||||||
stamp-marshal
|
stamp-marshal
|
||||||
tags
|
tags
|
||||||
/ChangeLog*
|
/ChangeLog*
|
||||||
/clutter/clutter-config.h
|
clutter-build-config.h
|
||||||
/clutter/clutter-enum-types.[ch]
|
clutter-build-config.h.in
|
||||||
/clutter/clutter-marshal.[ch]
|
clutter-config.h
|
||||||
/clutter/clutter-version.h
|
clutter-enum-types.[ch]
|
||||||
/clutter/gcov-report.txt
|
clutter-marshal.[ch]
|
||||||
/clutter/clutter-json.h
|
clutter-version.h
|
||||||
/clutter/*.log
|
gcov-report.txt
|
||||||
/clutter/*.trs
|
clutter-json.h
|
||||||
/clutter-lcov.info
|
clutter-lcov.info
|
||||||
/clutter-lcov
|
clutter-lcov
|
||||||
!/build/autotools/introspection.m4
|
!/build/autotools/introspection.m4
|
||||||
!/build/autotools/as-linguas.m4
|
!/build/autotools/as-linguas.m4
|
||||||
!/build/autotools/as-compiler-flag.m4
|
!/build/autotools/as-compiler-flag.m4
|
||||||
|
|||||||
@@ -16,7 +16,6 @@ AM_CPPFLAGS = \
|
|||||||
-DCLUTTER_LOCALEDIR=\""$(localedir)"\" \
|
-DCLUTTER_LOCALEDIR=\""$(localedir)"\" \
|
||||||
-DCLUTTER_SYSCONFDIR=\""$(sysconfdir)"\" \
|
-DCLUTTER_SYSCONFDIR=\""$(sysconfdir)"\" \
|
||||||
-DCLUTTER_COMPILATION=1 \
|
-DCLUTTER_COMPILATION=1 \
|
||||||
-DCOGL_ENABLE_EXPERIMENTAL_API \
|
|
||||||
-DCOGL_DISABLE_DEPRECATION_WARNINGS \
|
-DCOGL_DISABLE_DEPRECATION_WARNINGS \
|
||||||
-DG_LOG_DOMAIN=\"Clutter\" \
|
-DG_LOG_DOMAIN=\"Clutter\" \
|
||||||
-I$(top_srcdir) \
|
-I$(top_srcdir) \
|
||||||
@@ -62,7 +61,6 @@ source_h = \
|
|||||||
clutter-canvas.h \
|
clutter-canvas.h \
|
||||||
clutter-child-meta.h \
|
clutter-child-meta.h \
|
||||||
clutter-click-action.h \
|
clutter-click-action.h \
|
||||||
clutter-cogl-compat.h \
|
|
||||||
clutter-clone.h \
|
clutter-clone.h \
|
||||||
clutter-color-static.h \
|
clutter-color-static.h \
|
||||||
clutter-color.h \
|
clutter-color.h \
|
||||||
@@ -114,6 +112,7 @@ source_h = \
|
|||||||
clutter-snap-constraint.h \
|
clutter-snap-constraint.h \
|
||||||
clutter-stage.h \
|
clutter-stage.h \
|
||||||
clutter-stage-manager.h \
|
clutter-stage-manager.h \
|
||||||
|
clutter-stage-view.h \
|
||||||
clutter-tap-action.h \
|
clutter-tap-action.h \
|
||||||
clutter-test-utils.h \
|
clutter-test-utils.h \
|
||||||
clutter-texture.h \
|
clutter-texture.h \
|
||||||
@@ -124,6 +123,7 @@ source_h = \
|
|||||||
clutter-transition.h \
|
clutter-transition.h \
|
||||||
clutter-types.h \
|
clutter-types.h \
|
||||||
clutter-units.h \
|
clutter-units.h \
|
||||||
|
clutter-virtual-input-device.h \
|
||||||
clutter-zoom-action.h \
|
clutter-zoom-action.h \
|
||||||
$(NULL)
|
$(NULL)
|
||||||
|
|
||||||
@@ -169,6 +169,7 @@ source_c = \
|
|||||||
clutter-image.c \
|
clutter-image.c \
|
||||||
clutter-input-device.c \
|
clutter-input-device.c \
|
||||||
clutter-input-device-tool.c \
|
clutter-input-device-tool.c \
|
||||||
|
clutter-virtual-input-device.c \
|
||||||
clutter-interval.c \
|
clutter-interval.c \
|
||||||
clutter-keyframe-transition.c \
|
clutter-keyframe-transition.c \
|
||||||
clutter-keysyms-table.c \
|
clutter-keysyms-table.c \
|
||||||
@@ -197,6 +198,7 @@ source_c = \
|
|||||||
clutter-snap-constraint.c \
|
clutter-snap-constraint.c \
|
||||||
clutter-stage.c \
|
clutter-stage.c \
|
||||||
clutter-stage-manager.c \
|
clutter-stage-manager.c \
|
||||||
|
clutter-stage-view.c \
|
||||||
clutter-stage-window.c \
|
clutter-stage-window.c \
|
||||||
clutter-tap-action.c \
|
clutter-tap-action.c \
|
||||||
clutter-test-utils.c \
|
clutter-test-utils.c \
|
||||||
@@ -267,7 +269,6 @@ deprecated_h = \
|
|||||||
deprecated/clutter-box.h \
|
deprecated/clutter-box.h \
|
||||||
deprecated/clutter-cairo-texture.h \
|
deprecated/clutter-cairo-texture.h \
|
||||||
deprecated/clutter-container.h \
|
deprecated/clutter-container.h \
|
||||||
deprecated/clutter-fixed.h \
|
|
||||||
deprecated/clutter-frame-source.h \
|
deprecated/clutter-frame-source.h \
|
||||||
deprecated/clutter-group.h \
|
deprecated/clutter-group.h \
|
||||||
deprecated/clutter-input-device.h \
|
deprecated/clutter-input-device.h \
|
||||||
@@ -304,7 +305,6 @@ deprecated_c = \
|
|||||||
deprecated/clutter-behaviour-scale.c \
|
deprecated/clutter-behaviour-scale.c \
|
||||||
deprecated/clutter-box.c \
|
deprecated/clutter-box.c \
|
||||||
deprecated/clutter-cairo-texture.c \
|
deprecated/clutter-cairo-texture.c \
|
||||||
deprecated/clutter-fixed.c \
|
|
||||||
deprecated/clutter-frame-source.c \
|
deprecated/clutter-frame-source.c \
|
||||||
deprecated/clutter-group.c \
|
deprecated/clutter-group.c \
|
||||||
deprecated/clutter-input-device-deprecated.c \
|
deprecated/clutter-input-device-deprecated.c \
|
||||||
@@ -420,6 +420,14 @@ x11_source_h_priv += \
|
|||||||
x11/clutter-input-device-xi2.h \
|
x11/clutter-input-device-xi2.h \
|
||||||
$(NULL)
|
$(NULL)
|
||||||
|
|
||||||
|
x11_source_c += \
|
||||||
|
x11/clutter-virtual-input-device-x11.c \
|
||||||
|
$(NULL)
|
||||||
|
|
||||||
|
x11_source_h_priv += \
|
||||||
|
x11/clutter-virtual-input-device-x11.h \
|
||||||
|
$(NULL)
|
||||||
|
|
||||||
backend_source_h += $(x11_source_h)
|
backend_source_h += $(x11_source_h)
|
||||||
backend_source_c += $(x11_source_c)
|
backend_source_c += $(x11_source_c)
|
||||||
backend_source_h_priv += $(x11_source_h_priv)
|
backend_source_h_priv += $(x11_source_h_priv)
|
||||||
@@ -460,13 +468,17 @@ backend_source_c += $(glx_source_c)
|
|||||||
evdev_c_priv = \
|
evdev_c_priv = \
|
||||||
evdev/clutter-device-manager-evdev.c \
|
evdev/clutter-device-manager-evdev.c \
|
||||||
evdev/clutter-input-device-evdev.c \
|
evdev/clutter-input-device-evdev.c \
|
||||||
|
evdev/clutter-seat-evdev.c \
|
||||||
|
evdev/clutter-virtual-input-device-evdev.c \
|
||||||
evdev/clutter-event-evdev.c \
|
evdev/clutter-event-evdev.c \
|
||||||
evdev/clutter-input-device-tool-evdev.c \
|
evdev/clutter-input-device-tool-evdev.c \
|
||||||
$(NULL)
|
$(NULL)
|
||||||
evdev_h_priv = \
|
evdev_h_priv = \
|
||||||
evdev/clutter-device-manager-evdev.h \
|
evdev/clutter-device-manager-evdev.h \
|
||||||
evdev/clutter-input-device-evdev.h \
|
evdev/clutter-input-device-evdev.h \
|
||||||
|
evdev/clutter-seat-evdev.h \
|
||||||
evdev/clutter-input-device-tool-evdev.h \
|
evdev/clutter-input-device-tool-evdev.h \
|
||||||
|
evdev/clutter-virtual-input-device-evdev.h \
|
||||||
$(NULL)
|
$(NULL)
|
||||||
evdev_h = evdev/clutter-evdev.h
|
evdev_h = evdev/clutter-evdev.h
|
||||||
|
|
||||||
@@ -487,8 +499,8 @@ egl_source_h = \
|
|||||||
egl/clutter-egl.h \
|
egl/clutter-egl.h \
|
||||||
$(NULL)
|
$(NULL)
|
||||||
|
|
||||||
egl_source_h_priv = egl/clutter-backend-eglnative.h egl/clutter-stage-eglnative.h
|
egl_source_h_priv = egl/clutter-backend-eglnative.h
|
||||||
egl_source_c = egl/clutter-backend-eglnative.c egl/clutter-stage-eglnative.c
|
egl_source_c = egl/clutter-backend-eglnative.c
|
||||||
|
|
||||||
wayland_compositor_source_h = \
|
wayland_compositor_source_h = \
|
||||||
wayland/clutter-wayland-compositor.h \
|
wayland/clutter-wayland-compositor.h \
|
||||||
@@ -562,7 +574,7 @@ pkgconfigdir = $(libdir)/pkgconfig
|
|||||||
pkgconfig_DATA = $(pc_files)
|
pkgconfig_DATA = $(pc_files)
|
||||||
DISTCLEANFILES += $(pc_files)
|
DISTCLEANFILES += $(pc_files)
|
||||||
|
|
||||||
clutter_include_HEADERS = $(source_h) clutter.h clutter-version.h clutter-autocleanups.h
|
clutter_include_HEADERS = $(source_h) clutter.h clutter-version.h clutter-autocleanups.h clutter-mutter.h
|
||||||
nodist_clutter_include_HEADERS = clutter-config.h $(built_source_h)
|
nodist_clutter_include_HEADERS = clutter-config.h $(built_source_h)
|
||||||
|
|
||||||
clutter_deprecated_HEADERS = $(deprecated_h)
|
clutter_deprecated_HEADERS = $(deprecated_h)
|
||||||
|
|||||||
@@ -68,7 +68,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <glib.h>
|
#include <glib.h>
|
||||||
|
|||||||
@@ -69,7 +69,7 @@
|
|||||||
* a11y POV should still be managed as a image (with the proper properties,
|
* a11y POV should still be managed as a image (with the proper properties,
|
||||||
* position, size, etc.).
|
* position, size, etc.).
|
||||||
*/
|
*/
|
||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
|
|
||||||
#include "cally-clone.h"
|
#include "cally-clone.h"
|
||||||
#include "cally-actor-private.h"
|
#include "cally-actor-private.h"
|
||||||
|
|||||||
@@ -34,7 +34,7 @@
|
|||||||
* group.
|
* group.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
|
|
||||||
#include "cally-group.h"
|
#include "cally-group.h"
|
||||||
#include "cally-actor-private.h"
|
#include "cally-actor-private.h"
|
||||||
|
|||||||
@@ -30,7 +30,7 @@
|
|||||||
* In particular it sets a proper role for the rectangle.
|
* In particular it sets a proper role for the rectangle.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
|
|
||||||
#define CLUTTER_DISABLE_DEPRECATION_WARNINGS
|
#define CLUTTER_DISABLE_DEPRECATION_WARNINGS
|
||||||
|
|
||||||
|
|||||||
@@ -35,7 +35,7 @@
|
|||||||
* #ClutterStageManager).
|
* #ClutterStageManager).
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
|
|
||||||
#include "cally-root.h"
|
#include "cally-root.h"
|
||||||
|
|
||||||
|
|||||||
@@ -34,7 +34,7 @@
|
|||||||
* being a canvas. Anyway, this is required for applications using
|
* being a canvas. Anyway, this is required for applications using
|
||||||
* just clutter, or directly #ClutterStage
|
* just clutter, or directly #ClutterStage
|
||||||
*/
|
*/
|
||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
|
|
||||||
#include "cally-stage.h"
|
#include "cally-stage.h"
|
||||||
#include "cally-actor-private.h"
|
#include "cally-actor-private.h"
|
||||||
|
|||||||
@@ -40,7 +40,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "cally-text.h"
|
#include "cally-text.h"
|
||||||
|
|||||||
@@ -30,7 +30,7 @@
|
|||||||
*
|
*
|
||||||
* In particular it sets a proper role for the texture.
|
* In particular it sets a proper role for the texture.
|
||||||
*/
|
*/
|
||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
|
|
||||||
#define CLUTTER_DISABLE_DEPRECATION_WARNINGS
|
#define CLUTTER_DISABLE_DEPRECATION_WARNINGS
|
||||||
|
|
||||||
|
|||||||
@@ -39,7 +39,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|||||||
@@ -30,7 +30,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define CLUTTER_DISABLE_DEPRECATION_WARNINGS
|
#define CLUTTER_DISABLE_DEPRECATION_WARNINGS
|
||||||
|
|||||||
@@ -42,7 +42,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "clutter-action.h"
|
#include "clutter-action.h"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
|||||||
@@ -42,7 +42,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "clutter-actor-meta-private.h"
|
#include "clutter-actor-meta-private.h"
|
||||||
|
|||||||
@@ -605,7 +605,7 @@
|
|||||||
* #ClutterActor:reactive property instead of this macro.
|
* #ClutterActor:reactive property instead of this macro.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
|
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
|
||||||
|
|||||||
@@ -856,8 +856,6 @@ CLUTTER_AVAILABLE_IN_1_10
|
|||||||
void clutter_actor_remove_all_transitions (ClutterActor *self);
|
void clutter_actor_remove_all_transitions (ClutterActor *self);
|
||||||
|
|
||||||
|
|
||||||
/* Experimental API */
|
|
||||||
#ifdef CLUTTER_ENABLE_EXPERIMENTAL_API
|
|
||||||
CLUTTER_AVAILABLE_IN_1_16
|
CLUTTER_AVAILABLE_IN_1_16
|
||||||
gboolean clutter_actor_has_mapped_clones (ClutterActor *self);
|
gboolean clutter_actor_has_mapped_clones (ClutterActor *self);
|
||||||
CLUTTER_AVAILABLE_IN_1_22
|
CLUTTER_AVAILABLE_IN_1_22
|
||||||
@@ -865,7 +863,6 @@ void clutter_actor_set_opacity_override
|
|||||||
gint opacity);
|
gint opacity);
|
||||||
CLUTTER_AVAILABLE_IN_1_22
|
CLUTTER_AVAILABLE_IN_1_22
|
||||||
gint clutter_actor_get_opacity_override (ClutterActor *self);
|
gint clutter_actor_get_opacity_override (ClutterActor *self);
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ClutterActorCreateChildFunc:
|
* ClutterActorCreateChildFunc:
|
||||||
|
|||||||
@@ -35,7 +35,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "clutter-align-constraint.h"
|
#include "clutter-align-constraint.h"
|
||||||
|
|||||||
@@ -46,7 +46,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define CLUTTER_DISABLE_DEPRECATION_WARNINGS
|
#define CLUTTER_DISABLE_DEPRECATION_WARNINGS
|
||||||
|
|||||||
@@ -65,8 +65,6 @@ struct _ClutterBackendClass
|
|||||||
/*< private >*/
|
/*< private >*/
|
||||||
GObjectClass parent_class;
|
GObjectClass parent_class;
|
||||||
|
|
||||||
GType stage_window_type;
|
|
||||||
|
|
||||||
/* vfuncs */
|
/* vfuncs */
|
||||||
gboolean (* pre_parse) (ClutterBackend *backend,
|
gboolean (* pre_parse) (ClutterBackend *backend,
|
||||||
GError **error);
|
GError **error);
|
||||||
@@ -88,8 +86,6 @@ struct _ClutterBackendClass
|
|||||||
GError **error);
|
GError **error);
|
||||||
gboolean (* create_context) (ClutterBackend *backend,
|
gboolean (* create_context) (ClutterBackend *backend,
|
||||||
GError **error);
|
GError **error);
|
||||||
void (* ensure_context) (ClutterBackend *backend,
|
|
||||||
ClutterStage *stage);
|
|
||||||
ClutterDeviceManager *(* get_device_manager) (ClutterBackend *backend);
|
ClutterDeviceManager *(* get_device_manager) (ClutterBackend *backend);
|
||||||
|
|
||||||
void (* copy_event_data) (ClutterBackend *backend,
|
void (* copy_event_data) (ClutterBackend *backend,
|
||||||
@@ -115,10 +111,6 @@ ClutterBackend * _clutter_create_backend (void);
|
|||||||
ClutterStageWindow * _clutter_backend_create_stage (ClutterBackend *backend,
|
ClutterStageWindow * _clutter_backend_create_stage (ClutterBackend *backend,
|
||||||
ClutterStage *wrapper,
|
ClutterStage *wrapper,
|
||||||
GError **error);
|
GError **error);
|
||||||
void _clutter_backend_ensure_context (ClutterBackend *backend,
|
|
||||||
ClutterStage *stage);
|
|
||||||
void _clutter_backend_ensure_context_internal (ClutterBackend *backend,
|
|
||||||
ClutterStage *stage);
|
|
||||||
gboolean _clutter_backend_create_context (ClutterBackend *backend,
|
gboolean _clutter_backend_create_context (ClutterBackend *backend,
|
||||||
GError **error);
|
GError **error);
|
||||||
|
|
||||||
@@ -138,8 +130,11 @@ void _clutter_backend_free_event_data (Clutter
|
|||||||
gboolean _clutter_backend_translate_event (ClutterBackend *backend,
|
gboolean _clutter_backend_translate_event (ClutterBackend *backend,
|
||||||
gpointer native,
|
gpointer native,
|
||||||
ClutterEvent *event);
|
ClutterEvent *event);
|
||||||
|
|
||||||
|
CLUTTER_AVAILABLE_IN_MUTTER
|
||||||
void _clutter_backend_add_event_translator (ClutterBackend *backend,
|
void _clutter_backend_add_event_translator (ClutterBackend *backend,
|
||||||
ClutterEventTranslator *translator);
|
ClutterEventTranslator *translator);
|
||||||
|
|
||||||
void _clutter_backend_remove_event_translator (ClutterBackend *backend,
|
void _clutter_backend_remove_event_translator (ClutterBackend *backend,
|
||||||
ClutterEventTranslator *translator);
|
ClutterEventTranslator *translator);
|
||||||
|
|
||||||
@@ -151,6 +146,7 @@ gint32 _clutter_backend_get_units_serial (Clutter
|
|||||||
|
|
||||||
PangoDirection _clutter_backend_get_keymap_direction (ClutterBackend *backend);
|
PangoDirection _clutter_backend_get_keymap_direction (ClutterBackend *backend);
|
||||||
|
|
||||||
|
CLUTTER_AVAILABLE_IN_MUTTER
|
||||||
void _clutter_backend_reset_cogl_framebuffer (ClutterBackend *backend);
|
void _clutter_backend_reset_cogl_framebuffer (ClutterBackend *backend);
|
||||||
|
|
||||||
void clutter_set_allowed_drivers (const char *drivers);
|
void clutter_set_allowed_drivers (const char *drivers);
|
||||||
|
|||||||
@@ -39,7 +39,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define CLUTTER_ENABLE_EXPERIMENTAL_API
|
#define CLUTTER_ENABLE_EXPERIMENTAL_API
|
||||||
@@ -48,6 +48,7 @@
|
|||||||
#include "clutter-debug.h"
|
#include "clutter-debug.h"
|
||||||
#include "clutter-event-private.h"
|
#include "clutter-event-private.h"
|
||||||
#include "clutter-marshal.h"
|
#include "clutter-marshal.h"
|
||||||
|
#include "clutter-mutter.h"
|
||||||
#include "clutter-private.h"
|
#include "clutter-private.h"
|
||||||
#include "clutter-stage-manager-private.h"
|
#include "clutter-stage-manager-private.h"
|
||||||
#include "clutter-stage-private.h"
|
#include "clutter-stage-private.h"
|
||||||
@@ -230,31 +231,17 @@ clutter_backend_do_real_create_context (ClutterBackend *backend,
|
|||||||
CoglSwapChain *swap_chain;
|
CoglSwapChain *swap_chain;
|
||||||
GError *internal_error;
|
GError *internal_error;
|
||||||
|
|
||||||
if (backend->cogl_context != NULL)
|
|
||||||
return TRUE;
|
|
||||||
|
|
||||||
klass = CLUTTER_BACKEND_GET_CLASS (backend);
|
klass = CLUTTER_BACKEND_GET_CLASS (backend);
|
||||||
|
|
||||||
swap_chain = NULL;
|
swap_chain = NULL;
|
||||||
internal_error = NULL;
|
internal_error = NULL;
|
||||||
|
|
||||||
CLUTTER_NOTE (BACKEND, "Creating Cogl renderer");
|
CLUTTER_NOTE (BACKEND, "Creating Cogl renderer");
|
||||||
if (klass->get_renderer != NULL)
|
backend->cogl_renderer = klass->get_renderer (backend, &internal_error);
|
||||||
backend->cogl_renderer = klass->get_renderer (backend, &internal_error);
|
|
||||||
else
|
|
||||||
backend->cogl_renderer = cogl_renderer_new ();
|
|
||||||
|
|
||||||
if (backend->cogl_renderer == NULL)
|
if (backend->cogl_renderer == NULL)
|
||||||
goto error;
|
goto error;
|
||||||
|
|
||||||
#ifdef CLUTTER_HAS_WAYLAND_COMPOSITOR_SUPPORT
|
|
||||||
/* If the application is trying to act as a Wayland compositor then
|
|
||||||
it needs to have an EGL-based renderer backend */
|
|
||||||
if (_wayland_compositor_display)
|
|
||||||
cogl_renderer_add_constraint (backend->cogl_renderer,
|
|
||||||
COGL_RENDERER_CONSTRAINT_USES_EGL);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
CLUTTER_NOTE (BACKEND, "Connecting the renderer");
|
CLUTTER_NOTE (BACKEND, "Connecting the renderer");
|
||||||
cogl_renderer_set_driver (backend->cogl_renderer, driver_id);
|
cogl_renderer_set_driver (backend->cogl_renderer, driver_id);
|
||||||
if (!cogl_renderer_connect (backend->cogl_renderer, &internal_error))
|
if (!cogl_renderer_connect (backend->cogl_renderer, &internal_error))
|
||||||
@@ -361,6 +348,9 @@ clutter_backend_real_create_context (ClutterBackend *backend,
|
|||||||
gboolean allow_any;
|
gboolean allow_any;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
|
if (backend->cogl_context != NULL)
|
||||||
|
return TRUE;
|
||||||
|
|
||||||
if (allowed_drivers == NULL)
|
if (allowed_drivers == NULL)
|
||||||
allowed_drivers = CLUTTER_DRIVERS;
|
allowed_drivers = CLUTTER_DRIVERS;
|
||||||
|
|
||||||
@@ -423,27 +413,6 @@ clutter_backend_real_create_context (ClutterBackend *backend,
|
|||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
|
||||||
clutter_backend_real_ensure_context (ClutterBackend *backend,
|
|
||||||
ClutterStage *stage)
|
|
||||||
{
|
|
||||||
ClutterStageWindow *stage_impl;
|
|
||||||
CoglFramebuffer *framebuffer;
|
|
||||||
|
|
||||||
if (stage == NULL)
|
|
||||||
return;
|
|
||||||
|
|
||||||
stage_impl = _clutter_stage_get_window (stage);
|
|
||||||
if (stage_impl == NULL)
|
|
||||||
return;
|
|
||||||
|
|
||||||
framebuffer = _clutter_stage_window_get_active_framebuffer (stage_impl);
|
|
||||||
if (framebuffer == NULL)
|
|
||||||
return;
|
|
||||||
|
|
||||||
cogl_set_framebuffer (framebuffer);
|
|
||||||
}
|
|
||||||
|
|
||||||
static ClutterFeatureFlags
|
static ClutterFeatureFlags
|
||||||
clutter_backend_real_get_features (ClutterBackend *backend)
|
clutter_backend_real_get_features (ClutterBackend *backend)
|
||||||
{
|
{
|
||||||
@@ -477,39 +446,10 @@ clutter_backend_real_get_features (ClutterBackend *backend)
|
|||||||
return flags;
|
return flags;
|
||||||
}
|
}
|
||||||
|
|
||||||
static ClutterStageWindow *
|
|
||||||
clutter_backend_real_create_stage (ClutterBackend *backend,
|
|
||||||
ClutterStage *wrapper,
|
|
||||||
GError **error)
|
|
||||||
{
|
|
||||||
ClutterBackendClass *klass;
|
|
||||||
|
|
||||||
if (!clutter_feature_available (CLUTTER_FEATURE_STAGE_MULTIPLE))
|
|
||||||
{
|
|
||||||
ClutterStageManager *manager = clutter_stage_manager_get_default ();
|
|
||||||
|
|
||||||
if (clutter_stage_manager_get_default_stage (manager) != NULL)
|
|
||||||
{
|
|
||||||
g_set_error (error, CLUTTER_INIT_ERROR,
|
|
||||||
CLUTTER_INIT_ERROR_BACKEND,
|
|
||||||
_("The backend of type '%s' does not support "
|
|
||||||
"creating multiple stages"),
|
|
||||||
G_OBJECT_TYPE_NAME (backend));
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
klass = CLUTTER_BACKEND_GET_CLASS (backend);
|
|
||||||
g_assert (klass->stage_window_type != G_TYPE_INVALID);
|
|
||||||
|
|
||||||
return g_object_new (klass->stage_window_type,
|
|
||||||
"backend", backend,
|
|
||||||
"wrapper", wrapper,
|
|
||||||
NULL);
|
|
||||||
}
|
|
||||||
|
|
||||||
static const char *allowed_backends;
|
static const char *allowed_backends;
|
||||||
|
|
||||||
|
static ClutterBackend * (* custom_backend_func) (void);
|
||||||
|
|
||||||
static const struct {
|
static const struct {
|
||||||
const char *name;
|
const char *name;
|
||||||
ClutterBackend * (* create_backend) (void);
|
ClutterBackend * (* create_backend) (void);
|
||||||
@@ -517,15 +457,18 @@ static const struct {
|
|||||||
#ifdef CLUTTER_WINDOWING_X11
|
#ifdef CLUTTER_WINDOWING_X11
|
||||||
{ CLUTTER_WINDOWING_X11, clutter_backend_x11_new },
|
{ CLUTTER_WINDOWING_X11, clutter_backend_x11_new },
|
||||||
#endif
|
#endif
|
||||||
#ifdef CLUTTER_WINDOWING_WAYLAND
|
|
||||||
{ CLUTTER_WINDOWING_WAYLAND, clutter_backend_wayland_new },
|
|
||||||
#endif
|
|
||||||
#ifdef CLUTTER_WINDOWING_EGL
|
#ifdef CLUTTER_WINDOWING_EGL
|
||||||
{ CLUTTER_WINDOWING_EGL, clutter_backend_egl_native_new },
|
{ CLUTTER_WINDOWING_EGL, clutter_backend_egl_native_new },
|
||||||
#endif
|
#endif
|
||||||
{ NULL, NULL },
|
{ NULL, NULL },
|
||||||
};
|
};
|
||||||
|
|
||||||
|
void
|
||||||
|
clutter_set_custom_backend_func (ClutterBackend *(* func) (void))
|
||||||
|
{
|
||||||
|
custom_backend_func = func;
|
||||||
|
}
|
||||||
|
|
||||||
ClutterBackend *
|
ClutterBackend *
|
||||||
_clutter_create_backend (void)
|
_clutter_create_backend (void)
|
||||||
{
|
{
|
||||||
@@ -535,6 +478,16 @@ _clutter_create_backend (void)
|
|||||||
char **backends;
|
char **backends;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
|
if (custom_backend_func)
|
||||||
|
{
|
||||||
|
retval = custom_backend_func ();
|
||||||
|
|
||||||
|
if (!retval)
|
||||||
|
g_error ("Failed to create custom backend.");
|
||||||
|
|
||||||
|
return retval;
|
||||||
|
}
|
||||||
|
|
||||||
if (allowed_backends == NULL)
|
if (allowed_backends == NULL)
|
||||||
allowed_backends = "*";
|
allowed_backends = "*";
|
||||||
|
|
||||||
@@ -662,8 +615,6 @@ clutter_backend_class_init (ClutterBackendClass *klass)
|
|||||||
gobject_class->dispose = clutter_backend_dispose;
|
gobject_class->dispose = clutter_backend_dispose;
|
||||||
gobject_class->finalize = clutter_backend_finalize;
|
gobject_class->finalize = clutter_backend_finalize;
|
||||||
|
|
||||||
klass->stage_window_type = G_TYPE_INVALID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ClutterBackend::resolution-changed:
|
* ClutterBackend::resolution-changed:
|
||||||
* @backend: the #ClutterBackend that emitted the signal
|
* @backend: the #ClutterBackend that emitted the signal
|
||||||
@@ -725,9 +676,7 @@ clutter_backend_class_init (ClutterBackendClass *klass)
|
|||||||
klass->get_device_manager = clutter_backend_real_get_device_manager;
|
klass->get_device_manager = clutter_backend_real_get_device_manager;
|
||||||
klass->translate_event = clutter_backend_real_translate_event;
|
klass->translate_event = clutter_backend_real_translate_event;
|
||||||
klass->create_context = clutter_backend_real_create_context;
|
klass->create_context = clutter_backend_real_create_context;
|
||||||
klass->ensure_context = clutter_backend_real_ensure_context;
|
|
||||||
klass->get_features = clutter_backend_real_get_features;
|
klass->get_features = clutter_backend_real_get_features;
|
||||||
klass->create_stage = clutter_backend_real_create_stage;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@@ -818,87 +767,6 @@ _clutter_backend_create_context (ClutterBackend *backend,
|
|||||||
return klass->create_context (backend, error);
|
return klass->create_context (backend, error);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
|
||||||
_clutter_backend_ensure_context_internal (ClutterBackend *backend,
|
|
||||||
ClutterStage *stage)
|
|
||||||
{
|
|
||||||
ClutterBackendClass *klass = CLUTTER_BACKEND_GET_CLASS (backend);
|
|
||||||
if (G_LIKELY (klass->ensure_context))
|
|
||||||
klass->ensure_context (backend, stage);
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
_clutter_backend_ensure_context (ClutterBackend *backend,
|
|
||||||
ClutterStage *stage)
|
|
||||||
{
|
|
||||||
static ClutterStage *current_context_stage = NULL;
|
|
||||||
|
|
||||||
g_assert (CLUTTER_IS_BACKEND (backend));
|
|
||||||
g_assert (CLUTTER_IS_STAGE (stage));
|
|
||||||
|
|
||||||
if (current_context_stage != stage ||
|
|
||||||
!clutter_actor_is_realized (CLUTTER_ACTOR (stage)))
|
|
||||||
{
|
|
||||||
ClutterStage *new_stage = NULL;
|
|
||||||
|
|
||||||
if (!clutter_actor_is_realized (CLUTTER_ACTOR (stage)))
|
|
||||||
{
|
|
||||||
new_stage = NULL;
|
|
||||||
|
|
||||||
CLUTTER_NOTE (BACKEND,
|
|
||||||
"Stage [%p] is not realized, unsetting the stage",
|
|
||||||
stage);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
new_stage = stage;
|
|
||||||
|
|
||||||
CLUTTER_NOTE (BACKEND,
|
|
||||||
"Setting the new stage [%p]",
|
|
||||||
new_stage);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* XXX: Until Cogl becomes fully responsible for backend windows
|
|
||||||
* Clutter need to manually keep it informed of the current window size
|
|
||||||
*
|
|
||||||
* NB: This must be done after we ensure_context above because Cogl
|
|
||||||
* always assumes there is a current GL context.
|
|
||||||
*/
|
|
||||||
if (new_stage != NULL)
|
|
||||||
{
|
|
||||||
float width, height;
|
|
||||||
|
|
||||||
_clutter_backend_ensure_context_internal (backend, new_stage);
|
|
||||||
|
|
||||||
clutter_actor_get_size (CLUTTER_ACTOR (stage), &width, &height);
|
|
||||||
|
|
||||||
cogl_onscreen_clutter_backend_set_size (width, height);
|
|
||||||
|
|
||||||
/* Eventually we will have a separate CoglFramebuffer for
|
|
||||||
* each stage and each one will track private projection
|
|
||||||
* matrix and viewport state, but until then we need to make
|
|
||||||
* sure we update the projection and viewport whenever we
|
|
||||||
* switch between stages.
|
|
||||||
*
|
|
||||||
* This dirty mechanism will ensure they are asserted before
|
|
||||||
* the next paint...
|
|
||||||
*/
|
|
||||||
_clutter_stage_dirty_viewport (stage);
|
|
||||||
_clutter_stage_dirty_projection (stage);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* FIXME: With a NULL stage and thus no active context it may make more
|
|
||||||
* sense to clean the context but then re call with the default stage
|
|
||||||
* so at least there is some kind of context in place (as to avoid
|
|
||||||
* potential issue of GL calls with no context).
|
|
||||||
*/
|
|
||||||
current_context_stage = new_stage;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
CLUTTER_NOTE (BACKEND, "Stage is the same");
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
ClutterFeatureFlags
|
ClutterFeatureFlags
|
||||||
_clutter_backend_get_features (ClutterBackend *backend)
|
_clutter_backend_get_features (ClutterBackend *backend)
|
||||||
{
|
{
|
||||||
@@ -1346,7 +1214,7 @@ _clutter_backend_remove_event_translator (ClutterBackend *backend,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* clutter_backend_get_cogl_context:
|
* clutter_backend_get_cogl_context: (skip)
|
||||||
* @backend: a #ClutterBackend
|
* @backend: a #ClutterBackend
|
||||||
*
|
*
|
||||||
* Retrieves the #CoglContext associated with the given clutter
|
* Retrieves the #CoglContext associated with the given clutter
|
||||||
|
|||||||
@@ -31,9 +31,7 @@
|
|||||||
#include <cairo.h>
|
#include <cairo.h>
|
||||||
#include <pango/pango.h>
|
#include <pango/pango.h>
|
||||||
|
|
||||||
#ifdef COGL_ENABLE_EXPERIMENTAL_API
|
|
||||||
#include <cogl/cogl.h>
|
#include <cogl/cogl.h>
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <clutter/clutter-config.h>
|
#include <clutter/clutter-config.h>
|
||||||
#include <clutter/clutter-types.h>
|
#include <clutter/clutter-types.h>
|
||||||
@@ -73,10 +71,8 @@ void clutter_backend_set_font_options (Clutter
|
|||||||
CLUTTER_AVAILABLE_IN_ALL
|
CLUTTER_AVAILABLE_IN_ALL
|
||||||
const cairo_font_options_t * clutter_backend_get_font_options (ClutterBackend *backend);
|
const cairo_font_options_t * clutter_backend_get_font_options (ClutterBackend *backend);
|
||||||
|
|
||||||
#if defined (COGL_ENABLE_EXPERIMENTAL_API) && defined (CLUTTER_ENABLE_EXPERIMENTAL_API)
|
|
||||||
CLUTTER_AVAILABLE_IN_1_8
|
CLUTTER_AVAILABLE_IN_1_8
|
||||||
CoglContext * clutter_backend_get_cogl_context (ClutterBackend *backend);
|
CoglContext * clutter_backend_get_cogl_context (ClutterBackend *backend);
|
||||||
#endif
|
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
|
||||||
|
|||||||
@@ -31,7 +31,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "clutter-types.h"
|
#include "clutter-types.h"
|
||||||
|
|||||||
@@ -21,6 +21,8 @@
|
|||||||
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
|
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "clutter-build-config.h"
|
||||||
|
|
||||||
#include <glib.h>
|
#include <glib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include "clutter-bezier.h"
|
#include "clutter-bezier.h"
|
||||||
@@ -57,6 +59,10 @@
|
|||||||
#define CBZ_T_STEP (CBZ_T_ONE / CBZ_T_SAMPLES)
|
#define CBZ_T_STEP (CBZ_T_ONE / CBZ_T_SAMPLES)
|
||||||
#define CBZ_L_STEP (CBZ_T_ONE / CBZ_T_SAMPLES)
|
#define CBZ_L_STEP (CBZ_T_ONE / CBZ_T_SAMPLES)
|
||||||
|
|
||||||
|
#define FIXED_BITS (32)
|
||||||
|
#define FIXED_Q (FIXED_BITS - 16)
|
||||||
|
#define FIXED_FROM_INT(x) ((x) << FIXED_Q)
|
||||||
|
|
||||||
typedef gint32 _FixedT;
|
typedef gint32 _FixedT;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -186,6 +192,90 @@ _clutter_bezier_advance (const ClutterBezier *b, gint L, ClutterKnot * knot)
|
|||||||
knot->x, knot->y);
|
knot->x, knot->y);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
sqrti (int number)
|
||||||
|
{
|
||||||
|
#if defined __SSE2__
|
||||||
|
/* The GCC built-in with SSE2 (sqrtsd) is up to twice as fast as
|
||||||
|
* the pure integer code below. It is also more accurate.
|
||||||
|
*/
|
||||||
|
return __builtin_sqrt (number);
|
||||||
|
#else
|
||||||
|
/* This is a fixed point implementation of the Quake III sqrt algorithm,
|
||||||
|
* described, for example, at
|
||||||
|
* http://www.codemaestro.com/reviews/review00000105.html
|
||||||
|
*
|
||||||
|
* While the original QIII is extremely fast, the use of floating division
|
||||||
|
* and multiplication makes it perform very on arm processors without FPU.
|
||||||
|
*
|
||||||
|
* The key to successfully replacing the floating point operations with
|
||||||
|
* fixed point is in the choice of the fixed point format. The QIII
|
||||||
|
* algorithm does not calculate the square root, but its reciprocal ('y'
|
||||||
|
* below), which is only at the end turned to the inverse value. In order
|
||||||
|
* for the algorithm to produce satisfactory results, the reciprocal value
|
||||||
|
* must be represented with sufficient precission; the 16.16 we use
|
||||||
|
* elsewhere in clutter is not good enough, and 10.22 is used instead.
|
||||||
|
*/
|
||||||
|
_FixedT x;
|
||||||
|
uint32_t y_1; /* 10.22 fixed point */
|
||||||
|
uint32_t f = 0x600000; /* '1.5' as 10.22 fixed */
|
||||||
|
|
||||||
|
union
|
||||||
|
{
|
||||||
|
float f;
|
||||||
|
uint32_t i;
|
||||||
|
} flt, flt2;
|
||||||
|
|
||||||
|
flt.f = number;
|
||||||
|
|
||||||
|
x = FIXED_FROM_INT (number) / 2;
|
||||||
|
|
||||||
|
/* The QIII initial estimate */
|
||||||
|
flt.i = 0x5f3759df - ( flt.i >> 1 );
|
||||||
|
|
||||||
|
/* Now, we convert the float to 10.22 fixed. We exploit the mechanism
|
||||||
|
* described at http://www.d6.com/users/checker/pdfs/gdmfp.pdf.
|
||||||
|
*
|
||||||
|
* We want 22 bit fraction; a single precission float uses 23 bit
|
||||||
|
* mantisa, so we only need to add 2^(23-22) (no need for the 1.5
|
||||||
|
* multiplier as we are only dealing with positive numbers).
|
||||||
|
*
|
||||||
|
* Note: we have to use two separate variables here -- for some reason,
|
||||||
|
* if we try to use just the flt variable, gcc on ARM optimises the whole
|
||||||
|
* addition out, and it all goes pear shape, since without it, the bits
|
||||||
|
* in the float will not be correctly aligned.
|
||||||
|
*/
|
||||||
|
flt2.f = flt.f + 2.0;
|
||||||
|
flt2.i &= 0x7FFFFF;
|
||||||
|
|
||||||
|
/* Now we correct the estimate */
|
||||||
|
y_1 = (flt2.i >> 11) * (flt2.i >> 11);
|
||||||
|
y_1 = (y_1 >> 8) * (x >> 8);
|
||||||
|
|
||||||
|
y_1 = f - y_1;
|
||||||
|
flt2.i = (flt2.i >> 11) * (y_1 >> 11);
|
||||||
|
|
||||||
|
/* If the original argument is less than 342, we do another
|
||||||
|
* iteration to improve precission (for arguments >= 342, the single
|
||||||
|
* iteration produces generally better results).
|
||||||
|
*/
|
||||||
|
if (x < 171)
|
||||||
|
{
|
||||||
|
y_1 = (flt2.i >> 11) * (flt2.i >> 11);
|
||||||
|
y_1 = (y_1 >> 8) * (x >> 8);
|
||||||
|
|
||||||
|
y_1 = f - y_1;
|
||||||
|
flt2.i = (flt2.i >> 11) * (y_1 >> 11);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Invert, round and convert from 10.22 to an integer
|
||||||
|
* 0x1e3c68 is a magical rounding constant that produces slightly
|
||||||
|
* better results than 0x200000.
|
||||||
|
*/
|
||||||
|
return (number * flt2.i + 0x1e3c68) >> 22;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
_clutter_bezier_init (ClutterBezier *b,
|
_clutter_bezier_init (ClutterBezier *b,
|
||||||
gint x_0, gint y_0,
|
gint x_0, gint y_0,
|
||||||
@@ -250,7 +340,7 @@ _clutter_bezier_init (ClutterBezier *b,
|
|||||||
int x = _clutter_bezier_t2x (b, t);
|
int x = _clutter_bezier_t2x (b, t);
|
||||||
int y = _clutter_bezier_t2y (b, t);
|
int y = _clutter_bezier_t2y (b, t);
|
||||||
|
|
||||||
guint l = cogl_sqrti ((y - yp)*(y - yp) + (x - xp)*(x - xp));
|
guint l = sqrti ((y - yp)*(y - yp) + (x - xp)*(x - xp));
|
||||||
|
|
||||||
l += length[i-1];
|
l += length[i-1];
|
||||||
|
|
||||||
|
|||||||
@@ -44,7 +44,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
|||||||
@@ -81,7 +81,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
|||||||
@@ -95,7 +95,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "clutter-binding-pool.h"
|
#include "clutter-binding-pool.h"
|
||||||
|
|||||||
@@ -38,7 +38,7 @@
|
|||||||
#define CLUTTER_BLUR_EFFECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CLUTTER_TYPE_BLUR_EFFECT, ClutterBlurEffectClass))
|
#define CLUTTER_BLUR_EFFECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CLUTTER_TYPE_BLUR_EFFECT, ClutterBlurEffectClass))
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define CLUTTER_ENABLE_EXPERIMENTAL_API
|
#define CLUTTER_ENABLE_EXPERIMENTAL_API
|
||||||
|
|||||||
@@ -49,7 +49,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
|||||||
@@ -38,7 +38,7 @@
|
|||||||
#define CLUTTER_BRIGHTNESS_CONTRAST_EFFECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CLUTTER_TYPE_BRIGHTNESS_CONTRAST_EFFECT, ClutterBrightnessContrastEffectClass))
|
#define CLUTTER_BRIGHTNESS_CONTRAST_EFFECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CLUTTER_TYPE_BRIGHTNESS_CONTRAST_EFFECT, ClutterBrightnessContrastEffectClass))
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
|||||||
@@ -28,7 +28,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "clutter-cairo.h"
|
#include "clutter-cairo.h"
|
||||||
|
|||||||
@@ -43,7 +43,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <cogl/cogl.h>
|
#include <cogl/cogl.h>
|
||||||
|
|||||||
@@ -37,7 +37,7 @@
|
|||||||
* #ClutterChildMeta is available since Clutter 0.8
|
* #ClutterChildMeta is available since Clutter 0.8
|
||||||
*/
|
*/
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "clutter-child-meta.h"
|
#include "clutter-child-meta.h"
|
||||||
|
|||||||
@@ -93,7 +93,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "clutter-click-action.h"
|
#include "clutter-click-action.h"
|
||||||
|
|||||||
@@ -38,7 +38,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define CLUTTER_ENABLE_EXPERIMENTAL_API
|
#define CLUTTER_ENABLE_EXPERIMENTAL_API
|
||||||
|
|||||||
@@ -1,52 +0,0 @@
|
|||||||
/*
|
|
||||||
* Clutter.
|
|
||||||
*
|
|
||||||
* An OpenGL based 'interactive canvas' library.
|
|
||||||
*
|
|
||||||
* Copyright (C) 2012 Intel Corporation.
|
|
||||||
*
|
|
||||||
* This library is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU Lesser General Public
|
|
||||||
* License as published by the Free Software Foundation; either
|
|
||||||
* version 2 of the License, or (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This library is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
* Lesser General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Lesser General Public
|
|
||||||
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __CLUTTER_COGL_COMPAT_H__
|
|
||||||
#define __CLUTTER_COGL_COMPAT_H__
|
|
||||||
|
|
||||||
#if !defined(__CLUTTER_H_INSIDE__) && !defined(CLUTTER_COMPILATION)
|
|
||||||
#error "Only <clutter/clutter.h> can be included directly."
|
|
||||||
#endif
|
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
|
||||||
|
|
||||||
/* XXX: Some public Clutter apis depend on Cogl types that have been
|
|
||||||
* removed from the Cogl 2.0 experimental api.
|
|
||||||
*
|
|
||||||
* If somone has opted to use the Cogl 2.0 experimental api by
|
|
||||||
* defining COGL_ENABLE_EXPERIMENTAL_2_0_API then we need to define
|
|
||||||
* some place holder typdefs for compatability.
|
|
||||||
*
|
|
||||||
* NB: we build all clutter internals with COGL_ENABLE_EXPERIMENTAL_2_0_API
|
|
||||||
* defined.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef COGL_ENABLE_EXPERIMENTAL_2_0_API
|
|
||||||
|
|
||||||
/* CoglMaterial has been replaced with CoglPipeline in Cogl 2.0 */
|
|
||||||
typedef struct _CoglMaterial CoglMaterial;
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
G_END_DECLS
|
|
||||||
|
|
||||||
#endif /* __CLUTTER_COGL_COMPAT_H__ */
|
|
||||||
@@ -34,7 +34,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
|||||||
@@ -38,7 +38,7 @@
|
|||||||
#define CLUTTER_COLORIZE_EFFECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CLUTTER_TYPE_COLORIZE_EFFECT, ClutterColorizeEffectClass))
|
#define CLUTTER_COLORIZE_EFFECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CLUTTER_TYPE_COLORIZE_EFFECT, ClutterColorizeEffectClass))
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define CLUTTER_ENABLE_EXPERIMENTAL_API
|
#define CLUTTER_ENABLE_EXPERIMENTAL_API
|
||||||
|
|||||||
@@ -129,7 +129,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|||||||
@@ -27,7 +27,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
|
|||||||
@@ -37,7 +37,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "clutter-content-private.h"
|
#include "clutter-content-private.h"
|
||||||
|
|||||||
@@ -52,7 +52,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define CLUTTER_ENABLE_EXPERIMENTAL_API
|
#define CLUTTER_ENABLE_EXPERIMENTAL_API
|
||||||
|
|||||||
@@ -20,7 +20,6 @@
|
|||||||
#include "deprecated/clutter-box.h"
|
#include "deprecated/clutter-box.h"
|
||||||
#include "deprecated/clutter-cairo-texture.h"
|
#include "deprecated/clutter-cairo-texture.h"
|
||||||
#include "deprecated/clutter-container.h"
|
#include "deprecated/clutter-container.h"
|
||||||
#include "deprecated/clutter-fixed.h"
|
|
||||||
#include "deprecated/clutter-frame-source.h"
|
#include "deprecated/clutter-frame-source.h"
|
||||||
#include "deprecated/clutter-group.h"
|
#include "deprecated/clutter-group.h"
|
||||||
#include "deprecated/clutter-input-device.h"
|
#include "deprecated/clutter-input-device.h"
|
||||||
|
|||||||
@@ -40,7 +40,7 @@
|
|||||||
#define CLUTTER_DESATURATE_EFFECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CLUTTER_TYPE_DESATURATE_EFFECT, ClutterDesaturateEffectClass))
|
#define CLUTTER_DESATURATE_EFFECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CLUTTER_TYPE_DESATURATE_EFFECT, ClutterDesaturateEffectClass))
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define CLUTTER_ENABLE_EXPERIMENTAL_API
|
#define CLUTTER_ENABLE_EXPERIMENTAL_API
|
||||||
|
|||||||
@@ -131,9 +131,16 @@ struct _ClutterInputDevice
|
|||||||
|
|
||||||
gchar *vendor_id;
|
gchar *vendor_id;
|
||||||
gchar *product_id;
|
gchar *product_id;
|
||||||
|
gchar *node_path;
|
||||||
|
|
||||||
GPtrArray *tools;
|
GPtrArray *tools;
|
||||||
|
|
||||||
|
gint n_rings;
|
||||||
|
gint n_strips;
|
||||||
|
gint n_mode_groups;
|
||||||
|
|
||||||
|
ClutterInputDeviceMapping mapping_mode;
|
||||||
|
|
||||||
guint has_cursor : 1;
|
guint has_cursor : 1;
|
||||||
guint is_enabled : 1;
|
guint is_enabled : 1;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -37,7 +37,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "clutter-backend-private.h"
|
#include "clutter-backend-private.h"
|
||||||
@@ -47,6 +47,7 @@
|
|||||||
#include "clutter-marshal.h"
|
#include "clutter-marshal.h"
|
||||||
#include "clutter-private.h"
|
#include "clutter-private.h"
|
||||||
#include "clutter-stage-private.h"
|
#include "clutter-stage-private.h"
|
||||||
|
#include "clutter-virtual-input-device.h"
|
||||||
|
|
||||||
struct _ClutterDeviceManagerPrivate
|
struct _ClutterDeviceManagerPrivate
|
||||||
{
|
{
|
||||||
@@ -435,3 +436,25 @@ _clutter_device_manager_get_backend (ClutterDeviceManager *manager)
|
|||||||
|
|
||||||
return manager->priv->backend;
|
return manager->priv->backend;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* clutter_device_manager_create_virtual_device:
|
||||||
|
* @device_manager: a #ClutterDeviceManager
|
||||||
|
* @device_type: the type of the virtual device
|
||||||
|
*
|
||||||
|
* Creates a virtual input device.
|
||||||
|
*
|
||||||
|
* Returns: (transfer full): a newly created virtual device
|
||||||
|
**/
|
||||||
|
ClutterVirtualInputDevice *
|
||||||
|
clutter_device_manager_create_virtual_device (ClutterDeviceManager *device_manager,
|
||||||
|
ClutterInputDeviceType device_type)
|
||||||
|
{
|
||||||
|
ClutterDeviceManagerClass *manager_class;
|
||||||
|
|
||||||
|
g_return_val_if_fail (CLUTTER_IS_DEVICE_MANAGER (device_manager), NULL);
|
||||||
|
|
||||||
|
manager_class = CLUTTER_DEVICE_MANAGER_GET_CLASS (device_manager);
|
||||||
|
return manager_class->create_virtual_device (device_manager,
|
||||||
|
device_type);
|
||||||
|
}
|
||||||
|
|||||||
@@ -83,6 +83,8 @@ struct _ClutterDeviceManagerClass
|
|||||||
ClutterInputDevice *device);
|
ClutterInputDevice *device);
|
||||||
void (* select_stage_events) (ClutterDeviceManager *manager,
|
void (* select_stage_events) (ClutterDeviceManager *manager,
|
||||||
ClutterStage *stage);
|
ClutterStage *stage);
|
||||||
|
ClutterVirtualInputDevice *(* create_virtual_device) (ClutterDeviceManager *manager,
|
||||||
|
ClutterInputDeviceType device_type);
|
||||||
|
|
||||||
/* padding */
|
/* padding */
|
||||||
gpointer _padding[7];
|
gpointer _padding[7];
|
||||||
@@ -105,6 +107,10 @@ CLUTTER_AVAILABLE_IN_1_2
|
|||||||
ClutterInputDevice * clutter_device_manager_get_core_device (ClutterDeviceManager *device_manager,
|
ClutterInputDevice * clutter_device_manager_get_core_device (ClutterDeviceManager *device_manager,
|
||||||
ClutterInputDeviceType device_type);
|
ClutterInputDeviceType device_type);
|
||||||
|
|
||||||
|
CLUTTER_AVAILABLE_IN_ALL
|
||||||
|
ClutterVirtualInputDevice *clutter_device_manager_create_virtual_device (ClutterDeviceManager *device_manager,
|
||||||
|
ClutterInputDeviceType device_type);
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
|
||||||
#endif /* __CLUTTER_DEVICE_MANAGER_H__ */
|
#endif /* __CLUTTER_DEVICE_MANAGER_H__ */
|
||||||
|
|||||||
@@ -64,7 +64,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "clutter-drag-action.h"
|
#include "clutter-drag-action.h"
|
||||||
|
|||||||
@@ -59,7 +59,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "clutter-drop-action.h"
|
#include "clutter-drop-action.h"
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
|
|
||||||
#include "clutter-easing.h"
|
#include "clutter-easing.h"
|
||||||
|
|
||||||
|
|||||||
@@ -161,7 +161,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "clutter-effect.h"
|
#include "clutter-effect.h"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*** BEGIN file-header ***/
|
/*** BEGIN file-header ***/
|
||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
#include "clutter-enum-types.h"
|
#include "clutter-enum-types.h"
|
||||||
/*** END file-header ***/
|
/*** END file-header ***/
|
||||||
|
|
||||||
|
|||||||
@@ -794,6 +794,10 @@ typedef enum { /*< prefix=CLUTTER >*/
|
|||||||
CLUTTER_TOUCHPAD_SWIPE,
|
CLUTTER_TOUCHPAD_SWIPE,
|
||||||
CLUTTER_PROXIMITY_IN,
|
CLUTTER_PROXIMITY_IN,
|
||||||
CLUTTER_PROXIMITY_OUT,
|
CLUTTER_PROXIMITY_OUT,
|
||||||
|
CLUTTER_PAD_BUTTON_PRESS,
|
||||||
|
CLUTTER_PAD_BUTTON_RELEASE,
|
||||||
|
CLUTTER_PAD_STRIP,
|
||||||
|
CLUTTER_PAD_RING,
|
||||||
|
|
||||||
CLUTTER_EVENT_LAST /* helper */
|
CLUTTER_EVENT_LAST /* helper */
|
||||||
} ClutterEventType;
|
} ClutterEventType;
|
||||||
@@ -900,6 +904,7 @@ typedef enum { /*< prefix=CLUTTER_FLOW >*/
|
|||||||
* @CLUTTER_PEN_DEVICE: A pen device
|
* @CLUTTER_PEN_DEVICE: A pen device
|
||||||
* @CLUTTER_ERASER_DEVICE: An eraser device
|
* @CLUTTER_ERASER_DEVICE: An eraser device
|
||||||
* @CLUTTER_CURSOR_DEVICE: A cursor device
|
* @CLUTTER_CURSOR_DEVICE: A cursor device
|
||||||
|
* @CLUTTER_PAD_DEVICE: A tablet pad
|
||||||
* @CLUTTER_N_DEVICE_TYPES: The number of device types
|
* @CLUTTER_N_DEVICE_TYPES: The number of device types
|
||||||
*
|
*
|
||||||
* The types of input devices available.
|
* The types of input devices available.
|
||||||
@@ -920,6 +925,7 @@ typedef enum {
|
|||||||
CLUTTER_PEN_DEVICE,
|
CLUTTER_PEN_DEVICE,
|
||||||
CLUTTER_ERASER_DEVICE,
|
CLUTTER_ERASER_DEVICE,
|
||||||
CLUTTER_CURSOR_DEVICE,
|
CLUTTER_CURSOR_DEVICE,
|
||||||
|
CLUTTER_PAD_DEVICE,
|
||||||
|
|
||||||
CLUTTER_N_DEVICE_TYPES
|
CLUTTER_N_DEVICE_TYPES
|
||||||
} ClutterInputDeviceType;
|
} ClutterInputDeviceType;
|
||||||
@@ -1520,6 +1526,16 @@ typedef enum {
|
|||||||
CLUTTER_INPUT_DEVICE_TOOL_LENS
|
CLUTTER_INPUT_DEVICE_TOOL_LENS
|
||||||
} ClutterInputDeviceToolType;
|
} ClutterInputDeviceToolType;
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
CLUTTER_INPUT_DEVICE_PAD_SOURCE_UNKNOWN,
|
||||||
|
CLUTTER_INPUT_DEVICE_PAD_SOURCE_FINGER,
|
||||||
|
} ClutterInputDevicePadSource;
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
CLUTTER_INPUT_DEVICE_MAPPING_ABSOLUTE,
|
||||||
|
CLUTTER_INPUT_DEVICE_MAPPING_RELATIVE,
|
||||||
|
} ClutterInputDeviceMapping;
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
|
||||||
#endif /* __CLUTTER_ENUMS_H__ */
|
#endif /* __CLUTTER_ENUMS_H__ */
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
|
|
||||||
#include "clutter-event-translator.h"
|
#include "clutter-event-translator.h"
|
||||||
|
|
||||||
|
|||||||
@@ -29,6 +29,7 @@ struct _ClutterEventTranslatorIface
|
|||||||
ClutterEvent *translated);
|
ClutterEvent *translated);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
CLUTTER_AVAILABLE_IN_MUTTER
|
||||||
GType _clutter_event_translator_get_type (void) G_GNUC_CONST;
|
GType _clutter_event_translator_get_type (void) G_GNUC_CONST;
|
||||||
|
|
||||||
ClutterTranslateReturn _clutter_event_translator_translate_event (ClutterEventTranslator *translator,
|
ClutterTranslateReturn _clutter_event_translator_translate_event (ClutterEventTranslator *translator,
|
||||||
|
|||||||
@@ -24,7 +24,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "clutter-backend-private.h"
|
#include "clutter-backend-private.h"
|
||||||
@@ -413,6 +413,10 @@ clutter_event_get_position (const ClutterEvent *event,
|
|||||||
case CLUTTER_EVENT_LAST:
|
case CLUTTER_EVENT_LAST:
|
||||||
case CLUTTER_PROXIMITY_IN:
|
case CLUTTER_PROXIMITY_IN:
|
||||||
case CLUTTER_PROXIMITY_OUT:
|
case CLUTTER_PROXIMITY_OUT:
|
||||||
|
case CLUTTER_PAD_BUTTON_PRESS:
|
||||||
|
case CLUTTER_PAD_BUTTON_RELEASE:
|
||||||
|
case CLUTTER_PAD_STRIP:
|
||||||
|
case CLUTTER_PAD_RING:
|
||||||
clutter_point_init (position, 0.f, 0.f);
|
clutter_point_init (position, 0.f, 0.f);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -483,6 +487,10 @@ clutter_event_set_coords (ClutterEvent *event,
|
|||||||
case CLUTTER_EVENT_LAST:
|
case CLUTTER_EVENT_LAST:
|
||||||
case CLUTTER_PROXIMITY_IN:
|
case CLUTTER_PROXIMITY_IN:
|
||||||
case CLUTTER_PROXIMITY_OUT:
|
case CLUTTER_PROXIMITY_OUT:
|
||||||
|
case CLUTTER_PAD_BUTTON_PRESS:
|
||||||
|
case CLUTTER_PAD_BUTTON_RELEASE:
|
||||||
|
case CLUTTER_PAD_STRIP:
|
||||||
|
case CLUTTER_PAD_RING:
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case CLUTTER_ENTER:
|
case CLUTTER_ENTER:
|
||||||
@@ -811,9 +819,15 @@ clutter_event_get_button (const ClutterEvent *event)
|
|||||||
{
|
{
|
||||||
g_return_val_if_fail (event != NULL, 0);
|
g_return_val_if_fail (event != NULL, 0);
|
||||||
g_return_val_if_fail (event->type == CLUTTER_BUTTON_PRESS ||
|
g_return_val_if_fail (event->type == CLUTTER_BUTTON_PRESS ||
|
||||||
event->type == CLUTTER_BUTTON_RELEASE, 0);
|
event->type == CLUTTER_BUTTON_RELEASE ||
|
||||||
|
event->type == CLUTTER_PAD_BUTTON_PRESS ||
|
||||||
|
event->type == CLUTTER_PAD_BUTTON_RELEASE, 0);
|
||||||
|
|
||||||
return event->button.button;
|
if (event->type == CLUTTER_BUTTON_PRESS ||
|
||||||
|
event->type == CLUTTER_BUTTON_RELEASE)
|
||||||
|
return event->button.button;
|
||||||
|
else
|
||||||
|
return event->pad_button.button;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -1133,6 +1147,19 @@ clutter_event_set_device (ClutterEvent *event,
|
|||||||
case CLUTTER_PROXIMITY_OUT:
|
case CLUTTER_PROXIMITY_OUT:
|
||||||
event->proximity.device = device;
|
event->proximity.device = device;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case CLUTTER_PAD_BUTTON_PRESS:
|
||||||
|
case CLUTTER_PAD_BUTTON_RELEASE:
|
||||||
|
event->pad_button.device = device;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case CLUTTER_PAD_STRIP:
|
||||||
|
event->pad_strip.device = device;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case CLUTTER_PAD_RING:
|
||||||
|
event->pad_ring.device = device;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1217,6 +1244,19 @@ clutter_event_get_device (const ClutterEvent *event)
|
|||||||
case CLUTTER_PROXIMITY_OUT:
|
case CLUTTER_PROXIMITY_OUT:
|
||||||
device = event->proximity.device;
|
device = event->proximity.device;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case CLUTTER_PAD_BUTTON_PRESS:
|
||||||
|
case CLUTTER_PAD_BUTTON_RELEASE:
|
||||||
|
device = event->pad_button.device;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case CLUTTER_PAD_STRIP:
|
||||||
|
device = event->pad_strip.device;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case CLUTTER_PAD_RING:
|
||||||
|
device = event->pad_ring.device;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return device;
|
return device;
|
||||||
@@ -1708,6 +1748,10 @@ clutter_event_get_axes (const ClutterEvent *event,
|
|||||||
|
|
||||||
case CLUTTER_TOUCHPAD_PINCH:
|
case CLUTTER_TOUCHPAD_PINCH:
|
||||||
case CLUTTER_TOUCHPAD_SWIPE:
|
case CLUTTER_TOUCHPAD_SWIPE:
|
||||||
|
case CLUTTER_PAD_BUTTON_PRESS:
|
||||||
|
case CLUTTER_PAD_BUTTON_RELEASE:
|
||||||
|
case CLUTTER_PAD_STRIP:
|
||||||
|
case CLUTTER_PAD_RING:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2108,3 +2152,24 @@ clutter_event_get_scroll_finish_flags (const ClutterEvent *event)
|
|||||||
|
|
||||||
return event->scroll.finish_flags;
|
return event->scroll.finish_flags;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
guint
|
||||||
|
clutter_event_get_mode_group (const ClutterEvent *event)
|
||||||
|
{
|
||||||
|
g_return_val_if_fail (event->type == CLUTTER_PAD_BUTTON_PRESS ||
|
||||||
|
event->type == CLUTTER_PAD_BUTTON_RELEASE ||
|
||||||
|
event->type == CLUTTER_PAD_RING ||
|
||||||
|
event->type == CLUTTER_PAD_STRIP, 0);
|
||||||
|
switch (event->type)
|
||||||
|
{
|
||||||
|
case CLUTTER_PAD_BUTTON_PRESS:
|
||||||
|
case CLUTTER_PAD_BUTTON_RELEASE:
|
||||||
|
return event->pad_button.group;
|
||||||
|
case CLUTTER_PAD_RING:
|
||||||
|
return event->pad_ring.group;
|
||||||
|
case CLUTTER_PAD_STRIP:
|
||||||
|
return event->pad_strip.group;
|
||||||
|
default:
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -118,6 +118,9 @@ typedef struct _ClutterTouchEvent ClutterTouchEvent;
|
|||||||
typedef struct _ClutterTouchpadPinchEvent ClutterTouchpadPinchEvent;
|
typedef struct _ClutterTouchpadPinchEvent ClutterTouchpadPinchEvent;
|
||||||
typedef struct _ClutterTouchpadSwipeEvent ClutterTouchpadSwipeEvent;
|
typedef struct _ClutterTouchpadSwipeEvent ClutterTouchpadSwipeEvent;
|
||||||
typedef struct _ClutterProximityEvent ClutterProximityEvent;
|
typedef struct _ClutterProximityEvent ClutterProximityEvent;
|
||||||
|
typedef struct _ClutterPadButtonEvent ClutterPadButtonEvent;
|
||||||
|
typedef struct _ClutterPadStripEvent ClutterPadStripEvent;
|
||||||
|
typedef struct _ClutterPadRingEvent ClutterPadRingEvent;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ClutterAnyEvent:
|
* ClutterAnyEvent:
|
||||||
@@ -493,6 +496,49 @@ struct _ClutterTouchpadSwipeEvent
|
|||||||
gfloat dy;
|
gfloat dy;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct _ClutterPadButtonEvent
|
||||||
|
{
|
||||||
|
ClutterEventType type;
|
||||||
|
guint32 time;
|
||||||
|
ClutterEventFlags flags;
|
||||||
|
ClutterStage *stage;
|
||||||
|
ClutterActor *source;
|
||||||
|
|
||||||
|
guint32 button;
|
||||||
|
guint32 group;
|
||||||
|
ClutterInputDevice *device;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct _ClutterPadStripEvent
|
||||||
|
{
|
||||||
|
ClutterEventType type;
|
||||||
|
guint32 time;
|
||||||
|
ClutterEventFlags flags;
|
||||||
|
ClutterStage *stage;
|
||||||
|
ClutterActor *source;
|
||||||
|
|
||||||
|
ClutterInputDevice *device;
|
||||||
|
ClutterInputDevicePadSource strip_source;
|
||||||
|
guint32 strip_number;
|
||||||
|
guint32 group;
|
||||||
|
gdouble value;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct _ClutterPadRingEvent
|
||||||
|
{
|
||||||
|
ClutterEventType type;
|
||||||
|
guint32 time;
|
||||||
|
ClutterEventFlags flags;
|
||||||
|
ClutterStage *stage;
|
||||||
|
ClutterActor *source;
|
||||||
|
|
||||||
|
ClutterInputDevice *device;
|
||||||
|
ClutterInputDevicePadSource ring_source;
|
||||||
|
guint32 ring_number;
|
||||||
|
guint32 group;
|
||||||
|
gdouble angle;
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ClutterEvent:
|
* ClutterEvent:
|
||||||
*
|
*
|
||||||
@@ -516,6 +562,9 @@ union _ClutterEvent
|
|||||||
ClutterTouchpadPinchEvent touchpad_pinch;
|
ClutterTouchpadPinchEvent touchpad_pinch;
|
||||||
ClutterTouchpadSwipeEvent touchpad_swipe;
|
ClutterTouchpadSwipeEvent touchpad_swipe;
|
||||||
ClutterProximityEvent proximity;
|
ClutterProximityEvent proximity;
|
||||||
|
ClutterPadButtonEvent pad_button;
|
||||||
|
ClutterPadStripEvent pad_strip;
|
||||||
|
ClutterPadRingEvent pad_ring;
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -722,6 +771,10 @@ void clutter_event_get_gesture_motion_delta (const Clut
|
|||||||
ClutterScrollSource clutter_event_get_scroll_source (const ClutterEvent *event);
|
ClutterScrollSource clutter_event_get_scroll_source (const ClutterEvent *event);
|
||||||
ClutterScrollFinishFlags clutter_event_get_scroll_finish_flags (const ClutterEvent *event);
|
ClutterScrollFinishFlags clutter_event_get_scroll_finish_flags (const ClutterEvent *event);
|
||||||
|
|
||||||
|
CLUTTER_AVAILABLE_IN_ALL
|
||||||
|
guint clutter_event_get_mode_group (const ClutterEvent *event);
|
||||||
|
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
|
||||||
#endif /* __CLUTTER_EVENT_H__ */
|
#endif /* __CLUTTER_EVENT_H__ */
|
||||||
|
|||||||
@@ -38,7 +38,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|||||||
@@ -35,7 +35,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "clutter-debug.h"
|
#include "clutter-debug.h"
|
||||||
|
|||||||
@@ -28,7 +28,7 @@
|
|||||||
it only exists because that class is abstract */
|
it only exists because that class is abstract */
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "clutter-flatten-effect.h"
|
#include "clutter-flatten-effect.h"
|
||||||
|
|||||||
@@ -53,7 +53,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
|||||||
@@ -84,7 +84,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "clutter-gesture-action-private.h"
|
#include "clutter-gesture-action-private.h"
|
||||||
|
|||||||
@@ -27,7 +27,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|||||||
@@ -29,7 +29,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "clutter-debug.h"
|
#include "clutter-debug.h"
|
||||||
|
|||||||
@@ -37,7 +37,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define CLUTTER_ENABLE_EXPERIMENTAL_API
|
#define CLUTTER_ENABLE_EXPERIMENTAL_API
|
||||||
|
|||||||
@@ -131,10 +131,8 @@ gboolean clutter_image_set_bytes (ClutterImage
|
|||||||
guint row_stride,
|
guint row_stride,
|
||||||
GError **error);
|
GError **error);
|
||||||
|
|
||||||
#if defined(COGL_ENABLE_EXPERIMENTAL_API) && defined(CLUTTER_ENABLE_EXPERIMENTAL_API)
|
|
||||||
CLUTTER_AVAILABLE_IN_1_10
|
CLUTTER_AVAILABLE_IN_1_10
|
||||||
CoglTexture * clutter_image_get_texture (ClutterImage *image);
|
CoglTexture * clutter_image_get_texture (ClutterImage *image);
|
||||||
#endif
|
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "clutter-input-device-tool.h"
|
#include "clutter-input-device-tool.h"
|
||||||
@@ -34,12 +34,14 @@ struct _ClutterInputDeviceToolPrivate
|
|||||||
{
|
{
|
||||||
ClutterInputDeviceToolType type;
|
ClutterInputDeviceToolType type;
|
||||||
guint64 serial;
|
guint64 serial;
|
||||||
|
guint64 id;
|
||||||
};
|
};
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
PROP_0,
|
PROP_0,
|
||||||
PROP_TYPE,
|
PROP_TYPE,
|
||||||
PROP_SERIAL,
|
PROP_SERIAL,
|
||||||
|
PROP_ID,
|
||||||
PROP_LAST
|
PROP_LAST
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -66,6 +68,9 @@ clutter_input_device_tool_set_property (GObject *object,
|
|||||||
case PROP_SERIAL:
|
case PROP_SERIAL:
|
||||||
priv->serial = g_value_get_uint64 (value);
|
priv->serial = g_value_get_uint64 (value);
|
||||||
break;
|
break;
|
||||||
|
case PROP_ID:
|
||||||
|
priv->id = g_value_get_uint64 (value);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
||||||
}
|
}
|
||||||
@@ -90,6 +95,9 @@ clutter_input_device_tool_get_property (GObject *object,
|
|||||||
case PROP_SERIAL:
|
case PROP_SERIAL:
|
||||||
g_value_set_uint64 (value, priv->serial);
|
g_value_set_uint64 (value, priv->serial);
|
||||||
break;
|
break;
|
||||||
|
case PROP_ID:
|
||||||
|
g_value_set_uint64 (value, priv->id);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
||||||
}
|
}
|
||||||
@@ -116,6 +124,12 @@ clutter_input_device_tool_class_init (ClutterInputDeviceToolClass *klass)
|
|||||||
P_("Tool serial"),
|
P_("Tool serial"),
|
||||||
0, G_MAXUINT64, 0,
|
0, G_MAXUINT64, 0,
|
||||||
CLUTTER_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY);
|
CLUTTER_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY);
|
||||||
|
props[PROP_ID] =
|
||||||
|
g_param_spec_uint64 ("id",
|
||||||
|
P_("Tool ID"),
|
||||||
|
P_("Tool ID"),
|
||||||
|
0, G_MAXUINT64, 0,
|
||||||
|
CLUTTER_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY);
|
||||||
|
|
||||||
g_object_class_install_properties (gobject_class, PROP_LAST, props);
|
g_object_class_install_properties (gobject_class, PROP_LAST, props);
|
||||||
}
|
}
|
||||||
@@ -136,7 +150,7 @@ clutter_input_device_tool_init (ClutterInputDeviceTool *tool)
|
|||||||
*
|
*
|
||||||
* Since: 1.28
|
* Since: 1.28
|
||||||
**/
|
**/
|
||||||
guint
|
guint64
|
||||||
clutter_input_device_tool_get_serial (ClutterInputDeviceTool *tool)
|
clutter_input_device_tool_get_serial (ClutterInputDeviceTool *tool)
|
||||||
{
|
{
|
||||||
ClutterInputDeviceToolPrivate *priv;
|
ClutterInputDeviceToolPrivate *priv;
|
||||||
@@ -170,3 +184,24 @@ clutter_input_device_tool_get_tool_type (ClutterInputDeviceTool *tool)
|
|||||||
|
|
||||||
return priv->type;
|
return priv->type;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* clutter_input_device_tool_get_id:
|
||||||
|
* @tool: a #ClutterInputDeviceTool
|
||||||
|
*
|
||||||
|
* Gets the ID of this tool, this value can be used to identify a
|
||||||
|
* physical tool (eg. a tablet pen) across program executions.
|
||||||
|
*
|
||||||
|
* Returns: The tool ID for this tool
|
||||||
|
**/
|
||||||
|
guint64
|
||||||
|
clutter_input_device_tool_get_id (ClutterInputDeviceTool *tool)
|
||||||
|
{
|
||||||
|
ClutterInputDeviceToolPrivate *priv;
|
||||||
|
|
||||||
|
g_return_val_if_fail (CLUTTER_IS_INPUT_DEVICE_TOOL (tool), 0);
|
||||||
|
|
||||||
|
priv = clutter_input_device_tool_get_instance_private (tool);
|
||||||
|
|
||||||
|
return priv->id;
|
||||||
|
}
|
||||||
|
|||||||
@@ -56,11 +56,14 @@ CLUTTER_AVAILABLE_IN_ALL
|
|||||||
GType clutter_input_device_tool_get_type (void) G_GNUC_CONST;
|
GType clutter_input_device_tool_get_type (void) G_GNUC_CONST;
|
||||||
|
|
||||||
CLUTTER_AVAILABLE_IN_ALL
|
CLUTTER_AVAILABLE_IN_ALL
|
||||||
guint clutter_input_device_tool_get_serial (ClutterInputDeviceTool *tool);
|
guint64 clutter_input_device_tool_get_serial (ClutterInputDeviceTool *tool);
|
||||||
|
|
||||||
CLUTTER_AVAILABLE_IN_ALL
|
CLUTTER_AVAILABLE_IN_ALL
|
||||||
ClutterInputDeviceToolType clutter_input_device_tool_get_tool_type (ClutterInputDeviceTool *tool);
|
ClutterInputDeviceToolType clutter_input_device_tool_get_tool_type (ClutterInputDeviceTool *tool);
|
||||||
|
|
||||||
|
CLUTTER_AVAILABLE_IN_ALL
|
||||||
|
guint64 clutter_input_device_tool_get_id (ClutterInputDeviceTool *tool);
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
|
||||||
#endif /* __CLUTTER_INPUT_DEVICE_TOOL_H__ */
|
#endif /* __CLUTTER_INPUT_DEVICE_TOOL_H__ */
|
||||||
|
|||||||
@@ -32,7 +32,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "clutter-input-device.h"
|
#include "clutter-input-device.h"
|
||||||
@@ -70,6 +70,12 @@ enum
|
|||||||
PROP_VENDOR_ID,
|
PROP_VENDOR_ID,
|
||||||
PROP_PRODUCT_ID,
|
PROP_PRODUCT_ID,
|
||||||
|
|
||||||
|
PROP_N_STRIPS,
|
||||||
|
PROP_N_RINGS,
|
||||||
|
PROP_N_MODE_GROUPS,
|
||||||
|
PROP_DEVICE_NODE,
|
||||||
|
PROP_MAPPING_MODE,
|
||||||
|
|
||||||
PROP_LAST
|
PROP_LAST
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -195,6 +201,26 @@ clutter_input_device_set_property (GObject *gobject,
|
|||||||
self->product_id = g_value_dup_string (value);
|
self->product_id = g_value_dup_string (value);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case PROP_N_RINGS:
|
||||||
|
self->n_rings = g_value_get_int (value);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case PROP_N_STRIPS:
|
||||||
|
self->n_strips = g_value_get_int (value);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case PROP_N_MODE_GROUPS:
|
||||||
|
self->n_mode_groups = g_value_get_int (value);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case PROP_DEVICE_NODE:
|
||||||
|
self->node_path = g_value_dup_string (value);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case PROP_MAPPING_MODE:
|
||||||
|
self->mapping_mode = g_value_get_enum (value);
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
|
G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
|
||||||
break;
|
break;
|
||||||
@@ -255,6 +281,26 @@ clutter_input_device_get_property (GObject *gobject,
|
|||||||
g_value_set_string (value, self->product_id);
|
g_value_set_string (value, self->product_id);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case PROP_N_RINGS:
|
||||||
|
g_value_set_int (value, self->n_rings);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case PROP_N_STRIPS:
|
||||||
|
g_value_set_int (value, self->n_strips);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case PROP_N_MODE_GROUPS:
|
||||||
|
g_value_set_int (value, self->n_mode_groups);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case PROP_DEVICE_NODE:
|
||||||
|
g_value_set_string (value, self->node_path);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case PROP_MAPPING_MODE:
|
||||||
|
g_value_set_enum (value, self->mapping_mode);
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
|
G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
|
||||||
break;
|
break;
|
||||||
@@ -432,6 +478,42 @@ clutter_input_device_class_init (ClutterInputDeviceClass *klass)
|
|||||||
NULL,
|
NULL,
|
||||||
CLUTTER_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY);
|
CLUTTER_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY);
|
||||||
|
|
||||||
|
obj_props[PROP_N_RINGS] =
|
||||||
|
g_param_spec_int ("n-rings",
|
||||||
|
P_("Number of rings"),
|
||||||
|
P_("Number of rings (circular sliders) in this device"),
|
||||||
|
0, G_MAXINT, 0,
|
||||||
|
CLUTTER_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY);
|
||||||
|
|
||||||
|
obj_props[PROP_N_STRIPS] =
|
||||||
|
g_param_spec_int ("n-strips",
|
||||||
|
P_("Number of strips"),
|
||||||
|
P_("Number of strips (linear sliders) in this device"),
|
||||||
|
0, G_MAXINT, 0,
|
||||||
|
CLUTTER_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY);
|
||||||
|
|
||||||
|
obj_props[PROP_N_MODE_GROUPS] =
|
||||||
|
g_param_spec_int ("n-mode-groups",
|
||||||
|
P_("Number of mode groups"),
|
||||||
|
P_("Number of mode groups"),
|
||||||
|
0, G_MAXINT, 0,
|
||||||
|
CLUTTER_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY);
|
||||||
|
|
||||||
|
obj_props[PROP_DEVICE_NODE] =
|
||||||
|
g_param_spec_string ("device-node",
|
||||||
|
P_("Device node path"),
|
||||||
|
P_("Device node path"),
|
||||||
|
NULL,
|
||||||
|
CLUTTER_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY);
|
||||||
|
|
||||||
|
obj_props[PROP_MAPPING_MODE] =
|
||||||
|
g_param_spec_enum ("mapping-mode",
|
||||||
|
P_("Device mapping mode"),
|
||||||
|
P_("Device mapping mode"),
|
||||||
|
CLUTTER_TYPE_INPUT_DEVICE_MAPPING,
|
||||||
|
CLUTTER_INPUT_DEVICE_MAPPING_ABSOLUTE,
|
||||||
|
CLUTTER_PARAM_READWRITE);
|
||||||
|
|
||||||
gobject_class->dispose = clutter_input_device_dispose;
|
gobject_class->dispose = clutter_input_device_dispose;
|
||||||
gobject_class->set_property = clutter_input_device_set_property;
|
gobject_class->set_property = clutter_input_device_set_property;
|
||||||
gobject_class->get_property = clutter_input_device_get_property;
|
gobject_class->get_property = clutter_input_device_get_property;
|
||||||
@@ -2066,3 +2148,64 @@ clutter_input_device_update_from_tool (ClutterInputDevice *device,
|
|||||||
if (device_class->update_from_tool)
|
if (device_class->update_from_tool)
|
||||||
device_class->update_from_tool (device, tool);
|
device_class->update_from_tool (device, tool);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
gint
|
||||||
|
clutter_input_device_get_n_rings (ClutterInputDevice *device)
|
||||||
|
{
|
||||||
|
g_return_val_if_fail (CLUTTER_IS_INPUT_DEVICE (device), 0);
|
||||||
|
|
||||||
|
return device->n_rings;
|
||||||
|
}
|
||||||
|
|
||||||
|
gint
|
||||||
|
clutter_input_device_get_n_strips (ClutterInputDevice *device)
|
||||||
|
{
|
||||||
|
g_return_val_if_fail (CLUTTER_IS_INPUT_DEVICE (device), 0);
|
||||||
|
|
||||||
|
return device->n_strips;
|
||||||
|
}
|
||||||
|
|
||||||
|
gint
|
||||||
|
clutter_input_device_get_n_mode_groups (ClutterInputDevice *device)
|
||||||
|
{
|
||||||
|
g_return_val_if_fail (CLUTTER_IS_INPUT_DEVICE (device), 0);
|
||||||
|
g_return_val_if_fail (clutter_input_device_get_device_type (device) ==
|
||||||
|
CLUTTER_PAD_DEVICE, 0);
|
||||||
|
|
||||||
|
return device->n_mode_groups;
|
||||||
|
}
|
||||||
|
|
||||||
|
const gchar *
|
||||||
|
clutter_input_device_get_device_node (ClutterInputDevice *device)
|
||||||
|
{
|
||||||
|
g_return_val_if_fail (CLUTTER_IS_INPUT_DEVICE (device), NULL);
|
||||||
|
|
||||||
|
return device->node_path;
|
||||||
|
}
|
||||||
|
|
||||||
|
ClutterInputDeviceMapping
|
||||||
|
clutter_input_device_get_mapping_mode (ClutterInputDevice *device)
|
||||||
|
{
|
||||||
|
g_return_val_if_fail (CLUTTER_IS_INPUT_DEVICE (device),
|
||||||
|
CLUTTER_INPUT_DEVICE_MAPPING_ABSOLUTE);
|
||||||
|
g_return_val_if_fail (clutter_input_device_get_device_type (device) ==
|
||||||
|
CLUTTER_TABLET_DEVICE,
|
||||||
|
CLUTTER_INPUT_DEVICE_MAPPING_ABSOLUTE);
|
||||||
|
|
||||||
|
return device->mapping_mode;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
clutter_input_device_set_mapping_mode (ClutterInputDevice *device,
|
||||||
|
ClutterInputDeviceMapping mapping)
|
||||||
|
{
|
||||||
|
g_return_if_fail (CLUTTER_IS_INPUT_DEVICE (device));
|
||||||
|
g_return_if_fail (clutter_input_device_get_device_type (device) ==
|
||||||
|
CLUTTER_TABLET_DEVICE);
|
||||||
|
|
||||||
|
if (device->mapping_mode == mapping)
|
||||||
|
return;
|
||||||
|
|
||||||
|
device->mapping_mode = mapping;
|
||||||
|
g_object_notify (G_OBJECT (device), "mapping-mode");
|
||||||
|
}
|
||||||
|
|||||||
@@ -140,6 +140,23 @@ const gchar * clutter_input_device_get_vendor_id (ClutterInputDev
|
|||||||
CLUTTER_AVAILABLE_IN_1_22
|
CLUTTER_AVAILABLE_IN_1_22
|
||||||
const gchar * clutter_input_device_get_product_id (ClutterInputDevice *device);
|
const gchar * clutter_input_device_get_product_id (ClutterInputDevice *device);
|
||||||
|
|
||||||
|
CLUTTER_AVAILABLE_IN_ALL
|
||||||
|
gint clutter_input_device_get_n_rings (ClutterInputDevice *device);
|
||||||
|
CLUTTER_AVAILABLE_IN_ALL
|
||||||
|
gint clutter_input_device_get_n_strips (ClutterInputDevice *device);
|
||||||
|
CLUTTER_AVAILABLE_IN_ALL
|
||||||
|
gint clutter_input_device_get_n_mode_groups (ClutterInputDevice *device);
|
||||||
|
|
||||||
|
CLUTTER_AVAILABLE_IN_ALL
|
||||||
|
const gchar * clutter_input_device_get_device_node (ClutterInputDevice *device);
|
||||||
|
|
||||||
|
CLUTTER_AVAILABLE_IN_ALL
|
||||||
|
ClutterInputDeviceMapping clutter_input_device_get_mapping_mode (ClutterInputDevice *device);
|
||||||
|
|
||||||
|
CLUTTER_AVAILABLE_IN_ALL
|
||||||
|
void clutter_input_device_set_mapping_mode (ClutterInputDevice *device,
|
||||||
|
ClutterInputDeviceMapping mapping);
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
|
||||||
#endif /* __CLUTTER_INPUT_DEVICE_H__ */
|
#endif /* __CLUTTER_INPUT_DEVICE_H__ */
|
||||||
|
|||||||
@@ -46,7 +46,7 @@
|
|||||||
* #ClutterInterval is available since Clutter 1.0
|
* #ClutterInterval is available since Clutter 1.0
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
|
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
@@ -62,9 +62,6 @@
|
|||||||
#include "clutter-scriptable.h"
|
#include "clutter-scriptable.h"
|
||||||
#include "clutter-script-private.h"
|
#include "clutter-script-private.h"
|
||||||
|
|
||||||
#define CLUTTER_DISABLE_DEPRECATION_WARNINGS
|
|
||||||
#include "deprecated/clutter-fixed.h"
|
|
||||||
|
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
PROP_0,
|
PROP_0,
|
||||||
@@ -110,25 +107,6 @@ clutter_interval_real_validate (ClutterInterval *interval,
|
|||||||
{
|
{
|
||||||
GType pspec_gtype = G_PARAM_SPEC_VALUE_TYPE (pspec);
|
GType pspec_gtype = G_PARAM_SPEC_VALUE_TYPE (pspec);
|
||||||
|
|
||||||
G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
|
|
||||||
|
|
||||||
/* check the GTypes we provide first */
|
|
||||||
if (pspec_gtype == COGL_TYPE_FIXED)
|
|
||||||
{
|
|
||||||
ClutterParamSpecFixed *pspec_fixed = CLUTTER_PARAM_SPEC_FIXED (pspec);
|
|
||||||
CoglFixed a, b;
|
|
||||||
|
|
||||||
a = b = 0;
|
|
||||||
clutter_interval_get_interval (interval, &a, &b);
|
|
||||||
if ((a >= pspec_fixed->minimum && a <= pspec_fixed->maximum) &&
|
|
||||||
(b >= pspec_fixed->minimum && b <= pspec_fixed->maximum))
|
|
||||||
return TRUE;
|
|
||||||
else
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
G_GNUC_END_IGNORE_DEPRECATIONS;
|
|
||||||
|
|
||||||
/* then check the fundamental types */
|
/* then check the fundamental types */
|
||||||
switch (G_TYPE_FUNDAMENTAL (pspec_gtype))
|
switch (G_TYPE_FUNDAMENTAL (pspec_gtype))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -63,7 +63,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "clutter-keyframe-transition.h"
|
#include "clutter-keyframe-transition.h"
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
|
|
||||||
#include <glib.h>
|
#include <glib.h>
|
||||||
|
|
||||||
|
|||||||
@@ -130,7 +130,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <glib-object.h>
|
#include <glib-object.h>
|
||||||
|
|||||||
@@ -35,7 +35,7 @@
|
|||||||
* #ClutterLayoutMeta is available since Clutter 1.2
|
* #ClutterLayoutMeta is available since Clutter 1.2
|
||||||
*/
|
*/
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "clutter-layout-meta.h"
|
#include "clutter-layout-meta.h"
|
||||||
|
|||||||
@@ -128,6 +128,8 @@
|
|||||||
|
|
||||||
#define CLUTTER_AVAILABLE_IN_ALL _CLUTTER_EXTERN
|
#define CLUTTER_AVAILABLE_IN_ALL _CLUTTER_EXTERN
|
||||||
|
|
||||||
|
#define CLUTTER_AVAILABLE_IN_MUTTER _CLUTTER_EXTERN
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* CLUTTER_VERSION_MIN_REQUIRED:
|
* CLUTTER_VERSION_MIN_REQUIRED:
|
||||||
*
|
*
|
||||||
@@ -276,6 +278,8 @@
|
|||||||
# define CLUTTER_DEPRECATED_IN_1_12_FOR(f) _CLUTTER_EXTERN
|
# define CLUTTER_DEPRECATED_IN_1_12_FOR(f) _CLUTTER_EXTERN
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#define CLUTTER_DEPRECATED_IN_MUTTER CLUTTER_DEPRECATED
|
||||||
|
|
||||||
#if CLUTTER_VERSION_MAX_ALLOWED < CLUTTER_VERSION_1_12
|
#if CLUTTER_VERSION_MAX_ALLOWED < CLUTTER_VERSION_1_12
|
||||||
# define CLUTTER_AVAILABLE_IN_1_12 CLUTTER_UNAVAILABLE(1, 12)
|
# define CLUTTER_AVAILABLE_IN_1_12 CLUTTER_UNAVAILABLE(1, 12)
|
||||||
#else
|
#else
|
||||||
|
|||||||
@@ -48,7 +48,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
@@ -62,6 +62,7 @@
|
|||||||
#include "clutter-feature.h"
|
#include "clutter-feature.h"
|
||||||
#include "clutter-main.h"
|
#include "clutter-main.h"
|
||||||
#include "clutter-master-clock.h"
|
#include "clutter-master-clock.h"
|
||||||
|
#include "clutter-mutter.h"
|
||||||
#include "clutter-private.h"
|
#include "clutter-private.h"
|
||||||
#include "clutter-settings-private.h"
|
#include "clutter-settings-private.h"
|
||||||
#include "clutter-stage-manager.h"
|
#include "clutter-stage-manager.h"
|
||||||
@@ -2162,6 +2163,10 @@ _clutter_process_event_details (ClutterActor *stage,
|
|||||||
|
|
||||||
case CLUTTER_KEY_PRESS:
|
case CLUTTER_KEY_PRESS:
|
||||||
case CLUTTER_KEY_RELEASE:
|
case CLUTTER_KEY_RELEASE:
|
||||||
|
case CLUTTER_PAD_BUTTON_PRESS:
|
||||||
|
case CLUTTER_PAD_BUTTON_RELEASE:
|
||||||
|
case CLUTTER_PAD_STRIP:
|
||||||
|
case CLUTTER_PAD_RING:
|
||||||
{
|
{
|
||||||
ClutterActor *actor = NULL;
|
ClutterActor *actor = NULL;
|
||||||
|
|
||||||
|
|||||||
@@ -30,7 +30,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "clutter-master-clock.h"
|
#include "clutter-master-clock.h"
|
||||||
|
|||||||
@@ -32,7 +32,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "clutter-master-clock.h"
|
#include "clutter-master-clock.h"
|
||||||
|
|||||||
45
clutter/clutter/clutter-mutter.h
Normal file
45
clutter/clutter/clutter-mutter.h
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
/*
|
||||||
|
* Clutter.
|
||||||
|
*
|
||||||
|
* An OpenGL based 'interactive canvas' library.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2016 Red Hat Inc.
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
|
* License as published by the Free Software Foundation; either
|
||||||
|
* version 2 of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
|
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __CLUTTER_MUTTER_H__
|
||||||
|
#define __CLUTTER_MUTTER_H__
|
||||||
|
|
||||||
|
#define __CLUTTER_H_INSIDE__
|
||||||
|
|
||||||
|
#include "clutter-backend.h"
|
||||||
|
#include "clutter-macros.h"
|
||||||
|
#include "clutter-stage-view.h"
|
||||||
|
#include "cogl/clutter-stage-cogl.h"
|
||||||
|
#include "x11/clutter-stage-x11.h"
|
||||||
|
|
||||||
|
CLUTTER_AVAILABLE_IN_MUTTER
|
||||||
|
void clutter_set_custom_backend_func (ClutterBackend *(* func) (void));
|
||||||
|
|
||||||
|
CLUTTER_AVAILABLE_IN_MUTTER
|
||||||
|
gboolean _clutter_get_sync_to_vblank (void);
|
||||||
|
|
||||||
|
CLUTTER_AVAILABLE_IN_MUTTER
|
||||||
|
int64_t clutter_stage_get_frame_counter (ClutterStage *stage);
|
||||||
|
|
||||||
|
#undef __CLUTTER_H_INSIDE__
|
||||||
|
|
||||||
|
#endif /* __CLUTTER_MUTTER_H__ */
|
||||||
@@ -63,11 +63,9 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define CLUTTER_ENABLE_EXPERIMENTAL_API
|
|
||||||
|
|
||||||
#include "clutter-offscreen-effect.h"
|
#include "clutter-offscreen-effect.h"
|
||||||
|
|
||||||
#include "cogl/cogl.h"
|
#include "cogl/cogl.h"
|
||||||
@@ -520,7 +518,7 @@ clutter_offscreen_effect_get_texture (ClutterOffscreenEffect *effect)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* clutter_offscreen_effect_get_target:
|
* clutter_offscreen_effect_get_target: (skip)
|
||||||
* @effect: a #ClutterOffscreenEffect
|
* @effect: a #ClutterOffscreenEffect
|
||||||
*
|
*
|
||||||
* Retrieves the material used as a render target for the offscreen
|
* Retrieves the material used as a render target for the offscreen
|
||||||
|
|||||||
@@ -31,7 +31,6 @@
|
|||||||
|
|
||||||
#include <cogl/cogl.h>
|
#include <cogl/cogl.h>
|
||||||
#include <clutter/clutter-effect.h>
|
#include <clutter/clutter-effect.h>
|
||||||
#include <clutter/clutter-cogl-compat.h>
|
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
G_BEGIN_DECLS
|
||||||
|
|
||||||
|
|||||||
@@ -36,7 +36,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
|||||||
@@ -59,7 +59,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define CLUTTER_ENABLE_EXPERIMENTAL_API
|
#define CLUTTER_ENABLE_EXPERIMENTAL_API
|
||||||
@@ -884,7 +884,7 @@ clutter_paint_node_add_texture_rectangle (ClutterPaintNode *node,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* clutter_paint_node_add_path:
|
* clutter_paint_node_add_path: (skip)
|
||||||
* @node: a #ClutterPaintNode
|
* @node: a #ClutterPaintNode
|
||||||
* @path: a Cogl path
|
* @path: a Cogl path
|
||||||
*
|
*
|
||||||
@@ -912,7 +912,7 @@ clutter_paint_node_add_path (ClutterPaintNode *node,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* clutter_paint_node_add_primitive:
|
* clutter_paint_node_add_primitive: (skip)
|
||||||
* @node: a #ClutterPaintNode
|
* @node: a #ClutterPaintNode
|
||||||
* @primitive: a Cogl primitive
|
* @primitive: a Cogl primitive
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -66,14 +66,13 @@ void clutter_paint_node_add_texture_rectangle (Clutter
|
|||||||
float y_1,
|
float y_1,
|
||||||
float x_2,
|
float x_2,
|
||||||
float y_2);
|
float y_2);
|
||||||
#if defined(COGL_ENABLE_EXPERIMENTAL_API) && defined(CLUTTER_ENABLE_EXPERIMENTAL_API)
|
|
||||||
CLUTTER_AVAILABLE_IN_1_10
|
CLUTTER_AVAILABLE_IN_1_10
|
||||||
void clutter_paint_node_add_path (ClutterPaintNode *node,
|
void clutter_paint_node_add_path (ClutterPaintNode *node,
|
||||||
CoglPath *path);
|
CoglPath *path);
|
||||||
CLUTTER_AVAILABLE_IN_1_10
|
CLUTTER_AVAILABLE_IN_1_10
|
||||||
void clutter_paint_node_add_primitive (ClutterPaintNode *node,
|
void clutter_paint_node_add_primitive (ClutterPaintNode *node,
|
||||||
CoglPrimitive *primitive);
|
CoglPrimitive *primitive);
|
||||||
#endif /* COGL_ENABLE_EXPERIMENTAL_API && CLUTTER_ENABLE_EXPERIMENTAL_API */
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* CLUTTER_VALUE_HOLDS_PAINT_NODE:
|
* CLUTTER_VALUE_HOLDS_PAINT_NODE:
|
||||||
|
|||||||
@@ -32,7 +32,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define CLUTTER_ENABLE_EXPERIMENTAL_API
|
#define CLUTTER_ENABLE_EXPERIMENTAL_API
|
||||||
@@ -511,7 +511,7 @@ clutter_pipeline_node_init (ClutterPipelineNode *self)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* clutter_pipeline_node_new:
|
* clutter_pipeline_node_new: (skip)
|
||||||
* @pipeline: (allow-none): a Cogl pipeline state object, or %NULL
|
* @pipeline: (allow-none): a Cogl pipeline state object, or %NULL
|
||||||
*
|
*
|
||||||
* Creates a new #ClutterPaintNode that will use the @pipeline to
|
* Creates a new #ClutterPaintNode that will use the @pipeline to
|
||||||
|
|||||||
@@ -118,10 +118,8 @@ typedef struct _ClutterPipelineNodeClass ClutterPipelineNodeClass;
|
|||||||
CLUTTER_AVAILABLE_IN_1_10
|
CLUTTER_AVAILABLE_IN_1_10
|
||||||
GType clutter_pipeline_node_get_type (void) G_GNUC_CONST;
|
GType clutter_pipeline_node_get_type (void) G_GNUC_CONST;
|
||||||
|
|
||||||
#if defined(COGL_ENABLE_EXPERIMENTAL_API) && defined(CLUTTER_ENABLE_EXPERIMENTAL_API)
|
|
||||||
CLUTTER_AVAILABLE_IN_1_10
|
CLUTTER_AVAILABLE_IN_1_10
|
||||||
ClutterPaintNode * clutter_pipeline_node_new (CoglPipeline *pipeline);
|
ClutterPaintNode * clutter_pipeline_node_new (CoglPipeline *pipeline);
|
||||||
#endif /* COGL_ENABLE_EXPERIMENTAL_API && CLUTTER_ENABLE_EXPERIMENTAL_API */
|
|
||||||
|
|
||||||
#define CLUTTER_TYPE_TEXT_NODE (clutter_text_node_get_type ())
|
#define CLUTTER_TYPE_TEXT_NODE (clutter_text_node_get_type ())
|
||||||
#define CLUTTER_TEXT_NODE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CLUTTER_TYPE_TEXT_NODE, ClutterTextNode))
|
#define CLUTTER_TEXT_NODE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CLUTTER_TYPE_TEXT_NODE, ClutterTextNode))
|
||||||
|
|||||||
@@ -25,7 +25,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|||||||
@@ -54,7 +54,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "clutter-pan-action.h"
|
#include "clutter-pan-action.h"
|
||||||
|
|||||||
@@ -37,7 +37,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "clutter-path-constraint.h"
|
#include "clutter-path-constraint.h"
|
||||||
|
|||||||
@@ -62,7 +62,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|||||||
@@ -210,7 +210,6 @@ void _clutter_id_to_color (guint id,
|
|||||||
ClutterColor *col);
|
ClutterColor *col);
|
||||||
|
|
||||||
void _clutter_set_sync_to_vblank (gboolean sync_to_vblank);
|
void _clutter_set_sync_to_vblank (gboolean sync_to_vblank);
|
||||||
gboolean _clutter_get_sync_to_vblank (void);
|
|
||||||
|
|
||||||
/* use this function as the accumulator if you have a signal with
|
/* use this function as the accumulator if you have a signal with
|
||||||
* a G_TYPE_BOOLEAN return value; this will stop the emission as
|
* a G_TYPE_BOOLEAN return value; this will stop the emission as
|
||||||
@@ -245,6 +244,10 @@ void _clutter_util_rectangle_union (const cairo_rectangle_int_t *src1,
|
|||||||
const cairo_rectangle_int_t *src2,
|
const cairo_rectangle_int_t *src2,
|
||||||
cairo_rectangle_int_t *dest);
|
cairo_rectangle_int_t *dest);
|
||||||
|
|
||||||
|
gboolean _clutter_util_rectangle_intersection (const cairo_rectangle_int_t *src1,
|
||||||
|
const cairo_rectangle_int_t *src2,
|
||||||
|
cairo_rectangle_int_t *dest);
|
||||||
|
|
||||||
|
|
||||||
struct _ClutterVertex4
|
struct _ClutterVertex4
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -31,7 +31,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "clutter-property-transition.h"
|
#include "clutter-property-transition.h"
|
||||||
|
|||||||
@@ -34,7 +34,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
|||||||
@@ -25,7 +25,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|||||||
@@ -221,7 +221,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|||||||
@@ -37,7 +37,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|||||||
@@ -43,7 +43,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "clutter-build-config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "clutter-scroll-actor.h"
|
#include "clutter-scroll-actor.h"
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user