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.

LightDescription
@"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.
SpotLightA 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)

Applies to

See also