MythTV
master
|
#include <mythdisplayrpi.h>
Public Member Functions | |
MythDisplayRPI () | |
~MythDisplayRPI () override | |
void | UpdateCurrentMode (void) override |
Retrieve screen details. More... | |
bool | VideoModesAvailable (void) override |
bool | UsingVideoModes (void) override |
bool | SwitchToVideoMode (QSize Size, double Framerate) override |
const MythDisplayModes & | GetVideoModes (void) override |
void | Callback (uint32_t Reason, uint32_t, uint32_t) |
![]() | |
virtual bool | IsPlanar () |
QStringList | GetDescription () |
QRect | GetScreenBounds () |
QScreen * | GetCurrentScreen () |
Return a pointer to the screen to use. More... | |
double | GetPixelAspectRatio () |
QSize | GetGUIResolution () |
bool | NextModeIsLarger (QSize Size) |
Check whether the next mode is larger in size than the current mode. More... | |
void | SwitchToDesktop () |
Return the screen to the original desktop video mode. More... | |
bool | SwitchToGUI (bool Wait=false) |
Switches to the GUI resolution. More... | |
bool | SwitchToVideo (QSize Size, double Rate=0.0) |
Switches to the resolution and refresh rate defined in the database for the specified video resolution and frame rate. More... | |
QSize | GetResolution () |
QSize | GetPhysicalSize () |
double | GetRefreshRate () const |
std::chrono::microseconds | GetRefreshInterval (std::chrono::microseconds Fallback) const |
double | GetAspectRatio (QString &Source, bool IgnoreModeOverride=false) |
Returns current screen aspect ratio. More... | |
double | EstimateVirtualAspectRatio () |
Estimate the overall display aspect ratio for multi screen setups. More... | |
MythEDID & | GetEDID () |
MythDisplayRates | GetRefreshRates (QSize Size) |
MythHDRPtr | GetHDRState () |
Private Member Functions | |
void | GetEDID (void) |
Private Attributes | |
QMutex | m_modeChangeLock { } |
QWaitCondition | m_modeChangeWait { } |
VCHI_INSTANCE_T | m_vchiInstance { nullptr } |
int | m_deviceId { -1 } |
QMap< uint64_t, QPair< uint32_t, uint32_t > > | m_modeMap { } |
Additional Inherited Members | |
![]() | |
virtual void | ScreenChanged (QScreen *qScreen) |
The actual screen in use has changed. We must use it. More... | |
static void | PrimaryScreenChanged (QScreen *qScreen) |
void | ScreenAdded (QScreen *qScreen) |
void | ScreenRemoved (QScreen *qScreen) |
void | PhysicalDPIChanged (qreal DPI) |
static void | GeometryChanged (QRect Geometry) |
![]() | |
void | CurrentScreenChanged (QScreen *qScreen) |
void | ScreenCountChanged (int Screens) |
void | CurrentDPIChanged (qreal DPI) |
![]() | |
static void | ConfigureQtGUI (int SwapInterval, const MythCommandLineParser &CmdLine) |
Shared static initialisation code for all MythTV GUI applications. More... | |
static bool | SpanAllScreens () |
Return true if the MythTV windows should span all screens. More... | |
static QString | GetExtraScreenInfo (QScreen *qScreen) |
static int | GetScreenCount () |
![]() | |
MythDisplay () | |
~MythDisplay () override | |
void | DebugModes () const |
void | SetWidget (QWidget *MainWindow) |
Set the QWidget and QWindow in use. More... | |
void | Initialise () |
void | InitScreenBounds () |
Get screen size from Qt while respecting the user's multiscreen settings. More... | |
void | WaitForScreenChange () |
void | WaitForNewScreen () |
void | InitHDR () |
![]() | |
static MythDisplay * | Create (MythMainWindow *MainWindow) |
Create a MythDisplay object appropriate for the current platform. More... | |
static QScreen * | GetDesiredScreen () |
static void | DebugScreen (QScreen *qScreen, const QString &Message) |
![]() | |
bool | m_waitForModeChanges { true } |
bool | m_modeComplete { false } |
double | m_refreshRate { 0.0 } |
double | m_aspectRatioOverride { 0.0 } |
QSize | m_resolution { 0, 0 } |
QSize | m_physicalSize { 0, 0 } |
MythEDID | m_edid { } |
QWidget * | m_widget { nullptr } |
QWindow * | m_window { nullptr } |
QScreen * | m_screen { nullptr } |
MythDisplayModes | m_videoModes { } |
MythHDRPtr | m_hdrState { nullptr } |
MythVRRPtr | m_vrrState { nullptr } |
MythDisplayRPI uses Broadcom specific APIs to access display information and set the current video mode. It should be used when an X11 display is not present (MythDisplayX11 will offer complete functionality) and is preferred to MythDisplayDRM - which currently has no mode switching functionality.
Definition at line 16 of file mythdisplayrpi.h.
MythDisplayRPI::MythDisplayRPI | ( | ) |
Definition at line 53 of file mythdisplayrpi.cpp.
|
override |
Definition at line 97 of file mythdisplayrpi.cpp.
|
overridevirtual |
Retrieve screen details.
This is the final fallback when no other platform specifics are available It is usually accurate apart from the refresh rate - which is often rounded down.
Reimplemented from MythDisplay.
Definition at line 110 of file mythdisplayrpi.cpp.
|
inlineoverridevirtual |
Reimplemented from MythDisplay.
Definition at line 25 of file mythdisplayrpi.h.
|
overridevirtual |
Reimplemented from MythDisplay.
Definition at line 164 of file mythdisplayrpi.cpp.
|
overridevirtual |
Reimplemented from MythDisplay.
Definition at line 237 of file mythdisplayrpi.cpp.
|
overridevirtual |
Reimplemented from MythDisplay.
Definition at line 171 of file mythdisplayrpi.cpp.
void MythDisplayRPI::Callback | ( | uint32_t | Reason, |
uint32_t | , | ||
uint32_t | |||
) |
Definition at line 104 of file mythdisplayrpi.cpp.
Referenced by MythTVServiceCallback().
|
private |
Definition at line 134 of file mythdisplayrpi.cpp.
Referenced by UpdateCurrentMode().
|
private |
Definition at line 34 of file mythdisplayrpi.h.
Referenced by SwitchToVideoMode().
|
private |
Definition at line 35 of file mythdisplayrpi.h.
Referenced by Callback(), and SwitchToVideoMode().
|
private |
Definition at line 36 of file mythdisplayrpi.h.
Referenced by MythDisplayRPI(), and ~MythDisplayRPI().
|
private |
Definition at line 37 of file mythdisplayrpi.h.
Referenced by GetEDID(), GetVideoModes(), MythDisplayRPI(), SwitchToVideoMode(), and UpdateCurrentMode().
|
private |
Definition at line 38 of file mythdisplayrpi.h.
Referenced by GetVideoModes(), and SwitchToVideoMode().