1. 19 Jan, 2012 2 commits
  2. 17 Jan, 2012 4 commits
  3. 12 Jan, 2012 2 commits
  4. 11 Jan, 2012 2 commits
  5. 03 Jan, 2012 1 commit
  6. 08 Dec, 2011 4 commits
    • Robert Bragg's avatar
      Add public CLUTTER_HAS_WAYLAND_COMPOSITOR_SUPPORT define · af294aaf
      Robert Bragg authored
      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: default avatarEmmanuele Bassi <ebassi@linux.intel.com>
      af294aaf
    • Robert Bragg's avatar
      evdev: fixes evdev build issues + don't ref default stage · 602a89af
      Robert Bragg authored
      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: default avatarEmmanuele Bassi <ebassi@linux.intel.com>
      602a89af
    • Robert Bragg's avatar
      Adds wayland-surface actor for wayland compositors · 16ed7677
      Robert Bragg authored
      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: default avatarEmmanuele Bassi <ebassi@linux.intel.com>
      16ed7677
    • Robert Bragg's avatar
      wayland: Updates client side wayland support · 07c6f96c
      Robert Bragg authored
      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: default avatarEmmanuele Bassi <ebassi@linux.intel.com>
      07c6f96c
  7. 22 Nov, 2011 2 commits
  8. 10 Nov, 2011 5 commits
    • Emmanuele Bassi's avatar
      build: Disable evdev input by default · 821ccef5
      Emmanuele Bassi authored
      It's an experimental input backend, so it should be enabled explicitly.
      821ccef5
    • Emmanuele Bassi's avatar
      build: Clean up the configuration summary · 7472c07c
      Emmanuele Bassi authored
      List the input backends, and remove the EGL backend options.
      7472c07c
    • Emmanuele Bassi's avatar
      Add a CEx100-specific backend · 89e26497
      Emmanuele Bassi authored
      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.
      89e26497
    • Emmanuele Bassi's avatar
      Add a 'null' input backend symbol · 1f8915d2
      Emmanuele Bassi authored
      We should have an input backend symbol that thoroughly disables all
      input event handling.
      1f8915d2
    • Emmanuele Bassi's avatar
      backend: Unify the event initialization · adb6ffbd
      Emmanuele Bassi authored
      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.
      adb6ffbd
  9. 03 Nov, 2011 12 commits
    • Emmanuele Bassi's avatar
      Remove CLUTTER_DISABLE_DEPRECATED from the build flags · 7ab84f98
      Emmanuele Bassi authored
      We don't use it any more.
      7ab84f98
    • Emmanuele Bassi's avatar
      build: Clean up the per-backend summary · 7a200143
      Emmanuele Bassi authored
      7a200143
    • Emmanuele Bassi's avatar
      build: Use AC_CACHE_SAVE · dc672b5c
      Emmanuele Bassi authored
      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.
      dc672b5c
    • Emmanuele Bassi's avatar
      build: Disable tslib by default · 9110fa1e
      Emmanuele Bassi authored
      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.
      9110fa1e
    • Emmanuele Bassi's avatar
      Clean up the windowing system defines · 8249e488
      Emmanuele Bassi authored
      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.
      8249e488
    • Emmanuele Bassi's avatar
      build: Implement proper platform checking · b07756e0
      Emmanuele Bassi authored
      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.
      b07756e0
    • Emmanuele Bassi's avatar
      egl: First attempt at cleaning up the EGL native backend · 405e72f2
      Emmanuele Bassi authored
      At least, let's make it compile when built along with the other
      backends. In reality, it still needs to be verified as working.
      405e72f2
    • Emmanuele Bassi's avatar
      build: Move EGL-related files under egl/ · 19508132
      Emmanuele Bassi authored
      Including the clutter-cex100.h.in header.
      19508132
    • Emmanuele Bassi's avatar
      0c919adf
    • Emmanuele Bassi's avatar
      Implement multi-backend support · a09bbffd
      Emmanuele Bassi authored
      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.
      a09bbffd
    • Giovanni Campagna's avatar
      Rework the interaction between the Cogl and GDK / X11 backends. · 9c102b7c
      Giovanni Campagna authored
      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
      9c102b7c
    • Giovanni Campagna's avatar
      Add a new GDK backend · 610a9c17
      Giovanni Campagna authored
      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
      610a9c17
  10. 02 Nov, 2011 1 commit
  11. 19 Oct, 2011 3 commits
  12. 14 Oct, 2011 2 commits