7internal static class EffectTargetAccess
9 internal static float GetOpacity(
object target) => target
switch
11 View view => view.EffectOpacity,
13 _ =>
throw Unsupported(target)
16 internal static void SetOpacity(
object target,
float value)
18 value = Math.Clamp(value, 0f, 1f);
23 view.EffectOpacity = value;
26 layer.EffectOpacity = value;
29 throw Unsupported(target);
33 internal static float GetReveal(
object target) => target
switch
35 View view => view.EffectReveal,
37 _ =>
throw Unsupported(target)
40 internal static EffectDirection GetRevealDirection(
object target) => target
switch
42 View view => view.EffectRevealDirection,
43 SceneLayer layer => layer.EffectRevealDirection,
44 _ =>
throw Unsupported(target)
47 internal static void SetReveal(
52 value = Math.Clamp(value, 0f, 1f);
57 view.EffectReveal = value;
58 view.EffectRevealDirection = direction;
61 layer.EffectReveal = value;
62 layer.EffectRevealDirection = direction;
65 throw Unsupported(target);
69 internal static PointF GetOffsetFactor(
object target) => target
switch
71 View view => view.EffectOffsetFactor,
73 _ =>
throw Unsupported(target)
76 internal static PointF GetOffsetPixels(
object target) => target
switch
78 View view => view.EffectOffsetPx,
80 _ =>
throw Unsupported(target)
83 internal static void SetTransform(
91 view.EffectOffsetFactor = factor;
92 view.EffectOffsetPx = pixels;
95 layer.EffectOffsetFactor = factor;
96 layer.EffectOffsetPx = pixels;
99 throw Unsupported(target);
103 private static ArgumentException Unsupported(
object target) =>
104 new($
"Unsupported effect target type: {target.GetType().FullName}.", nameof(target));
@ SceneLayer
Performs direct drawing within a scene layer using world-space coordinates.
EffectDirection
Specifies the direction in which a directional display effect travels.