- 19 Jan, 2012 7 commits
-
-
Emmanuele Bassi authored
-
Emmanuele Bassi authored
Clutter requires a new version of Cogl's API, but we never bumped the requirement inside configure.ac.
-
Emmanuele Bassi authored
Instead of chaining up, given that we want to bypass chaining up and just set the allocation. This also allows us to bail out of the overridden allocate vfunc check, given that we want the default Actor behaviour to apply - including eventual layout manager delegates.
-
Emmanuele Bassi authored
-
Emmanuele Bassi authored
-
Emmanuele Bassi authored
-
Emmanuele Bassi authored
The usual way to implement a container actor is to override the allocate() virtual function, chain up, and then allocate the actor's children. Clutter now has the ability to delegate layout management to ClutterLayoutManager directly; in the allocation, this is done by checking whether the actor has children, and then call clutter_layout_manager_allocate() from within the default implementation of the ClutterActor::allocate() vfunc. The same vfunc that everyone, has been chaining up to. Whoopsie. Well, we can check if there's a layout manager, and if it's NULL, we bail out. Except that there's a default layout manager, and it's the fixed layout manager, so that classes like Group and Stage work by default. Double whoopsie. The fix for this scenario is a bit nasty; we have to check if the actor class has overridden the allocate() vfunc or not, before actually looking at the layout manager. This means that classes that override the allocate() vfunc are expected to do everything that ClutterActor's default implementation does - which I think it's a fair requirement to have. For newly written code, though, it would probably be best if we just provided a function that does the right thing by default, and that you're supposed to be calling from within the allocate() vfunc implementation, if you ever chose to override it. This new function, clutter_actor_set_allocation(), should come with a warning the size of Texas, to avoid people thinking it's a way to override the whole "call allocate() on each child" mechanism. Plus, it should check if we're inside an allocation sequence, and bail out if not.
-
- 18 Jan, 2012 2 commits
-
-
Emmanuele Bassi authored
Check the allocation, when one is being used to initialize the paint volume.
-
Daniel Mustieles García authored
-
- 17 Jan, 2012 25 commits
-
-
Emmanuele Bassi authored
Thanks to diegoe for the help with testing.
-
Piotr Drąg authored
-
Emmanuele Bassi authored
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
-
Emmanuele Bassi authored
Toolkits tracking first and last children of a ClutterActor can use these properties to get notification of hierarchy changes.
-
Emmanuele Bassi authored
If we want to set a default layout manager, we need to do so inside init(), as it's not guaranteed that people subclassing Actor and overriding ::constructed will actually chain up as they should.
-
Emmanuele Bassi authored
-
Emmanuele Bassi authored
-
Emmanuele Bassi authored
Use ClutterActor directly, instead.
-
Emmanuele Bassi authored
The default pick() behaviour does not take into consideration the children of a ClutterActor because the existing containter actors usually override pick(), chain up, and then paint their children. With ClutterActor now a concrete class, though, we need a way to pick its children without requiring a sub-class; we could simply iterate over the children inside the default pick() implementation, but this would lead to double painting, which is not acceptable. A moderately gross hack is to check if the Actor instance did override the pick() implementation, and if it is not the case, paint the children in pick mode.
-
Emmanuele Bassi authored
The hide_all() method is pretty much pointless, as hiding an actor will automatically prevent its children from being painted. The show_all() method would only be marginally useful, if actors weren't set to be visible by default when added to another actor - which was the case when we introduced show_all() and hide_all().
-
Daniel Mustieles García authored
-
Emmanuele Bassi authored
-
Emmanuele Bassi authored
-
Emmanuele Bassi authored
-
Emmanuele Bassi authored
Accessing a variable before it is being set is not a great plan.
-
Emmanuele Bassi authored
-
Emmanuele Bassi authored
-
Emmanuele Bassi authored
-
Emmanuele Bassi authored
-
Emmanuele Bassi authored
-
Stef Walter authored
* Abstracts the buffer for text in ClutterText * Allows implementation of undo/redo. * Allows use of non-pageable memory for text in the case of sensitive passwords. * Implement a test with two ClutterText using the same buffer. https://bugzilla.gnome.org/show_bug.cgi?id=652653
-
Daniel Mustieles García authored
-
Emmanuele Bassi authored
-
Fran Diéguez authored
-
Piotr Drąg authored
-
- 16 Jan, 2012 6 commits
-
-
Emmanuele Bassi authored
When dereferencing GArray.data to a C structure you need a double cast from guint8* to void*, and then from void* to the actual type. This avoids compiler warnings, especially when using clang on OSX.
-
Emmanuele Bassi authored
-
Emmanuele Bassi authored
The concept of "internal child" only meant anything when we had a separate API for containers and actors. Now that we plugged that particular hole, we can drop all the hacks we used to have in place to work around its design limitations.
-
Emmanuele Bassi authored
-
Emmanuele Bassi authored
It can be convenient to be able to set, or get, all the components of an actor's margin at the same time; since we already have a boxed type for storing a margin, an accessors pair based on it is not a complicated addition to the API.
-
Emmanuele Bassi authored
-