Pas la peine de faire un draw dans le constructeur.
[minwii.git] / src / minwii / widgets / column.py
index 6577296..b113529 100755 (executable)
@@ -6,28 +6,28 @@ $Id$
 $URL$
 """
 import pygame
-import gradients
 from math import floor
-from globals import BACKGROUND_LAYER
-from globals import FOREGROUND_LAYER
-from globals import hls_to_rgba_8bits
-from config import OFF_LUMINANCE
-from config import OFF_SATURATION
-from config import ON_TOP_LUMINANCE
-from config import ON_BOTTOM_LUMINANCE
-from config import ON_SATURATION
-from config import ON_COLUMN_OVERSIZING
-from config import ON_COLUMN_ALPHA
-from config import LYRICS_FONT, NOTES_FONT
-from config import FONT_COLOR
-import events
+import minwii.gradients as gradients
+from minwii.globals import BACKGROUND_LAYER
+from minwii.globals import FOREGROUND_LAYER
+from minwii.globals import hls_to_rgba_8bits
+from minwii.config import OFF_LUMINANCE
+from minwii.config import OFF_SATURATION
+from minwii.config import ON_TOP_LUMINANCE
+from minwii.config import ON_BOTTOM_LUMINANCE
+from minwii.config import ON_SATURATION
+from minwii.config import ON_COLUMN_OVERSIZING
+from minwii.config import ON_COLUMN_ALPHA
+from minwii.config import LYRICS_FONT, NOTES_FONT
+from minwii.config import FONT_COLOR
+import minwii.events as events
 
 
 class Column(pygame.sprite.DirtySprite) :
     ''' colonne utilisée pour l'affichage d'une touche du clavier de jeu.
     '''
     
-    def __init__(self, group, index, hue, rect, tone) :
+    def __init__(self, group, index, hue, rect, tone, displayNote=True) :
         pygame.sprite.DirtySprite.__init__(self, group)
         self.index = index
         self.state = False
@@ -43,7 +43,8 @@ class Column(pygame.sprite.DirtySprite) :
         w, h = rect.w, rect.h
         tw, th, = toneName.get_size()
         toneRect = pygame.Rect(((w - tw) / 2, h - th), (tw, th))
-        sur.blit(toneName, toneRect)
+        if displayNote :
+            sur.blit(toneName, toneRect)
         self.surOff = sur
         self.rectOff = rect
         
@@ -58,7 +59,8 @@ class Column(pygame.sprite.DirtySprite) :
         self.surOn = gradients.vertical(rectOn.size, topRgba, bottomRgba)
         w, h = rectOn.w, rectOn.h
         toneRect = pygame.Rect(((w - tw) / 2, h - th), (tw, th))
-        self.surOn.blit(toneName, toneRect)
+        if displayNote :
+            self.surOn.blit(toneName, toneRect)
         self.rectOn = rectOn
         
         self.image = self.surOff
@@ -72,9 +74,9 @@ class Column(pygame.sprite.DirtySprite) :
         if state :
             group.change_layer(self, FOREGROUND_LAYER)
             sur = self.surOn
+            rect = self.rectOn
             if syllabus :
                 sur = sur.copy()
-                rect = self.rectOn
                 renderedSyl = LYRICS_FONT.render(syllabus, True, FONT_COLOR)
                 sw, sh, = renderedSyl.get_size()
                 w, h = self.rectOn.w, self.rectOn.h