diff options
author | Mike Reed <reed@google.com> | 2017-06-19 02:50:05 +0000 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-06-19 02:50:18 +0000 |
commit | ab51d1b297e6ce19347c6f6cb86808e0495a86ff (patch) | |
tree | bebdf52754b1c60e7993758f4718e458d5fe4639 /include/effects | |
parent | 6b9cd051b4fc2ae83f69d8c0482b646e5a2d02f6 (diff) |
Revert "remove unused TableMaskFilter"
This reverts commit d72b55b32cf6b3bf7b8d7b4c08045597652285cf.
Reason for revert: used by android
Original change's description:
> remove unused TableMaskFilter
>
> will revert if its needed in android
>
> Bug: skia:
> Change-Id: I2ef777d31de4bbed6556d013054083ff6ff2cb8c
> Reviewed-on: https://skia-review.googlesource.com/20206
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Mike Reed <reed@google.com>
TBR=djsollen@google.com,reed@google.com,stani@google.com
Change-Id: I8ea36a912496e12c9fbfb73587d11e002252e8b8
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/20212
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Diffstat (limited to 'include/effects')
-rw-r--r-- | include/effects/SkTableMaskFilter.h | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/include/effects/SkTableMaskFilter.h b/include/effects/SkTableMaskFilter.h new file mode 100644 index 0000000000..f226dd1760 --- /dev/null +++ b/include/effects/SkTableMaskFilter.h @@ -0,0 +1,66 @@ +/* + * 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 SkTableMaskFilter_DEFINED +#define SkTableMaskFilter_DEFINED + +#include "SkMaskFilter.h" +#include "SkScalar.h" + +/** \class SkTableMaskFilter + + Applies a table lookup on each of the alpha values in the mask. + Helper methods create some common tables (e.g. gamma, clipping) + */ +class SK_API SkTableMaskFilter : public SkMaskFilter { +public: + /** Utility that sets the gamma table + */ + static void MakeGammaTable(uint8_t table[256], SkScalar gamma); + + /** Utility that creates a clipping table: clamps values below min to 0 + and above max to 255, and rescales the remaining into 0..255 + */ + static void MakeClipTable(uint8_t table[256], uint8_t min, uint8_t max); + + static SkMaskFilter* Create(const uint8_t table[256]) { + return new SkTableMaskFilter(table); + } + + static SkMaskFilter* CreateGamma(SkScalar gamma) { + uint8_t table[256]; + MakeGammaTable(table, gamma); + return new SkTableMaskFilter(table); + } + + static SkMaskFilter* CreateClip(uint8_t min, uint8_t max) { + uint8_t table[256]; + MakeClipTable(table, min, max); + return new SkTableMaskFilter(table); + } + + SkMask::Format getFormat() const override; + bool filterMask(SkMask*, const SkMask&, const SkMatrix&, SkIPoint*) const override; + + SK_TO_STRING_OVERRIDE() + SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkTableMaskFilter) + +protected: + ~SkTableMaskFilter() override; + + void flatten(SkWriteBuffer&) const override; + +private: + SkTableMaskFilter(); + explicit SkTableMaskFilter(const uint8_t table[256]); + + uint8_t fTable[256]; + + typedef SkMaskFilter INHERITED; +}; + +#endif |