protected void onRender(GraphicsHelper gh) {
		Rectangle rect = new Rectangle(xOnView(pos.x),yOnView(pos.y),size.x,size.y);
		
		gh.drawRectangleGradient(rect,cBgTop.multiply(color),cBgTop.multiply(color),cBgBottom.multiply(color),cBgBottom.multiply(color));
		gh.g().setColor(cBorder.multiply(color));
		gh.g().draw(rect);
		
		float mult = pressed ? cMultPress : (over ? cMultOver : 0f);
		
		if (mult != 0f) {
			gh.setBlendMode(mult > 0 ? BM_ADD : BM_SUBTRACT);
			mult = Math.abs(mult);
			gh.g().setColor(Colors.merge(Color.black,Color.white,mult).multiply(color));
			gh.g().fill(rect);
			gh.setPreviousBlendMode();
		}
		
		if (!text.isEmpty()) {
			gh.g().setFont(font);
			gh.g().setColor(cText.multiply(color));
			Fonts.setFontAlign(Fonts.MiddleCenter);
			Fonts.drawString(gh,text,xOnView(pos.x)+size.x/2f,yOnView(pos.y)+size.y/2f);
			Fonts.resetFontAlign();
		}
	}