- add sources.
[platform/framework/web/crosswalk.git] / src / ppapi / tests / test_graphics_3d.h
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef PAPPI_TESTS_TEST_GRAPHICS_3D_H_
6 #define PAPPI_TESTS_TEST_GRAPHICS_3D_H_
7
8 #include <string>
9 #include "ppapi/tests/test_case.h"
10
11 struct PPB_OpenGLES2;
12
13 namespace pp {
14 class Graphics3D;
15 }  // namespace pp
16
17 class TestGraphics3D : public TestCase {
18  public:
19   TestGraphics3D(TestingInstance* instance) : TestCase(instance) {}
20
21   // TestCase implementation.
22   virtual bool Init();
23   virtual void RunTests(const std::string& filter);
24
25  private:
26   // Various tests.
27   std::string TestExtensionsGL();
28   std::string TestFrameGL();
29   std::string TestFramePPAPI();
30   std::string TestBadResource();
31
32   // Utils used by various tests.
33   int32_t SwapBuffersSync(pp::Graphics3D* context);
34   std::string CheckPixelPPAPI(pp::Graphics3D* context,
35                              int x, int y, const uint8_t expected_color[4]);
36   std::string CheckPixelGL(int x, int y, const uint8_t expected_color[4]);
37
38   // OpenGL ES2 interface.
39   const PPB_OpenGLES2* opengl_es2_;
40 };
41
42 #endif  // PAPPI_TESTS_TEST_GRAPHICS_3D_H_