private ControlButtonViewBase getButtonWidgetDisabled(string buttonText)
        {
            RGBA_Bytes            fillColor   = new RGBA_Bytes(245, 245, 245);
            RGBA_Bytes            borderColor = new RGBA_Bytes(204, 204, 204);
            RGBA_Bytes            textColor   = new RGBA_Bytes(153, 153, 153);
            ControlButtonViewBase widget      = new ControlButtonViewBase(buttonText,
                                                                          this.width,
                                                                          this.height,
                                                                          this.fontSize,
                                                                          this.borderWidth,
                                                                          this.borderRadius,
                                                                          this.padding,
                                                                          textColor,
                                                                          fillColor,
                                                                          borderColor);

            return(widget);
        }
        public ControlButtonViewBase getButtonWidgetNormal(string buttonText)
        {
            RGBA_Bytes            fillColor   = new RGBA_Bytes(245, 245, 245);
            RGBA_Bytes            borderColor = new RGBA_Bytes(204, 204, 204);
            RGBA_Bytes            textColor   = new RGBA_Bytes(69, 69, 69);
            ControlButtonViewBase widget      = new ControlButtonViewBase(buttonText,
                                                                          this.width,
                                                                          this.height,
                                                                          this.fontSize,
                                                                          this.borderWidth,
                                                                          this.borderRadius,
                                                                          this.padding,
                                                                          textColor,
                                                                          fillColor,
                                                                          borderColor);

            return(widget);
        }
        private ControlButtonViewBase getButtonWidgetHover(string buttonText)
        {
            RGBA_Bytes            fillColor   = new RGBA_Bytes(63, 63, 70);
            RGBA_Bytes            borderColor = RGBA_Bytes.LightGray;
            RGBA_Bytes            textColor   = new RGBA_Bytes(230, 230, 230);
            ControlButtonViewBase widget      = new ControlButtonViewBase(buttonText,
                                                                          this.width,
                                                                          this.height,
                                                                          this.fontSize,
                                                                          this.borderWidth,
                                                                          this.borderRadius,
                                                                          this.padding,
                                                                          textColor,
                                                                          fillColor,
                                                                          borderColor);

            return(widget);
        }
        public Button Generate(string buttonText)
        {
            //Widgets to show during the four button states
            ControlButtonViewBase buttonWidgetPressed  = getButtonWidgetPressed(buttonText);
            ControlButtonViewBase buttonWidgetHover    = getButtonWidgetHover(buttonText);
            ControlButtonViewBase buttonWidgetNormal   = getButtonWidgetNormal(buttonText);
            ControlButtonViewBase buttonWidgetDisabled = getButtonWidgetDisabled(buttonText);

            //Create container for the three state widgets for the button
            ButtonViewStates buttonViewWidget = new ButtonViewStates(buttonWidgetNormal, buttonWidgetHover, buttonWidgetPressed, buttonWidgetDisabled);

            //Create button based on view container widget
            Button controlButton = new Button(0, 0, buttonViewWidget);

            controlButton.Margin = margin;

            return(controlButton);
        }
		private ControlButtonViewBase getButtonWidgetDisabled(string buttonText)
		{
			RGBA_Bytes fillColor = new RGBA_Bytes(245, 245, 245);
			RGBA_Bytes borderColor = new RGBA_Bytes(204, 204, 204);
			RGBA_Bytes textColor = new RGBA_Bytes(153, 153, 153);
			ControlButtonViewBase widget = new ControlButtonViewBase(buttonText,
															   this.width,
															   this.height,
															   this.fontSize,
															   this.borderWidth,
															   this.borderRadius,
															   this.padding,
															   textColor,
															   fillColor,
															   borderColor);
			return widget;
		}
		public ControlButtonViewBase getButtonWidgetNormal(string buttonText)
		{
			RGBA_Bytes fillColor = new RGBA_Bytes(245, 245, 245);
			RGBA_Bytes borderColor = new RGBA_Bytes(204, 204, 204);
			RGBA_Bytes textColor = new RGBA_Bytes(69, 69, 69);
			ControlButtonViewBase widget = new ControlButtonViewBase(buttonText,
															   this.width,
															   this.height,
															   this.fontSize,
															   this.borderWidth,
															   this.borderRadius,
															   this.padding,
															   textColor,
															   fillColor,
															   borderColor);
			return widget;
		}
		private ControlButtonViewBase getButtonWidgetHover(string buttonText)
		{
			RGBA_Bytes fillColor = new RGBA_Bytes(63, 63, 70);
			RGBA_Bytes borderColor = RGBA_Bytes.LightGray;
			RGBA_Bytes textColor = new RGBA_Bytes(230, 230, 230);
			ControlButtonViewBase widget = new ControlButtonViewBase(buttonText,
															   this.width,
															   this.height,
															   this.fontSize,
															   this.borderWidth,
															   this.borderRadius,
															   this.padding,
															   textColor,
															   fillColor,
															   borderColor);
			return widget;
		}