aboutsummaryrefslogtreecommitdiffhomepage
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/effects/SkColorCubeFilter.h77
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