Krotos Modules 3
Loading...
Searching...
No Matches
krotos::AreaSelectionComp Class Reference

#include <AreaSelectionComp.h>

Inheritance diagram for krotos::AreaSelectionComp:
krotos::ZoomableComponent

Classes

class  Listener
 

Public Types

enum class  WaveformMode { bothLines , onlyStartLine , noLine , modeNUM_MODES }
 

Public Member Functions

 AreaSelectionComp (bool drawBackground, bool drawMarqueeBackground, bool useEndPoint)
 
 ~AreaSelectionComp () override
 
void addListener (Listener *Listener)
 
void removeListener (Listener *Listener)
 
void paint (Graphics &g) override
 
void setStartPointInPercentage (float percentage, float nonModulatedPercentage=-1)
 
void setEndPointInPercentage (float percentage)
 
float getStartPosInPercentage ()
 
float getEndPosInPercentage ()
 
void toggleAreaOrControl (bool toggleState)
 
void determineMinSelectionWidth (float sampleRate, float numSamples)
 
void setWaveformMode (WaveformMode mode)
 
- Public Member Functions inherited from krotos::ZoomableComponent
 ZoomableComponent ()=default
 
 ~ZoomableComponent () override=default
 
void setHorizontalZoomFactor (float factor)
 
void setHorizontalZoomCenter (float center)
 
void setVerticalZoomFactor (float factor)
 
void setVerticalZoomCenter (float center)
 
void setHorizontalZoomFromRange (const Range< float > xr)
 
void SetTransformToFit (int width, int height)
 
float getHorizontalZoomFactor () const
 
float getHorizontalZoomCenter () const
 
float getVerticalZoomFactor () const
 
float getVerticalZoomCenter () const
 
Range< float > getHorizontalRange () const
 
Range< float > getVerticalRange () const
 

Private Member Functions

void modifierKeysChanged (const ModifierKeys &modifiers) override
 
void mouseDown (const MouseEvent &event) override
 
void mouseDrag (const MouseEvent &event) override
 
void mouseUp (const MouseEvent &event) override
 

Private Attributes

ListenerList< Listenerm_listeners
 
float m_diff {0.f}
 
bool m_drawBackground
 
bool m_drawMarqueeBackground
 
bool m_useEndPoint
 
bool m_shiftKeyPressed {false}
 
bool m_shiftDragging {false}
 
bool inAreaSelectMode {true}
 
const float m_epsilon {0.0001f}
 
int m_grabAreaWidth = 10
 
int m_selectionWidth {0}
 
int m_selectionStart
 
int m_selectionEnd
 
float m_startPosPercentage {0.f}
 
float m_endPosPercentage {1.f}
 
float m_additionalPercentHack = 0.03f
 
const int m_lineWidth {2}
 
const int m_clickingThreshold {5}
 
const int m_minSelectionWidthMin {m_lineWidth}
 
int m_minSelectionWidth {m_minSelectionWidthMin}
 
bool m_leftBarWasSelected {false}
 
bool m_rightBarWasSelected {false}
 
bool m_dragging {false}
 
WaveformMode m_waveformMode
 

Additional Inherited Members

- Protected Member Functions inherited from krotos::ZoomableComponent
void drawNormalisedZoomedRect (Graphics &g, const Rectangle< float > &rect) const
 
void drawNormalisedZoomedRectLine (Graphics &g, const Rectangle< float > &rect) const
 
void drawZoomedRect (Graphics &g, const Rectangle< float > &rect) const
 
void drawNormalisedZoomedLine (Graphics &g, Line< float > line, float thickness) const
 
void drawZoomedLine (Graphics &g, const Line< float > &line, float thickness) const
 
void drawNormalisedZoomedText (Graphics &g, String text, Rectangle< float > bounds) const
 
void drawNormalisedZoomedPath (Graphics &g, const Path &path, float thickness)
 
void drawZoomedPath (Graphics &g, Path path, float thickness)
 
void drawNormalisedZoomedImage (Graphics &g, Image &image, const Rectangle< float > &bounds, bool fillAlphaChannelWithCurrentBrush=false)
 
void fillNormalisedZoomedEllipse (Graphics &g, const Rectangle< float > &bounds)
 
void drawNormalisedZoomedEllipse (Graphics &g, const Rectangle< float > &bounds)
 
void drawZoomedEllipse (Graphics &g, const Rectangle< float > &bounds)
 

Member Enumeration Documentation

◆ WaveformMode

Enumerator
bothLines 
onlyStartLine 
noLine 
modeNUM_MODES 

Constructor & Destructor Documentation

◆ AreaSelectionComp()

krotos::AreaSelectionComp::AreaSelectionComp ( bool drawBackground,
bool drawMarqueeBackground,
bool useEndPoint )

◆ ~AreaSelectionComp()

krotos::AreaSelectionComp::~AreaSelectionComp ( )
override

Member Function Documentation

◆ addListener()

void krotos::AreaSelectionComp::addListener ( Listener * Listener)

◆ determineMinSelectionWidth()

void krotos::AreaSelectionComp::determineMinSelectionWidth ( float sampleRate,
float numSamples )

◆ getEndPosInPercentage()

float krotos::AreaSelectionComp::getEndPosInPercentage ( )

◆ getStartPosInPercentage()

float krotos::AreaSelectionComp::getStartPosInPercentage ( )

◆ modifierKeysChanged()

void krotos::AreaSelectionComp::modifierKeysChanged ( const ModifierKeys & modifiers)
overrideprivate

◆ mouseDown()

void krotos::AreaSelectionComp::mouseDown ( const MouseEvent & event)
overrideprivate

◆ mouseDrag()

void krotos::AreaSelectionComp::mouseDrag ( const MouseEvent & event)
overrideprivate

◆ mouseUp()

void krotos::AreaSelectionComp::mouseUp ( const MouseEvent & event)
overrideprivate

◆ paint()

void krotos::AreaSelectionComp::paint ( Graphics & g)
override

◆ removeListener()

void krotos::AreaSelectionComp::removeListener ( Listener * Listener)

◆ setEndPointInPercentage()

void krotos::AreaSelectionComp::setEndPointInPercentage ( float percentage)

◆ setStartPointInPercentage()

void krotos::AreaSelectionComp::setStartPointInPercentage ( float percentage,
float nonModulatedPercentage = -1 )

◆ setWaveformMode()

void krotos::AreaSelectionComp::setWaveformMode ( WaveformMode mode)

◆ toggleAreaOrControl()

void krotos::AreaSelectionComp::toggleAreaOrControl ( bool toggleState)

Member Data Documentation

◆ inAreaSelectMode

bool krotos::AreaSelectionComp::inAreaSelectMode {true}
private

◆ m_additionalPercentHack

float krotos::AreaSelectionComp::m_additionalPercentHack = 0.03f
private

◆ m_clickingThreshold

const int krotos::AreaSelectionComp::m_clickingThreshold {5}
private

◆ m_diff

float krotos::AreaSelectionComp::m_diff {0.f}
private

◆ m_dragging

bool krotos::AreaSelectionComp::m_dragging {false}
private

◆ m_drawBackground

bool krotos::AreaSelectionComp::m_drawBackground
private

◆ m_drawMarqueeBackground

bool krotos::AreaSelectionComp::m_drawMarqueeBackground
private

◆ m_endPosPercentage

float krotos::AreaSelectionComp::m_endPosPercentage {1.f}
private

◆ m_epsilon

const float krotos::AreaSelectionComp::m_epsilon {0.0001f}
private

◆ m_grabAreaWidth

int krotos::AreaSelectionComp::m_grabAreaWidth = 10
private

◆ m_leftBarWasSelected

bool krotos::AreaSelectionComp::m_leftBarWasSelected {false}
private

◆ m_lineWidth

const int krotos::AreaSelectionComp::m_lineWidth {2}
private

◆ m_listeners

ListenerList<Listener> krotos::AreaSelectionComp::m_listeners
private

◆ m_minSelectionWidth

int krotos::AreaSelectionComp::m_minSelectionWidth {m_minSelectionWidthMin}
private

◆ m_minSelectionWidthMin

const int krotos::AreaSelectionComp::m_minSelectionWidthMin {m_lineWidth}
private

◆ m_rightBarWasSelected

bool krotos::AreaSelectionComp::m_rightBarWasSelected {false}
private

◆ m_selectionEnd

int krotos::AreaSelectionComp::m_selectionEnd
private

◆ m_selectionStart

int krotos::AreaSelectionComp::m_selectionStart
private

◆ m_selectionWidth

int krotos::AreaSelectionComp::m_selectionWidth {0}
private

◆ m_shiftDragging

bool krotos::AreaSelectionComp::m_shiftDragging {false}
private

◆ m_shiftKeyPressed

bool krotos::AreaSelectionComp::m_shiftKeyPressed {false}
private

◆ m_startPosPercentage

float krotos::AreaSelectionComp::m_startPosPercentage {0.f}
private

◆ m_useEndPoint

bool krotos::AreaSelectionComp::m_useEndPoint
private

◆ m_waveformMode

WaveformMode krotos::AreaSelectionComp::m_waveformMode
private

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