User:Walter/favoriteslayout.py: Difference between revisions
New page: <pre> # Copyright (C) 2008 One Laptop Per Child # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published... |
No edit summary |
||
| Line 218: | Line 218: | ||
def _calculate_position(self, radius, icon_size, index, children_count): | def _calculate_position(self, radius, icon_size, index, children_count): | ||
width, height = self.box.get_allocation() | width, height = self.box.get_allocation() | ||
# angle decreases as the radius increases | |||
inc = 12.0 + index / 6.0 | |||
angle = index * ( | angle = index * (2 * math.pi / inc) - math.pi / 2 | ||
x = | # radius is proportional to index/children_count | ||
y = | myminimum = _MINIMUM_RADIUS * .667 | ||
newradius = ((radius - myminimum) * (index * 1.1) / children_count) | |||
+ myminimum | |||
x = newradius * math.cos(angle) + (width - icon_size) / 2 | |||
y = newradius * math.sin(angle) + (height - icon_size - | |||
style.GRID_CELL_SIZE) / 2 | style.GRID_CELL_SIZE) / 2 | ||
return x, y | return x, y | ||