diff options
Diffstat (limited to 'ui')
-rw-r--r-- | ui/base/clipboard/clipboard_gtk.cc | 6 | ||||
-rw-r--r-- | ui/base/clipboard/clipboard_mac.mm | 4 | ||||
-rw-r--r-- | ui/base/clipboard/clipboard_win.cc | 6 | ||||
-rw-r--r-- | ui/base/dragdrop/drag_utils.cc | 2 | ||||
-rw-r--r-- | ui/base/native_theme/native_theme_android.cc | 11 | ||||
-rw-r--r-- | ui/base/native_theme/native_theme_base.cc | 11 | ||||
-rw-r--r-- | ui/compositor/layer.cc | 14 | ||||
-rw-r--r-- | ui/compositor/layer_unittest.cc | 4 | ||||
-rw-r--r-- | ui/gfx/canvas.cc | 78 | ||||
-rw-r--r-- | ui/gfx/canvas.h | 43 | ||||
-rw-r--r-- | ui/gfx/canvas_linux.cc | 6 | ||||
-rw-r--r-- | ui/gfx/canvas_skia.cc | 10 | ||||
-rw-r--r-- | ui/gfx/image/canvas_image_source.cc | 2 | ||||
-rw-r--r-- | ui/gfx/image/image.cc | 6 | ||||
-rw-r--r-- | ui/views/controls/glow_hover_controller.cc | 2 | ||||
-rw-r--r-- | ui/views/controls/menu/native_menu_win.cc | 1 | ||||
-rw-r--r-- | ui/views/controls/table/table_view_win.cc | 10 | ||||
-rw-r--r-- | ui/views/controls/tree/tree_view_win.cc | 6 | ||||
-rw-r--r-- | ui/views/widget/native_widget_win.cc | 3 |
19 files changed, 117 insertions, 108 deletions
diff --git a/ui/base/clipboard/clipboard_gtk.cc b/ui/base/clipboard/clipboard_gtk.cc index 6199afa..78eebba 100644 --- a/ui/base/clipboard/clipboard_gtk.cc +++ b/ui/base/clipboard/clipboard_gtk.cc @@ -564,16 +564,14 @@ SkBitmap Clipboard::ReadImage(Buffer buffer) const { return SkBitmap(); gfx::Canvas canvas(gfx::Size(gdk_pixbuf_get_width(pixbuf.get()), - gdk_pixbuf_get_height(pixbuf.get())), - ui::SCALE_FACTOR_100P, - false); + gdk_pixbuf_get_height(pixbuf.get())), false); { skia::ScopedPlatformPaint scoped_platform_paint(canvas.sk_canvas()); cairo_t* context = scoped_platform_paint.GetPlatformSurface(); gdk_cairo_set_source_pixbuf(context, pixbuf.get(), 0.0, 0.0); cairo_paint(context); } - return canvas.ExtractImageRep().sk_bitmap(); + return canvas.ExtractBitmap(); } void Clipboard::ReadCustomData(Buffer buffer, diff --git a/ui/base/clipboard/clipboard_mac.mm b/ui/base/clipboard/clipboard_mac.mm index 0367448..7d0bea1 100644 --- a/ui/base/clipboard/clipboard_mac.mm +++ b/ui/base/clipboard/clipboard_mac.mm @@ -349,7 +349,7 @@ SkBitmap Clipboard::ReadImage(Buffer buffer) const { int width = [image size].width; int height = [image size].height; - gfx::Canvas canvas(gfx::Size(width, height), ui::SCALE_FACTOR_100P, false); + gfx::Canvas canvas(gfx::Size(width, height), false); { skia::ScopedPlatformPaint scoped_platform_paint(canvas.sk_canvas()); CGContextRef gc = scoped_platform_paint.GetPlatformSurface(); @@ -361,7 +361,7 @@ SkBitmap Clipboard::ReadImage(Buffer buffer) const { operation:NSCompositeCopy fraction:1.0]; } - return canvas.ExtractImageRep().sk_bitmap(); + return canvas.ExtractBitmap(); } void Clipboard::ReadCustomData(Buffer buffer, diff --git a/ui/base/clipboard/clipboard_win.cc b/ui/base/clipboard/clipboard_win.cc index 6ea0cb1..3fa071f 100644 --- a/ui/base/clipboard/clipboard_win.cc +++ b/ui/base/clipboard/clipboard_win.cc @@ -564,9 +564,7 @@ SkBitmap Clipboard::ReadImage(Buffer buffer) const { + bitmap->bmiHeader.biSize + color_table_length * sizeof(RGBQUAD); gfx::Canvas canvas(gfx::Size(bitmap->bmiHeader.biWidth, - bitmap->bmiHeader.biHeight), - ui::SCALE_FACTOR_100P, - false); + bitmap->bmiHeader.biHeight), false); { skia::ScopedPlatformPaint scoped_platform_paint(canvas.sk_canvas()); HDC dc = scoped_platform_paint.GetPlatformSurface(); @@ -594,7 +592,7 @@ SkBitmap Clipboard::ReadImage(Buffer buffer) const { } } - return canvas.ExtractImageRep().sk_bitmap(); + return canvas.ExtractBitmap(); } void Clipboard::ReadCustomData(Buffer buffer, diff --git a/ui/base/dragdrop/drag_utils.cc b/ui/base/dragdrop/drag_utils.cc index 34f4f93..910fda13 100644 --- a/ui/base/dragdrop/drag_utils.cc +++ b/ui/base/dragdrop/drag_utils.cc @@ -102,7 +102,7 @@ void SetDragImageOnDataObject(const gfx::Canvas& canvas, const gfx::Size& size, const gfx::Point& cursor_offset, ui::OSExchangeData* data_object) { - gfx::ImageSkia image = gfx::ImageSkia(canvas.ExtractImageRep()); + gfx::ImageSkia image = gfx::ImageSkia(canvas.ExtractImageSkiaRep()); SetDragImageOnDataObject(image, size, cursor_offset, data_object); } diff --git a/ui/base/native_theme/native_theme_android.cc b/ui/base/native_theme/native_theme_android.cc index 79b1067..d507ade 100644 --- a/ui/base/native_theme/native_theme_android.cc +++ b/ui/base/native_theme/native_theme_android.cc @@ -8,7 +8,6 @@ #include "base/basictypes.h" #include "base/logging.h" -#include "base/memory/scoped_ptr.h" #include "grit/ui_resources.h" #include "third_party/skia/include/effects/SkGradientShader.h" #include "ui/base/layout.h" @@ -671,9 +670,8 @@ void NativeThemeAndroid::DrawImageInt(SkCanvas* sk_canvas, SkMatrix m = sk_canvas->getTotalMatrix(); ui::ScaleFactor device_scale_factor = ui::GetScaleFactorFromScale( SkScalarAbs(m.getScaleX())); - scoped_ptr<gfx::Canvas> canvas(gfx::Canvas::CreateCanvasWithoutScaling( - sk_canvas, device_scale_factor)); - canvas->DrawImageInt(image, src_x, src_y, src_w, src_h, + gfx::Canvas canvas(sk_canvas, device_scale_factor, false); + canvas.DrawImageInt(image, src_x, src_y, src_w, src_h, dest_x, dest_y, dest_w, dest_h, true); } @@ -692,9 +690,8 @@ void NativeThemeAndroid::DrawTiledImage(SkCanvas* sk_canvas, SkMatrix m = sk_canvas->getTotalMatrix(); ui::ScaleFactor device_scale_factor = ui::GetScaleFactorFromScale( SkScalarAbs(m.getScaleX())); - scoped_ptr<gfx::Canvas> canvas(gfx::Canvas::CreateCanvasWithoutScaling( - sk_canvas, device_scale_factor)); - canvas->TileImageInt(image, src_x, src_y, tile_scale_x, + gfx::Canvas canvas(sk_canvas, device_scale_factor, false); + canvas.TileImageInt(image, src_x, src_y, tile_scale_x, tile_scale_y, dest_x, dest_y, w, h); } diff --git a/ui/base/native_theme/native_theme_base.cc b/ui/base/native_theme/native_theme_base.cc index 57b0a4e..eab57e0 100644 --- a/ui/base/native_theme/native_theme_base.cc +++ b/ui/base/native_theme/native_theme_base.cc @@ -8,7 +8,6 @@ #include "base/command_line.h" #include "base/logging.h" -#include "base/memory/scoped_ptr.h" #include "grit/ui_resources.h" #include "third_party/skia/include/effects/SkGradientShader.h" #include "ui/base/layout.h" @@ -1021,9 +1020,8 @@ void NativeThemeBase::DrawImageInt( SkMatrix m = sk_canvas->getTotalMatrix(); ui::ScaleFactor device_scale_factor = ui::GetScaleFactorFromScale( SkScalarAbs(m.getScaleX())); - scoped_ptr<gfx::Canvas> canvas(gfx::Canvas::CreateCanvasWithoutScaling( - sk_canvas, device_scale_factor)); - canvas->DrawImageInt(image, src_x, src_y, src_w, src_h, + gfx::Canvas canvas(sk_canvas, device_scale_factor, false); + canvas.DrawImageInt(image, src_x, src_y, src_w, src_h, dest_x, dest_y, dest_w, dest_h, true); } @@ -1036,9 +1034,8 @@ void NativeThemeBase::DrawTiledImage(SkCanvas* sk_canvas, SkMatrix m = sk_canvas->getTotalMatrix(); ui::ScaleFactor device_scale_factor = ui::GetScaleFactorFromScale( SkScalarAbs(m.getScaleX())); - scoped_ptr<gfx::Canvas> canvas(gfx::Canvas::CreateCanvasWithoutScaling( - sk_canvas, device_scale_factor)); - canvas->TileImageInt(image, src_x, src_y, tile_scale_x, + gfx::Canvas canvas(sk_canvas, device_scale_factor, false); + canvas.TileImageInt(image, src_x, src_y, tile_scale_x, tile_scale_y, dest_x, dest_y, w, h); } diff --git a/ui/compositor/layer.cc b/ui/compositor/layer.cc index 6c30d52..a3ae747 100644 --- a/ui/compositor/layer.cc +++ b/ui/compositor/layer.cc @@ -488,19 +488,11 @@ void Layer::paintContents(WebKit::WebCanvas* web_canvas, WebKit::WebRect& opaque) { #endif TRACE_EVENT0("ui", "Layer::paintContents"); - scoped_ptr<gfx::Canvas> canvas(gfx::Canvas::CreateCanvasWithoutScaling( - web_canvas, ui::GetScaleFactorFromScale(device_scale_factor_))); - - if (scale_content_) { - canvas->Save(); - canvas->sk_canvas()->scale(SkFloatToScalar(device_scale_factor_), - SkFloatToScalar(device_scale_factor_)); - } + gfx::Canvas canvas(web_canvas, + ui::GetScaleFactorFromScale(device_scale_factor_), scale_content_); if (delegate_) - delegate_->OnPaintLayer(canvas.get()); - if (scale_content_) - canvas->Restore(); + delegate_->OnPaintLayer(&canvas); } unsigned Layer::prepareTexture(WebKit::WebTextureUpdater& /* updater */) { diff --git a/ui/compositor/layer_unittest.cc b/ui/compositor/layer_unittest.cc index 6c76161..c72bdd4 100644 --- a/ui/compositor/layer_unittest.cc +++ b/ui/compositor/layer_unittest.cc @@ -238,8 +238,8 @@ class TestLayerDelegate : public LayerDelegate { // Overridden from LayerDelegate: virtual void OnPaintLayer(gfx::Canvas* canvas) OVERRIDE { - gfx::ImageSkiaRep contents = canvas->ExtractImageRep(); - paint_size_ = gfx::Size(contents.GetWidth(), contents.GetHeight()); + SkBitmap contents = canvas->ExtractBitmap(); + paint_size_ = gfx::Size(contents.width(), contents.height()); canvas->FillRect(gfx::Rect(paint_size_), colors_[color_index_]); color_index_ = (color_index_ + 1) % static_cast<int>(colors_.size()); const SkMatrix& matrix = canvas->sk_canvas()->getTotalMatrix(); diff --git a/ui/gfx/canvas.cc b/ui/gfx/canvas.cc index 1a87c73..26f2e30 100644 --- a/ui/gfx/canvas.cc +++ b/ui/gfx/canvas.cc @@ -22,12 +22,23 @@ namespace gfx { +Canvas::Canvas(const gfx::Size& size, bool is_opaque) + : owned_canvas_(new skia::PlatformCanvas(size.width(), size.height(), + is_opaque)), + canvas_(owned_canvas_.get()) { +#if defined(OS_WIN) || defined(OS_MACOSX) + // skia::PlatformCanvas instances are initialized to 0 by Cairo on Linux, but + // uninitialized on Win and Mac. + if (!is_opaque) + owned_canvas_->clear(SkColorSetARGB(0, 0, 0, 0)); +#endif + + ApplyScaleFactor(ui::SCALE_FACTOR_100P, false); +} + Canvas::Canvas(const gfx::Size& size, ui::ScaleFactor scale_factor, - bool is_opaque) - : scale_factor_(scale_factor), - owned_canvas_(NULL), - canvas_(NULL) { + bool is_opaque) { gfx::Size pixel_size = size.Scale(ui::GetScaleFactorScale(scale_factor)); owned_canvas_.reset(new skia::PlatformCanvas(pixel_size.width(), pixel_size.height(), @@ -40,47 +51,50 @@ Canvas::Canvas(const gfx::Size& size, owned_canvas_->clear(SkColorSetARGB(0, 0, 0, 0)); #endif - SkScalar scale = SkFloatToScalar(ui::GetScaleFactorScale(scale_factor)); - canvas_->scale(scale, scale); + ApplyScaleFactor(scale_factor, true); } Canvas::Canvas(const gfx::ImageSkiaRep& image_rep, bool is_opaque) - : scale_factor_(image_rep.scale_factor()), - owned_canvas_(new skia::PlatformCanvas(image_rep.pixel_width(), + : owned_canvas_(new skia::PlatformCanvas(image_rep.pixel_width(), image_rep.pixel_height(), is_opaque)), canvas_(owned_canvas_.get()) { - SkScalar scale = SkFloatToScalar(ui::GetScaleFactorScale(scale_factor_)); - canvas_->scale(scale, scale); + ApplyScaleFactor(image_rep.scale_factor(), true); DrawImageInt(gfx::ImageSkia(image_rep), 0, 0); } Canvas::Canvas() - : scale_factor_(ui::SCALE_FACTOR_100P), - owned_canvas_(new skia::PlatformCanvas()), + : owned_canvas_(new skia::PlatformCanvas()), canvas_(owned_canvas_.get()) { + ApplyScaleFactor(ui::SCALE_FACTOR_100P, false); } -Canvas::~Canvas() { +Canvas::Canvas(SkCanvas* canvas, + ui::ScaleFactor scale_factor, + bool scale_canvas) + : owned_canvas_(), + canvas_(canvas) { + DCHECK(canvas); + ApplyScaleFactor(scale_factor, scale_canvas); } -// static -Canvas* Canvas::CreateCanvasWithoutScaling(SkCanvas* canvas, - ui::ScaleFactor scale_factor) { - return new Canvas(canvas, scale_factor); +Canvas::~Canvas() { + if (scale_factor_scales_canvas_) { + SkScalar scale = 1.0f / ui::GetScaleFactorScale(scale_factor_); + canvas_->scale(scale, scale); + } } void Canvas::RecreateBackingCanvas(const gfx::Size& size, ui::ScaleFactor scale_factor, bool is_opaque) { - scale_factor_ = scale_factor; gfx::Size pixel_size = size.Scale(ui::GetScaleFactorScale(scale_factor)); owned_canvas_.reset(new skia::PlatformCanvas(pixel_size.width(), pixel_size.height(), is_opaque)); canvas_ = owned_canvas_.get(); - SkScalar scale = SkFloatToScalar(ui::GetScaleFactorScale(scale_factor_)); - canvas_->scale(scale, scale); + + ApplyScaleFactor(scale_factor, true); } // static @@ -95,7 +109,7 @@ int Canvas::DefaultCanvasTextAlignment() { return base::i18n::IsRTL() ? TEXT_ALIGN_RIGHT : TEXT_ALIGN_LEFT; } -gfx::ImageSkiaRep Canvas::ExtractImageRep() const { +SkBitmap Canvas::ExtractBitmap() const { const SkBitmap& device_bitmap = canvas_->getDevice()->accessBitmap(false); // Make a bitmap to return, and a canvas to draw into it. We don't just want @@ -103,8 +117,11 @@ gfx::ImageSkiaRep Canvas::ExtractImageRep() const { // of the bitmap. SkBitmap result; device_bitmap.copyTo(&result, SkBitmap::kARGB_8888_Config); + return result; +} - return gfx::ImageSkiaRep(result, scale_factor_); +gfx::ImageSkiaRep Canvas::ExtractImageSkiaRep() const { + return gfx::ImageSkiaRep(ExtractBitmap(), scale_factor_); } void Canvas::DrawDashedRect(const gfx::Rect& rect, SkColor color) { @@ -484,13 +501,6 @@ void Canvas::Transform(const ui::Transform& transform) { canvas_->concat(transform.matrix()); } -Canvas::Canvas(SkCanvas* canvas, ui::ScaleFactor scale_factor) - : scale_factor_(scale_factor), - owned_canvas_(), - canvas_(canvas) { - DCHECK(canvas); -} - bool Canvas::IntersectsClipRectInt(int x, int y, int w, int h) { SkRect clip; return canvas_->getClipBounds(&clip) && @@ -503,6 +513,16 @@ bool Canvas::IntersectsClipRect(const gfx::Rect& rect) { rect.width(), rect.height()); } +void Canvas::ApplyScaleFactor(ui::ScaleFactor scale_factor, + bool scale_canvas) { + scale_factor_scales_canvas_ = scale_canvas; + scale_factor_ = scale_factor; + if (scale_canvas) { + SkScalar scale = SkFloatToScalar(ui::GetScaleFactorScale(scale_factor)); + canvas_->scale(scale, scale); + } +} + const gfx::ImageSkiaRep& Canvas::GetImageRepToPaint( const gfx::ImageSkia& image) const { return GetImageRepToPaint(image, 1.0f, 1.0f); diff --git a/ui/gfx/canvas.h b/ui/gfx/canvas.h index 700d7d2..8256412 100644 --- a/ui/gfx/canvas.h +++ b/ui/gfx/canvas.h @@ -99,6 +99,12 @@ class UI_EXPORT Canvas { // Creates an empty canvas with scale factor of 1x. Canvas(); + // Creates canvas with provided DIP |size| and a scale factor of 1x. + // If this canvas is not opaque, it's explicitly cleared to transparent before + // being returned. + // TODO(pkotwicz): Remove this constructor. + Canvas(const gfx::Size& size, bool is_opaque); + // Creates canvas with provided DIP |size| and |scale_factor|. // If this canvas is not opaque, it's explicitly cleared to transparent before // being returned. @@ -110,13 +116,13 @@ class UI_EXPORT Canvas { // provided |image_rep|, and draws the |image_rep| into it. Canvas(const gfx::ImageSkiaRep& image_rep, bool is_opaque); - virtual ~Canvas(); + // Sets scale factor to |scale_factor|. + // Only scales canvas if |scale_canvas| is true. + Canvas(SkCanvas* canvas, + ui::ScaleFactor scale_factor, + bool scale_canvas); - // Creates a gfx::Canvas backed by an |sk_canvas| with |scale_factor|. - // |sk_canvas| is assumed to be already scaled based on |scale_factor| - // so no additional scaling is applied. - static Canvas* CreateCanvasWithoutScaling(SkCanvas* sk_canvas, - ui::ScaleFactor scale_factor); + virtual ~Canvas(); // Recreates the backing platform canvas with DIP |size| and |scale_factor|. // If the canvas is not opaque, it is explicitly cleared. @@ -166,8 +172,13 @@ class UI_EXPORT Canvas { int x, int y, int w, int h, int flags); + // Extracts a bitmap from the contents of this canvas. + // TODO(pkotwicz): Remove ExtractBitmap once all callers use + // ExtractImageSkiaRep instead. + SkBitmap ExtractBitmap() const; + // Extracts an ImageSkiaRep from the contents of this canvas. - gfx::ImageSkiaRep ExtractImageRep() const; + gfx::ImageSkiaRep ExtractImageSkiaRep() const; // Draws a dashed rectangle of the specified color. void DrawDashedRect(const gfx::Rect& rect, SkColor color); @@ -377,12 +388,16 @@ class UI_EXPORT Canvas { ui::ScaleFactor scale_factor() const { return scale_factor_; } private: - Canvas(SkCanvas* canvas, ui::ScaleFactor scale_factor); - // Test whether the provided rectangle intersects the current clip rect. bool IntersectsClipRectInt(int x, int y, int w, int h); bool IntersectsClipRect(const gfx::Rect& rect); + // Sets the canvas' scale factor to |scale_factor|. This affects + // the scale factor at which drawing bitmaps occurs and the scale factor of + // the image rep returned by Canvas::ExtractImageSkiaRep(). + // If |scale_canvas| is true, scales the canvas by |scale_factor|. + void ApplyScaleFactor(ui::ScaleFactor scale_factor, bool scale_canvas); + // Returns the image rep which best matches the canvas |scale_factor_|. // Returns a null image rep if |image| contains no image reps. // Builds mip map for returned image rep if necessary. @@ -395,14 +410,18 @@ class UI_EXPORT Canvas { float user_defined_scale_factor_x, float user_defined_scale_factor_y) const; + scoped_ptr<skia::PlatformCanvas> owned_canvas_; + SkCanvas* canvas_; + + // True if the scale factor scales the canvas and the inverse + // canvas scale should be applied when the destructor is called. + bool scale_factor_scales_canvas_; + // The device scale factor at which drawing on this canvas occurs. // An additional scale can be applied via Canvas::Scale(). However, // Canvas::Scale() does not affect |scale_factor_|. ui::ScaleFactor scale_factor_; - scoped_ptr<skia::PlatformCanvas> owned_canvas_; - SkCanvas* canvas_; - DISALLOW_COPY_AND_ASSIGN(Canvas); }; diff --git a/ui/gfx/canvas_linux.cc b/ui/gfx/canvas_linux.cc index c2a4eec..9d417c9 100644 --- a/ui/gfx/canvas_linux.cc +++ b/ui/gfx/canvas_linux.cc @@ -112,7 +112,7 @@ void DrawStringContext::Draw(SkColor text_color) { void DrawStringContext::DrawWithHalo(SkColor text_color, SkColor halo_color) { gfx::Size size(bounds_.width() + 2, bounds_.height() + 2); - gfx::Canvas text_canvas(size, scale_factor(), false); + gfx::Canvas text_canvas(size, false); text_canvas.FillRect(gfx::Rect(size), static_cast<SkColor>(0)); { @@ -157,9 +157,7 @@ void DrawStringContext::DrawWithHalo(SkColor text_color, const SkBitmap& text_bitmap = const_cast<SkBitmap&>( skia::GetTopDevice(*text_canvas.sk_canvas())->accessBitmap(false)); - const gfx::ImageSkia text_image = gfx::ImageSkia(gfx::ImageSkiaRep( - text_bitmap, text_canvas.scale_factor())); - canvas_->DrawImageInt(text_image, text_rect_.x() - 1, text_rect_.y() - 1); + canvas_->DrawImageInt(text_bitmap, text_rect_.x() - 1, text_rect_.y() - 1); } void DrawStringContext::DrawUnderline(cairo_t* cr, double extra_edge_width) { diff --git a/ui/gfx/canvas_skia.cc b/ui/gfx/canvas_skia.cc index 4a6ef61..918842b 100644 --- a/ui/gfx/canvas_skia.cc +++ b/ui/gfx/canvas_skia.cc @@ -377,7 +377,7 @@ void Canvas::DrawStringWithHalo(const string16& text, // Create a temporary buffer filled with the halo color. It must leave room // for the 1-pixel border around the text. Size size(w + 2, h + 2); - Canvas text_canvas(size, scale_factor(), true); + Canvas text_canvas(size, true); SkPaint bkgnd_paint; bkgnd_paint.setColor(halo_color); text_canvas.DrawRect(gfx::Rect(size), bkgnd_paint); @@ -390,9 +390,9 @@ void Canvas::DrawStringWithHalo(const string16& text, SkBitmap& text_bitmap = const_cast<SkBitmap&>( skia::GetTopDevice(*text_canvas.sk_canvas())->accessBitmap(true)); - for (int cur_y = 0; cur_y < text_bitmap.height(); cur_y++) { + for (int cur_y = 0; cur_y < h + 2; cur_y++) { uint32_t* text_row = text_bitmap.getAddr32(0, cur_y); - for (int cur_x = 0; cur_x < text_bitmap.width(); cur_x++) { + for (int cur_x = 0; cur_x < w + 2; cur_x++) { if (text_row[cur_x] == halo_premul) { // This pixel was not touched by the text routines. See if it borders // a touched pixel in any of the 4 directions (not diagonally). @@ -405,9 +405,7 @@ void Canvas::DrawStringWithHalo(const string16& text, } // Draw the halo bitmap with blur. - gfx::ImageSkia text_image = gfx::ImageSkia(gfx::ImageSkiaRep(text_bitmap, - text_canvas.scale_factor())); - DrawImageInt(text_image, x - 1, y - 1); + DrawImageInt(text_bitmap, x - 1, y - 1); } void Canvas::DrawFadeTruncatingString( diff --git a/ui/gfx/image/canvas_image_source.cc b/ui/gfx/image/canvas_image_source.cc index 747625a..38f6db8 100644 --- a/ui/gfx/image/canvas_image_source.cc +++ b/ui/gfx/image/canvas_image_source.cc @@ -22,7 +22,7 @@ gfx::ImageSkiaRep CanvasImageSource::GetImageForScale( ui::ScaleFactor scale_factor) { gfx::Canvas canvas(size_, scale_factor, is_opaque_); Draw(&canvas); - return canvas.ExtractImageRep(); + return canvas.ExtractImageSkiaRep(); } } // namespace gfx diff --git a/ui/gfx/image/image.cc b/ui/gfx/image/image.cc index ea302ab..c5d30a2 100644 --- a/ui/gfx/image/image.cc +++ b/ui/gfx/image/image.cc @@ -32,14 +32,12 @@ namespace internal { const ImageSkia ImageSkiaFromGdkPixbuf(GdkPixbuf* pixbuf) { CHECK(pixbuf); gfx::Canvas canvas(gfx::Size(gdk_pixbuf_get_width(pixbuf), - gdk_pixbuf_get_height(pixbuf)), - ui::SCALE_FACTOR_100P, - false); + gdk_pixbuf_get_height(pixbuf)), false); skia::ScopedPlatformPaint scoped_platform_paint(canvas.sk_canvas()); cairo_t* cr = scoped_platform_paint.GetPlatformSurface(); gdk_cairo_set_source_pixbuf(cr, pixbuf, 0, 0); cairo_paint(cr); - return ImageSkia(canvas.ExtractImageRep()); + return ImageSkia(SkBitmap(canvas.ExtractBitmap())); } #endif diff --git a/ui/views/controls/glow_hover_controller.cc b/ui/views/controls/glow_hover_controller.cc index 71785f0..e86be4d 100644 --- a/ui/views/controls/glow_hover_controller.cc +++ b/ui/views/controls/glow_hover_controller.cc @@ -98,7 +98,7 @@ void GlowHoverController::Draw(gfx::Canvas* canvas, radius * 2, radius * 2), paint); } gfx::ImageSkia result = gfx::ImageSkiaOperations::CreateMaskedImage( - gfx::ImageSkia(hover_canvas.ExtractImageRep()), mask_image); + gfx::ImageSkia(hover_canvas.ExtractImageSkiaRep()), mask_image); canvas->DrawImageInt(result, (view_->width() - mask_image.width()) / 2, (view_->height() - mask_image.height()) / 2); } diff --git a/ui/views/controls/menu/native_menu_win.cc b/ui/views/controls/menu/native_menu_win.cc index 44df996..c04a2bd 100644 --- a/ui/views/controls/menu/native_menu_win.cc +++ b/ui/views/controls/menu/native_menu_win.cc @@ -281,7 +281,6 @@ class NativeMenuWin::MenuHostWindow { (height - kItemTopMargin - kItemBottomMargin - config.check_height) / 2; gfx::Canvas canvas(gfx::Size(config.check_width, config.check_height), - ui::SCALE_FACTOR_100P, false); NativeTheme::ExtraParams extra; extra.menu_check.is_radio = false; diff --git a/ui/views/controls/table/table_view_win.cc b/ui/views/controls/table/table_view_win.cc index 1538dd8..e9b8765 100644 --- a/ui/views/controls/table/table_view_win.cc +++ b/ui/views/controls/table/table_view_win.cc @@ -809,11 +809,10 @@ HWND TableView::CreateNativeControl(HWND parent_container) { // We create 2 phony images because we are going to switch images at every // refresh in order to force a refresh of the icon area (somehow the clip // rect does not include the icon). - gfx::Canvas canvas(gfx::Size(kImageSize, kImageSize), ui::SCALE_FACTOR_100P, - false); + gfx::Canvas canvas(gfx::Size(kImageSize, kImageSize), false); { - base::win::ScopedHICON empty_icon(IconUtil::CreateHICONFromSkBitmap( - canvas.ExtractImageRep().sk_bitmap())); + base::win::ScopedHICON empty_icon( + IconUtil::CreateHICONFromSkBitmap(canvas.ExtractBitmap())); ImageList_AddIcon(image_list, empty_icon); ImageList_AddIcon(image_list, empty_icon); } @@ -1155,7 +1154,7 @@ void TableView::PaintAltText() { HDC dc = GetDC(GetNativeControlHWND()); gfx::Font font = GetAltTextFont(); gfx::Rect bounds = GetAltTextBounds(); - gfx::Canvas canvas(bounds.size(), ui::SCALE_FACTOR_100P, false); + gfx::Canvas canvas(bounds.size(), false); // Pad by 1 for halo. canvas.DrawStringWithHalo(alt_text_, font, SK_ColorDKGRAY, SK_ColorWHITE, 1, 1, bounds.width() - 2, bounds.height() - 2, @@ -1241,7 +1240,6 @@ LRESULT TableView::OnCustomDraw(NMLVCUSTOMDRAW* draw_info) { if (IntersectRect(&intersection, &icon_rect, &client_rect)) { gfx::Canvas canvas(gfx::Size(icon_rect.right - icon_rect.left, icon_rect.bottom - icon_rect.top), - ui::SCALE_FACTOR_100P, false); // It seems the state in nmcd.uItemState is not correct. diff --git a/ui/views/controls/tree/tree_view_win.cc b/ui/views/controls/tree/tree_view_win.cc index 8fa702a..5a81519 100644 --- a/ui/views/controls/tree/tree_view_win.cc +++ b/ui/views/controls/tree/tree_view_win.cc @@ -691,15 +691,13 @@ HIMAGELIST TreeView::CreateImageList() { // IDR_FOLDER_CLOSED if they aren't already. if (model_images[i].width() != width || model_images[i].height() != height) { - gfx::Canvas canvas(gfx::Size(width, height), ui::SCALE_FACTOR_100P, - false); + gfx::Canvas canvas(gfx::Size(width, height), false); // Draw our icons into this canvas. int height_offset = (height - model_images[i].height()) / 2; int width_offset = (width - model_images[i].width()) / 2; canvas.DrawImageInt(model_images[i], width_offset, height_offset); - model_icon = IconUtil::CreateHICONFromSkBitmap( - canvas.ExtractImageRep().sk_bitmap()); + model_icon = IconUtil::CreateHICONFromSkBitmap(canvas.ExtractBitmap()); } else { model_icon = IconUtil::CreateHICONFromSkBitmap(model_images[i]); } diff --git a/ui/views/widget/native_widget_win.cc b/ui/views/widget/native_widget_win.cc index 6b832f4..b04bc7f 100644 --- a/ui/views/widget/native_widget_win.cc +++ b/ui/views/widget/native_widget_win.cc @@ -2511,8 +2511,7 @@ void NativeWidgetWin::ClientAreaSizeChanged() { std::max(0, static_cast<int>(r.bottom - r.top))); delegate_->OnNativeWidgetSizeChanged(s); if (use_layered_buffer_) - layered_window_contents_.reset( - new gfx::Canvas(s, ui::SCALE_FACTOR_100P, false)); + layered_window_contents_.reset(new gfx::Canvas(s, false)); } void NativeWidgetWin::UpdateDWMFrame() { |