• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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:
TestGraphics3D(TestingInstance * instance)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_
43