diff options
Diffstat (limited to 'chromium/cc/paint/skia_paint_canvas.cc')
-rw-r--r-- | chromium/cc/paint/skia_paint_canvas.cc | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/chromium/cc/paint/skia_paint_canvas.cc b/chromium/cc/paint/skia_paint_canvas.cc index 3a6dfbbf907..72d34e97c58 100644 --- a/chromium/cc/paint/skia_paint_canvas.cc +++ b/chromium/cc/paint/skia_paint_canvas.cc @@ -24,12 +24,13 @@ SkiaPaintCanvas::SkiaPaintCanvas(SkCanvas* canvas, SkiaPaintCanvas::SkiaPaintCanvas(const SkBitmap& bitmap, ImageProvider* image_provider) : canvas_(new SkCanvas(bitmap)), + bitmap_(bitmap), owned_(canvas_), image_provider_(image_provider) {} SkiaPaintCanvas::SkiaPaintCanvas(const SkBitmap& bitmap, const SkSurfaceProps& props) - : canvas_(new SkCanvas(bitmap, props)), owned_(canvas_) {} + : canvas_(new SkCanvas(bitmap, props)), bitmap_(bitmap), owned_(canvas_) {} SkiaPaintCanvas::~SkiaPaintCanvas() = default; @@ -37,6 +38,14 @@ SkImageInfo SkiaPaintCanvas::imageInfo() const { return canvas_->imageInfo(); } +void* SkiaPaintCanvas::accessTopLayerPixels(SkImageInfo* info, + size_t* rowBytes, + SkIPoint* origin) { + if (bitmap_.isNull() || bitmap_.isImmutable()) + return nullptr; + return canvas_->accessTopLayerPixels(info, rowBytes, origin); +} + void SkiaPaintCanvas::flush() { canvas_->flush(); } @@ -319,10 +328,6 @@ bool SkiaPaintCanvas::isClipEmpty() const { return canvas_->isClipEmpty(); } -bool SkiaPaintCanvas::isClipRect() const { - return canvas_->isClipRect(); -} - const SkMatrix& SkiaPaintCanvas::getTotalMatrix() const { return canvas_->getTotalMatrix(); } |