|
enum class | Type {
kBlur
, kEmboss
, kSDF
, kShader
,
kTable
} |
|
enum | Type {
kSkColorFilter_Type
, kSkBlender_Type
, kSkDrawable_Type
, kSkDrawLooper_Type
,
kSkImageFilter_Type
, kSkMaskFilter_Type
, kSkPathEffect_Type
, kSkShader_Type
} |
|
typedef sk_sp< SkFlattenable >(* | Factory) (SkReadBuffer &) |
|
static SkFlattenable::Type | GetFlattenableType () |
|
static sk_sp< SkMaskFilter > | MakeBlur (SkBlurStyle style, SkScalar sigma, bool respectCTM=true) |
|
static sk_sp< SkMaskFilter > | Deserialize (const void *data, size_t size, const SkDeserialProcs *procs=nullptr) |
|
static Factory | NameToFactory (const char name[]) |
|
static const char * | FactoryToName (Factory) |
|
static void | Register (const char name[], Factory) |
|
static sk_sp< SkFlattenable > | Deserialize (Type, const void *data, size_t length, const SkDeserialProcs *procs=nullptr) |
|
enum | FilterReturn { kFalse_FilterReturn
, kTrue_FilterReturn
, kUnimplemented_FilterReturn
} |
|
Definition at line 32 of file SkTableMaskFilter.cpp.
◆ SkTableMaskFilterImpl()
SkTableMaskFilterImpl::SkTableMaskFilterImpl |
( |
const uint8_t |
table[256] | ) |
|
|
explicit |
◆ ~SkTableMaskFilterImpl()
SkTableMaskFilterImpl::~SkTableMaskFilterImpl |
( |
| ) |
|
|
overrideprotected |
◆ filterMask()
Create a new mask by filter the src mask. If src.fImage == null, then do not allocate or create the dst image but do fill out the other fields in dstMask. If you do allocate a dst image, use SkMask::AllocImage() If this returns false, dst mask is ignored.
- Parameters
-
dst | the result of the filter. If src.fImage == null, dst should not allocate its image |
src | the original image to be filtered. |
matrix | the CTM |
margin | if not null, return the buffer dx/dy need when calculating the effect. Used when drawing a clipped object to know how much larger to allocate the src before applying the filter. If returning false, ignore this parameter. |
- Returns
- true if the dst mask was correctly created.
Implements SkMaskFilterBase.
Definition at line 67 of file SkTableMaskFilter.cpp.
68 {
70 return false;
71 }
72
73 dst->bounds() =
src.fBounds;
76 dst->image() =
nullptr;
77
80
81 const uint8_t* srcP =
src.fImage;
82 uint8_t* dstP =
dst->image();
83 const uint8_t*
table = fTable;
84 int dstWidth =
dst->fBounds.width();
85 int extraZeros =
dst->fRowBytes - dstWidth;
86
87 for (
int y =
dst->fBounds.height() - 1;
y >= 0; --
y) {
88 for (
int x = dstWidth - 1;
x >= 0; --
x) {
90 }
91 srcP +=
src.fRowBytes;
92
93
94
95
96 dstP += dstWidth;
97 for (
int i = extraZeros - 1;
i >= 0; --
i) {
98 *dstP++ = 0;
99 }
100 }
101 }
102
103 if (margin) {
105 }
106 return true;
107}
static constexpr T SkAlign4(T x)
void set(int32_t x, int32_t y)
static uint8_t * AllocImage(size_t bytes, AllocType=kUninit_Alloc)
@ kA8_Format
8bits per pixel mask (e.g. antialiasing)
◆ flatten()
Override this if your subclass needs to record data that it will need to recreate itself from its CreateProc (returned by getFactory()).
DEPRECATED public : will move to protected ... use serialize() instead
Reimplemented from SkFlattenable.
Definition at line 113 of file SkTableMaskFilter.cpp.
113 {
114 wb.writeByteArray(fTable, 256);
115}
◆ getFormat()
◆ type()
The documentation for this class was generated from the following file: