summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorreed <reed@google.com>2014-12-10 06:49:35 -0800
committerCommit bot <commit-bot@chromium.org>2014-12-10 14:49:50 +0000
commit62272ad0487d0741c712ceb6674afaf72dc61bb7 (patch)
tree5be00944a943473a45e7bf4ad906e07031b8db51
parent1e2366706b52428a3a6355864b6e9a845216ae3d (diff)
downloadchromium_src-62272ad0487d0741c712ceb6674afaf72dc61bb7.zip
chromium_src-62272ad0487d0741c712ceb6674afaf72dc61bb7.tar.gz
chromium_src-62272ad0487d0741c712ceb6674afaf72dc61bb7.tar.bz2
SkCanvas::NewRaster is deprecated, create a surface instead
BUG=skia:3216 Review URL: https://codereview.chromium.org/791753002 Cr-Commit-Position: refs/heads/master@{#307697}
-rw-r--r--cc/output/software_output_device.cc11
-rw-r--r--cc/output/software_output_device.h3
-rw-r--r--content/browser/compositor/software_output_device_mac.mm2
-rw-r--r--content/browser/compositor/software_output_device_x11.cc8
-rw-r--r--content/renderer/gpu/compositor_software_output_device.cc9
5 files changed, 17 insertions, 16 deletions
diff --git a/cc/output/software_output_device.cc b/cc/output/software_output_device.cc
index 0c374c9..f7bc61a 100644
--- a/cc/output/software_output_device.cc
+++ b/cc/output/software_output_device.cc
@@ -27,13 +27,13 @@ void SoftwareOutputDevice::Resize(const gfx::Size& viewport_pixel_size,
viewport_pixel_size.height(),
kOpaque_SkAlphaType);
viewport_pixel_size_ = viewport_pixel_size;
- canvas_ = skia::AdoptRef(SkCanvas::NewRaster(info));
+ surface_ = skia::AdoptRef(SkSurface::NewRaster(info));
}
SkCanvas* SoftwareOutputDevice::BeginPaint(const gfx::Rect& damage_rect) {
- DCHECK(canvas_);
+ DCHECK(surface_);
damage_rect_ = damage_rect;
- return canvas_.get();
+ return surface_->getCanvas();
}
void SoftwareOutputDevice::EndPaint(SoftwareFrameData* frame_data) {
@@ -44,9 +44,10 @@ void SoftwareOutputDevice::EndPaint(SoftwareFrameData* frame_data) {
}
void SoftwareOutputDevice::CopyToPixels(const gfx::Rect& rect, void* pixels) {
- DCHECK(canvas_);
+ DCHECK(surface_);
SkImageInfo info = SkImageInfo::MakeN32Premul(rect.width(), rect.height());
- canvas_->readPixels(info, pixels, info.minRowBytes(), rect.x(), rect.y());
+ surface_->getCanvas()->readPixels(info, pixels, info.minRowBytes(), rect.x(),
+ rect.y());
}
void SoftwareOutputDevice::Scroll(const gfx::Vector2d& delta,
diff --git a/cc/output/software_output_device.h b/cc/output/software_output_device.h
index d183fdc..89ab005 100644
--- a/cc/output/software_output_device.h
+++ b/cc/output/software_output_device.h
@@ -9,6 +9,7 @@
#include "base/memory/scoped_ptr.h"
#include "cc/base/cc_export.h"
#include "skia/ext/refptr.h"
+#include "third_party/skia/include/core/SkSurface.h"
#include "ui/gfx/geometry/rect.h"
#include "ui/gfx/geometry/size.h"
#include "ui/gfx/geometry/vector2d.h"
@@ -75,7 +76,7 @@ class CC_EXPORT SoftwareOutputDevice {
gfx::Size viewport_pixel_size_;
float scale_factor_;
gfx::Rect damage_rect_;
- skia::RefPtr<SkCanvas> canvas_;
+ skia::RefPtr<SkSurface> surface_;
scoped_ptr<gfx::VSyncProvider> vsync_provider_;
private:
diff --git a/content/browser/compositor/software_output_device_mac.mm b/content/browser/compositor/software_output_device_mac.mm
index 129c9d8..70ca4b4 100644
--- a/content/browser/compositor/software_output_device_mac.mm
+++ b/content/browser/compositor/software_output_device_mac.mm
@@ -21,7 +21,7 @@ SoftwareOutputDeviceMac::~SoftwareOutputDeviceMac() {
void SoftwareOutputDeviceMac::EndPaint(cc::SoftwareFrameData* frame_data) {
SoftwareOutputDevice::EndPaint(frame_data);
ui::AcceleratedWidgetMacGotSoftwareFrame(
- compositor_->widget(), scale_factor_, canvas_.get());
+ compositor_->widget(), scale_factor_, surface_->getCanvas());
}
} // namespace content
diff --git a/content/browser/compositor/software_output_device_x11.cc b/content/browser/compositor/software_output_device_x11.cc
index ebaefd7..fb57d9c 100644
--- a/content/browser/compositor/software_output_device_x11.cc
+++ b/content/browser/compositor/software_output_device_x11.cc
@@ -38,10 +38,10 @@ SoftwareOutputDeviceX11::~SoftwareOutputDeviceX11() {
void SoftwareOutputDeviceX11::EndPaint(cc::SoftwareFrameData* frame_data) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- DCHECK(canvas_);
+ DCHECK(surface_);
DCHECK(frame_data);
- if (!canvas_)
+ if (!surface_)
return;
SoftwareOutputDevice::EndPaint(frame_data);
@@ -64,7 +64,7 @@ void SoftwareOutputDeviceX11::EndPaint(cc::SoftwareFrameData* frame_data) {
SkImageInfo info;
size_t rowBytes;
- const void* addr = canvas_->peekPixels(&info, &rowBytes);
+ const void* addr = surface_->peekPixels(&info, &rowBytes);
image.width = viewport_pixel_size_.width();
image.height = viewport_pixel_size_.height();
image.depth = 32;
@@ -118,7 +118,7 @@ void SoftwareOutputDeviceX11::EndPaint(cc::SoftwareFrameData* frame_data) {
// TODO(jbauman): Switch to XShmPutImage since it's async.
SkImageInfo info;
size_t rowBytes;
- const void* addr = canvas_->peekPixels(&info, &rowBytes);
+ const void* addr = surface_->peekPixels(&info, &rowBytes);
gfx::PutARGBImage(display_,
attributes_.visual,
attributes_.depth,
diff --git a/content/renderer/gpu/compositor_software_output_device.cc b/content/renderer/gpu/compositor_software_output_device.cc
index 4b23919..93155cc 100644
--- a/content/renderer/gpu/compositor_software_output_device.cc
+++ b/content/renderer/gpu/compositor_software_output_device.cc
@@ -152,9 +152,8 @@ SkCanvas* CompositorSoftwareOutputDevice::BeginPaint(
// Set up a canvas for the current front buffer.
SkImageInfo info = SkImageInfo::MakeN32Premul(viewport_pixel_size_.width(),
viewport_pixel_size_.height());
- SkBitmap bitmap;
- bitmap.installPixels(info, current->memory(), info.minRowBytes());
- canvas_ = skia::AdoptRef(new SkCanvas(bitmap));
+ surface_ = skia::AdoptRef(SkSurface::NewRasterDirect(info, current->memory(),
+ info.minRowBytes()));
if (!previous) {
DCHECK(damage_rect == gfx::Rect(viewport_pixel_size_));
@@ -179,7 +178,7 @@ SkCanvas* CompositorSoftwareOutputDevice::BeginPaint(
for (SkRegion::Iterator it(region); !it.done(); it.next()) {
const SkIRect& src_rect = it.rect();
SkRect dst_rect = SkRect::Make(src_rect);
- canvas_->drawBitmapRect(back_bitmap, &src_rect, dst_rect, NULL);
+ surface_->getCanvas()->drawBitmapRect(back_bitmap, &src_rect, dst_rect);
}
}
}
@@ -193,7 +192,7 @@ SkCanvas* CompositorSoftwareOutputDevice::BeginPaint(
}
damage_rect_ = damage_rect;
- return canvas_.get();
+ return surface_->getCanvas();
}
void CompositorSoftwareOutputDevice::EndPaint(