/* * Copyright 2012 Google Inc. * * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ #ifndef SKGLWIDGET_H_ #define SKGLWIDGET_H_ #if SK_SUPPORT_GPU #include #include "SkDebugCanvas.h" #include "SkDebugger.h" #include "SkGpuDevice.h" #include "GrBackendSurface.h" #include "GrContext.h" #include "gl/GrGLInterface.h" #include "gl/GrGLUtil.h" class SkGLWidget : public QGLWidget { Q_OBJECT public: SkGLWidget(SkDebugger* debugger); ~SkGLWidget(); void updateImage() { this->updateGL(); } void setSampleCount(int sampleCount); Q_SIGNALS: void drawComplete(); protected: void initializeGL(); void resizeGL(int w, int h); void paintGL(); private: void createRenderTarget(); sk_sp fCurIntf; sk_sp fCurContext; sk_sp fGpuSurface; SkCanvas* fCanvas; SkDebugger* fDebugger; GrBackendRenderTarget getBackendRenderTarget(); }; #endif /* SK_SUPPORT_GPU */ #endif /* SKGLWIDGET_H_ */