VideoOutputQuartzView Class Reference

An abstract class for implementing QuickTime output viewports. More...

Inheritance diagram for VideoOutputQuartzView:
VoqvDesktop VoqvDock VoqvEmbedded VoqvFloater VoqvFullscreen VoqvMainWindow

List of all members.

Public Member Functions

 VideoOutputQuartzView (QuartzData *pData)
virtual ~VideoOutputQuartzView ()
virtual bool Init (void)
virtual void SetFrameSkip (int numskip)
virtual void Show (void)
virtual void InputChanged (int width, int height, float aspect, MythCodecID av_codec_id)
virtual void MoveResize (QRect newRect)
virtual void HideForGUI (void)
 Subclasses that block the main window should hide their output so that the GUI behind is fully visible.
virtual void ShowAfterGUI (QRect size)
 Subclasses that block the main window should re-enable their output after the user has finished interacing with the GUI.

Protected Member Functions

virtual bool Begin (void)
 Set up the port and the QuickTime decompressor.
virtual void End (void)
 Clean up the codec.
virtual void Transform (QRect newRect)
 Build the transformation matrix to scale the video appropriately.
virtual void BlankScreen (bool deferred)
virtual bool BeginPort (void)=0
virtual void EndPort (void)=0

Protected Attributes

char * name
QuartzDataparentData
CGrafPtr thePort
QRect m_desired
ImageSequence theCodec
RgnHandle theMask
int frameSkip
int frameCounter
bool drawBlank
bool applyMoveResize
 Set if this view can use the aspect/fill/zoom calculations from the base class (which are passed in by MoveResize()), to rescale in the output rectangle via Transform().
QMutex viewLock

Detailed Description

An abstract class for implementing QuickTime output viewports.

This class is further sub-classed for different Mac OS X UI output types. e.g. Main Window, Full Screen, Dock Icon, Finder/Desktop background

Definition at line 77 of file videoout_quartz.cpp.


Constructor & Destructor Documentation

VideoOutputQuartzView::VideoOutputQuartzView ( QuartzData pData  ) 

Definition at line 198 of file videoout_quartz.cpp.

VideoOutputQuartzView::~VideoOutputQuartzView (  )  [virtual]

Definition at line 205 of file videoout_quartz.cpp.


Member Function Documentation

bool VideoOutputQuartzView::Init ( void   )  [virtual]

Definition at line 408 of file videoout_quartz.cpp.

Referenced by VideoOutputQuartz::EmbedInWidget().

void VideoOutputQuartzView::SetFrameSkip ( int  numskip  )  [virtual]

Definition at line 413 of file videoout_quartz.cpp.

Referenced by VideoOutputQuartz::Init().

void VideoOutputQuartzView::Show ( void   )  [virtual]

Reimplemented in VoqvFloater.

Definition at line 418 of file videoout_quartz.cpp.

void VideoOutputQuartzView::InputChanged ( int  width,
int  height,
float  aspect,
MythCodecID  av_codec_id 
) [virtual]

Definition at line 451 of file videoout_quartz.cpp.

void VideoOutputQuartzView::MoveResize ( QRect  newRect  )  [virtual]

Definition at line 464 of file videoout_quartz.cpp.

void VideoOutputQuartzView::HideForGUI ( void   )  [virtual]

Subclasses that block the main window should hide their output so that the GUI behind is fully visible.

Reimplemented in VoqvMainWindow, and VoqvFullscreen.

Definition at line 472 of file videoout_quartz.cpp.

void VideoOutputQuartzView::ShowAfterGUI ( QRect  size  )  [virtual]

Subclasses that block the main window should re-enable their output after the user has finished interacing with the GUI.

Reimplemented in VoqvMainWindow, and VoqvFullscreen.

Definition at line 479 of file videoout_quartz.cpp.

bool VideoOutputQuartzView::Begin ( void   )  [protected, virtual]

Set up the port and the QuickTime decompressor.

We assume that the parent has set up the pixel storage.

Reimplemented in VoqvMainWindow, VoqvEmbedded, and VoqvFloater.

Definition at line 212 of file videoout_quartz.cpp.

Referenced by Init(), InputChanged(), and VoqvFullscreen::ShowAfterGUI().

void VideoOutputQuartzView::End ( void   )  [protected, virtual]
void VideoOutputQuartzView::Transform ( QRect  newRect  )  [protected, virtual]

Build the transformation matrix to scale the video appropriately.

Definition at line 296 of file videoout_quartz.cpp.

Referenced by VoqvEmbedded::Begin(), Begin(), MoveResize(), VoqvFloater::ResizeChanged(), VoqvFullscreen::ShowAfterGUI(), and VoqvMainWindow::ShowAfterGUI().

void VideoOutputQuartzView::BlankScreen ( bool  deferred  )  [protected, virtual]

Definition at line 368 of file videoout_quartz.cpp.

Referenced by Show(), and Transform().

virtual bool VideoOutputQuartzView::BeginPort ( void   )  [protected, pure virtual]
virtual void VideoOutputQuartzView::EndPort ( void   )  [protected, pure virtual]

Member Data Documentation

char* VideoOutputQuartzView::name [protected]
CGrafPtr VideoOutputQuartzView::thePort [protected]
ImageSequence VideoOutputQuartzView::theCodec [protected]
RgnHandle VideoOutputQuartzView::theMask [protected]

Definition at line 112 of file videoout_quartz.cpp.

Referenced by VoqvEmbedded::Begin(), Begin(), End(), and VoqvFloater::ResizeChanged().

Definition at line 114 of file videoout_quartz.cpp.

Referenced by SetFrameSkip(), and Show().

Definition at line 115 of file videoout_quartz.cpp.

Referenced by Show().

Definition at line 116 of file videoout_quartz.cpp.

Referenced by BlankScreen(), and Show().

Set if this view can use the aspect/fill/zoom calculations from the base class (which are passed in by MoveResize()), to rescale in the output rectangle via Transform().

Definition at line 121 of file videoout_quartz.cpp.

Referenced by MoveResize(), VoqvFullscreen::VoqvFullscreen(), and VoqvMainWindow::VoqvMainWindow().

QMutex VideoOutputQuartzView::viewLock [protected]

The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends
Generated on Fri May 25 06:42:31 2012 for MythTV by  doxygen 1.6.3