summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--example/demo.rst17
-rw-r--r--presentty/rst.py1
-rw-r--r--presentty/transition.py10
3 files changed, 23 insertions, 5 deletions
diff --git a/example/demo.rst b/example/demo.rst
index bafd9ba..c105e7d 100644
--- a/example/demo.rst
+++ b/example/demo.rst
@@ -2,11 +2,11 @@
The following directives, when used at the top of the file, set default
values for all slides:
- This sets the transition style. Values are: 'dissolve', 'pan', or
- 'cut'. The optional argument of 'duration' sets the duration of
- the transition in seconds (0.4 seconds by default). The same
- syntax may be used within a slide to override the transition for
- that slide alone.
+ This sets the transition style. Values are: 'dissolve', 'pan',
+ 'tilt', or 'cut'. The optional argument of 'duration' sets the
+ duration of the transition in seconds (0.4 seconds by default).
+ The same syntax may be used within a slide to override thes
+ transition for that slide alone.
.. transition:: dissolve
:duration: 0.4
@@ -77,6 +77,13 @@ Pan Transition
...or "pan," where the slides appear horizontally adjacent and move
right to left...
+Tilt Transition
+===============
+.. transition:: tilt
+
+...or "tilt," where the slides appear vertically adjacent and move
+bottom to top...
+
Cut Transition
==============
.. transition:: cut
diff --git a/presentty/rst.py b/presentty/rst.py
index e96ff21..ab06f76 100644
--- a/presentty/rst.py
+++ b/presentty/rst.py
@@ -65,6 +65,7 @@ class UrwidTranslator(docutils.nodes.GenericNodeVisitor):
transition_map = {'dissolve': transition_mod.DissolveTransition,
'cut': transition_mod.CutTransition,
'pan': transition_mod.PanTransition,
+ 'tilt': transition_mod.TiltTransition,
}
def __init__(self, document, palette, hinter=None, basedir='.'):
diff --git a/presentty/transition.py b/presentty/transition.py
index c699ddb..5592cd9 100644
--- a/presentty/transition.py
+++ b/presentty/transition.py
@@ -46,6 +46,16 @@ class PanTransition(Transition):
c.pad_trim_left_right(0-offset, 0-(size[0]-offset))
return c
+class TiltTransition(Transition):
+ def render(self, size, focus=False):
+ old = self.old.render((size[0], size[1]))
+ new = self.new.render((size[0], size[1]))
+ c = urwid.CanvasCombine([(old, None, False),
+ (new, None, False)])
+ offset = int(size[1] * self.progress)
+ c.pad_trim_top_bottom(0-offset, 0-(size[1]-offset))
+ return c
+
class DissolveTransition(Transition):
def __init__(self, *args, **kw):
super(DissolveTransition, self).__init__(*args, **kw)