Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(33)

Unified Diff: trunk/src/ui/gfx/image/image_skia_operations.cc

Issue 24262008: Revert 224473 "Remove dependency on ui::ScaleFactor from ui/gfx" (Closed) Base URL: svn://svn.chromium.org/chrome/
Patch Set: Created 7 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « trunk/src/ui/gfx/image/image_skia.cc ('k') | trunk/src/ui/gfx/image/image_skia_rep.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: trunk/src/ui/gfx/image/image_skia_operations.cc
===================================================================
--- trunk/src/ui/gfx/image/image_skia_operations.cc (revision 224498)
+++ trunk/src/ui/gfx/image/image_skia_operations.cc (working copy)
@@ -7,6 +7,7 @@
#include "base/command_line.h"
#include "base/logging.h"
#include "skia/ext/image_operations.h"
+#include "ui/base/layout.h"
#include "ui/gfx/canvas.h"
#include "ui/gfx/image/canvas_image_source.h"
#include "ui/gfx/image/image_skia.h"
@@ -36,13 +37,14 @@
// Returns an image rep for the ImageSkiaSource to return to visually indicate
// an error.
-ImageSkiaRep GetErrorImageRep(float scale, const gfx::Size& pixel_size) {
+ImageSkiaRep GetErrorImageRep(ui::ScaleFactor scale_factor,
+ const gfx::Size& pixel_size) {
SkBitmap bitmap;
bitmap.setConfig(
SkBitmap::kARGB_8888_Config, pixel_size.width(), pixel_size.height());
bitmap.allocPixels();
bitmap.eraseColor(SK_ColorRED);
- return gfx::ImageSkiaRep(bitmap, scale);
+ return gfx::ImageSkiaRep(bitmap, scale_factor);
}
// A base image source class that creates an image from two source images.
@@ -60,25 +62,27 @@
}
// gfx::ImageSkiaSource overrides:
- virtual ImageSkiaRep GetImageForScale(float scale) OVERRIDE {
- ImageSkiaRep first_rep = first_.GetRepresentation(scale);
- ImageSkiaRep second_rep = second_.GetRepresentation(scale);
+ virtual ImageSkiaRep GetImageForScale(ui::ScaleFactor scale_factor) OVERRIDE {
+ ImageSkiaRep first_rep = first_.GetRepresentation(scale_factor);
+ ImageSkiaRep second_rep = second_.GetRepresentation(scale_factor);
if (first_rep.pixel_size() != second_rep.pixel_size()) {
- DCHECK_NE(first_rep.scale(), second_rep.scale());
- if (first_rep.scale() == second_rep.scale()) {
+ DCHECK_NE(first_rep.scale_factor(), second_rep.scale_factor());
+ if (first_rep.scale_factor() == second_rep.scale_factor()) {
LOG(ERROR) << "ImageSkiaRep size mismatch in " << source_name_;
- return GetErrorImageRep(first_rep.scale(),first_rep.pixel_size());
+ return GetErrorImageRep(first_rep.scale_factor(),
+ first_rep.pixel_size());
}
- first_rep = first_.GetRepresentation(1.0f);
- second_rep = second_.GetRepresentation(1.0f);
+ first_rep = first_.GetRepresentation(ui::SCALE_FACTOR_100P);
+ second_rep = second_.GetRepresentation(ui::SCALE_FACTOR_100P);
DCHECK_EQ(first_rep.pixel_width(), second_rep.pixel_width());
DCHECK_EQ(first_rep.pixel_height(), second_rep.pixel_height());
if (first_rep.pixel_size() != second_rep.pixel_size()) {
LOG(ERROR) << "ImageSkiaRep size mismatch in " << source_name_;
- return GetErrorImageRep(first_rep.scale(), first_rep.pixel_size());
+ return GetErrorImageRep(first_rep.scale_factor(),
+ first_rep.pixel_size());
}
} else {
- DCHECK_EQ(first_rep.scale(), second_rep.scale());
+ DCHECK_EQ(first_rep.scale_factor(), second_rep.scale_factor());
}
return CreateImageSkiaRep(first_rep, second_rep);
}
@@ -117,7 +121,7 @@
const ImageSkiaRep& second_rep) const OVERRIDE {
SkBitmap blended = SkBitmapOperations::CreateBlendedBitmap(
first_rep.sk_bitmap(), second_rep.sk_bitmap(), alpha_);
- return ImageSkiaRep(blended, first_rep.scale());
+ return ImageSkiaRep(blended, first_rep.scale_factor());
}
private:
@@ -163,8 +167,8 @@
private:
// gfx::ImageSkiaSource overrides:
- virtual ImageSkiaRep GetImageForScale(float scale) OVERRIDE {
- ImageSkiaRep image_rep = image_.GetRepresentation(scale);
+ virtual ImageSkiaRep GetImageForScale(ui::ScaleFactor scale_factor) OVERRIDE {
+ ImageSkiaRep image_rep = image_.GetRepresentation(scale_factor);
SkBitmap alpha;
alpha.setConfig(SkBitmap::kARGB_8888_Config,
image_rep.pixel_width(),
@@ -173,7 +177,7 @@
alpha.eraseColor(SkColorSetARGB(alpha_ * 255, 0, 0, 0));
return ImageSkiaRep(
SkBitmapOperations::CreateMaskedBitmap(image_rep.sk_bitmap(), alpha),
- image_rep.scale());
+ image_rep.scale_factor());
}
ImageSkia image_;
@@ -197,7 +201,7 @@
const ImageSkiaRep& second_rep) const OVERRIDE {
return ImageSkiaRep(SkBitmapOperations::CreateMaskedBitmap(
first_rep.sk_bitmap(), second_rep.sk_bitmap()),
- first_rep.scale());
+ first_rep.scale_factor());
}
private:
@@ -220,15 +224,16 @@
}
// gfx::ImageSkiaSource overrides:
- virtual ImageSkiaRep GetImageForScale(float scale) OVERRIDE {
- ImageSkiaRep source_rep = source_.GetRepresentation(scale);
+ virtual ImageSkiaRep GetImageForScale(ui::ScaleFactor scale_factor) OVERRIDE {
+ ImageSkiaRep source_rep = source_.GetRepresentation(scale_factor);
+ float scale = ui::GetScaleFactorScale(source_rep.scale_factor());
gfx::Rect bounds = DIPToPixelBounds(gfx::Rect(src_x_, src_y_, dst_w_,
- dst_h_), source_rep.scale());
+ dst_h_), scale);
return ImageSkiaRep(
SkBitmapOperations::CreateTiledBitmap(
source_rep.sk_bitmap(),
bounds.x(), bounds.y(), bounds.width(), bounds.height()),
- source_rep.scale());
+ source_rep.scale_factor());
}
private:
@@ -253,11 +258,11 @@
}
// gfx::ImageSkiaSource overrides:
- virtual ImageSkiaRep GetImageForScale(float scale) OVERRIDE {
- ImageSkiaRep image_rep = image_.GetRepresentation(scale);
+ virtual ImageSkiaRep GetImageForScale(ui::ScaleFactor scale_factor) OVERRIDE {
+ ImageSkiaRep image_rep = image_.GetRepresentation(scale_factor);
return gfx::ImageSkiaRep(
SkBitmapOperations::CreateHSLShiftedBitmap(image_rep.sk_bitmap(),
- hsl_shift_), image_rep.scale());
+ hsl_shift_), image_rep.scale_factor());
}
private:
@@ -283,17 +288,17 @@
}
// gfx::ImageSkiaSource overrides:
- virtual ImageSkiaRep GetImageForScale(float scale) OVERRIDE {
- ImageSkiaRep image_rep = image_.GetRepresentation(scale);
- ImageSkiaRep mask_rep = mask_.GetRepresentation(scale);
- if (image_rep.scale() != mask_rep.scale()) {
- image_rep = image_.GetRepresentation(1.0f);
- mask_rep = mask_.GetRepresentation(1.0f);
+ virtual ImageSkiaRep GetImageForScale(ui::ScaleFactor scale_factor) OVERRIDE {
+ ImageSkiaRep image_rep = image_.GetRepresentation(scale_factor);
+ ImageSkiaRep mask_rep = mask_.GetRepresentation(scale_factor);
+ if (image_rep.scale_factor() != mask_rep.scale_factor()) {
+ image_rep = image_.GetRepresentation(ui::SCALE_FACTOR_100P);
+ mask_rep = mask_.GetRepresentation(ui::SCALE_FACTOR_100P);
}
return gfx::ImageSkiaRep(
SkBitmapOperations::CreateButtonBackground(color_,
image_rep.sk_bitmap(), mask_rep.sk_bitmap()),
- image_rep.scale());
+ image_rep.scale_factor());
}
private:
@@ -318,15 +323,16 @@
}
// gfx::ImageSkiaSource overrides:
- virtual ImageSkiaRep GetImageForScale(float scale) OVERRIDE {
- ImageSkiaRep image_rep = image_.GetRepresentation(scale);
+ virtual ImageSkiaRep GetImageForScale(ui::ScaleFactor scale_factor) OVERRIDE {
+ ImageSkiaRep image_rep = image_.GetRepresentation(scale_factor);
+ float scale_to_pixel = ui::GetScaleFactorScale(image_rep.scale_factor());
SkIRect subset_bounds_in_pixel = RectToSkIRect(
- DIPToPixelBounds(subset_bounds_, image_rep.scale()));
+ DIPToPixelBounds(subset_bounds_, scale_to_pixel));
SkBitmap dst;
bool success = image_rep.sk_bitmap().extractSubset(&dst,
subset_bounds_in_pixel);
DCHECK(success);
- return gfx::ImageSkiaRep(dst, image_rep.scale());
+ return gfx::ImageSkiaRep(dst, image_rep.scale_factor());
}
private:
@@ -350,19 +356,20 @@
virtual ~ResizeSource() {}
// gfx::ImageSkiaSource overrides:
- virtual ImageSkiaRep GetImageForScale(float scale) OVERRIDE {
- const ImageSkiaRep& image_rep = source_.GetRepresentation(scale);
+ virtual ImageSkiaRep GetImageForScale(ui::ScaleFactor scale_factor) OVERRIDE {
+ const ImageSkiaRep& image_rep = source_.GetRepresentation(scale_factor);
if (image_rep.GetWidth() == target_dip_size_.width() &&
image_rep.GetHeight() == target_dip_size_.height())
return image_rep;
+ const float scale = ui::GetScaleFactorScale(scale_factor);
const Size target_pixel_size = DIPToPixelSize(target_dip_size_, scale);
const SkBitmap resized = skia::ImageOperations::Resize(
image_rep.sk_bitmap(),
resize_method_,
target_pixel_size.width(),
target_pixel_size.height());
- return ImageSkiaRep(resized, scale);
+ return ImageSkiaRep(resized, scale_factor);
}
private:
@@ -385,9 +392,10 @@
virtual ~DropShadowSource() {}
// gfx::ImageSkiaSource overrides:
- virtual ImageSkiaRep GetImageForScale(float scale) OVERRIDE {
- const ImageSkiaRep& image_rep = source_.GetRepresentation(scale);
+ virtual ImageSkiaRep GetImageForScale(ui::ScaleFactor scale_factor) OVERRIDE {
+ const ImageSkiaRep& image_rep = source_.GetRepresentation(scale_factor);
+ const float scale = image_rep.GetScale();
ShadowValues shadows_in_pixel;
for (size_t i = 0; i < shaodws_in_dip_.size(); ++i)
shadows_in_pixel.push_back(shaodws_in_dip_[i].Scale(scale));
@@ -395,7 +403,7 @@
const SkBitmap shadow_bitmap = SkBitmapOperations::CreateDropShadow(
image_rep.sk_bitmap(),
shadows_in_pixel);
- return ImageSkiaRep(shadow_bitmap, image_rep.scale());
+ return ImageSkiaRep(shadow_bitmap, image_rep.scale_factor());
}
private:
@@ -417,11 +425,11 @@
virtual ~RotatedSource() {}
// gfx::ImageSkiaSource overrides:
- virtual ImageSkiaRep GetImageForScale(float scale) OVERRIDE {
- const ImageSkiaRep& image_rep = source_.GetRepresentation(scale);
+ virtual ImageSkiaRep GetImageForScale(ui::ScaleFactor scale_factor) OVERRIDE {
+ const ImageSkiaRep& image_rep = source_.GetRepresentation(scale_factor);
const SkBitmap rotated_bitmap =
SkBitmapOperations::Rotate(image_rep.sk_bitmap(), rotation_);
- return ImageSkiaRep(rotated_bitmap, image_rep.scale());
+ return ImageSkiaRep(rotated_bitmap, image_rep.scale_factor());
}
private:
« no previous file with comments | « trunk/src/ui/gfx/image/image_skia.cc ('k') | trunk/src/ui/gfx/image/image_skia_rep.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698