Matthew Allum wrote:
> On Wed, 2008-02-13 at 17:33 +0000, Tomas Frydrych wrote:
>>> This sounds like a bug - will look into it. 
>> That is by design; 
> As I understand it;
> 
>  - get_size() should return the 'true' bounding box of its children by
> calling abs_size|get_vertices on each child. 

The problem with this is that it introduces inconsistency into the
get_size() API; for some actors it will return values that are
untransformed, and for some values that are semi-transformed. If nothing
else, it will be impossible to document easily, and the users will end
up doing tests for actor type to ensure they are getting what they want.

>  - We have a catch22 in that get_abs size will take into account the
> size of all parents, but this is fixed by having a
> get_abs_size_in_respect_to_a_specific_parent kind of addition (hopefully
> better naming).

Yes, we need a third size function, maybe call it

clutter_actor_get_size_relative_to_ancestor (ClutterActor *self,
ClutterActor *ancestor, ...)

but I do not think we should mix this with the existing abs_size() and
size() functions at all; let the abs_size() be always the size projected
on screen (and let us fix this, so it works for the groups), and let the
normal size () be untransformed (it might not be much use for groups,
but it will be consistent), and let's add a third function, maybe
specific for containers:

clutter_container_get_real_size (ClutterConainer *), which should take
into account *both* the transformation of the children, *and* those
applied to the container.

> If we do this, we should probably add a fast path to abs_size for
> untransformed actor case.

Yes.

Tomas

-- 
To unsubscribe send a mail to [EMAIL PROTECTED]

Reply via email to