summaryrefslogtreecommitdiffstats
path: root/ui/gfx/canvas.cc
diff options
context:
space:
mode:
authorpkotwicz@chromium.org <pkotwicz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-04-09 23:24:41 +0000
committerpkotwicz@chromium.org <pkotwicz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-04-09 23:24:41 +0000
commitffdd1fd980edbc50cf0ef4f1c5f12f5694074572 (patch)
tree60f15c75a320e3b4a7aceed09e033829d61c432f /ui/gfx/canvas.cc
parent0a6dfb707a0b22835f1c9f1cb31929607c3e7559 (diff)
downloadchromium_src-ffdd1fd980edbc50cf0ef4f1c5f12f5694074572.zip
chromium_src-ffdd1fd980edbc50cf0ef4f1c5f12f5694074572.tar.gz
chromium_src-ffdd1fd980edbc50cf0ef4f1c5f12f5694074572.tar.bz2
Add to gfx::Canvas API so that views doesn't use SkCanvas directly.
Bug=114665 Test=Compiles Review URL: http://codereview.chromium.org/9949067 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@131474 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui/gfx/canvas.cc')
-rw-r--r--ui/gfx/canvas.cc47
1 files changed, 47 insertions, 0 deletions
diff --git a/ui/gfx/canvas.cc b/ui/gfx/canvas.cc
index 38a2a32..ded3e2f7 100644
--- a/ui/gfx/canvas.cc
+++ b/ui/gfx/canvas.cc
@@ -147,6 +147,17 @@ bool Canvas::ClipRect(const gfx::Rect& rect) {
return canvas_->clipRect(gfx::RectToSkRect(rect));
}
+bool Canvas::ClipPath(const SkPath& path) {
+ return canvas_->clipPath(path);
+}
+
+bool Canvas::GetClipBounds(gfx::Rect* bounds) {
+ SkRect out;
+ bool has_non_empty_clip = canvas_->getClipBounds(&out);
+ bounds->SetRect(out.left(), out.top(), out.width(), out.height());
+ return has_non_empty_clip;
+}
+
void Canvas::Translate(const gfx::Point& point) {
canvas_->translate(SkIntToScalar(point.x()), SkIntToScalar(point.y()));
}
@@ -155,6 +166,14 @@ void Canvas::Scale(int x_scale, int y_scale) {
canvas_->scale(SkIntToScalar(x_scale), SkIntToScalar(y_scale));
}
+void Canvas::DrawColor(SkColor color) {
+ DrawColor(color, SkXfermode::kSrcOver_Mode);
+}
+
+void Canvas::DrawColor(SkColor color, SkXfermode::Mode mode) {
+ canvas_->drawColor(color, mode);
+}
+
void Canvas::FillRect(const gfx::Rect& rect, SkColor color) {
FillRect(rect, color, SkXfermode::kSrcOver_Mode);
}
@@ -192,16 +211,44 @@ void Canvas::DrawRect(const gfx::Rect& rect, const SkPaint& paint) {
canvas_->drawIRect(RectToSkIRect(rect), paint);
}
+void Canvas::DrawPoint(const gfx::Point& p1, const SkPaint& paint) {
+ canvas_->drawPoint(SkIntToScalar(p1.x()), SkIntToScalar(p1.y()), paint);
+}
+
void Canvas::DrawLine(const gfx::Point& p1,
const gfx::Point& p2,
SkColor color) {
SkPaint paint;
paint.setColor(color);
paint.setStrokeWidth(SkIntToScalar(1));
+ DrawLine(p1, p2, paint);
+}
+
+void Canvas::DrawLine(const gfx::Point& p1,
+ const gfx::Point& p2,
+ const SkPaint& paint) {
canvas_->drawLine(SkIntToScalar(p1.x()), SkIntToScalar(p1.y()),
SkIntToScalar(p2.x()), SkIntToScalar(p2.y()), paint);
}
+void Canvas::DrawCircle(const gfx::Point& center_point,
+ int radius,
+ const SkPaint& paint) {
+ canvas_->drawCircle(SkIntToScalar(center_point.x()),
+ SkIntToScalar(center_point.y()), SkIntToScalar(radius), paint);
+}
+
+void Canvas::DrawRoundRect(const gfx::Rect& rect,
+ int radius,
+ const SkPaint& paint) {
+ canvas_->drawRoundRect(RectToSkRect(rect), SkIntToScalar(radius),
+ SkIntToScalar(radius), paint);
+}
+
+void Canvas::DrawPath(const SkPath& path, const SkPaint& paint) {
+ canvas_->drawPath(path, paint);
+}
+
void Canvas::DrawFocusRect(const gfx::Rect& rect) {
DrawDashedRect(rect, SK_ColorGRAY);
}