1234567891011121314151617181920212223242526272829303132333435363738 |
- #pragma once
- #include "LaunchpadColor.h"
- #include "Launchpad.h"
- namespace midi {
- class LaunchpadScreen
- {
- public:
- typedef Launchpad::KeyCoordinate KeyCoordinate;
- private:
- LaunchpadColor colors[Launchpad::width][Launchpad::height];
- Launchpad* launchpad;
- bool active;
- public:
- LaunchpadScreen();
- virtual void enable();
- virtual void disable();
- bool enabled() const;
- void setLaunchpad(Launchpad& launchpad);
- protected:
- virtual void keyPressed(unsigned char x, unsigned char y);
- virtual void keyReleased(unsigned char x, unsigned char y);
- const LaunchpadColor& getColor(unsigned char x, unsigned char y) const;
- void setColor(unsigned char x, unsigned char y, const LaunchpadColor& color);
- void setColorAll(const LaunchpadColor& color);
- void sync();
- bool getKeyPressed(KeyCoordinate x, KeyCoordinate y);
- private:
- static void keyPressedCallback(unsigned char x, unsigned char y, void* screen);
- static void keyReleasedCallback(unsigned char x, unsigned char y, void* screen);
- };
- } // namespace
|