aboutsummaryrefslogtreecommitdiffhomepage
path: root/include/effects/SkLayerRasterizer.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/effects/SkLayerRasterizer.h')
-rw-r--r--include/effects/SkLayerRasterizer.h87
1 files changed, 0 insertions, 87 deletions
diff --git a/include/effects/SkLayerRasterizer.h b/include/effects/SkLayerRasterizer.h
deleted file mode 100644
index cd48602357..0000000000
--- a/include/effects/SkLayerRasterizer.h
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Copyright 2006 The Android Open Source Project
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#ifndef SkLayerRasterizer_DEFINED
-#define SkLayerRasterizer_DEFINED
-
-#include "SkRasterizer.h"
-#include "SkDeque.h"
-#include "SkScalar.h"
-
-class SkPaint;
-
-class SK_API SkLayerRasterizer : public SkRasterizer {
-public:
- ~SkLayerRasterizer() override;
-
- class SK_API Builder {
- public:
- Builder();
- ~Builder();
-
- void addLayer(const SkPaint& paint) {
- this->addLayer(paint, 0, 0);
- }
-
- /**
- * Add a new layer (above any previous layers) to the rasterizer.
- * The layer will extract those fields that affect the mask from
- * the specified paint, but will not retain a reference to the paint
- * object itself, so it may be reused without danger of side-effects.
- */
- void addLayer(const SkPaint& paint, SkScalar dx, SkScalar dy);
-
- /**
- * Pass queue of layers on to newly created layer rasterizer and return it. The builder
- * *cannot* be used any more after calling this function. If no layers have been added,
- * returns NULL.
- *
- * The caller is responsible for calling unref() on the returned object, if non NULL.
- */
- sk_sp<SkLayerRasterizer> detach();
-
- /**
- * Create and return a new immutable SkLayerRasterizer that contains a shapshot of the
- * layers that were added to the Builder, without modifying the Builder. The Builder
- * *may* be used after calling this function. It will continue to hold any layers
- * previously added, so consecutive calls to this function will return identical objects,
- * and objects returned by future calls to this function contain all the layers in
- * previously returned objects. If no layers have been added, returns NULL.
- *
- * Future calls to addLayer will not affect rasterizers previously returned by this call.
- *
- * The caller is responsible for calling unref() on the returned object, if non NULL.
- */
- sk_sp<SkLayerRasterizer> snapshot() const;
-
- private:
- SkDeque* fLayers;
- };
-
- SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkLayerRasterizer)
-
-protected:
- SkLayerRasterizer();
- SkLayerRasterizer(SkDeque* layers);
- void flatten(SkWriteBuffer&) const override;
-
- // override from SkRasterizer
- virtual bool onRasterize(const SkPath& path, const SkMatrix& matrix,
- const SkIRect* clipBounds,
- SkMask* mask, SkMask::CreateMode mode) const override;
-
-private:
- const SkDeque* const fLayers;
-
- static SkDeque* ReadLayers(SkReadBuffer& buffer);
-
- friend class LayerRasterizerTester;
-
- typedef SkRasterizer INHERITED;
-};
-
-#endif