Example #1
0
        public override void DrawRect <TRectangle, TPen>(TRectangle rect,
                                                         TPen pen)
        {
            var useRect = GetAbsoluteGdiRectangle(rect);
            var usePen  = GdiTypeConverter.GetPen(pen);

            Graphics.DrawRectangle(usePen, useRect);
        }
Example #2
0
        public override void DrawLine <TPen, TPoint1, TPoint2>(TPen pen,
                                                               TPoint1 pt1,
                                                               TPoint2 pt2)
        {
            var usePen = GdiTypeConverter.GetPen(pen);
            var l1     = GetAbsoluteGdiPoint(pt1);
            var l2     = GetAbsoluteGdiPoint(pt2);

            Graphics.DrawLine(usePen, l1, l2);
        }
Example #3
0
        public override void DrawLines(IPen pen, IPoint2D[] points)
        {
            var usePen  = GdiTypeConverter.GetPen(pen);
            var gPoints = new PointF[points.Length];

            for (var c = 0; c < points.Length; c++)
            {
                gPoints[c] = GetAbsoluteGdiPoint(points[c]);
            }

            Graphics.DrawLines(usePen, gPoints);
        }
Example #4
0
        public override void DrawEllipse <TPoint, TPen>(TPoint center,
                                                        Double radius,
                                                        TPen pen)
        {
            var c = _boxModel.GetAbsolutePoint(center, ZoomLevel);

            var usePen = GdiTypeConverter.GetPen(pen);
            var asRect = new Rectangle(Convert.ToInt32(c.X - radius),
                                       Convert.ToInt32(c.Y - radius),
                                       Convert.ToInt32(radius * 2), Convert.ToInt32(radius * 2));

            Graphics.DrawEllipse(usePen, asRect);
        }
Example #5
0
        public override void DrawRoundedRect <TRectangle, TPen, TThickness>(TRectangle rect,
                                                                            TPen pen,
                                                                            TThickness cornerRadii)
        {
            if (cornerRadii.IsEmpty)
            {
                DrawRect(rect, pen);
                return;
            }

            var useRect = _boxModel.GetAbsoluteRect(rect, ZoomLevel);
            var usePen  = GdiTypeConverter.GetPen(pen);

            using (var path = new GdiGraphicsPath())
            {
                path.SetRoundedRectangle(useRect, cornerRadii);
                Graphics.DrawPath(usePen, path.Path);
            }
        }