summaryrefslogtreecommitdiffstats
path: root/skia/ext
diff options
context:
space:
mode:
authortfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-03-07 22:36:50 +0000
committertfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-03-07 22:36:50 +0000
commit1b660827946f14bdeec9cd16bc676cf3691af9b6 (patch)
tree94b3952363e826172e10c08ae4096cce3394fb2d /skia/ext
parent495010392f34c5edccd3abaf10c4f45d4d5ab8e2 (diff)
downloadchromium_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.cc13
-rw-r--r--skia/ext/platform_canvas.h8
-rw-r--r--skia/ext/platform_canvas_unittest.cc21
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();