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

#include <videooutwindow.h>

Public Member Functions

 VideoOutWindow ()
 
bool Init (const QSize &new_video_dim_buf, const QSize &new_video_dim_disp, float aspect, const QRect &new_display_visible_rect, AspectOverrideMode aspectoverride, AdjustFillMode adjustfill)
 
bool InputChanged (const QSize &input_size_buf, const QSize &input_size_disp, float aspect, MythCodecID myth_codec_id, void *codec_private)
 Tells video output to discard decoded frames and wait for new ones. More...
 
void VideoAspectRatioChanged (float aspect)
 Calls SetVideoAspectRatio(float aspect), then calls MoveResize() to apply changes. More...
 
void EmbedInWidget (const QRect &)
 Tells video output to embed video in an existing window. More...
 
void StopEmbedding (void)
 Tells video output to stop embedding video in an existing window. More...
 
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 ration than detected, then calls VideoAspectRatioChanged(float) to apply them. More...
 
void ResizeDisplayWindow (const QRect &, bool)
 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, the zoom is actually applied in MoveResize(). More...
 
void ToggleMoveBottomLine (void)
 
void SaveBottomLine (void)
 
void SetVideoScalingAllowed (bool change)
 Disable or enable underscan/overscan. More...
 
void SetAllowPreviewEPG (bool allowPreviewEPG)
 
void SetDisplayDim (QSize displayDim)
 
void SetDisplayAspect (float displayAspect)
 
void SetPIPState (PIPState setting)
 
void SetVideoDim (QSize dim)
 
void SetDisplayVisibleRect (QRect rect)
 
void SetNeedRepaint (bool needRepaint)
 
void populateGeometry (void)
 
bool IsVideoScalingAllowed (void) const
 
bool IsEmbedding (void) const
 Returns if videooutput is embedding. More...
 
QSize GetVideoDim (void) const
 
QSize GetActualVideoDim (void) const
 
QSize GetVideoDispDim (void) const
 
QSize GetDisplayDim (void) const
 
float GetMzScaleV (void) const
 
float GetMzScaleH (void) const
 
QPoint GetMzMove (void) const
 
int GetPIPSize (void) const
 
PIPState GetPIPState (void) const
 
float GetOverridenVideoAspect (void) const
 
QRect GetDisplayVisibleRect (void) const
 
QRect GetScreenGeometry (void) const
 
QRect GetVideoRect (void) const
 
QRect GetDisplayVideoRect (void) const
 
QRect GetEmbeddingRect (void) const
 
bool UsingXinerama (void) const
 
bool UsingGuiSize (void) const
 
QString GetZoomString (void) const
 
AspectOverrideMode GetAspectOverride (void) const
 Returns current aspect override mode. More...
 
AdjustFillMode GetAdjustFill (void) const
 Returns current adjust fill mode. More...
 
float GetVideoAspect (void) const
 
bool IsPreviewEPGAllowed (void) const
 
bool IsRepaintNeeded (void) const
 
float GetDisplayAspect (void) const
 Returns current display aspect ratio. More...
 
QRect GetTmpDisplayVisibleRect (void) const
 
QRect GetVisibleOSDBounds (float &, float &, float) const
 Returns visible portions of total OSD bounds. More...
 
QRect GetTotalOSDBounds (void) const
 Returns total OSD bounds. More...
 
QRect GetPIPRect (PIPLocation location, MythPlayer *pipplayer=nullptr, bool do_pixel_adj=true) const
 

Protected Member Functions

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 ApplySnapToVideoRect (void)
 Snap displayed rectagle to video rectange if they are close. More...
 
void PrintMoveResizeDebug (void)
 
void SetVideoAspectRatio (float aspect)
 Sets VideoOutWindow::video_aspect to aspect, and sets VideoOutWindow::overriden_video_aspect if aspectoverride is set to either 4:3, 14:9 or 16:9. More...
 

Private Member Functions

 Q_DECLARE_TR_FUNCTIONS (VideoOutWindow)
 

Private Attributes

QPoint db_move
 Percentage move from database. More...
 
float db_scale_horiz
 Horizontal Overscan/Underscan percentage. More...
 
float db_scale_vert
 Vertical Overscan/Underscan percentage. More...
 
int db_pip_size
 percentage of full window to use for PiP More...
 
bool db_scaling_allowed
 disable this to prevent overscan/underscan More...
 
bool db_use_gui_size
 Use the gui size for video window. More...
 
bool using_xinerama
 Display is using multiple screens. More...
 
QRect screen_geom
 Full screen geometry. More...
 
float mz_scale_v
 Manually applied vertical scaling. More...
 
float mz_scale_h
 Manually applied horizontal scaling. More...
 
QPoint mz_move
 Manually applied percentage move. More...
 
QSize display_dim
 Screen dimensions of playback window in mm. More...
 
float display_aspect
 Physical aspect ratio of playback window. More...
 
QSize video_dim
 Pixel dimensions of video buffer. More...
 
QSize video_disp_dim
 Pixel dimensions of video display area. More...
 
QSize video_dim_act
 Pixel dimensions of the raw video stream. More...
 
float video_aspect
 Physical aspect ratio of video. More...
 
float overriden_video_aspect
 Normally this is the same as videoAspect, but may not be if the user has toggled the aspect override mode. More...
 
AspectOverrideMode aspectoverride
 AspectOverrideMode to use to modify overriden_video_aspect. More...
 
AdjustFillMode adjustfill
 Zoom mode. More...
 
QRect video_rect
 Pixel rectangle in video frame to display. More...
 
QRect display_video_rect
 Pixel rectangle in display window into which video_rect maps to. More...
 
QRect display_visible_rect
 Visible portion of display window in pixels. More...
 
QRect tmp_display_visible_rect
 Used to save the display_visible_rect for restoration after video embedding ends. More...
 
QRect embedding_rect
 Embedded video rectangle. More...
 
bool embedding
 State variables. More...
 
bool needrepaint
 
bool allowpreviewepg
 
bool bottomline
 
PIPState pip_state
 

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 23 of file videooutwindow.h.

Constructor & Destructor Documentation

◆ VideoOutWindow()

VideoOutWindow::VideoOutWindow ( )

Definition at line 54 of file videooutwindow.cpp.

Member Function Documentation

◆ Q_DECLARE_TR_FUNCTIONS()

VideoOutWindow::Q_DECLARE_TR_FUNCTIONS ( VideoOutWindow  )
private

◆ Init()

bool VideoOutWindow::Init ( const QSize &  new_video_dim_buf,
const QSize &  new_video_dim_disp,
float  aspect,
const QRect &  new_display_visible_rect,
AspectOverrideMode  aspectoverride,
AdjustFillMode  adjustfill 
)

Definition at line 485 of file videooutwindow.cpp.

Referenced by VideoOutput::Init().

◆ InputChanged()

bool VideoOutWindow::InputChanged ( const QSize &  input_size_buf,
const QSize &  input_size_disp,
float  aspect,
MythCodecID  myth_codec_id,
void *  codec_private 
)

Tells video output to discard decoded frames and wait for new ones.

Bug:
We set the new width height and aspect ratio here, but we should do this based on the new video frames in Show().

Definition at line 603 of file videooutwindow.cpp.

Referenced by VideoOutput::InputChanged().

◆ VideoAspectRatioChanged()

void VideoOutWindow::VideoAspectRatioChanged ( float  aspect)

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

Parameters
aspectvideo aspect ratio to use

Definition at line 591 of file videooutwindow.cpp.

Referenced by Init(), ToggleAspectOverride(), and VideoOutput::VideoAspectRatioChanged().

◆ EmbedInWidget()

void VideoOutWindow::EmbedInWidget ( const QRect &  rect)

Tells video output to embed video in an existing window.

Parameters
rectnew display_video_rect
See also
StopEmbedding()

Definition at line 689 of file videooutwindow.cpp.

Referenced by VideoOutput::EmbedInWidget().

◆ StopEmbedding()

void VideoOutWindow::StopEmbedding ( void  )

Tells video output to stop embedding video in an existing window.

See also
EmbedInWidget(WId, int, int, int, int)

Definition at line 708 of file videooutwindow.cpp.

Referenced by VideoOutput::StopEmbedding().

◆ ToggleAdjustFill()

void VideoOutWindow::ToggleAdjustFill ( AdjustFillMode  adjustFillMode = kAdjustFill_Toggle)

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 635 of file videooutwindow.cpp.

Referenced by VideoOutputVDPAU::InputChanged(), and VideoOutput::ToggleAdjustFill().

◆ ToggleAspectOverride()

void VideoOutWindow::ToggleAspectOverride ( AspectOverrideMode  aspectMode = kAspect_Toggle)

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

See also
Zoom(ZoomDirection), ToggleAdjustFill(AdjustFillMode)

Definition at line 804 of file videooutwindow.cpp.

Referenced by VideoOutput::ToggleAspectOverride().

◆ ResizeDisplayWindow()

void VideoOutWindow::ResizeDisplayWindow ( const QRect &  rect,
bool  save_visible_rect 
)

Resize Display Window.

Definition at line 674 of file videooutwindow.cpp.

Referenced by EmbedInWidget(), and VideoOutput::ResizeDisplayWindow().

◆ MoveResize()

void VideoOutWindow::MoveResize ( void  )

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 131 of file videooutwindow.cpp.

Referenced by VideoOutput::MoveResize(), ResizeDisplayWindow(), SetVideoScalingAllowed(), StopEmbedding(), ToggleAdjustFill(), ToggleMoveBottomLine(), and VideoAspectRatioChanged().

◆ Zoom()

void VideoOutWindow::Zoom ( ZoomDirection  direction)

Sets up zooming into to different parts of the video, the zoom is actually applied in MoveResize().

See also
ToggleAdjustFill(AdjustFillMode)

Definition at line 869 of file videooutwindow.cpp.

Referenced by VideoOutput::Zoom().

◆ ToggleMoveBottomLine()

void VideoOutWindow::ToggleMoveBottomLine ( void  )

Definition at line 947 of file videooutwindow.cpp.

Referenced by VideoOutput::ToggleMoveBottomLine().

◆ SaveBottomLine()

void VideoOutWindow::SaveBottomLine ( void  )

Definition at line 983 of file videooutwindow.cpp.

Referenced by VideoOutput::SaveBottomLine().

◆ SetVideoScalingAllowed()

void VideoOutWindow::SetVideoScalingAllowed ( bool  change)

Disable or enable underscan/overscan.

Definition at line 648 of file videooutwindow.cpp.

Referenced by VideoOutput::SetVideoScalingAllowed().

◆ SetAllowPreviewEPG()

void VideoOutWindow::SetAllowPreviewEPG ( bool  allowPreviewEPG)
inline

◆ SetDisplayDim()

void VideoOutWindow::SetDisplayDim ( QSize  displayDim)
inline

◆ SetDisplayAspect()

void VideoOutWindow::SetDisplayAspect ( float  displayAspect)
inline

◆ SetPIPState()

void VideoOutWindow::SetPIPState ( PIPState  setting)

Definition at line 1015 of file videooutwindow.cpp.

Referenced by VideoOutput::SetPIPState().

◆ SetVideoDim()

void VideoOutWindow::SetVideoDim ( QSize  dim)
inline

Definition at line 66 of file videooutwindow.h.

Referenced by VideoOutput::SetupDeinterlace().

◆ SetDisplayVisibleRect()

void VideoOutWindow::SetDisplayVisibleRect ( QRect  rect)
inline

◆ SetNeedRepaint()

void VideoOutWindow::SetNeedRepaint ( bool  needRepaint)
inline

◆ populateGeometry()

void VideoOutWindow::populateGeometry ( void  )

Definition at line 99 of file videooutwindow.cpp.

Referenced by Init(), and VideoOutWindow().

◆ IsVideoScalingAllowed()

bool VideoOutWindow::IsVideoScalingAllowed ( void  ) const
inline

Definition at line 75 of file videooutwindow.h.

Referenced by VideoOutput::IsVideoScalingAllowed().

◆ IsEmbedding()

bool VideoOutWindow::IsEmbedding ( void  ) const
inline

◆ GetVideoDim()

QSize VideoOutWindow::GetVideoDim ( void  ) const
inline

◆ GetActualVideoDim()

QSize VideoOutWindow::GetActualVideoDim ( void  ) const
inline

◆ GetVideoDispDim()

QSize VideoOutWindow::GetVideoDispDim ( void  ) const
inline

◆ GetDisplayDim()

QSize VideoOutWindow::GetDisplayDim ( void  ) const
inline

Definition at line 81 of file videooutwindow.h.

Referenced by VideoOutput::InitDisplayMeasurements().

◆ GetMzScaleV()

float VideoOutWindow::GetMzScaleV ( void  ) const
inline

Definition at line 82 of file videooutwindow.h.

Referenced by GetZoomString(), and SaveBottomLine().

◆ GetMzScaleH()

float VideoOutWindow::GetMzScaleH ( void  ) const
inline

Definition at line 83 of file videooutwindow.h.

Referenced by GetZoomString(), and SaveBottomLine().

◆ GetMzMove()

QPoint VideoOutWindow::GetMzMove ( void  ) const
inline

Definition at line 84 of file videooutwindow.h.

Referenced by GetZoomString(), and SaveBottomLine().

◆ GetPIPSize()

int VideoOutWindow::GetPIPSize ( void  ) const
inline

Definition at line 85 of file videooutwindow.h.

Referenced by VideoOutputXv::GetPIPRect().

◆ GetPIPState()

PIPState VideoOutWindow::GetPIPState ( void  ) const
inline

◆ GetOverridenVideoAspect()

float VideoOutWindow::GetOverridenVideoAspect ( void  ) const
inline

◆ GetDisplayVisibleRect()

QRect VideoOutWindow::GetDisplayVisibleRect ( void  ) const
inline

◆ GetScreenGeometry()

QRect VideoOutWindow::GetScreenGeometry ( void  ) const
inline

Definition at line 89 of file videooutwindow.h.

Referenced by VideoOutput::InitDisplayMeasurements().

◆ GetVideoRect()

QRect VideoOutWindow::GetVideoRect ( void  ) const
inline

◆ GetDisplayVideoRect()

QRect VideoOutWindow::GetDisplayVideoRect ( void  ) const
inline

◆ GetEmbeddingRect()

QRect VideoOutWindow::GetEmbeddingRect ( void  ) const
inline

◆ UsingXinerama()

bool VideoOutWindow::UsingXinerama ( void  ) const
inline

Definition at line 93 of file videooutwindow.h.

Referenced by VideoOutput::InitDisplayMeasurements().

◆ UsingGuiSize()

bool VideoOutWindow::UsingGuiSize ( void  ) const
inline

◆ GetZoomString()

QString VideoOutWindow::GetZoomString ( void  ) const

Definition at line 992 of file videooutwindow.cpp.

◆ GetAspectOverride()

AspectOverrideMode VideoOutWindow::GetAspectOverride ( void  ) const
inline

Returns current aspect override mode.

See also
ToggleAspectOverride(AspectOverrideMode)

Definition at line 99 of file videooutwindow.h.

Referenced by VideoOutput::GetAspectOverride(), and VideoOutputXv::GetPIPRect().

◆ GetAdjustFill()

AdjustFillMode VideoOutWindow::GetAdjustFill ( void  ) const
inline

Returns current adjust fill mode.

See also
ToggleAdjustFill(AdjustFillMode)

Definition at line 103 of file videooutwindow.h.

Referenced by VideoOutput::GetAdjustFill(), and VideoOutputVDPAU::InputChanged().

◆ GetVideoAspect()

float VideoOutWindow::GetVideoAspect ( void  ) const
inline

◆ IsPreviewEPGAllowed()

bool VideoOutWindow::IsPreviewEPGAllowed ( void  ) const
inline

Definition at line 106 of file videooutwindow.h.

Referenced by VideoOutput::AllowPreviewEPG().

◆ IsRepaintNeeded()

bool VideoOutWindow::IsRepaintNeeded ( void  ) const
inline

◆ GetDisplayAspect()

float VideoOutWindow::GetDisplayAspect ( void  ) const
inline

◆ GetTmpDisplayVisibleRect()

QRect VideoOutWindow::GetTmpDisplayVisibleRect ( void  ) const
inline

◆ GetVisibleOSDBounds()

QRect VideoOutWindow::GetVisibleOSDBounds ( float &  visible_aspect,
float &  font_scaling,
float  themeaspect 
) const

Returns visible portions of total OSD bounds.

Parameters
visible_aspectphysical aspect ratio of bounds returned
font_scalingscaling to apply to fonts
themeaspectaspect ration of the theme

Definition at line 724 of file videooutwindow.cpp.

Referenced by VideoOutput::GetVisibleOSDBounds().

◆ GetTotalOSDBounds()

QRect VideoOutWindow::GetTotalOSDBounds ( void  ) const

Returns total OSD bounds.

Definition at line 623 of file videooutwindow.cpp.

Referenced by VideoOutput::GetMHEGBounds(), and VideoOutput::GetTotalOSDBounds().

◆ GetPIPRect()

QRect VideoOutWindow::GetPIPRect ( PIPLocation  location,
MythPlayer pipplayer = nullptr,
bool  do_pixel_adj = true 
) const

Definition at line 824 of file videooutwindow.cpp.

Referenced by VideoOutput::GetPIPRect().

◆ ApplyDBScaleAndMove()

void VideoOutWindow::ApplyDBScaleAndMove ( void  )
protected

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 168 of file videooutwindow.cpp.

Referenced by MoveResize().

◆ ApplyManualScaleAndMove()

void VideoOutWindow::ApplyManualScaleAndMove ( void  )
protected

Apply scales and moves from "Zoom Mode" settings.

Definition at line 280 of file videooutwindow.cpp.

Referenced by MoveResize().

◆ ApplyLetterboxing()

void VideoOutWindow::ApplyLetterboxing ( void  )
protected

Definition at line 308 of file videooutwindow.cpp.

Referenced by MoveResize().

◆ ApplySnapToVideoRect()

void VideoOutWindow::ApplySnapToVideoRect ( void  )
protected

Snap displayed rectagle to video rectange if they are close.

If our display rectangle is within 5% of the video rectangle in either dimension then snap the display rectangle in that dimension to the video rectangle. The idea is to avoid scaling if it will result in only moderate distortion.

Definition at line 446 of file videooutwindow.cpp.

Referenced by MoveResize().

◆ PrintMoveResizeDebug()

void VideoOutWindow::PrintMoveResizeDebug ( void  )
protected

Definition at line 527 of file videooutwindow.cpp.

Referenced by MoveResize().

◆ SetVideoAspectRatio()

void VideoOutWindow::SetVideoAspectRatio ( float  aspect)
protected

Sets VideoOutWindow::video_aspect to aspect, and sets VideoOutWindow::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 579 of file videooutwindow.cpp.

Referenced by InputChanged(), and VideoAspectRatioChanged().

Member Data Documentation

◆ db_move

QPoint VideoOutWindow::db_move
private

Percentage move from database.

Definition at line 128 of file videooutwindow.h.

Referenced by ApplyDBScaleAndMove(), and VideoOutWindow().

◆ db_scale_horiz

float VideoOutWindow::db_scale_horiz
private

Horizontal Overscan/Underscan percentage.

Definition at line 129 of file videooutwindow.h.

Referenced by ApplyDBScaleAndMove(), GetVisibleOSDBounds(), MoveResize(), and SetVideoScalingAllowed().

◆ db_scale_vert

float VideoOutWindow::db_scale_vert
private

Vertical Overscan/Underscan percentage.

Definition at line 130 of file videooutwindow.h.

Referenced by ApplyDBScaleAndMove(), GetVisibleOSDBounds(), MoveResize(), PrintMoveResizeDebug(), and SetVideoScalingAllowed().

◆ db_pip_size

int VideoOutWindow::db_pip_size
private

percentage of full window to use for PiP

Definition at line 131 of file videooutwindow.h.

Referenced by GetPIPRect(), GetPIPSize(), and VideoOutWindow().

◆ db_scaling_allowed

bool VideoOutWindow::db_scaling_allowed
private

disable this to prevent overscan/underscan

Definition at line 132 of file videooutwindow.h.

Referenced by IsVideoScalingAllowed(), and SetVideoScalingAllowed().

◆ db_use_gui_size

bool VideoOutWindow::db_use_gui_size
private

Use the gui size for video window.

Definition at line 133 of file videooutwindow.h.

Referenced by Init(), UsingGuiSize(), and VideoOutWindow().

◆ using_xinerama

bool VideoOutWindow::using_xinerama
private

Display is using multiple screens.

Definition at line 135 of file videooutwindow.h.

Referenced by populateGeometry(), and UsingXinerama().

◆ screen_geom

QRect VideoOutWindow::screen_geom
private

Full screen geometry.

Definition at line 136 of file videooutwindow.h.

Referenced by GetScreenGeometry(), Init(), and populateGeometry().

◆ mz_scale_v

float VideoOutWindow::mz_scale_v
private

Manually applied vertical scaling.

Definition at line 139 of file videooutwindow.h.

Referenced by ApplyManualScaleAndMove(), GetMzScaleV(), MoveResize(), ToggleMoveBottomLine(), and Zoom().

◆ mz_scale_h

float VideoOutWindow::mz_scale_h
private

Manually applied horizontal scaling.

Definition at line 140 of file videooutwindow.h.

Referenced by ApplyManualScaleAndMove(), GetMzScaleH(), MoveResize(), ToggleMoveBottomLine(), and Zoom().

◆ mz_move

QPoint VideoOutWindow::mz_move
private

Manually applied percentage move.

Definition at line 141 of file videooutwindow.h.

Referenced by ApplyManualScaleAndMove(), GetMzMove(), ToggleMoveBottomLine(), and Zoom().

◆ display_dim

QSize VideoOutWindow::display_dim
private

Screen dimensions of playback window in mm.

Definition at line 144 of file videooutwindow.h.

Referenced by GetDisplayDim(), and SetDisplayDim().

◆ display_aspect

float VideoOutWindow::display_aspect
private

Physical aspect ratio of playback window.

Definition at line 145 of file videooutwindow.h.

Referenced by GetDisplayAspect(), GetPIPRect(), and SetDisplayAspect().

◆ video_dim

QSize VideoOutWindow::video_dim
private

Pixel dimensions of video buffer.

Definition at line 148 of file videooutwindow.h.

Referenced by GetVideoDim(), Init(), InputChanged(), MoveResize(), and SetVideoDim().

◆ video_disp_dim

QSize VideoOutWindow::video_disp_dim
private

Pixel dimensions of video display area.

Definition at line 149 of file videooutwindow.h.

Referenced by ApplyDBScaleAndMove(), GetTotalOSDBounds(), GetVideoDispDim(), GetVisibleOSDBounds(), Init(), InputChanged(), and MoveResize().

◆ video_dim_act

QSize VideoOutWindow::video_dim_act
private

Pixel dimensions of the raw video stream.

Definition at line 150 of file videooutwindow.h.

Referenced by GetActualVideoDim(), Init(), InputChanged(), and MoveResize().

◆ video_aspect

float VideoOutWindow::video_aspect
private

Physical aspect ratio of video.

Definition at line 151 of file videooutwindow.h.

Referenced by GetVideoAspect(), PrintMoveResizeDebug(), SetVideoAspectRatio(), and ToggleAspectOverride().

◆ overriden_video_aspect

float VideoOutWindow::overriden_video_aspect
private

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

Definition at line 155 of file videooutwindow.h.

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

◆ aspectoverride

AspectOverrideMode VideoOutWindow::aspectoverride
private

AspectOverrideMode to use to modify overriden_video_aspect.

Definition at line 157 of file videooutwindow.h.

Referenced by GetAspectOverride(), Init(), PrintMoveResizeDebug(), SetVideoAspectRatio(), and ToggleAspectOverride().

◆ adjustfill

AdjustFillMode VideoOutWindow::adjustfill
private

Zoom mode.

Definition at line 159 of file videooutwindow.h.

Referenced by ApplyLetterboxing(), GetAdjustFill(), Init(), PrintMoveResizeDebug(), and ToggleAdjustFill().

◆ video_rect

QRect VideoOutWindow::video_rect
private

Pixel rectangle in video frame to display.

Definition at line 162 of file videooutwindow.h.

Referenced by ApplyDBScaleAndMove(), ApplySnapToVideoRect(), GetVideoRect(), GetVisibleOSDBounds(), Init(), MoveResize(), and PrintMoveResizeDebug().

◆ display_video_rect

QRect VideoOutWindow::display_video_rect
private

Pixel rectangle in display window into which video_rect maps to.

Definition at line 164 of file videooutwindow.h.

Referenced by ApplyDBScaleAndMove(), ApplyLetterboxing(), ApplyManualScaleAndMove(), ApplySnapToVideoRect(), EmbedInWidget(), GetDisplayVideoRect(), GetVisibleOSDBounds(), MoveResize(), and PrintMoveResizeDebug().

◆ display_visible_rect

QRect VideoOutWindow::display_visible_rect
private

Visible portion of display window in pixels.

This may be bigger or smaller than display_video_rect.

Definition at line 167 of file videooutwindow.h.

Referenced by ApplyDBScaleAndMove(), ApplyLetterboxing(), GetDisplayVisibleRect(), GetPIPRect(), GetVisibleOSDBounds(), Init(), MoveResize(), ResizeDisplayWindow(), SetDisplayVisibleRect(), and StopEmbedding().

◆ tmp_display_visible_rect

QRect VideoOutWindow::tmp_display_visible_rect
private

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

Definition at line 170 of file videooutwindow.h.

Referenced by GetTmpDisplayVisibleRect(), ResizeDisplayWindow(), and StopEmbedding().

◆ embedding_rect

QRect VideoOutWindow::embedding_rect
private

Embedded video rectangle.

Definition at line 172 of file videooutwindow.h.

Referenced by EmbedInWidget(), GetEmbeddingRect(), and StopEmbedding().

◆ embedding

bool VideoOutWindow::embedding
private

State variables.

Definition at line 175 of file videooutwindow.h.

Referenced by EmbedInWidget(), Init(), IsEmbedding(), and StopEmbedding().

◆ needrepaint

bool VideoOutWindow::needrepaint
private

Definition at line 176 of file videooutwindow.h.

Referenced by IsRepaintNeeded(), MoveResize(), and SetNeedRepaint().

◆ allowpreviewepg

bool VideoOutWindow::allowpreviewepg
private

Definition at line 177 of file videooutwindow.h.

Referenced by EmbedInWidget(), IsPreviewEPGAllowed(), and SetAllowPreviewEPG().

◆ bottomline

bool VideoOutWindow::bottomline
private

Definition at line 178 of file videooutwindow.h.

Referenced by ToggleMoveBottomLine().

◆ pip_state

PIPState VideoOutWindow::pip_state
private

◆ kManualZoomMaxHorizontalZoom

const float VideoOutWindow::kManualZoomMaxHorizontalZoom = 4.0F
staticprivate

Definition at line 182 of file videooutwindow.h.

Referenced by Zoom().

◆ kManualZoomMaxVerticalZoom

const float VideoOutWindow::kManualZoomMaxVerticalZoom = 4.0F
staticprivate

Definition at line 183 of file videooutwindow.h.

Referenced by Zoom().

◆ kManualZoomMinHorizontalZoom

const float VideoOutWindow::kManualZoomMinHorizontalZoom = 0.25F
staticprivate

Definition at line 184 of file videooutwindow.h.

Referenced by Zoom().

◆ kManualZoomMinVerticalZoom

const float VideoOutWindow::kManualZoomMinVerticalZoom = 0.25F
staticprivate

Definition at line 185 of file videooutwindow.h.

Referenced by Zoom().

◆ kManualZoomMaxMove

const int VideoOutWindow::kManualZoomMaxMove = 50
staticprivate

Definition at line 186 of file videooutwindow.h.

Referenced by Zoom().


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