diff options
author | pkotwicz@chromium.org <pkotwicz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-04-09 23:24:41 +0000 |
---|---|---|
committer | pkotwicz@chromium.org <pkotwicz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-04-09 23:24:41 +0000 |
commit | ffdd1fd980edbc50cf0ef4f1c5f12f5694074572 (patch) | |
tree | 60f15c75a320e3b4a7aceed09e033829d61c432f /ui/gfx/canvas.cc | |
parent | 0a6dfb707a0b22835f1c9f1cb31929607c3e7559 (diff) | |
download | chromium_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.cc | 47 |
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); } |