12103cf0ff09763aeaa35508734f765aec9b75665Jim Van Verth/* 22103cf0ff09763aeaa35508734f765aec9b75665Jim Van Verth * Copyright 2017 Google Inc. 32103cf0ff09763aeaa35508734f765aec9b75665Jim Van Verth * 42103cf0ff09763aeaa35508734f765aec9b75665Jim Van Verth * Use of this source code is governed by a BSD-style license that can be 52103cf0ff09763aeaa35508734f765aec9b75665Jim Van Verth * found in the LICENSE file. 62103cf0ff09763aeaa35508734f765aec9b75665Jim Van Verth */ 72103cf0ff09763aeaa35508734f765aec9b75665Jim Van Verth 82103cf0ff09763aeaa35508734f765aec9b75665Jim Van Verth#ifndef SkShadowFlags_DEFINED 92103cf0ff09763aeaa35508734f765aec9b75665Jim Van Verth#define SkShadowFlags_DEFINED 102103cf0ff09763aeaa35508734f765aec9b75665Jim Van Verth 112103cf0ff09763aeaa35508734f765aec9b75665Jim Van Verth// A set of flags shared between the SkAmbientShadowMaskFilter and the SkSpotShadowMaskFilter 122103cf0ff09763aeaa35508734f765aec9b75665Jim Van Verthenum SkShadowFlags { 132103cf0ff09763aeaa35508734f765aec9b75665Jim Van Verth kNone_ShadowFlag = 0x00, 142103cf0ff09763aeaa35508734f765aec9b75665Jim Van Verth /** The occluding object is not opaque. Knowing that the occluder is opaque allows 152103cf0ff09763aeaa35508734f765aec9b75665Jim Van Verth * us to cull shadow geometry behind it and improve performance. */ 162103cf0ff09763aeaa35508734f765aec9b75665Jim Van Verth kTransparentOccluder_ShadowFlag = 0x01, 172103cf0ff09763aeaa35508734f765aec9b75665Jim Van Verth /** Use a larger umbra for a darker shadow */ 182103cf0ff09763aeaa35508734f765aec9b75665Jim Van Verth kLargerUmbra_ShadowFlag = 0x02, 192103cf0ff09763aeaa35508734f765aec9b75665Jim Van Verth /** Use a Gaussian for the edge function rather than smoothstep */ 202103cf0ff09763aeaa35508734f765aec9b75665Jim Van Verth kGaussianEdge_ShadowFlag = 0x04, 212103cf0ff09763aeaa35508734f765aec9b75665Jim Van Verth /** mask for all shadow flags */ 222103cf0ff09763aeaa35508734f765aec9b75665Jim Van Verth kAll_ShadowFlag = 0x07 232103cf0ff09763aeaa35508734f765aec9b75665Jim Van Verth}; 242103cf0ff09763aeaa35508734f765aec9b75665Jim Van Verth 252103cf0ff09763aeaa35508734f765aec9b75665Jim Van Verth#endif 26