96 virtual ActionResult padAction(int32_t x, int32_t y, int32_t velocity) {
return ActionResult::DEALT_WITH; }
97 virtual ActionResult buttonAction(deluge::hid::Button b,
bool on,
bool inCardRoutine) {
98 return ActionResult::NOT_DEALT_WITH;
100 virtual ActionResult horizontalEncoderAction(int32_t offset) {
return ActionResult::DEALT_WITH; }
101 virtual ActionResult verticalEncoderAction(int32_t offset,
bool inCardRoutine) {
return ActionResult::DEALT_WITH; }
102 virtual void selectEncoderAction(int8_t offset) {}
103 virtual void modEncoderAction(int32_t whichModEncoder, int32_t offset);
104 virtual void modButtonAction(uint8_t whichButton,
bool on);
105 virtual void modEncoderButtonAction(uint8_t whichModEncoder,
bool on);
107 virtual void graphicsRoutine();
108 virtual ActionResult timerCallback() {
return ActionResult::DEALT_WITH; }
110 virtual bool opened() {
115 virtual void focusRegained() {}
117 virtual void displayOrLanguageChanged() {}
118 virtual bool canSeeViewUnderneath() {
return false; }
128 virtual void scrollFinished() {}
129 virtual bool pcReceivedForMidiLearn(MIDICable& fromCable, int32_t channel, int32_t program) {
return false; }
131 virtual bool noteOnReceivedForMidiLearn(MIDICable& fromCable, int32_t channel, int32_t note, int32_t velocity) {
135 virtual bool getGreyoutColsAndRows(uint32_t* cols, uint32_t* rows) {
142 virtual bool renderMainPads(uint32_t whichRows = 0, RGB image[][kDisplayWidth + kSideBarWidth] =
nullptr,
143 uint8_t occupancyMask[][kDisplayWidth + kSideBarWidth] =
nullptr,
144 bool drawUndefinedArea =
true) {
147 virtual bool renderSidebar(uint32_t whichRows = 0, RGB image[][kDisplayWidth + kSideBarWidth] =
nullptr,
148 uint8_t occupancyMask[][kDisplayWidth + kSideBarWidth] =
nullptr) {
157 bool oledShowsUIUnderneath;
159 virtual UIType getUIType() = 0;
160#if ENABLE_MATRIX_DEBUG
161 const char* getUIName();