public Button(Bounds bounds, string text, Action onClick, App app)
        {
            _app                      = app;
            _onClick                  = onClick;
            pixelCoords               = new int[4];
            glCoordinates             = new float[] { bounds[0], bounds[1], bounds[2], bounds[3] };
            textSprite                = new TextSprite(bounds, text);
            rectangleBackground       = new RectangleBackground(bounds);
            rectangleBackground.Color = colorHover;

            colorIdle  = new Vector4(1f, 1f, 1f, 0.6f);
            colorHover = new Vector4(1f, 1f, 1f, 0.9f);
        }
        public WeatherDataLabel(Bounds bounds, App app)
        {
            glCoordinates = new float[] { bounds[0], bounds[1], bounds[2], bounds[3] };
            this.app      = app;
            pixelCoords   = new int[4];
            dataLabels    = new Button[0];

            background       = new RectangleBackground(bounds);
            background.Color = new Vector4(1f, 1f, 1f, 0.6f);

            UpdatePixelScale();
            SetupNoConnectionSprite();
        }