|
Skia
2DGraphicsLibrary
|
Applies a table lookup on each of the alpha values in the mask. More...
#include <SkTableMaskFilter.h>
Public Member Functions | |
| SkMask::Format | getFormat () const override |
| Returns the format of the resulting mask that this subclass will return when its filterMask() method is called. | |
| bool | filterMask (SkMask *, const SkMask &, const SkMatrix &, SkIPoint *) const override |
| Create a new mask by filter the src mask. More... | |
Public Member Functions inherited from SkMaskFilter | |
| virtual bool | asFragmentProcessor (GrFragmentProcessor **, GrTexture *, const SkMatrix &ctm) const |
| Returns true if the filter can be expressed a single-pass GrProcessor without requiring an explicit input mask. More... | |
| virtual bool | canFilterMaskGPU (const SkRRect &devRRect, const SkIRect &clipBounds, const SkMatrix &ctm, SkRect *maskRect) const |
| If asFragmentProcessor() fails the filter may be implemented on the GPU by a subclass overriding filterMaskGPU (declared below). More... | |
| virtual bool | directFilterMaskGPU (GrTextureProvider *texProvider, GrDrawContext *drawContext, GrPaint *grp, const GrClip &, const SkMatrix &viewMatrix, const SkStrokeRec &strokeRec, const SkPath &path) const |
| Try to directly render the mask filter into the target. More... | |
| virtual bool | directFilterRRectMaskGPU (GrContext *, GrDrawContext *drawContext, GrPaint *grp, const GrClip &, const SkMatrix &viewMatrix, const SkStrokeRec &strokeRec, const SkRRect &rrect, const SkRRect &devRRect) const |
| Try to directly render a rounded rect mask filter into the target. More... | |
| virtual bool | filterMaskGPU (GrTexture *src, const SkMatrix &ctm, const SkIRect &maskRect, GrTexture **result) const |
| This function is used to implement filters that require an explicit src mask. More... | |
| virtual void | computeFastBounds (const SkRect &src, SkRect *dest) const |
| The fast bounds function is used to enable the paint to be culled early in the drawing pipeline. More... | |
| virtual bool | asABlur (BlurRec *) const |
| If this filter can be represented by a BlurRec, return true and (if not null) fill in the provided BlurRec parameter. More... | |
Public Member Functions inherited from SkFlattenable | |
| virtual Factory | getFactory () const =0 |
| Implement this to return a factory function pointer that can be called to recreate your class given a buffer (previously written to by your override of flatten(). | |
| virtual const char * | getTypeName () const |
| Returns the name of the object's class. More... | |
Public Member Functions inherited from SkRefCntBase | |
| SkRefCntBase () | |
| Default construct, initializing the reference count to 1. | |
| virtual | ~SkRefCntBase () |
| Destruct, asserting that the reference count is 1. | |
| int32_t | getRefCnt () const |
| Return the reference count. More... | |
| void | validate () const |
| bool | unique () const |
| May return true if the caller is the only owner. More... | |
| void | ref () const |
| Increment the reference count. More... | |
| void | unref () const |
| Decrement the reference count. More... | |
Static Public Member Functions | |
| static void | MakeGammaTable (uint8_t table[256], SkScalar gamma) |
| Utility that sets the gamma table. | |
| static void | MakeClipTable (uint8_t table[256], uint8_t min, uint8_t max) |
| Utility that creates a clipping table: clamps values below min to 0 and above max to 255, and rescales the remaining into 0..255. | |
| static SkMaskFilter * | Create (const uint8_t table[256]) |
| static SkMaskFilter * | CreateGamma (SkScalar gamma) |
| static SkMaskFilter * | CreateClip (uint8_t min, uint8_t max) |
Static Public Member Functions inherited from SkFlattenable | |
| static Factory | NameToFactory (const char name[]) |
| static const char * | FactoryToName (Factory) |
| static bool | NameToType (const char name[], Type *type) |
| static void | Register (const char name[], Factory, Type) |
Protected Member Functions | |
| void | flatten (SkWriteBuffer &) const override |
| Override this if your subclass needs to record data that it will need to recreate itself from its CreateProc (returned by getFactory()). | |
Protected Member Functions inherited from SkMaskFilter | |
| virtual FilterReturn | filterRectsToNine (const SkRect[], int count, const SkMatrix &, const SkIRect &clipBounds, NinePatch *) const |
| Override if your subclass can filter a rect, and return the answer as a ninepatch mask to be stretched over the returned outerRect. More... | |
| virtual FilterReturn | filterRRectToNine (const SkRRect &, const SkMatrix &, const SkIRect &clipBounds, NinePatch *) const |
| Similar to filterRectsToNine, except it performs the work on a round rect. | |
Protected Member Functions inherited from SkRefCntBase | |
| void | internal_dispose_restore_refcnt_to_1 () const |
| Allow subclasses to call this if they've overridden internal_dispose so they can reset fRefCnt before the destructor is called or if they choose not to call the destructor (e.g. More... | |
Private Types | |
| typedef SkMaskFilter | INHERITED |
Private Member Functions | |
| SkTableMaskFilter (const uint8_t table[256]) | |
Private Attributes | |
| uint8_t | fTable [256] |
Additional Inherited Members | |
Public Types inherited from SkFlattenable | |
| enum | Type { kSkColorFilter_Type, kSkDrawable_Type, kSkDrawLooper_Type, kSkImageFilter_Type, kSkMaskFilter_Type, kSkPathEffect_Type, kSkPixelRef_Type, kSkRasterizer_Type, kSkShader_Type, kSkUnused_Type, kSkXfermode_Type, kSkNormalSource_Type } |
| typedef sk_sp< SkFlattenable >(* | Factory )(SkReadBuffer &) |
Protected Types inherited from SkMaskFilter | |
| enum | FilterReturn { kFalse_FilterReturn, kTrue_FilterReturn, kUnimplemented_FilterReturn } |
Applies a table lookup on each of the alpha values in the mask.
Helper methods create some common tables (e.g. gamma, clipping)
|
overridevirtual |
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.
| 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. |
Reimplemented from SkMaskFilter.