JUCE v8.0.9
JUCE API
 
Loading...
Searching...
No Matches
juce::detail::MouseInputSourceList Class Reference

#include <juce_MouseInputSourceList.h>

Inheritance diagram for juce::detail::MouseInputSourceList:
Collaboration diagram for juce::detail::MouseInputSourceList:

Public Member Functions

 MouseInputSourceList ()
 
MouseInputSourceaddSource (int index, MouseInputSource::InputSourceType type)
 
void beginDragAutoRepeat (int interval)
 
MouseInputSourcegetDraggingMouseSource (int index) noexcept
 
MouseInputSourcegetMouseSource (int index) noexcept
 
int getNumDraggingMouseSources () const noexcept
 
MouseInputSourcegetOrCreateMouseInputSource (MouseInputSource::InputSourceType type, int touchIndex=0)
 
int getTimerInterval () const noexcept
 Returns the timer's interval.
 
bool isTimerRunning () const noexcept
 Returns true if the timer is currently running.
 
void startTimer (int intervalInMilliseconds) noexcept
 Starts the timer and sets the length of interval required.
 
void startTimerHz (int timerFrequencyHz) noexcept
 Starts the timer with an interval specified in Hertz.
 
void stopTimer () noexcept
 Stops the timer.
 
void timerCallback () override
 The user-defined callback routine that actually gets called periodically.
 

Static Public Member Functions

static void callAfterDelay (int milliseconds, std::function< void()> functionToCall)
 Invokes a lambda after a given number of milliseconds.
 
static void callPendingTimersSynchronously ()
 For internal use only: invokes any timers that need callbacks.
 

Public Attributes

Array< MouseInputSourcesourceArray
 
OwnedArray< MouseInputSourceImplsources
 

Private Member Functions

bool addSource ()
 
bool canUseTouch () const
 

Private Attributes

size_t positionInQueue = (size_t) -1
 
int timerPeriodMs = 0
 
SharedResourcePointer< TimerThread > timerThread
 

Constructor & Destructor Documentation

◆ MouseInputSourceList()

juce::detail::MouseInputSourceList::MouseInputSourceList ( )
inline

Member Function Documentation

◆ addSource() [1/2]

bool juce::detail::MouseInputSourceList::addSource ( )
private

◆ addSource() [2/2]

MouseInputSource * juce::detail::MouseInputSourceList::addSource ( int  index,
MouseInputSource::InputSourceType  type 
)
inline

References sourceArray, and sources.

◆ beginDragAutoRepeat()

void juce::detail::MouseInputSourceList::beginDragAutoRepeat ( int  interval)
inline

◆ callAfterDelay()

static void juce::Timer::callAfterDelay ( int  milliseconds,
std::function< void()>  functionToCall 
)
staticinherited

Invokes a lambda after a given number of milliseconds.

◆ callPendingTimersSynchronously()

static void juce::Timer::callPendingTimersSynchronously ( )
staticinherited

For internal use only: invokes any timers that need callbacks.

Don't call this unless you really know what you're doing!

◆ canUseTouch()

bool juce::detail::MouseInputSourceList::canUseTouch ( ) const
private

◆ getDraggingMouseSource()

MouseInputSource * juce::detail::MouseInputSourceList::getDraggingMouseSource ( int  index)
inlinenoexcept

References sourceArray.

◆ getMouseSource()

MouseInputSource * juce::detail::MouseInputSourceList::getMouseSource ( int  index)
inlinenoexcept

◆ getNumDraggingMouseSources()

int juce::detail::MouseInputSourceList::getNumDraggingMouseSources ( ) const
inlinenoexcept

References sources.

◆ getOrCreateMouseInputSource()

MouseInputSource * juce::detail::MouseInputSourceList::getOrCreateMouseInputSource ( MouseInputSource::InputSourceType  type,
int  touchIndex = 0 
)
inline

◆ getTimerInterval()

int juce::Timer::getTimerInterval ( ) const
inlinenoexceptinherited

Returns the timer's interval.

Returns
the timer's interval in milliseconds if it's running, or 0 if it's not.

Referenced by beginDragAutoRepeat(), and juce::detail::TopLevelWindowManager::checkFocus().

◆ isTimerRunning()

bool juce::Timer::isTimerRunning ( ) const
inlinenoexceptinherited

Returns true if the timer is currently running.

◆ startTimer()

void juce::Timer::startTimer ( int  intervalInMilliseconds)
noexceptinherited

Starts the timer and sets the length of interval required.

If the timer is already started, this will reset it, so the time between calling this method and the next timer callback will not be less than the interval length passed in.

Parameters
intervalInMillisecondsthe interval to use (any value less than 1 will be rounded up to 1)

Referenced by beginDragAutoRepeat(), juce::detail::TopLevelWindowManager::checkFocus(), juce::detail::TopLevelWindowManager::checkFocusAsync(), juce::StandalonePluginHolder::init(), and juce::DeviceChangeDetector::triggerAsyncDeviceChangeCallback().

◆ startTimerHz()

void juce::Timer::startTimerHz ( int  timerFrequencyHz)
noexceptinherited

Starts the timer with an interval specified in Hertz.

This is effectively the same as calling startTimer (1000 / timerFrequencyHz).

Referenced by juce::AnimatedPosition< Behaviour >::endDrag(), juce::AnimatedPosition< Behaviour >::nudge(), and juce::AnimatedPosition< Behaviour >::timerCallback().

◆ stopTimer()

void juce::Timer::stopTimer ( )
noexceptinherited

Stops the timer.

No more timer callbacks will be triggered after this method returns.

Note that if you call this from a background thread while the message-thread is already in the middle of your callback, then this method will cancel any future timer callbacks, but it will return without waiting for the current one to finish. The current callback will continue, possibly still running some of your timer code after this method has returned.

Referenced by juce::StandalonePluginHolder::~StandalonePluginHolder(), juce::AnimatedPosition< Behaviour >::beginDrag(), beginDragAutoRepeat(), juce::AnimatedPosition< Behaviour >::setPosition(), juce::DeviceChangeDetector::timerCallback(), timerCallback(), and juce::AnimatedPosition< Behaviour >::timerCallback().

◆ timerCallback()

void juce::detail::MouseInputSourceList::timerCallback ( )
inlineoverridevirtual

The user-defined callback routine that actually gets called periodically.

It's perfectly ok to call startTimer() or stopTimer() from within this callback to change the subsequent intervals.

Implements juce::Timer.

References juce::ComponentPeer::getCurrentModifiersRealtime(), juce::ModifierKeys::isAnyMouseButtonDown(), sources, and juce::Timer::stopTimer().

Member Data Documentation

◆ positionInQueue

size_t juce::Timer::positionInQueue = (size_t) -1
privateinherited

◆ sourceArray

Array<MouseInputSource> juce::detail::MouseInputSourceList::sourceArray

◆ sources

OwnedArray<MouseInputSourceImpl> juce::detail::MouseInputSourceList::sources

◆ timerPeriodMs

int juce::Timer::timerPeriodMs = 0
privateinherited

◆ timerThread

SharedResourcePointer<TimerThread> juce::Timer::timerThread
privateinherited

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