diff options
author | tfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-03-07 22:36:50 +0000 |
---|---|---|
committer | tfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-03-07 22:36:50 +0000 |
commit | 1b660827946f14bdeec9cd16bc676cf3691af9b6 (patch) | |
tree | 94b3952363e826172e10c08ae4096cce3394fb2d /skia/ext | |
parent | 495010392f34c5edccd3abaf10c4f45d4d5ab8e2 (diff) | |
download | chromium_src-1b660827946f14bdeec9cd16bc676cf3691af9b6.zip chromium_src-1b660827946f14bdeec9cd16bc676cf3691af9b6.tar.gz chromium_src-1b660827946f14bdeec9cd16bc676cf3691af9b6.tar.bz2 |
skia: Change MakeOpaque() function to take a gfx::Rect parameter.
BUG=100898
R=pkasting@chromium.org
TBR=sky@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9581040
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@125473 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'skia/ext')
-rw-r--r-- | skia/ext/platform_canvas.cc | 13 | ||||
-rw-r--r-- | skia/ext/platform_canvas.h | 8 | ||||
-rw-r--r-- | skia/ext/platform_canvas_unittest.cc | 21 |
3 files changed, 23 insertions, 19 deletions
diff --git a/skia/ext/platform_canvas.cc b/skia/ext/platform_canvas.cc index f4510744..09a2319 100644 --- a/skia/ext/platform_canvas.cc +++ b/skia/ext/platform_canvas.cc @@ -1,4 +1,4 @@ -// Copyright (c) 2011 The Chromium Authors. All rights reserved. +// Copyright (c) 2012 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -6,6 +6,8 @@ #include "skia/ext/bitmap_platform_device.h" #include "third_party/skia/include/core/SkTypes.h" +#include "ui/gfx/rect.h" +#include "ui/gfx/skia_util.h" namespace skia { @@ -80,19 +82,16 @@ static SkPMColor MakeOpaqueXfermodeProc(SkPMColor src, SkPMColor dst) { return dst | (0xFF << SK_A32_SHIFT); } -void MakeOpaque(SkCanvas* canvas, int x, int y, int width, int height) { - if (width <= 0 || height <= 0) +void MakeOpaque(SkCanvas* canvas, const gfx::Rect& rect) { + if (rect.IsEmpty()) return; - SkRect rect; - rect.setXYWH(SkIntToScalar(x), SkIntToScalar(y), - SkIntToScalar(width), SkIntToScalar(height)); SkPaint paint; // so we don't draw anything on a device that ignores xfermodes paint.setColor(0); // install our custom mode paint.setXfermode(new SkProcXfermode(MakeOpaqueXfermodeProc))->unref(); - canvas->drawRect(rect, paint); + canvas->drawRect(gfx::RectToSkRect(rect), paint); } } // namespace skia diff --git a/skia/ext/platform_canvas.h b/skia/ext/platform_canvas.h index 87e2bd2..579bedd 100644 --- a/skia/ext/platform_canvas.h +++ b/skia/ext/platform_canvas.h @@ -1,4 +1,4 @@ -// Copyright (c) 2011 The Chromium Authors. All rights reserved. +// Copyright (c) 2012 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -11,6 +11,10 @@ #include "skia/ext/platform_device.h" #include "third_party/skia/include/core/SkCanvas.h" +namespace gfx { +class Rect; +} + namespace skia { // This class is a specialization of the regular SkCanvas that is designed to @@ -128,7 +132,7 @@ SK_API void DrawToNativeContext(SkCanvas* canvas, PlatformSurface context, int x, int y, const PlatformRect* src_rect); // Sets the opacity of each pixel in the specified region to be opaque. -SK_API void MakeOpaque(SkCanvas* canvas, int x, int y, int width, int height); +SK_API void MakeOpaque(SkCanvas* canvas, const gfx::Rect& rect); // These calls should surround calls to platform drawing routines, the // surface returned here can be used with the native platform routines. diff --git a/skia/ext/platform_canvas_unittest.cc b/skia/ext/platform_canvas_unittest.cc index 40cdc70..9cfcd66 100644 --- a/skia/ext/platform_canvas_unittest.cc +++ b/skia/ext/platform_canvas_unittest.cc @@ -1,4 +1,4 @@ -// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. +// Copyright (c) 2012 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -17,6 +17,7 @@ #include "skia/ext/platform_canvas.h" #include "skia/ext/platform_device.h" #include "testing/gtest/include/gtest/gtest.h" +#include "ui/gfx/rect.h" #include "SkColor.h" @@ -242,7 +243,7 @@ TEST(PlatformCanvas, FillLayer) { LayerSaver layer(canvas, kLayerX, kLayerY, kLayerW, kLayerH); DrawNativeRect(canvas, 0, 0, 100, 100); #if defined(OS_WIN) - MakeOpaque(&canvas, 0, 0, 100, 100); + MakeOpaque(&canvas, gfx::Rect(0, 0, 100, 100)); #endif } EXPECT_TRUE(VerifyBlackRect(canvas, kLayerX, kLayerY, kLayerW, kLayerH)); @@ -253,7 +254,7 @@ TEST(PlatformCanvas, FillLayer) { LayerSaver layer(canvas, kLayerX, kLayerY, kLayerW, kLayerH); DrawNativeRect(canvas, kInnerX, kInnerY, kInnerW, kInnerH); #if defined(OS_WIN) - MakeOpaque(&canvas, kInnerX, kInnerY, kInnerW, kInnerH); + MakeOpaque(&canvas, gfx::Rect(kInnerX, kInnerY, kInnerW, kInnerH)); #endif } EXPECT_TRUE(VerifyBlackRect(canvas, kInnerX, kInnerY, kInnerW, kInnerH)); @@ -266,7 +267,7 @@ TEST(PlatformCanvas, FillLayer) { AddClip(canvas, kInnerX, kInnerY, kInnerW, kInnerH); DrawNativeRect(canvas, 0, 0, 100, 100); #if defined(OS_WIN) - MakeOpaque(&canvas, kInnerX, kInnerY, kInnerW, kInnerH); + MakeOpaque(&canvas, gfx::Rect(kInnerX, kInnerY, kInnerW, kInnerH)); #endif canvas.restore(); } @@ -280,7 +281,7 @@ TEST(PlatformCanvas, FillLayer) { LayerSaver layer(canvas, kLayerX, kLayerY, kLayerW, kLayerH); DrawNativeRect(canvas, 0, 0, 100, 100); #if defined(OS_WIN) - MakeOpaque(&canvas, 0, 0, 100, 100); + MakeOpaque(&canvas, gfx::Rect(0, 0, 100, 100)); #endif } canvas.restore(); @@ -301,7 +302,7 @@ TEST(PlatformCanvas, TranslateLayer) { LayerSaver layer(canvas, kLayerX, kLayerY, kLayerW, kLayerH); DrawNativeRect(canvas, 0, 0, 100, 100); #if defined(OS_WIN) - MakeOpaque(&canvas, 0, 0, 100, 100); + MakeOpaque(&canvas, gfx::Rect(0, 0, 100, 100)); #endif } canvas.restore(); @@ -316,7 +317,7 @@ TEST(PlatformCanvas, TranslateLayer) { LayerSaver layer(canvas, kLayerX, kLayerY, kLayerW, kLayerH); DrawNativeRect(canvas, kInnerX, kInnerY, kInnerW, kInnerH); #if defined(OS_WIN) - MakeOpaque(&canvas, kInnerX, kInnerY, kInnerW, kInnerH); + MakeOpaque(&canvas, gfx::Rect(kInnerX, kInnerY, kInnerW, kInnerH)); #endif } canvas.restore(); @@ -331,7 +332,7 @@ TEST(PlatformCanvas, TranslateLayer) { canvas.translate(1, 1); DrawNativeRect(canvas, kInnerX, kInnerY, kInnerW, kInnerH); #if defined(OS_WIN) - MakeOpaque(&canvas, kInnerX, kInnerY, kInnerW, kInnerH); + MakeOpaque(&canvas, gfx::Rect(kInnerX, kInnerY, kInnerW, kInnerH)); #endif } canvas.restore(); @@ -349,7 +350,7 @@ TEST(PlatformCanvas, TranslateLayer) { AddClip(canvas, kInnerX + 1, kInnerY + 1, kInnerW - 1, kInnerH - 1); DrawNativeRect(canvas, 0, 0, 100, 100); #if defined(OS_WIN) - MakeOpaque(&canvas, kLayerX, kLayerY, kLayerW, kLayerH); + MakeOpaque(&canvas, gfx::Rect(kLayerX, kLayerY, kLayerW, kLayerH)); #endif } canvas.restore(); @@ -377,7 +378,7 @@ TEST(PlatformCanvas, TranslateLayer) { DrawNativeRect(canvas, 0, 0, 100, 100); #if defined(OS_WIN) - MakeOpaque(&canvas, kLayerX, kLayerY, kLayerW, kLayerH); + MakeOpaque(&canvas, gfx::Rect(kLayerX, kLayerY, kLayerW, kLayerH)); #endif } canvas.restore(); |