소스 검색

created class Screen

Fabian Peter Hammerle 10 년 전
부모
커밋
dcca8198b0
4개의 변경된 파일46개의 추가작업 그리고 23개의 파일을 삭제
  1. 1 13
      PlaybackScreen.cpp
  2. 4 10
      PlaybackScreen.h
  3. 18 0
      Screen.cpp
  4. 23 0
      Screen.h

+ 1 - 13
PlaybackScreen.cpp

@@ -3,9 +3,8 @@
 #include "colors.h"
 #include <iostream>
 
-
 PlaybackScreen::PlaybackScreen(Sequencer& seq)
-    : beatDisplayOffset(0), sequencer(seq)
+    : parent(seq), beatDisplayOffset(0)
 {
 }
 
@@ -148,14 +147,3 @@ void PlaybackScreen::refresh(unsigned char x, unsigned char y)
         }
     }
 }
-
-void PlaybackScreen::refreshAll()
-{
-    for(unsigned char x = 0; x < midi::Launchpad::width; x++) {
-        for(unsigned char y = 0; y < midi::Launchpad::height; y++) {
-            if(x != 8 || y != 8) {
-                refresh(x, y);
-            }
-        }
-    }
-}

+ 4 - 10
PlaybackScreen.h

@@ -1,13 +1,10 @@
 #pragma once
-#include "Sequencer.h"
+#include "Screen.h"
 #include "Player.h"
-#include "midi/LaunchpadScreen.h"
 
-class Sequencer;
-
-class PlaybackScreen : public midi::LaunchpadScreen
+class PlaybackScreen : public Screen
 {
-    typedef midi::LaunchpadScreen parent;
+    typedef Screen parent;
 
     Player::BeatIndex beatDisplayOffset;
 
@@ -15,8 +12,6 @@ public:
 
     midi::Launchpad::KeyCoordinate beatDisplayWidth = midi::Launchpad::width - 1;
 
-    Sequencer& sequencer;
-
     PlaybackScreen(Sequencer& seq);
     
     void enable();
@@ -29,8 +24,7 @@ protected:
 	virtual void keyPressed(unsigned char x, unsigned char y);
 	virtual void keyReleased(unsigned char x, unsigned char y);
 
-    void refresh(unsigned char x, unsigned char y);
-    void refreshAll();
+    virtual void refresh(unsigned char x, unsigned char y);
 
 };
 	

+ 18 - 0
Screen.cpp

@@ -0,0 +1,18 @@
+#include "Sequencer.h"
+#include "Screen.h"
+
+Screen::Screen(Sequencer& seq)
+    : sequencer(seq)
+{
+}
+
+void Screen::refreshAll()
+{
+    for(unsigned char x = 0; x < midi::Launchpad::width; x++) {
+        for(unsigned char y = 0; y < midi::Launchpad::height; y++) {
+            if(x != 8 || y != 8) {
+                refresh(x, y);
+            }
+        }
+    }
+}

+ 23 - 0
Screen.h

@@ -0,0 +1,23 @@
+#pragma once
+#include "Sequencer.h"
+#include "Player.h"
+#include "midi/LaunchpadScreen.h"
+
+class Sequencer;
+
+class Screen : public midi::LaunchpadScreen
+{
+    typedef midi::LaunchpadScreen parent;
+
+public:
+
+    Sequencer& sequencer;
+
+    Screen(Sequencer& seq);
+
+protected:
+
+    virtual void refresh(unsigned char x, unsigned char y) = 0;
+    void refreshAll();
+
+};