/// <summary> /// Renders the specified HTML source on the specified area clipping if specified /// </summary> /// <param name="g">Device to draw</param> /// <param name="html">HTML source</param> /// <param name="area">Area where HTML should be drawn</param> /// <param name="clip">If true, it will only paint on the specified area</param> public static void Render(Graphics g, string html, RectangleF area, bool clip) { InitialContainer container = new InitialContainer(html); Region prevClip = g.Clip; if (clip) g.SetClip(area); container.SetBounds(area); container.MeasureBounds(g); container.Paint(g); if (clip) g.SetClip(prevClip, System.Drawing.Drawing2D.CombineMode.Replace); }
/// <summary> /// Renders the specified HTML source on the specified area clipping if specified /// </summary> /// <param name="g">Device to draw</param> /// <param name="html">HTML source</param> /// <param name="area">Area where HTML should be drawn</param> /// <param name="clip">If true, it will only paint on the specified area</param> public static void Render(Graphics g, string html, RectangleF area, bool clip) { InitialContainer container = new InitialContainer(html); Region prevClip = g.Clip; if (clip) { g.SetClip(area); } container.SetBounds(area); container.MeasureBounds(g); container.Paint(g); if (clip) { g.SetClip(prevClip, System.Drawing.Drawing2D.CombineMode.Replace); } }
void HtmlToolTip_Popup(object sender, PopupEventArgs e) { string text = this.GetToolTip(e.AssociatedControl); string font = string.Format(NumberFormatInfo.InvariantInfo, "font: {0}pt {1}", e.AssociatedControl.Font.Size, e.AssociatedControl.Font.FontFamily.Name); //Create fragment container container = new InitialContainer("<table class=htmltooltipbackground cellspacing=5 cellpadding=0 style=\"" + font + "\"><tr><td style=border:0px>" + text + "</td></tr></table>"); container.SetBounds(new Rectangle(0, 0, 10, 10)); container.AvoidGeometryAntialias = true; //Measure bounds of the container using (Graphics g = e.AssociatedControl.CreateGraphics()) { container.MeasureBounds(g); } //Set the size of the tooltip e.ToolTipSize = Size.Round(container.MaximumSize); }
void HtmlToolTip_Popup(object sender, PopupEventArgs e) { string text = this.GetToolTip(e.AssociatedControl); string font = string.Format(NumberFormatInfo.InvariantInfo, "font: {0}pt {1}", e.AssociatedControl.Font.Size, e.AssociatedControl.Font.FontFamily.Name); //Create fragment container container = new InitialContainer("<table class=htmltooltipbackground cellspacing=5 cellpadding=0 style=\"" + font + "\"><tr><td style=border:0px>" + text + "</td></tr></table>"); container.SetBounds(new Rectangle(0, 0, 10, 10)); container.AvoidGeometryAntialias = true; //Measure bounds of the container using (Graphics g = e.AssociatedControl.CreateGraphics()) { container.MeasureBounds(g); } //Set the size of the tooltip e.ToolTipSize = Size.Round(container.MaximumSize); }
public static SizeF GetPreferredSize(Graphics g, string html, float width) { InitialContainer container = new InitialContainer(html); RectangleF area = new RectangleF(new PointF(0, 0), new SizeF(width, 0)); container.SetBounds(area); container.MeasureBounds(g, true); return container.MaximumSize; }