| // Copyright 2012 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef CCTexture_h |
| #define CCTexture_h |
| |
| #include "CCResourceProvider.h" |
| #include "CCTexture.h" |
| #include "GraphicsContext3D.h" |
| #include "IntSize.h" |
| |
| namespace cc { |
| |
| class CCTexture { |
| public: |
| CCTexture() : m_id(0) { } |
| CCTexture(unsigned id, IntSize size, GC3Denum format) |
| : m_id(id) |
| , m_size(size) |
| , m_format(format) { } |
| |
| CCResourceProvider::ResourceId id() const { return m_id; } |
| const IntSize& size() const { return m_size; } |
| GC3Denum format() const { return m_format; } |
| |
| void setId(CCResourceProvider::ResourceId id) { m_id = id; } |
| void setDimensions(const IntSize&, GC3Denum format); |
| |
| size_t bytes() const; |
| |
| static size_t memorySizeBytes(const IntSize&, GC3Denum format); |
| |
| private: |
| CCResourceProvider::ResourceId m_id; |
| IntSize m_size; |
| GC3Denum m_format; |
| }; |
| |
| } |
| |
| #endif |