From 2bead3abebd3af68b0b09a08c70849be0cb841d7 Mon Sep 17 00:00:00 2001 From: redtide Date: Sun, 9 Apr 2023 11:24:49 +0200 Subject: [PATCH] Removed the text labeled button for displaying the About dialog It was added because the logo button didn't react visually to mouse events. Now when you hover over the logo, it gets highlighted and also shows a tooltip like the other glyph buttons. --- plugins/editor/CMakeLists.txt | 2 + plugins/editor/layout/main.fl | 6 - .../resources/background_button_about.png | Bin 0 -> 6933 bytes .../resources/background_button_about@2x.png | Bin 0 -> 16768 bytes plugins/editor/resources/logo_shaded.svg | 246 ++++++++++++++++++ plugins/editor/src/editor/Editor.cpp | 13 +- plugins/editor/src/editor/GUIComponents.cpp | 27 ++ plugins/editor/src/editor/GUIComponents.h | 23 ++ plugins/editor/src/editor/layout/main.hpp | 27 +- 9 files changed, 319 insertions(+), 25 deletions(-) create mode 100644 plugins/editor/resources/background_button_about.png create mode 100644 plugins/editor/resources/background_button_about@2x.png create mode 100644 plugins/editor/resources/logo_shaded.svg diff --git a/plugins/editor/CMakeLists.txt b/plugins/editor/CMakeLists.txt index 7b5e32bd..12f6bcc0 100644 --- a/plugins/editor/CMakeLists.txt +++ b/plugins/editor/CMakeLists.txt @@ -19,6 +19,8 @@ set(EDITOR_RESOURCES logo_text_shaded@2x.png background.png background@2x.png + background_button_about.png + background_button_about@2x.png icon_white.png icon_white@2x.png knob48.png diff --git a/plugins/editor/layout/main.fl b/plugins/editor/layout/main.fl index bc4eeaf0..492817f9 100644 --- a/plugins/editor/layout/main.fl +++ b/plugins/editor/layout/main.fl @@ -430,12 +430,6 @@ widget_class mainView {open xywh {695 310 60 25} labelsize 12 class TextEdit } - Fl_Button settingsAboutButton_ { - label {About sfizz} - comment {tag=kTagAbout} - xywh {610 205 115 25} labelsize 12 - class ValueButton - } Fl_Box {} { label {... when freewheeling} xywh {290 220 145 25} labelsize 12 align 20 diff --git a/plugins/editor/resources/background_button_about.png b/plugins/editor/resources/background_button_about.png new file mode 100644 index 0000000000000000000000000000000000000000..d6e4c19bab6b9b8e1523865bb66eded566168256 GIT binary patch literal 6933 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 literal 0 HcmV?d00001 diff --git a/plugins/editor/resources/background_button_about@2x.png b/plugins/editor/resources/background_button_about@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..7ae71e8ff7233f56e7d6fa86b5acdc55438edb77 GIT binary patch literal 16768 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 literal 0 HcmV?d00001 diff --git a/plugins/editor/resources/logo_shaded.svg b/plugins/editor/resources/logo_shaded.svg new file mode 100644 index 00000000..5e21ed04 --- /dev/null +++ b/plugins/editor/resources/logo_shaded.svg @@ -0,0 +1,246 @@ + + + sfizz logo + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + sfizz logo + 2020-05-16 + + + Tobiasz 'unfa' KaroĊ„ + + + + + CC-0 + + + + + + + + + + + + + + + diff --git a/plugins/editor/src/editor/Editor.cpp b/plugins/editor/src/editor/Editor.cpp index 38a6e5c7..f20c6bbd 100644 --- a/plugins/editor/src/editor/Editor.cpp +++ b/plugins/editor/src/editor/Editor.cpp @@ -127,7 +127,6 @@ struct Editor::Impl : EditorController::Receiver, CTextLabel* scalaRootKeyLabel_ = nullptr; SValueMenu* tuningFrequencyDropdown_ = nullptr; CTextEdit* tuningFrequencyEdit_ = nullptr; - STextButton *settingsAboutButton_ = nullptr; CTextLabel* tuningFrequencyLabel_ = nullptr; CControl *stretchedTuningSlider_ = nullptr; CTextLabel* stretchedTuningLabel_ = nullptr; @@ -701,9 +700,11 @@ void Editor::Impl::createFrameContents() CViewContainer* mainView; Theme* theme; - SharedPointer iconShaded = owned(new CBitmap("logo_text_shaded.png")); + SharedPointer backgroundAbout = owned(new CBitmap("background_button_about.png")); SharedPointer background = owned(new CBitmap("background.png")); SharedPointer knob48 = owned(new CBitmap("knob48.png")); + + // TODO: is this used somewhere? SharedPointer logoText = owned(new CBitmap("logo_text.png")); defaultBackgroundBitmap_ = background; @@ -749,8 +750,12 @@ void Editor::Impl::createFrameContents() return box; }; #endif - auto createAboutButton = [this, &iconShaded](const CRect& bounds, int tag, const char*, CHoriTxtAlign, int) { - return new CKickButton(bounds, this, tag, 0.0f, iconShaded); + auto createAboutButton = [this, &backgroundAbout]( + const CRect& bounds, int tag, const char*, CHoriTxtAlign, int) { + SHoverButton* btn = new SHoverButton(bounds, this, tag, backgroundAbout); + btn->OnHoverEnter = [this, btn]() { buttonHoverEnter(btn, "About sfizz..."); }; + btn->OnHoverLeave = [this, btn]() { buttonHoverLeave(btn); }; + return btn; }; auto createLabel = [this, &palette](const CRect& bounds, int, const char* label, CHoriTxtAlign align, int fontsize) { CTextLabel* lbl = new CTextLabel(bounds, label); diff --git a/plugins/editor/src/editor/GUIComponents.cpp b/plugins/editor/src/editor/GUIComponents.cpp index 752e6b7e..3751df81 100644 --- a/plugins/editor/src/editor/GUIComponents.cpp +++ b/plugins/editor/src/editor/GUIComponents.cpp @@ -415,6 +415,33 @@ void SActionMenu::onItemClicked(int32_t index) listener->valueChanged(this); } +/// +CMouseEventResult SHoverButton::onMouseEntered(CPoint& where, const CButtonState& buttons) { + hovered_ = true; + if (OnHoverEnter) + OnHoverEnter(); + invalid(); + return CKickButton::onMouseEntered(where, buttons); +} + +CMouseEventResult SHoverButton::onMouseExited(CPoint& where, const CButtonState& buttons) { + hovered_ = false; + if (OnHoverLeave) + OnHoverLeave(); + invalid(); + return CKickButton::onMouseExited(where, buttons); +} + +void SHoverButton::draw(CDrawContext* dc) { + CPoint where(offset.x, offset.y); + bounceValue(); + if (hovered_) + where.y += heightOfOneImage; + if (getDrawBackground()) + getDrawBackground()->draw(dc, getViewSize(), where); + setDirty(false); +} + /// void STextButton::setHighlightColor(const CColor& color) { diff --git a/plugins/editor/src/editor/GUIComponents.h b/plugins/editor/src/editor/GUIComponents.h index c8cbd162..9cbca704 100644 --- a/plugins/editor/src/editor/GUIComponents.h +++ b/plugins/editor/src/editor/GUIComponents.h @@ -182,6 +182,29 @@ private: }; }; +/// +class SHoverButton : public CKickButton { +public: + SHoverButton( + const CRect& size, + IControlListener* listener, + int32_t tag, + CBitmap* background, + const CPoint& offset = CPoint (0, 0)) + : CKickButton(size, listener, tag, background, offset) + {} + + CMouseEventResult onMouseEntered(CPoint&, const CButtonState&) override; + CMouseEventResult onMouseExited(CPoint&, const CButtonState&) override; + void draw(CDrawContext*) override; + + std::function OnHoverEnter; + std::function OnHoverLeave; + +private: + bool hovered_ { false }; +}; + /// class STextButton: public CTextButton { public: diff --git a/plugins/editor/src/editor/layout/main.hpp b/plugins/editor/src/editor/layout/main.hpp index 09229775..19a2ef8e 100644 --- a/plugins/editor/src/editor/layout/main.hpp +++ b/plugins/editor/src/editor/layout/main.hpp @@ -223,24 +223,21 @@ view__49->addView(view__85); auto* const view__86 = createTextEdit(CRect(690, 200, 750, 225), kTagSetTuningFrequency, "", kCenterText, 12); tuningFrequencyEdit_ = view__86; view__49->addView(view__86); -auto* const view__87 = createValueButton(CRect(605, 95, 720, 120), kTagAbout, "About sfizz", kCenterText, 12); -settingsAboutButton_ = view__87; +auto* const view__87 = createLabel(CRect(285, 110, 430, 135), -1, "... when freewheeling", kLeftText, 12); view__49->addView(view__87); -auto* const view__88 = createLabel(CRect(285, 110, 430, 135), -1, "... when freewheeling", kLeftText, 12); +auto* const view__88 = createValueMenu(CRect(430, 110, 510, 135), kTagSetFreewheelingOscillatorQuality, "", kCenterText, 12); +freewheelingOscillatorQualitySlider_ = view__88; view__49->addView(view__88); -auto* const view__89 = createValueMenu(CRect(430, 110, 510, 135), kTagSetFreewheelingOscillatorQuality, "", kCenterText, 12); -freewheelingOscillatorQualitySlider_ = view__89; -view__49->addView(view__89); -auto* const view__90 = createPiano(CRect(5, 400, 795, 470), -1, "", kCenterText, 12); -piano_ = view__90; +auto* const view__89 = createPiano(CRect(5, 400, 795, 470), -1, "", kCenterText, 12); +piano_ = view__89; +view__0->addView(view__89); +auto* const view__90 = createLogicalGroup(CRect(5, 110, 795, 395), -1, "", kCenterText, 14); +subPanels_[kPanelGeneral] = view__90; view__0->addView(view__90); -auto* const view__91 = createLogicalGroup(CRect(5, 110, 795, 395), -1, "", kCenterText, 14); -subPanels_[kPanelGeneral] = view__91; +view__90->setVisible(false); +enterPalette(invertedPalette); +auto* const view__91 = createHoverBox(CRect(5, 105, 175, 130), -1, "", kCenterText, 12); +lblHover_ = view__91; view__0->addView(view__91); view__91->setVisible(false); -enterPalette(invertedPalette); -auto* const view__92 = createHoverBox(CRect(5, 105, 175, 130), -1, "", kCenterText, 12); -lblHover_ = view__92; -view__0->addView(view__92); -view__92->setVisible(false); enterPalette(defaultPalette);