diff options
Diffstat (limited to 'WebCore/html/canvas/WebGLTexture.h')
-rw-r--r-- | WebCore/html/canvas/WebGLTexture.h | 140 |
1 files changed, 71 insertions, 69 deletions
diff --git a/WebCore/html/canvas/WebGLTexture.h b/WebCore/html/canvas/WebGLTexture.h index d4a32f0..64bd6e0 100644 --- a/WebCore/html/canvas/WebGLTexture.h +++ b/WebCore/html/canvas/WebGLTexture.h @@ -26,104 +26,106 @@ #ifndef WebGLTexture_h #define WebGLTexture_h -#include "CanvasObject.h" +#include "WebGLObject.h" #include <wtf/PassRefPtr.h> #include <wtf/RefCounted.h> #include <wtf/Vector.h> namespace WebCore { - - class WebGLTexture : public CanvasObject { - public: - virtual ~WebGLTexture() { deleteObject(); } - - static PassRefPtr<WebGLTexture> create(WebGLRenderingContext*); - bool isCubeMapRWrapModeInitialized() { - return cubeMapRWrapModeInitialized; - } +class WebGLTexture : public WebGLObject { +public: + virtual ~WebGLTexture() { deleteObject(); } - void setCubeMapRWrapModeInitialized(bool initialized) { - cubeMapRWrapModeInitialized = initialized; - } + static PassRefPtr<WebGLTexture> create(WebGLRenderingContext*); - void setTarget(unsigned long target, int maxLevel); - void setParameteri(unsigned long pname, int param); - void setParameterf(unsigned long pname, float param); + bool isCubeMapRWrapModeInitialized() + { + return cubeMapRWrapModeInitialized; + } - void setLevelInfo(unsigned long target, int level, unsigned long internalFormat, int width, int height, unsigned long type); + void setCubeMapRWrapModeInitialized(bool initialized) + { + cubeMapRWrapModeInitialized = initialized; + } - bool canGenerateMipmaps(); - // Generate all level information. - void generateMipmapLevelInfo(); + void setTarget(unsigned long target, int maxLevel); + void setParameteri(unsigned long pname, int param); + void setParameterf(unsigned long pname, float param); - unsigned long getInternalFormat() const; + void setLevelInfo(unsigned long target, int level, unsigned long internalFormat, int width, int height, unsigned long type); - // Whether width/height is NotPowerOfTwo. - static bool isNPOT(unsigned, unsigned); + bool canGenerateMipmaps(); + // Generate all level information. + void generateMipmapLevelInfo(); - bool isNPOT() const; - // Determine if texture sampling should always return [0, 0, 0, 1] (OpenGL ES 2.0 Sec 3.8.2). - bool needToUseBlackTexture() const; + unsigned long getInternalFormat() const; - static int computeLevelCount(int width, int height); + // Whether width/height is NotPowerOfTwo. + static bool isNPOT(unsigned, unsigned); - protected: - WebGLTexture(WebGLRenderingContext*); + bool isNPOT() const; + // Determine if texture sampling should always return [0, 0, 0, 1] (OpenGL ES 2.0 Sec 3.8.2). + bool needToUseBlackTexture() const; - virtual void _deleteObject(Platform3DObject); + static int computeLevelCount(int width, int height); - private: - virtual bool isTexture() const { return true; } +protected: + WebGLTexture(WebGLRenderingContext*); - void update(); + virtual void deleteObjectImpl(Platform3DObject); - int mapTargetToIndex(unsigned long); +private: + virtual bool isTexture() const { return true; } - bool cubeMapRWrapModeInitialized; + void update(); - unsigned long m_target; + int mapTargetToIndex(unsigned long); - int m_minFilter; - int m_magFilter; - int m_wrapS; - int m_wrapT; + bool cubeMapRWrapModeInitialized; - class LevelInfo { - public: - LevelInfo() - : valid(false) - , internalFormat(0) - , width(0) - , height(0) - , type(0) - { - } + unsigned long m_target; - void setInfo(unsigned long internalFmt, int w, int h, unsigned long tp) - { - valid = true; - internalFormat = internalFmt; - width = w; - height = h; - type = tp; - } + int m_minFilter; + int m_magFilter; + int m_wrapS; + int m_wrapT; - bool valid; - unsigned long internalFormat; - int width; - int height; - unsigned long type; - }; + class LevelInfo { + public: + LevelInfo() + : valid(false) + , internalFormat(0) + , width(0) + , height(0) + , type(0) + { + } - Vector<Vector<LevelInfo> > m_info; + void setInfo(unsigned long internalFmt, int w, int h, unsigned long tp) + { + valid = true; + internalFormat = internalFmt; + width = w; + height = h; + type = tp; + } - bool m_isNPOT; - bool m_isComplete; - bool m_needToUseBlackTexture; + bool valid; + unsigned long internalFormat; + int width; + int height; + unsigned long type; }; - + + Vector<Vector<LevelInfo> > m_info; + + bool m_isNPOT; + bool m_isComplete; + bool m_needToUseBlackTexture; +}; + } // namespace WebCore #endif // WebGLTexture_h |