MythTV  master
Public Slots | Signals | Public Member Functions | Private Attributes | List of all members
MythDisplayDRM Class Reference

#include <mythdisplaydrm.h>

Inheritance diagram for MythDisplayDRM:
Inheritance graph
[legend]
Collaboration diagram for MythDisplayDRM:
Collaboration graph
[legend]

Public Slots

void MainWindowReady ()
 
static bool DirectRenderingAvailable ()
 
void ScreenChanged (QScreen *qScreen) override
 
- Public Slots inherited from MythDisplay
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)
 

Signals

void screenChanged ()
 
- Signals inherited from MythDisplay
void CurrentScreenChanged (QScreen *qScreen)
 
void ScreenCountChanged (int Screens)
 
void CurrentDPIChanged (qreal DPI)
 

Public Member Functions

 MythDisplayDRM (MythMainWindow *MainWindow)
 
 ~MythDisplayDRM () override
 
bool IsPlanar () override
 
bool VideoModesAvailable () override
 
bool UsingVideoModes () override
 
void UpdateCurrentMode () override
 Retrieve screen details. More...
 
bool SwitchToVideoMode (QSize Size, double DesiredRate) override
 
const MythDisplayModesGetVideoModes () override
 
MythDRMPtr GetDevice ()
 
- Public Member Functions inherited from MythDisplay
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...
 
MythEDIDGetEDID ()
 
MythDisplayRates GetRefreshRates (QSize Size)
 
MythHDRPtr GetHDRState ()
 

Private Attributes

MythDRMPtr m_device
 
QMap< uint64_t, int > m_modeMap { }
 

Additional Inherited Members

- Static Public Member Functions inherited from MythDisplay
static void ConfigureQtGUI (int SwapInterval, const MythCommandLineParser &CmdLine)
 Shared static initialistaion 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 ()
 
- Protected Member Functions inherited from MythDisplay
 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 Protected Member Functions inherited from MythDisplay
static MythDisplayCreate (MythMainWindow *MainWindow)
 Create a MythDisplay object appropriate for the current platform. More...
 
static QScreen * GetDesiredScreen ()
 
static void DebugScreen (QScreen *qScreen, const QString &Message)
 
- Protected Attributes inherited from MythDisplay
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 }
 

Detailed Description

Definition at line 11 of file mythdisplaydrm.h.

Constructor & Destructor Documentation

◆ MythDisplayDRM()

MythDisplayDRM::MythDisplayDRM ( MythMainWindow MainWindow)

Definition at line 32 of file mythdisplaydrm.cpp.

◆ ~MythDisplayDRM()

MythDisplayDRM::~MythDisplayDRM ( )
override

Definition at line 44 of file mythdisplaydrm.cpp.

Member Function Documentation

◆ MainWindowReady

void MythDisplayDRM::MainWindowReady ( )
slot

Definition at line 9 of file mythdisplaydrm.cpp.

Referenced by MythDisplayDRM().

◆ DirectRenderingAvailable

bool MythDisplayDRM::DirectRenderingAvailable ( )
staticslot

◆ IsPlanar()

bool MythDisplayDRM::IsPlanar ( )
overridevirtual

Reimplemented from MythDisplay.

Definition at line 74 of file mythdisplaydrm.cpp.

◆ VideoModesAvailable()

bool MythDisplayDRM::VideoModesAvailable ( )
overridevirtual

Reimplemented from MythDisplay.

Definition at line 69 of file mythdisplaydrm.cpp.

◆ UsingVideoModes()

bool MythDisplayDRM::UsingVideoModes ( )
overridevirtual

Reimplemented from MythDisplay.

Definition at line 84 of file mythdisplaydrm.cpp.

◆ UpdateCurrentMode()

void MythDisplayDRM::UpdateCurrentMode ( )
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 91 of file mythdisplaydrm.cpp.

◆ SwitchToVideoMode()

bool MythDisplayDRM::SwitchToVideoMode ( QSize  Size,
double  DesiredRate 
)
overridevirtual

Reimplemented from MythDisplay.

Definition at line 163 of file mythdisplaydrm.cpp.

◆ GetVideoModes()

const MythDisplayModes & MythDisplayDRM::GetVideoModes ( )
overridevirtual

Reimplemented from MythDisplay.

Definition at line 107 of file mythdisplaydrm.cpp.

Referenced by UpdateCurrentMode().

◆ GetDevice()

MythDRMPtr MythDisplayDRM::GetDevice ( )

Definition at line 49 of file mythdisplaydrm.cpp.

Referenced by MythDRMHDR::Create(), and MythVRR::Create().

◆ screenChanged

void MythDisplayDRM::screenChanged ( )
signal

Referenced by ScreenChanged().

◆ ScreenChanged

void MythDisplayDRM::ScreenChanged ( QScreen *  qScreen)
overrideslot

Definition at line 56 of file mythdisplaydrm.cpp.

Member Data Documentation

◆ m_device

MythDRMPtr MythDisplayDRM::m_device
private

◆ m_modeMap

QMap<uint64_t, int> MythDisplayDRM::m_modeMap { }
private

Definition at line 40 of file mythdisplaydrm.h.

Referenced by GetVideoModes(), and SwitchToVideoMode().


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