diff options
author | Nicolas Roard <nicolasroard@google.com> | 2012-04-06 11:35:50 -0700 |
---|---|---|
committer | Nicolas Roard <nicolasroard@google.com> | 2012-04-06 14:03:59 -0700 |
commit | 2e510fd5b5a30f1315c272d44ae3aa4cba355498 (patch) | |
tree | db3af5f32855d329856f190c3509ae11ae519851 /Source/WebCore/platform/graphics/android/TileTexture.h | |
parent | c88c88907b618e468ec3928b06a3a31d4f99b9c6 (diff) | |
download | external_webkit-2e510fd5b5a30f1315c272d44ae3aa4cba355498.zip external_webkit-2e510fd5b5a30f1315c272d44ae3aa4cba355498.tar.gz external_webkit-2e510fd5b5a30f1315c272d44ae3aa4cba355498.tar.bz2 |
Reorganize platform/graphics/android
Change-Id: Idc67155cfa99784dcd931e705336bfa063ecae46
Diffstat (limited to 'Source/WebCore/platform/graphics/android/TileTexture.h')
-rw-r--r-- | Source/WebCore/platform/graphics/android/TileTexture.h | 99 |
1 files changed, 0 insertions, 99 deletions
diff --git a/Source/WebCore/platform/graphics/android/TileTexture.h b/Source/WebCore/platform/graphics/android/TileTexture.h deleted file mode 100644 index 5fe43b0..0000000 --- a/Source/WebCore/platform/graphics/android/TileTexture.h +++ /dev/null @@ -1,99 +0,0 @@ -/* - * Copyright 2010, The Android Open Source Project - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY - * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef TileTexture_h -#define TileTexture_h - -#include "TextureInfo.h" -#include "Color.h" -#include "SkBitmap.h" -#include "SkRect.h" -#include "SkSize.h" - -#include <GLES2/gl2.h> - -class SkCanvas; - -namespace WebCore { - -class TextureOwner; -class Tile; -class TransformationMatrix; - -class TileTexture { -public: - // This object is to be constructed on the consumer's thread and must have - // a width and height greater than 0. - TileTexture(uint32_t w, uint32_t h); - virtual ~TileTexture(); - - // allows consumer thread to assign ownership of the texture to the tile. It - // returns false if ownership cannot be transferred because the tile is busy - bool acquire(TextureOwner* owner, bool force = false); - bool release(TextureOwner* owner); - - // set the texture owner if not busy. Return false if busy, true otherwise. - bool setOwner(TextureOwner* owner, bool force = false); - - // private member accessor functions - TextureOwner* owner() { return m_owner; } // only used by the consumer thread - - const SkSize& getSize() const { return m_size; } - - // OpenGL ID of backing texture, 0 when not allocated - GLuint m_ownTextureId; - // these are used for dynamically (de)allocating backing graphics memory - void requireGLTexture(); - void discardGLTexture(); - - void transferComplete(); - - TextureInfo* getTextureInfo() { return &m_ownTextureInfo; } - - // Make sure the following pureColor getter/setter are only read/written - // in UI thread. Therefore no need for a lock. - void setPure(bool pure) { m_isPureColor = pure; } - bool isPureColor() {return m_isPureColor; } - void setPureColor(const Color& color) { m_pureColor = color; setPure(true); } - Color pureColor() { return m_pureColor; } - - void drawGL(bool isLayer, const SkRect& rect, float opacity, - const TransformationMatrix* transform, bool forceBlending = false); -private: - TextureInfo m_ownTextureInfo; - SkSize m_size; - - // Tile owning the texture, only modified by UI thread - TextureOwner* m_owner; - - // When the whole tile is single color, skip the transfer queue and draw - // it directly through shader. - bool m_isPureColor; - Color m_pureColor; -}; - -} // namespace WebCore - -#endif // TileTexture_h |