1234567891011121314151617181920212223242526272829303132333435363738 |
- /*
- * Copyright 2018 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
- #ifndef SkBlurPriv_DEFINED
- #define SkBlurPriv_DEFINED
- #include "include/core/SkRRect.h"
- #include "include/core/SkSize.h"
- static const int kSkBlurRRectMaxDivisions = 6;
- // This method computes all the parameters for drawing a partially occluded nine-patched
- // blurred rrect mask:
- // rrectToDraw - the integerized rrect to draw in the mask
- // widthHeight - how large to make the mask (rrectToDraw will be centered in this coord sys)
- // rectXs, rectYs - the x & y coordinates of the covering geometry lattice
- // texXs, texYs - the texture coordinate at each point in rectXs & rectYs
- // numXs, numYs - number of coordinates in the x & y directions
- // skipMask - bit mask that contains a 1-bit whenever one of the cells is occluded
- // It returns true if 'devRRect' is nine-patchable
- bool SkComputeBlurredRRectParams(const SkRRect& srcRRect, const SkRRect& devRRect,
- const SkRect& occluder,
- SkScalar sigma, SkScalar xformedSigma,
- SkRRect* rrectToDraw,
- SkISize* widthHeight,
- SkScalar rectXs[kSkBlurRRectMaxDivisions],
- SkScalar rectYs[kSkBlurRRectMaxDivisions],
- SkScalar texXs[kSkBlurRRectMaxDivisions],
- SkScalar texYs[kSkBlurRRectMaxDivisions],
- int* numXs, int* numYs, uint32_t* skipMask);
- extern void sk_register_blur_maskfilter_createproc();
- #endif
|