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 #ifndef FLTK_GLUE_CAIRO_H
00020 #define FLTK_GLUE_CAIRO_H
00021
00022 #ifdef HAVE_CONFIG_H
00023 #include "gnashconfig.h"
00024 #endif
00025
00026 #include <fltk/Item.h>
00027 #include <fltk/ItemGroup.h>
00028 #include <fltk/PopupMenu.h>
00029 #include <fltk/Widget.h>
00030 #include <fltk/ask.h>
00031 #include <fltk/events.h>
00032 #include <fltk/run.h>
00033 #include <fltk/visual.h>
00034 #include <fltk/Window.h>
00035 #include <fltk/draw.h>
00036 #include <fltk/x.h>
00037 #include <fltk/damage.h>
00038 #include <fltk/layout.h>
00039 #include <fltk/Cursor.h>
00040
00041
00042
00043
00044 #include "fltksup.h"
00045 #include <cairo.h>
00046
00047 using namespace fltk;
00048
00049 namespace gnash {
00050
00051 class FltkCairoGlue
00052 {
00053 public:
00054 FltkCairoGlue();
00055 ~FltkCairoGlue();
00056
00057 void draw();
00058 Renderer* createRenderHandler();
00059 void initBuffer(int width, int height);
00060 void resize(int width, int height);
00061 void invalidateRegion(const SWFRect& bounds);
00062 private:
00063 int _width;
00064 int _height;
00065 int _stride;
00066 unsigned char* _offscreenbuf;
00067 Renderer* _renderer;
00068 cairo_surface_t *_cairo_surface;
00069 cairo_t *_cairo_handle;
00070 };
00071
00072 }
00073
00074 #endif //FLTK_GLUE_CAIRO_H