From b3d26d33094df3ec16651998c83632f36b15d700 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Thu, 17 Feb 2022 14:04:39 -0500 Subject: [PATCH] GUI: code split, part 2 --- CMakeLists.txt | 5 +- src/gui/gui.cpp | 707 ------------------------------------------ src/gui/pattern.cpp | 733 ++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 737 insertions(+), 708 deletions(-) create mode 100644 src/gui/pattern.cpp diff --git a/CMakeLists.txt b/CMakeLists.txt index c9ed6046..401eb099 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -321,9 +321,12 @@ src/gui/font_unifont.cpp src/gui/font_icon.cpp src/gui/fonts.cpp src/gui/debug.cpp -src/gui/insEdit.cpp + src/gui/intConst.cpp src/gui/guiConst.cpp + +src/gui/insEdit.cpp +src/gui/pattern.cpp src/gui/gui.cpp ) diff --git a/src/gui/gui.cpp b/src/gui/gui.cpp index 31a0d17c..2f2c59ac 100644 --- a/src/gui/gui.cpp +++ b/src/gui/gui.cpp @@ -72,50 +72,8 @@ extern "C" { #endif #endif -const FurnaceGUIColors fxColors[16]={ - GUI_COLOR_PATTERN_EFFECT_MISC, // 00 - GUI_COLOR_PATTERN_EFFECT_PITCH, // 01 - GUI_COLOR_PATTERN_EFFECT_PITCH, // 02 - GUI_COLOR_PATTERN_EFFECT_PITCH, // 03 - GUI_COLOR_PATTERN_EFFECT_PITCH, // 04 - GUI_COLOR_PATTERN_EFFECT_VOLUME, // 05 - GUI_COLOR_PATTERN_EFFECT_VOLUME, // 06 - GUI_COLOR_PATTERN_EFFECT_VOLUME, // 07 - GUI_COLOR_PATTERN_EFFECT_PANNING, // 08 - GUI_COLOR_PATTERN_EFFECT_SPEED, // 09 - GUI_COLOR_PATTERN_EFFECT_VOLUME, // 0A - GUI_COLOR_PATTERN_EFFECT_SONG, // 0B - GUI_COLOR_PATTERN_EFFECT_TIME, // 0C - GUI_COLOR_PATTERN_EFFECT_SONG, // 0D - GUI_COLOR_PATTERN_EFFECT_INVALID, // 0E - GUI_COLOR_PATTERN_EFFECT_SPEED, // 0F -}; - -const FurnaceGUIColors extFxColors[16]={ - GUI_COLOR_PATTERN_EFFECT_MISC, // E0 - GUI_COLOR_PATTERN_EFFECT_PITCH, // E1 - GUI_COLOR_PATTERN_EFFECT_PITCH, // E2 - GUI_COLOR_PATTERN_EFFECT_MISC, // E3 - GUI_COLOR_PATTERN_EFFECT_MISC, // E4 - GUI_COLOR_PATTERN_EFFECT_PITCH, // E5 - GUI_COLOR_PATTERN_EFFECT_INVALID, // E6 - GUI_COLOR_PATTERN_EFFECT_INVALID, // E7 - GUI_COLOR_PATTERN_EFFECT_INVALID, // E8 - GUI_COLOR_PATTERN_EFFECT_INVALID, // E9 - GUI_COLOR_PATTERN_EFFECT_MISC, // EA - GUI_COLOR_PATTERN_EFFECT_MISC, // EB - GUI_COLOR_PATTERN_EFFECT_TIME, // EC - GUI_COLOR_PATTERN_EFFECT_TIME, // ED - GUI_COLOR_PATTERN_EFFECT_SONG, // EE - GUI_COLOR_PATTERN_EFFECT_SONG, // EF -}; - String getHomeDir(); -inline float randRange(float min, float max) { - return min+((float)rand()/(float)RAND_MAX)*(max-min); -} - bool Particle::update() { pos.x+=speed.x; pos.y+=speed.y; @@ -1679,671 +1637,6 @@ void FurnaceGUI::drawVolMeter() { ImGui::End(); } -// draw a pattern row -inline void FurnaceGUI::patternRow(int i, bool isPlaying, float lineHeight, int chans, int ord) { - static char id[32]; - bool selectedRow=(i>=sel1.y && i<=sel2.y); - ImGui::TableNextRow(0,lineHeight); - ImGui::TableNextColumn(); - float cursorPosY=ImGui::GetCursorPos().y-ImGui::GetScrollY(); - // check if the row is visible - if (cursorPosY<-lineHeight || cursorPosY>ImGui::GetWindowSize().y) { - return; - } - // check if we are in range - if (ord<0 || ord>=e->song.ordersLen) { - return; - } - if (i<0 || i>=e->song.patLen) { - return; - } - // check overflow highlight - if (settings.overflowHighlight) { - if (edit && cursor.y==i) { - ImGui::TableSetBgColor(ImGuiTableBgTarget_RowBg0,ImGui::GetColorU32(uiColors[GUI_COLOR_EDITING])); - } else if (isPlaying && oldRow==i) { - ImGui::TableSetBgColor(ImGuiTableBgTarget_RowBg0,0x40ffffff); - } else if (e->song.hilightB>0 && !(i%e->song.hilightB)) { - ImGui::TableSetBgColor(ImGuiTableBgTarget_RowBg0,ImGui::GetColorU32(uiColors[GUI_COLOR_PATTERN_HI_2])); - } else if (e->song.hilightA>0 && !(i%e->song.hilightA)) { - ImGui::TableSetBgColor(ImGuiTableBgTarget_RowBg0,ImGui::GetColorU32(uiColors[GUI_COLOR_PATTERN_HI_1])); - } - } - // row number - if (settings.patRowsBase==1) { - ImGui::TextColored(uiColors[GUI_COLOR_PATTERN_ROW_INDEX]," %.2X ",i); - } else { - ImGui::TextColored(uiColors[GUI_COLOR_PATTERN_ROW_INDEX],"%3d ",i); - } - // for each column - for (int j=0; j