| OLD | NEW |
| 1 // Copyright 2010 The Chromium Authors. All rights reserved. | 1 // Copyright 2010 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef CC_LAYERS_TEXTURE_LAYER_H_ | 5 #ifndef CC_LAYERS_TEXTURE_LAYER_H_ |
| 6 #define CC_LAYERS_TEXTURE_LAYER_H_ | 6 #define CC_LAYERS_TEXTURE_LAYER_H_ |
| 7 | 7 |
| 8 #include <string> | 8 #include <string> |
| 9 | 9 |
| 10 #include "base/callback.h" | 10 #include "base/callback.h" |
| (...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 88 static scoped_refptr<TextureLayer> CreateForMailbox( | 88 static scoped_refptr<TextureLayer> CreateForMailbox( |
| 89 TextureLayerClient* client); | 89 TextureLayerClient* client); |
| 90 | 90 |
| 91 // Resets the client, which also resets the texture. | 91 // Resets the client, which also resets the texture. |
| 92 void ClearClient(); | 92 void ClearClient(); |
| 93 | 93 |
| 94 // Resets the texture. | 94 // Resets the texture. |
| 95 void ClearTexture(); | 95 void ClearTexture(); |
| 96 | 96 |
| 97 virtual scoped_ptr<LayerImpl> CreateLayerImpl(LayerTreeImpl* tree_impl) | 97 virtual scoped_ptr<LayerImpl> CreateLayerImpl(LayerTreeImpl* tree_impl) |
| 98 OVERRIDE; | 98 override; |
| 99 | 99 |
| 100 // Sets whether this texture should be Y-flipped at draw time. Defaults to | 100 // Sets whether this texture should be Y-flipped at draw time. Defaults to |
| 101 // true. | 101 // true. |
| 102 void SetFlipped(bool flipped); | 102 void SetFlipped(bool flipped); |
| 103 | 103 |
| 104 // Sets a UV transform to be used at draw time. Defaults to (0, 0) and (1, 1). | 104 // Sets a UV transform to be used at draw time. Defaults to (0, 0) and (1, 1). |
| 105 void SetUV(const gfx::PointF& top_left, const gfx::PointF& bottom_right); | 105 void SetUV(const gfx::PointF& top_left, const gfx::PointF& bottom_right); |
| 106 | 106 |
| 107 // Sets an opacity value per vertex. It will be multiplied by the layer | 107 // Sets an opacity value per vertex. It will be multiplied by the layer |
| 108 // opacity value. | 108 // opacity value. |
| (...skipping 18 matching lines...) Expand all Loading... |
| 127 // Code path for plugins which supply their own mailbox. | 127 // Code path for plugins which supply their own mailbox. |
| 128 void SetTextureMailbox(const TextureMailbox& mailbox, | 128 void SetTextureMailbox(const TextureMailbox& mailbox, |
| 129 scoped_ptr<SingleReleaseCallback> release_callback); | 129 scoped_ptr<SingleReleaseCallback> release_callback); |
| 130 | 130 |
| 131 // Use this for special cases where the same texture is used to back the | 131 // Use this for special cases where the same texture is used to back the |
| 132 // TextureLayer across all frames. | 132 // TextureLayer across all frames. |
| 133 // WARNING: DON'T ACTUALLY USE THIS WHAT YOU ARE DOING IS WRONG. | 133 // WARNING: DON'T ACTUALLY USE THIS WHAT YOU ARE DOING IS WRONG. |
| 134 // TODO(danakj): Remove this when pepper doesn't need it. crbug.com/350204 | 134 // TODO(danakj): Remove this when pepper doesn't need it. crbug.com/350204 |
| 135 void SetTextureMailboxWithoutReleaseCallback(const TextureMailbox& mailbox); | 135 void SetTextureMailboxWithoutReleaseCallback(const TextureMailbox& mailbox); |
| 136 | 136 |
| 137 virtual void SetNeedsDisplayRect(const gfx::RectF& dirty_rect) OVERRIDE; | 137 virtual void SetNeedsDisplayRect(const gfx::RectF& dirty_rect) override; |
| 138 | 138 |
| 139 virtual void SetLayerTreeHost(LayerTreeHost* layer_tree_host) OVERRIDE; | 139 virtual void SetLayerTreeHost(LayerTreeHost* layer_tree_host) override; |
| 140 virtual bool Update(ResourceUpdateQueue* queue, | 140 virtual bool Update(ResourceUpdateQueue* queue, |
| 141 const OcclusionTracker<Layer>* occlusion) OVERRIDE; | 141 const OcclusionTracker<Layer>* occlusion) override; |
| 142 virtual void PushPropertiesTo(LayerImpl* layer) OVERRIDE; | 142 virtual void PushPropertiesTo(LayerImpl* layer) override; |
| 143 virtual SimpleEnclosedRegion VisibleContentOpaqueRegion() const OVERRIDE; | 143 virtual SimpleEnclosedRegion VisibleContentOpaqueRegion() const override; |
| 144 | 144 |
| 145 protected: | 145 protected: |
| 146 explicit TextureLayer(TextureLayerClient* client); | 146 explicit TextureLayer(TextureLayerClient* client); |
| 147 virtual ~TextureLayer(); | 147 virtual ~TextureLayer(); |
| 148 virtual bool HasDrawableContent() const OVERRIDE; | 148 virtual bool HasDrawableContent() const override; |
| 149 | 149 |
| 150 private: | 150 private: |
| 151 void SetTextureMailboxInternal( | 151 void SetTextureMailboxInternal( |
| 152 const TextureMailbox& mailbox, | 152 const TextureMailbox& mailbox, |
| 153 scoped_ptr<SingleReleaseCallback> release_callback, | 153 scoped_ptr<SingleReleaseCallback> release_callback, |
| 154 bool requires_commit, | 154 bool requires_commit, |
| 155 bool allow_mailbox_reuse); | 155 bool allow_mailbox_reuse); |
| 156 | 156 |
| 157 TextureLayerClient* client_; | 157 TextureLayerClient* client_; |
| 158 | 158 |
| 159 bool flipped_; | 159 bool flipped_; |
| 160 gfx::PointF uv_top_left_; | 160 gfx::PointF uv_top_left_; |
| 161 gfx::PointF uv_bottom_right_; | 161 gfx::PointF uv_bottom_right_; |
| 162 // [bottom left, top left, top right, bottom right] | 162 // [bottom left, top left, top right, bottom right] |
| 163 float vertex_opacity_[4]; | 163 float vertex_opacity_[4]; |
| 164 bool premultiplied_alpha_; | 164 bool premultiplied_alpha_; |
| 165 bool blend_background_color_; | 165 bool blend_background_color_; |
| 166 bool rate_limit_context_; | 166 bool rate_limit_context_; |
| 167 | 167 |
| 168 scoped_ptr<TextureMailboxHolder::MainThreadReference> holder_ref_; | 168 scoped_ptr<TextureMailboxHolder::MainThreadReference> holder_ref_; |
| 169 bool needs_set_mailbox_; | 169 bool needs_set_mailbox_; |
| 170 | 170 |
| 171 DISALLOW_COPY_AND_ASSIGN(TextureLayer); | 171 DISALLOW_COPY_AND_ASSIGN(TextureLayer); |
| 172 }; | 172 }; |
| 173 | 173 |
| 174 } // namespace cc | 174 } // namespace cc |
| 175 #endif // CC_LAYERS_TEXTURE_LAYER_H_ | 175 #endif // CC_LAYERS_TEXTURE_LAYER_H_ |
| OLD | NEW |