diff options
Diffstat (limited to 'ui/base/native_theme/native_theme_android.cc')
-rw-r--r-- | ui/base/native_theme/native_theme_android.cc | 56 |
1 files changed, 29 insertions, 27 deletions
diff --git a/ui/base/native_theme/native_theme_android.cc b/ui/base/native_theme/native_theme_android.cc index 89f5bae..7025e8f 100644 --- a/ui/base/native_theme/native_theme_android.cc +++ b/ui/base/native_theme/native_theme_android.cc @@ -279,19 +279,19 @@ void NativeThemeAndroid::PaintCheckbox(SkCanvas* canvas, const gfx::Rect& rect, const ButtonExtraParams& button) const { ResourceBundle& rb = ResourceBundle::GetSharedInstance(); - SkBitmap* image = NULL; + gfx::ImageSkia* image = NULL; if (button.indeterminate) { image = state == kDisabled ? - rb.GetBitmapNamed(IDR_CHECKBOX_DISABLED_INDETERMINATE) : - rb.GetBitmapNamed(IDR_CHECKBOX_INDETERMINATE); + rb.GetImageSkiaNamed(IDR_CHECKBOX_DISABLED_INDETERMINATE) : + rb.GetImageSkiaNamed(IDR_CHECKBOX_INDETERMINATE); } else if (button.checked) { image = state == kDisabled ? - rb.GetBitmapNamed(IDR_CHECKBOX_DISABLED_ON) : - rb.GetBitmapNamed(IDR_CHECKBOX_ON); + rb.GetImageSkiaNamed(IDR_CHECKBOX_DISABLED_ON) : + rb.GetImageSkiaNamed(IDR_CHECKBOX_ON); } else { image = state == kDisabled ? - rb.GetBitmapNamed(IDR_CHECKBOX_DISABLED_OFF) : - rb.GetBitmapNamed(IDR_CHECKBOX_OFF); + rb.GetImageSkiaNamed(IDR_CHECKBOX_DISABLED_OFF) : + rb.GetImageSkiaNamed(IDR_CHECKBOX_OFF); } gfx::Rect bounds = rect.Center(gfx::Size(image->width(), image->height())); @@ -304,15 +304,15 @@ void NativeThemeAndroid::PaintRadio(SkCanvas* canvas, const gfx::Rect& rect, const ButtonExtraParams& button) const { ResourceBundle& rb = ResourceBundle::GetSharedInstance(); - SkBitmap* image = NULL; + gfx::ImageSkia* image = NULL; if (state == kDisabled) { image = button.checked ? - rb.GetBitmapNamed(IDR_RADIO_DISABLED_ON) : - rb.GetBitmapNamed(IDR_RADIO_DISABLED_OFF); + rb.GetImageSkiaNamed(IDR_RADIO_DISABLED_ON) : + rb.GetImageSkiaNamed(IDR_RADIO_DISABLED_OFF); } else { image = button.checked ? - rb.GetBitmapNamed(IDR_RADIO_ON) : - rb.GetBitmapNamed(IDR_RADIO_OFF); + rb.GetImageSkiaNamed(IDR_RADIO_ON) : + rb.GetImageSkiaNamed(IDR_RADIO_OFF); } gfx::Rect bounds = rect.Center(gfx::Size(image->width(), image->height())); @@ -599,9 +599,11 @@ void NativeThemeAndroid::PaintProgressBar( const gfx::Rect& rect, const ProgressBarExtraParams& progress_bar) const { ResourceBundle& rb = ResourceBundle::GetSharedInstance(); - SkBitmap* bar_image = rb.GetBitmapNamed(IDR_PROGRESS_BAR); - SkBitmap* left_border_image = rb.GetBitmapNamed(IDR_PROGRESS_BORDER_LEFT); - SkBitmap* right_border_image = rb.GetBitmapNamed(IDR_PROGRESS_BORDER_RIGHT); + gfx::ImageSkia* bar_image = rb.GetImageSkiaNamed(IDR_PROGRESS_BAR); + gfx::ImageSkia* left_border_image = rb.GetImageSkiaNamed( + IDR_PROGRESS_BORDER_LEFT); + gfx::ImageSkia* right_border_image = rb.GetImageSkiaNamed( + IDR_PROGRESS_BORDER_RIGHT); float tile_scale = static_cast<float>(rect.height()) / bar_image->height(); @@ -614,7 +616,7 @@ void NativeThemeAndroid::PaintProgressBar( rect.x(), rect.y(), rect.width(), rect.height()); if (progress_bar.value_rect_width) { - SkBitmap* value_image = rb.GetBitmapNamed(IDR_PROGRESS_VALUE); + gfx::ImageSkia* value_image = rb.GetImageSkiaNamed(IDR_PROGRESS_VALUE); new_tile_width = static_cast<int>(value_image->width() * tile_scale); tile_scale_x = static_cast<float>(new_tile_width) / @@ -629,16 +631,16 @@ void NativeThemeAndroid::PaintProgressBar( int dest_left_border_width = static_cast<int>(left_border_image->width() * tile_scale); - SkRect dest_rect; - dest_rect.iset(rect.x(), rect.y(), rect.x() + dest_left_border_width, - rect.bottom()); - canvas->drawBitmapRect(*left_border_image, NULL, dest_rect); + DrawBitmapInt(canvas, *left_border_image, 0, 0, left_border_image->width(), + left_border_image->height(), rect.x(), rect.y(), dest_left_border_width, + rect.height()); int dest_right_border_width = static_cast<int>(right_border_image->width() * tile_scale); - dest_rect.iset(rect.right() - dest_right_border_width, rect.y(), rect.right(), - rect.bottom()); - canvas->drawBitmapRect(*right_border_image, NULL, dest_rect); + int dest_x = rect.right() - dest_right_border_width; + DrawBitmapInt(canvas, *right_border_image, 0, 0, right_border_image->width(), + right_border_image->height(), dest_x, rect.y(), dest_right_border_width, + rect.height()); } bool NativeThemeAndroid::IntersectsClipRectInt(SkCanvas* canvas, @@ -653,7 +655,7 @@ bool NativeThemeAndroid::IntersectsClipRectInt(SkCanvas* canvas, } void NativeThemeAndroid::DrawBitmapInt(SkCanvas* canvas, - const SkBitmap& bitmap, + const gfx::ImageSkia& image, int src_x, int src_y, int src_w, @@ -662,12 +664,12 @@ void NativeThemeAndroid::DrawBitmapInt(SkCanvas* canvas, int dest_y, int dest_w, int dest_h) const { - gfx::Canvas(canvas).DrawBitmapInt(bitmap, src_x, src_y, src_w, src_h, + gfx::Canvas(canvas).DrawBitmapInt(image, src_x, src_y, src_w, src_h, dest_x, dest_y, dest_w, dest_h, true); } void NativeThemeAndroid::DrawTiledImage(SkCanvas* canvas, - const SkBitmap& bitmap, + const gfx::ImageSkia& image, int src_x, int src_y, float tile_scale_x, @@ -676,7 +678,7 @@ void NativeThemeAndroid::DrawTiledImage(SkCanvas* canvas, int dest_y, int w, int h) const { - gfx::Canvas(canvas).TileImageInt(bitmap, src_x, src_y, tile_scale_x, + gfx::Canvas(canvas).TileImageInt(image, src_x, src_y, tile_scale_x, tile_scale_y, dest_x, dest_y, w, h); } |