Exemple #1
0
 private void Update()
 {
     if (ProfileEditorService.SelectedProfileElement is Layer layer)
     {
         if (layer.LayerShape != null)
         {
             ShapeSkRect   = _layerEditorService.GetShapeRenderRect(layer.LayerShape).ToSKRect();
             AnchorSkPoint = layer.LayerShape.GetUnscaledAnchor();
             Execute.PostToUIThread(() => LayerTransformChildren = _layerEditorService.GetLayerTransformGroup(layer).Children);
         }
     }
 }
Exemple #2
0
        private void CreateShapeGeometry()
        {
            if (Layer.LayerShape == null || !Layer.Leds.Any())
            {
                ShapeGeometry = Geometry.Empty;
                return;
            }

            Execute.PostToUIThread(() =>
            {
                var rect          = _layerEditorService.GetShapeRenderRect(Layer.LayerShape);
                var shapeGeometry = Geometry.Empty;
                switch (Layer.LayerShape)
                {
                case Ellipse _:
                    shapeGeometry = new EllipseGeometry(rect);
                    break;

                case Fill _:
                    shapeGeometry = LayerGeometry;
                    break;

                case Polygon _:
                    // TODO
                    shapeGeometry = new RectangleGeometry(rect);
                    break;

                case Rectangle _:
                    shapeGeometry = new RectangleGeometry(rect);
                    break;
                }

                shapeGeometry.Transform = _layerEditorService.GetLayerTransformGroup(Layer);
                shapeGeometry.Freeze();
                ShapeGeometry = shapeGeometry;
            });
        }