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 #include "config.h" | 5 #include "config.h" |
6 | 6 |
7 #include "cc/image_layer.h" | 7 #include "cc/image_layer.h" |
8 | 8 |
9 #include "base/compiler_specific.h" | 9 #include "base/compiler_specific.h" |
10 #include "cc/layer_updater.h" | 10 #include "cc/layer_updater.h" |
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
112 | 112 |
113 TiledLayer::setTexturePriorities(priorityCalc); | 113 TiledLayer::setTexturePriorities(priorityCalc); |
114 } | 114 } |
115 | 115 |
116 void ImageLayer::update(TextureUpdateQueue& queue, const OcclusionTracker* occlu
sion, RenderingStats& stats) | 116 void ImageLayer::update(TextureUpdateQueue& queue, const OcclusionTracker* occlu
sion, RenderingStats& stats) |
117 { | 117 { |
118 createUpdaterIfNeeded(); | 118 createUpdaterIfNeeded(); |
119 if (m_needsDisplay) { | 119 if (m_needsDisplay) { |
120 m_updater->setBitmap(m_bitmap); | 120 m_updater->setBitmap(m_bitmap); |
121 updateTileSizeAndTilingOption(); | 121 updateTileSizeAndTilingOption(); |
122 invalidateContentRect(IntRect(IntPoint(), contentBounds())); | 122 invalidateContentRect(gfx::Rect(gfx::Point(), contentBounds())); |
123 m_needsDisplay = false; | 123 m_needsDisplay = false; |
124 } | 124 } |
125 TiledLayer::update(queue, occlusion, stats); | 125 TiledLayer::update(queue, occlusion, stats); |
126 } | 126 } |
127 | 127 |
128 void ImageLayer::createUpdaterIfNeeded() | 128 void ImageLayer::createUpdaterIfNeeded() |
129 { | 129 { |
130 if (m_updater) | 130 if (m_updater) |
131 return; | 131 return; |
132 | 132 |
133 m_updater = ImageLayerUpdater::create(); | 133 m_updater = ImageLayerUpdater::create(); |
134 GLenum textureFormat = layerTreeHost()->rendererCapabilities().bestTextureFo
rmat; | 134 GLenum textureFormat = layerTreeHost()->rendererCapabilities().bestTextureFo
rmat; |
135 setTextureFormat(textureFormat); | 135 setTextureFormat(textureFormat); |
136 } | 136 } |
137 | 137 |
138 LayerUpdater* ImageLayer::updater() const | 138 LayerUpdater* ImageLayer::updater() const |
139 { | 139 { |
140 return m_updater.get(); | 140 return m_updater.get(); |
141 } | 141 } |
142 | 142 |
143 IntSize ImageLayer::contentBounds() const | 143 gfx::Size ImageLayer::contentBounds() const |
144 { | 144 { |
145 return IntSize(m_bitmap.width(), m_bitmap.height()); | 145 return gfx::Size(m_bitmap.width(), m_bitmap.height()); |
146 } | 146 } |
147 | 147 |
148 bool ImageLayer::drawsContent() const | 148 bool ImageLayer::drawsContent() const |
149 { | 149 { |
150 return !m_bitmap.isNull() && TiledLayer::drawsContent(); | 150 return !m_bitmap.isNull() && TiledLayer::drawsContent(); |
151 } | 151 } |
152 | 152 |
153 bool ImageLayer::needsContentsScale() const | 153 bool ImageLayer::needsContentsScale() const |
154 { | 154 { |
155 // Contents scale is not need for image layer because this can be done in co
mpositor more efficiently. | 155 // Contents scale is not need for image layer because this can be done in co
mpositor more efficiently. |
156 return false; | 156 return false; |
157 } | 157 } |
158 | 158 |
159 } | 159 } |
OLD | NEW |