public override void DrawEllipse(EllipseParameters parms) { using (DeviceContextHandler dch = GetDeviceContextHandler()) { Rectangle rect = Style.GetAdjustedRectangle(parms); if (!Style.FillParameters.Disabled) { dch.DrawingSurface.FillEllipse(Style.FillParameters.ToBrush(rect.SystemRectangleF), rect.X, rect.Y, rect.Width, rect.Height); } if (!Style.StrokeParameters.Disabled) { dch.DrawingSurface.DrawEllipse(Style.StrokeParameters.ToPen(), rect.X, rect.Y, rect.Width, rect.Height); } } }
public override void DrawArc(ArcParameters parms) { using (DeviceContextHandler dch = GetDeviceContextHandler()) { Rectangle rect = Style.GetAdjustedRectangle(parms); if (!Style.FillParameters.Disabled) { dch.DrawingSurface.FillPie(Style.FillParameters.ToBrush(), rect.X, rect.Y, rect.Width, rect.Height, parms.Start, parms.Stop); } if (!Style.StrokeParameters.Disabled) { dch.DrawingSurface.DrawArc(Style.StrokeParameters.ToPen(), rect.X, rect.Y, rect.Width, rect.Height, parms.Start, parms.Stop); } } }
public override void DrawText(TextParameters parms) { if (!Style.StrokeParameters.Disabled) { using (DeviceContextHandler dch = GetDeviceContextHandler()) { Rectangle rect = new Rectangle(parms.X, parms.Y, parms.Width, parms.Height); //TextFormatFlags tff = TextFormatFlags.VerticalCenter | TextFormatFlags.HorizontalCenter | TextFormatFlags.WordBreak; //TextRenderer.DrawText(_graphics, parms.Text, _currentFont, rect, _currentStroke.Color, tff); StringFormat sf = new StringFormat(); sf.LineAlignment = Style.TextVerticalAlignment == VerticalAlignment.Bottom ? StringAlignment.Far : Style.TextVerticalAlignment == VerticalAlignment.Top ? StringAlignment.Near : StringAlignment.Center; sf.Alignment = Style.TextHorizontalAlignment == HorizontalAlignment.Right ? StringAlignment.Far : Style.TextHorizontalAlignment == HorizontalAlignment.Left ? StringAlignment.Near : StringAlignment.Center; dch.DrawingSurface.DrawString(parms.Text, Style.Font, Style.StrokeParameters.ToBrush(), rect.SystemRectangleF, sf); } } }
public override void DrawImage(ImageParameters parms) { using (DeviceContextHandler dch = GetDeviceContextHandler()) { try { Rectangle rect = Style.GetAdjustedRectangle(parms); if (!Style.TintParameters.Disabled) { dch.DrawingSurface.DrawImage(parms.Image.Bitmap, rect.SystemRectangle, 0, 0, parms.Image.Width, parms.Image.Height, GraphicsUnit.Pixel, Style.TintParameters.ImageAttributes); } else { dch.DrawingSurface.DrawImage(parms.Image.Bitmap, rect.SystemRectangleF); } } catch (Exception e) { Console.WriteLine(e.Message + Environment.NewLine + e.StackTrace); } } }