コード例 #1
0
        /// <summary>
        /// Create shape
        /// </summary>
        /// <param name="points"></param>
        /// <param name="shapeModel"></param>
        public override void CreateShape(IList <Point> points, IInputShapeModel shapeModel)
        {
            CreateCanvas();

            var shape  = new SKPath();
            var origin = points.ElementAtOrDefault(0);

            if (origin == default)
            {
                return;
            }

            shape.MoveTo((float)origin.X, (float)origin.Y);

            for (var i = 1; i < points.Count; i++)
            {
                shape.LineTo((float)points[i].X, (float)points[i].Y);
            }

            shape.Close();

            var pen = new SKPaint
            {
                Style = SKPaintStyle.Fill,
                Color = shapeModel.Color.ToSKColor()
            };

            _canvas.DrawPath(shape, pen);

            pen.Dispose();
            shape.Dispose();
        }
コード例 #2
0
        /// <summary>
        /// Create label
        /// </summary>
        /// <param name="point"></param>
        /// <param name="content"></param>
        /// <param name="shapeModel"></param>
        public override void CreateLabel(Point point, string content, IInputShapeModel shapeModel)
        {
            CreateCanvas();

            var position = SKTextAlign.Center;

            switch (shapeModel.Position)
            {
            case TextAlignment.Left: position = SKTextAlign.Left; break;

            case TextAlignment.Right: position = SKTextAlign.Right; break;
            }

            var pen = new SKPaint
            {
                TextAlign = position,
                TextSize  = (float)shapeModel.Size,
                Color     = shapeModel.Color.ToSKColor()
            };

            _canvas.DrawText(
                content,
                (float)point.X,
                (float)point.Y,
                pen);

            pen.Dispose();
        }
コード例 #3
0
        /// <summary>
        /// Create circle
        /// </summary>
        /// <param name="point"></param>
        /// <param name="shapeModel"></param>
        public override void CreateCircle(Point point, IInputShapeModel shapeModel)
        {
            CreateCanvas();

            var pen = new SKPaint
            {
                Style = SKPaintStyle.Fill,
                Color = shapeModel.Color.ToSKColor()
            };

            _canvas.DrawCircle(
                (float)point.X,
                (float)point.Y,
                (float)shapeModel.Size,
                pen);

            pen.Dispose();
        }
コード例 #4
0
        /// <summary>
        /// Create line
        /// </summary>
        /// <param name="pointSource"></param>
        /// <param name="pointDestination"></param>
        /// <param name="shapeModel"></param>
        public override void CreateLine(Point pointSource, Point pointDestination, IInputShapeModel shapeModel)
        {
            CreateCanvas();

            var pen = new SKPaint
            {
                Style       = SKPaintStyle.Stroke,
                Color       = shapeModel.Color.ToSKColor(),
                StrokeWidth = (float)shapeModel.Size
            };

            _canvas.DrawLine(
                (float)pointSource.X,
                (float)pointSource.Y,
                (float)pointDestination.X,
                (float)pointDestination.Y,
                pen);

            pen.Dispose();
        }
コード例 #5
0
ファイル: CanvasControl.cs プロジェクト: Indemos/Terminal
 /// <summary>
 /// Create circle
 /// </summary>
 /// <param name="point"></param>
 /// <param name="shapeModel"></param>
 public virtual void CreateCircle(Point point, IInputShapeModel shapeModel)
 {
 }
コード例 #6
0
ファイル: CanvasControl.cs プロジェクト: Indemos/Terminal
 /// <summary>
 /// Create line
 /// </summary>
 /// <param name="pointSource"></param>
 /// <param name="pointDestination"></param>
 /// <param name="shapeModel"></param>
 public virtual void CreateLine(Point pointSource, Point pointDestination, IInputShapeModel shapeModel)
 {
 }
コード例 #7
0
ファイル: CanvasControl.cs プロジェクト: Indemos/Terminal
 /// <summary>
 /// Create label
 /// </summary>
 /// <param name="point"></param>
 /// <param name="content"></param>
 /// <param name="shapeModel"></param>
 public virtual void CreateLabel(Point point, string content, IInputShapeModel shapeModel)
 {
 }
コード例 #8
0
ファイル: CanvasControl.cs プロジェクト: Indemos/Terminal
 /// <summary>
 /// Create shape
 /// </summary>
 /// <param name="points"></param>
 /// <param name="shapeModel"></param>
 public virtual void CreateShape(IList <Point> points, IInputShapeModel shapeModel)
 {
 }