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)); }