Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

FindDisplayer Class Reference

#include <displayer.h>

List of all members.

Static Public Member Functions

static DisplayergetDisplayer (GtkWidget *drawingarea, Frame &frame)
static DisplayergetDisplayer (GtkWidget *drawingarea, int width, int height)


Member Function Documentation

Displayer * FindDisplayer::getDisplayer GtkWidget *  drawingarea,
int  width,
int  height
[static]
 

Definition at line 731 of file displayer.cc.

References DISPLAY_XV, DISPLAY_XX, Preferences::displayMode, Preferences::getInstance(), and Displayer::usable().

00732 {
00733     Displayer * display = NULL;
00734     Preferences &prefs = Preferences::getInstance();
00735 
00736     switch ( prefs.displayMode )
00737     {
00738     case DISPLAY_XV:
00739         display = new XvDisplayer( drawingarea, width, height, (height > 480), false );
00740         if ( !display->usable() )
00741         {
00742             delete display;
00743             display = NULL;
00744         }
00745 
00746     case DISPLAY_XX:
00747         if ( display == NULL )
00748         {
00749             display = new XvDisplayer( drawingarea, width / 2, height / 2, (height > 480), false );
00750             if ( !display->usable() )
00751             {
00752                 delete display;
00753                 display = NULL;
00754             }
00755         }
00756 
00757     default:
00758         if ( display == NULL )
00759         {
00760             display = new GdkDisplayer( drawingarea, width, height, false );
00761         }
00762     }
00763 
00764     return display;
00765 }

Displayer * FindDisplayer::getDisplayer GtkWidget *  drawingarea,
Frame frame
[static]
 

Definition at line 693 of file displayer.cc.

References DISPLAY_XV, DISPLAY_XX, Preferences::displayMode, Preferences::getInstance(), Frame::IsPAL(), and Displayer::usable().

Referenced by GDKV4L::capture(), GDKV4L::draw(), and FrameDisplayer::Put().

00694 {
00695     Displayer * display = NULL;
00696     Preferences &prefs = Preferences::getInstance();
00697         
00698     switch ( prefs.displayMode )
00699     {
00700     case DISPLAY_XV:
00701         display = new XvDisplayer( drawingarea, frame.GetWidth(), frame.GetHeight(),
00702                                    frame.IsPAL(), frame.IsWide() );
00703         if ( !display->usable() )
00704         {
00705             delete display;
00706             display = NULL;
00707         }
00708 
00709     case DISPLAY_XX:
00710         if ( display == NULL )
00711         {
00712             display = new XvDisplayer( drawingarea, frame.GetWidth() / 2, frame.GetHeight() / 2,
00713                                        frame.IsPAL(), frame.IsWide() );
00714             if ( !display->usable() )
00715             {
00716                 delete display;
00717                 display = NULL;
00718             }
00719         }
00720 
00721     default:
00722         if ( display == NULL )
00723         {
00724             display = new GdkDisplayer( drawingarea, frame.GetWidth(), frame.GetHeight(), frame.IsWide( ) );
00725         }
00726     }
00727 
00728     return display;
00729 }


The documentation for this class was generated from the following files:
Generated on Sun Mar 11 22:12:54 2007 for Kino by  doxygen 1.4.2