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