Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(191)

Side by Side Diff: cc/content_layer_updater.cc

Issue 11293084: cc: Get rid of FloatToSkScalar() function. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « cc/cc.gyp ('k') | cc/stubs/SkiaUtils.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 "config.h" 5 #include "config.h"
6 6
7 #include "cc/content_layer_updater.h" 7 #include "cc/content_layer_updater.h"
8 8
9 #include "SkiaUtils.h"
10 #include "base/debug/trace_event.h" 9 #include "base/debug/trace_event.h"
11 #include "base/time.h" 10 #include "base/time.h"
12 #include "cc/layer_painter.h" 11 #include "cc/layer_painter.h"
13 #include "cc/rendering_stats.h" 12 #include "cc/rendering_stats.h"
14 #include "third_party/skia/include/core/SkCanvas.h" 13 #include "third_party/skia/include/core/SkCanvas.h"
15 #include "third_party/skia/include/core/SkPaint.h" 14 #include "third_party/skia/include/core/SkPaint.h"
16 #include "third_party/skia/include/core/SkRect.h" 15 #include "third_party/skia/include/core/SkRect.h"
16 #include "third_party/skia/include/core/SkScalar.h"
17 #include "ui/gfx/rect_conversions.h" 17 #include "ui/gfx/rect_conversions.h"
18 #include "ui/gfx/rect_f.h" 18 #include "ui/gfx/rect_f.h"
19 19
20 namespace cc { 20 namespace cc {
21 21
22 ContentLayerUpdater::ContentLayerUpdater(scoped_ptr<LayerPainter> painter) 22 ContentLayerUpdater::ContentLayerUpdater(scoped_ptr<LayerPainter> painter)
23 : m_painter(painter.Pass()) 23 : m_painter(painter.Pass())
24 { 24 {
25 } 25 }
26 26
27 ContentLayerUpdater::~ContentLayerUpdater() 27 ContentLayerUpdater::~ContentLayerUpdater()
28 { 28 {
29 } 29 }
30 30
31 void ContentLayerUpdater::paintContents(SkCanvas* canvas, const gfx::Rect& conte ntRect, float contentsWidthScale, float contentsHeightScale, gfx::Rect& resultin gOpaqueRect, RenderingStats& stats) 31 void ContentLayerUpdater::paintContents(SkCanvas* canvas, const gfx::Rect& conte ntRect, float contentsWidthScale, float contentsHeightScale, gfx::Rect& resultin gOpaqueRect, RenderingStats& stats)
32 { 32 {
33 TRACE_EVENT0("cc", "ContentLayerUpdater::paintContents"); 33 TRACE_EVENT0("cc", "ContentLayerUpdater::paintContents");
34 canvas->save(); 34 canvas->save();
35 canvas->translate(FloatToSkScalar(-contentRect.x()), FloatToSkScalar(-conten tRect.y())); 35 canvas->translate(SkFloatToScalar(-contentRect.x()), SkFloatToScalar(-conten tRect.y()));
36 36
37 gfx::Rect layerRect = contentRect; 37 gfx::Rect layerRect = contentRect;
38 38
39 if (contentsWidthScale != 1 || contentsHeightScale != 1) { 39 if (contentsWidthScale != 1 || contentsHeightScale != 1) {
40 canvas->scale(FloatToSkScalar(contentsWidthScale), FloatToSkScalar(conte ntsHeightScale)); 40 canvas->scale(SkFloatToScalar(contentsWidthScale), SkFloatToScalar(conte ntsHeightScale));
41 41
42 gfx::RectF rect = gfx::ScaleRect(contentRect, 1 / contentsWidthScale, 1 / contentsHeightScale); 42 gfx::RectF rect = gfx::ScaleRect(contentRect, 1 / contentsWidthScale, 1 / contentsHeightScale);
43 layerRect = gfx::ToEnclosingRect(rect); 43 layerRect = gfx::ToEnclosingRect(rect);
44 } 44 }
45 45
46 SkPaint paint; 46 SkPaint paint;
47 paint.setAntiAlias(false); 47 paint.setAntiAlias(false);
48 paint.setXfermodeMode(SkXfermode::kClear_Mode); 48 paint.setXfermodeMode(SkXfermode::kClear_Mode);
49 SkRect layerSkRect = SkRect::MakeXYWH(layerRect.x(), layerRect.y(), layerRec t.width(), layerRect.height()); 49 SkRect layerSkRect = SkRect::MakeXYWH(layerRect.x(), layerRect.y(), layerRec t.width(), layerRect.height());
50 canvas->drawRect(layerSkRect, paint); 50 canvas->drawRect(layerSkRect, paint);
51 canvas->clipRect(layerSkRect); 51 canvas->clipRect(layerSkRect);
52 52
53 gfx::RectF opaqueLayerRect; 53 gfx::RectF opaqueLayerRect;
54 base::TimeTicks paintBeginTime = base::TimeTicks::Now(); 54 base::TimeTicks paintBeginTime = base::TimeTicks::Now();
55 m_painter->paint(canvas, layerRect, opaqueLayerRect); 55 m_painter->paint(canvas, layerRect, opaqueLayerRect);
56 stats.totalPaintTimeInSeconds += (base::TimeTicks::Now() - paintBeginTime).I nSecondsF(); 56 stats.totalPaintTimeInSeconds += (base::TimeTicks::Now() - paintBeginTime).I nSecondsF();
57 canvas->restore(); 57 canvas->restore();
58 58
59 gfx::RectF opaqueContentRect = gfx::ScaleRect(opaqueLayerRect, contentsWidth Scale, contentsHeightScale); 59 gfx::RectF opaqueContentRect = gfx::ScaleRect(opaqueLayerRect, contentsWidth Scale, contentsHeightScale);
60 resultingOpaqueRect = gfx::ToEnclosedRect(opaqueContentRect); 60 resultingOpaqueRect = gfx::ToEnclosedRect(opaqueContentRect);
61 61
62 m_contentRect = contentRect; 62 m_contentRect = contentRect;
63 } 63 }
64 64
65 } // namespace cc 65 } // namespace cc
OLDNEW
« no previous file with comments | « cc/cc.gyp ('k') | cc/stubs/SkiaUtils.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698