SpotLight Class
Definition
A light source that casts inner and outer cones of light. For example, a flashlight.
Equivalent WinUI class: Microsoft.UI.Composition.SpotLight.
public ref class SpotLight sealed : CompositionLight
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 196608)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.WebHostHidden]
class SpotLight sealed : CompositionLight
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 196608)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.WebHostHidden]
/// [Windows.Foundation.Metadata.DualApiPartition(version=167772164)]
class SpotLight sealed : CompositionLight
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 196608)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.WebHostHidden]
public sealed class SpotLight : CompositionLight
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 196608)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.WebHostHidden]
[Windows.Foundation.Metadata.DualApiPartition(version=167772164)]
public sealed class SpotLight : CompositionLight
Public NotInheritable Class SpotLight
Inherits CompositionLight
- Inheritance
- Attributes
Windows 10 requirements
Device family |
Windows 10 Anniversary Edition (introduced in 10.0.14393.0)
|
API contract |
Windows.Foundation.UniversalApiContract (introduced in v3.0)
|
Examples
_spotLight = _compositor.CreateSpotLight();
_spotLight.CoordinateSpace = root;
_spotLight.InnerConeAngleInDegrees = 30;
_spotLight.InnerConeColor = Colors.Red;
_spotLight.OuterConeAngleInDegrees = 45;
_spotLight.OuterConeColor = Colors.Yellow;
_spotLight.Offset = new Vector3(30, 30, 200);
_spotLight.Targets.Add(root);
Remarks
SpotLight is one of the four light types derived from CompositionLight.
Light | Description |
---|---|
@"Windows.UI.Composition.AmbientLight?text=AmbientLight" | A light source that emits non directional light that appears to have been reflected by everything in the scene. |
@"Windows.UI.Composition.DistantLight?text=DistantLight" | An infinitely large distant light source that emits light in a single direction. |
@"Windows.UI.Composition.PointLight?text=PointLight" | A point source of light that emits light in all directions. |
SpotLight | A light source that emits inner and outer cones of light. |
Note
A Visual cannot be targeted by more than two non-ambient lights (PointLight, SpotLight or DistantLight).
Version history
Windows version | SDK version | Value added |
---|---|---|
1709 | 16299 | InnerConeIntensity |
1709 | 16299 | OuterConeIntensity |
1803 | 17134 | MaxAttenuationCutoff |
1803 | 17134 | MinAttenuationCutoff |
Properties
Comment |
A string to associate with the CompositionObject. Equivalent WinUI property: Microsoft.UI.Composition.CompositionObject.Comment. (Inherited from CompositionObject) |
Compositor |
The Compositor used to create this CompositionObject. Equivalent WinUI property: Microsoft.UI.Composition.CompositionObject.Compositor. (Inherited from CompositionObject) |
ConstantAttenuation |
The constant coefficient in the light's attenuation equation. Controls light intensity. Animatable. Equivalent WinUI property: Microsoft.UI.Composition.SpotLight.ConstantAttenuation. |
CoordinateSpace |
The Visual used to determine the light's direction and offset. The light's offset and direction properties are relative to this Visual's coordinate space. SpotLight.CoordinateSpace is a required property. If SpotLight.CoordinateSpace is not set, the SpotLight will not render. Equivalent WinUI property: Microsoft.UI.Composition.SpotLight.CoordinateSpace. |
Direction |
The direction in which the light is pointing, specified relative to its CoordinateSpace Visual. Equivalent WinUI property: Microsoft.UI.Composition.SpotLight.Direction. |
Dispatcher |
The dispatcher for the CompositionObject. (Inherited from CompositionObject) |
DispatcherQueue |
Gets the DispatcherQueue for the CompostionObject. Equivalent WinUI property: Microsoft.UI.Composition.CompositionObject.DispatcherQueue. (Inherited from CompositionObject) |
ExclusionsFromTargets |
Gets a collection of Visuals that are not targeted by the light. Equivalent WinUI property: Microsoft.UI.Composition.CompositionLight.ExclusionsFromTargets. (Inherited from CompositionLight) |
ImplicitAnimations |
The collection of implicit animations attached to this object. Equivalent WinUI property: Microsoft.UI.Composition.CompositionObject.ImplicitAnimations. (Inherited from CompositionObject) |
InnerConeAngle |
The SpotLight’s inner cone angle, expressed as a semi-vertical angle in radians. Animatable. Equivalent WinUI property: Microsoft.UI.Composition.SpotLight.InnerConeAngle. |
InnerConeAngleInDegrees |
The SpotLight’s inner cone angle, expressed as a semi-vertical angle in degrees. Animatable. Equivalent WinUI property: Microsoft.UI.Composition.SpotLight.InnerConeAngleInDegrees. |
InnerConeColor |
Color of the spotlight's inner cone. Animatable. Equivalent WinUI property: Microsoft.UI.Composition.SpotLight.InnerConeColor. |
InnerConeIntensity |
Gets or sets the intensity of the light in the spotlight's inner cone. Equivalent WinUI property: Microsoft.UI.Composition.SpotLight.InnerConeIntensity. |
IsEnabled |
Gets or sets a value that determines whether the composition light is on. Equivalent WinUI property: Microsoft.UI.Composition.CompositionLight.IsEnabled. (Inherited from CompositionLight) |
LinearAttenuation |
The linear coefficient in the light's attenuation equation that determines how the light falls off with distance. Animatable. Equivalent WinUI property: Microsoft.UI.Composition.SpotLight.LinearAttenuation. |
MaxAttenuationCutoff |
Gets or sets the maximum range at which this light is effective. Equivalent WinUI property: Microsoft.UI.Composition.SpotLight.MaxAttenuationCutoff. |
MinAttenuationCutoff |
Gets or sets the minimum range at which this light is effective. Equivalent WinUI property: Microsoft.UI.Composition.SpotLight.MinAttenuationCutoff. |
Offset |
Offset of the light source relative to its CoordinateSpace Visual. Animatable. Equivalent WinUI property: Microsoft.UI.Composition.SpotLight.Offset. |
OuterConeAngle |
The SpotLight’s outer cone angle, expressed as a semi-vertical angle in radians. Animatable. Equivalent WinUI property: Microsoft.UI.Composition.SpotLight.OuterConeAngle. |
OuterConeAngleInDegrees |
The semi-vertical angle, in degrees, of the SpotLight's outer cone. Animatable. Equivalent WinUI property: Microsoft.UI.Composition.SpotLight.OuterConeAngleInDegrees. |
OuterConeColor |
The color of the spotlight's outer cone. Animatable. Equivalent WinUI property: Microsoft.UI.Composition.SpotLight.OuterConeColor. |
OuterConeIntensity |
Gets or sets the intensity of the light in the spotlight's outer cone. Equivalent WinUI property: Microsoft.UI.Composition.SpotLight.OuterConeIntensity. |
Properties |
The collection of properties associated with the CompositionObject. Equivalent WinUI property: Microsoft.UI.Composition.CompositionObject.Properties. (Inherited from CompositionObject) |
QuadraticAttenuation |
The quadratic portion of the attenuation equation that determines how the light falls off with distance. Animatable. Equivalent WinUI property: Microsoft.UI.Composition.SpotLight.QuadraticAttenuation. |
Targets |
The collection of Visuals targeted by the light. Equivalent WinUI property: Microsoft.UI.Composition.CompositionLight.Targets. (Inherited from CompositionLight) |
Methods
Close() |
Closes the CompositionObject and releases system resources. Equivalent WinUI method: Microsoft.UI.Composition.CompositionObject.Close. (Inherited from CompositionObject) |
ConnectAnimation(String, CompositionAnimation) |
Connects and animation. (Inherited from CompositionObject) |
DisconnectAnimation(String) |
Disconnects an animation. (Inherited from CompositionObject) |
Dispose() |
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. (Inherited from CompositionObject) |
PopulatePropertyInfo(String, AnimationPropertyInfo) |
Defines a property that can be animated. Equivalent WinUI method: Microsoft.UI.Composition.CompositionObject.PopulatePropertyInfo. (Inherited from CompositionObject) |
StartAnimation(String, CompositionAnimation) |
Connects an animation with the specified property of the object and starts the animation. Equivalent WinUI method: Microsoft.UI.Composition.CompositionObject.StartAnimation. (Inherited from CompositionObject) |
StartAnimationGroup(ICompositionAnimationBase) |
Starts an animation group. The StartAnimationGroup method on CompositionObject lets you start CompositionAnimationGroup. All the animations in the group will be started at the same time on the object. Equivalent WinUI method: Microsoft.UI.Composition.CompositionObject.StartAnimationGroup. (Inherited from CompositionObject) |
StopAnimation(String) |
Disconnects an animation from the specified property and stops the animation. Equivalent WinUI method: Microsoft.UI.Composition.CompositionObject.StopAnimation. (Inherited from CompositionObject) |
StopAnimationGroup(ICompositionAnimationBase) |
Stops an animation group. Equivalent WinUI method: Microsoft.UI.Composition.CompositionObject.StopAnimationGroup. (Inherited from CompositionObject) |
TryGetAnimationController(String) |
Returns an AnimationController for the animation running on the specified property. Equivalent WinUI method: Microsoft.UI.Composition.CompositionObject.TryGetAnimationController. (Inherited from CompositionObject) |