diff options
author | Daniel Francis <francis@sugarlabs.org> | 2012-07-21 22:55:09 (GMT) |
---|---|---|
committer | Daniel Francis <francis@sugarlabs.org> | 2012-07-21 22:55:09 (GMT) |
commit | 271c6f29b5a4a9008cf9dd87cd4b9bf6ce35b09e (patch) | |
tree | 778b251f653278838980d960f5d5f9b38a0f5beb /staff.py | |
parent | f2b318808a996705c22c65cd1f5ef29472dc679d (diff) |
Solving some showing bugs, creating class for beats
Diffstat (limited to 'staff.py')
-rw-r--r-- | staff.py | 27 |
1 files changed, 22 insertions, 5 deletions
@@ -18,6 +18,13 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, # MA 02110-1301, USA. +import logging +logger = logging.getLogger('staff') + + +class Beat: + clef = None + class Staff: y = 0 @@ -25,10 +32,11 @@ class Staff: rmarg = 0 spacing = 0 ymax = 0 - clef = None - def __init__(self): - pass + def __init__(self, beat): + self.beats = [] + self.beats.append(beat) + logger.debug(self.beats) def draw(self, window, width): context = window.cairo_create() @@ -42,5 +50,14 @@ class Staff: line_y += self.spacing self.ymax = line_y + self.spacing * 2 context.stroke() - self.clef.draw(window.cairo_create(), self.lmarg * 1.1, self.y, - self.spacing * 3, self.ymax - self.y - self.spacing) + context.clip() + self.draw_beats(window) + + def draw_beats(self, window): + for beat in self.beats: + if beat.clef != None: + beat.clef.draw(window.cairo_create(), + self.lmarg * 1.1, + self.y, + self.spacing * 3, + self.ymax - self.y - self.spacing) |