changeset 263:5da9139982c0

fix curvecalc esc key recentering
author drewp@bigasterisk.com
date Thu, 16 Jun 2005 22:32:29 +0000
parents 9bc5e908c361
children 0f112a7dd6b3
files light9/zoomcontrol.py
diffstat 1 files changed, 8 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/light9/zoomcontrol.py	Thu Jun 16 22:26:17 2005 +0000
+++ b/light9/zoomcontrol.py	Thu Jun 16 22:32:29 2005 +0000
@@ -21,8 +21,9 @@
         def fget(self): return self._start
         def fset(self,v):
             v = max(self.mintime,v)
-            if v < self._end:
-                self._start = v
+            # don't protect for start<end since zooming sometimes sets
+            # start temporarily after end
+            self._start = v
         return locals()
     start = property(**start())
 
@@ -30,8 +31,7 @@
         def fget(self): return self._end
         def fset(self,v):
             v = min(self.maxtime,v)
-            if v > self._start:
-                self._end = v
+            self._end = v
         return locals()
     end = property(**end())
         
@@ -91,12 +91,10 @@
 
     def see_time(self,t):
         vis_seconds = self.end - self.start
-        margin = vis_seconds * .9 # left side is nicest
-        if t < self.start:
-            self.offset -= (self.start - t) + margin
-        # t doesn't have to be ALL the way off-screen
-        if t > (self.end - vis_seconds * .3): 
-            self.offset += (t - self.end) + margin
+        margin = vis_seconds * .1
+        if t < self.start or t > (self.end - vis_seconds * .3):
+            self.offset = t - margin
+
         self.redrawzoom()
             
     def input_time(self,val):