Commit Graph

496 Commits

Author SHA1 Message Date
Emmanuele Bassi
fde094dce2 build: Remove clutter-version.h.win32.in
The clutter-version.h header file is now completely generic, and does
not need to be masked by a Windows-specific header when building under
MSVC.
2012-02-29 15:20:58 +00:00
Emmanuele Bassi
eb42127cf0 Require GLib ≥ 2.31.19
For the new deprecation and versioning macros.
2012-02-27 14:35:53 +00:00
Emmanuele Bassi
8f0003f6f0 Post-release version bump to 1.9.13 2012-02-23 12:15:41 +00:00
Emmanuele Bassi
12d74cebb9 Release Clutter 1.9.12 (snapshot) 2012-02-23 12:04:29 +00:00
Emmanuele Bassi
115f6ee008 build: Bump up Cogl dependency
We use the latest stable snapshot.
2012-02-23 11:44:21 +00:00
Emmanuele Bassi
f770cce7a5 build: Fix platform_linux check
Missing * at the end.

As a side effect, this commit enables the ABI check when running make
check inside the clutter/ directory.
2012-02-10 12:26:43 +00:00
Emmanuele Bassi
92f6b520cb build: Identify the Linux hosts
This gives us a nice conditional, like the one we have on Windows and
OSX.
2012-02-09 18:41:19 +00:00
Robert Bragg
bace07c0a0 Updates use of Cogl in line with api changes
Some of Cogl's experimental apis have changed so that the buffer apis
now need to be passed a context argument and some drawing apis have been
replaced with cogl_framebuffer_ drawing apis that take explicit
framebuffer and pipeline arguments.

These changes were made as part of Cogl moving towards a more stateless
api that doesn't rely on a global context.

This patch updates Clutter to work with the latest Cogl api and bumps
the required Cogl version to 1.9.5.

Reviewed-by: Emmanuele Bassi <ebassi@linux.intel.com>
Reviewed-by: Neil Roberts <neil@linux.intel.com>
2012-02-09 16:34:25 +00:00
Emmanuele Bassi
de64ccb451 Post-release version bump to 1.9.11 2012-02-06 16:45:15 +00:00
Emmanuele Bassi
0d7ec670f1 Release 1.9.10 (snapshot) 2012-02-06 16:40:00 +00:00
Emmanuele Bassi
a4d571aaf9 Post-release version bump to 1.9.9 2012-01-24 15:42:20 +00:00
Emmanuele Bassi
7179bd44c8 Release Clutter 1.9.8 (snapshot) 2012-01-24 15:20:35 +00:00
Emmanuele Bassi
8d8d4ae7e5 script: Add loading from a resource
GLib has gained support for compiling ancillary data files into the same
binary blob as a library or as an executable.

We should add this feature to ClutterScript, so that it's possible to
bundle UI definitions with an application.
2012-01-24 12:04:56 +00:00
Emmanuele Bassi
683657cc30 Post-release version bump to 1.9.7 2012-01-19 14:01:20 +00:00
Emmanuele Bassi
75d97ffdc5 Release Clutter 1.9.6 (snapshot) 2012-01-19 13:44:38 +00:00
Emmanuele Bassi
a222e75e33 build: Bump up the Cogl requirement
Clutter requires a new version of Cogl's API, but we never bumped the
requirement inside configure.ac.
2012-01-19 13:44:38 +00:00
Emmanuele Bassi
7e4260ee8a build: Fix up the test rules for private deps
Thanks to diegoe for the help with testing.
2012-01-17 22:56:59 +00:00
Emmanuele Bassi
d7e6deef9c build: Add private deps to cflags and libs
If we go through the whole exercise of having private dependencies, we
should at least use the compiler flags and linker flags that those
dependencies give us when building Clutter.

https://bugzilla.gnome.org/show_bug.cgi?id=668137
2012-01-17 22:00:32 +00:00
Emmanuele Bassi
41bef2b23a Post-release version bump to 1.9.5 2012-01-17 14:44:28 +00:00
Emmanuele Bassi
1854ce2d06 Release Clutter 1.9.4 (snapshot) 2012-01-17 14:32:19 +00:00
Emmanuele Bassi
8e6b3914ef build: Remove a bunch of useless checks
Some pkg-config dependencies are still there from the days when Cogl
was in tree - and even then, they barely made sense.
2012-01-12 10:17:01 +00:00
Emmanuele Bassi
7ca37b6e58 build: Fix the private pkg-config requirements
Private pkg-config requirements are conditional.
2012-01-12 10:10:09 +00:00
Rob Bradford
ed9c3ee54e wayland: Pull gdk-pixbuf in a private dependency
This means it will get tested for explicitly as well as appearing in the
Requires.private section of the pkg-config file.
2012-01-11 12:26:00 +00:00
Rob Bradford
4afe793eed build: Add infrastructure for inserting Requires.private into pkg-config files 2012-01-11 12:23:46 +00:00
Emmanuele Bassi
e3511fcbac configure: Clean up help and configuration summary 2012-01-03 14:00:40 +00:00
Robert Bragg
af294aafe6 Add public CLUTTER_HAS_WAYLAND_COMPOSITOR_SUPPORT define
When clutter has been built with Wayland compositor support then we now
expose a public CLUTTER_HAS_WAYLAND_COMPOSITOR_SUPPORT define so that
applications can #ifdef code that depends on the api that this feature
implies.

Reviewed-by: Emmanuele Bassi <ebassi@linux.intel.com>
2011-12-08 16:13:38 +00:00
Robert Bragg
602a89afa8 evdev: fixes evdev build issues + don't ref default stage
This updates the evdev input backend code to compile and also updates
the code to not refer to the default stage and instead check for a
stage to be associated with the input device. If no stage is currently
associated with a device generating events then the events are dropped
on the floor.

Reviewed-by: Emmanuele Bassi <ebassi@linux.intel.com>
2011-12-08 16:13:37 +00:00
Robert Bragg
16ed7677e0 Adds wayland-surface actor for wayland compositors
This adds a --enable-wayland-compositor configure option which will add
support for a ClutterWaylandSurface actor which can be used to aid in
writing Wayland compositors using Clutter by providing a ClutterActor to
represent Wayland client surfaces.

Notably this configure option isn't tied into any particular backend
since conceptually the compositor support can be used in conjunction
with any clutter backend that has corresponding Cogl support.

Reviewed-by: Emmanuele Bassi <ebassi@linux.intel.com>
2011-12-08 16:13:37 +00:00
Robert Bragg
07c6f96cb4 wayland: Updates client side wayland support
This updates Wayland support in line with upstream changes to the Wayland
API and protocol.

This update means we no longer use the Cogl stub winsys so a lot of code
that had to manually interact with EGL and implement a swap_buffers
mechanism could be removed and instead we now depend on Cogl to handle
those things for us.

This update also adds an input device manager consistent with other
clutter backends.

Note: to use the client side "wayland" clutter backend you need to have
built Cogl with --enable-wayland-egl-platform. If Cogl has been built
with support for multiple winsys backends then you should run
applications with COGL_RENDERER=EGL in the environment.

Reviewed-by: Emmanuele Bassi <ebassi@linux.intel.com>
2011-12-08 16:13:37 +00:00
Emmanuele Bassi
8afeb0e099 Post-release version bump to 1.9.3 2011-11-22 14:08:36 +00:00
Emmanuele Bassi
1022aad970 Release Clutter 1.9.2 (snapshot) 2011-11-22 13:53:08 +00:00
Chun-wei Fan
1b7249a247 Merge branch 'master' into msvc-support-master 2011-11-14 11:40:49 +08:00
Emmanuele Bassi
821ccef555 build: Disable evdev input by default
It's an experimental input backend, so it should be enabled explicitly.
2011-11-10 17:59:17 +00:00
Emmanuele Bassi
7472c07c41 build: Clean up the configuration summary
List the input backends, and remove the EGL backend options.
2011-11-10 14:55:03 +00:00
Emmanuele Bassi
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
Emmanuele Bassi
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
Emmanuele Bassi
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
Chun-wei Fan
bb9e452a36 Merge branch 'master' into msvc-support-master 2011-11-07 11:42:16 +08:00
Emmanuele Bassi
7ab84f981c Remove CLUTTER_DISABLE_DEPRECATED from the build flags
We don't use it any more.
2011-11-03 15:35:01 +00:00
Emmanuele Bassi
7a2001436b build: Clean up the per-backend summary 2011-11-03 13:45:21 +00:00
Emmanuele Bassi
dc672b5c89 build: Use AC_CACHE_SAVE
Delimit the points in the configure script that should save the state,
so that running the script multiple times doesn't require starting from
scratch even if it didn't terminate successfully.
2011-11-03 13:45:21 +00:00
Emmanuele Bassi
9110fa1ee7 build: Disable tslib by default
The event handling through tslib hasn't been tested in a while, and it
hasn't been ported to the device manager machinery either. We are still
considering whether or not it should be entirely removed, since evdev is
supposed to be a better way to handle events not coming from an existing
windowing system.
2011-11-03 13:45:21 +00:00
Emmanuele Bassi
8249e48802 Clean up the windowing system defines
Instead of defining new symbols for the windowing systems enabled at
configure time, we can reuse the same symbols for both the compile time
and run time checks, e.g.:

  #ifdef CLUTTER_WINDOWING_X11
    if (clutter_check_windowing_backend (CLUTTER_WINDOWING_X11))
      /* use the clutter_x11_* API */
    else
  #endif
  #ifdef CLUTTER_WINDOWING_WIN32
    if (clutter_check_windowing_backend (CLUTTER_WINDOWING_WIN32))
      /* use the clutter_win32_* API */
  #endif

This scheme allows us to ensure that the input system namespace is free
for us to use and select at run time in later versions of Clutter.
2011-11-03 13:45:20 +00:00
Emmanuele Bassi
b07756e0b3 build: Implement proper platform checking
Perform the check for enabling platform-specific backends conditionally
on the 'check' value, instead of unconditionally.

Also, rename the configure switches for the backends to have a '-backend'
suffix, to avoid collisions and provide a more descriptive name.
2011-11-03 13:45:20 +00:00
Emmanuele Bassi
405e72f2e4 egl: First attempt at cleaning up the EGL native backend
At least, let's make it compile when built along with the other
backends. In reality, it still needs to be verified as working.
2011-11-03 13:45:20 +00:00
Emmanuele Bassi
19508132df build: Move EGL-related files under egl/
Including the clutter-cex100.h.in header.
2011-11-03 13:45:20 +00:00
Emmanuele Bassi
0c919adf50 Minimal cosmetic fix to the configure output 2011-11-03 13:45:20 +00:00
Emmanuele Bassi
a09bbffd92 Implement multi-backend support
The Clutter backend split is opaque enough that should allow us to just
build all possible backends inside the same shared object, and select
the wanted backend at initialization time.

This requires some work in the build system, as well as the
initialization code, to remove duplicate functions that might cause
conflicts at build and link time. We also need to defer all the checks
of the internal state of the platform-specific API to run-time type
checks.
2011-11-03 13:45:19 +00:00
Giovanni Campagna
9c102b7c51 Rework the interaction between the Cogl and GDK / X11 backends.
Previously, the Cogl backend was at times a subclass of the X11
backend, and at times a standalone one. Now it is the other way
round, with GDK and X11 backends providing the concrete classes,
layered on top of the generic Cogl backend. A new EglNative backend
was introduced for direct to framebuffer rendering. This greatly
simplifies the API design (at the expense of some casts needed)
and reduces the amount of #ifdefs, without duplicating code.

https://bugzilla.gnome.org/show_bug.cgi?id=657434
2011-11-03 13:45:17 +00:00
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