1 /* 2 * Copyright 2006 The Android Open Source Project 3 * 4 * Use of this source code is governed by a BSD-style license that can be 5 * found in the LICENSE file. 6 */ 7 8 #ifndef SkTableMaskFilter_DEFINED 9 #define SkTableMaskFilter_DEFINED 10 11 #include "include/core/SkScalar.h" 12 #include "include/core/SkTypes.h" 13 14 #include <cstdint> 15 16 class SkMaskFilter; 17 18 /** \class SkTableMaskFilter 19 20 Applies a table lookup on each of the alpha values in the mask. 21 Helper methods create some common tables (e.g. gamma, clipping) 22 */ 23 // (DEPRECATED) These factory functions are deprecated. The TableMaskFilter will be 24 // removed entirely in an upcoming release of Skia. 25 class SK_API SkTableMaskFilter { 26 public: 27 /** Utility that sets the gamma table 28 */ 29 static void MakeGammaTable(uint8_t table[256], SkScalar gamma); 30 31 /** Utility that creates a clipping table: clamps values below min to 0 32 and above max to 255, and rescales the remaining into 0..255 33 */ 34 static void MakeClipTable(uint8_t table[256], uint8_t min, uint8_t max); 35 36 static SkMaskFilter* Create(const uint8_t table[256]); 37 static SkMaskFilter* CreateGamma(SkScalar gamma); 38 static SkMaskFilter* CreateClip(uint8_t min, uint8_t max); 39 40 SkTableMaskFilter() = delete; 41 }; 42 43 #endif 44