Rogue: Savage Rats, a retro-themed dungeon crawler
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
rogue-savage-rats/src/mightypork/gamecore/gui/components/painters/QuadPainter.java

72 lines
1.6 KiB

package mightypork.gamecore.gui.components.painters;
import mightypork.gamecore.gui.components.BaseComponent;
import mightypork.gamecore.render.Render;
import mightypork.gamecore.util.annot.FactoryMethod;
import mightypork.gamecore.util.math.color.Color;
/**
* Draws image in given rect
*
* @author Ondřej Hruška (MightyPork)
*/
public class QuadPainter extends BaseComponent {
@FactoryMethod
public static QuadPainter gradH(Color colorLeft, Color colorRight)
{
return new QuadPainter(colorLeft, colorRight, colorRight, colorLeft);
}
@FactoryMethod
public static QuadPainter gradV(Color colorTop, Color colorBottom)
{
return new QuadPainter(colorTop, colorTop, colorBottom, colorBottom);
}
private final Color colorHMinVMin;
private final Color colorHMaxVMin;
private final Color colorHMaxVMax;
private final Color colorHMinVMax;
/**
* Painter with solid color
*
* @param color
*/
public QuadPainter(Color color)
{
this.colorHMinVMin = color;
this.colorHMaxVMin = color;
this.colorHMaxVMax = color;
this.colorHMinVMax = color;
}
/**
* Painter with coloured vertices.
*
* @param colorHMinVMin
* @param colorHMaxVMin
* @param colorHMaxVMax
* @param colorHMinVMax
*/
public QuadPainter(Color colorHMinVMin, Color colorHMaxVMin, Color colorHMaxVMax, Color colorHMinVMax)
{
this.colorHMinVMin = colorHMinVMin;
this.colorHMaxVMin = colorHMaxVMin;
this.colorHMaxVMax = colorHMaxVMax;
this.colorHMinVMax = colorHMinVMax;
}
@Override
public void renderComponent()
{
Render.quadColor(getRect(), colorHMinVMin, colorHMaxVMin, colorHMaxVMax, colorHMinVMax);
}
}