Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / third_party / skia / dm / DMGpuGMTask.h
1 #ifndef DMGpuGMTask_DEFINED
2 #define DMGpuGMTask_DEFINED
3
4 #include "DMExpectations.h"
5 #include "DMGpuSupport.h"
6 #include "DMReporter.h"
7 #include "DMTask.h"
8 #include "DMTaskRunner.h"
9 #include "SkBitmap.h"
10 #include "SkString.h"
11 #include "SkTemplates.h"
12 #include "gm.h"
13
14 // This is the main entry point for drawing GMs with the GPU.
15
16 namespace DM {
17
18 class GpuGMTask : public GpuTask {
19 public:
20     GpuGMTask(const char* config,
21               Reporter*,
22               TaskRunner*,
23               skiagm::GMRegistry::Factory,
24               const Expectations&,
25               GrContextFactory::GLContextType,
26               GrGLStandard gpuAPI,
27               int sampleCount);
28
29     virtual void draw(GrContextFactory*) SK_OVERRIDE;
30     virtual bool shouldSkip() const SK_OVERRIDE;
31     virtual SkString name() const SK_OVERRIDE { return fName; }
32
33 private:
34     SkAutoTDelete<skiagm::GM> fGM;
35     const SkString fName;
36     const Expectations& fExpectations;
37     const GrContextFactory::GLContextType fContextType;
38     GrGLStandard fGpuAPI;
39     const int fSampleCount;
40 };
41
42 }  // namespace DM
43
44 #endif  // DMGpuGMTask_DEFINED