we got custom icons

This commit is contained in:
tildearrow 2023-08-14 20:02:10 -05:00
parent 1848484831
commit 6ae8f615d9
12 changed files with 123 additions and 279 deletions

View file

@ -27,6 +27,7 @@
#include "intConst.h"
#include "ImGuiFileDialog.h"
#include "IconsFontAwesome4.h"
#include "furIcons.h"
#include "misc/cpp/imgui_stdlib.h"
#include <fmt/printf.h>
#include <imgui.h>
@ -2312,6 +2313,19 @@ void FurnaceGUI::drawSettings() {
}
ImGui::EndDisabled();
ImGui::Text("Instrument list icon style:");
ImGui::Indent();
if (ImGui::RadioButton("None##iis0",settings.insIconsStyle==0)) {
settings.insIconsStyle=0;
}
if (ImGui::RadioButton("Graphical icons##iis1",settings.insIconsStyle==1)) {
settings.insIconsStyle=1;
}
if (ImGui::RadioButton("Letter icons##iis2",settings.insIconsStyle==2)) {
settings.insIconsStyle=2;
}
ImGui::Unindent();
bool insEditColorizeB=settings.insEditColorize;
if (ImGui::Checkbox("Colorize instrument editor using instrument type",&insEditColorizeB)) {
settings.insEditColorize=insEditColorizeB;
@ -3061,6 +3075,7 @@ void FurnaceGUI::syncSettings() {
settings.insTypeMenu=e->getConfInt("insTypeMenu",1);
settings.capitalMenuBar=e->getConfInt("capitalMenuBar",0);
settings.centerPopup=e->getConfInt("centerPopup",1);
settings.insIconsStyle=e->getConfInt("insIconsStyle",1);
clampSetting(settings.mainFontSize,2,96);
clampSetting(settings.headFontSize,2,96);
@ -3198,6 +3213,7 @@ void FurnaceGUI::syncSettings() {
clampSetting(settings.insTypeMenu,0,1);
clampSetting(settings.capitalMenuBar,0,1);
clampSetting(settings.centerPopup,0,1);
clampSetting(settings.insIconsStyle,0,1);
if (settings.exportLoops<0.0) settings.exportLoops=0.0;
if (settings.exportFadeOut<0.0) settings.exportFadeOut=0.0;
@ -3434,6 +3450,7 @@ void FurnaceGUI::commitSettings() {
e->setConf("insTypeMenu",settings.insTypeMenu);
e->setConf("capitalMenuBar",settings.capitalMenuBar);
e->setConf("centerPopup",settings.centerPopup);
e->setConf("insIconsStyle",settings.insIconsStyle);
// colors
for (int i=0; i<GUI_COLOR_MAX; i++) {
@ -4198,6 +4215,11 @@ void FurnaceGUI::applyUISettings(bool updateFonts) {
logE("could not load icon font!");
}
static const ImWchar fontRangeFurIcon[]={ICON_MIN_FUR,ICON_MAX_FUR,0};
if ((furIconFont=ImGui::GetIO().Fonts->AddFontFromMemoryCompressedTTF(furIcons_compressed_data,furIcons_compressed_size,MAX(1,e->getConfInt("iconSize",16)*dpiScale),&fc,fontRangeFurIcon))==NULL) {
logE("could not load Furnace icons font!");
}
if (settings.mainFontSize==settings.patFontSize && settings.patFont<5 && builtinFontM[settings.patFont]==builtinFont[settings.mainFont]) {
logD("using main font for pat font.");
patFont=mainFont;