skia2/include/private/SkShadowFlags.h
Jim Van Verth e8199af1d9 Add ShadowFlag to use only blurs for concave shapes.
The geometric method for concave shadows seems to be failing in certain
cases. See: https://github.com/flutter/flutter/issues/84262. I've never
been satisfied with this solution and I've been thinking of removing it. This flag allows for Flutter to disable it for the time being until I
can determine if anyone else is using it.

Change-Id: Ia0a3f57002d94928f2baa655c88dc4d10b9edef8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/533881
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2022-04-27 18:02:26 +00:00

28 lines
952 B
C

/*
* Copyright 2017 Google Inc.
*
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
#ifndef SkShadowFlags_DEFINED
#define SkShadowFlags_DEFINED
// A set of flags shared between the SkAmbientShadowMaskFilter and the SkSpotShadowMaskFilter
enum SkShadowFlags {
kNone_ShadowFlag = 0x00,
/** The occluding object is not opaque. Knowing that the occluder is opaque allows
* us to cull shadow geometry behind it and improve performance. */
kTransparentOccluder_ShadowFlag = 0x01,
/** Don't try to use analytic shadows. */
kGeometricOnly_ShadowFlag = 0x02,
/** Light position represents a direction, light radius is blur radius at elevation 1 */
kDirectionalLight_ShadowFlag = 0x04,
/** Concave paths will only use blur to generate the shadow */
kConcaveBlurOnly_ShadowFlag = 0x08,
/** mask for all shadow flags */
kAll_ShadowFlag = 0x0F
};
#endif