public ButtonHover(DrawableRectangle rectangle, Texture2D white_pixel, SpriteFont tooltip_font, string tooltip_text)
 {
     button_hover = new DrawableRectangle(rectangle.texture, rectangle.Area, Color.White * 0.5f);
     this.tooltip_font = tooltip_font;
     this.tooltip_text = tooltip_text;
     Vector2 tooltip_text_size = tooltip_font.MeasureString(tooltip_text);
     Rectangle tooltip_rect = new Rectangle(0, button_hover.Area.Y, (int)Math.Ceiling(tooltip_text_size.X), (int)Math.Ceiling(tooltip_text_size.Y));
     tooltip_rect = tooltip_rect.LeftAlignOn(button_hover.Area).OffsetBy(0, -1 * tooltip_rect.Height - 6);
     tooltip_text_position = tooltip_rect.GetPosition();
     tooltip_rect = tooltip_rect.BufferBy(8);
     tooltip_box = new DrawableRectangle(white_pixel, tooltip_rect, Color.White, 2, Color.Black);
 }