aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkPicturePreroll.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/SkPicturePreroll.cpp')
-rw-r--r--src/core/SkPicturePreroll.cpp162
1 files changed, 0 insertions, 162 deletions
diff --git a/src/core/SkPicturePreroll.cpp b/src/core/SkPicturePreroll.cpp
deleted file mode 100644
index c2d10fc7a2..0000000000
--- a/src/core/SkPicturePreroll.cpp
+++ /dev/null
@@ -1,162 +0,0 @@
-/*
- * Copyright 2015 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#include "SkCanvas.h"
-#include "SkPicture.h"
-
-class SkPrerollCanvas : public SkCanvas {
-public:
- SkPrerollCanvas(int width, int height, const SkSurfaceProps* props)
- : SkCanvas(width, height, props)
- {}
-
-protected:
- void onDrawDRRect(const SkRRect&, const SkRRect&, const SkPaint& paint) SK_OVERRIDE {
- this->handlePaint(paint);
- }
-
- void onDrawText(const void*, size_t, SkScalar, SkScalar, const SkPaint& paint) SK_OVERRIDE {
- this->handlePaint(paint);
- }
-
- void onDrawPosText(const void*, size_t, const SkPoint[], const SkPaint& paint) SK_OVERRIDE {
- this->handlePaint(paint);
- }
-
- void onDrawPosTextH(const void*, size_t, const SkScalar[], SkScalar,
- const SkPaint& paint) SK_OVERRIDE {
- this->handlePaint(paint);
- }
-
- void onDrawTextOnPath(const void*, size_t, const SkPath&, const SkMatrix*,
- const SkPaint& paint) SK_OVERRIDE {
- this->handlePaint(paint);
- }
-
- void onDrawTextBlob(const SkTextBlob*, SkScalar, SkScalar, const SkPaint& paint) SK_OVERRIDE {
- this->handlePaint(paint);
- }
-
- void onDrawPatch(const SkPoint[12], const SkColor[4], const SkPoint[4], SkXfermode*,
- const SkPaint& paint) SK_OVERRIDE {
- this->handlePaint(paint);
- }
-
- void onDrawPaint(const SkPaint& paint) SK_OVERRIDE {
- this->handlePaint(paint);
- }
-
- void onDrawRect(const SkRect&, const SkPaint& paint) SK_OVERRIDE {
- this->handlePaint(paint);
- }
-
- void onDrawOval(const SkRect&, const SkPaint& paint) SK_OVERRIDE {
- this->handlePaint(paint);
- }
-
- void onDrawRRect(const SkRRect&, const SkPaint& paint) SK_OVERRIDE {
- this->handlePaint(paint);
- }
-
- void onDrawPoints(PointMode, size_t, const SkPoint[], const SkPaint& paint) SK_OVERRIDE {
- this->handlePaint(paint);
- }
-
- void onDrawVertices(VertexMode, int, const SkPoint[], const SkPoint[], const SkColor[],
- SkXfermode*, const uint16_t[], int, const SkPaint& paint) SK_OVERRIDE {
- this->handlePaint(paint);
- }
-
- void onDrawPath(const SkPath&, const SkPaint& paint) SK_OVERRIDE {
- this->handlePaint(paint);
- }
-
- void onDrawImage(const SkImage* image, SkScalar, SkScalar, const SkPaint* paint) SK_OVERRIDE {
- this->handleImage(image);
- if (paint) {
- this->handlePaint(*paint);
- }
- }
-
- void onDrawImageRect(const SkImage* image, const SkRect*, const SkRect&,
- const SkPaint* paint) SK_OVERRIDE {
- this->handleImage(image);
- if (paint) {
- this->handlePaint(*paint);
- }
- }
-
- void onDrawBitmap(const SkBitmap& bm, SkScalar, SkScalar, const SkPaint* paint) SK_OVERRIDE {
- this->handleBitmap(bm);
- if (paint) {
- this->handlePaint(*paint);
- }
- }
-
- void onDrawBitmapRect(const SkBitmap& bm, const SkRect*, const SkRect&, const SkPaint* paint,
- DrawBitmapRectFlags) SK_OVERRIDE {
- this->handleBitmap(bm);
- if (paint) {
- this->handlePaint(*paint);
- }
- }
-
- void onDrawBitmapNine(const SkBitmap& bm, const SkIRect&, const SkRect&,
- const SkPaint* paint) SK_OVERRIDE {
- this->handleBitmap(bm);
- if (paint) {
- this->handlePaint(*paint);
- }
- }
-
- void onDrawSprite(const SkBitmap& bm, int, int, const SkPaint* paint) SK_OVERRIDE {
- this->handleBitmap(bm);
- if (paint) {
- this->handlePaint(*paint);
- }
- }
-
-private:
- void handlePaint(const SkPaint& paint) {
- const SkShader* shader = paint.getShader();
- if (shader) {
- shader->preroll();
- }
- }
-
- void handleImage(const SkImage* image) {
- image->preroll();
- }
-
- void handleBitmap(const SkBitmap& bitmap) {
- SkBitmap bm(bitmap);
- bm.lockPixels();
- }
-
- typedef SkCanvas INHERITED;
-};
-
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-void SkPicture::preroll(const SkRect* srcBounds, const SkMatrix* initialMatrix,
- const SkSurfaceProps* props, void* gpuCacheAccessor) const {
- SkRect bounds = this->cullRect();
- if (srcBounds && !bounds.intersect(*srcBounds)) {
- return;
- }
-
- const SkIRect ibounds = bounds.roundOut();
- if (ibounds.isEmpty()) {
- return;
- }
-
- SkPrerollCanvas canvas(ibounds.width(), ibounds.height(), props);
-
- canvas.translate(-SkIntToScalar(ibounds.left()), -SkIntToScalar(ibounds.top()));
- canvas.drawPicture(this, initialMatrix, NULL);
-}
-