public StringLayoutLogger(string layout, IStringBuffer stringBuffer,IFilter filter)
 {
     Layout = layout;
     m_filter = filter;
     m_stringBuffer = stringBuffer;
     m_stringLayoutRenderer = new StringLayoutRenderer(layout);
 }
Example #2
0
        /// <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)
 {
 }