summaryrefslogtreecommitdiffstats
path: root/chrome/common
diff options
context:
space:
mode:
authorben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-06-25 16:33:23 +0000
committerben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-06-25 16:33:23 +0000
commit74db48eb22cd8bfe4d028418d99e7aee6c220930 (patch)
tree94b62cc97d669cb965d2073c5d9a72a4a3c3ee04 /chrome/common
parent2abd00dd89a5cbc9af4a88a59269fdf9f988cf12 (diff)
downloadchromium_src-74db48eb22cd8bfe4d028418d99e7aee6c220930.zip
chromium_src-74db48eb22cd8bfe4d028418d99e7aee6c220930.tar.gz
chromium_src-74db48eb22cd8bfe4d028418d99e7aee6c220930.tar.bz2
Canvas refactoring part 3.
- Replace Canvas instance users with CanvasSkia users. - Rename Canvas2 to Canvas. - Delete Canvas subclass of CanvasSkia. This has created some ugliness around the fact that people that used SkCanvas methods on Canvas now have to go through AsCanvasSkia first. This is temporary ugliness that will be eradicated as I incrementally build out the new Canvas API. BUG=none TEST=none git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50854 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/common')
-rw-r--r--chrome/common/extensions/extension_action.cc23
1 files changed, 12 insertions, 11 deletions
diff --git a/chrome/common/extensions/extension_action.cc b/chrome/common/extensions/extension_action.cc
index d86b1f9..9951ba6 100644
--- a/chrome/common/extensions/extension_action.cc
+++ b/chrome/common/extensions/extension_action.cc
@@ -9,7 +9,7 @@
#include "app/resource_bundle.h"
#include "base/utf_string_conversions.h"
#include "chrome/app/chrome_dll_resource.h"
-#include "gfx/canvas.h"
+#include "gfx/canvas_skia.h"
#include "gfx/font.h"
#include "gfx/rect.h"
#include "grit/app_resources.h"
@@ -118,7 +118,7 @@ void ExtensionAction::PaintBadge(gfx::Canvas* canvas,
if (SkColorGetA(background_color) == 0x00)
background_color = SkColorSetARGB(255, 218, 0, 24); // Default badge color.
- canvas->save();
+ canvas->AsCanvasSkia()->save();
SkPaint* text_paint = GetTextPaint();
text_paint->setColor(text_color);
@@ -158,7 +158,8 @@ void ExtensionAction::PaintBadge(gfx::Canvas* canvas,
rect_paint.setStyle(SkPaint::kFill_Style);
rect_paint.setAntiAlias(true);
rect_paint.setColor(background_color);
- canvas->drawRoundRect(rect, SkIntToScalar(2), SkIntToScalar(2), rect_paint);
+ canvas->AsCanvasSkia()->drawRoundRect(rect, SkIntToScalar(2), SkIntToScalar(2),
+ rect_paint);
// Overlay the gradient. It is stretchy, so we do this in three parts.
ResourceBundle& resource_bundle = ResourceBundle::GetSharedInstance();
@@ -169,24 +170,24 @@ void ExtensionAction::PaintBadge(gfx::Canvas* canvas,
SkBitmap* gradient_center = resource_bundle.GetBitmapNamed(
IDR_BROWSER_ACTION_BADGE_CENTER);
- canvas->drawBitmap(*gradient_left, rect.fLeft, rect.fTop);
+ canvas->AsCanvasSkia()->drawBitmap(*gradient_left, rect.fLeft, rect.fTop);
canvas->TileImageInt(*gradient_center,
SkScalarFloor(rect.fLeft) + gradient_left->width(),
SkScalarFloor(rect.fTop),
SkScalarFloor(rect.width()) - gradient_left->width() -
gradient_right->width(),
SkScalarFloor(rect.height()));
- canvas->drawBitmap(*gradient_right,
+ canvas->AsCanvasSkia()->drawBitmap(*gradient_right,
rect.fRight - SkIntToScalar(gradient_right->width()), rect.fTop);
// Finally, draw the text centered within the badge. We set a clip in case the
// text was too large.
rect.fLeft += kPadding;
rect.fRight -= kPadding;
- canvas->clipRect(rect);
- canvas->drawText(text.c_str(), text.size(),
- rect.fLeft + (rect.width() - text_width) / 2,
- rect.fTop + kTextSize + kTopTextPadding,
- *text_paint);
- canvas->restore();
+ canvas->AsCanvasSkia()->clipRect(rect);
+ canvas->AsCanvasSkia()->drawText(text.c_str(), text.size(),
+ rect.fLeft + (rect.width() - text_width) / 2,
+ rect.fTop + kTextSize + kTopTextPadding,
+ *text_paint);
+ canvas->AsCanvasSkia()->restore();
}