JUCE  v6.1.6 (6.0.8-1114)
JUCE API
Looking for a senior C++ dev?
I'm looking for work. Hire me!
juce::Displays Class Reference

Manages details about connected display devices. More...

#include <juce_Displays.h>

Collaboration diagram for juce::Displays:

Classes

struct  Display
 Represents a connected display device. More...
 

Public Member Functions

const DisplaygetDisplayForPoint (Point< int > point, bool isPhysical=false) const noexcept
 Returns the Display object representing the display containing a given Point (either in logical or physical pixels), or nullptr if there are no connected displays. More...
 
const DisplaygetDisplayForRect (Rectangle< int > rect, bool isPhysical=false) const noexcept
 Returns the Display object representing the display containing a given Rectangle (either in logical or physical pixels), or nullptr if there are no connected displays. More...
 
const DisplaygetPrimaryDisplay () const noexcept
 Returns the Display object representing the display acting as the user's main screen, or nullptr if there are no connected displays. More...
 
RectangleList< intgetRectangleList (bool userAreasOnly) const
 Returns a RectangleList made up of all the displays in LOGICAL pixels. More...
 
Rectangle< intgetTotalBounds (bool userAreasOnly) const
 Returns the smallest bounding box which contains all the displays in LOGICAL pixels. More...
 
template<typename ValueType >
Point< ValueType > logicalToPhysical (Point< ValueType > logicalPoint, const Display *useScaleFactorOfDisplay=nullptr) const noexcept
 Converts a Point from logical to physical pixels. More...
 
Rectangle< floatlogicalToPhysical (Rectangle< float > logicalRect, const Display *useScaleFactorOfDisplay=nullptr) const noexcept
 Converts a floating-point Rectangle from logical to physical pixels. More...
 
Rectangle< intlogicalToPhysical (Rectangle< int > logicalRect, const Display *useScaleFactorOfDisplay=nullptr) const noexcept
 Converts an integer Rectangle from logical to physical pixels. More...
 
template<typename ValueType >
Point< ValueType > physicalToLogical (Point< ValueType > physicalPoint, const Display *useScaleFactorOfDisplay=nullptr) const noexcept
 Converts a Point from physical to logical pixels. More...
 
Rectangle< floatphysicalToLogical (Rectangle< float > physicalRect, const Display *useScaleFactorOfDisplay=nullptr) const noexcept
 Converts a floating-point Rectangle from physical to logical pixels. More...
 
Rectangle< intphysicalToLogical (Rectangle< int > physicalRect, const Display *useScaleFactorOfDisplay=nullptr) const noexcept
 Converts an integer Rectangle from physical to logical pixels. More...
 

Public Attributes

Array< Displaydisplays
 An Array containing the Display objects for all of the connected displays. More...
 

Private Member Functions

 Displays (Desktop &)
 
void findDisplays (float masterScale)
 
void init (Desktop &)
 
void updateToLogical ()
 

Private Attributes

Display emptyDisplay
 

Friends

class Desktop
 

Detailed Description

Manages details about connected display devices.

@tags{GUI}

Constructor & Destructor Documentation

◆ Displays()

juce::Displays::Displays ( Desktop )
private

Member Function Documentation

◆ findDisplays()

void juce::Displays::findDisplays ( float  masterScale)
private

◆ getDisplayForPoint()

const Display* juce::Displays::getDisplayForPoint ( Point< int point,
bool  isPhysical = false 
) const
noexcept

Returns the Display object representing the display containing a given Point (either in logical or physical pixels), or nullptr if there are no connected displays.

If the Point lies outside all the displays then the nearest one will be returned.

◆ getDisplayForRect()

const Display* juce::Displays::getDisplayForRect ( Rectangle< int rect,
bool  isPhysical = false 
) const
noexcept

Returns the Display object representing the display containing a given Rectangle (either in logical or physical pixels), or nullptr if there are no connected displays.

If the Rectangle lies outside all the displays then the nearest one will be returned.

◆ getPrimaryDisplay()

const Display* juce::Displays::getPrimaryDisplay ( ) const
noexcept

Returns the Display object representing the display acting as the user's main screen, or nullptr if there are no connected displays.

Referenced by juce::OpenGLContext::NativeContext::updateWindowPosition().

◆ getRectangleList()

RectangleList<int> juce::Displays::getRectangleList ( bool  userAreasOnly) const

Returns a RectangleList made up of all the displays in LOGICAL pixels.

◆ getTotalBounds()

Rectangle<int> juce::Displays::getTotalBounds ( bool  userAreasOnly) const

Returns the smallest bounding box which contains all the displays in LOGICAL pixels.

◆ init()

void juce::Displays::init ( Desktop )
private

◆ logicalToPhysical() [1/3]

template<typename ValueType >
Point<ValueType> juce::Displays::logicalToPhysical ( Point< ValueType >  logicalPoint,
const Display useScaleFactorOfDisplay = nullptr 
) const
noexcept

Converts a Point from logical to physical pixels.

If useScaleFactorOfDisplay is not null then its scale factor will be used for the conversion regardless of the display that the Point to be converted is on.

◆ logicalToPhysical() [2/3]

Rectangle<float> juce::Displays::logicalToPhysical ( Rectangle< float logicalRect,
const Display useScaleFactorOfDisplay = nullptr 
) const
noexcept

Converts a floating-point Rectangle from logical to physical pixels.

If useScaleFactorOfDisplay is not null then its scale factor will be used for the conversion regardless of the display that the Rectangle to be converted is on.

◆ logicalToPhysical() [3/3]

Rectangle<int> juce::Displays::logicalToPhysical ( Rectangle< int logicalRect,
const Display useScaleFactorOfDisplay = nullptr 
) const
noexcept

Converts an integer Rectangle from logical to physical pixels.

If useScaleFactorOfDisplay is not null then its scale factor will be used for the conversion regardless of the display that the Rectangle to be converted is on.

Referenced by juce::UIATextProvider::UIATextRangeProvider::GetBoundingRectangles(), juce::OpenGLContext::NativeContext::NativeContext(), and juce::OpenGLContext::NativeContext::updateWindowPosition().

◆ physicalToLogical() [1/3]

template<typename ValueType >
Point<ValueType> juce::Displays::physicalToLogical ( Point< ValueType >  physicalPoint,
const Display useScaleFactorOfDisplay = nullptr 
) const
noexcept

Converts a Point from physical to logical pixels.

If useScaleFactorOfDisplay is not null then its scale factor will be used for the conversion regardless of the display that the Point to be converted is on.

◆ physicalToLogical() [2/3]

Rectangle<float> juce::Displays::physicalToLogical ( Rectangle< float physicalRect,
const Display useScaleFactorOfDisplay = nullptr 
) const
noexcept

Converts a floating-point Rectangle from physical to logical pixels.

If useScaleFactorOfDisplay is not null then its scale factor will be used for the conversion regardless of the display that the Rectangle to be converted is on.

◆ physicalToLogical() [3/3]

Rectangle<int> juce::Displays::physicalToLogical ( Rectangle< int physicalRect,
const Display useScaleFactorOfDisplay = nullptr 
) const
noexcept

Converts an integer Rectangle from physical to logical pixels.

If useScaleFactorOfDisplay is not null then its scale factor will be used for the conversion regardless of the display that the Rectangle to be converted is on.

◆ updateToLogical()

void juce::Displays::updateToLogical ( )
private

Friends And Related Function Documentation

◆ Desktop

friend class Desktop
friend

Member Data Documentation

◆ displays

Array<Display> juce::Displays::displays

An Array containing the Display objects for all of the connected displays.

◆ emptyDisplay

Display juce::Displays::emptyDisplay
private

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