Home | Trees | Indices | Help |
|
---|
|
1 # Copyright (C) 2009, 2010, 2011 Rickard Lindberg, Roger Lindberg 2 # 3 # This file is part of Timeline. 4 # 5 # Timeline is free software: you can redistribute it and/or modify 6 # it under the terms of the GNU General Public License as published by 7 # the Free Software Foundation, either version 3 of the License, or 8 # (at your option) any later version. 9 # 10 # Timeline is distributed in the hope that it will be useful, 11 # but WITHOUT ANY WARRANTY; without even the implied warranty of 12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 # GNU General Public License for more details. 14 # 15 # You should have received a copy of the GNU General Public License 16 # along with Timeline. If not, see <http://www.gnu.org/licenses/>. 17 18 19 import time 20 21 from timelinelib.db.objects import TimePeriod 22 from timelinelib.db.objects import time_period_center 23 from timelinelib.drawing.viewproperties import ViewProperties 24 252792 9330 self.play_frame = play_frame 31 self.timeline = timeline 32 self.drawing_algorithm = drawing_algorithm 33 self.config = config3436 self.play_frame.close()3739 period_length = self.play_frame.get_view_period_length() 40 41 start_period = time_period_center( 42 self.timeline.get_time_type(), 43 self.timeline.get_first_event().time_period.start_time, 44 period_length) 45 46 all_events = self.timeline.get_all_events() 47 all_events.sort(key=lambda event: event.time_period.start_time) 48 all_events = all_events[1:] 49 50 self.animations = [] 51 for event in all_events: 52 period = time_period_center(self.timeline.get_time_type(), 53 event.time_period.start_time, 54 period_length) 55 self.animations.append((3, period)) 56 57 self.last_time = time.time() 58 59 self.current_animation = Animation( 60 self.timeline, 61 start_period, self.animations[0][0], self.animations[0][1]) 62 63 self.play_frame.start_timer(50)6466 new_time = time.time() 67 self.delta = new_time - self.last_time 68 self.last_time = new_time 69 print self.delta 70 self.play_frame.redraw_drawing_area(self.draw_fn)7173 view_properties = ViewProperties() 74 view_properties.set_displayed_period(self.get_period()) 75 self.drawing_algorithm.draw( 76 dc, self.timeline, view_properties, self.config)7779 self.current_animation.change_current_period(self.delta) 80 81 if self.current_animation.is_done(): 82 (speed, period) = self.animations.pop(0) 83 if len(self.animations) == 0: 84 self.play_frame.stop_timer() 85 return period 86 else: 87 self.current_animation = Animation( 88 self.timeline, 89 period, self.animations[0][0], self.animations[0][1]) 90 91 return self.current_animation.current_period9511797 self.timeline = timeline 98 self.start_period = start_period 99 self.duration_in_seconds = duration_in_seconds 100 self.end_period = end_period 101 self.current_period = start_period 102 self.total_animation_delta = TimePeriod(self.timeline.get_time_type(), 103 self.start_period.start_time, self.end_period.start_time).delta() 104 self.total_animation_time = 0.0105 108110 self.total_animation_time += delta 111 112 delta_to_move = self.timeline.get_time_type().mult_timedelta( 113 self.total_animation_delta, 114 min(1, self.total_animation_time/self.duration_in_seconds)) 115 116 self.current_period = self.start_period.move_delta(delta_to_move)
Home | Trees | Indices | Help |
|
---|
Generated by Epydoc 3.0.1 on Sat Aug 3 03:56:26 2013 | http://epydoc.sourceforge.net |