summaryrefslogtreecommitdiffstats
path: root/ui/views/painter.cc
diff options
context:
space:
mode:
authortfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-02-15 17:32:21 +0000
committertfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-02-15 17:32:21 +0000
commitcb78237be72529c962c635cf90ba2157fad1846d (patch)
tree69e6fd9b58b94fba3b037eec2c34e2b940daf52d /ui/views/painter.cc
parent4bb546c306b5d2db0de8dfd81d8371f1b7a030b7 (diff)
downloadchromium_src-cb78237be72529c962c635cf90ba2157fad1846d.zip
chromium_src-cb78237be72529c962c635cf90ba2157fad1846d.tar.gz
chromium_src-cb78237be72529c962c635cf90ba2157fad1846d.tar.bz2
views: Change Painter::Paint to take a gfx::Size instead of ints.
BUG=100898 R=pkasting@chromium.org,sky@chromium.org Review URL: https://chromiumcodereview.appspot.com/9359053 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@122100 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui/views/painter.cc')
-rw-r--r--ui/views/painter.cc59
1 files changed, 32 insertions, 27 deletions
diff --git a/ui/views/painter.cc b/ui/views/painter.cc
index 6b23c37..4a83cb4 100644
--- a/ui/views/painter.cc
+++ b/ui/views/painter.cc
@@ -29,14 +29,15 @@ class GradientPainter : public Painter {
virtual ~GradientPainter() {
}
- void Paint(int w, int h, gfx::Canvas* canvas) {
+ // Overridden from Painter:
+ virtual void Paint(gfx::Canvas* canvas, const gfx::Size& size) OVERRIDE {
SkPaint paint;
SkPoint p[2];
p[0].set(SkIntToScalar(0), SkIntToScalar(0));
if (horizontal_)
- p[1].set(SkIntToScalar(w), SkIntToScalar(0));
+ p[1].set(SkIntToScalar(size.width()), SkIntToScalar(0));
else
- p[1].set(SkIntToScalar(0), SkIntToScalar(h));
+ p[1].set(SkIntToScalar(0), SkIntToScalar(size.height()));
SkShader* s =
SkGradientShader::CreateLinear(p, colors_, NULL, 2,
@@ -46,9 +47,9 @@ class GradientPainter : public Painter {
// Need to unref shader, otherwise never deleted.
s->unref();
- canvas->GetSkCanvas()->drawRectCoords(
- SkIntToScalar(0), SkIntToScalar(0), SkIntToScalar(w), SkIntToScalar(h),
- paint);
+ canvas->GetSkCanvas()->drawRectCoords(SkIntToScalar(0), SkIntToScalar(0),
+ SkIntToScalar(size.width()),
+ SkIntToScalar(size.height()), paint);
}
private:
@@ -72,8 +73,8 @@ class ImagePainter : public Painter {
}
// Paints the images.
- virtual void Paint(int w, int h, gfx::Canvas* canvas) {
- if (w == image_.width() && h == image_.height()) {
+ virtual void Paint(gfx::Canvas* canvas, const gfx::Size& size) OVERRIDE {
+ if (size.width() == image_.width() && size.height() == image_.height()) {
// Early out if the size we're to render at equals the size of the image.
canvas->DrawBitmapInt(image_, 0, 0);
return;
@@ -85,44 +86,49 @@ class ImagePainter : public Painter {
canvas->DrawBitmapInt(
image_,
insets_.left(), 0, image_.width() - insets_.width(), insets_.top(),
- insets_.left(), 0, w - insets_.width(), insets_.top(), true);
+ insets_.left(), 0, size.width() - insets_.width(), insets_.top(), true);
// Upper right.
canvas->DrawBitmapInt(
image_,
image_.width() - insets_.right(), 0, insets_.right(), insets_.top(),
- w - insets_.right(), 0, insets_.right(), insets_.top(), true);
+ size.width() - insets_.right(), 0, insets_.right(), insets_.top(),
+ true);
// Right edge.
canvas->DrawBitmapInt(
image_,
image_.width() - insets_.right(), insets_.top(),
insets_.right(), image_.height() - insets_.height(),
- w - insets_.right(), insets_.top(), insets_.right(),
- h - insets_.height(), true);
+ size.width() - insets_.right(), insets_.top(), insets_.right(),
+ size.height() - insets_.height(), true);
// Bottom right.
canvas->DrawBitmapInt(
image_,
image_.width() - insets_.right(), image_.height() - insets_.bottom(),
insets_.right(), insets_.bottom(),
- w - insets_.right(), h - insets_.bottom(), insets_.right(),
+ size.width() - insets_.right(),
+ size.height() - insets_.bottom(), insets_.right(),
insets_.bottom(), true);
// Bottom edge.
canvas->DrawBitmapInt(
image_,
insets_.left(), image_.height() - insets_.bottom(),
image_.width() - insets_.width(), insets_.bottom(),
- insets_.left(), h - insets_.bottom(), w - insets_.width(),
+ insets_.left(), size.height() - insets_.bottom(),
+ size.width() - insets_.width(),
insets_.bottom(), true);
// Bottom left.
canvas->DrawBitmapInt(
image_,
0, image_.height() - insets_.bottom(), insets_.left(),
insets_.bottom(),
- 0, h - insets_.bottom(), insets_.left(), insets_.bottom(), true);
+ 0, size.height() - insets_.bottom(), insets_.left(), insets_.bottom(),
+ true);
// Left.
canvas->DrawBitmapInt(
image_,
0, insets_.top(), insets_.left(), image_.height() - insets_.height(),
- 0, insets_.top(), insets_.left(), h - insets_.height(), true);
+ 0, insets_.top(), insets_.left(), size.height() - insets_.height(),
+ true);
// Center.
if (paint_center_) {
canvas->DrawBitmapInt(
@@ -130,7 +136,8 @@ class ImagePainter : public Painter {
insets_.left(), insets_.top(),
image_.width() - insets_.width(), image_.height() - insets_.height(),
insets_.left(), insets_.top(),
- w - insets_.width(), h - insets_.height(), true);
+ size.width() - insets_.width(), size.height() - insets_.height(),
+ true);
}
}
@@ -151,7 +158,7 @@ void Painter::PaintPainterAt(gfx::Canvas* canvas,
DCHECK(canvas && painter);
canvas->Save();
canvas->Translate(rect.origin());
- painter->Paint(rect.width(), rect.height(), canvas);
+ painter->Paint(canvas, rect.size());
canvas->Restore();
}
@@ -181,19 +188,17 @@ HorizontalPainter::HorizontalPainter(const int image_resource_names[]) {
images_[LEFT]->height() == images_[CENTER]->height());
}
-void HorizontalPainter::Paint(int w, int h, gfx::Canvas* canvas) {
- if (w < (images_[LEFT]->width() + images_[CENTER]->width() +
- images_[RIGHT]->width())) {
+void HorizontalPainter::Paint(gfx::Canvas* canvas, const gfx::Size& size) {
+ if (size.width() < (images_[LEFT]->width() + images_[CENTER]->width() +
+ images_[RIGHT]->width())) {
// No room to paint.
return;
}
canvas->DrawBitmapInt(*images_[LEFT], 0, 0);
- canvas->DrawBitmapInt(*images_[RIGHT], w - images_[RIGHT]->width(), 0);
- canvas->TileImageInt(*images_[CENTER],
- images_[LEFT]->width(),
- 0,
- w - images_[LEFT]->width() - images_[RIGHT]->width(),
- height_);
+ canvas->DrawBitmapInt(*images_[RIGHT],
+ size.width() - images_[RIGHT]->width(), 0);
+ canvas->TileImageInt(*images_[CENTER], images_[LEFT]->width(), 0,
+ size.width() - images_[LEFT]->width() - images_[RIGHT]->width(), height_);
}
} // namespace views