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/bitmap_skpicture_content_layer_updater.h" | 5 #include "cc/bitmap_skpicture_content_layer_updater.h" |
6 | 6 |
7 #include "base/time.h" | 7 #include "base/time.h" |
8 #include "cc/layer_painter.h" | 8 #include "cc/layer_painter.h" |
9 #include "cc/prioritized_resource.h" | 9 #include "cc/prioritized_resource.h" |
10 #include "cc/rendering_stats.h" | 10 #include "cc/rendering_stats.h" |
(...skipping 11 matching lines...) Expand all Loading... |
22 | 22 |
23 void BitmapSkPictureContentLayerUpdater::Resource::update(ResourceUpdateQueue& q
ueue, const gfx::Rect& sourceRect, const gfx::Vector2d& destOffset, bool partial
Update, RenderingStats& stats) | 23 void BitmapSkPictureContentLayerUpdater::Resource::update(ResourceUpdateQueue& q
ueue, const gfx::Rect& sourceRect, const gfx::Vector2d& destOffset, bool partial
Update, RenderingStats& stats) |
24 { | 24 { |
25 m_bitmap.setConfig(SkBitmap::kARGB_8888_Config, sourceRect.width(), sourceRe
ct.height()); | 25 m_bitmap.setConfig(SkBitmap::kARGB_8888_Config, sourceRect.width(), sourceRe
ct.height()); |
26 m_bitmap.allocPixels(); | 26 m_bitmap.allocPixels(); |
27 m_bitmap.setIsOpaque(m_updater->layerIsOpaque()); | 27 m_bitmap.setIsOpaque(m_updater->layerIsOpaque()); |
28 SkDevice device(m_bitmap); | 28 SkDevice device(m_bitmap); |
29 SkCanvas canvas(&device); | 29 SkCanvas canvas(&device); |
30 base::TimeTicks paintBeginTime = base::TimeTicks::Now(); | 30 base::TimeTicks paintBeginTime = base::TimeTicks::Now(); |
31 updater()->paintContentsRect(&canvas, sourceRect, stats); | 31 updater()->paintContentsRect(&canvas, sourceRect, stats); |
32 stats.totalPaintTimeInSeconds += (base::TimeTicks::Now() - paintBeginTime).I
nSecondsF(); | 32 stats.totalPaintTime += base::TimeTicks::Now() - paintBeginTime; |
33 | 33 |
34 ResourceUpdate upload = ResourceUpdate::Create( | 34 ResourceUpdate upload = ResourceUpdate::Create( |
35 texture(), &m_bitmap, sourceRect, sourceRect, destOffset); | 35 texture(), &m_bitmap, sourceRect, sourceRect, destOffset); |
36 if (partialUpdate) | 36 if (partialUpdate) |
37 queue.appendPartialUpload(upload); | 37 queue.appendPartialUpload(upload); |
38 else | 38 else |
39 queue.appendFullUpload(upload); | 39 queue.appendFullUpload(upload); |
40 } | 40 } |
41 | 41 |
42 scoped_refptr<BitmapSkPictureContentLayerUpdater> BitmapSkPictureContentLayerUpd
ater::create(scoped_ptr<LayerPainter> painter) | 42 scoped_refptr<BitmapSkPictureContentLayerUpdater> BitmapSkPictureContentLayerUpd
ater::create(scoped_ptr<LayerPainter> painter) |
(...skipping 15 matching lines...) Expand all Loading... |
58 return scoped_ptr<LayerUpdater::Resource>(new Resource(this, PrioritizedReso
urce::create(manager))); | 58 return scoped_ptr<LayerUpdater::Resource>(new Resource(this, PrioritizedReso
urce::create(manager))); |
59 } | 59 } |
60 | 60 |
61 void BitmapSkPictureContentLayerUpdater::paintContentsRect(SkCanvas* canvas, con
st gfx::Rect& sourceRect, RenderingStats& stats) | 61 void BitmapSkPictureContentLayerUpdater::paintContentsRect(SkCanvas* canvas, con
st gfx::Rect& sourceRect, RenderingStats& stats) |
62 { | 62 { |
63 // Translate the origin of contentRect to that of sourceRect. | 63 // Translate the origin of contentRect to that of sourceRect. |
64 canvas->translate(contentRect().x() - sourceRect.x(), | 64 canvas->translate(contentRect().x() - sourceRect.x(), |
65 contentRect().y() - sourceRect.y()); | 65 contentRect().y() - sourceRect.y()); |
66 base::TimeTicks rasterizeBeginTime = base::TimeTicks::Now(); | 66 base::TimeTicks rasterizeBeginTime = base::TimeTicks::Now(); |
67 drawPicture(canvas); | 67 drawPicture(canvas); |
68 stats.totalRasterizeTimeInSeconds += (base::TimeTicks::Now() - rasterizeBegi
nTime).InSecondsF(); | 68 stats.totalRasterizeTime += base::TimeTicks::Now() - rasterizeBeginTime; |
69 stats.totalPixelsRasterized += sourceRect.width() * sourceRect.height(); | 69 stats.totalPixelsRasterized += sourceRect.width() * sourceRect.height(); |
70 } | 70 } |
71 | 71 |
72 } // namespace cc | 72 } // namespace cc |
OLD | NEW |