// Constructor for text-only buttons
        public Button(Point Position, string Text, SpriteFont Font, Color Default,
            Color MouseOver, Action Callback,
            eButtonAlign Align = eButtonAlign.Center)
        {
            // Grab the extents of this text so we can align it properly
            Vector2 vTextSize = Font.MeasureString(Text);

            switch (Align)
            {
                case (eButtonAlign.Left):
                    m_Bounds.Location = Position;
                    break;
                case (eButtonAlign.Center):
                    m_Bounds.Location = Position;
                    m_Bounds.X -= (int)(vTextSize.X / 2.0f);
                    m_Bounds.Y -= (int)(vTextSize.Y / 2.0f);
                    break;
                case (eButtonAlign.Right):
                    m_Bounds.Location = Position;
                    m_Bounds.X -= (int)vTextSize.X;
                    break;
            }

            m_Bounds.Width = (int)vTextSize.X;
            m_Bounds.Height = (int)vTextSize.Y;

            m_Text = Text;
            m_Font = Font;
            m_ColorDefault = Default;
            m_ColorFocus = MouseOver;

            OnClick += Callback;
        }
Example #2
0
        // Constructor for text-only buttons
        public ScoreButton(Point Position, string Text, SpriteFont Font, Color Default,
                           Color MouseOver,
                           eButtonAlign Align = eButtonAlign.Center)
        {
            // Grab the extents of this text so we can align it properly
            Vector2 vTextSize = Font.MeasureString(Text);

            switch (Align)
            {
            case (eButtonAlign.Left):
                m_Bounds.Location = Position;
                break;

            case (eButtonAlign.Center):
                m_Bounds.Location = Position;
                m_Bounds.X       -= (int)(vTextSize.X / 2.0f);
                m_Bounds.Y       -= (int)(vTextSize.Y / 2.0f);
                break;

            case (eButtonAlign.Right):
                m_Bounds.Location = Position;
                m_Bounds.X       -= (int)vTextSize.X;
                break;
            }

            m_Bounds.Width  = (int)vTextSize.X;
            m_Bounds.Height = (int)vTextSize.Y;

            m_Text         = Text;
            m_Font         = Font;
            m_ColorDefault = Default;
            m_ColorFocus   = MouseOver;
        }
Example #3
0
        // Constructor for text-only buttons
        public Button(Point Position, string TextKey, SpriteFont Font, Color Default,
                      Color MouseOver, Action Callback,
                      eButtonAlign Align = eButtonAlign.Center, string TooltipKey = "", LinkedList <TipData> list = null)
        {
            string Text = Localization.Get().Text(TextKey);
            // Grab the extents of this text so we can align it properly
            Vector2 vTextSize = Font.MeasureString(Text);

            switch (Align)
            {
            case (eButtonAlign.Left):
                m_Bounds.Location = Position;
                break;

            case (eButtonAlign.Center):
                m_Bounds.Location = Position;
                m_Bounds.X       -= (int)(vTextSize.X / 2.0f);
                m_Bounds.Y       -= (int)(vTextSize.Y / 2.0f);
                break;

            case (eButtonAlign.Right):
                m_Bounds.Location = Position;
                m_Bounds.X       -= (int)vTextSize.X;
                break;
            }

            m_Bounds.Width  = (int)vTextSize.X;
            m_Bounds.Height = (int)vTextSize.Y;

            m_Text         = Text;
            m_Font         = Font;
            m_ColorDefault = Default;
            m_ColorFocus   = MouseOver;

            OnClick += Callback;

            MakeTooltip(TooltipKey, list);
        }
Example #4
0
        // Constructor for text-only buttons
        public Button(Point Position, string TextKey, SpriteFont Font, Color Default,
			Color MouseOver, Action Callback,
			eButtonAlign Align = eButtonAlign.Center, string TooltipKey = "", LinkedList<TipData> list = null)
        {
            string Text = Localization.Get().Text(TextKey);
            // Grab the extents of this text so we can align it properly
            Vector2 vTextSize = Font.MeasureString(Text);

            switch (Align)
            {
                case (eButtonAlign.Left):
                    m_Bounds.Location = Position;
                    break;
                case (eButtonAlign.Center):
                    m_Bounds.Location = Position;
                    m_Bounds.X -= (int)(vTextSize.X / 2.0f);
                    m_Bounds.Y -= (int)(vTextSize.Y / 2.0f);
                    break;
                case (eButtonAlign.Right):
                    m_Bounds.Location = Position;
                    m_Bounds.X -= (int)vTextSize.X;
                    break;
            }

            m_Bounds.Width = (int)vTextSize.X;
            m_Bounds.Height = (int)vTextSize.Y;

            m_Text = Text;
            m_Font = Font;
            m_ColorDefault = Default;
            m_ColorFocus = MouseOver;

            OnClick += Callback;

            MakeTooltip(TooltipKey, list);
        }