gcompris r3473 - branches/gcomprixogoo/src/anim-activity
- From: bcoudoin svn gnome org
- To: svn-commits-list gnome org
- Subject: gcompris r3473 - branches/gcomprixogoo/src/anim-activity
- Date: Mon, 14 Jul 2008 22:38:21 +0000 (UTC)
Author: bcoudoin
Date: Mon Jul 14 22:38:21 2008
New Revision: 3473
URL: http://svn.gnome.org/viewvc/gcompris?rev=3473&view=rev
Log:
better implementation of the drawing of lines.
Modified:
branches/gcomprixogoo/src/anim-activity/AnimItem.py
Modified: branches/gcomprixogoo/src/anim-activity/AnimItem.py
==============================================================================
--- branches/gcomprixogoo/src/anim-activity/AnimItem.py (original)
+++ branches/gcomprixogoo/src/anim-activity/AnimItem.py Mon Jul 14 22:38:21 2008
@@ -735,17 +735,37 @@
def set_bounds(self, p1, p2):
(x1, y1, x2, y2) = self.snap_point_to_grid(p1, p2)
- self.item.set_properties(points = goocanvas.Points([(x1 , y1), (x2 , y2)]))
- points = [(x1 , y1), (x2 , y2)]
- print points
+ points = self.item.get_property("points").coords
+ # Create the new line based on p1 (x1, y1), the reference point
+ if points[0][0] == x1 and points[0][1] == y1:
+ self.item.set_properties(points = goocanvas.Points([(x1 , y1), (x2 , y2)]))
+ elif points[1][0] == x1 and points[1][1] == y1:
+ self.item.set_properties(points = goocanvas.Points([(x1 , y1), (x2 , y2)]))
+ elif points[0][0] == x1 and points[1][1] == y1:
+ self.item.set_properties(points = goocanvas.Points([(x1 , y2), (x2 , y1)]))
+ elif points[1][0] == x1 and points[0][1] == y1:
+ self.item.set_properties(points = goocanvas.Points([(x1 , y2), (x2 , y1)]))
+
def get_x1y1(self):
points = self.item.get_property("points").coords
- return(points[0][0], points[0][1])
+ return(min(points[0][0], points[1][0]),
+ min(points[0][1], points[1][1]))
def get_x2y2(self):
points = self.item.get_property("points").coords
- return(points[1][0], points[1][1])
+ return(max(points[0][0], points[1][0]),
+ max(points[0][1], points[1][1]))
+
+ def get_x1y2(self):
+ points = self.item.get_property("points").coords
+ return(min(points[0][0], points[1][0]),
+ max(points[0][1], points[1][1]))
+
+ def get_x2y1(self):
+ points = self.item.get_property("points").coords
+ return(max(points[0][0], points[1][0]),
+ min(points[0][1], points[1][1]))
# Return the list of properties that have to be saved for
# this object
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]