summaryrefslogtreecommitdiffstats
path: root/views
diff options
context:
space:
mode:
authorpiman@chromium.org <piman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-10-05 19:05:07 +0000
committerpiman@chromium.org <piman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-10-05 19:05:07 +0000
commitbe172ba8194e48970d90e9d873160b259df69b96 (patch)
tree677a1fedc8a836a42de1dba22d8c0663173a0f96 /views
parent2c572bd1d4eec134ae40e00adbfa2c9d3d1ff1e7 (diff)
downloadchromium_src-be172ba8194e48970d90e9d873160b259df69b96.zip
chromium_src-be172ba8194e48970d90e9d873160b259df69b96.tar.gz
chromium_src-be172ba8194e48970d90e9d873160b259df69b96.tar.bz2
Allow CanvasSkia to bind to an existing SkCanvas.
BUG=None TEST=None Review URL: http://codereview.chromium.org/8122013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@104146 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'views')
-rw-r--r--views/aura_desktop/aura_desktop_main.cc2
-rw-r--r--views/background.cc2
-rw-r--r--views/bubble/bubble_border.cc4
-rw-r--r--views/controls/button/text_button.cc16
-rw-r--r--views/controls/combobox/native_combobox_views.cc2
-rw-r--r--views/controls/focusable_border.cc2
-rw-r--r--views/controls/menu/menu_image_util_linux.cc12
-rw-r--r--views/controls/menu/menu_item_view_linux.cc4
-rw-r--r--views/controls/menu/menu_item_view_win.cc10
-rw-r--r--views/controls/menu/menu_scroll_view_container.cc8
-rw-r--r--views/controls/menu/menu_separator_win.cc4
-rw-r--r--views/controls/menu/menu_win.cc6
-rw-r--r--views/controls/menu/native_menu_win.cc12
-rw-r--r--views/controls/progress_bar.cc12
-rw-r--r--views/controls/scrollbar/native_scroll_bar_views.cc6
-rw-r--r--views/controls/tabbed_pane/native_tabbed_pane_win.cc2
-rw-r--r--views/controls/table/native_table_win.cc10
-rw-r--r--views/controls/table/table_view.cc13
-rw-r--r--views/controls/tree/tree_view.cc6
-rw-r--r--views/desktop/desktop_background.cc4
-rw-r--r--views/native_theme_painter.cc12
-rw-r--r--views/painter.cc4
-rw-r--r--views/touchui/touch_selection_controller_impl.cc6
-rw-r--r--views/view.cc2
-rw-r--r--views/view_unittest.cc2
-rw-r--r--views/widget/native_widget_win.cc8
-rw-r--r--views/widget/root_view.cc2
-rw-r--r--views/window/dialog_client_view.cc2
28 files changed, 89 insertions, 86 deletions
diff --git a/views/aura_desktop/aura_desktop_main.cc b/views/aura_desktop/aura_desktop_main.cc
index 2cd2bc6..3516f2a 100644
--- a/views/aura_desktop/aura_desktop_main.cc
+++ b/views/aura_desktop/aura_desktop_main.cc
@@ -56,7 +56,7 @@ class DemoWindowDelegate : public aura::WindowDelegate {
virtual void OnLostActive() OVERRIDE {}
virtual void OnCaptureLost() OVERRIDE {}
virtual void OnPaint(gfx::Canvas* canvas) OVERRIDE {
- canvas->AsCanvasSkia()->drawColor(color_, SkXfermode::kSrc_Mode);
+ canvas->GetSkCanvas()->drawColor(color_, SkXfermode::kSrc_Mode);
}
virtual void OnWindowDestroying() OVERRIDE {
}
diff --git a/views/background.cc b/views/background.cc
index f9eb2135..fa79793 100644
--- a/views/background.cc
+++ b/views/background.cc
@@ -25,7 +25,7 @@ class SolidBackground : public Background {
void Paint(gfx::Canvas* canvas, View* view) const {
// Fill the background. Note that we don't constrain to the bounds as
// canvas is already clipped for us.
- canvas->AsCanvasSkia()->drawColor(get_color());
+ canvas->GetSkCanvas()->drawColor(get_color());
}
private:
diff --git a/views/bubble/bubble_border.cc b/views/bubble/bubble_border.cc
index 80e1bc8..871e669 100644
--- a/views/bubble/bubble_border.cc
+++ b/views/bubble/bubble_border.cc
@@ -423,7 +423,7 @@ void BubbleBorder::DrawArrowInterior(gfx::Canvas* canvas,
else
path.lineTo(SkIntToScalar(tip_x + shift_x), SkIntToScalar(tip_y - shift_y));
path.close();
- canvas->AsCanvasSkia()->drawPath(path, paint);
+ canvas->GetSkCanvas()->drawPath(path, paint);
}
/////////////////////////
@@ -444,7 +444,7 @@ void BubbleBackground::Paint(gfx::Canvas* canvas, views::View* view) const {
SkIntToScalar(bounds.right()), SkIntToScalar(bounds.bottom()));
SkScalar radius = SkIntToScalar(BubbleBorder::GetCornerRadius());
path.addRoundRect(rect, radius, radius);
- canvas->AsCanvasSkia()->drawPath(path, paint);
+ canvas->GetSkCanvas()->drawPath(path, paint);
}
} // namespace views
diff --git a/views/controls/button/text_button.cc b/views/controls/button/text_button.cc
index 5dc5787..bd1ad86 100644
--- a/views/controls/button/text_button.cc
+++ b/views/controls/button/text_button.cc
@@ -141,8 +141,8 @@ void TextButtonBorder::Paint(const View& view, gfx::Canvas* canvas) const {
// handle the case of having a non-NULL |normal_set_|.
canvas->SaveLayerAlpha(static_cast<uint8>(
button->GetAnimation()->CurrentValueBetween(0, 255)));
- canvas->AsCanvasSkia()->drawARGB(0, 255, 255, 255,
- SkXfermode::kClear_Mode);
+ canvas->GetSkCanvas()->drawARGB(0, 255, 255, 255,
+ SkXfermode::kClear_Mode);
Paint(view, canvas, *set);
canvas->Restore();
} else {
@@ -213,7 +213,6 @@ void TextButtonNativeThemeBorder::Paint(const View& view,
const TextButtonBase* tb = static_cast<const TextButton*>(&view);
const gfx::NativeTheme* native_theme = gfx::NativeTheme::instance();
gfx::NativeTheme::Part part = delegate_->GetThemePart();
- gfx::CanvasSkia* skia_canvas = canvas->AsCanvasSkia();
gfx::Rect rect(delegate_->GetThemePaintRect());
if (tb->show_multiple_icon_states() &&
@@ -223,19 +222,20 @@ void TextButtonNativeThemeBorder::Paint(const View& view,
gfx::NativeTheme::ExtraParams prev_extra;
gfx::NativeTheme::State prev_state =
delegate_->GetBackgroundThemeState(&prev_extra);
- native_theme->Paint(skia_canvas, part, prev_state, rect, prev_extra);
+ native_theme->Paint(
+ canvas->GetSkCanvas(), part, prev_state, rect, prev_extra);
// Composite foreground state above it.
gfx::NativeTheme::ExtraParams extra;
gfx::NativeTheme::State state = delegate_->GetForegroundThemeState(&extra);
int alpha = delegate_->GetThemeAnimation()->CurrentValueBetween(0, 255);
- skia_canvas->SaveLayerAlpha(static_cast<uint8>(alpha));
- native_theme->Paint(skia_canvas, part, state, rect, extra);
- skia_canvas->Restore();
+ canvas->SaveLayerAlpha(static_cast<uint8>(alpha));
+ native_theme->Paint(canvas->GetSkCanvas(), part, state, rect, extra);
+ canvas->Restore();
} else {
gfx::NativeTheme::ExtraParams extra;
gfx::NativeTheme::State state = delegate_->GetThemeState(&extra);
- native_theme->Paint(skia_canvas, part, state, rect, extra);
+ native_theme->Paint(canvas->GetSkCanvas(), part, state, rect, extra);
}
}
diff --git a/views/controls/combobox/native_combobox_views.cc b/views/controls/combobox/native_combobox_views.cc
index 132d63b..ab676d1 100644
--- a/views/controls/combobox/native_combobox_views.cc
+++ b/views/controls/combobox/native_combobox_views.cc
@@ -294,7 +294,7 @@ void NativeComboboxViews::DrawArrow(gfx::Canvas* canvas,
path.lineTo(SkIntToScalar(tip_x + shift_x), SkIntToScalar(tip_y + shift_y));
path.lineTo(SkIntToScalar(tip_x - shift_x), SkIntToScalar(tip_y + shift_y));
path.close();
- canvas->AsCanvasSkia()->drawPath(path, paint);
+ canvas->GetSkCanvas()->drawPath(path, paint);
}
diff --git a/views/controls/focusable_border.cc b/views/controls/focusable_border.cc
index 8c5e6b6..a1aa667 100644
--- a/views/controls/focusable_border.cc
+++ b/views/controls/focusable_border.cc
@@ -60,7 +60,7 @@ void FocusableBorder::Paint(const View& view, gfx::Canvas* canvas) const {
paint.setColor(has_focus_ ? kFocusedBorderColor : kDefaultBorderColor);
paint.setStrokeWidth(SkIntToScalar(has_focus_ ? 2 : 1));
- canvas->AsCanvasSkia()->drawPath(path, paint);
+ canvas->GetSkCanvas()->drawPath(path, paint);
}
void FocusableBorder::GetInsets(gfx::Insets* insets) const {
diff --git a/views/controls/menu/menu_image_util_linux.cc b/views/controls/menu/menu_image_util_linux.cc
index b2f5d97..f3e3e3a 100644
--- a/views/controls/menu/menu_image_util_linux.cc
+++ b/views/controls/menu/menu_image_util_linux.cc
@@ -47,13 +47,13 @@ SkBitmap* CreateRadioButtonImage(bool selected) {
paint.setShader(shader);
shader->unref();
int radius = kIndicatorSize / 2;
- canvas.drawCircle(radius, radius, radius, paint);
+ canvas.sk_canvas()->drawCircle(radius, radius, radius, paint);
paint.setStrokeWidth(SkIntToScalar(0));
paint.setShader(NULL);
paint.setStyle(SkPaint::kStroke_Style);
paint.setColor(kBaseStroke);
- canvas.drawCircle(radius, radius, radius, paint);
+ canvas.sk_canvas()->drawCircle(radius, radius, radius, paint);
if (selected) {
SkPoint selected_gradient_points[2];
@@ -69,15 +69,15 @@ SkBitmap* CreateRadioButtonImage(bool selected) {
paint.setShader(shader);
shader->unref();
paint.setStyle(SkPaint::kFill_Style);
- canvas.drawCircle(radius, radius,
- kSelectedIndicatorSize / 2, paint);
+ canvas.sk_canvas()->drawCircle(radius, radius,
+ kSelectedIndicatorSize / 2, paint);
paint.setStrokeWidth(SkIntToScalar(0));
paint.setShader(NULL);
paint.setStyle(SkPaint::kStroke_Style);
paint.setColor(kIndicatorStroke);
- canvas.drawCircle(radius, radius,
- kSelectedIndicatorSize / 2, paint);
+ canvas.sk_canvas()->drawCircle(radius, radius,
+ kSelectedIndicatorSize / 2, paint);
}
return new SkBitmap(canvas.ExtractBitmap());
}
diff --git a/views/controls/menu/menu_item_view_linux.cc b/views/controls/menu/menu_item_view_linux.cc
index c64e320..2b04004 100644
--- a/views/controls/menu/menu_item_view_linux.cc
+++ b/views/controls/menu/menu_item_view_linux.cc
@@ -68,8 +68,8 @@ void MenuItemView::PaintButton(gfx::Canvas* canvas, PaintButtonMode mode) {
// only need the background when we want it to look different, as when we're
// selected.
if (render_selection)
- canvas->AsCanvasSkia()->drawColor(kSelectedBackgroundColor,
- SkXfermode::kSrc_Mode);
+ canvas->GetSkCanvas()->drawColor(kSelectedBackgroundColor,
+ SkXfermode::kSrc_Mode);
// Render the check.
if (type_ == CHECKBOX && GetDelegate()->IsItemChecked(GetCommand())) {
diff --git a/views/controls/menu/menu_item_view_win.cc b/views/controls/menu/menu_item_view_win.cc
index cea5c4c..9e04cdc 100644
--- a/views/controls/menu/menu_item_view_win.cc
+++ b/views/controls/menu/menu_item_view_win.cc
@@ -66,7 +66,7 @@ void MenuItemView::PaintButton(gfx::Canvas* canvas, PaintButtonMode mode) {
height());
AdjustBoundsForRTLUI(&gutter_bounds);
NativeTheme::ExtraParams extra;
- NativeTheme::instance()->Paint(canvas->AsCanvasSkia(),
+ NativeTheme::instance()->Paint(canvas->GetSkCanvas(),
NativeTheme::kMenuPopupGutter,
NativeTheme::kNormal,
gutter_bounds,
@@ -79,7 +79,7 @@ void MenuItemView::PaintButton(gfx::Canvas* canvas, PaintButtonMode mode) {
NativeTheme::ExtraParams extra;
extra.menu_item.is_selected = render_selection;
AdjustBoundsForRTLUI(&item_bounds);
- NativeTheme::instance()->Paint(canvas->AsCanvasSkia(),
+ NativeTheme::instance()->Paint(canvas->GetSkCanvas(),
NativeTheme::kMenuItemBackground, control_state, item_bounds, extra);
}
@@ -144,7 +144,7 @@ void MenuItemView::PaintButton(gfx::Canvas* canvas, PaintButtonMode mode) {
gfx::NativeTheme::ExtraParams extra;
extra.menu_arrow.pointing_right = !base::i18n::IsRTL();
extra.menu_arrow.is_selected = render_selection;
- gfx::NativeTheme::instance()->Paint(canvas->AsCanvasSkia(),
+ gfx::NativeTheme::instance()->Paint(canvas->GetSkCanvas(),
gfx::NativeTheme::kMenuPopupArrow, control_state, arrow_bounds, extra);
}
}
@@ -174,13 +174,13 @@ void MenuItemView::PaintCheck(gfx::Canvas* canvas,
// Draw the background.
gfx::Rect bg_bounds(0, 0, icon_x + icon_width, height());
AdjustBoundsForRTLUI(&bg_bounds);
- NativeTheme::instance()->Paint(canvas->AsCanvasSkia(),
+ NativeTheme::instance()->Paint(canvas->GetSkCanvas(),
NativeTheme::kMenuCheckBackground, state, bg_bounds, extra);
// And the check.
gfx::Rect icon_bounds(icon_x / 2, icon_y, icon_width, icon_height);
AdjustBoundsForRTLUI(&icon_bounds);
- NativeTheme::instance()->Paint(canvas->AsCanvasSkia(),
+ NativeTheme::instance()->Paint(canvas->GetSkCanvas(),
NativeTheme::kMenuCheck, state, bg_bounds, extra);
}
diff --git a/views/controls/menu/menu_scroll_view_container.cc b/views/controls/menu/menu_scroll_view_container.cc
index 1d3fcdd..cb52b41 100644
--- a/views/controls/menu/menu_scroll_view_container.cc
+++ b/views/controls/menu/menu_scroll_view_container.cc
@@ -86,7 +86,7 @@ class MenuScrollButton : public View {
gfx::Rect item_bounds(0, 0, width(), height());
NativeTheme::ExtraParams extra;
extra.menu_item.is_selected = false;
- NativeTheme::instance()->Paint(canvas->AsCanvasSkia(),
+ NativeTheme::instance()->Paint(canvas->GetSkCanvas(),
NativeTheme::kMenuItemBackground,
NativeTheme::kNormal, item_bounds, extra);
SkColor arrow_color = color_utils::GetSysSkColor(COLOR_MENUTEXT);
@@ -186,7 +186,7 @@ void MenuScrollViewContainer::OnPaintBackground(gfx::Canvas* canvas) {
HDC dc = canvas->BeginPlatformPaint();
gfx::Rect bounds(0, 0, width(), height());
NativeTheme::ExtraParams extra;
- NativeTheme::instance()->Paint(canvas->AsCanvasSkia(),
+ NativeTheme::instance()->Paint(canvas->GetSkCanvas(),
NativeTheme::kMenuPopupBackground, NativeTheme::kNormal, bounds, extra);
canvas->EndPlatformPaint();
#elif defined(OS_CHROMEOS)
@@ -219,8 +219,8 @@ void MenuScrollViewContainer::OnPaintBackground(gfx::Canvas* canvas) {
canvas->DrawRectInt(0, 0, width(), height(), paint);
#else
// This is the same as COLOR_TOOLBAR.
- canvas->AsCanvasSkia()->drawColor(SkColorSetRGB(210, 225, 246),
- SkXfermode::kSrc_Mode);
+ canvas->GetSkCanvas()->drawColor(SkColorSetRGB(210, 225, 246),
+ SkXfermode::kSrc_Mode);
#endif
}
diff --git a/views/controls/menu/menu_separator_win.cc b/views/controls/menu/menu_separator_win.cc
index e089149..01acaa8 100644
--- a/views/controls/menu/menu_separator_win.cc
+++ b/views/controls/menu/menu_separator_win.cc
@@ -28,7 +28,7 @@ void MenuSeparator::OnPaint(gfx::Canvas* canvas) {
config.gutter_to_label - config.gutter_width, 0,
config.gutter_width, height());
gfx::NativeTheme::ExtraParams extra;
- theme->Paint(canvas->AsCanvasSkia(), gfx::NativeTheme::kMenuPopupGutter,
+ theme->Paint(canvas->GetSkCanvas(), gfx::NativeTheme::kMenuPopupGutter,
gfx::NativeTheme::kNormal, gutter_bounds, extra);
start_x = gutter_bounds.x() + config.gutter_width;
}
@@ -36,7 +36,7 @@ void MenuSeparator::OnPaint(gfx::Canvas* canvas) {
gfx::Rect separator_bounds(start_x, 0, width(), height());
gfx::NativeTheme::ExtraParams extra;
extra.menu_separator.has_gutter = config.render_gutter;
- theme->Paint(canvas->AsCanvasSkia(), gfx::NativeTheme::kMenuPopupSeparator,
+ theme->Paint(canvas->GetSkCanvas(), gfx::NativeTheme::kMenuPopupSeparator,
gfx::NativeTheme::kNormal, separator_bounds, extra);
}
diff --git a/views/controls/menu/menu_win.cc b/views/controls/menu/menu_win.cc
index 5c1d487..10d1119 100644
--- a/views/controls/menu/menu_win.cc
+++ b/views/controls/menu/menu_win.cc
@@ -1,4 +1,4 @@
-// Copyright (c) 2010 The Chromium Authors. All rights reserved.
+// Copyright (c) 2011 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.
@@ -186,10 +186,10 @@ class MenuHostWindow : public ui::WindowImpl {
// by the label.
if (data->icon.width() != 0 && data->icon.height() != 0) {
gfx::CanvasSkia canvas(data->icon.width(), data->icon.height(), false);
- canvas.drawColor(SK_ColorBLACK, SkXfermode::kClear_Mode);
+ canvas.sk_canvas()->drawColor(SK_ColorBLACK, SkXfermode::kClear_Mode);
canvas.DrawBitmapInt(data->icon, 0, 0);
skia::DrawToNativeContext(
- &canvas, hDC, lpdis->rcItem.left + kItemLeftMargin,
+ canvas.sk_canvas(), hDC, lpdis->rcItem.left + kItemLeftMargin,
lpdis->rcItem.top + (lpdis->rcItem.bottom - lpdis->rcItem.top -
data->icon.height()) / 2, NULL);
}
diff --git a/views/controls/menu/native_menu_win.cc b/views/controls/menu/native_menu_win.cc
index 9cb765a..acab371 100644
--- a/views/controls/menu/native_menu_win.cc
+++ b/views/controls/menu/native_menu_win.cc
@@ -250,10 +250,11 @@ class NativeMenuWin::MenuHostWindow {
// We currently don't support items with both icons and checkboxes.
DCHECK(type != ui::MenuModel::TYPE_CHECK);
gfx::CanvasSkia canvas(icon.width(), icon.height(), false);
- canvas.drawColor(SK_ColorBLACK, SkXfermode::kClear_Mode);
+ canvas.sk_canvas()->drawColor(SK_ColorBLACK, SkXfermode::kClear_Mode);
canvas.DrawBitmapInt(icon, 0, 0);
skia::DrawToNativeContext(
- &canvas, dc, draw_item_struct->rcItem.left + kItemLeftMargin,
+ canvas.sk_canvas(), dc,
+ draw_item_struct->rcItem.left + kItemLeftMargin,
draw_item_struct->rcItem.top + (draw_item_struct->rcItem.bottom -
draw_item_struct->rcItem.top - icon.height()) / 2, NULL);
} else if (type == ui::MenuModel::TYPE_CHECK &&
@@ -280,12 +281,13 @@ class NativeMenuWin::MenuHostWindow {
// Draw the background and the check.
NativeTheme::instance()->Paint(
- &canvas, NativeTheme::kMenuCheckBackground, state, bounds, extra);
+ canvas.sk_canvas(), NativeTheme::kMenuCheckBackground,
+ state, bounds, extra);
NativeTheme::instance()->Paint(
- &canvas, NativeTheme::kMenuCheck, state, bounds, extra);
+ canvas.sk_canvas(), NativeTheme::kMenuCheck, state, bounds, extra);
// Draw checkbox to menu.
- skia::DrawToNativeContext(&canvas, dc,
+ skia::DrawToNativeContext(canvas.sk_canvas(), dc,
draw_item_struct->rcItem.left + kItemLeftMargin,
draw_item_struct->rcItem.top + (draw_item_struct->rcItem.bottom -
draw_item_struct->rcItem.top - config.check_height) / 2, NULL);
diff --git a/views/controls/progress_bar.cc b/views/controls/progress_bar.cc
index 7cdebdb..0d70b7b 100644
--- a/views/controls/progress_bar.cc
+++ b/views/controls/progress_bar.cc
@@ -85,7 +85,7 @@ void FillRoundRect(gfx::Canvas* canvas,
// Need to unref shader, otherwise never deleted.
s->unref();
- canvas->AsCanvasSkia()->drawPath(path, paint);
+ canvas->GetSkCanvas()->drawPath(path, paint);
}
void FillRoundRect(gfx::Canvas* canvas,
@@ -106,7 +106,7 @@ void FillRoundRect(gfx::Canvas* canvas,
paint.setStyle(SkPaint::kFill_Style);
paint.setFlags(SkPaint::kAntiAlias_Flag);
paint.setColor(gradient_start_color);
- canvas->AsCanvasSkia()->drawPath(path, paint);
+ canvas->GetSkCanvas()->drawPath(path, paint);
}
}
@@ -124,7 +124,7 @@ void StrokeRoundRect(gfx::Canvas* canvas,
paint.setStyle(SkPaint::kStroke_Style);
paint.setFlags(SkPaint::kAntiAlias_Flag);
paint.setStrokeWidth(SkIntToScalar(stroke_width));
- canvas->AsCanvasSkia()->drawPath(path, paint);
+ canvas->GetSkCanvas()->drawPath(path, paint);
}
} // namespace
@@ -222,7 +222,7 @@ void ProgressBar::OnPaint(gfx::Canvas* canvas) {
// Draw inner stroke and shadow if wide enough.
if (progress_width > 2 * kBorderWidth) {
- canvas->AsCanvasSkia()->save();
+ canvas->GetSkCanvas()->save();
SkPath inner_path;
AddRoundRectPathWithPadding(
@@ -230,7 +230,7 @@ void ProgressBar::OnPaint(gfx::Canvas* canvas) {
kCornerRadius,
SkIntToScalar(kBorderWidth),
&inner_path);
- canvas->AsCanvasSkia()->clipPath(inner_path);
+ canvas->GetSkCanvas()->clipPath(inner_path);
// Draw bar inner stroke
StrokeRoundRect(canvas,
@@ -248,7 +248,7 @@ void ProgressBar::OnPaint(gfx::Canvas* canvas) {
bar_inner_shadow_color,
kBorderWidth);
- canvas->AsCanvasSkia()->restore();
+ canvas->GetSkCanvas()->restore();
}
// Draw bar stroke
diff --git a/views/controls/scrollbar/native_scroll_bar_views.cc b/views/controls/scrollbar/native_scroll_bar_views.cc
index ac1bc89..f007b50 100644
--- a/views/controls/scrollbar/native_scroll_bar_views.cc
+++ b/views/controls/scrollbar/native_scroll_bar_views.cc
@@ -98,7 +98,7 @@ void ScrollBarButton::OnPaint(gfx::Canvas* canvas) {
gfx::Rect bounds;
bounds.set_size(GetPreferredSize());
- native_theme->Paint(canvas->AsCanvasSkia(),
+ native_theme->Paint(canvas->GetSkCanvas(),
GetNativeThemePart(),
GetNativeThemeState(),
bounds,
@@ -183,7 +183,7 @@ gfx::Size ScrollBarThumb::GetPreferredSize() {
void ScrollBarThumb::OnPaint(gfx::Canvas* canvas) {
const gfx::NativeTheme* native_theme = gfx::NativeTheme::instance();
- native_theme->Paint(canvas->AsCanvasSkia(),
+ native_theme->Paint(canvas->GetSkCanvas(),
GetNativeThemePart(),
GetNativeThemeState(),
GetLocalBounds(),
@@ -302,7 +302,7 @@ void NativeScrollBarViews::OnPaint(gfx::Canvas* canvas) {
params_.scrollbar_track.track_height = bounds.height();
- native_theme->Paint(canvas->AsCanvasSkia(),
+ native_theme->Paint(canvas->GetSkCanvas(),
part_,
state_,
bounds,
diff --git a/views/controls/tabbed_pane/native_tabbed_pane_win.cc b/views/controls/tabbed_pane/native_tabbed_pane_win.cc
index 455e8fb..773761d 100644
--- a/views/controls/tabbed_pane/native_tabbed_pane_win.cc
+++ b/views/controls/tabbed_pane/native_tabbed_pane_win.cc
@@ -41,7 +41,7 @@ class TabBackground : public Background {
gfx::Rect r(0, 0, view->width(), view->height());
gfx::NativeTheme::ExtraParams extra;
gfx::NativeTheme::instance()->Paint(
- canvas->AsCanvasSkia(), gfx::NativeTheme::kTabPanelBackground,
+ canvas->GetSkCanvas(), gfx::NativeTheme::kTabPanelBackground,
gfx::NativeTheme::kNormal, r, extra);
}
diff --git a/views/controls/table/native_table_win.cc b/views/controls/table/native_table_win.cc
index 6f8472c..91d46c9 100644
--- a/views/controls/table/native_table_win.cc
+++ b/views/controls/table/native_table_win.cc
@@ -395,7 +395,7 @@ void NativeTableWin::CreateNativeControl() {
// rect does not include the icon).
gfx::CanvasSkia canvas(kImageSize, kImageSize, false);
// Make the background completely transparent.
- canvas.drawColor(SK_ColorBLACK, SkXfermode::kClear_Mode);
+ canvas.sk_canvas()->drawColor(SK_ColorBLACK, SkXfermode::kClear_Mode);
{
base::win::ScopedHICON empty_icon(
IconUtil::CreateHICONFromSkBitmap(canvas.ExtractBitmap()));
@@ -533,7 +533,7 @@ LRESULT NativeTableWin::OnCustomDraw(NMLVCUSTOMDRAW* draw_info) {
// NOTE: This may be invoked without the ListView filling in the
// background (or rather windows paints background, then invokes
// this twice). As such, we always fill in the background.
- canvas.drawColor(
+ canvas.sk_canvas()->drawColor(
skia::COLORREFToSkColor(GetSysColor(bg_color_index)),
SkXfermode::kSrc_Mode);
// + 1 for padding (we declared the image as 18x18 in the list-
@@ -551,9 +551,9 @@ LRESULT NativeTableWin::OnCustomDraw(NMLVCUSTOMDRAW* draw_info) {
(intersection.right - intersection.left);
to_draw.bottom = to_draw.top +
(intersection.bottom - intersection.top);
- skia::DrawToNativeContext(&canvas, draw_info->nmcd.hdc,
- intersection.left, intersection.top,
- &to_draw);
+ skia::DrawToNativeContext(canvas.sk_canvas(), draw_info->nmcd.hdc,
+ intersection.left, intersection.top,
+ &to_draw);
r = CDRF_SKIPDEFAULT;
}
}
diff --git a/views/controls/table/table_view.cc b/views/controls/table/table_view.cc
index ec81df8..5ee978c 100644
--- a/views/controls/table/table_view.cc
+++ b/views/controls/table/table_view.cc
@@ -807,7 +807,7 @@ HWND TableView::CreateNativeControl(HWND parent_container) {
// rect does not include the icon).
gfx::CanvasSkia canvas(kImageSize, kImageSize, false);
// Make the background completely transparent.
- canvas.drawColor(SK_ColorBLACK, SkXfermode::kClear_Mode);
+ canvas.sk_canvas()->drawColor(SK_ColorBLACK, SkXfermode::kClear_Mode);
{
base::win::ScopedHICON empty_icon(
IconUtil::CreateHICONFromSkBitmap(canvas.ExtractBitmap()));
@@ -1157,7 +1157,8 @@ void TableView::PaintAltText() {
canvas.DrawStringWithHalo(alt_text_, font, SK_ColorDKGRAY, SK_ColorWHITE, 1,
1, bounds.width() - 2, bounds.height() - 2,
gfx::CanvasSkia::DefaultCanvasTextAlignment());
- skia::DrawToNativeContext(&canvas, dc, bounds.x(), bounds.y(), NULL);
+ skia::DrawToNativeContext(
+ canvas.sk_canvas(), dc, bounds.x(), bounds.y(), NULL);
ReleaseDC(GetNativeControlHWND(), dc);
}
@@ -1255,7 +1256,7 @@ LRESULT TableView::OnCustomDraw(NMLVCUSTOMDRAW* draw_info) {
// NOTE: This may be invoked without the ListView filling in the
// background (or rather windows paints background, then invokes
// this twice). As such, we always fill in the background.
- canvas.drawColor(
+ canvas.sk_canvas()->drawColor(
skia::COLORREFToSkColor(GetSysColor(bg_color_index)),
SkXfermode::kSrc_Mode);
// + 1 for padding (we declared the image as 18x18 in the list-
@@ -1273,9 +1274,9 @@ LRESULT TableView::OnCustomDraw(NMLVCUSTOMDRAW* draw_info) {
(intersection.right - intersection.left);
to_draw.bottom = to_draw.top +
(intersection.bottom - intersection.top);
- skia::DrawToNativeContext(&canvas, draw_info->nmcd.hdc,
- intersection.left, intersection.top,
- &to_draw);
+ skia::DrawToNativeContext(canvas.sk_canvas(), draw_info->nmcd.hdc,
+ intersection.left, intersection.top,
+ &to_draw);
r = CDRF_SKIPDEFAULT;
}
}
diff --git a/views/controls/tree/tree_view.cc b/views/controls/tree/tree_view.cc
index 078ee20..80313ed 100644
--- a/views/controls/tree/tree_view.cc
+++ b/views/controls/tree/tree_view.cc
@@ -699,7 +699,7 @@ HIMAGELIST TreeView::CreateImageList() {
model_images[i].height() != height) {
gfx::CanvasSkia canvas(width, height, false);
// Make the background completely transparent.
- canvas.drawColor(SK_ColorBLACK, SkXfermode::kClear_Mode);
+ canvas.sk_canvas()->drawColor(SK_ColorBLACK, SkXfermode::kClear_Mode);
// Draw our icons into this canvas.
int height_offset = (height - model_images[i].height()) / 2;
@@ -752,7 +752,7 @@ LRESULT CALLBACK TreeView::TreeWndProc(HWND window,
if (canvas.isEmpty())
return 0;
- HDC dc = skia::BeginPlatformPaint(&canvas);
+ HDC dc = skia::BeginPlatformPaint(canvas.sk_canvas());
if (base::i18n::IsRTL()) {
// gfx::CanvasSkia ends up configuring the DC with a mode of
// GM_ADVANCED. For some reason a graphics mode of ADVANCED triggers
@@ -786,7 +786,7 @@ LRESULT CALLBACK TreeView::TreeWndProc(HWND window,
// over we copy the right bits.
SetViewportOrgEx(dc, 0, 0, NULL);
}
- skia::EndPlatformPaint(&canvas);
+ skia::EndPlatformPaint(canvas.sk_canvas());
return 0;
}
diff --git a/views/desktop/desktop_background.cc b/views/desktop/desktop_background.cc
index a6d7a64..89399e1 100644
--- a/views/desktop/desktop_background.cc
+++ b/views/desktop/desktop_background.cc
@@ -37,7 +37,7 @@ void DesktopBackground::Paint(gfx::Canvas* canvas, View* view) const {
path.close();
paint.setColor(SK_ColorGREEN);
- canvas->AsCanvasSkia()->drawPath(path, paint);
+ canvas->GetSkCanvas()->drawPath(path, paint);
}
// Paint the shining sun.
@@ -47,7 +47,7 @@ void DesktopBackground::Paint(gfx::Canvas* canvas, View* view) const {
path.close();
paint.setColor(SK_ColorYELLOW);
- canvas->AsCanvasSkia()->drawPath(path, paint);
+ canvas->GetSkCanvas()->drawPath(path, paint);
}
}
diff --git a/views/native_theme_painter.cc b/views/native_theme_painter.cc
index 71bb71b..584667b9 100644
--- a/views/native_theme_painter.cc
+++ b/views/native_theme_painter.cc
@@ -28,7 +28,6 @@ gfx::Size NativeThemePainter::GetPreferredSize() {
void NativeThemePainter::Paint(int w, int h, gfx::Canvas* canvas) {
const gfx::NativeTheme* native_theme = gfx::NativeTheme::instance();
gfx::NativeTheme::Part part = delegate_->GetThemePart();
- gfx::CanvasSkia* skia_canvas = canvas->AsCanvasSkia();
gfx::Rect rect(0, 0, w, h);
if (delegate_->GetThemeAnimation() != NULL &&
@@ -37,19 +36,20 @@ void NativeThemePainter::Paint(int w, int h, gfx::Canvas* canvas) {
gfx::NativeTheme::ExtraParams prev_extra;
gfx::NativeTheme::State prev_state =
delegate_->GetBackgroundThemeState(&prev_extra);
- native_theme->Paint(skia_canvas, part, prev_state, rect, prev_extra);
+ native_theme->Paint(
+ canvas->GetSkCanvas(), part, prev_state, rect, prev_extra);
// Composite foreground state above it.
gfx::NativeTheme::ExtraParams extra;
gfx::NativeTheme::State state = delegate_->GetForegroundThemeState(&extra);
int alpha = delegate_->GetThemeAnimation()->CurrentValueBetween(0, 255);
- skia_canvas->SaveLayerAlpha(static_cast<uint8>(alpha));
- native_theme->Paint(skia_canvas, part, state, rect, extra);
- skia_canvas->Restore();
+ canvas->SaveLayerAlpha(static_cast<uint8>(alpha));
+ native_theme->Paint(canvas->GetSkCanvas(), part, state, rect, extra);
+ canvas->Restore();
} else {
gfx::NativeTheme::ExtraParams extra;
gfx::NativeTheme::State state = delegate_->GetThemeState(&extra);
- native_theme->Paint(skia_canvas, part, state, rect, extra);
+ native_theme->Paint(canvas->GetSkCanvas(), part, state, rect, extra);
}
}
diff --git a/views/painter.cc b/views/painter.cc
index 5a82bff..f39317d 100644
--- a/views/painter.cc
+++ b/views/painter.cc
@@ -1,4 +1,4 @@
-// Copyright (c) 2009 The Chromium Authors. All rights reserved.
+// Copyright (c) 2011 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.
@@ -44,7 +44,7 @@ class GradientPainter : public Painter {
// Need to unref shader, otherwise never deleted.
s->unref();
- canvas->AsCanvasSkia()->drawRectCoords(
+ canvas->GetSkCanvas()->drawRectCoords(
SkIntToScalar(0), SkIntToScalar(0), SkIntToScalar(w), SkIntToScalar(h),
paint);
}
diff --git a/views/touchui/touch_selection_controller_impl.cc b/views/touchui/touch_selection_controller_impl.cc
index 2711690..d62a0c0 100644
--- a/views/touchui/touch_selection_controller_impl.cc
+++ b/views/touchui/touch_selection_controller_impl.cc
@@ -81,7 +81,7 @@ void PaintCircle(const Circle& circle, gfx::Canvas* canvas) {
SkIntToScalar(bounds.right()), SkIntToScalar(bounds.bottom()));
SkScalar radius = SkIntToScalar(circle.radius);
path.addRoundRect(rect, radius, radius);
- canvas->AsCanvasSkia()->drawPath(path, paint);
+ canvas->GetSkCanvas()->drawPath(path, paint);
}
// The points may not match exactly, since the selection range computation may
@@ -278,8 +278,8 @@ class TouchSelectionControllerImpl::TouchContextMenuView
canvas->DrawRectInt(0, 0, width(), height(), paint);
#else
// This is the same as COLOR_TOOLBAR.
- canvas->AsCanvasSkia()->drawColor(SkColorSetRGB(210, 225, 246),
- SkXfermode::kSrc_Mode);
+ canvas->GetSkCanvas()->drawColor(SkColorSetRGB(210, 225, 246),
+ SkXfermode::kSrc_Mode);
#endif
}
diff --git a/views/view.cc b/views/view.cc
index e53d3e4..ffca496 100644
--- a/views/view.cc
+++ b/views/view.cc
@@ -1137,7 +1137,7 @@ void View::UpdateChildLayerBounds(const gfx::Point& offset) {
}
void View::OnPaintLayer(gfx::Canvas* canvas) {
- canvas->AsCanvasSkia()->drawColor(SK_ColorBLACK, SkXfermode::kClear_Mode);
+ canvas->GetSkCanvas()->drawColor(SK_ColorBLACK, SkXfermode::kClear_Mode);
PaintCommon(canvas);
}
diff --git a/views/view_unittest.cc b/views/view_unittest.cc
index bb99bf9a..c6bfab2 100644
--- a/views/view_unittest.cc
+++ b/views/view_unittest.cc
@@ -400,7 +400,7 @@ TEST_F(ViewTest, TouchEvent) {
////////////////////////////////////////////////////////////////////////////////
void TestView::Paint(gfx::Canvas* canvas) {
- canvas->AsCanvasSkia()->getClipBounds(&last_clip_);
+ canvas->GetSkCanvas()->getClipBounds(&last_clip_);
}
void TestView::SchedulePaintInRect(const gfx::Rect& rect) {
diff --git a/views/widget/native_widget_win.cc b/views/widget/native_widget_win.cc
index 9290f4b..24c1d38 100644
--- a/views/widget/native_widget_win.cc
+++ b/views/widget/native_widget_win.cc
@@ -2309,25 +2309,25 @@ void NativeWidgetWin::RedrawLayeredWindowContents() {
return;
// We need to clip to the dirty rect ourselves.
- layered_window_contents_->save(SkCanvas::kClip_SaveFlag);
+ layered_window_contents_->sk_canvas()->save(SkCanvas::kClip_SaveFlag);
layered_window_contents_->ClipRectInt(invalid_rect_.x(),
invalid_rect_.y(),
invalid_rect_.width(),
invalid_rect_.height());
GetWidget()->GetRootView()->Paint(layered_window_contents_.get());
- layered_window_contents_->restore();
+ layered_window_contents_->sk_canvas()->restore();
RECT wr;
GetWindowRect(&wr);
SIZE size = {wr.right - wr.left, wr.bottom - wr.top};
POINT position = {wr.left, wr.top};
- HDC dib_dc = skia::BeginPlatformPaint(layered_window_contents_.get());
+ HDC dib_dc = skia::BeginPlatformPaint(layered_window_contents_->sk_canvas());
POINT zero = {0, 0};
BLENDFUNCTION blend = {AC_SRC_OVER, 0, layered_alpha_, AC_SRC_ALPHA};
UpdateLayeredWindow(hwnd(), NULL, &position, &size, dib_dc, &zero,
RGB(0xFF, 0xFF, 0xFF), &blend, ULW_ALPHA);
invalid_rect_.SetRect(0, 0, 0, 0);
- skia::EndPlatformPaint(layered_window_contents_.get());
+ skia::EndPlatformPaint(layered_window_contents_->sk_canvas());
}
void NativeWidgetWin::LockUpdates() {
diff --git a/views/widget/root_view.cc b/views/widget/root_view.cc
index 7c69e96..1d60945 100644
--- a/views/widget/root_view.cc
+++ b/views/widget/root_view.cc
@@ -418,7 +418,7 @@ void RootView::ViewHierarchyChanged(bool is_add, View* parent, View* child) {
void RootView::OnPaint(gfx::Canvas* canvas) {
#if !defined(TOUCH_UI)
- canvas->AsCanvasSkia()->drawColor(SK_ColorBLACK, SkXfermode::kClear_Mode);
+ canvas->GetSkCanvas()->drawColor(SK_ColorBLACK, SkXfermode::kClear_Mode);
#endif
}
diff --git a/views/window/dialog_client_view.cc b/views/window/dialog_client_view.cc
index 8a43145..a3bdb63 100644
--- a/views/window/dialog_client_view.cc
+++ b/views/window/dialog_client_view.cc
@@ -449,7 +449,7 @@ void DialogClientView::PaintSizeBox(gfx::Canvas* canvas) {
size_box_bounds_.set_x(size_box_bounds_.right() - gripper_size.width());
size_box_bounds_.set_y(size_box_bounds_.bottom() - gripper_size.height());
- gfx::NativeTheme::instance()->Paint(canvas->AsCanvasSkia(),
+ gfx::NativeTheme::instance()->Paint(canvas->GetSkCanvas(),
gfx::NativeTheme::kWindowResizeGripper,
gfx::NativeTheme::kNormal,
size_box_bounds_,