2008-03-08 08:52:38 -05:00
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
// Name: display.h
|
2008-03-10 11:24:38 -04:00
|
|
|
// Purpose: interface of wxDisplay
|
2008-03-08 08:52:38 -05:00
|
|
|
// Author: wxWidgets team
|
2010-07-13 09:29:13 -04:00
|
|
|
// Licence: wxWindows licence
|
2008-03-08 08:52:38 -05:00
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
/**
|
|
|
|
@class wxDisplay
|
2008-03-08 09:43:31 -05:00
|
|
|
|
2008-03-08 08:52:38 -05:00
|
|
|
Determines the sizes and locations of displays connected to the system.
|
2008-03-08 09:43:31 -05:00
|
|
|
|
2008-03-08 08:52:38 -05:00
|
|
|
@library{wxcore}
|
2009-02-20 06:34:52 -05:00
|
|
|
@category{cfg}
|
2008-03-08 08:52:38 -05:00
|
|
|
*/
|
2008-03-08 09:43:31 -05:00
|
|
|
class wxDisplay
|
2008-03-08 08:52:38 -05:00
|
|
|
{
|
|
|
|
public:
|
2019-11-07 18:26:20 -05:00
|
|
|
/**
|
|
|
|
Default constructor creating wxDisplay object representing the primary
|
|
|
|
display.
|
|
|
|
*/
|
|
|
|
wxDisplay();
|
|
|
|
|
2008-03-08 08:52:38 -05:00
|
|
|
/**
|
2008-04-20 21:40:12 -04:00
|
|
|
Constructor, setting up a wxDisplay instance with the specified
|
|
|
|
display.
|
2008-03-20 09:45:17 -04:00
|
|
|
|
2008-03-08 09:43:31 -05:00
|
|
|
@param index
|
2008-04-20 21:40:12 -04:00
|
|
|
The index of the display to use. This must be non-negative and
|
|
|
|
lower than the value returned by GetCount().
|
2008-03-08 08:52:38 -05:00
|
|
|
*/
|
2019-11-07 18:26:20 -05:00
|
|
|
explicit wxDisplay(unsigned int index);
|
2018-10-31 19:02:47 -04:00
|
|
|
|
|
|
|
/**
|
|
|
|
Constructor creating the display object associated with the given
|
|
|
|
window.
|
|
|
|
|
|
|
|
This is the most convenient way of finding the display on which the
|
|
|
|
given window is shown while falling back to the default display if it
|
|
|
|
is not shown at all or positioned outside of any display.
|
|
|
|
|
|
|
|
@param window
|
|
|
|
A valid, i.e. non-null, window.
|
|
|
|
|
|
|
|
@see GetFromWindow()
|
|
|
|
|
|
|
|
@since 3.1.2
|
|
|
|
*/
|
|
|
|
explicit wxDisplay(const wxWindow* window);
|
2008-03-08 08:52:38 -05:00
|
|
|
|
|
|
|
/**
|
|
|
|
Destructor.
|
|
|
|
*/
|
|
|
|
~wxDisplay();
|
|
|
|
|
|
|
|
/**
|
2008-04-20 21:40:12 -04:00
|
|
|
Changes the video mode of this display to the mode specified in the
|
|
|
|
mode parameter.
|
|
|
|
|
|
|
|
If wxDefaultVideoMode is passed in as the mode parameter, the defined
|
|
|
|
behaviour is that wxDisplay will reset the video mode to the default
|
2011-03-22 10:17:38 -04:00
|
|
|
mode used by the display. On Windows, the behaviour is normal. However,
|
2008-04-20 21:40:12 -04:00
|
|
|
there are differences on other platforms. On Unix variations using X11
|
|
|
|
extensions it should behave as defined, but some irregularities may
|
|
|
|
occur.
|
2008-03-08 08:52:38 -05:00
|
|
|
*/
|
|
|
|
bool ChangeMode(const wxVideoMode& mode = wxDefaultVideoMode);
|
|
|
|
|
|
|
|
/**
|
2008-04-20 21:40:12 -04:00
|
|
|
Returns the client area of the display. The client area is the part of
|
|
|
|
the display available for the normal (non full screen) windows, usually
|
|
|
|
it is the same as GetGeometry() but it could be less if there is a
|
|
|
|
taskbar (or equivalent) on this display.
|
2008-03-08 08:52:38 -05:00
|
|
|
*/
|
2008-03-09 12:24:26 -04:00
|
|
|
wxRect GetClientArea() const;
|
2008-03-08 08:52:38 -05:00
|
|
|
|
|
|
|
/**
|
|
|
|
Returns the number of connected displays.
|
|
|
|
*/
|
2009-01-10 17:42:09 -05:00
|
|
|
static unsigned int GetCount();
|
2008-03-08 08:52:38 -05:00
|
|
|
|
|
|
|
/**
|
|
|
|
Returns the current video mode that this display is in.
|
|
|
|
*/
|
2008-03-09 12:24:26 -04:00
|
|
|
wxVideoMode GetCurrentMode() const;
|
2008-03-08 08:52:38 -05:00
|
|
|
|
|
|
|
/**
|
2008-04-20 21:40:12 -04:00
|
|
|
Returns the index of the display on which the given point lies, or
|
2008-03-08 08:52:38 -05:00
|
|
|
@c wxNOT_FOUND if the point is not on any connected display.
|
2008-03-20 09:45:17 -04:00
|
|
|
|
2008-03-08 09:43:31 -05:00
|
|
|
@param pt
|
2008-03-09 08:33:59 -04:00
|
|
|
The point to locate.
|
2008-03-08 08:52:38 -05:00
|
|
|
*/
|
|
|
|
static int GetFromPoint(const wxPoint& pt);
|
|
|
|
|
|
|
|
/**
|
|
|
|
Returns the index of the display on which the given window lies.
|
2008-04-20 21:40:12 -04:00
|
|
|
|
|
|
|
If the window is on more than one display it gets the display that
|
|
|
|
overlaps the window the most.
|
|
|
|
|
2008-03-08 08:52:38 -05:00
|
|
|
Returns @c wxNOT_FOUND if the window is not on any connected display.
|
2008-03-20 09:45:17 -04:00
|
|
|
|
2008-03-08 09:43:31 -05:00
|
|
|
@param win
|
2008-03-09 08:33:59 -04:00
|
|
|
The window to locate.
|
2008-03-08 08:52:38 -05:00
|
|
|
*/
|
|
|
|
static int GetFromWindow(const wxWindow* win);
|
|
|
|
|
|
|
|
/**
|
2008-04-20 21:40:12 -04:00
|
|
|
Returns the bounding rectangle of the display whose index was passed to
|
|
|
|
the constructor.
|
|
|
|
|
|
|
|
@see GetClientArea(), wxDisplaySize()
|
2008-03-08 08:52:38 -05:00
|
|
|
*/
|
2008-03-09 12:24:26 -04:00
|
|
|
wxRect GetGeometry() const;
|
2008-03-08 08:52:38 -05:00
|
|
|
|
|
|
|
/**
|
2008-04-20 21:40:12 -04:00
|
|
|
Fills and returns an array with all the video modes that are supported
|
|
|
|
by this display, or video modes that are supported by this display and
|
|
|
|
match the mode parameter (if mode is not wxDefaultVideoMode).
|
2008-03-08 08:52:38 -05:00
|
|
|
*/
|
2008-03-09 12:24:26 -04:00
|
|
|
wxArrayVideoModes GetModes(const wxVideoMode& mode = wxDefaultVideoMode) const;
|
2008-03-08 08:52:38 -05:00
|
|
|
|
|
|
|
/**
|
2018-10-04 10:38:10 -04:00
|
|
|
Returns the display's name.
|
|
|
|
|
|
|
|
The returned value is currently an empty string under all platforms
|
|
|
|
except MSW.
|
2008-03-08 08:52:38 -05:00
|
|
|
*/
|
2008-03-09 12:24:26 -04:00
|
|
|
wxString GetName() const;
|
2008-03-08 08:52:38 -05:00
|
|
|
|
2018-10-06 17:21:45 -04:00
|
|
|
/**
|
|
|
|
Returns display resolution in pixels per inch.
|
|
|
|
|
|
|
|
Horizontal and vertical resolution are returned in @c x and @c y
|
|
|
|
components of the wxSize object respectively.
|
|
|
|
|
|
|
|
If the resolution information is not available, returns @code wxSize(0,
|
|
|
|
0) @endcode.
|
|
|
|
|
|
|
|
@since 3.1.2
|
|
|
|
*/
|
|
|
|
wxSize GetPPI() const;
|
|
|
|
|
2020-08-06 18:10:22 -04:00
|
|
|
/**
|
|
|
|
Returns scaling factor used by this display.
|
|
|
|
|
|
|
|
The scaling factor is the ratio between GetPPI() and GetStdPPI()
|
|
|
|
(it is implicitly assumed that this ratio is the same for both
|
|
|
|
horizontal and vertical components).
|
|
|
|
|
|
|
|
@see wxWindow::GetContentScaleFactor(), wxWindow::GetDPIScaleFactor()
|
|
|
|
|
|
|
|
@since 3.1.5
|
|
|
|
*/
|
|
|
|
double GetScaleFactor() const;
|
|
|
|
|
2020-08-06 17:54:48 -04:00
|
|
|
/**
|
|
|
|
Returns default display resolution for the current platform in pixels
|
|
|
|
per inch.
|
|
|
|
|
|
|
|
This function mostly used internally, use GetPPI() to get the actual
|
|
|
|
display resolution.
|
|
|
|
|
|
|
|
Currently the standard PPI is the same in both horizontal and vertical
|
|
|
|
directions on all platforms and its value is 96 everywhere except under
|
|
|
|
Apple devices (those running macOS, iOS, watchOS etc), where it is 72.
|
|
|
|
|
|
|
|
@see GetStdPPI()
|
|
|
|
|
|
|
|
@since 3.1.5
|
|
|
|
*/
|
|
|
|
static int GetStdPPIValue();
|
|
|
|
|
|
|
|
/**
|
|
|
|
Returns default display resolution for the current platform as wxSize.
|
|
|
|
|
|
|
|
This function is equivalent to constructing wxSize object with both
|
|
|
|
components set to GetStdPPIValue().
|
|
|
|
|
|
|
|
@since 3.1.5
|
|
|
|
*/
|
|
|
|
static wxSize GetStdPPI();
|
|
|
|
|
2008-03-08 08:52:38 -05:00
|
|
|
/**
|
2008-04-20 21:40:12 -04:00
|
|
|
Returns @true if the display is the primary display. The primary
|
|
|
|
display is the one whose index is 0.
|
2008-03-08 08:52:38 -05:00
|
|
|
*/
|
2008-09-27 07:21:10 -04:00
|
|
|
bool IsPrimary() const;
|
2008-03-08 08:52:38 -05:00
|
|
|
};
|
2008-03-10 11:24:38 -04:00
|
|
|
|