00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00030 #ifndef DISPLAYER_HPP
00031 #define DISPLAYER_HPP
00032
00033 namespace gui {
00034 namespace output {
00035
00036 #define MAX_WIDTH 720
00037 #define MAX_HEIGHT 576
00038
00041 typedef enum {
00042 DISPLAY_NONE,
00043 DISPLAY_YUV,
00044 DISPLAY_RGB,
00045 DISPLAY_BGR,
00046 DISPLAY_BGR0,
00047 DISPLAY_RGB16
00048 }
00049 DisplayerInput;
00050
00072 class Displayer
00073 {
00074 public:
00075
00080 virtual bool usable();
00081
00085 virtual DisplayerInput format();
00086
00090 virtual int preferredWidth();
00091
00095 virtual int preferredHeight();
00096
00101 virtual void put( void * ) = 0;
00102
00103 protected:
00104
00120 static void calculateVideoLayout(
00121 int widget_width, int widget_height,
00122 int image_width, int image_height,
00123 int &video_x, int &video_y, int &video_width, int &video_height );
00124
00125 protected:
00126 int imageWidth;
00127 int imageHeight;
00128 };
00129
00130 }
00131 }
00132
00133 #endif // DISPLAYER_HPP