Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifdef HAVE_CONFIG_H
00021 #include "gnashconfig.h"
00022 #endif
00023
00024 #include "gtk_glue.h"
00025
00026 #include <gtk/gtk.h>
00027 #include <gdk/gdk.h>
00028 #include <boost/scoped_array.hpp>
00029 #include <boost/scoped_ptr.hpp>
00030 #include "openvg/OpenVGRenderer.h"
00031
00032 #ifdef HAVE_VG_OPENVG_H
00033 #include <VG/openvg.h>
00034 #endif
00035
00036 #ifdef HAVE_EGL_EGL_H
00037 # include <EGL/egl.h>
00038 #else
00039 # error "This file needs EGL, which is part of OpenGL-ES"
00040 #endif
00041
00042 namespace gnash {
00043
00044 namespace gui {
00045
00046 class GtkOvgGlue : public GtkGlue
00047 {
00048 public:
00049 GtkOvgGlue();
00050 ~GtkOvgGlue();
00051
00052
00053 bool init(int argc, char **argv[]);
00054
00055
00056 void prepDrawingArea(GtkWidget *drawing_area);
00057
00058
00059 Renderer* createRenderHandler();
00060
00061
00062 void setRenderHandlerSize(int width, int height);
00063 void beforeRendering();
00064
00065 void configure(GtkWidget *const widget, GdkEventConfigure *const event);
00066
00067
00068 void render();
00069 void render(int minx, int miny, int maxx, int maxy);
00070
00071 private:
00072
00073 GdkImage *_offscreenbuf;
00074 unsigned int _bpp;
00075 unsigned int _width;
00076 unsigned int _height;
00077
00078 boost::shared_ptr<renderer::openvg::Renderer_ovg> _renderer;
00079 };
00080
00081 }
00082 }
00083
00084
00085
00086
00087