OLD | NEW |
1 // Copyright 2011 The Chromium Authors. All rights reserved. | 1 // Copyright 2011 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 #include "cc/texture_layer_impl.h" | 5 #include "cc/texture_layer_impl.h" |
6 | 6 |
7 #include "base/stringprintf.h" | 7 #include "base/stringprintf.h" |
8 #include "cc/layer_tree_impl.h" | 8 #include "cc/layer_tree_impl.h" |
9 #include "cc/quad_sink.h" | 9 #include "cc/quad_sink.h" |
10 #include "cc/renderer.h" | 10 #include "cc/renderer.h" |
11 #include "cc/texture_draw_quad.h" | 11 #include "cc/texture_draw_quad.h" |
12 | 12 |
13 namespace cc { | 13 namespace cc { |
14 | 14 |
15 TextureLayerImpl::TextureLayerImpl(LayerTreeImpl* treeImpl, int id, bool usesMai
lbox) | 15 TextureLayerImpl::TextureLayerImpl(LayerTreeImpl* treeImpl, int id, bool usesMai
lbox) |
16 : LayerImpl(treeImpl, id) | 16 : LayerImpl(treeImpl, id) |
17 , m_textureId(0) | 17 , m_textureId(0) |
18 , m_externalTextureResource(0) | 18 , m_externalTextureResource(0) |
19 , m_premultipliedAlpha(true) | 19 , m_premultipliedAlpha(true) |
20 , m_flipped(true) | 20 , m_flipped(true) |
21 , m_uvRect(0, 0, 1, 1) | 21 , m_uvTopLeft(0.f, 0.f) |
| 22 , m_uvBottomRight(1.f, 1.f) |
22 , m_hasPendingMailbox(false) | 23 , m_hasPendingMailbox(false) |
23 , m_usesMailbox(usesMailbox) | 24 , m_usesMailbox(usesMailbox) |
24 { | 25 { |
25 m_vertexOpacity[0] = 1.0f; | 26 m_vertexOpacity[0] = 1.0f; |
26 m_vertexOpacity[1] = 1.0f; | 27 m_vertexOpacity[1] = 1.0f; |
27 m_vertexOpacity[2] = 1.0f; | 28 m_vertexOpacity[2] = 1.0f; |
28 m_vertexOpacity[3] = 1.0f; | 29 m_vertexOpacity[3] = 1.0f; |
29 } | 30 } |
30 | 31 |
31 TextureLayerImpl::~TextureLayerImpl() | 32 TextureLayerImpl::~TextureLayerImpl() |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
80 { | 81 { |
81 if (!m_externalTextureResource) | 82 if (!m_externalTextureResource) |
82 return; | 83 return; |
83 | 84 |
84 SharedQuadState* sharedQuadState = quadSink.useSharedQuadState(createSharedQ
uadState()); | 85 SharedQuadState* sharedQuadState = quadSink.useSharedQuadState(createSharedQ
uadState()); |
85 appendDebugBorderQuad(quadSink, sharedQuadState, appendQuadsData); | 86 appendDebugBorderQuad(quadSink, sharedQuadState, appendQuadsData); |
86 | 87 |
87 gfx::Rect quadRect(gfx::Point(), contentBounds()); | 88 gfx::Rect quadRect(gfx::Point(), contentBounds()); |
88 gfx::Rect opaqueRect(contentsOpaque() ? quadRect : gfx::Rect()); | 89 gfx::Rect opaqueRect(contentsOpaque() ? quadRect : gfx::Rect()); |
89 scoped_ptr<TextureDrawQuad> quad = TextureDrawQuad::Create(); | 90 scoped_ptr<TextureDrawQuad> quad = TextureDrawQuad::Create(); |
90 quad->SetNew(sharedQuadState, quadRect, opaqueRect, m_externalTextureResourc
e, m_premultipliedAlpha, m_uvRect, m_vertexOpacity, m_flipped); | 91 quad->SetNew(sharedQuadState, quadRect, opaqueRect, m_externalTextureResourc
e, m_premultipliedAlpha, m_uvTopLeft, m_uvBottomRight, m_vertexOpacity, m_flippe
d); |
91 | 92 |
92 // Perform explicit clipping on a quad to avoid setting a scissor later. | 93 // Perform explicit clipping on a quad to avoid setting a scissor later. |
93 if (sharedQuadState->is_clipped && quad->PerformClipping()) | 94 if (sharedQuadState->is_clipped && quad->PerformClipping()) |
94 sharedQuadState->is_clipped = false; | 95 sharedQuadState->is_clipped = false; |
95 if (!quad->rect.IsEmpty()) | 96 if (!quad->rect.IsEmpty()) |
96 quadSink.append(quad.PassAs<DrawQuad>(), appendQuadsData); | 97 quadSink.append(quad.PassAs<DrawQuad>(), appendQuadsData); |
97 } | 98 } |
98 | 99 |
99 void TextureLayerImpl::didDraw(ResourceProvider* resourceProvider) | 100 void TextureLayerImpl::didDraw(ResourceProvider* resourceProvider) |
100 { | 101 { |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
134 { | 135 { |
135 return "TextureLayer"; | 136 return "TextureLayer"; |
136 } | 137 } |
137 | 138 |
138 bool TextureLayerImpl::canClipSelf() const | 139 bool TextureLayerImpl::canClipSelf() const |
139 { | 140 { |
140 return true; | 141 return true; |
141 } | 142 } |
142 | 143 |
143 } // namespace cc | 144 } // namespace cc |
OLD | NEW |