Turtle programming game that was never finished to a playable state (but had cute graphics and sounds)
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.
tortuga/src/net/tortuga/gui/widgets/display/ColorRectange.java

116 lines
2.0 KiB

package net.tortuga.gui.widgets.display;
import net.tortuga.gui.widgets.Widget;
import net.tortuga.util.RenderUtils;
import com.porcupine.color.RGB;
import com.porcupine.coord.Coord;
/**
* Space
*
* @author Ondřej Hruška (MightyPork)
*/
public class ColorRectange extends Widget {
/**
* Colour rectange
*
* @param width min width
* @param height min height
* @param margin widget margin
* @param border widget border (bevel in rectangle)
* @param color color (referenced!)
*/
public ColorRectange(int width, int height, int margin, int border, RGB color) {
setMargins(margin, margin, margin, margin);
setMinSize(width, height);
this.border = border;
this.rectColor = color;
}
public String tooltipText = "";
public RGB tooltipColor = RGB.WHITE;
/**
* Set tooltip
*
* @param text text
* @param color render color
* @return this
*/
public ColorRectange setTooltip(String text, RGB color)
{
tooltipColor = color;
tooltipText = text;
return this;
}
public int border = 3;
public RGB rectColor = RGB.GREEN;
public ColorRectange setColorRect(RGB newColor)
{
rectColor = newColor;
return this;
}
public ColorRectange setBorderWidth(int w)
{
border = w;
return this;
}
private long mouseEnterTime = 0;
@Override
public void render(Coord mouse)
{
RenderUtils.quadRectOutset(rect, border, rectColor, false);
boolean hover = isMouseOver(mouse);
if (enabled && hover && tooltipText.length() > 0) {
if (System.currentTimeMillis() - mouseEnterTime > 1000) {
renderTooltip(tooltipText, tooltipColor);
}
} else {
mouseEnterTime = System.currentTimeMillis();
}
}
@Override
public Widget onMouseButton(Coord pos, int button, boolean down)
{
return null;
}
@Override
public Widget onScroll(Coord pos, int scroll)
{
return null;
}
@Override
public Widget onKey(int key, char chr, boolean down)
{
return null;
}
@Override
public void calcChildSizes()
{
rect.setTo(0, 0, minSize.x, minSize.y);
}
}