1. 01 Jan, 2015 2 commits
    • Emmanuele Bassi's avatar
      Remove global "actor id" · 1b9650da
      Emmanuele Bassi authored
      It's absolutely, positively pointless. Every surviving call has long
      since been deprecated, and should have not been public in the first
      place.
      1b9650da
    • Emmanuele Bassi's avatar
      actor: Do not restore the easing state in finalize() · eb51f6cf
      Emmanuele Bassi authored
      The easing state is part of the AnimationInfo structure, which is stored
      inside the GObject's datalist. Each instance frees the data stored there
      during finalization, so there is no point for us to restore an easing
      state (which may or may not be the last one) just to have everything
      cleared out once we chain up to GObject's own finalize() implementation.
      eb51f6cf
  2. 16 Dec, 2014 2 commits
    • Emmanuele Bassi's avatar
      actor: Update preferred size using constraints · 66d48bcc
      Emmanuele Bassi authored
      If an actor has any constraint that may affect its preferred size, then
      it should query them when computing its preferred size.
      66d48bcc
    • Emmanuele Bassi's avatar
      constraint: Add a private header · 82fffaed
      Emmanuele Bassi authored
      And move the only private ClutterConstraint method to it.
      
      This commit also sneaks in a change that makes sense for the debugging
      of the update_allocation() method, which checks if the allocation was
      effectively changed.
      82fffaed
  3. 15 Dec, 2014 1 commit
  4. 13 Dec, 2014 3 commits
  5. 26 Nov, 2014 1 commit
  6. 23 Oct, 2014 1 commit
    • Jasper St. Pierre's avatar
      actor: Create a PangoContext per actor · 46877cc2
      Jasper St. Pierre authored
      For a variety of complicated reasons, ClutterText currently sets fields
      on the PangoContext when creating a layout. This causes ClutterText to
      behave somewhat erratically in certain cases, since the PangoContext is
      currently shared between all actors.
      
      GTK+ creates a PangoContext for every single GtkWidget, so it seems like
      we should do the same here.
      
      Move the private code that was previously in clutter-main.c into
      clutter-actor.c and clean it up a bit. This gives every actor its own
      PangoContext it can mutilate whenever it wants, at its heart's content.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=739050
      46877cc2
  7. 17 Sep, 2014 1 commit
  8. 15 Sep, 2014 2 commits
  9. 21 Aug, 2014 1 commit
  10. 17 Mar, 2014 2 commits
  11. 10 Feb, 2014 1 commit
  12. 04 Dec, 2013 3 commits
  13. 26 Nov, 2013 2 commits
  14. 08 Oct, 2013 1 commit
  15. 19 Aug, 2013 3 commits
  16. 17 Jul, 2013 1 commit
  17. 10 Jul, 2013 1 commit
    • Emmanuele Bassi's avatar
      actor: Deprecate realize and unrealize · 6227f7a0
      Emmanuele Bassi authored
      There is no reasonable use case for having the functions, the virtual
      functions, and the signals for realization and unrealization; the
      concept belongs to an older era, when we though it would have been
      possible to migrate actors across different GL contexts, of in case a GL
      context would not have been available until the main loop started
      spinning. That is most definitely not possible today, and too much code
      would utterly break if we ever supported that.
      6227f7a0
  18. 03 Jul, 2013 2 commits
  19. 15 Jun, 2013 1 commit
    • Emmanuele Bassi's avatar
      actor: Remove the was_painted flag · 18f7a4aa
      Emmanuele Bassi authored
      While we still don't want to perform implicit transitions on unmapped
      actors, we can relax the requirement on having been painted once; the
      was_painted flag was introduced to avoid performing implicit transitions
      on the :allocation property, but for that we can use the
      needs_allocation flag instead, as needs_allocation will be set to FALSE
      when we have been painted as well.
      
      Thus, we retain our original goal of not having actors "flying" into
      position on their first allocation, without the side effect of
      preventing animations when emitting the ::show signal.
      18f7a4aa
  20. 12 Jun, 2013 3 commits
  21. 06 May, 2013 1 commit
    • Emmanuele Bassi's avatar
      actor: Improve conditions for skipping implicit transitions · 9424e995
      Emmanuele Bassi authored
      The "should this implicit transition be skipped" check should live into
      its own function, where we can actually explain what it does and which
      conditions should be respected.
      
      Instead of just blindly skipping actors that are unmapped, or haven't
      been painted yet, we should add a couple of escape hatches.
      
      First of all, we don't want :allocation to be implicitly animated until
      we have been painted (thus allocated) once; this avoids actors "flying
      in" into their allocation.
      
      We also want to allow implicit transitions on the opacity even if we
      haven't been painted yet; the internal optimization that we employ in
      clutter_actor_paint() and skips painting fully transparent actors is
      exactly that: an internal optimization. Caller code should not be aware
      of this change, and it should not influence code outside of ClutterActor
      itself.
      
      The rest of the conditions are the same: if the easing state's duration
      is zero, or if the actor is both unmapped and not in a cloned branch of
      the scene graph, then implicit transitions are pointless, as they won't
      be painted.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=698766
      9424e995
  22. 18 Mar, 2013 1 commit
  23. 13 Mar, 2013 4 commits
    • Emmanuele Bassi's avatar
      actor: Skip transitions on invisible actors · 8f032d59
      Emmanuele Bassi authored
      If an actor has not been painted yet, or it's not going to be painted,
      we can ignore transitions queued on it.
      
      By ignoring transitions on actors that have not been painted yet, we can
      avoid doing work during the set up phase of the scene graph, as well as
      avoiding actors "flying in" from nowhere.
      
      Obviously, we have to take into account potential clones, so we need to
      check that the actor is not part of a cloned branch of the scene graph,
      as well as checking if the actor has mapped clones.
      8f032d59
    • Emmanuele Bassi's avatar
      actor: Propagate the cloned state to the children · 20c09858
      Emmanuele Bassi authored
      If we clone a container, we still want redraws queued on the children to
      be propagated.
      20c09858
    • Emmanuele Bassi's avatar
      actor: Ignore redraws queued on unmapped actors · 0e0db890
      Emmanuele Bassi authored
      If an actor is unmapped then it won't be painted, so we can safely
      short-circuit out of _clutter_actor_queue_redraw_full() if the mapped
      flag is not set.
      
      We need, on the other hand, make an exception for Clones, otherwise
      they won't receive notification that the source actor has changed
      and they won't be painted.
      
      This allows us to ignore redraws queued on children of invisible
      parents, and avoid traversing the scene graph.
      0e0db890
    • Emmanuele Bassi's avatar
      actor: Keep track of clones · 028baa99
      Emmanuele Bassi authored
      Instead of using signal notifications, we should be able to keep track
      of the clones of an actor from within ClutterActor itself, using private
      API. There's no point in pretending that people can actually create a
      Clone class out of tree, given the amount of invariants we have to punch
      through in order to implement a proper replicator node of the scene
      graph, so we can just skip the signal emissions and just do the right
      thing at the right time.
      028baa99