1 /* 2 * Copyright 2017 Google Inc. 3 * 4 * Use of this source code is governed by a BSD-style license that can be 5 * found in the LICENSE file. 6 */ 7 8 #ifndef SkShadowFlags_DEFINED 9 #define SkShadowFlags_DEFINED 10 11 // A set of flags shared between the SkAmbientShadowMaskFilter and the SkSpotShadowMaskFilter 12 enum SkShadowFlags { 13 kNone_ShadowFlag = 0x00, 14 /** The occluding object is not opaque. Knowing that the occluder is opaque allows 15 * us to cull shadow geometry behind it and improve performance. */ 16 kTransparentOccluder_ShadowFlag = 0x01, 17 /** Don't try to use analytic shadows. */ 18 kGeometricOnly_ShadowFlag = 0x02, 19 /** Light position represents a direction, light radius is blur radius at elevation 1 */ 20 kDirectionalLight_ShadowFlag = 0x04, 21 /** Concave paths will only use blur to generate the shadow */ 22 kConcaveBlurOnly_ShadowFlag = 0x08, 23 /** mask for all shadow flags */ 24 kAll_ShadowFlag = 0x0F 25 }; 26 27 #endif 28