Home | History | Annotate | Download | only in tests
      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_
     43