Пример #1
0
        public override void GetPatternRender(ICanvasResourceCreator resourceCreator, CanvasDrawingSession drawingSession, CanvasGeometry geometry)
        {
            ICanvasBrush      canvasBrush = this.Style.Stroke.GetICanvasBrush(resourceCreator);
            float             strokeWidth = this.Style.StrokeWidth;
            CanvasStrokeStyle strokeStyle = this.Style.StrokeStyle;

            Transformer       transformer = base.Transform.GetActualTransformer();
            TransformerBorder border      = new TransformerBorder(transformer);

            if (this.GridType != PatternGridType.Vertical)
            {
                for (float i = border.Left; i < border.Right; i += this.HorizontalStep)
                {
                    drawingSession.DrawLine(i, border.Top, i, border.Bottom, canvasBrush, strokeWidth, strokeStyle);
                }
            }

            if (this.GridType != PatternGridType.Horizontal)
            {
                for (float i = border.Top; i < border.Bottom; i += this.VerticalStep)
                {
                    drawingSession.DrawLine(border.Left, i, border.Right, i, canvasBrush, strokeWidth, strokeStyle);
                }
            }
        }
Пример #2
0
        public override void GetPatternRender(ICanvasResourceCreator resourceCreator, CanvasDrawingSession drawingSession, CanvasGeometry geometry)
        {
            ICanvasBrush      canvasBrush = this.Style.Stroke.GetICanvasBrush(resourceCreator);
            float             strokeWidth = this.Style.StrokeWidth;
            CanvasStrokeStyle strokeStyle = this.Style.StrokeStyle;

            Transformer       transformer = base.Transform.Transformer;
            TransformerBorder border      = new TransformerBorder(transformer);

            for (float i = border.Left; i < border.Right; i += this.HorizontalStep)
            {
                drawingSession.DrawLine(i, border.Top, i + this.Offset, border.Bottom, canvasBrush, strokeWidth, strokeStyle);
            }
        }
Пример #3
0
        public override void GetPatternRender(ICanvasResourceCreator resourceCreator, CanvasDrawingSession drawingSession, CanvasGeometry geometry)
        {
            ICanvasBrush      canvasBrush = this.Style.Stroke.GetICanvasBrush(resourceCreator);
            float             strokeWidth = this.Style.StrokeWidth;
            CanvasStrokeStyle strokeStyle = this.Style.StrokeStyle;

            Transformer       transformer = base.Transform.GetActualTransformer();
            TransformerBorder border      = new TransformerBorder(transformer);

            for (float y = border.Top; y < border.Bottom; y += this.Step)
            {
                for (float x = border.Left; x < border.Right; x += this.Step)
                {
                    drawingSession.FillCircle(x, y, this.Radius, canvasBrush);
                }
            }
        }
Пример #4
0
        public override Transformer GetActualTransformer(Layerage layerage)
        {
            // Refactoring
            if (this.IsRefactoringTransformer)
            {
                this.IsRefactoringTransformer = false;

                if (layerage.Children.Count != 0)
                {
                    // TransformerBorder
                    TransformerBorder border      = new TransformerBorder(layerage.Children);
                    Transformer       transformer = border.ToTransformer();
                    this.Transform.Transformer = transformer;
                    return(transformer);
                }
            }

            return(this.Transform.GetActualTransformer());
        }
Пример #5
0
        /// <summary>
        /// Refactoring the transformer.
        /// </summary>
        /// <returns> The transformer. </returns>
        public Transformer RefactoringTransformer()
        {
            switch (this.SelectionMode)
            {
            case ListViewSelectionMode.None:
                return(new Transformer());

            case ListViewSelectionMode.Single:
                return(this.SelectionLayerage.GetActualTransformer());

            case ListViewSelectionMode.Multiple:
                // TransformerBorder
                TransformerBorder border = new TransformerBorder(this.SelectionLayerages);
                return(border.ToTransformer());

            default:
                return(new Transformer());
            }
        }
Пример #6
0
        //////////////////////////


        /// <summary>
        ///  Sets the mode to Multiple.
        /// </summary>
        /// <param name="layerages"> The multiple layerages. </param>
        public void SetModeMultiple(IEnumerable <Layerage> layerages)
        {
            Layerage outermost      = LayerManager.FindOutermostLayerage(layerages);
            ILayer   outermostLayer = outermost.Self;

            this.SelectionMode = ListViewSelectionMode.Multiple;// Transformer

            this.SelectionLayerage  = null;
            this.SelectionLayerages = layerages;

            // TransformerBorder
            TransformerBorder border = new TransformerBorder(layerages);

            this.Transformer = border.ToTransformer();

            //////////////////////////

            this.LayerType  = outermostLayer is null ? LayerType.None : outermostLayer.Type;
            this.Opacity    = outermostLayer is null ? 1.0f : outermostLayer.Opacity;
            this.BlendMode  = outermostLayer?.BlendMode;
            this.Visibility = outermostLayer is null ? Visibility.Visible : outermostLayer.Visibility;
            this.TagType    = outermostLayer is null ? TagType.None : outermostLayer.TagType;

            //////////////////////////

            this.Effect = outermostLayer?.Effect;
            this.SetFilter(null);
            this.SetStyle(outermostLayer?.Style);

            //////////////////////////

            this.SetGroupLayer(layerages);
            this.SetImageLayer(outermostLayer);
            this.SetCurveLayer();
            this.SetTextLayer(outermostLayer);

            //////////////////////////

            this.SetPatternLayer(outermostLayer);
            this.SetGeometryLayer(outermostLayer);
        }