JUCE  v5.1.1-3-g1a0b28c73
JUCE API
Desktop Class Reference

Describes and controls aspects of the computer's desktop. More...

#include <juce_Desktop.h>

Inheritance diagram for Desktop:
Collaboration diagram for Desktop:

Classes

class  Displays
 

Public Types

enum  DisplayOrientation {
  upright = 1,
  upsideDown = 2,
  rotatedClockwise = 4,
  rotatedAntiClockwise = 8,
  allOrientations = 1 + 2 + 4 + 8
}
 In a tablet device which can be turned around, this is used to inidicate the orientation. More...
 

Public Member Functions

void addFocusChangeListener (FocusChangeListener *listener)
 Registers a MouseListener that will receive a callback whenever the focused component changes. More...
 
void addGlobalMouseListener (MouseListener *listener)
 Registers a MouseListener that will receive all mouse events that occur on any component. More...
 
void beginDragAutoRepeat (int millisecondsBetweenCallbacks)
 Ensures that a non-stop stream of mouse-drag events will be sent during the current mouse-drag operation. More...
 
ComponentfindComponentAt (Point< int > screenPosition) const
 Finds the component at a given screen location. More...
 
ComponentAnimatorgetAnimator () noexcept
 The Desktop object has a ComponentAnimator instance which can be used for performing your animations. More...
 
ComponentgetComponent (int index) const noexcept
 Returns one of the top-level desktop window components. More...
 
DisplayOrientation getCurrentOrientation () const
 In a tablet device which can be turned around, this returns the current orientation. More...
 
LookAndFeelgetDefaultLookAndFeel () noexcept
 Returns the current default look-and-feel for components which don't have one explicitly set. More...
 
const DisplaysgetDisplays () const noexcept
 
MouseInputSourcegetDraggingMouseSource (int index) const noexcept
 Returns one of the mouse sources that's currently being dragged. More...
 
float getGlobalScaleFactor () const noexcept
 Returns the current global scale factor, as set by setGlobalScaleFactor(). More...
 
ComponentgetKioskModeComponent () const noexcept
 Returns the component that is currently being used in kiosk-mode. More...
 
MouseInputSource getMainMouseSource () const noexcept
 Returns the main mouse input device that the system is using. More...
 
int getMouseButtonClickCounter () const noexcept
 Returns the number of times the mouse button has been clicked since the app started. More...
 
MouseInputSourcegetMouseSource (int index) const noexcept
 Returns one of the system's MouseInputSource objects. More...
 
const Array< MouseInputSource > & getMouseSources () const noexcept
 Provides access to the array of mouse sources, for iteration. More...
 
int getMouseWheelMoveCounter () const noexcept
 Returns the number of times the mouse wheel has been moved since the app started. More...
 
int getNumComponents () const noexcept
 Returns the number of components that are currently active as top-level desktop windows. More...
 
int getNumDraggingMouseSources () const noexcept
 Returns the number of mouse-sources that are currently being dragged. More...
 
int getNumMouseSources () const noexcept
 Returns the number of MouseInputSource objects the system has at its disposal. More...
 
int getOrientationsEnabled () const noexcept
 Returns the set of orientations the display is allowed to rotate to. More...
 
bool isOrientationEnabled (DisplayOrientation orientation) const noexcept
 Returns whether the display is allowed to auto-rotate to the given orientation. More...
 
void removeFocusChangeListener (FocusChangeListener *listener)
 Unregisters a listener that was added with addFocusChangeListener(). More...
 
void removeGlobalMouseListener (MouseListener *listener)
 Unregisters a MouseListener that was added with the addGlobalMouseListener() method. More...
 
void setDefaultLookAndFeel (LookAndFeel *newDefaultLookAndFeel)
 Changes the default look-and-feel. More...
 
void setGlobalScaleFactor (float newScaleFactor) noexcept
 Sets a global scale factor to be used for all desktop windows. More...
 
void setKioskModeComponent (Component *componentToUse, bool allowMenusAndBars=true)
 Takes a component and makes it full-screen, removing the taskbar, dock, etc. More...
 
void setOrientationsEnabled (int allowedOrientations)
 Sets which orientations the display is allowed to auto-rotate to. More...
 

Static Public Member Functions

static bool canUseSemiTransparentWindows () noexcept
 True if the OS supports semitransparent windows. More...
 
static DesktopgetInstance ()
 There's only one desktop object, and this method will return it. More...
 
static Point< intgetLastMouseDownPosition ()
 Returns the last position at which a mouse button was pressed. More...
 
static Point< intgetMousePosition ()
 Returns the mouse position. More...
 
static bool isOSXDarkModeActive ()
 OSX-specific function to check for the "dark" title-bar and menu mode. More...
 
static bool isScreenSaverEnabled ()
 Returns true if the screensaver has not been turned off. More...
 
static void setMousePosition (Point< int > newPosition)
 Makes the mouse pointer jump to a given location. More...
 
static void setScreenSaverEnabled (bool isEnabled)
 This lets you prevent the screensaver from becoming active. More...
 

Private Member Functions

 Desktop ()
 
 ~Desktop ()
 
void addDesktopComponent (Component *)
 
void allowedOrientationsChanged ()
 
void cancelPendingUpdate () noexcept
 This will stop any pending updates from happening. More...
 
void componentBroughtToFront (Component *)
 
ListenerList< MouseListener > & getMouseListeners ()
 
int getTimerInterval () const noexcept
 Returns the timer's interval. More...
 
void handleAsyncUpdate () override
 Called back to do whatever your class needs to do. More...
 
void handleUpdateNowIfNeeded ()
 If an update has been triggered and is pending, this will invoke it synchronously. More...
 
void incrementMouseClickCounter () noexcept
 
void incrementMouseWheelCounter () noexcept
 
bool isTimerRunning () const noexcept
 Returns true if the timer is currently running. More...
 
bool isUpdatePending () const noexcept
 Returns true if there's an update callback in the pipeline. More...
 
void removeDesktopComponent (Component *)
 
void resetTimer ()
 
void sendMouseMove ()
 
void setKioskComponent (Component *, bool shouldBeEnabled, bool allowMenusAndBars)
 
void startTimer (int intervalInMilliseconds) noexcept
 Starts the timer and sets the length of interval required. More...
 
void startTimerHz (int timerFrequencyHz) noexcept
 Starts the timer with an interval specified in Hertz. More...
 
void stopTimer () noexcept
 Stops the timer. More...
 
void timerCallback () override
 The user-defined callback routine that actually gets called periodically. More...
 
void triggerAsyncUpdate ()
 Causes the callback to be triggered at a later time. More...
 
void triggerFocusCallback ()
 

Static Private Member Functions

static void callAfterDelay (int milliseconds, std::function< void()> functionToCall)
 Invokes a lambda after a given number of milliseconds. More...
 
static void callPendingTimersSynchronously ()
 For internal use only: invokes any timers that need callbacks. More...
 
static void deleteAll ()
 Deletes all extant objects. More...
 
static double getDefaultMasterScale ()
 
static Point< float > getMousePositionFloat ()
 

Private Attributes

int allowedOrientations
 
ComponentAnimator animator
 
WeakReference< LookAndFeelcurrentLookAndFeel
 
ScopedPointer< LookAndFeeldefaultLookAndFeel
 
Array< Component * > desktopComponents
 
ScopedPointer< Displaysdisplays
 
ListenerList< FocusChangeListenerfocusListeners
 
Rectangle< intkioskComponentOriginalBounds
 
ComponentkioskModeComponent
 
bool kioskModeReentrant
 
Point< float > lastFakeMouseMove
 
float masterScaleFactor
 
int mouseClickCounter
 
ListenerList< MouseListenermouseListeners
 
ScopedPointer< MouseInputSource::SourceList > mouseSources
 
int mouseWheelCounter
 
Array< ComponentPeer * > peers
 

Static Private Attributes

static Desktopinstance
 

Friends

class Component
 
class ComponentPeer
 
class DeletedAtShutdown
 
class MouseInputSourceInternal
 
class TopLevelWindowManager
 

Detailed Description

Describes and controls aspects of the computer's desktop.

Member Enumeration Documentation

◆ DisplayOrientation

In a tablet device which can be turned around, this is used to inidicate the orientation.

Enumerator
upright 

Indicates that the display is the normal way up.

upsideDown 

Indicates that the display is upside-down.

rotatedClockwise 

Indicates that the display is turned 90 degrees clockwise from its upright position.

rotatedAntiClockwise 

Indicates that the display is turned 90 degrees anti-clockwise from its upright position.

allOrientations 

A combination of all the orientation values.

Constructor & Destructor Documentation

◆ Desktop()

Desktop::Desktop ( )
private

◆ ~Desktop()

Desktop::~Desktop ( )
private

Member Function Documentation

◆ addDesktopComponent()

void Desktop::addDesktopComponent ( Component )
private

◆ addFocusChangeListener()

void Desktop::addFocusChangeListener ( FocusChangeListener listener)

Registers a MouseListener that will receive a callback whenever the focused component changes.

◆ addGlobalMouseListener()

void Desktop::addGlobalMouseListener ( MouseListener listener)

Registers a MouseListener that will receive all mouse events that occur on any component.

See also
removeGlobalMouseListener

◆ allowedOrientationsChanged()

void Desktop::allowedOrientationsChanged ( )
private

◆ beginDragAutoRepeat()

void Desktop::beginDragAutoRepeat ( int  millisecondsBetweenCallbacks)

Ensures that a non-stop stream of mouse-drag events will be sent during the current mouse-drag operation.

This allows you to make sure that mouseDrag() events are sent continuously, even when the mouse isn't moving. This can be useful for things like auto-scrolling components when the mouse is near an edge.

Call this method during a mouseDown() or mouseDrag() callback, specifying the minimum interval between consecutive mouse drag callbacks. The callbacks will continue until the mouse is released, and then the interval will be reset, so you need to make sure it's called every time you begin a drag event. Passing an interval of 0 or less will cancel the auto-repeat.

See also
mouseDrag

◆ callAfterDelay()

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

Invokes a lambda after a given number of milliseconds.

◆ callPendingTimersSynchronously()

static void 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!

◆ cancelPendingUpdate()

void AsyncUpdater::cancelPendingUpdate ( )
noexceptinherited

This will stop any pending updates from happening.

If called after triggerAsyncUpdate() and before the handleAsyncUpdate() callback happens, this will cancel the handleAsyncUpdate() callback.

Note that this method simply cancels the next callback - if a callback is already in progress on a different thread, this won't block until the callback finishes, so there's no guarantee that the callback isn't still running when the method returns.

◆ canUseSemiTransparentWindows()

static bool Desktop::canUseSemiTransparentWindows ( )
staticnoexcept

True if the OS supports semitransparent windows.

◆ componentBroughtToFront()

void Desktop::componentBroughtToFront ( Component )
private

◆ deleteAll()

static void DeletedAtShutdown::deleteAll ( )
staticinherited

Deletes all extant objects.

This shouldn't be used by applications, as it's called automatically in the shutdown code of the JUCEApplicationBase class.

◆ findComponentAt()

Component* Desktop::findComponentAt ( Point< int screenPosition) const

Finds the component at a given screen location.

This will drill down into top-level windows to find the child component at the given position.

Returns nullptr if the coordinates are inside a non-Juce window.

Referenced by FakeMouseMoveGenerator::timerCallback().

◆ getAnimator()

ComponentAnimator& Desktop::getAnimator ( )
inlinenoexcept

The Desktop object has a ComponentAnimator instance which can be used for performing your animations.

Having a single shared ComponentAnimator object makes it more efficient when multiple components are being moved around simultaneously. It's also more convenient than having to manage your own instance of one.

See also
ComponentAnimator

◆ getComponent()

Component* Desktop::getComponent ( int  index) const
noexcept

Returns one of the top-level desktop window components.

The index is from 0 to getNumComponents() - 1. This could return 0 if the index is out-of-range.

See also
getNumComponents, Component::addToDesktop

◆ getCurrentOrientation()

DisplayOrientation Desktop::getCurrentOrientation ( ) const

In a tablet device which can be turned around, this returns the current orientation.

◆ getDefaultLookAndFeel()

LookAndFeel& Desktop::getDefaultLookAndFeel ( )
noexcept

Returns the current default look-and-feel for components which don't have one explicitly set.

See also
setDefaultLookAndFeel

◆ getDefaultMasterScale()

static double Desktop::getDefaultMasterScale ( )
staticprivate

◆ getDisplays()

const Displays& Desktop::getDisplays ( ) const
inlinenoexcept

◆ getDraggingMouseSource()

MouseInputSource* Desktop::getDraggingMouseSource ( int  index) const
noexcept

Returns one of the mouse sources that's currently being dragged.

The index should be between 0 and getNumDraggingMouseSources() - 1. If the index is out of range, or if no mice or fingers are down, this will return a null pointer.

◆ getGlobalScaleFactor()

float Desktop::getGlobalScaleFactor ( ) const
inlinenoexcept

Returns the current global scale factor, as set by setGlobalScaleFactor().

See also
setGlobalScaleFactor

◆ getInstance()

◆ getKioskModeComponent()

Component* Desktop::getKioskModeComponent ( ) const
inlinenoexcept

Returns the component that is currently being used in kiosk-mode.

This is the component that was last set by setKioskModeComponent(). If none has been set, this returns nullptr.

◆ getLastMouseDownPosition()

static Point<int> Desktop::getLastMouseDownPosition ( )
static

Returns the last position at which a mouse button was pressed.

Note that this is just a shortcut for calling getMainMouseSource().getLastMouseDownPosition(), and in a multi-touch environment, it doesn't make much sense. ALWAYS prefer to get this information via other means, such as MouseEvent::getMouseDownScreenPosition() if possible, and only ever call this as a last resort.

◆ getMainMouseSource()

MouseInputSource Desktop::getMainMouseSource ( ) const
noexcept

Returns the main mouse input device that the system is using.

See also
getNumMouseSources()

◆ getMouseButtonClickCounter()

int Desktop::getMouseButtonClickCounter ( ) const
noexcept

Returns the number of times the mouse button has been clicked since the app started.

Each mouse-down event increments this number by 1.

See also
getMouseWheelMoveCounter

◆ getMouseListeners()

ListenerList<MouseListener>& Desktop::getMouseListeners ( )
private

◆ getMousePosition()

static Point<int> Desktop::getMousePosition ( )
static

Returns the mouse position.

The coordinates are relative to the top-left of the main monitor.

Note that this is just a shortcut for calling getMainMouseSource().getScreenPosition(), and you should only resort to grabbing the global mouse position if there's really no way to get the coordinates via a mouse event callback instead.

◆ getMousePositionFloat()

static Point<float> Desktop::getMousePositionFloat ( )
staticprivate

◆ getMouseSource()

MouseInputSource* Desktop::getMouseSource ( int  index) const
noexcept

Returns one of the system's MouseInputSource objects.

The index should be from 0 to getNumMouseSources() - 1. Out-of-range indexes will return a null pointer. In a traditional single-mouse system, there might be only one object. On a multi-touch system, there could be one input source per potential finger.

◆ getMouseSources()

const Array<MouseInputSource>& Desktop::getMouseSources ( ) const
noexcept

Provides access to the array of mouse sources, for iteration.

In a traditional single-mouse system, there might be only one MouseInputSource. On a multi-touch system, there could be one input source per potential finger. The number of mouse sources returned here may increase dynamically as the program runs. To find out how many mouse events are currently happening, use getNumDraggingMouseSources().

◆ getMouseWheelMoveCounter()

int Desktop::getMouseWheelMoveCounter ( ) const
noexcept

Returns the number of times the mouse wheel has been moved since the app started.

Each mouse-wheel event increments this number by 1.

See also
getMouseButtonClickCounter

◆ getNumComponents()

int Desktop::getNumComponents ( ) const
noexcept

Returns the number of components that are currently active as top-level desktop windows.

See also
getComponent, Component::addToDesktop

◆ getNumDraggingMouseSources()

int Desktop::getNumDraggingMouseSources ( ) const
noexcept

Returns the number of mouse-sources that are currently being dragged.

In a traditional single-mouse system, this will be 0 or 1, depending on whether a juce component has the button down on it. In a multi-touch system, this could be any number from 0 to the number of simultaneous touches that can be detected.

◆ getNumMouseSources()

int Desktop::getNumMouseSources ( ) const
noexcept

Returns the number of MouseInputSource objects the system has at its disposal.

In a traditional single-mouse system, there might be only one MouseInputSource. On a multi-touch system, there could be one input source per potential finger. The number of mouse sources returned here may increase dynamically as the program runs. To find out how many mouse events are currently happening, use getNumDraggingMouseSources().

See also
getMouseSource

◆ getOrientationsEnabled()

int Desktop::getOrientationsEnabled ( ) const
noexcept

Returns the set of orientations the display is allowed to rotate to.

See also
setOrientationsEnabled

◆ getTimerInterval()

int 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.

References JUCE_CALLTYPE.

Referenced by CarbonViewWrapperComponent::setOurSizeToEmbeddedViewSize().

◆ handleAsyncUpdate()

void Desktop::handleAsyncUpdate ( )
overrideprivatevirtual

Called back to do whatever your class needs to do.

This method is called by the message thread at the next convenient time after the triggerAsyncUpdate() method has been called.

Implements AsyncUpdater.

◆ handleUpdateNowIfNeeded()

void AsyncUpdater::handleUpdateNowIfNeeded ( )
inherited

If an update has been triggered and is pending, this will invoke it synchronously.

Use this as a kind of "flush" operation - if an update is pending, the handleAsyncUpdate() method will be called immediately; if no update is pending, then nothing will be done.

Because this may invoke the callback, this method must only be called on the main event thread.

◆ incrementMouseClickCounter()

void Desktop::incrementMouseClickCounter ( )
privatenoexcept

◆ incrementMouseWheelCounter()

void Desktop::incrementMouseWheelCounter ( )
privatenoexcept

◆ isOrientationEnabled()

bool Desktop::isOrientationEnabled ( DisplayOrientation  orientation) const
noexcept

Returns whether the display is allowed to auto-rotate to the given orientation.

Each orientation can be enabled using setOrientationEnabled(). By default, all orientations are allowed.

◆ isOSXDarkModeActive()

static bool Desktop::isOSXDarkModeActive ( )
static

OSX-specific function to check for the "dark" title-bar and menu mode.

◆ isScreenSaverEnabled()

static bool Desktop::isScreenSaverEnabled ( )
static

Returns true if the screensaver has not been turned off.

This will return the last value passed into setScreenSaverEnabled(). Note that it won't tell you whether the user is actually using a screen saver, just whether this app is deliberately preventing one from running.

See also
setScreenSaverEnabled

◆ isTimerRunning()

bool Timer::isTimerRunning ( ) const
inlinenoexceptinherited

Returns true if the timer is currently running.

◆ isUpdatePending()

bool AsyncUpdater::isUpdatePending ( ) const
noexceptinherited

Returns true if there's an update callback in the pipeline.

◆ removeDesktopComponent()

void Desktop::removeDesktopComponent ( Component )
private

◆ removeFocusChangeListener()

void Desktop::removeFocusChangeListener ( FocusChangeListener listener)

Unregisters a listener that was added with addFocusChangeListener().

◆ removeGlobalMouseListener()

void Desktop::removeGlobalMouseListener ( MouseListener listener)

Unregisters a MouseListener that was added with the addGlobalMouseListener() method.

See also
addGlobalMouseListener

◆ resetTimer()

void Desktop::resetTimer ( )
private

◆ sendMouseMove()

void Desktop::sendMouseMove ( )
private

◆ setDefaultLookAndFeel()

void Desktop::setDefaultLookAndFeel ( LookAndFeel newDefaultLookAndFeel)

Changes the default look-and-feel.

Parameters
newDefaultLookAndFeelthe new look-and-feel object to use - if this is set to nullptr, it will revert to using the system's default one. The object passed-in must be deleted by the caller when it's no longer needed.
See also
getDefaultLookAndFeel

◆ setGlobalScaleFactor()

void Desktop::setGlobalScaleFactor ( float  newScaleFactor)
noexcept

Sets a global scale factor to be used for all desktop windows.

Setting this will also scale the monitor sizes that are returned by getDisplays().

◆ setKioskComponent()

void Desktop::setKioskComponent ( Component ,
bool  shouldBeEnabled,
bool  allowMenusAndBars 
)
private

◆ setKioskModeComponent()

void Desktop::setKioskModeComponent ( Component componentToUse,
bool  allowMenusAndBars = true 
)

Takes a component and makes it full-screen, removing the taskbar, dock, etc.

The component must already be on the desktop for this method to work. It will be resized to completely fill the screen and any extraneous taskbars, menu bars, etc will be hidden.

To exit kiosk mode, just call setKioskModeComponent (nullptr). When this is called, the component that's currently being used will be resized back to the size and position it was in before being put into this mode.

If allowMenusAndBars is true, things like the menu and dock (on mac) are still allowed to pop up when the mouse moves onto them. If this is false, it'll try to hide as much on-screen paraphernalia as possible.

Referenced by StandaloneFilterWindow::StandaloneFilterWindow().

◆ setMousePosition()

static void Desktop::setMousePosition ( Point< int newPosition)
static

Makes the mouse pointer jump to a given location.

The coordinates are relative to the top-left of the main monitor. Note that this is a pretty old method, kept around mainly for backwards-compatibility, and you should use the MouseInputSource class directly in new code.

◆ setOrientationsEnabled()

void Desktop::setOrientationsEnabled ( int  allowedOrientations)

Sets which orientations the display is allowed to auto-rotate to.

For devices that support rotating desktops, this lets you specify which of the orientations your app can use.

The parameter is a bitwise or-ed combination of the values in DisplayOrientation, and must contain at least one set bit.

◆ setScreenSaverEnabled()

static void Desktop::setScreenSaverEnabled ( bool  isEnabled)
static

This lets you prevent the screensaver from becoming active.

Handy if you're running some sort of presentation app where having a screensaver appear would be annoying.

Pass false to disable the screensaver, and true to re-enable it. (Note that this won't enable a screensaver unless the user has actually set one up).

The disablement will only happen while the Juce application is the foreground process - if another task is running in front of it, then the screensaver will be unaffected.

See also
isScreenSaverEnabled

◆ startTimer()

void 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 FakeMouseMoveGenerator::FakeMouseMoveGenerator(), StandalonePluginHolder::init(), and CarbonViewWrapperComponent::setOurSizeToEmbeddedViewSize().

◆ startTimerHz()

void 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 AnimatedPosition< Behaviour >::endDrag(), AnimatedPosition< Behaviour >::nudge(), and AnimatedPosition< Behaviour >::timerCallback().

◆ stopTimer()

void 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 AnimatedPosition< Behaviour >::beginDrag(), CarbonViewWrapperComponent::setOurSizeToEmbeddedViewSize(), AnimatedPosition< Behaviour >::setPosition(), AnimatedPosition< Behaviour >::timerCallback(), and StandalonePluginHolder::~StandalonePluginHolder().

◆ timerCallback()

void Desktop::timerCallback ( )
overrideprivatevirtual

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 Timer.

◆ triggerAsyncUpdate()

void AsyncUpdater::triggerAsyncUpdate ( )
inherited

Causes the callback to be triggered at a later time.

This method returns immediately, having made sure that a callback to the handleAsyncUpdate() method will occur as soon as possible.

If an update callback is already pending but hasn't happened yet, calls to this method will be ignored.

It's thread-safe to call this method from any number of threads without needing to worry about locking.

◆ triggerFocusCallback()

void Desktop::triggerFocusCallback ( )
private

Friends And Related Function Documentation

◆ Component

friend class Component
friend

◆ ComponentPeer

friend class ComponentPeer
friend

◆ DeletedAtShutdown

friend class DeletedAtShutdown
friend

◆ MouseInputSourceInternal

friend class MouseInputSourceInternal
friend

◆ TopLevelWindowManager

friend class TopLevelWindowManager
friend

Member Data Documentation

◆ allowedOrientations

int Desktop::allowedOrientations
private

◆ animator

ComponentAnimator Desktop::animator
private

◆ currentLookAndFeel

WeakReference<LookAndFeel> Desktop::currentLookAndFeel
private

◆ defaultLookAndFeel

ScopedPointer<LookAndFeel> Desktop::defaultLookAndFeel
private

◆ desktopComponents

Array<Component*> Desktop::desktopComponents
private

◆ displays

ScopedPointer<Displays> Desktop::displays
private

◆ focusListeners

ListenerList<FocusChangeListener> Desktop::focusListeners
private

◆ instance

Desktop* Desktop::instance
staticprivate

◆ kioskComponentOriginalBounds

Rectangle<int> Desktop::kioskComponentOriginalBounds
private

◆ kioskModeComponent

Component* Desktop::kioskModeComponent
private

◆ kioskModeReentrant

bool Desktop::kioskModeReentrant
private

◆ lastFakeMouseMove

Point<float> Desktop::lastFakeMouseMove
private

◆ masterScaleFactor

float Desktop::masterScaleFactor
private

◆ mouseClickCounter

int Desktop::mouseClickCounter
private

◆ mouseListeners

ListenerList<MouseListener> Desktop::mouseListeners
private

◆ mouseSources

ScopedPointer<MouseInputSource::SourceList> Desktop::mouseSources
private

◆ mouseWheelCounter

int Desktop::mouseWheelCounter
private

◆ peers

Array<ComponentPeer*> Desktop::peers
private

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