Ejemplo n.º 1
0
        public TextWidget(string Text, T left, T bottom, T CapitalHeight)
            : base(M.Zero <T>(), M.Zero <T>(), M.Zero <T>(), M.Zero <T>())
        {
            m_text_color = (new RGBA_Doubles(0.0, 0.0, 0.0));
            m_BorderSize = CapitalHeight.Multiply(.2);
            m_Thickness  = CapitalHeight.Divide(8);
            m_CapsHeight = CapitalHeight;
            m_text       = new GsvText <T>();
            m_text.Text  = Text;
            m_text_poly  = new ConvStroke <T>(m_text);
            m_idx        = (0);
            T MinX, MinY, MaxX, MaxY;

            GetTextBounds(out MinX, out MinY, out MaxX, out MaxY);
            T FullWidth  = MaxX.Subtract(MinX).Add(m_BorderSize.Multiply(2));
            T FullHeight = m_CapsHeight.Add(m_text.AscenderHeight).Add(m_text.DescenderHeight).Add(m_BorderSize.Multiply(2));

            Bounds = new RectDouble <T>(left, bottom, left.Add(FullWidth), bottom.Add(FullHeight));
        }