colors & fixed a bug in layout

This commit is contained in:
ondra
2014-04-16 12:31:14 +02:00
parent 990c3de5ca
commit 225f062684
29 changed files with 459 additions and 738 deletions
+4 -1
View File
@@ -60,12 +60,15 @@ public class Res {
font = new DeferredFont("/res/font/PolygonPixel5x7Standard.ttf", Glyphs.basic, 16);
font.setAntialias(true);
font.setFilter(FilterMode.NEAREST);
fonts.loadFont("default", font);
fonts.loadFont("polygon_pixel", font);
font = new DeferredFont("/res/font/PressStart2P.ttf", Glyphs.basic, 16);
font.setAntialias(true);
font.setFilter(FilterMode.NEAREST);
fonts.loadFont("press_start", font);
fonts.addAlias("default", "polygon_pixel");
fonts.addAlias("main_menu_button", "press_start");
}
+3 -3
View File
@@ -10,7 +10,7 @@ import mightypork.gamecore.input.KeyStroke;
import mightypork.gamecore.input.Keys;
import mightypork.gamecore.render.fonts.GLFont;
import mightypork.rogue.Res;
import mightypork.utils.math.color.RGB;
import mightypork.utils.math.color.Color;
import mightypork.utils.math.constraints.rect.proxy.RectBound;
import mightypork.utils.math.constraints.vect.Vect;
import mightypork.utils.string.StringProvider;
@@ -40,7 +40,7 @@ public class LayerFps extends ScreenLayer {
final RectBound constraint = root.topRight().add(-8, 8).expand(0, 0, 0, 32);
tp = new TextPainter(font, AlignX.RIGHT, RGB.WHITE, new StringProvider() {
tp = new TextPainter(font, AlignX.RIGHT, Color.WHITE, new StringProvider() {
@Override
public String getString()
@@ -50,7 +50,7 @@ public class LayerFps extends ScreenLayer {
});
tp.setRect(constraint);
tp.setShadow(RGB.BLACK, Vect.make(tp.height().div(16)));
tp.setShadow(Color.BLACK, Vect.make(tp.height().div(16)));
root.add(tp);
}
@@ -0,0 +1,28 @@
package mightypork.rogue.screens.main_menu;
import mightypork.gamecore.gui.AlignX;
import mightypork.gamecore.gui.components.ClickableComponent;
import mightypork.gamecore.gui.components.painters.TextPainter;
import mightypork.gamecore.render.fonts.GLFont;
import mightypork.rogue.Res;
import mightypork.utils.math.color.Color;
class MenuButton extends ClickableComponent {
private static GLFont font = Res.getFont("main_menu_button");
private TextPainter painter;
public MenuButton(String text, Color color) {
this.painter = new TextPainter(font, AlignX.CENTER, color, text);
painter.setRect(this.shrink(this.height().perc(5)));
}
@Override
protected void renderComponent()
{
painter.render();
}
}
@@ -1,5 +1,9 @@
package mightypork.rogue.screens.main_menu;
import java.net.Authenticator.RequestorType;
import mightypork.gamecore.control.bus.events.ScreenRequestEvent;
import mightypork.gamecore.gui.Action;
import mightypork.gamecore.gui.AlignX;
import mightypork.gamecore.gui.AlignY;
import mightypork.gamecore.gui.components.layout.VerticalFixedFlowLayout;
@@ -8,7 +12,9 @@ import mightypork.gamecore.gui.screens.Screen;
import mightypork.gamecore.gui.screens.ScreenLayer;
import mightypork.gamecore.render.fonts.GLFont;
import mightypork.rogue.Res;
import mightypork.utils.math.color.RGB;
import mightypork.rogue.events.ActionRequest;
import mightypork.rogue.events.ActionRequest.RequestType;
import mightypork.utils.math.color.Color;
import mightypork.utils.math.constraints.num.Num;
import mightypork.utils.math.constraints.rect.Rect;
@@ -25,16 +31,54 @@ class MenuLayer extends ScreenLayer {
{
Rect menuBox = root.shrink(root.height().min(root.width()).mul(0.1));
Num lineHeight = menuBox.height().min(menuBox.width()).mul(0.13);
Num lineHeight = menuBox.height().min(menuBox.width()).mul(0.1);
VerticalFixedFlowLayout layout = new VerticalFixedFlowLayout(root, menuBox, lineHeight, AlignY.TOP);
root.add(layout);
GLFont f = Res.getFont("press_start");
layout.add(new TextPainter(f, AlignX.CENTER, RGB.WHITE, "Hello!"));
layout.add(new TextPainter(f, AlignX.CENTER, RGB.CYAN, "Woof Woof"));
layout.add(new TextPainter(f, AlignX.CENTER, RGB.PURPLE, "MooooOOoOO"));
layout.add(new TextPainter(f, AlignX.CENTER, RGB.GREEN, "Bye!"));
MenuButton b1,b2,b3,b4;
layout.add(b1 = new MenuButton("Render test", Color.WHITE));
layout.add(b2 = new MenuButton("Bouncy Cubes", Color.CYAN));
layout.add(b3 = new MenuButton("Flying Cat",Color.MAGENTA));
layout.add(b4 = new MenuButton("Bye!", Color.GREEN));
b1.setAction(new Action() {
@Override
protected void execute()
{
getEventBus().send(new ScreenRequestEvent("test.render"));
}
});
b2.setAction(new Action() {
@Override
protected void execute()
{
getEventBus().send(new ScreenRequestEvent("test.bouncy"));
}
});
b3.setAction(new Action() {
@Override
protected void execute()
{
getEventBus().send(new ScreenRequestEvent("test.cat"));
}
});
b4.setAction(new Action() {
@Override
protected void execute()
{
getEventBus().send(new ActionRequest(RequestType.SHUTDOWN));
}
});
}
@Override
@@ -7,7 +7,7 @@ import mightypork.gamecore.control.timing.Updateable;
import mightypork.gamecore.gui.components.VisualComponent;
import mightypork.gamecore.render.Render;
import mightypork.utils.math.Easing;
import mightypork.utils.math.color.RGB;
import mightypork.utils.math.color.Color;
import mightypork.utils.math.constraints.num.Num;
import mightypork.utils.math.constraints.num.mutable.NumAnimated;
import mightypork.utils.math.constraints.rect.Rect;
@@ -24,6 +24,7 @@ public class BouncyBox extends VisualComponent implements Updateable {
public BouncyBox() {
super();
enableCaching(true);
Rect abox;
@@ -39,7 +40,7 @@ public class BouncyBox extends VisualComponent implements Updateable {
@Override
public void renderComponent()
{
Render.quad(box, RGB.GREEN);
Render.quad(box, Color.GREEN);
}
@@ -12,7 +12,7 @@ import mightypork.gamecore.gui.screens.ScreenLayer;
import mightypork.gamecore.input.KeyStroke;
import mightypork.gamecore.input.Keys;
import mightypork.rogue.Res;
import mightypork.utils.math.color.RGB;
import mightypork.utils.math.color.Color;
import mightypork.utils.math.constraints.num.Num;
import mightypork.utils.math.constraints.vect.Vect;
@@ -54,10 +54,10 @@ public class LayerBouncyBoxes extends ScreenLayer {
boxes.add(bbr);
}
final TextPainter tp = new TextPainter(Res.getFont("default"), AlignX.LEFT, RGB.WHITE);
final TextPainter tp = new TextPainter(Res.getFont("default"), AlignX.LEFT, Color.WHITE);
tp.setText("Press \"C\" for \"Cat\" screen.");
final Num shadowOffset = tp.height().div(16);
tp.setShadow(RGB.RED, Vect.make(shadowOffset, shadowOffset));
tp.setShadow(Color.RED, Vect.make(shadowOffset, shadowOffset));
layout.add(tp);
}
@@ -0,0 +1,23 @@
package mightypork.rogue.screens.test_cat_sound;
import mightypork.gamecore.gui.components.painters.QuadPainter;
import mightypork.gamecore.gui.screens.Screen;
import mightypork.gamecore.gui.screens.ScreenLayer;
import mightypork.utils.math.color.Color;
public class LayerColor extends ScreenLayer{
public LayerColor(Screen screen, Color color) {
super(screen);
root.add(new QuadPainter(color));
}
@Override
public int getPriority()
{
return Integer.MIN_VALUE;
}
}
@@ -15,7 +15,7 @@ import mightypork.gamecore.input.KeyStroke;
import mightypork.gamecore.input.Keys;
import mightypork.rogue.Res;
import mightypork.utils.math.Easing;
import mightypork.utils.math.color.RGB;
import mightypork.utils.math.color.Color;
import mightypork.utils.math.constraints.num.Num;
import mightypork.utils.math.constraints.num.mutable.NumAnimated;
import mightypork.utils.math.constraints.rect.Rect;
@@ -48,12 +48,12 @@ public class LayerFlyingCat extends ScreenLayer implements MouseButtonEvent.List
cat.enableCaching(false);
// frame around cat
QuadPainter cat_frame = QuadPainter.gradV(RGB.YELLOW, RGB.RED);
QuadPainter cat_frame = QuadPainter.gradV(Color.YELLOW, Color.RED);
cat_frame.setRect(cat.grow(cat.height().mul(0.05)));
cat_frame.enableCaching(false);
// frame shadow
QuadPainter cat_shadow = new QuadPainter(RGB.dark(0.4));
QuadPainter cat_shadow = new QuadPainter(Color.dark(0.4));
cat_shadow.setRect(cat_frame.move(Vect.make(cat.height().mul(0.05))));
cat_shadow.enableCaching(false);
@@ -66,9 +66,9 @@ public class LayerFlyingCat extends ScreenLayer implements MouseButtonEvent.List
// Meow
TextPainter tp = new TextPainter(Res.getFont("press_start"));
tp.setAlign(AlignX.CENTER);
tp.setColor(RGB.YELLOW);
tp.setColor(Color.YELLOW);
tp.setText("Meow!");
tp.setShadow(RGB.dark(0.5), Vect.make(tp.height().div(16)));
tp.setShadow(Color.dark(0.5), Vect.make(tp.height().div(16)));
tp.setRect(Rect.make(cat.height().half()).centerTo(mouse));
tp.enableCaching(false);
root.add(tp);
@@ -61,12 +61,4 @@ public class ScreenTestCat extends LayeredScreen {
{
return "test.cat";
}
@Override
protected void renderScreen()
{
super.renderScreen();
}
}
@@ -4,7 +4,7 @@ package mightypork.rogue.screens.test_render;
import mightypork.gamecore.gui.screens.Screen;
import mightypork.gamecore.gui.screens.ScreenLayer;
import mightypork.gamecore.render.Render;
import mightypork.utils.math.color.RGB;
import mightypork.utils.math.color.Color;
import mightypork.utils.math.constraints.rect.proxy.RectBound;
@@ -25,9 +25,9 @@ public class LayerTestGradient extends ScreenLayer {
@Override
protected void renderLayer()
{
Render.quadColor(root, RGB.WHITE, RGB.BLUE, RGB.BLACK, RGB.PURPLE);
Render.quadGradH(pos1.getRect(), RGB.GREEN, RGB.RED);
Render.quadGradV(pos2.getRect(), RGB.WHITE, RGB.PURPLE);
Render.quadColor(root, Color.WHITE, Color.BLUE, Color.BLACK, Color.MAGENTA);
Render.quadGradH(pos1.getRect(), Color.GREEN, Color.RED);
Render.quadGradV(pos2.getRect(), Color.WHITE, Color.MAGENTA);
}
@@ -14,7 +14,6 @@ public class ScreenTestRender extends LayeredScreen {
addLayer(new LayerFps(this));
addLayer(new LayerTestGradient(this));
addLayer(new LayerFlyingCat(this));
}