5572 Commits

Author SHA1 Message Date
Giovanni Campagna
610a9c17ba Add a new GDK backend
This commit introduces a new flavour for Clutter, that uses GDK
for handling all window system specific interactions (except for
creating the cogl context, as cogl does not know about GDK), including
in particular events. This is not compatible with the X11 (glx)
flavour, and this is reflected by the different soname (libclutter-gdk-1.0.so),
as all X11 specific functions and classes are not available. If you
wish to be compatible, you should check for CLUTTER_WINDOWING_X11.
Other than that, this backend should be on feature parity with X11,
including XInput 2, XSettings and EMWH (with much, much less code)

https://bugzilla.gnome.org/show_bug.cgi?id=657434
2011-11-03 13:42:13 +00:00
Robert Bragg
db53ca382c cogl: fallback to non-transparent stages if unsupported
If our check of the CoglOnscreenTemplate during initialization fails
then we disable the request for an alpha component in the swap chain and
try the check again.

Reviewed-by: Neil Roberts <neil@linux.intel.com>
Reviewed-by: Emmanuele Bassi <ebassi@linux.intel.com>
2011-11-02 17:38:56 +00:00
Emmanuele Bassi
4ce95306a3 tslib: Remove mention of clutter-stage-egl.h
That header has long since disappeared from the build.
2011-11-02 13:00:47 +00:00
Emmanuele Bassi
0b4b19700f utils: Remove CLUTTER_DISABLE_DEPRECATED
We use deprecation warnings now.
2011-11-02 13:00:47 +00:00
Emmanuele Bassi
377a292b4e texture: Remove CLUTTER_DISABLE_DEPRECATED
We use deprecation warnings now.
2011-11-02 13:00:46 +00:00
Emmanuele Bassi
4a4289cfa5 stage-manager: Remove CLUTTER_DISABLE_DEPRECATED
We use deprecation warnings now.
2011-11-02 13:00:46 +00:00
Emmanuele Bassi
1ba9a123ed cairo-texture: Remove CLUTTER_DISABLE_DEPRECATED
We use deprecation warnings now.
2011-11-02 13:00:46 +00:00
Emmanuele Bassi
f4d8ba7db4 animatable: Remove CLUTTER_DISABLE_DEPRECATED
We use deprecation warnings, now.
2011-11-02 13:00:46 +00:00
Emmanuele Bassi
f4e971a7e5 cairo-texture: Use an internal function for create_region()
Avoid double argument checking, and a deprecation warning when
implementing create() as a wrapper around create_region(), by using
a simple internal function.
2011-11-02 13:00:46 +00:00
Emmanuele Bassi
b19c919645 actor: Move deprecated symbols into separate headers
The clutter-actor.h header is already pretty big, so let's try to keep
the deprecated symbols out of it.
2011-11-02 13:00:46 +00:00
Emmanuele Bassi
40d703a005 backend: Move deprecated symbols to a separate header 2011-11-02 13:00:46 +00:00
Emmanuele Bassi
a39be454cf main: Move deprecated symbols to a separate header
The number of deprecations in clutter-main.h makes the header harder to
parse, and more confusing. We can use a separate header under the
deprecated subdirectory to hold all the deprecated symbols.
2011-11-02 13:00:46 +00:00
Robert Bragg
6e28121ff3 cogl: include <cogl/cogl-xlib.h> for xlib specific symbols
Since Xlib.h is such a terrible citizen when it comes to symbol
namespacing it's not desirable to include Xlib.h if it is not absolutely
required. Cogl now has a standalone cogl-xlib.h that should be included
whenever any xlib specific symbols are required.

This patch updates clutter to include <cogl/cogl-xlib.h> wherever
clutter needs to use xlib specific cogl apis.

Acked-by: Emmanuele Bassi <ebassi@linux.intel.com>
2011-11-01 16:24:00 +00:00
Emmanuele Bassi
0bfda78615 profile: Disable deprecation warnings
We use an atexit() handler to print out the profile report coming from
Uprof. The g_atexit() call has been deprecated by GLib, but since this
use case is pretty specific and it's not meant to be turned on by
default (or distributed) then we can safely disable the deprecation
warnings inside clutter-profile.c.
2011-10-31 10:39:46 +00:00
Emmanuele Bassi
09de87b0e5 backend: Remove atexit handlers
The g_atexit() function has been deprecated in GLib as it is a fairly
bad idea in basically all cases.

We could probably use a GCC destructor if we didn't care about
portability, but for the time being we just remove the atexit() handler
that disposed the backend.
2011-10-31 10:33:46 +00:00
Emmanuele Bassi
d97a8c431b cairo-texture: Drop the half pixel rounding
Calling ceilf() should be enough.

https://bugzilla.gnome.org/show_bug.cgi?id=661887
2011-10-31 10:33:46 +00:00
Chun-wei Fan
0406e235bf Merge branch 'master' into msvc-support-master 2011-10-26 12:55:05 +08:00
Emmanuele Bassi
81a82867e1 docs: Clarify CLUTTER_ACTOR_IS_MAPPED
There are a couple of gotchas in the 'mapped' flag that are not properly
documented, or are documented only in the actor_invariants.txt file; we
should have a proper description in the API reference as well, to avoid
confusion.
2011-10-25 11:35:04 +01:00
Chun-wei Fan
8c196c9403 Bug 662071-[Win32]-Don't init the Big Clutter Lock
Since the Windows GUI system is assuming multithreadedness, initializing
locks after entering the GUI portion on Windows is likely to cause
problems[1][2], which results many Clutter programs to crash due to
releasing resources that they did not own.

[1]: Multi-threaded use of GTK+ on Win32 in README.win32 of GTK+
     source package
[2]: Explanation of Windows GUI system regarding its multithreadness
     assumptions-
     http://mail.gnome.org/archives/gtk-list/2011-June/msg00005.html
2011-10-25 01:27:51 +08:00
Chun-wei Fan
7c6038d77b Bug 662071-[Win32]-Don't init the Big Clutter Lock
Since the Windows GUI system is assuming multithreadedness, initializing
locks after entering the GUI portion on Windows is likely to cause
problems[1][2], which results many Clutter programs to crash due to
releasing resources that they did not own.

[1]: Multi-threaded use of GTK+ on Win32 in README.win32 of GTK+
     source package
[2]: Explanation of Windows GUI system regarding its multithreadness
     assumptions-
     http://mail.gnome.org/archives/gtk-list/2011-June/msg00005.html
2011-10-25 00:13:53 +08:00
Chun-wei Fan
0f9eded1c3 Revert "Don't init the Big Clutter Lock on Win32"
This reverts commit f6acae9f3d92a324c80ec07a94515e13692a2843.
2011-10-25 00:01:24 +08:00
Chun-wei Fan
f6acae9f3d Don't init the Big Clutter Lock on Win32
Since the Windows GUI system is assuming multithreadedness, initializing
locks after entering the GUI portion on Windows is likely to cause
problems[1][2], which results many Clutter programs to crash due to
releasing resources that they did not own.

[1]: Multi-threaded use of GTK+ on Win32 in README.win32 of GTK+ source package
[2]: Explanation of Windows GUI system regarding its multithreadness
     assumtopns-http://lists-archives.org/gtk/12724-compiling-a-gtk-application-on-windows.html
2011-10-24 17:17:39 +08:00
Emmanuele Bassi
5540e6bd9c docs: Document the behaviour in case of init failure
Or, better, the fact that the behaviour of any Clutter function will be
undefined in case the initialization fails.

The value returned by clutter_init() and friends has to be handled
properly.
2011-10-21 21:19:27 +01:00
Chun-wei Fan
fedca055e9 Revert "Revert "Deprecate clutter_threads_init()""
This reverts commit 5419c11c99f721f2f9bf520c0444c053a88b3725.

This is another part to attempt to investigate on error 0xC0000264
on Windows
2011-10-21 17:44:27 +08:00
Chun-wei Fan
e0ad11a193 Revert "clutter-main.c: Fix multiple declarations"
This reverts commit 3d74552684a6eb49bc67845bfb3839896395e66a.

This is a part to attempt to further investigate about the 0xC0000264 error
on Windows
2011-10-21 17:43:21 +08:00
Chun-wei Fan
3d74552684 clutter-main.c: Fix multiple declarations
clutter_threads_impl_lock/clutter_threads_impl_unlock was accidently
defined 2 times during the revert-fix that.
2011-10-20 15:42:55 +08:00
Chun-wei Fan
d6af2e54c8 Merge branch 'master' into msvc-support-master 2011-10-20 15:41:46 +08:00
Chun-wei Fan
5419c11c99 Revert "Deprecate clutter_threads_init()"
This reverts commit 7e3a75c66bbca1e278b15c797cfc6acbcbd6c7c7.

Conflicts:

	clutter/clutter-main.c
	clutter/clutter-main.h
2011-10-20 15:17:25 +08:00
Robert Bragg
63cc5ab698 blur: don't accumulate texture padding twice
This removes the create_texture implementation for ClutterBlurEffect
because we already account for padding in the get_paint_volume
implementation so we were creating textures larger than necessary.

Reviewed-by: Emmanuele Bassi <ebassi@linux.intel.com>
2011-10-19 15:27:03 +01:00
Emmanuele Bassi
a18a8a3ae2 Avoid the shadowing of 'clone'
The clone() call can creep into the build environment, so it's a good
thing to avoid using 'clone' as a variable name.
2011-10-19 15:23:55 +01:00
Chun-wei Fan
e33a6219d8 Merge branch 'master' into msvc-support-master 2011-10-18 15:48:17 +08:00
Emmanuele Bassi
8083dd5178 docs: Improve documentation of LayoutManager
Especially with regards to layout properties and their usage inside a
ClutterScript UI definition.
2011-10-17 11:48:47 +01:00
Chun-wei Fan
8b5d255a2b Update clutter.symbols
_clutter_shader_release_all is removed...
2011-10-17 18:37:32 +08:00
Emmanuele Bassi
be4007ef53 Remove mentions of clutter_redraw() 2011-10-17 10:25:07 +01:00
Emmanuele Bassi
146e15297f debug: Clean up debugging notes 2011-10-17 10:24:25 +01:00
Chun-wei Fan
b1780711f7 Merge branch 'master' into msvc-support-master 2011-10-17 15:52:57 +08:00
Emmanuele Bassi
1e51961f7a align-constraint: Add CLUTTER_ALIGN_BOTH
Just like ClutterBindConstraint has two shorthand enumerations for binding
position and size and avoid using multiple instances, ClutterAlignConstraint
should have a way to align an actor with the same alignment factor on both
axis at the same time; this is especially useful for centering actors.
2011-10-15 18:36:27 +01:00
Emmanuele Bassi
7f3363e1db Tag all deprecated symbols using CLUTTER_DEPRECATED
This requires some minor surgery in the build to disable the deprecation
warnings in the deprecated classes.
2011-10-14 11:34:38 +01:00
Emmanuele Bassi
a063f09611 debug: Move paint-deform-tiles to CLUTTER_PAINT
The CLUTTER_DEBUG class of debugging flags is meant for debugging notes,
while the CLUTTER_PAINT debugging flags are for changing the output of
the paint cycle. Painting the DeformEffect tiles should go in the latter.
2011-10-13 11:38:27 +01:00
Emmanuele Bassi
ef1a3a5477 docs: Include test-threads.c in the API reference
We can use the test-threads.c interactive test as part of the documentation
on how to use threads with Clutter.
2011-10-13 10:42:30 +01:00
Emmanuele Bassi
e0283993f4 Avoid using deprecated API internally
Use the proper API to implement deprecated functions.
2011-10-12 16:44:55 +01:00
Emmanuele Bassi
72da6f808e texture: Disable deprecation warnings
Sadly, ClutterTexture is still using internally deprecated API, like
clutter_actor_get_shader().
2011-10-12 12:36:41 +01:00
Chun-wei Fan
0ee89f1788 clutter-backend-win32.c: Include clutter-shader.h
This is needed for _clutter_shader_release_all to avoid C4013
errors/warnings (a.k.a implicit declaration of ...)
2011-10-12 17:50:32 +08:00
Emmanuele Bassi
53d9e88135 Remove _clutter_shader_release_all()
This function is called when the backend is being disposed - as a way
of releasing all ClutterShader. This doesn't take into account three
things:

  - ClutterShader is deprecated
  - the Backend is *never* disposed
  - once the process terminates, all its resources are automatically
    released by the OS

So the _clutter_shader_release_all() function is a pointless exercise
in futility.
2011-10-12 10:36:17 +01:00
Chun-wei Fan
a2bd2afb93 clutter/Makefile.am
The previous update on clutter-timeout-interval.[ch] is wrong, so correct
that and add $(deprecated_c_priv) to the VS sources list.  Sorry.
2011-10-12 17:33:33 +08:00
Chun-wei Fan
15cafc4c77 clutter/Makefile.am: Update formatting from last commit 2011-10-12 17:30:08 +08:00
Chun-wei Fan
830d6887cd clutter/Makefile.am: Made up for missed sources
The clutter/deprecated/clutter-timeout-interval.c is missed from the
deprecated_c sources list...
2011-10-12 17:26:31 +08:00
Chun-wei Fan
e0de326b2a clutter/clutter-keysyms-table.c: Fix function name
The function name is clutter_unicode_to_keysym, not
clutter_unicode_to_keyval
2011-10-12 17:25:37 +08:00
Chun-wei Fan
cb98da4a9d Update clutter.symbols 2011-10-12 17:24:36 +08:00
Chun-wei Fan
762a4350d1 Update VS support
-clutter/Makefile.am: Include the deprecated sources as well
-clutter.vc(x)projin: Add clutter/deprecated into the "Additional Include
 Directories"
2011-10-12 17:02:08 +08:00