1 // Copyright 2013 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 CC_TEST_TEST_TEXTURE_H_ 6 #define CC_TEST_TEST_TEXTURE_H_ 7 8 #include "base/containers/hash_tables.h" 9 #include "base/memory/ref_counted.h" 10 #include "base/memory/scoped_ptr.h" 11 #include "cc/resources/resource_format.h" 12 #include "third_party/khronos/GLES2/gl2.h" 13 #include "ui/gfx/size.h" 14 15 namespace cc { 16 17 size_t TextureSizeBytes(const gfx::Size& size, ResourceFormat format); 18 19 struct TestTexture : public base::RefCounted<TestTexture> { 20 TestTexture(); 21 22 void Reallocate(const gfx::Size& size, ResourceFormat format); 23 bool IsValidParameter(GLenum pname); 24 25 gfx::Size size; 26 ResourceFormat format; 27 scoped_ptr<uint8_t[]> data; 28 29 typedef base::hash_map<GLenum, GLint> 30 TextureParametersMap; 31 TextureParametersMap params; 32 33 private: 34 friend class base::RefCounted<TestTexture>; 35 ~TestTexture(); 36 }; 37 38 } // namespace cc 39 40 #endif // CC_TEST_TEST_TEXTURE_H_ 41