Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
SkTableMaskFilter.h
Go to the documentation of this file.
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
13
14#include <cstdint>
15
16class 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 */
24public:
25 /** Utility that sets the gamma table
26 */
27 static void MakeGammaTable(uint8_t table[256], SkScalar gamma);
28
29 /** Utility that creates a clipping table: clamps values below min to 0
30 and above max to 255, and rescales the remaining into 0..255
31 */
32 static void MakeClipTable(uint8_t table[256], uint8_t min, uint8_t max);
33
34 static SkMaskFilter* Create(const uint8_t table[256]);
35 static SkMaskFilter* CreateGamma(SkScalar gamma);
36 static SkMaskFilter* CreateClip(uint8_t min, uint8_t max);
37
39};
40
41#endif
static sk_sp< Effect > Create()
#define SK_API
Definition SkAPI.h:35
SI F table(const skcms_Curve *curve, F v)
SkTableMaskFilter()=delete
float SkScalar
Definition extension.cpp:12
static float max(float r, float g, float b)
Definition hsl.cpp:49
static float min(float r, float g, float b)
Definition hsl.cpp:48