public StringLayoutLogger(string layout, IStringBuffer stringBuffer,IFilter filter) { Layout = layout; m_filter = filter; m_stringBuffer = stringBuffer; m_stringLayoutRenderer = new StringLayoutRenderer(layout); }
/// <summary> /// Calculates the number of lines when WordWrapping is enabled. /// If WWrap isn't enabled, calculates the same but to 1 line given /// that it's never sent more then a line. /// </summary> public int GetMeasure(IStringBuffer buffer, ITcTextStyle tstyle, RectangleF R) { Graphics G = Graphics.FromImage(new Bitmap(640, 480)); G.PageUnit = tstyle.DrawingUnits; Trace.WriteLine(tstyle.DrawingUnits.ToString()); Trace.WriteLine(tstyle.Font.ToString()); Trace.WriteLine(tstyle.Font.Unit.ToString()); List <Region> m_reg = new List <Region>(); List <CharacterRange> cra = new List <CharacterRange>(); int i = 0; string tst = buffer.Text.Substring(Start, Length); foreach (char X in tst) { cra.Add(new CharacterRange(i, 1)); Trace.WriteLine(cra[cra.Count - 1].ToString()); i++; } StringFormat fmt = (StringFormat)tstyle.StrFmt.Clone(); if (cra.Count == 0) { return(-1); } fmt.SetMeasurableCharacterRanges(cra.ToArray()); Region[] rexx = tstyle.m_gfx.MeasureCharacterRanges( tst, tstyle.Font, R, fmt ); Trace.WriteLine(tst); foreach (Region reg in rexx) { Trace.WriteLine("?: " + reg.GetBounds(G).Size.ToString()); } return(-1); }
public StringLayoutLogger(IStringBuffer stringBuffer,IFilter filter) : this("${longdate} ${title} ${message}", stringBuffer, filter) { }
public StringLayoutLogger(string layout, IStringBuffer stringBuffer) : this(layout, stringBuffer, null) { }