1. 31 Jan, 2011 31 commits
  2. 30 Jan, 2011 1 commit
  3. 28 Jan, 2011 8 commits
    • Emmanuele Bassi's avatar
      x11/stage: Use a global Window Stage relationship · 9be4cfe8
      Emmanuele Bassi authored
      Since we need to find the stage from the X11 Window, it's better to use
      a static hashmap that gets updated every time the ClutterStageX11:xwin
      member is changed, instead of iterating over every stage handled by the
      global ClutterStageManager singleton.
      9be4cfe8
    • Emmanuele Bassi's avatar
      win32: Small clean ups in the event code · f4508be4
      Emmanuele Bassi authored
      Use clutter_event_set_device() instead of setting the device field.
      
      Also, use G_N_ELEMENTS() to determine the size of the key symbols
      mapping array.
      f4508be4
    • Emmanuele Bassi's avatar
      Clean up crossing event synthesis code · 82d1e5a6
      Emmanuele Bassi authored
      Clutter should just require that the windowing system used by a backend
      adds a device to the stage when the device enters, and removes it from
      the stage when the device leaves; with this information, we can
      synthesize every crossing event and update the device state without
      other intervention from the backend-specific code.
      
      The generation of additional crossing events for actors that are
      covering the stage at the coordinates of the crossing event should be
      delegated to the event processing code.
      
      The x11 and win32 backends need to be modified to relay the enter and
      leave events from the windowing system.
      82d1e5a6
    • Emmanuele Bassi's avatar
      event: Add a setter for the device field · b3784bd2
      Emmanuele Bassi authored
      When synthesizing events coming from input devices it should be
      possible to just call a setter function, to avoid a huge switch
      on the type of the event.
      
      Clutter should also store the device pointer inside the private
      data, for faster access of the pointer in allocated events.
      
      Finally, the get_device_id() and get_device_type() accessors should
      just be wrappers around clutter_event_get_device(), to reduce the
      amount of code duplication.
      b3784bd2
    • Emmanuele Bassi's avatar
      x11/stage: Remove redundant line location · 3502f326
      Emmanuele Bassi authored
      The CLUTTER_NOTE() macro already adds the line location; adding another
      will just clutter up the log.
      3502f326
    • Emmanuele Bassi's avatar
      x11: Store a back pointer to the backend in the stage · acf51259
      Emmanuele Bassi authored
      Since we access it in order to get the X11 Display pointer, it makes
      sense to have the ClutterBackendX11 already available inside the
      ClutterStageX11 structure, and avoid the pattern:
      
        ClutterBackend *backend = clutter_get_default_backend ();
        ClutterBackendX11 *backend_x11 = CLUTTER_BACKEND_X11 (backend);
      
      which costs us a function call, a type cast and an unused variable.
      acf51259
    • Neil Roberts's avatar
      test-path: Fix the test when running against latest Cairo versions · 1d7e2233
      Neil Roberts authored
      Cairo has recently changed so that it no longer adds a final move-to
      command when the path ends with a close. This patch makes the test
      check the run-time version number of Cairo to avoid duplicating this
      behaviour when testing the conversion to and from a Cairo path.
      1d7e2233
    • Neil Roberts's avatar
      clutter-stage-x11: Don't ensure the viewport when the window moves · e7519a14
      Neil Roberts authored
      When we receive a ConfigureNotify event that doesn't affect the size
      of the window (only the position) then we were still calling
      clutter_stage_ensure_viewport which ends up queueing a full stage
      redraw. This patch makes it so that it only ensures the viewport when
      the size changes as it already did for avoiding queueing a relayout.
      
      It now also avoids setting the clipped redraws cool off period when
      the window only moves under the assumption that it's only necessary
      for size changes.
      e7519a14