24class LoadPatternUI final :
public LoadUI {
26 LoadPatternUI() =
default;
28 bool getGreyoutColsAndRows(uint32_t* cols, uint32_t* rows)
override;
29 bool opened()
override;
31 ActionResult buttonAction(deluge::hid::Button b,
bool on,
bool inCardRoutine)
override;
32 ActionResult padAction(int32_t x, int32_t y, int32_t velocity)
override;
33 void selectEncoderAction(int8_t offset)
override;
35 bool renderMainPads(uint32_t whichRows,
RGB image[][kDisplayWidth + kSideBarWidth] =
nullptr,
36 uint8_t occupancyMask[][kDisplayWidth + kSideBarWidth] =
nullptr,
bool drawUndefinedArea =
true,
37 int32_t navSys = -1) {
40 bool renderSidebar(uint32_t whichRows,
RGB image[][kDisplayWidth + kSideBarWidth],
41 uint8_t occupancyMask[][kDisplayWidth + kSideBarWidth])
override {
47 void setupLoadPatternUI(
bool overwriteOnLoad =
true,
bool noScaling =
false);
50 UIType getUIType()
override {
return UIType::LOAD_PATTERN; }
53 void folderContentsReady(int32_t entryDirection)
override;
54 void currentFileChanged(int32_t movementDirection)
override;
55 void enterKeyPress()
override;
58 bool selectedDrumOnly;
60 bool overwriteExisting;
62 std::string defaultDir;
63 Error setupForLoadingPattern();
64 Error currentLabelLoadError = Error::NONE;