Make Video Widget NOP; GDK Drawing no longer supported (#950)

Comment out the active part of the GdkDisplayer implementation,
but retain the class, to make compilation pass.

With the Switch to GTK-3, only Cairo drawing is supported.
We need a new solution for video display...
This commit is contained in:
Fischlurch 2014-10-05 09:32:06 +02:00
parent ea8358c661
commit 8a817f1ab7
3 changed files with 11 additions and 14 deletions

View file

@ -25,17 +25,9 @@
#include "gui/gtk-lumiera.hpp" #include "gui/gtk-lumiera.hpp"
#include "gui/output/gdkdisplayer.hpp" #include "gui/output/gdkdisplayer.hpp"
/** The GdkDisplayer class is not supported in Gtk3. #if false ///////////////////////////////////////////////////////////////////////////////////////////////////TICKET #950 : new solution for video display
* This is due to Gtk3 only supporting drawing with
* Cairo
*/
void
gdkdisplayer_gtk3_removal_func()
{
FIXME("Remove: gtk3 does not support drawing with Gdk.");
}
#if 0
#include <gdk/gdkx.h> #include <gdk/gdkx.h>
#endif ///////////////////////////////////////////////////////////////////////////////////////////////////TICKET #950 : new solution for video display
#include <iostream> #include <iostream>
using std::cerr; using std::cerr;
@ -58,7 +50,7 @@ GdkDisplayer::GdkDisplayer( Gtk::Widget *drawing_area, int width, int height ) :
bool bool
GdkDisplayer::usable() GdkDisplayer::usable()
{ {
return true; return false; /////////////////////////////////////////////////////////////////////////////////////////////TICKET #950 : new solution for video display
} }
void void
@ -74,6 +66,7 @@ GdkDisplayer::put( const void* image )
GdkWindow *window = drawingArea->get_window()->gobj(); GdkWindow *window = drawingArea->get_window()->gobj();
REQUIRE(window != NULL); REQUIRE(window != NULL);
#if false ///////////////////////////////////////////////////////////////////////////////////////////////////TICKET #950 : new solution for video display
GdkGC *gc = gdk_gc_new( window ); GdkGC *gc = gdk_gc_new( window );
REQUIRE(gc != NULL); REQUIRE(gc != NULL);
@ -89,9 +82,8 @@ GdkDisplayer::put( const void* image )
g_object_unref( scaled_image ); g_object_unref( scaled_image );
g_object_unref( pixbuf ); g_object_unref( pixbuf );
g_object_unref( gc ); g_object_unref( gc );
#endif ///////////////////////////////////////////////////////////////////////////////////////////////////TICKET #950 : new solution for video display
} }
} // namespace output } // namespace output
} // namespace gui } // namespace gui
#endif

View file

@ -33,8 +33,8 @@
#ifndef GUI_OUTPUT_GDKDISPLAYER_H #ifndef GUI_OUTPUT_GDKDISPLAYER_H
#define GUI_OUTPUT_GDKDISPLAYER_H #define GUI_OUTPUT_GDKDISPLAYER_H
#include "gui/output/displayer.hpp"
#include "gui/gtk-base.hpp" #include "gui/gtk-base.hpp"
#include "gui/output/displayer.hpp"
namespace Gtk { namespace Gtk {
class Widget; class Widget;
@ -46,6 +46,10 @@ namespace output {
/** /**
* GdkDisplayer is a class which is responsible for rendering a video * GdkDisplayer is a class which is responsible for rendering a video
* image via GDK. * image via GDK.
*
* @todo the GdkDisplayer class is not supported anymore in Gtk3.
* This is due to Gtk3 only supporting drawing with Cairo
* /////////////////////////////////////////////////////////////////////////////////////////////////////TICKET #950 : new solution for video display
*/ */
class GdkDisplayer class GdkDisplayer
: public Displayer : public Displayer

View file

@ -78,6 +78,7 @@ namespace widgets {
if (displayer == NULL) if (displayer == NULL)
{ {
displayer = new GdkDisplayer (drawingArea, width, height); displayer = new GdkDisplayer (drawingArea, width, height);
///////////////////////////////////////////////////////////////////////////////////////TICKET #950 : new solution for video display
} }
return displayer; return displayer;