1
0
mirror of https://github.com/Artemis-RGB/Artemis synced 2025-12-31 09:43:46 +00:00

Core wip things tired of writing descriptive messages ^^

This commit is contained in:
SpoinkyNL 2020-09-08 23:54:19 +02:00
parent d37420e462
commit 4cfe71796c
10 changed files with 24 additions and 76 deletions

View File

@ -118,27 +118,6 @@ namespace Artemis.Core
return $"[Layer] {nameof(Name)}: {Name}, {nameof(Order)}: {Order}"; return $"[Layer] {nameof(Name)}: {Name}, {nameof(Order)}: {Order}";
} }
/// <inheritdoc />
public override List<BaseLayerPropertyKeyframe> GetAllKeyframes()
{
if (_disposed)
throw new ObjectDisposedException("Layer");
var keyframes = base.GetAllKeyframes();
foreach (var baseLayerProperty in General.GetAllLayerProperties())
keyframes.AddRange(baseLayerProperty.BaseKeyframes);
foreach (var baseLayerProperty in Transform.GetAllLayerProperties())
keyframes.AddRange(baseLayerProperty.BaseKeyframes);
if (LayerBrush?.BaseProperties != null)
{
foreach (var baseLayerProperty in LayerBrush.BaseProperties.GetAllLayerProperties())
keyframes.AddRange(baseLayerProperty.BaseKeyframes);
}
return keyframes;
}
/// <inheritdoc /> /// <inheritdoc />
protected override void Dispose(bool disposing) protected override void Dispose(bool disposing)
{ {
@ -311,19 +290,7 @@ namespace Artemis.Core
baseLayerEffect.Update(delta); baseLayerEffect.Update(delta);
} }
} }
/// <inheritdoc />
public override List<BaseLayerProperty> GetAllLayerProperties()
{
var result = base.GetAllLayerProperties();
result.AddRange(General.GetAllLayerProperties());
result.AddRange(Transform.GetAllLayerProperties());
if (LayerBrush?.BaseProperties != null)
result.AddRange(LayerBrush.BaseProperties.GetAllLayerProperties());
return result;
}
/// <inheritdoc /> /// <inheritdoc />
public override void Render(double deltaTime, SKCanvas canvas, SKImageInfo canvasInfo) public override void Render(double deltaTime, SKCanvas canvas, SKImageInfo canvasInfo)
{ {
@ -383,7 +350,6 @@ namespace Artemis.Core
if (Parent is Folder parentFolder) if (Parent is Folder parentFolder)
targetLocation = Path.Bounds.Location - parentFolder.Path.Bounds.Location; targetLocation = Path.Bounds.Location - parentFolder.Path.Bounds.Location;
canvas.DrawBitmap(_layerBitmap, targetLocation, layerPaint); canvas.DrawBitmap(_layerBitmap, targetLocation, layerPaint);
} }

View File

@ -6,6 +6,7 @@ using System.Reflection;
using Artemis.Core.LayerBrushes; using Artemis.Core.LayerBrushes;
using Artemis.Core.LayerEffects; using Artemis.Core.LayerEffects;
using Artemis.Core.Properties; using Artemis.Core.Properties;
using Artemis.Core.Services;
using Artemis.Storage.Entities.Profile; using Artemis.Storage.Entities.Profile;
namespace Artemis.Core namespace Artemis.Core
@ -170,6 +171,14 @@ namespace Artemis.Core
OnPropertyGroupInitialized(); OnPropertyGroupInitialized();
} }
internal void InitializeDataBindings(IDataModelService dataModelService, IDataModelService dataModelService1)
{
foreach (var layerProperty in LayerProperties)
{
layerProperty.InitializeDataBindings(dataModelService);
}
}
internal void ApplyToEntity() internal void ApplyToEntity()
{ {
if (!PropertiesInitialized) if (!PropertiesInitialized)

View File

@ -12,21 +12,6 @@ namespace Artemis.Core
{ {
public abstract class RenderProfileElement : ProfileElement public abstract class RenderProfileElement : ProfileElement
{ {
/// <summary>
/// Returns a list of all keyframes on all properties and effects of this layer
/// </summary>
public virtual List<BaseLayerPropertyKeyframe> GetAllKeyframes()
{
var keyframes = new List<BaseLayerPropertyKeyframe>();
foreach (var layerEffect in LayerEffects)
{
foreach (var baseLayerProperty in layerEffect.BaseProperties.GetAllLayerProperties())
keyframes.AddRange(baseLayerProperty.BaseKeyframes);
}
return keyframes;
}
protected void ApplyRenderElementDefaults() protected void ApplyRenderElementDefaults()
{ {
MainSegmentLength = TimeSpan.FromSeconds(5); MainSegmentLength = TimeSpan.FromSeconds(5);
@ -312,16 +297,5 @@ namespace Artemis.Core
#endregion #endregion
/// <summary>
/// Returns all the layer properties of this profile element
/// </summary>
public virtual List<BaseLayerProperty> GetAllLayerProperties()
{
var result = new List<BaseLayerProperty>();
foreach (var baseLayerEffect in LayerEffects)
result.AddRange(baseLayerEffect.BaseProperties.GetAllLayerProperties());
return result;
}
} }
} }

View File

@ -105,7 +105,7 @@ namespace Artemis.Core.LayerBrushes
// Not only is this needed to initialize properties on the layer brushes, it also prevents implementing anything // Not only is this needed to initialize properties on the layer brushes, it also prevents implementing anything
// but LayerBrush<T> and RgbNetLayerBrush<T> outside the core // but LayerBrush<T> and RgbNetLayerBrush<T> outside the core
internal abstract void Initialize(IRenderElementService renderElementService); internal abstract void Initialize();
internal abstract void InternalRender(SKCanvas canvas, SKImageInfo canvasInfo, SKPath path, SKPaint paint); internal abstract void InternalRender(SKCanvas canvas, SKImageInfo canvasInfo, SKPath path, SKPaint paint);

View File

@ -26,9 +26,9 @@ namespace Artemis.Core.LayerBrushes
Render(canvas, canvasInfo, path, paint); Render(canvas, canvasInfo, path, paint);
} }
internal override void Initialize(IRenderElementService renderElementService) internal override void Initialize()
{ {
InitializeProperties(renderElementService); InitializeProperties();
} }
} }
} }

View File

@ -70,9 +70,9 @@ namespace Artemis.Core.LayerBrushes
} }
} }
internal override void Initialize(IRenderElementService renderElementService) internal override void Initialize()
{ {
InitializeProperties(renderElementService); InitializeProperties();
} }
} }
} }

View File

@ -46,12 +46,12 @@ namespace Artemis.Core.LayerBrushes
LedGroup.Brush = GetBrush(); LedGroup.Brush = GetBrush();
} }
internal override void Initialize(IRenderElementService renderElementService) internal override void Initialize()
{ {
LedGroup = new ListLedGroup(); LedGroup = new ListLedGroup();
Layer.RenderPropertiesUpdated += LayerOnRenderPropertiesUpdated; Layer.RenderPropertiesUpdated += LayerOnRenderPropertiesUpdated;
InitializeProperties(renderElementService); InitializeProperties();
UpdateLedGroup(); UpdateLedGroup();
} }

View File

@ -147,6 +147,6 @@ namespace Artemis.Core.LayerEffects
// Not only is this needed to initialize properties on the layer effects, it also prevents implementing anything // Not only is this needed to initialize properties on the layer effects, it also prevents implementing anything
// but LayerEffect<T> outside the core // but LayerEffect<T> outside the core
internal abstract void Initialize(IRenderElementService renderElementService); internal abstract void Initialize();
} }
} }

View File

@ -40,9 +40,9 @@ namespace Artemis.Core.LayerEffects
EnableLayerEffect(); EnableLayerEffect();
} }
internal override void Initialize(IRenderElementService renderElementService) internal override void Initialize()
{ {
InitializeProperties(renderElementService); InitializeProperties();
} }
} }
} }

View File

@ -74,7 +74,7 @@ namespace Artemis.Core.Services
var brush = (BaseLayerBrush) _kernel.Get(descriptor.LayerBrushType); var brush = (BaseLayerBrush) _kernel.Get(descriptor.LayerBrushType);
brush.Layer = layer; brush.Layer = layer;
brush.Descriptor = descriptor; brush.Descriptor = descriptor;
brush.Initialize(this); brush.Initialize();
brush.Update(0); brush.Update(0);
layer.LayerBrush = brush; layer.LayerBrush = brush;
@ -94,7 +94,7 @@ namespace Artemis.Core.Services
effect.Order = renderElement.LayerEffects.Count + 1; effect.Order = renderElement.LayerEffects.Count + 1;
effect.Descriptor = layerEffectDescriptor; effect.Descriptor = layerEffectDescriptor;
effect.Initialize(this); effect.Initialize();
effect.Update(0); effect.Update(0);
renderElement.AddLayerEffect(effect); renderElement.AddLayerEffect(effect);
@ -135,7 +135,7 @@ namespace Artemis.Core.Services
effect.Enabled = layerEffectEntity.Enabled; effect.Enabled = layerEffectEntity.Enabled;
effect.Descriptor = descriptor; effect.Descriptor = descriptor;
effect.Initialize(this); effect.Initialize();
effect.Update(0); effect.Update(0);
renderElement.AddLayerEffect(effect); renderElement.AddLayerEffect(effect);
@ -162,8 +162,7 @@ namespace Artemis.Core.Services
public void InstantiateDataBindings(RenderProfileElement renderElement) public void InstantiateDataBindings(RenderProfileElement renderElement)
{ {
foreach (var baseLayerProperty in renderElement.GetAllLayerProperties()) renderElement.InitializeDataBindings(_dataBindingService, _dataModelService);
baseLayerProperty.InitializeDataBindings(_dataModelService, _dataBindingService);
} }
} }
} }