public override void FillRectangle <TRectangle, TBrush>(TRectangle rect, TBrush brush) { var useRect = GetAbsoluteGdiRectangle(rect); var useBrush = GdiTypeConverter.GetBrush(brush); Graphics.FillRectangle(useBrush, useRect); }
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); }
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); } }
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)); }