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