uint8_t min,
uint8_t max);
+SK_API sk_maskfilter_t* sk_maskfilter_new_shadow(float occluderHeight, const sk_point3_t* lightPos, float lightRadius, float ambientAlpha, float spotAlpha, sk_shadowmaskfilter_shadowflags_t flags);
+
SK_C_PLUS_PLUS_END_GUARD
#endif
typedef void (*sk_bitmap_release_proc)(void* addr, void* context);
+typedef enum {
+ NONE_SK_SHADOWMASKFILTER_SHADOWFLAGS = 0x00,
+ TRANSPARENT_OCCLUDER_SK_SHADOWMASKFILTER_SHADOWFLAGS = 0x01,
+ LARGER_UMBRA_SK_SHADOWMASKFILTER_SHADOWFLAGS = 0x02,
+ GAUSSIAN_EDGE_SK_SHADOWMASKFILTER_SHADOWFLAGS = 0x04,
+ ALL_SK_SHADOWMASKFILTER_SHADOWFLAGS = 0x07
+} sk_shadowmaskfilter_shadowflags_t;
+
SK_C_PLUS_PLUS_END_GUARD
#endif
*/
#include "sk_types_priv.h"
+#include "SkShadowMaskFilter.h"
#if __cplusplus >= 199711L
static_assert ((int)SkPathMeasure::MatrixFlags::kGetTangent_MatrixFlag == (int)GET_TANGENT_SK_PATHMEASURE_MATRIXFLAGS, ASSERT_MSG(SkPathMeasure::MatrixFlags, sk_pathmeasure_matrixflags_t));
static_assert ((int)SkPathMeasure::MatrixFlags::kGetPosAndTan_MatrixFlag == (int)GET_POS_AND_TAN_SK_PATHMEASURE_MATRIXFLAGS, ASSERT_MSG(SkPathMeasure::MatrixFlags, sk_pathmeasure_matrixflags_t));
+// sk_shadowmaskfilter_shadowflags_t
+static_assert ((int)SkShadowMaskFilter::ShadowFlags::kNone_ShadowFlag == (int)NONE_SK_SHADOWMASKFILTER_SHADOWFLAGS, ASSERT_MSG(SkShadowMaskFilter::ShadowFlags, sk_shadowmaskfilter_shadowflags_t));
+static_assert ((int)SkShadowMaskFilter::ShadowFlags::kTransparentOccluder_ShadowFlag == (int)TRANSPARENT_OCCLUDER_SK_SHADOWMASKFILTER_SHADOWFLAGS, ASSERT_MSG(SkShadowMaskFilter::ShadowFlags, sk_shadowmaskfilter_shadowflags_t));
+static_assert ((int)SkShadowMaskFilter::ShadowFlags::kLargerUmbra_ShadowFlag == (int)LARGER_UMBRA_SK_SHADOWMASKFILTER_SHADOWFLAGS, ASSERT_MSG(SkShadowMaskFilter::ShadowFlags, sk_shadowmaskfilter_shadowflags_t));
+static_assert ((int)SkShadowMaskFilter::ShadowFlags::kGaussianEdge_ShadowFlag == (int)GAUSSIAN_EDGE_SK_SHADOWMASKFILTER_SHADOWFLAGS, ASSERT_MSG(SkShadowMaskFilter::ShadowFlags, sk_shadowmaskfilter_shadowflags_t));
+static_assert ((int)SkShadowMaskFilter::ShadowFlags::kAll_ShadowFlag == (int)ALL_SK_SHADOWMASKFILTER_SHADOWFLAGS, ASSERT_MSG(SkShadowMaskFilter::ShadowFlags, sk_shadowmaskfilter_shadowflags_t));
+
#endif
#include "SkBlurMaskFilter.h"
#include "SkTableMaskFilter.h"
+#include "SkShadowMaskFilter.h"
#include "sk_maskfilter.h"
sk_maskfilter_t* sk_maskfilter_new_blur(sk_blurstyle_t cstyle, float sigma) {
return ToMaskFilter(SkBlurMaskFilter::Make((SkBlurStyle)cstyle, sigma).release());
}
+
+sk_maskfilter_t* sk_maskfilter_new_shadow(float occluderHeight, const sk_point3_t* lightPos, float lightRadius, float ambientAlpha, float spotAlpha, sk_shadowmaskfilter_shadowflags_t flags) {
+ return ToMaskFilter(SkShadowMaskFilter::Make(occluderHeight, AsPoint3(*lightPos), lightRadius, ambientAlpha, spotAlpha, (SkShadowMaskFilter::ShadowFlags)flags).release());
+}