Vital
Loading...
Searching...
No Matches
PaintPatternSelector Class Reference

A specialized TextSelector that draws a visual pattern instead of text. More...

#include <text_selector.h>

Inheritance diagram for PaintPatternSelector:
TextSelector SynthSlider OpenGlSlider

Public Member Functions

 PaintPatternSelector (String name)
 
void paint (Graphics &g) override
 
void setPadding (int padding)
 
- Public Member Functions inherited from TextSelector
 TextSelector (String name)
 Constructs a TextSelector with the given name.
 
void mouseDown (const MouseEvent &e) override
 
void mouseUp (const MouseEvent &e) override
 
bool shouldShowPopup () override
 
void setLongStringLookup (const std::string *lookup)
 
- Public Member Functions inherited from SynthSlider
 SynthSlider (String name)
 
virtual void mouseDrag (const MouseEvent &e) override
 
virtual void mouseEnter (const MouseEvent &e) override
 
virtual void mouseExit (const MouseEvent &e) override
 
virtual void mouseDoubleClick (const MouseEvent &e) override
 
virtual void mouseWheelMove (const MouseEvent &e, const MouseWheelDetails &wheel) override
 
virtual void focusLost (FocusChangeType cause) override
 
virtual void valueChanged () override
 Called when the slider value changes. Notifies GUIs.
 
String getRawTextFromValue (double value)
 
String getSliderTextFromValue (double value)
 
String getTextFromValue (double value) override
 
double getValueFromText (const String &text) override
 
double getAdjustedValue (double value)
 
double getValueFromAdjusted (double value)
 
void setValueFromAdjusted (double value)
 
virtual void parentHierarchyChanged () override
 Called when the parent hierarchy changes, updates references to synthesizer.
 
virtual double snapValue (double attemptedValue, DragMode dragMode) override
 
void textEditorTextChanged (TextEditor &) override
 TextEditor::Listener overrides for handling text entry.
 
void textEditorReturnKeyPressed (TextEditor &editor) override
 
void textEditorFocusLost (TextEditor &editor) override
 
void setSliderPositionFromText ()
 Sets the slider position from the current text in the text editor.
 
void showTextEntry ()
 Shows the text entry box for manual value entry.
 
virtual void drawShadow (Graphics &g)
 
void drawRotaryShadow (Graphics &g)
 
void snapToValue (bool snap, float value=0.0)
 
void setScalingType (vital::ValueDetails::ValueScale scaling_type)
 
vital::ValueDetails::ValueScale getScalingType () const
 
void setStringLookup (const std::string *lookup)
 
void setScrollEnabled (bool enabled)
 
const std::string * getStringLookup () const
 
void setUnits (const String &units)
 
String getUnits () const
 
String formatValue (float value)
 
void setDefaultRange ()
 Sets the default parameter range based on the parameter details.
 
void addSliderListener (SliderListener *listener)
 
void showPopup (bool primary)
 
void hidePopup (bool primary)
 
void setPopupPlacement (BubbleComponent::BubblePlacement placement)
 
void setModulationPlacement (BubbleComponent::BubblePlacement placement)
 
BubbleComponent::BubblePlacement getPopupPlacement ()
 
BubbleComponent::BubblePlacement getModulationPlacement ()
 
void notifyGuis ()
 Notifies GUI listeners of a value change.
 
void handlePopupResult (int result)
 
void setSensitivity (double sensitivity)
 
double getSensitivity ()
 
Rectangle< int > getModulationMeterBounds () const
 
bool hasModulationArea () const
 
Rectangle< int > getModulationArea () const
 
void setModulationArea (Rectangle< int > area)
 
bool isModulationBipolar () const
 
bool isModulationStereo () const
 
bool isModulationBypassed () const
 
void setTextHeightPercentage (float percentage)
 
float getTextHeightPercentage ()
 
float mouseHovering () const
 
std::vector< vital::ModulationConnection * > getConnections ()
 
void setMouseWheelMovement (double movement)
 
void setMaxDisplayCharacters (int characters)
 
void setMaxDecimalPlaces (int decimal_places)
 
void setTextEntrySizePercent (float width_percent, float height_percent)
 
void setTextEntryWidthPercent (float percent)
 
void setShiftIndexAmount (int shift_amount)
 
void setShowPopupOnHover (bool show)
 
void setPopupPrefix (String prefix)
 
void setPopupSuffix (const juce::String &suffix)
 
void setKnobSizeScale (float scale)
 
float getKnobSizeScale () const override
 
void useSuffix (bool use)
 
void setExtraModulationTarget (Component *component)
 
Component * getExtraModulationTarget ()
 
void setModulationBarRight (bool right)
 
bool isModulationBarRight ()
 
void setDisplayMultiply (float multiply)
 
void setDisplayExponentialBase (float base)
 
void overrideValue (Skin::ValueId value_id, float value)
 
float findValue (Skin::ValueId value_id) const override
 
void setAlternateDisplay (Skin::ValueId id, float value, vital::ValueDetails details)
 
vital::ValueDetailsgetDisplayDetails ()
 
OpenGlComponentgetTextEditorComponent ()
 
- Public Member Functions inherited from OpenGlSlider
 OpenGlSlider (String name)
 
virtual void resized () override
 Called when the component is resized. Updates colors and display values.
 
void parentHierarchyChanged () override
 Called when the parent hierarchy changes. Used for retrieving parent sections.
 
void paintToImage (bool paint)
 
bool isText () const
 
bool isTextOrCurve () const
 
bool isModulationKnob () const
 
bool isRotaryQuad () const
 
bool isHorizontalQuad () const
 
bool isVerticalQuad () const
 
OpenGlComponentgetImageComponent ()
 
OpenGlComponentgetQuadComponent ()
 
void setMaxArc (float arc)
 
void setModulationKnob ()
 Marks this slider as a modulation knob.
 
void setModulationAmount (float modulation)
 
float getModulationAmount () const
 
bool isBipolar () const
 
bool isActive () const
 
void setBipolar (bool bipolar=true)
 
void setActive (bool active=true)
 
virtual Colour getModColor () const
 
virtual Colour getBackgroundColor () const
 
virtual Colour getUnselectedColor () const
 
virtual Colour getSelectedColor () const
 
virtual Colour getThumbColor () const
 
int getLinearSliderWidth ()
 
void setSliderDisplayValues ()
 Sets the slider display values (positions, sizes) based on current style.
 
void redoImage (bool skip_image=false)
 
void setColors ()
 Updates internal colors based on the current skin and state.
 
void setAlpha (float alpha, bool reset=false)
 
void setDrawWhenNotVisible (bool draw)
 
SynthSectiongetSectionParent ()
 

Additional Inherited Members

- Public Types inherited from SynthSlider
enum  MenuId {
  kCancel = 0 , kArmMidiLearn , kClearMidiLearn , kDefaultValue ,
  kManualEntry , kClearModulations , kModulationList
}
 Menu item IDs for the right-click popup menu. More...
 
- Static Public Attributes inherited from SynthSlider
static constexpr int kDefaultFormatLength = 5
 
static constexpr int kDefaultFormatDecimalPlaces = 5
 
static constexpr float kDefaultTextEntryWidthPercent = 0.9f
 
static constexpr float kDefaultTextEntryHeightPercent = 0.35f
 
static constexpr float kModulationSensitivity = 0.003f
 
static constexpr float kTextEntryHeightPercent = 0.6f
 
static constexpr float kSlowDragMultiplier = 0.1f
 
static constexpr float kDefaultSensitivity = 1.0f
 
static constexpr float kDefaultTextHeightPercentage = 0.7f
 
static constexpr float kDefaultRotaryDragLength = 200.0f
 
static constexpr float kRotaryModulationControlPercent = 0.26f
 
static constexpr float kLinearWidthPercent = 0.26f
 
static constexpr float kLinearHandlePercent = 1.2f
 
static constexpr float kLinearModulationPercent = 0.1f
 
- Static Public Attributes inherited from OpenGlSlider
static constexpr float kRotaryAngle = 0.8f * vital::kPi
 The default rotary arc angle used for rotary sliders.
 
- Protected Member Functions inherited from SynthSlider
PopupItems createPopupMenu ()
 
void setRotaryTextEntryBounds ()
 Sets bounds for text entry in rotary mode.
 
void setLinearTextEntryBounds ()
 Sets bounds for text entry in linear mode.
 
void notifyModulationAmountChanged ()
 Notifies listeners that modulation amount has changed.
 
void notifyModulationRemoved ()
 Notifies listeners that a modulation was removed.
 
void notifyModulationsChanged ()
 Notifies listeners that modulations changed.
 
- Protected Attributes inherited from TextSelector
const std::string * long_lookup_
 Optional alternate lookup table for longer strings.
 
- Protected Attributes inherited from SynthSlider
bool show_popup_on_hover_
 
String popup_prefix_
 
String popupSuffix_
 
bool scroll_enabled_
 
bool bipolar_modulation_
 
bool stereo_modulation_
 
bool bypass_modulation_
 
bool modulation_bar_right_
 
Rectangle< int > modulation_area_
 
bool sensitive_mode_
 
bool snap_to_value_
 
bool hovering_
 
bool has_parameter_assignment_
 
bool use_suffix_
 
float snap_value_
 
float text_height_percentage_
 
float knob_size_scale_
 
double sensitivity_
 
BubbleComponent::BubblePlacement popup_placement_
 
BubbleComponent::BubblePlacement modulation_control_placement_
 
int max_display_characters_
 
int max_decimal_places_
 
int shift_index_amount_
 
bool shift_is_multiplicative_
 
double mouse_wheel_index_movement_
 
float text_entry_width_percent_
 
float text_entry_height_percent_
 
std::map< Skin::ValueId, float > value_lookup_
 
Point< int > last_modulation_edit_position_
 
Point< int > mouse_down_position_
 
vital::ValueDetails details_
 
float display_multiply_
 
float display_exponential_base_
 
std::pair< Skin::ValueId, float > alternate_display_setting_
 
vital::ValueDetails alternate_details_
 
const std::string * string_lookup_
 
Component * extra_modulation_target_
 
SynthGuiInterfacesynth_interface_
 
std::unique_ptr< OpenGlTextEditortext_entry_
 
std::vector< SliderListener * > slider_listeners_
 
- Protected Attributes inherited from OpenGlSlider
SynthSectionparent_
 The parent SynthSection.
 

Detailed Description

A specialized TextSelector that draws a visual pattern instead of text.

The PaintPatternSelector uses the slider value as an index to determine a paint pattern and draws it. This can visually represent waveforms or other patterns based on the selected index.

Constructor & Destructor Documentation

◆ PaintPatternSelector()

PaintPatternSelector::PaintPatternSelector ( String name)
inline

Constructor.

Parameters
nameThe name of the PaintPatternSelector.

Member Function Documentation

◆ paint()

void PaintPatternSelector::paint ( Graphics & g)
override

Paints the pattern corresponding to the current slider value.

Parameters
gThe graphics context.

Paints a pattern based on the current slider value. The pattern is determined by LfoSection::getPaintPattern(). Fills and strokes the resulting path using colors depending on the slider's active state.

Parameters
gThe graphics context.

◆ setPadding()

void PaintPatternSelector::setPadding ( int padding)
inline

Sets the padding around the drawn pattern.

Parameters
paddingThe padding in pixels.

The documentation for this class was generated from the following files: