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

#include <mythvideobounds.h>

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

Public Slots

void ScreenChanged (QScreen *screen)
 
void PhysicalDPIChanged (qreal)
 
void SourceChanged (const QSize &VideoDim, const QSize &VideoDispDim, float Aspect)
 Update for new source video dimensions and aspect ratio. More...
 
void VideoAspectRatioChanged (float Aspect)
 Calls SetVideoAspectRatio(float aspect), then calls MoveResize() to apply changes. More...
 
virtual void EmbedPlayback (bool Embed, const QRect &Rect)
 
void ToggleAdjustFill (AdjustFillMode AdjustFillMode=kAdjustFill_Toggle)
 Sets up letterboxing for various standard video frame and monitor dimensions, then calls MoveResize() to apply them. More...
 
void ToggleAspectOverride (AspectOverrideMode AspectMode=kAspect_Toggle)
 Enforce different aspect ratio than detected, then calls VideoAspectRatioChanged(float) to apply them. More...
 
void ResizeDisplayWindow (const QRect &Rect, bool SaveVisibleRect)
 Resize Display Window. More...
 
void MoveResize (void)
 performs all the calculations for video framing and any resizing. More...
 
void Zoom (ZoomDirection Direction)
 Sets up zooming into to different parts of the video. More...
 
void ToggleMoveBottomLine (void)
 
void SaveBottomLine (void)
 
void SetVideoScalingAllowed (bool Change)
 Disable or enable underscan/overscan. More...
 
void SetDisplayAspect (float DisplayAspect)
 
void SetWindowSize (QSize Size)
 
void SetITVResize (QRect Rect)
 
void SetRotation (int Rotation)
 Set the rotation in degrees. More...
 
void SetStereoOverride (StereoscopicMode Mode)
 

Signals

void UpdateOSDMessage (const QString &Message)
 
void VideoSizeChanged (const QSize &VideoDim, const QSize &VideoDispDim)
 
void VideoRectsChanged (const QRect &DisplayVideoRect, const QRect &VideoRect)
 
void VisibleRectChanged (const QRect &DisplayVisibleRect)
 
void WindowRectChanged (const QRect &WindowRect)
 

Public Member Functions

 MythVideoBounds ()
 
 ~MythVideoBounds () override=default
 
bool InitBounds (const QSize &VideoDim, const QSize &VideoDispDim, float Aspect, const QRect &WindowRect)
 
void SetDisplay (MythDisplay *mDisplay)
 
bool IsEmbedding (void) const
 
bool IsEmbeddingAndHidden () const
 
QSize GetVideoDim (void) const
 
QSize GetVideoDispDim (void) const
 
float GetOverridenVideoAspect (void) const
 
QRect GetDisplayVisibleRect (void) const
 
QRect GetWindowRect (void) const
 
QRect GetRawWindowRect (void) const
 
QRect GetVideoRect (void) const
 
QRect GetDisplayVideoRect (void) const
 
QRect GetEmbeddingRect (void) const
 
bool UsingGuiSize (void) const
 
QString GetZoomString (void) const
 
AspectOverrideMode GetAspectOverride (void) const
 
AdjustFillMode GetAdjustFill (void) const
 
float GetVideoAspect (void) const
 
float GetDisplayAspect (void) const
 
StereoscopicMode GetStereoOverride () const
 
bool VideoIsFullScreen (void) const
 Check whether the video display rect covers the entire window/framebuffer. More...
 
QRegion GetBoundingRegion (void) const
 Return the region of DisplayVisibleRect that lies outside of DisplayVideoRect. More...
 

Protected Attributes

MythDisplaym_display {nullptr}
 

Private Member Functions

void PopulateGeometry (void)
 
void ApplyDBScaleAndMove (void)
 Apply scales and moves for "Overscan" and "Underscan" DB settings. More...
 
void ApplyManualScaleAndMove (void)
 Apply scales and moves from "Zoom Mode" settings. More...
 
void ApplyLetterboxing (void)
 
void PrintMoveResizeDebug (void)
 
void SetVideoAspectRatio (float Aspect)
 Sets MythVideoBounds::video_aspect to aspect, and sets MythVideoBounds::overriden_video_aspect if aspectoverride is set to either 4:3, 14:9 or 16:9. More...
 
void Rotate (void)
 Adjust various settings to facilitate portrait mode calculations. More...
 

Static Private Member Functions

static QSize Fix1088 (QSize Dimensions)
 

Private Attributes

QPoint m_dbMove {0,0}
 Percentage move from database. More...
 
float m_dbHorizScale {0.0F}
 Horizontal Overscan/Underscan percentage. More...
 
float m_dbVertScale {0.0F}
 Vertical Overscan/Underscan percentage. More...
 
bool m_dbScalingAllowed {true}
 disable this to prevent overscan/underscan More...
 
bool m_dbUseGUISize {false}
 Use the gui size for video window. More...
 
AspectOverrideMode m_dbAspectOverride { kAspect_Off }
 
AdjustFillMode m_dbAdjustFill { kAdjustFill_Off }
 
qreal m_devicePixelRatio {1.0}
 
float m_manualVertScale {1.0F}
 Manually applied vertical scaling. More...
 
float m_manualHorizScale {1.0F}
 Manually applied horizontal scaling. More...
 
QPoint m_manualMove {0,0}
 Manually applied percentage move. More...
 
float m_displayAspect {1.3333F}
 Physical aspect ratio of playback window. More...
 
QSize m_videoDim {640,480}
 Pixel dimensions of video buffer. More...
 
QSize m_videoDispDim {640,480}
 Pixel dimensions of video display area. More...
 
float m_videoAspect {1.3333F}
 Physical aspect ratio of video. More...
 
float m_videoAspectOverride {1.3333F}
 Normally this is the same as videoAspect, but may not be if the user has toggled the aspect override mode. More...
 
AspectOverrideMode m_videoAspectOverrideMode {kAspect_Off}
 AspectOverrideMode to use to modify overriden_video_aspect. More...
 
AdjustFillMode m_adjustFill {kAdjustFill_Off}
 Zoom mode. More...
 
int m_rotation {0}
 
StereoscopicMode m_stereoOverride { kStereoscopicModeAuto }
 
QRect m_videoRect {0,0,0,0}
 Pixel rectangle in video frame to display. More...
 
QRect m_displayVideoRect {0,0,0,0}
 Pixel rectangle in display window into which video_rect maps to. More...
 
QRect m_displayVisibleRect {0,0,0,0}
 Visible portion of display window in pixels. More...
 
QRect m_windowRect {0,0,0,0}
 Rectangle describing QWidget bounds. More...
 
QRect m_rawWindowRect {0,0,0,0}
 Rectangle describing QWidget bounds - not adjusted for high DPI scaling (macos) More...
 
QRect m_tmpDisplayVisibleRect {0,0,0,0}
 Used to save the display_visible_rect for restoration after video embedding ends. More...
 
QRect m_embeddingRect
 Embedded video rectangle. More...
 
QRect m_rawEmbeddingRect
 
bool m_itvResizing {false}
 
QRect m_itvDisplayVideoRect
 
QRect m_rawItvDisplayVideoRect
 
bool m_embedding {false}
 State variables. More...
 
bool m_embeddingHidden { false }
 
bool m_bottomLine {false}
 

Static Private Attributes

static const float kManualZoomMaxHorizontalZoom = 4.0F
 
static const float kManualZoomMaxVerticalZoom = 4.0F
 
static const float kManualZoomMinHorizontalZoom = 0.25F
 
static const float kManualZoomMinVerticalZoom = 0.25F
 
static const int kManualZoomMaxMove = 50
 

Detailed Description

Definition at line 22 of file mythvideobounds.h.

Constructor & Destructor Documentation

◆ MythVideoBounds()

MythVideoBounds::MythVideoBounds ( )

Definition at line 53 of file mythvideobounds.cpp.

◆ ~MythVideoBounds()

MythVideoBounds::~MythVideoBounds ( )
overridedefault

Member Function Documentation

◆ InitBounds()

bool MythVideoBounds::InitBounds ( const QSize &  VideoDim,
const QSize &  VideoDispDim,
float  Aspect,
const QRect &  WindowRect 
)

Definition at line 438 of file mythvideobounds.cpp.

Referenced by MythVideoOutput::Init().

◆ SetDisplay()

void MythVideoBounds::SetDisplay ( MythDisplay mDisplay)

Definition at line 62 of file mythvideobounds.cpp.

Referenced by MythVideoOutputGPU::MythVideoOutputGPU().

◆ UpdateOSDMessage

void MythVideoBounds::UpdateOSDMessage ( const QString &  Message)
signal

◆ VideoSizeChanged

void MythVideoBounds::VideoSizeChanged ( const QSize &  VideoDim,
const QSize &  VideoDispDim 
)
signal

◆ VideoRectsChanged

void MythVideoBounds::VideoRectsChanged ( const QRect &  DisplayVideoRect,
const QRect &  VideoRect 
)
signal

◆ VisibleRectChanged

void MythVideoBounds::VisibleRectChanged ( const QRect &  DisplayVisibleRect)
signal

Referenced by MoveResize().

◆ WindowRectChanged

void MythVideoBounds::WindowRectChanged ( const QRect &  WindowRect)
signal

◆ ScreenChanged

void MythVideoBounds::ScreenChanged ( QScreen *  screen)
slot

Definition at line 77 of file mythvideobounds.cpp.

Referenced by SetDisplay().

◆ PhysicalDPIChanged

void MythVideoBounds::PhysicalDPIChanged ( qreal  )
slot

Definition at line 83 of file mythvideobounds.cpp.

Referenced by SetDisplay().

◆ SourceChanged

void MythVideoBounds::SourceChanged ( const QSize &  VideoDim,
const QSize &  VideoDispDim,
float  Aspect 
)
slot

Update for new source video dimensions and aspect ratio.

Definition at line 511 of file mythvideobounds.cpp.

Referenced by MythVideoOutput::InputChanged(), MythVideoGPU::MythVideoGPU(), and MythVideoOutputGPU::ProcessInputChange().

◆ VideoAspectRatioChanged

void MythVideoBounds::VideoAspectRatioChanged ( float  Aspect)
slot

Calls SetVideoAspectRatio(float aspect), then calls MoveResize() to apply changes.

Parameters
Aspectvideo aspect ratio to use

Definition at line 499 of file mythvideobounds.cpp.

Referenced by MythPlayer::CheckAspectRatio(), MythVideoOutput::Init(), and VideoOutputD3D::InputChanged().

◆ EmbedPlayback

void MythVideoBounds::EmbedPlayback ( bool  Embed,
const QRect &  Rect 
)
virtualslot

◆ ToggleAdjustFill

void MythVideoBounds::ToggleAdjustFill ( AdjustFillMode  AdjustFill = kAdjustFill_Toggle)
slot

Sets up letterboxing for various standard video frame and monitor dimensions, then calls MoveResize() to apply them.

See also
Zoom(ZoomDirection), ToggleAspectOverride(AspectOverrideMode)

Definition at line 553 of file mythvideobounds.cpp.

Referenced by DetectLetterbox::SwitchTo(), and MythPlayerUI::ToggleAdjustFill().

◆ ToggleAspectOverride

void MythVideoBounds::ToggleAspectOverride ( AspectOverrideMode  AspectMode = kAspect_Toggle)
slot

Enforce different aspect ratio than detected, then calls VideoAspectRatioChanged(float) to apply them.

See also
Zoom(ZoomDirection), ToggleAdjustFill(AdjustFillMode)

Definition at line 709 of file mythvideobounds.cpp.

Referenced by MythPlayer::ToggleAspectOverride().

◆ ResizeDisplayWindow

void MythVideoBounds::ResizeDisplayWindow ( const QRect &  Rect,
bool  SaveVisibleRect 
)
slot

Resize Display Window.

Definition at line 663 of file mythvideobounds.cpp.

Referenced by EmbedPlayback().

◆ MoveResize

void MythVideoBounds::MoveResize ( void  )
slot

performs all the calculations for video framing and any resizing.

First we apply playback over/underscanning and offsetting, then we letterbox settings, and finally we apply manual scale & move properties for "Zoom Mode".

See also
Zoom(ZoomDirection), ToggleAdjustFill(int)

Definition at line 125 of file mythvideobounds.cpp.

Referenced by EmbedPlayback(), VideoOutputD3D::Init(), MythVideoOutputNull::Init(), InitBounds(), VideoOutputD3D::InputChanged(), MythVideoOutputNull::InputChanged(), PhysicalDPIChanged(), ResizeDisplayWindow(), ScreenChanged(), SetDisplayAspect(), SetITVResize(), SetRotation(), SetVideoScalingAllowed(), SetWindowSize(), SourceChanged(), ToggleAdjustFill(), ToggleAspectOverride(), ToggleMoveBottomLine(), VideoAspectRatioChanged(), and Zoom().

◆ Zoom

void MythVideoBounds::Zoom ( ZoomDirection  Direction)
slot

Sets up zooming into to different parts of the video.

See also
ToggleAdjustFill(AdjustFillMode)

Definition at line 751 of file mythvideobounds.cpp.

Referenced by MythPlayer::Zoom().

◆ ToggleMoveBottomLine

void MythVideoBounds::ToggleMoveBottomLine ( void  )
slot

Definition at line 843 of file mythvideobounds.cpp.

Referenced by MythPlayer::ToggleMoveBottomLine().

◆ SaveBottomLine

void MythVideoBounds::SaveBottomLine ( void  )
slot

Definition at line 880 of file mythvideobounds.cpp.

Referenced by MythPlayer::SaveBottomLine().

◆ SetVideoScalingAllowed

void MythVideoBounds::SetVideoScalingAllowed ( bool  Change)
slot

Disable or enable underscan/overscan.

Definition at line 568 of file mythvideobounds.cpp.

◆ SetDisplayAspect

void MythVideoBounds::SetDisplayAspect ( float  DisplayAspect)
slot

◆ SetWindowSize

void MythVideoBounds::SetWindowSize ( QSize  Size)
slot

◆ SetITVResize

void MythVideoBounds::SetITVResize ( QRect  Rect)
slot

Definition at line 619 of file mythvideobounds.cpp.

Referenced by MythPlayer::SetVideoResize().

◆ SetRotation

void MythVideoBounds::SetRotation ( int  Rotation)
slot

Set the rotation in degrees.

Note
We only actually care about +- 90 here to enable 'portrait' mode

Definition at line 648 of file mythvideobounds.cpp.

Referenced by MythVideoOutputGPU::PrepareFrame().

◆ SetStereoOverride

void MythVideoBounds::SetStereoOverride ( StereoscopicMode  Mode)
slot

Definition at line 917 of file mythvideobounds.cpp.

Referenced by MythPlayerVideoUI::InitVideo().

◆ IsEmbedding()

bool MythVideoBounds::IsEmbedding ( void  ) const
inline

◆ IsEmbeddingAndHidden()

bool MythVideoBounds::IsEmbeddingAndHidden ( ) const
inline

Definition at line 66 of file mythvideobounds.h.

◆ GetVideoDim()

QSize MythVideoBounds::GetVideoDim ( void  ) const
inline

◆ GetVideoDispDim()

QSize MythVideoBounds::GetVideoDispDim ( void  ) const
inline

◆ GetOverridenVideoAspect()

float MythVideoBounds::GetOverridenVideoAspect ( void  ) const
inline

Definition at line 69 of file mythvideobounds.h.

Referenced by MythVideoOutput::GetVisibleOSDBounds().

◆ GetDisplayVisibleRect()

QRect MythVideoBounds::GetDisplayVisibleRect ( void  ) const
inline

◆ GetWindowRect()

QRect MythVideoBounds::GetWindowRect ( void  ) const
inline

◆ GetRawWindowRect()

QRect MythVideoBounds::GetRawWindowRect ( void  ) const
inline

◆ GetVideoRect()

QRect MythVideoBounds::GetVideoRect ( void  ) const
inline

◆ GetDisplayVideoRect()

QRect MythVideoBounds::GetDisplayVideoRect ( void  ) const
inline

◆ GetEmbeddingRect()

QRect MythVideoBounds::GetEmbeddingRect ( void  ) const
inline

◆ UsingGuiSize()

bool MythVideoBounds::UsingGuiSize ( void  ) const
inline

Definition at line 76 of file mythvideobounds.h.

Referenced by MythVideoOutputGPU::ResizeForVideo().

◆ GetZoomString()

QString MythVideoBounds::GetZoomString ( void  ) const

Definition at line 888 of file mythvideobounds.cpp.

Referenced by TV::ManualZoomHandleAction(), and TV::ToggleMoveBottomLine().

◆ GetAspectOverride()

AspectOverrideMode MythVideoBounds::GetAspectOverride ( void  ) const
inline

Definition at line 78 of file mythvideobounds.h.

Referenced by MythPlayer::GetAspectOverride().

◆ GetAdjustFill()

AdjustFillMode MythVideoBounds::GetAdjustFill ( void  ) const
inline

Definition at line 79 of file mythvideobounds.h.

Referenced by MythPlayer::GetAdjustFill().

◆ GetVideoAspect()

float MythVideoBounds::GetVideoAspect ( void  ) const
inline

Definition at line 80 of file mythvideobounds.h.

Referenced by MythVideoOutputGPU::InputChanged().

◆ GetDisplayAspect()

float MythVideoBounds::GetDisplayAspect ( void  ) const
inline

◆ GetStereoOverride()

StereoscopicMode MythVideoBounds::GetStereoOverride ( ) const
inline

Definition at line 82 of file mythvideobounds.h.

Referenced by TV::PlaybackMenuInit(), and MythVideoOutputGPU::RenderFrame().

◆ VideoIsFullScreen()

bool MythVideoBounds::VideoIsFullScreen ( void  ) const

Check whether the video display rect covers the entire window/framebuffer.

Used to avoid unnecessary screen clearing when possible.

Definition at line 728 of file mythvideobounds.cpp.

Referenced by MythVideoOutputOpenGL::RenderFrame().

◆ GetBoundingRegion()

QRegion MythVideoBounds::GetBoundingRegion ( void  ) const

Return the region of DisplayVisibleRect that lies outside of DisplayVideoRect.

Note
This assumes VideoIsFullScreen has already been checked

Definition at line 740 of file mythvideobounds.cpp.

Referenced by MythVideoOutputOpenGL::RenderFrame().

◆ PopulateGeometry()

void MythVideoBounds::PopulateGeometry ( void  )
private

Definition at line 91 of file mythvideobounds.cpp.

Referenced by InitBounds(), PhysicalDPIChanged(), and ScreenChanged().

◆ ApplyDBScaleAndMove()

void MythVideoBounds::ApplyDBScaleAndMove ( void  )
private

Apply scales and moves for "Overscan" and "Underscan" DB settings.

It doesn't make any sense to me to offset an image such that it is clipped. Therefore, we only apply offsets if there is an underscan or overscan which creates "room" to move the image around. That is, if we overscan, we can move the "viewport". If we underscan, we change where we place the image into the display window. If no over/underscanning is performed, you just get the full original image scaled into the full display area.

Definition at line 205 of file mythvideobounds.cpp.

Referenced by MoveResize().

◆ ApplyManualScaleAndMove()

void MythVideoBounds::ApplyManualScaleAndMove ( void  )
private

Apply scales and moves from "Zoom Mode" settings.

Definition at line 308 of file mythvideobounds.cpp.

Referenced by MoveResize().

◆ ApplyLetterboxing()

void MythVideoBounds::ApplyLetterboxing ( void  )
private

Definition at line 336 of file mythvideobounds.cpp.

Referenced by MoveResize().

◆ PrintMoveResizeDebug()

void MythVideoBounds::PrintMoveResizeDebug ( void  )
private

Definition at line 466 of file mythvideobounds.cpp.

Referenced by MoveResize().

◆ SetVideoAspectRatio()

void MythVideoBounds::SetVideoAspectRatio ( float  aspect)
private

Sets MythVideoBounds::video_aspect to aspect, and sets MythVideoBounds::overriden_video_aspect if aspectoverride is set to either 4:3, 14:9 or 16:9.

Parameters
aspectvideo aspect ratio to use

Definition at line 488 of file mythvideobounds.cpp.

Referenced by InitBounds(), SourceChanged(), ToggleAspectOverride(), and VideoAspectRatioChanged().

◆ Fix1088()

QSize MythVideoBounds::Fix1088 ( QSize  Dimensions)
staticprivate

Definition at line 533 of file mythvideobounds.cpp.

Referenced by InitBounds(), and SourceChanged().

◆ Rotate()

void MythVideoBounds::Rotate ( void  )
private

Adjust various settings to facilitate portrait mode calculations.

This mimics rotating the screen around the video. While more complicated than simply adjusting the video dimensions and aspect ratio, this retains the correct video rectangle for use in the VideoOutput classes.

Note
To prevent a loss of precision over multiple passes, the original display aspect ratio should be retained elsewhere.

Definition at line 170 of file mythvideobounds.cpp.

Referenced by MoveResize().

Member Data Documentation

◆ m_display

MythDisplay* MythVideoBounds::m_display {nullptr}
protected

◆ m_dbMove

QPoint MythVideoBounds::m_dbMove {0,0}
private

Percentage move from database.

Definition at line 101 of file mythvideobounds.h.

Referenced by ApplyDBScaleAndMove(), MythVideoBounds(), and Rotate().

◆ m_dbHorizScale

float MythVideoBounds::m_dbHorizScale {0.0F}
private

Horizontal Overscan/Underscan percentage.

Definition at line 102 of file mythvideobounds.h.

Referenced by ApplyDBScaleAndMove(), Rotate(), and SetVideoScalingAllowed().

◆ m_dbVertScale

float MythVideoBounds::m_dbVertScale {0.0F}
private

Vertical Overscan/Underscan percentage.

Definition at line 103 of file mythvideobounds.h.

Referenced by ApplyDBScaleAndMove(), Rotate(), and SetVideoScalingAllowed().

◆ m_dbScalingAllowed

bool MythVideoBounds::m_dbScalingAllowed {true}
private

disable this to prevent overscan/underscan

Definition at line 104 of file mythvideobounds.h.

Referenced by SetVideoScalingAllowed().

◆ m_dbUseGUISize

bool MythVideoBounds::m_dbUseGUISize {false}
private

Use the gui size for video window.

Definition at line 105 of file mythvideobounds.h.

Referenced by MythVideoBounds(), and UsingGuiSize().

◆ m_dbAspectOverride

AspectOverrideMode MythVideoBounds::m_dbAspectOverride { kAspect_Off }
private

Definition at line 106 of file mythvideobounds.h.

Referenced by InitBounds(), and MythVideoBounds().

◆ m_dbAdjustFill

AdjustFillMode MythVideoBounds::m_dbAdjustFill { kAdjustFill_Off }
private

Definition at line 107 of file mythvideobounds.h.

Referenced by InitBounds(), and MythVideoBounds().

◆ m_devicePixelRatio

qreal MythVideoBounds::m_devicePixelRatio {1.0}
private

◆ m_manualVertScale

float MythVideoBounds::m_manualVertScale {1.0F}
private

Manually applied vertical scaling.

Definition at line 111 of file mythvideobounds.h.

Referenced by ApplyManualScaleAndMove(), GetZoomString(), Rotate(), SaveBottomLine(), ToggleMoveBottomLine(), and Zoom().

◆ m_manualHorizScale

float MythVideoBounds::m_manualHorizScale {1.0F}
private

Manually applied horizontal scaling.

Definition at line 112 of file mythvideobounds.h.

Referenced by ApplyManualScaleAndMove(), GetZoomString(), Rotate(), SaveBottomLine(), ToggleMoveBottomLine(), and Zoom().

◆ m_manualMove

QPoint MythVideoBounds::m_manualMove {0,0}
private

Manually applied percentage move.

Definition at line 113 of file mythvideobounds.h.

Referenced by ApplyManualScaleAndMove(), GetZoomString(), Rotate(), SaveBottomLine(), ToggleMoveBottomLine(), and Zoom().

◆ m_displayAspect

float MythVideoBounds::m_displayAspect {1.3333F}
private

Physical aspect ratio of playback window.

Definition at line 116 of file mythvideobounds.h.

Referenced by GetDisplayAspect(), InitBounds(), MoveResize(), Rotate(), and SetDisplayAspect().

◆ m_videoDim

QSize MythVideoBounds::m_videoDim {640,480}
private

Pixel dimensions of video buffer.

Definition at line 119 of file mythvideobounds.h.

Referenced by GetVideoDim(), InitBounds(), MoveResize(), and SourceChanged().

◆ m_videoDispDim

QSize MythVideoBounds::m_videoDispDim {640,480}
private

Pixel dimensions of video display area.

Definition at line 120 of file mythvideobounds.h.

Referenced by ApplyDBScaleAndMove(), GetVideoDispDim(), InitBounds(), MoveResize(), and SourceChanged().

◆ m_videoAspect

float MythVideoBounds::m_videoAspect {1.3333F}
private

Physical aspect ratio of video.

Definition at line 121 of file mythvideobounds.h.

Referenced by GetVideoAspect(), SetVideoAspectRatio(), SourceChanged(), ToggleAspectOverride(), and VideoAspectRatioChanged().

◆ m_videoAspectOverride

float MythVideoBounds::m_videoAspectOverride {1.3333F}
private

Normally this is the same as videoAspect, but may not be if the user has toggled the aspect override mode.

Definition at line 125 of file mythvideobounds.h.

Referenced by ApplyLetterboxing(), GetOverridenVideoAspect(), PrintMoveResizeDebug(), and SetVideoAspectRatio().

◆ m_videoAspectOverrideMode

AspectOverrideMode MythVideoBounds::m_videoAspectOverrideMode {kAspect_Off}
private

AspectOverrideMode to use to modify overriden_video_aspect.

Definition at line 127 of file mythvideobounds.h.

Referenced by GetAspectOverride(), InitBounds(), SetVideoAspectRatio(), and ToggleAspectOverride().

◆ m_adjustFill

AdjustFillMode MythVideoBounds::m_adjustFill {kAdjustFill_Off}
private

Zoom mode.

Definition at line 129 of file mythvideobounds.h.

Referenced by ApplyLetterboxing(), GetAdjustFill(), InitBounds(), Rotate(), and ToggleAdjustFill().

◆ m_rotation

int MythVideoBounds::m_rotation {0}
private

Definition at line 130 of file mythvideobounds.h.

Referenced by MoveResize(), and SetRotation().

◆ m_stereoOverride

StereoscopicMode MythVideoBounds::m_stereoOverride { kStereoscopicModeAuto }
private

Definition at line 131 of file mythvideobounds.h.

Referenced by GetStereoOverride(), and SetStereoOverride().

◆ m_videoRect

QRect MythVideoBounds::m_videoRect {0,0,0,0}
private

Pixel rectangle in video frame to display.

Definition at line 134 of file mythvideobounds.h.

Referenced by ApplyDBScaleAndMove(), GetVideoRect(), InitBounds(), MoveResize(), and PrintMoveResizeDebug().

◆ m_displayVideoRect

QRect MythVideoBounds::m_displayVideoRect {0,0,0,0}
private

Pixel rectangle in display window into which video_rect maps to.

Definition at line 136 of file mythvideobounds.h.

Referenced by ApplyDBScaleAndMove(), ApplyLetterboxing(), ApplyManualScaleAndMove(), EmbedPlayback(), GetBoundingRegion(), GetDisplayVideoRect(), MoveResize(), PrintMoveResizeDebug(), Rotate(), and VideoIsFullScreen().

◆ m_displayVisibleRect

QRect MythVideoBounds::m_displayVisibleRect {0,0,0,0}
private

Visible portion of display window in pixels.

This may be bigger or smaller than display_video_rect.

Definition at line 139 of file mythvideobounds.h.

Referenced by ApplyDBScaleAndMove(), ApplyLetterboxing(), EmbedPlayback(), GetDisplayVisibleRect(), InitBounds(), MoveResize(), PhysicalDPIChanged(), ResizeDisplayWindow(), Rotate(), and SetWindowSize().

◆ m_windowRect

QRect MythVideoBounds::m_windowRect {0,0,0,0}
private

◆ m_rawWindowRect

QRect MythVideoBounds::m_rawWindowRect {0,0,0,0}
private

Rectangle describing QWidget bounds - not adjusted for high DPI scaling (macos)

Definition at line 143 of file mythvideobounds.h.

Referenced by GetRawWindowRect(), InitBounds(), PhysicalDPIChanged(), and SetWindowSize().

◆ m_tmpDisplayVisibleRect

QRect MythVideoBounds::m_tmpDisplayVisibleRect {0,0,0,0}
private

Used to save the display_visible_rect for restoration after video embedding ends.

Definition at line 146 of file mythvideobounds.h.

Referenced by EmbedPlayback(), and ResizeDisplayWindow().

◆ m_embeddingRect

QRect MythVideoBounds::m_embeddingRect
private

Embedded video rectangle.

Definition at line 148 of file mythvideobounds.h.

Referenced by EmbedPlayback().

◆ m_rawEmbeddingRect

QRect MythVideoBounds::m_rawEmbeddingRect
private

Definition at line 149 of file mythvideobounds.h.

Referenced by EmbedPlayback(), and GetEmbeddingRect().

◆ m_itvResizing

bool MythVideoBounds::m_itvResizing {false}
private

Definition at line 152 of file mythvideobounds.h.

Referenced by MoveResize(), and SetITVResize().

◆ m_itvDisplayVideoRect

QRect MythVideoBounds::m_itvDisplayVideoRect
private

Definition at line 153 of file mythvideobounds.h.

Referenced by MoveResize(), and SetITVResize().

◆ m_rawItvDisplayVideoRect

QRect MythVideoBounds::m_rawItvDisplayVideoRect
private

Definition at line 154 of file mythvideobounds.h.

Referenced by SetITVResize().

◆ m_embedding

bool MythVideoBounds::m_embedding {false}
private

State variables.

Definition at line 157 of file mythvideobounds.h.

Referenced by EmbedPlayback(), InitBounds(), and IsEmbedding().

◆ m_embeddingHidden

bool MythVideoBounds::m_embeddingHidden { false }
private

Definition at line 158 of file mythvideobounds.h.

Referenced by EmbedPlayback(), and IsEmbeddingAndHidden().

◆ m_bottomLine

bool MythVideoBounds::m_bottomLine {false}
private

Definition at line 159 of file mythvideobounds.h.

Referenced by ToggleMoveBottomLine().

◆ kManualZoomMaxHorizontalZoom

const float MythVideoBounds::kManualZoomMaxHorizontalZoom = 4.0F
staticprivate

Definition at line 162 of file mythvideobounds.h.

Referenced by Zoom().

◆ kManualZoomMaxVerticalZoom

const float MythVideoBounds::kManualZoomMaxVerticalZoom = 4.0F
staticprivate

Definition at line 163 of file mythvideobounds.h.

Referenced by Zoom().

◆ kManualZoomMinHorizontalZoom

const float MythVideoBounds::kManualZoomMinHorizontalZoom = 0.25F
staticprivate

Definition at line 164 of file mythvideobounds.h.

Referenced by Zoom().

◆ kManualZoomMinVerticalZoom

const float MythVideoBounds::kManualZoomMinVerticalZoom = 0.25F
staticprivate

Definition at line 165 of file mythvideobounds.h.

Referenced by Zoom().

◆ kManualZoomMaxMove

const int MythVideoBounds::kManualZoomMaxMove = 50
staticprivate

Definition at line 166 of file mythvideobounds.h.

Referenced by Zoom().


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