An abstract class for implementing QuickTime output viewports. More...
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 |
| QuartzData * | parentData |
| 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 |
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.
| 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.
| 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] |
Clean up the codec.
Definition at line 278 of file videoout_quartz.cpp.
Referenced by VoqvFullscreen::HideForGUI(), VoqvMainWindow::HideForGUI(), InputChanged(), ~VideoOutputQuartzView(), VoqvDesktop::~VoqvDesktop(), VoqvDock::~VoqvDock(), VoqvEmbedded::~VoqvEmbedded(), VoqvFloater::~VoqvFloater(), VoqvFullscreen::~VoqvFullscreen(), and VoqvMainWindow::~VoqvMainWindow().
| 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] |
Implemented in VoqvMainWindow, VoqvEmbedded, VoqvFullscreen, VoqvDock, VoqvFloater, and VoqvDesktop.
Referenced by Init().
| virtual void VideoOutputQuartzView::EndPort | ( | void | ) | [protected, pure virtual] |
Implemented in VoqvMainWindow, VoqvEmbedded, VoqvFullscreen, VoqvDock, VoqvFloater, and VoqvDesktop.
char* VideoOutputQuartzView::name [protected] |
Definition at line 105 of file videoout_quartz.cpp.
Referenced by VoqvEmbedded::Begin(), Begin(), Show(), Transform(), VoqvDesktop::VoqvDesktop(), VoqvDock::VoqvDock(), VoqvEmbedded::VoqvEmbedded(), VoqvFloater::VoqvFloater(), VoqvFullscreen::VoqvFullscreen(), and VoqvMainWindow::VoqvMainWindow().
QuartzData* VideoOutputQuartzView::parentData [protected] |
Definition at line 107 of file videoout_quartz.cpp.
Referenced by VoqvEmbedded::Begin(), Begin(), VoqvDesktop::BeginPort(), VoqvFloater::BeginPort(), VoqvFullscreen::BeginPort(), VoqvEmbedded::BeginPort(), VoqvMainWindow::BeginPort(), VoqvMainWindow::EndPort(), Show(), and Transform().
CGrafPtr VideoOutputQuartzView::thePort [protected] |
Definition at line 109 of file videoout_quartz.cpp.
Referenced by VoqvEmbedded::Begin(), Begin(), VoqvDesktop::BeginPort(), VoqvFloater::BeginPort(), VoqvDock::BeginPort(), VoqvFullscreen::BeginPort(), VoqvEmbedded::BeginPort(), VoqvMainWindow::BeginPort(), BlankScreen(), VoqvDesktop::EndPort(), VoqvFloater::EndPort(), VoqvDock::EndPort(), VoqvFullscreen::EndPort(), VoqvEmbedded::EndPort(), VoqvMainWindow::EndPort(), VoqvFloater::ResizeChanged(), and Show().
QRect VideoOutputQuartzView::m_desired [protected] |
Definition at line 110 of file videoout_quartz.cpp.
Referenced by VoqvEmbedded::Begin(), Begin(), BlankScreen(), VoqvFloater::ResizeChanged(), and VoqvEmbedded::VoqvEmbedded().
ImageSequence VideoOutputQuartzView::theCodec [protected] |
Definition at line 111 of file videoout_quartz.cpp.
Referenced by VoqvFloater::Begin(), VoqvEmbedded::Begin(), VoqvMainWindow::Begin(), Begin(), End(), Show(), and Transform().
RgnHandle VideoOutputQuartzView::theMask [protected] |
Definition at line 112 of file videoout_quartz.cpp.
Referenced by VoqvEmbedded::Begin(), Begin(), End(), and VoqvFloater::ResizeChanged().
int VideoOutputQuartzView::frameSkip [protected] |
Definition at line 114 of file videoout_quartz.cpp.
Referenced by SetFrameSkip(), and Show().
int VideoOutputQuartzView::frameCounter [protected] |
Definition at line 115 of file videoout_quartz.cpp.
Referenced by Show().
bool VideoOutputQuartzView::drawBlank [protected] |
Definition at line 116 of file videoout_quartz.cpp.
Referenced by BlankScreen(), and Show().
bool VideoOutputQuartzView::applyMoveResize [protected] |
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] |
Definition at line 123 of file videoout_quartz.cpp.
Referenced by VoqvFloater::Begin(), VoqvEmbedded::Begin(), VoqvMainWindow::Begin(), Begin(), VoqvDesktop::BeginPort(), VoqvFloater::BeginPort(), VoqvFullscreen::BeginPort(), VoqvEmbedded::BeginPort(), VoqvMainWindow::BeginPort(), BlankScreen(), End(), VoqvDesktop::EndPort(), VoqvFloater::EndPort(), VoqvDock::EndPort(), VoqvFullscreen::EndPort(), VoqvEmbedded::EndPort(), VoqvMainWindow::EndPort(), Show(), and Transform().
1.6.3