Commit Graph

8208 Commits

Author SHA1 Message Date
17c89bd0a0 backend: Clean up the device manager creation
Create the device manager during the event initialization, where it
makes sense.

This allows us to get rid of the per-backend get_device_manager()
virtual function, and just store the DeviceManager pointer into the
ClutterBackend structure.
2011-11-10 14:55:03 +00:00
cd1e8da07f */backend: Clean up the stage creation
Use the default implementation of create_stage() wherever possible.
2011-11-10 14:55:03 +00:00
828ca2982f backend: Provide a default create_stage()
We can now safely create a ClutterStageWindow in the shared code path,
instead of deferring to the backend.
2011-11-10 14:55:03 +00:00
9c038ebefb stage-window: Add :backend and :wrapper properties
All StageWindow implementation already have back pointers, but we need a
unified API to actually set them from the generic code path; we can use
properties on the StageWindow interface — though this requires fixing
all backends at the same time, to avoid GObject complaining.
2011-11-10 14:55:03 +00:00
f3c89e82b3 gdk/backend: Fix an invalid chain up 2011-11-10 14:55:03 +00:00
b980d2dc17 */backend: Store the StageWindow implementation type 2011-11-10 14:55:03 +00:00
6082be409e backend: Store the type of the StageWindow implementation
We can use it later on to create it and provide a default create_stage()
implementation.
2011-11-10 14:55:03 +00:00
04a2b5f42b egl/backend: Clean up
The "EGL native" backend is just a short-hand for a pure Cogl backend,
using whatever input mechanism was enabled at run-time.
2011-11-10 14:55:03 +00:00
89e26497de Add a CEx100-specific backend
Instead of piggybacking on the EGL backend, let's create a small
ClutterBackend for the CEx100 platforms. This allows us to handle the
CEx100-specific details in a much cleaner way.
2011-11-10 14:55:03 +00:00
5c9cafb411 cogl/backend: Remove the ClutterBackendCogl class
All the functionality that ClutterBackendCogl provided has been moved
into ClutterBackend itself, so there is no need to have this class
around in the source.

Cogl-based backends can derive directly from ClutterBackend.
2011-11-10 14:55:03 +00:00
5ac0cf1c28 cogl/backend: Remove pre/post_parse
The CLUTTER_VBLANK environment variable is now handled in the common
code path.
2011-11-10 14:55:02 +00:00
db211a2131 Remove per-backend CLUTTER_VBLANK envvar
We have a global flag we can use.
2011-11-10 14:55:02 +00:00
e8562089f6 main: Add a sync-to-vblank global flag
It replaces the per-backend CLUTTER_VBLANK environment variable.
2011-11-10 14:55:02 +00:00
80fdbeb954 backend: Provide a default get_features() implementation
Continue gutting ClutterBackendCogl; get_features() is the last bit that
still does something, but now we can use the Cogl API.
2011-11-10 14:42:41 +00:00
b97324ee9f win32/backend: Use the default context creation
The win32 backend doesn't do anything special on context creation, so we
can just use the default implementation provided by ClutterBackend.
2011-11-10 14:42:41 +00:00
6ec7a28802 gdk/backend: Use the context creation hooks
Same as it has happened to the X11 backend.
2011-11-10 14:42:41 +00:00
68e8ef0103 x11/backend: Use the context creation hooks
Don't replace create_context(): given that the X11 backend already uses
Cogl for the context creation, we can just provide the right data
structures ourselves.
2011-11-10 14:42:40 +00:00
a918ac92cb backend: Provide a default create_context()
Since we use Cogl for the context creation we can now provide a default
context creation that should just work, plus a couple of hooks to allow
plugging into the creation sequence for platforms supported by Cogl that
require special handling — like foreign displays or alpha-enabled swap
chains.

The various backends have now two choices: either replace the
create_context() in its entirety, or plug themselves into the default
context creation.
2011-11-10 14:42:40 +00:00
5b1b936491 backend: Fix up the input backend detection ordering
And add a missing 'else' in the OSX check, to avoid a g_error().
2011-11-10 14:42:40 +00:00
1f8915d2c8 Add a 'null' input backend symbol
We should have an input backend symbol that thoroughly disables all
input event handling.
2011-11-10 14:42:40 +00:00
adb6ffbd0e backend: Unify the event initialization
Input backends are, in some cases, independent from the windowing system
backends; we can initialize input handling using a model similar to what
we use for windowing backends, including an environment variable and
compile-/run-time checks.

This model allows us to remove the backend-specific init_events(), and
use a generic implementation directly inside the base ClutterBackend
class, thus further reducing the backend-specific code that every
platform has to implement.

This requires some minor surgery to every single backend, to make sure
that the function exposed to initialize the event loop is similar and
performs roughly the same operations.
2011-11-10 14:42:40 +00:00
84d208b2c6 win32/backend: Remove ensure_context()
We have a fallback, now.
2011-11-10 14:42:40 +00:00
672ab70144 win32/stage: Implement get_active_framebuffer() 2011-11-10 14:42:40 +00:00
42af690255 wayland/backend: Remove empty ensure_context()
There is a default fallback, now.
2011-11-10 14:42:40 +00:00
0c02e8adb3 cogl/backend: Remove ensure_context()
We have a default implementation for it, now.
2011-11-10 14:42:40 +00:00
790c0d1f91 backend: Provide an implementation of ensure_backend()
We can do it for all Cogl-based backends.
2011-11-10 14:42:39 +00:00
e374c2bd89 conform/color: Check invalid strings
We need to make sure to fail consistently for invalid strings.
2011-11-10 14:15:32 +00:00
0550a8b99d color: Validate hex formats
Right now, we pass through to Pango unrecognized hexadecimal formats
when parsing colors from strings. Since we parse all possible formats
ourselves, we can do validation ourselves as well, and avoid the Pango
path.
2011-11-10 14:13:45 +00:00
889a1f44f4 conform/color: Test hsla() format 2011-11-10 12:57:34 +00:00
b96773f9c9 clutter-stage-x11: Make sure to set geometry x and y
Otherwise, we could be dealing with uninitialized values, causing
havoc all over the place.

https://bugzilla.gnome.org/show_bug.cgi?id=663733
2011-11-10 12:57:34 +00:00
33303f92f3 Minor whitespace fix for clutter color parsing of hsla(h,s,l,a)
Previously, if there was whitespace between "l" and the comma before the
alpha value, parsing would fail.  This patch allows that whitespace
making it consistent with whitespace being allowed everywhere else.

https://bugzilla.gnome.org/show_bug.cgi?id=663594
2011-11-10 12:57:34 +00:00
d596401a3c cally: Use the proper role for password entries
https://bugzilla.gnome.org/show_bug.cgi?id=663332
2011-11-10 12:57:34 +00:00
7b5e5b7727 main: Add a debug note when reading the settings file
So that's easier to track in the debug log.
2011-11-09 09:09:37 +00:00
63dbcc245c Merge branch 'master' into msvc-support-master 2011-11-09 00:30:32 +08:00
ba8d682c09 actor: Deprecate [sg]et_geometry()
These methods are short-hands for accessing the position and size,
which are already shorthands for accessing the various dimensional
and positional attributes. Plus, they use ClutterGeometry, which is a
fairly bad data type for a rectangle.
2011-11-08 14:46:55 +00:00
101f39ea92 Replace usage of [sg]et_geometry()
The set_geometry() and get_geometry() methods are going to be
deprecated.
2011-11-08 14:46:16 +00:00
4fe7a77302 Replace ClutterGeometry with cairo_rectangle_int_t
We still use ClutterGeometry internally in a couple of places, but we
should really move away from that flawed rectangle data type, and use
the Cairo one.

Sadly, we still have some public API that we cannot remove yet.
2011-11-08 14:20:32 +00:00
76e85f68ea build: Remove mention of missing file
There is no clutter-event-gdk.h in the build.
2011-11-08 11:19:22 +00:00
67d5a4993c main: Deprecate clutter_set_default_frame_rate()
Setting the default frame rate does not do anything even remotely
useful, unless synchronization to the vertical refresh rate is also
disabled - which can only be done through environment variable or
through configuration file. Having a programmatic way to change the
default frame rate is, thus, completely pointless.

Changing the default frame rate through environment variable and
configuration file is still allowed.
2011-11-07 20:31:15 +00:00
bf8f1afb40 Update VS property sheets
In response to the following moved to deprecated in the following commits:

a39be454
main: Move deprecated symbols to a separate header
40d703a0
backend: Move deprecated symbols to a separate header
b19c9196
actor: Move deprecated symbols into separate headers
142cd0bf
Move clutter-keysyms-compat.h to the deprecated section
530b07f1
Don't use a -deprecated suffix for headers
11420a70
group: Move deprecated macro into its own header
98b467f9
stage: Move the deprecated macros to a separate header
2011-11-07 12:46:56 +08:00
bd9dbe870a Add GDK-specific symbols to clutter.symbols
A GDK backend for clutter was added in commits 610a9c17
(Add A new GDK backend) and f14cbf5b (gdk: Allow disabling event retrieval)

These are not included in the Win32 builds for the moment as GDK3 is
quite unstable on Windows at this time
2011-11-07 12:44:44 +08:00
73fa9eec5f Update clutter-version.h.win32.in
-Update clutter-version.h.win32.in to reflect the state of
 clutter-version.h.in commit 21a24c86 (updated in commit 8249e488)
-Also add clutter_check_windowing_backend to clutter.symbols as a result.
2011-11-07 12:12:53 +08:00
bb9e452a36 Merge branch 'master' into msvc-support-master 2011-11-07 11:42:16 +08:00
e0bfdbfeba osx/stage: Fix compilation
We need to include clutter-stage-window.h.
2011-11-04 12:03:13 +00:00
61c3b9395f Fix cally-atkevents-example VS projects
Refer to $(srcroot)\clutter so that the correct Cally headers can be
referenced
2011-11-04 12:01:51 +08:00
6f8f8295c0 build: Ensure libdir exists before installing to it 2011-11-03 14:45:29 -04:00
683642ba54 docs: Fixes for the API reference build 2011-11-03 16:05:36 +00:00
53513f8586 tests: Remove #undef CLUTTER_DISABLE_DEPRECATED
We need to test deprecated API as well, and we don't use a guard any
more in the build.
2011-11-03 15:35:03 +00:00
7ab84f981c Remove CLUTTER_DISABLE_DEPRECATED from the build flags
We don't use it any more.
2011-11-03 15:35:01 +00:00
2403d4875b Remove CLUTTER_DISABLE_DEPRECATED guard
Except for macros, we now entirely depend on the deprecation warnings
instead of a guard.
2011-11-03 15:32:04 +00:00