Package Gnumed :: Package timelinelib :: Package canvas :: Package drawing :: Package drawers :: Module nowline
[frames] | no frames]

Source Code for Module Gnumed.timelinelib.canvas.drawing.drawers.nowline

 1  # Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018  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 -class NowLine:
20
21 - def __init__(self, drawer):
22 self._drawer = drawer 23 self._scene = drawer.scene 24 self._dc = drawer.dc 25 self._appearance = drawer.appearance
26
27 - def draw(self):
28 x = self._calculate_x_pos() 29 if self._now_line_is_visible(x): 30 self._draw_line(x)
31
32 - def _calculate_x_pos(self):
33 now_time = self._drawer.time_type.now() 34 return self._scene.x_pos_for_time(now_time)
35
36 - def _now_line_is_visible(self, x):
37 return x > 0 and x < self._scene.width
38
39 - def _draw_line(self, x):
40 self._dc.SetPen(self._drawer.now_pen) 41 self._dc.DrawLine(x, 0, x, self._scene.height) 42 if self._appearance.get_use_bold_nowline(): 43 self._dc.DrawLine(x + 1, 0, x + 1, self._scene.height) 44 self._dc.DrawLine(x - 1, 0, x - 1, self._scene.height)
45