src/openvg/qwindowsurface_vgegl_p.h
changeset 3 41300fa6a67c
parent 0 1918ee327afb
child 4 3b1da2848fc7
equal deleted inserted replaced
2:56cd8111b7f7 3:41300fa6a67c
    68 {
    68 {
    69 public:
    69 public:
    70     QVGEGLWindowSurfacePrivate(QWindowSurface *win);
    70     QVGEGLWindowSurfacePrivate(QWindowSurface *win);
    71     virtual ~QVGEGLWindowSurfacePrivate();
    71     virtual ~QVGEGLWindowSurfacePrivate();
    72 
    72 
    73     enum SurfaceType
       
    74     {
       
    75         WindowSurface,
       
    76         VGImageSurface,
       
    77         QImageSurface
       
    78     };
       
    79 
       
    80     static QVGEGLWindowSurfacePrivate *create
       
    81         (SurfaceType type, QWindowSurface *win);
       
    82 
       
    83     QVGPaintEngine *paintEngine();
    73     QVGPaintEngine *paintEngine();
    84     virtual QEglContext *ensureContext(QWidget *widget) = 0;
    74     virtual QEglContext *ensureContext(QWidget *widget) = 0;
    85     virtual void beginPaint(QWidget *widget) = 0;
    75     virtual void beginPaint(QWidget *widget) = 0;
    86     virtual void endPaint
    76     virtual void endPaint
    87         (QWidget *widget, const QRegion& region, QImage *image = 0) = 0;
    77         (QWidget *widget, const QRegion& region, QImage *image = 0) = 0;
   124     EGLSurface windowSurface;
   114     EGLSurface windowSurface;
   125 
   115 
   126     EGLSurface mainSurface() const;
   116     EGLSurface mainSurface() const;
   127 };
   117 };
   128 
   118 
   129 class Q_OPENVG_EXPORT QVGEGLWindowSurfaceQImage : public QVGEGLWindowSurfaceVGImage
       
   130 {
       
   131 public:
       
   132     QVGEGLWindowSurfaceQImage(QWindowSurface *win);
       
   133     virtual ~QVGEGLWindowSurfaceQImage();
       
   134 
       
   135     void endPaint(QWidget *widget, const QRegion& region, QImage *image);
       
   136 };
       
   137 
       
   138 #endif // EGL_OPENVG_IMAGE
   119 #endif // EGL_OPENVG_IMAGE
   139 
   120 
   140 class Q_OPENVG_EXPORT QVGEGLWindowSurfaceDirect : public QVGEGLWindowSurfacePrivate
   121 class Q_OPENVG_EXPORT QVGEGLWindowSurfaceDirect : public QVGEGLWindowSurfacePrivate
   141 {
   122 {
   142 public:
   123 public: