2021-04-27 07:46:19 +00:00
|
|
|
/*
|
|
|
|
==============================================================================
|
|
|
|
|
|
|
|
This is an automatically generated GUI class created by the Projucer!
|
|
|
|
|
|
|
|
Be careful when adding custom code to these files, as only the code within
|
|
|
|
the "//[xyz]" and "//[/xyz]" sections will be retained when the file is loaded
|
|
|
|
and re-saved.
|
|
|
|
|
|
|
|
Created with Projucer version: 6.0.8
|
|
|
|
|
|
|
|
------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
The Projucer is part of the JUCE library.
|
|
|
|
Copyright (c) 2020 - Raw Material Software Limited.
|
|
|
|
|
|
|
|
==============================================================================
|
|
|
|
*/
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
//[Headers] -- You can add your own extra header files here --
|
|
|
|
#include <JuceHeader.h>
|
|
|
|
class ObxdAudioProcessorEditor;
|
2021-09-03 15:42:28 +00:00
|
|
|
class CustomLabel: public juce::Label {
|
|
|
|
public:
|
|
|
|
CustomLabel (const String& componentName = String(),
|
|
|
|
const String& labelText = String()): juce::Label(componentName, labelText) {
|
|
|
|
|
|
|
|
}
|
|
|
|
std::function<void(juce::Point<int> pos)> leftClicked;
|
2021-09-04 20:16:50 +00:00
|
|
|
void mouseDown (const juce::MouseEvent& event) override {
|
2021-09-03 15:42:28 +00:00
|
|
|
if (this->getBounds().contains(event.getMouseDownPosition()) && event.mods.isLeftButtonDown()){
|
2021-09-04 20:16:50 +00:00
|
|
|
leftClicked(event.getScreenPosition());
|
2021-09-03 15:42:28 +00:00
|
|
|
}
|
|
|
|
};
|
|
|
|
};
|
2021-04-27 07:46:19 +00:00
|
|
|
//[/Headers]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//==============================================================================
|
|
|
|
/**
|
|
|
|
//[Comments]
|
|
|
|
An auto-generated component, created by the Projucer.
|
|
|
|
|
|
|
|
Describe your class and how it works here!
|
|
|
|
//[/Comments]
|
|
|
|
*/
|
|
|
|
class PresetBar : public juce::Component,
|
|
|
|
public Timer,
|
|
|
|
public juce::Button::Listener
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
//==============================================================================
|
|
|
|
PresetBar (ObxdAudioProcessorEditor &gui);
|
|
|
|
~PresetBar() override;
|
|
|
|
|
|
|
|
//==============================================================================
|
|
|
|
//[UserMethods] -- You can add your own custom methods in this section.
|
|
|
|
void timerCallback() override;
|
|
|
|
void update();
|
2021-09-03 15:42:28 +00:00
|
|
|
|
|
|
|
|
|
|
|
std::function<void(juce::Point<int> &pos)> leftClicked;
|
2021-04-27 07:46:19 +00:00
|
|
|
//[/UserMethods]
|
|
|
|
|
|
|
|
void paint (juce::Graphics& g) override;
|
|
|
|
void resized() override;
|
|
|
|
void buttonClicked (juce::Button* buttonThatWasClicked) override;
|
|
|
|
|
|
|
|
// Binary resources:
|
|
|
|
static const char* presetnavigation_svg;
|
|
|
|
static const int presetnavigation_svgSize;
|
|
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
//[UserVariables] -- You can add your own custom variables in this section.
|
|
|
|
ObxdAudioProcessorEditor &editor;
|
|
|
|
//[/UserVariables]
|
|
|
|
|
|
|
|
//==============================================================================
|
2021-09-03 15:42:28 +00:00
|
|
|
std::unique_ptr<CustomLabel> presetNameLb;
|
2021-04-27 07:46:19 +00:00
|
|
|
std::unique_ptr<juce::ImageButton> previousBtn;
|
|
|
|
std::unique_ptr<juce::ImageButton> nextBtn;
|
|
|
|
std::unique_ptr<juce::Drawable> drawable1;
|
|
|
|
|
|
|
|
|
|
|
|
//==============================================================================
|
|
|
|
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (PresetBar)
|
|
|
|
};
|
|
|
|
|
|
|
|
//[EndFile] You can add extra defines here...
|
|
|
|
//[/EndFile]
|
|
|
|
|