GUI: and more mobile UI progress

This commit is contained in:
tildearrow 2022-09-08 23:20:33 -05:00
parent 2c18fe1051
commit 0fd72c53ef
4 changed files with 17 additions and 1 deletions

View File

@ -3349,6 +3349,8 @@ bool FurnaceGUI::loop() {
if (mobileUI) { if (mobileUI) {
globalWinFlags=ImGuiWindowFlags_NoTitleBar|ImGuiWindowFlags_NoMove|ImGuiWindowFlags_NoResize|ImGuiWindowFlags_NoBringToFrontOnFocus; globalWinFlags=ImGuiWindowFlags_NoTitleBar|ImGuiWindowFlags_NoMove|ImGuiWindowFlags_NoResize|ImGuiWindowFlags_NoBringToFrontOnFocus;
//globalWinFlags=ImGuiWindowFlags_NoTitleBar; //globalWinFlags=ImGuiWindowFlags_NoTitleBar;
// scene handling goes here!
pianoOpen=true;
drawMobileControls(); drawMobileControls();
drawPattern(); drawPattern();
drawPiano(); drawPiano();
@ -4882,6 +4884,7 @@ FurnaceGUI::FurnaceGUI():
curFileDialog(GUI_FILE_OPEN), curFileDialog(GUI_FILE_OPEN),
warnAction(GUI_WARN_OPEN), warnAction(GUI_WARN_OPEN),
postWarnAction(GUI_WARN_GENERIC), postWarnAction(GUI_WARN_GENERIC),
mobScene(GUI_SCENE_PATTERN),
fileDialog(NULL), fileDialog(NULL),
scrW(1280), scrW(1280),
scrH(800), scrH(800),

View File

@ -260,6 +260,14 @@ enum FurnaceGUIWindows {
GUI_WINDOW_SPOILER GUI_WINDOW_SPOILER
}; };
enum FurnaceGUIMobileScenes {
GUI_SCENE_PATTERN,
GUI_SCENE_ORDERS,
GUI_SCENE_INSTRUMENT,
GUI_SCENE_WAVETABLE,
GUI_SCENE_SAMPLE
};
enum FurnaceGUIFileDialogs { enum FurnaceGUIFileDialogs {
GUI_FILE_OPEN, GUI_FILE_OPEN,
GUI_FILE_SAVE, GUI_FILE_SAVE,
@ -1009,6 +1017,7 @@ class FurnaceGUI {
FurnaceGUIFileDialogs curFileDialog; FurnaceGUIFileDialogs curFileDialog;
FurnaceGUIWarnings warnAction; FurnaceGUIWarnings warnAction;
FurnaceGUIWarnings postWarnAction; FurnaceGUIWarnings postWarnAction;
FurnaceGUIMobileScenes mobScene;
FurnaceGUIFileDialog* fileDialog; FurnaceGUIFileDialog* fileDialog;

View File

@ -374,7 +374,7 @@ void FurnaceGUI::drawPattern() {
ImGui::PushStyleVar(ImGuiStyleVar_WindowPadding,ImVec2(0.0f,0.0f)); ImGui::PushStyleVar(ImGuiStyleVar_WindowPadding,ImVec2(0.0f,0.0f));
if (mobileUI) { if (mobileUI) {
patWindowPos=(portrait?ImVec2(0.0f,(mobileMenuPos*-0.65*scrH*dpiScale)):ImVec2((0.16*scrH*dpiScale)+0.5*scrW*dpiScale*mobileMenuPos,0.0f)); patWindowPos=(portrait?ImVec2(0.0f,(mobileMenuPos*-0.65*scrH*dpiScale)):ImVec2((0.16*scrH*dpiScale)+0.5*scrW*dpiScale*mobileMenuPos,0.0f));
patWindowSize=(portrait?ImVec2(scrW*dpiScale,scrH*dpiScale-(0.16*scrW*dpiScale)):ImVec2(scrW*dpiScale-(0.16*scrH*dpiScale),scrH*dpiScale)); patWindowSize=(portrait?ImVec2(scrW*dpiScale,scrH*dpiScale-(0.16*scrW*dpiScale)-(pianoOpen?(0.3*scrW*dpiScale):0.0f)):ImVec2(scrW*dpiScale-(0.16*scrH*dpiScale),scrH*dpiScale-(pianoOpen?(0.3*scrH*dpiScale):0.0f)));
ImGui::SetNextWindowPos(patWindowPos); ImGui::SetNextWindowPos(patWindowPos);
ImGui::SetNextWindowSize(patWindowSize); ImGui::SetNextWindowSize(patWindowSize);
} }

View File

@ -52,6 +52,10 @@ void FurnaceGUI::drawPiano() {
nextWindow=GUI_WINDOW_NOTHING; nextWindow=GUI_WINDOW_NOTHING;
} }
if (!pianoOpen) return; if (!pianoOpen) return;
if (mobileUI) {
ImGui::SetNextWindowPos(ImVec2(patWindowPos.x,patWindowPos.y+patWindowSize.y));
ImGui::SetNextWindowSize(portrait?ImVec2(scrW*dpiScale,0.5*scrW*dpiScale):ImVec2(scrW*dpiScale-(0.16*scrH*dpiScale),0.3*scrH*dpiScale));
}
if (ImGui::Begin("Piano",&pianoOpen,((pianoOptions)?0:ImGuiWindowFlags_NoTitleBar)|ImGuiWindowFlags_NoScrollbar|ImGuiWindowFlags_NoScrollWithMouse|globalWinFlags)) { if (ImGui::Begin("Piano",&pianoOpen,((pianoOptions)?0:ImGuiWindowFlags_NoTitleBar)|ImGuiWindowFlags_NoScrollbar|ImGuiWindowFlags_NoScrollWithMouse|globalWinFlags)) {
bool oldPianoKeyPressed[180]; bool oldPianoKeyPressed[180];
memcpy(oldPianoKeyPressed,pianoKeyPressed,180*sizeof(bool)); memcpy(oldPianoKeyPressed,pianoKeyPressed,180*sizeof(bool));