示例#1
0
        public override void FillRectangle <TRectangle, TBrush>(TRectangle rect,
                                                                TBrush brush)
        {
            var useRect  = GetAbsoluteGdiRectangle(rect);
            var useBrush = GdiTypeConverter.GetBrush(brush);

            Graphics.FillRectangle(useBrush, useRect);
        }
示例#2
0
        public override void DrawString <TFont, TBrush, TRectangle>(String s,
                                                                    TFont font,
                                                                    TRectangle location,
                                                                    TBrush brush)
        {
            var rect = GetAbsoluteGdiRectangle(location);

            var useBrush = GdiTypeConverter.GetBrush(brush);
            var useFont  = GdiTypeConverter.GetFont(font);

            Graphics.DrawString(s, useFont, useBrush, rect, StringFormat.GenericDefault);
            // text renderer doesn't wrap the text
            //TextRenderer.DrawText(Graphics, s, useFont, rect, color);
        }
示例#3
0
        public override void FillRoundedRectangle <TRectangle, TBrush, TThickness>(TRectangle rect,
                                                                                   TBrush brush,
                                                                                   TThickness cornerRadii)
        {
            if (cornerRadii.IsEmpty)
            {
                FillRectangle(rect, brush);
                return;
            }

            var useRect = _boxModel.GetAbsoluteRect(rect, ZoomLevel);

            var useBrush = GdiTypeConverter.GetBrush(brush);

            using (var path = new GdiGraphicsPath())
            {
                path.SetRoundedRectangle(useRect, cornerRadii);
                Graphics.FillPath(useBrush, path.Path);
            }
        }
示例#4
0
        public override void FillPie <TPoint, TBrush>(TPoint center,
                                                      Double radius,
                                                      Double startAngle,
                                                      Double endAngle,
                                                      TBrush brush)
        {
            var c = _boxModel.GetAbsolutePoint(center, ZoomLevel);

            var useBrush = GdiTypeConverter.GetBrush(brush);
            var asRect   = new RectangleF((Single)(c.X - radius), (Single)(c.Y - radius),
                                          (Single)radius * 2, (Single)radius * 2);

            if (asRect.Width <= 0 || asRect.Height <= 0)
            {
                return;
            }

            Graphics.FillPie(useBrush, asRect.X, asRect.Y, asRect.Width, asRect.Height,
                             (Single)startAngle, (Single)(endAngle - startAngle));
        }