[pitivi/ges: 170/287] utils: Move the Point class to utils/ui.py
- From: Jean-FranÃois Fortin Tam <jfft src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [pitivi/ges: 170/287] utils: Move the Point class to utils/ui.py
- Date: Thu, 15 Mar 2012 16:40:07 +0000 (UTC)
commit 7494904360be6a99aea6f88e5d8b4f052e1d7ed0
Author: Thibault Saunier <thibault saunier collabora com>
Date: Mon Jan 9 16:36:56 2012 -0300
utils: Move the Point class to utils/ui.py
pitivi/ui/Makefile.am | 1 -
pitivi/ui/controller.py | 2 +-
pitivi/ui/curve.py | 5 +--
pitivi/ui/point.py | 46 -------------------------------------------
pitivi/ui/timelinecanvas.py | 3 +-
pitivi/ui/trackobject.py | 2 +-
pitivi/utils/ui.py | 46 +++++++++++++++++++++++++++++++++++++++++++
7 files changed, 51 insertions(+), 54 deletions(-)
---
diff --git a/pitivi/ui/Makefile.am b/pitivi/ui/Makefile.am
index 285b438..003265d 100644
--- a/pitivi/ui/Makefile.am
+++ b/pitivi/ui/Makefile.am
@@ -13,7 +13,6 @@ ui_PYTHON = \
gstwidget.py \
mainwindow.py \
pathwalker.py \
- point.py \
prefs.py \
preset.py \
previewer.py \
diff --git a/pitivi/ui/controller.py b/pitivi/ui/controller.py
index d1a611b..b3f4c59 100644
--- a/pitivi/ui/controller.py
+++ b/pitivi/ui/controller.py
@@ -21,7 +21,7 @@
import gtk.gdk
-from pitivi.ui.point import Point
+from pitivi.utils.ui import Point
from pitivi.utils.loggable import Loggable
from pitivi.utils.receiver import receiver, handler
diff --git a/pitivi/ui/curve.py b/pitivi/ui/curve.py
index 3499c1a..7fa4549 100644
--- a/pitivi/ui/curve.py
+++ b/pitivi/ui/curve.py
@@ -31,8 +31,7 @@ from pitivi.ui.zoominterface import Zoomable
import pitivi.ui.previewer as previewer
from pitivi.ui.view import View
from pitivi.ui.controller import Controller
-from pitivi.utils.ui import LAYER_HEIGHT_EXPANDED, roundedrec
-import pitivi.ui.point as point
+from pitivi.utils.ui import LAYER_HEIGHT_EXPANDED, roundedrec, Point
from pitivi.utils.misc import between
@@ -211,7 +210,7 @@ class Curve(goocanvas.ItemSimple, goocanvas.Item, View, Zoomable):
x = self.nsToPixel(kf.time - self.element.in_point)
y = KW_LABEL_Y_OVERFLOW + self._range - (((kf.value -
interp.lower) / interp.range) * self._range)
- return point.Point(x + self.bounds.x1, y + self.bounds.y1 + self._min)
+ return Point(x + self.bounds.x1, y + self.bounds.y1 + self._min)
def _controlPoint(self, cr, kf):
pos = self._getKeyframeXY(kf)
diff --git a/pitivi/ui/timelinecanvas.py b/pitivi/ui/timelinecanvas.py
index 9bef484..3242945 100644
--- a/pitivi/ui/timelinecanvas.py
+++ b/pitivi/ui/timelinecanvas.py
@@ -27,12 +27,11 @@ from pitivi.utils.loggable import Loggable
from pitivi.utils.receiver import receiver, handler
from pitivi.ui.track import Track
from pitivi.ui.trackobject import TrackObject
-from pitivi.ui.point import Point
from pitivi.ui.zoominterface import Zoomable
from pitivi.settings import GlobalSettings
from pitivi.ui.prefs import PreferencesDialog
from pitivi.utils.ui import TRACK_SPACING, unpack_cairo_pattern, \
- LAYER_HEIGHT_EXPANDED, LAYER_SPACING
+ LAYER_HEIGHT_EXPANDED, LAYER_SPACING, Point
from pitivi.ui.controller import Controller
from pitivi.ui.curve import KW_LABEL_Y_OVERFLOW
from pitivi.utils.ui import SPACING
diff --git a/pitivi/ui/trackobject.py b/pitivi/ui/trackobject.py
index 416c320..a57b761 100644
--- a/pitivi/ui/trackobject.py
+++ b/pitivi/ui/trackobject.py
@@ -13,7 +13,7 @@ from zoominterface import Zoomable
from pitivi.utils.ui import LAYER_SPACING, unpack_cairo_pattern, \
unpack_cairo_gradient, LAYER_HEIGHT_EXPANDED, LAYER_HEIGHT_COLLAPSED
-from pitivi.ui.point import Point
+from pitivi.utils.ui import Point
from pitivi.utils.loggable import Loggable
from pitivi.settings import GlobalSettings
from pitivi.utils.receiver import receiver, handler
diff --git a/pitivi/utils/ui.py b/pitivi/utils/ui.py
index c4c5fa3..0131ed6 100644
--- a/pitivi/utils/ui.py
+++ b/pitivi/utils/ui.py
@@ -294,3 +294,49 @@ audio_channels = model((str, int), (
(_("4 Channels (4.0)"), 4),
(_("Stereo"), 2),
(_("Mono"), 1)))
+
+
+# ---------------------- Classes ---------------------------------------------#
+class Point(tuple):
+
+ def __new__(cls, x, y):
+ return tuple.__new__(cls, (x, y))
+
+ def __pow__(self, scalar):
+ """Returns the scalar multiple self, scalar"""
+ return Point(self[0] * scalar, self[1] * scalar)
+
+ def __rpow__(self, scalar):
+ """Returns the scalar multiple of self, scalar"""
+ return self ** scalar
+
+ def __mul__(self, p2):
+ return Point(*(a * b for a, b in izip(self, p2)))
+
+ def __div__(self, other):
+ return Point(*(a / b for a, b in izip(self, p2)))
+
+ def __floordiv__(self, scalar):
+ """Returns the scalar division of self and scalar"""
+ return Point(self[0] / scalar, self[1] / scalar)
+
+ def __add__(self, p2):
+ """Returns the 2d vector sum self + p2"""
+ return Point(*(a + b for a, b in izip(self, p2)))
+
+ def __sub__(self, p2):
+ """Returns the 2-dvector difference self - p2"""
+ return Point(*(a - b for a, b in izip(self, p2)))
+
+ def __abs__(self):
+ return Point(*(abs(a) for a in self))
+
+ @classmethod
+ def from_item_bounds(self, item):
+ bounds = item.get_bounds()
+ return Point(bounds.x1, bounds.y1), Point(bounds.x2, bounds.y2)
+
+ @classmethod
+ def from_widget_bounds(self, widget):
+ x1, y1, x2, y2 = widget.get_bounds()
+ return Point(x1, y1), Point(x2, y2)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]