[sugar] [PATCH] Try harder to resolve collisions in the mesh view.

Tomeu Vizoso tomeu at tomeuvizoso.net
Mon Jun 16 12:08:33 EDT 2008


On Mon, Jun 16, 2008 at 5:58 PM, Marco Pesenti Gritti
<mpgritti at gmail.com> wrote:
> On Mon, Jun 16, 2008 at 3:27 PM, Tomeu Vizoso <tomeu at tomeuvizoso.net> wrote:
>> Hi,
>>
>> this implements some missing pieces from the layout algorithm
>> specified by Eben. Icons don't move smoothly towards their new
>> position, though.
>
> +        if rect.x + rect.width < self.width - 1 and \
> +                rect.y + rect.height < self.height - 1:
> +            new_rects.append(gtk.gdk.Rectangle(rect.x + 1, rect.y + 1,
> +                                               rect.width, rect.height))
>
> A comment that you are handling diagonals would probably be useful.

Ok.

>         if best_rect:
> -            self._move_child(child, best_rect)
> +            child.grid_rect = best_rect
> +            weight = self._shift_child(child, weight)
>
> I'm not to understand this recursion. Is it supposed to keep shifting
> until it finds the best possible place?

It will shift until it stops improving, this was the bigger difference
with Eben's demo.

Thanks,

Tomeu


More information about the Sugar mailing list