Skip to main content
Version: 2.0.0-preview

Common properties

Every library item inherits properties from one or more base classes. These pages document the inherited properties, so individual item pages can stay focused on what is new in that class.

The diagram below shows how the base classes relate:

EngineObject
├─ Drawable
│ ├─ Shape (Pen, Fill)
│ └─ AudioVisualizerDrawable
├─ FilterEffect
├─ Transform
├─ Sound
├─ AudioEffect
├─ Object3D
│ └─ Group3D
└─ Light3D

EngineObject

Declared in src/Beutl.Engine/Engine/EngineObject.cs. Base class: Hierarchical.

This class declares no new properties of its own.

Drawable

Declared in src/Beutl.Engine/Graphics/Drawable.cs. Base class: EngineObject.

Transform

Optional 2D transform applied to the drawable (translate / scale / rotate / skew).

  • Type: Transform?
  • Default: null
  • Animatable: No

Alignment X (AlignmentX)

Horizontal alignment of the drawable inside its bounds.

  • Type: AlignmentX
  • Default: Media.AlignmentX.Center
  • Animatable: Yes

Alignment Y (AlignmentY)

Vertical alignment of the drawable inside its bounds.

  • Type: AlignmentY
  • Default: Media.AlignmentY.Center
  • Animatable: Yes

Transform Origin (TransformOrigin)

Pivot point used by Transform, expressed as a relative point (0–1).

  • Type: RelativePoint
  • Default: RelativePoint.Center
  • Animatable: Yes

Filter Effect (FilterEffect)

Optional chain of filter effects applied after rendering.

  • Type: FilterEffect?
  • Default: null
  • Animatable: No

Blend Mode (BlendMode)

Blend mode used to composite this drawable onto the canvas.

  • Type: BlendMode
  • Default: Graphics.BlendMode.SrcOver
  • Animatable: Yes

Opacity

Layer opacity in percent (0 = transparent, 100 = fully opaque).

  • Type: float
  • Default: 100
  • Animatable: Yes
  • Range: [0, 100]

Shape

Declared in src/Beutl.Engine/Graphics/Shapes/Shape.cs. Base class: Drawable.

Stroke (Pen)

Outline pen (stroke). When null, no outline is drawn.

  • Type: Pen?
  • Default: null
  • Animatable: No

Fill

Brush used to fill the interior. When null, the shape is hollow.

  • Type: Brush?
  • Default: null
  • Animatable: No

Sound

Declared in src/Beutl.Engine/Audio/Sound.cs. Base class: EngineObject.

Offset Position (OffsetPosition)

Time offset within the source audio at which playback starts.

  • Type: TimeSpan
  • Default: 00:00:00
  • Animatable: No

Gain

Audio gain in percent (100 = unity).

  • Type: float
  • Default: 100
  • Animatable: Yes
  • Range: [0, ∞)

Speed

Playback speed in percent (100 = normal).

  • Type: float
  • Default: 100
  • Animatable: Yes
  • Range: [0, ∞)

Audio Effect (Effect)

  • Type: AudioEffect?
  • Default: null
  • Animatable: No

AudioVisualizerDrawable

Declared in src/Beutl.Engine/Graphics/AudioVisualizers/AudioVisualizerDrawable.cs. Base class: Drawable.

Source

Sound source whose signal is visualized.

  • Type: Sound?
  • Default: null
  • Animatable: No

Width

Visualization width in pixels.

  • Type: float
  • Default: 640
  • Animatable: Yes
  • Range: (0, ∞)

Height

Visualization height in pixels.

  • Type: float
  • Default: 120
  • Animatable: Yes
  • Range: (0, ∞)

Fill

Brush used to draw the bars / lines.

  • Type: Brush?
  • Default: null
  • Animatable: No

Gain

Per-visualizer gain applied before rendering (1 = unity).

  • Type: float
  • Default: 1
  • Animatable: Yes
  • Range: [0.01, 1000]

FilterEffect

Declared in src/Beutl.Engine/Graphics/FilterEffects/FilterEffect.cs. Base class: EngineObject.

This class declares no new properties of its own.

Transform

Declared in src/Beutl.Engine/Graphics/Transformation/Transform.cs. Base class: EngineObject.

This class declares no new properties of its own.

AudioEffect

Declared in src/Beutl.Engine/Audio/Effects/AudioEffect.cs. Base class: EngineObject.

This class declares no new properties of its own.

Object3D

Declared in src/Beutl.Engine/Graphics3D/Object3D.cs. Base class: EngineObject.

Position

Local position in 3D space.

  • Type: Vector3
  • Default: (0, 0, 0)
  • Animatable: Yes

Rotation

Local rotation (Euler angles, degrees).

  • Type: Vector3
  • Default: (0, 0, 0)
  • Animatable: Yes

Scale

Local scale per axis.

  • Type: Vector3
  • Default: (1, 1, 1)
  • Animatable: Yes

Material

Material that defines the surface's shading.

  • Type: Material3D?
  • Default: null
  • Animatable: No

Cast Shadows (CastShadows)

When true, this object casts shadows.

  • Type: bool
  • Default: true
  • Animatable: Yes

Receive Shadows (ReceiveShadows)

When true, this object receives shadows.

  • Type: bool
  • Default: true
  • Animatable: Yes

Group3D

Declared in src/Beutl.Engine/Graphics3D/Group3D.cs. Base class: Object3D.

This class declares no new properties of its own.

Light3D

Declared in src/Beutl.Engine/Graphics3D/Lighting/Light3D.cs. Base class: EngineObject.

Color

Color of the light.

  • Type: Color
  • Default: Colors.White
  • Animatable: Yes

Intensity

Brightness multiplier of the light.

  • Type: float
  • Default: 1
  • Animatable: Yes
  • Range: [0, ∞)

Casts Shadow (CastsShadow)

When true, the light casts shadows.

  • Type: bool
  • Default: false
  • Animatable: Yes

Shadow Bias (ShadowBias)

Constant bias added to the shadow comparison to reduce acne.

  • Type: float
  • Default: 0.0001
  • Animatable: Yes
  • Range: [0, 0.01]

Shadow Normal Bias (ShadowNormalBias)

Bias along the surface normal to reduce shadow leaking.

  • Type: float
  • Default: 0.02
  • Animatable: Yes
  • Range: [0, 0.1]

Shadow Strength (ShadowStrength)

Mix between full lighting and shadowed regions (1 = full shadow).

  • Type: float
  • Default: 1
  • Animatable: Yes
  • Range: [0, 1]