diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/effects/SkColorCubeFilter.h | 77 |
1 files changed, 0 insertions, 77 deletions
diff --git a/include/effects/SkColorCubeFilter.h b/include/effects/SkColorCubeFilter.h deleted file mode 100644 index ea69d4d65d..0000000000 --- a/include/effects/SkColorCubeFilter.h +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Copyright 2014 Google Inc. - * - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -#ifndef SkColorCubeFilter_DEFINED -#define SkColorCubeFilter_DEFINED - -#include "SkColorFilter.h" -#include "SkData.h" -#include "../private/SkOnce.h" -#include "../private/SkTemplates.h" - -class SK_API SkColorCubeFilter : public SkColorFilter { -public: - /** cubeData must containt a 3D data in the form of cube of the size: - * cubeDimension * cubeDimension * cubeDimension * sizeof(SkColor) - * This cube contains a transform where (x,y,z) maps to the (r,g,b). - * The alpha components of the colors must be 0xFF. - */ - static sk_sp<SkColorFilter> Make(sk_sp<SkData> cubeData, int cubeDimension); - - void filterSpan(const SkPMColor src[], int count, SkPMColor[]) const override; - uint32_t getFlags() const override; - -#if SK_SUPPORT_GPU - sk_sp<GrFragmentProcessor> asFragmentProcessor(GrContext*, SkColorSpace*) const override; -#endif - - SK_TO_STRING_OVERRIDE() - SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkColorCubeFilter) - -protected: - SkColorCubeFilter(sk_sp<SkData> cubeData, int cubeDimension); - void flatten(SkWriteBuffer&) const override; - -private: - /** The cache is initialized on-demand when getProcessingLuts is called. - */ - class ColorCubeProcesingCache { - public: - ColorCubeProcesingCache(int cubeDimension); - - void getProcessingLuts(const int* (*colorToIndex)[2], - const SkScalar* (*colorToFactors)[2], - const SkScalar** colorToScalar); - - int cubeDimension() const { return fCubeDimension; } - - private: - // Working pointers. If any of these is NULL, - // we need to recompute the corresponding cache values. - int* fColorToIndex[2]; - SkScalar* fColorToFactors[2]; - SkScalar* fColorToScalar; - - SkAutoTMalloc<uint8_t> fLutStorage; - - const int fCubeDimension; - - // Make sure we only initialize the caches once. - SkOnce fLutsInitOnce; - - static void initProcessingLuts(ColorCubeProcesingCache* cache); - }; - - sk_sp<SkData> fCubeData; - int32_t fUniqueID; - - mutable ColorCubeProcesingCache fCache; - - typedef SkColorFilter INHERITED; -}; - -#endif |