1
0
mirror of https://github.com/Artemis-RGB/Artemis synced 2025-12-13 05:48:35 +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}";
}
/// <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 />
protected override void Dispose(bool disposing)
{
@ -311,19 +290,7 @@ namespace Artemis.Core
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 />
public override void Render(double deltaTime, SKCanvas canvas, SKImageInfo canvasInfo)
{
@ -383,7 +350,6 @@ namespace Artemis.Core
if (Parent is Folder parentFolder)
targetLocation = Path.Bounds.Location - parentFolder.Path.Bounds.Location;
canvas.DrawBitmap(_layerBitmap, targetLocation, layerPaint);
}

View File

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

View File

@ -12,21 +12,6 @@ namespace Artemis.Core
{
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()
{
MainSegmentLength = TimeSpan.FromSeconds(5);
@ -312,16 +297,5 @@ namespace Artemis.Core
#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
// 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);

View File

@ -26,9 +26,9 @@ namespace Artemis.Core.LayerBrushes
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();
}
internal override void Initialize(IRenderElementService renderElementService)
internal override void Initialize()
{
LedGroup = new ListLedGroup();
Layer.RenderPropertiesUpdated += LayerOnRenderPropertiesUpdated;
InitializeProperties(renderElementService);
InitializeProperties();
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
// 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();
}
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);
brush.Layer = layer;
brush.Descriptor = descriptor;
brush.Initialize(this);
brush.Initialize();
brush.Update(0);
layer.LayerBrush = brush;
@ -94,7 +94,7 @@ namespace Artemis.Core.Services
effect.Order = renderElement.LayerEffects.Count + 1;
effect.Descriptor = layerEffectDescriptor;
effect.Initialize(this);
effect.Initialize();
effect.Update(0);
renderElement.AddLayerEffect(effect);
@ -135,7 +135,7 @@ namespace Artemis.Core.Services
effect.Enabled = layerEffectEntity.Enabled;
effect.Descriptor = descriptor;
effect.Initialize(this);
effect.Initialize();
effect.Update(0);
renderElement.AddLayerEffect(effect);
@ -162,8 +162,7 @@ namespace Artemis.Core.Services
public void InstantiateDataBindings(RenderProfileElement renderElement)
{
foreach (var baseLayerProperty in renderElement.GetAllLayerProperties())
baseLayerProperty.InitializeDataBindings(_dataModelService, _dataBindingService);
renderElement.InitializeDataBindings(_dataBindingService, _dataModelService);
}
}
}