| OLD | NEW | 
|---|
| (Empty) |  | 
|  | 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 UI_GL_GL_IMAGE_H_ | 
|  | 6 #define UI_GL_GL_IMAGE_H_ | 
|  | 7 | 
|  | 8 #include "base/memory/ref_counted.h" | 
|  | 9 #include "ui/gfx/native_widget_types.h" | 
|  | 10 #include "ui/gfx/size.h" | 
|  | 11 #include "ui/gl/gl_bindings.h" | 
|  | 12 #include "ui/gl/gl_export.h" | 
|  | 13 | 
|  | 14 namespace gfx { | 
|  | 15 | 
|  | 16 class GLSurface; | 
|  | 17 | 
|  | 18 // Encapsulates an image that can be bound to a texture, hiding platform | 
|  | 19 // specific management. | 
|  | 20 class GL_EXPORT GLImage : public base::RefCounted<GLImage> { | 
|  | 21  public: | 
|  | 22   GLImage(); | 
|  | 23 | 
|  | 24   // Destroys the image. | 
|  | 25   virtual void Destroy() = 0; | 
|  | 26 | 
|  | 27   // Get the size of the image. | 
|  | 28   virtual gfx::Size GetSize() = 0; | 
|  | 29 | 
|  | 30   // Bind image to texture currently bound to GL_TEXTURE_2D target. | 
|  | 31   virtual bool BindTexImage(); | 
|  | 32 | 
|  | 33   // Release image from texture currently bound to GL_TEXTURE_2D target. | 
|  | 34   virtual void ReleaseTexImage(); | 
|  | 35 | 
|  | 36   // Create a GL image for a window. | 
|  | 37   static scoped_refptr<GLImage> CreateGLImage(gfx::PluginWindowHandle window); | 
|  | 38 | 
|  | 39  protected: | 
|  | 40   virtual ~GLImage(); | 
|  | 41 | 
|  | 42  private: | 
|  | 43   friend class base::RefCounted<GLImage>; | 
|  | 44 | 
|  | 45   DISALLOW_COPY_AND_ASSIGN(GLImage); | 
|  | 46 }; | 
|  | 47 | 
|  | 48 }  // namespace gfx | 
|  | 49 | 
|  | 50 #endif  // UI_GL_GL_IMAGE_H_ | 
| OLD | NEW | 
|---|