mirror of
https://github.com/curioustorvald/Terrarum.git
synced 2026-03-11 22:31:52 +09:00
added sources for Slick
Former-commit-id: 1647fa32ef6894bd7db44f741f07c2f4dcdf9054 Former-commit-id: 0e5810dcfbe1fd59b13e7cabe9f1e93c5542da2d
This commit is contained in:
128
lib/slick-source/org/newdawn/slick/tests/InkscapeTest.java
Normal file
128
lib/slick-source/org/newdawn/slick/tests/InkscapeTest.java
Normal file
@@ -0,0 +1,128 @@
|
||||
package org.newdawn.slick.tests;
|
||||
|
||||
import org.newdawn.slick.AppGameContainer;
|
||||
import org.newdawn.slick.BasicGame;
|
||||
import org.newdawn.slick.Color;
|
||||
import org.newdawn.slick.GameContainer;
|
||||
import org.newdawn.slick.Graphics;
|
||||
import org.newdawn.slick.Input;
|
||||
import org.newdawn.slick.SlickException;
|
||||
import org.newdawn.slick.opengl.renderer.Renderer;
|
||||
import org.newdawn.slick.svg.InkscapeLoader;
|
||||
import org.newdawn.slick.svg.SimpleDiagramRenderer;
|
||||
|
||||
/**
|
||||
* A rudimentry test of loading SVG from inkscape
|
||||
*
|
||||
* @author kevin
|
||||
*/
|
||||
public class InkscapeTest extends BasicGame {
|
||||
/** The renderer doing the work */
|
||||
private SimpleDiagramRenderer[] renderer = new SimpleDiagramRenderer[5];
|
||||
/** The zoom */
|
||||
private float zoom = 1;
|
||||
/** The x location */
|
||||
private float x;
|
||||
/** The y location */
|
||||
private float y;
|
||||
|
||||
/**
|
||||
* Create a new test for inkscape loading
|
||||
*/
|
||||
public InkscapeTest() {
|
||||
super("Inkscape Test");
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.newdawn.slick.BasicGame#init(org.newdawn.slick.GameContainer)
|
||||
*/
|
||||
public void init(GameContainer container) throws SlickException {
|
||||
container.getGraphics().setBackground(Color.white);
|
||||
|
||||
InkscapeLoader.RADIAL_TRIANGULATION_LEVEL = 2;
|
||||
|
||||
// renderer[0] = new SimpleDiagramRenderer(InkscapeLoader.load("testdata/svg/orc.svg"));
|
||||
// renderer[1] = new SimpleDiagramRenderer(InkscapeLoader.load("testdata/svg/head2.svg"));
|
||||
// renderer[2] = new SimpleDiagramRenderer(InkscapeLoader.load("testdata/svg/head3.svg"));
|
||||
renderer[3] = new SimpleDiagramRenderer(InkscapeLoader.load("testdata/svg/clonetest.svg"));
|
||||
// renderer[4] = new SimpleDiagramRenderer(InkscapeLoader.load("testdata/svg/cow.svg"));
|
||||
|
||||
container.getGraphics().setBackground(new Color(0.5f,0.7f,1.0f));
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.newdawn.slick.BasicGame#update(org.newdawn.slick.GameContainer, int)
|
||||
*/
|
||||
public void update(GameContainer container, int delta) throws SlickException {
|
||||
if (container.getInput().isKeyDown(Input.KEY_Q)) {
|
||||
zoom += (delta * 0.01f);
|
||||
if (zoom > 10) {
|
||||
zoom = 10;
|
||||
}
|
||||
}
|
||||
if (container.getInput().isKeyDown(Input.KEY_A)) {
|
||||
zoom -= (delta * 0.01f);
|
||||
if (zoom < 0.1f) {
|
||||
zoom = 0.1f;
|
||||
}
|
||||
}
|
||||
if (container.getInput().isKeyDown(Input.KEY_RIGHT)) {
|
||||
x += (delta * 0.1f);
|
||||
}
|
||||
if (container.getInput().isKeyDown(Input.KEY_LEFT)) {
|
||||
x -= (delta * 0.1f);
|
||||
}
|
||||
if (container.getInput().isKeyDown(Input.KEY_DOWN)) {
|
||||
y += (delta * 0.1f);
|
||||
}
|
||||
if (container.getInput().isKeyDown(Input.KEY_UP)) {
|
||||
y -= (delta * 0.1f);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.newdawn.slick.Game#render(org.newdawn.slick.GameContainer, org.newdawn.slick.Graphics)
|
||||
*/
|
||||
public void render(GameContainer container, Graphics g) throws SlickException {
|
||||
g.scale(zoom,zoom);
|
||||
g.translate(x, y);
|
||||
g.scale(0.3f,0.3f);
|
||||
//renderer[0].render(g);
|
||||
g.scale(1/0.3f,1/0.3f);
|
||||
g.translate(400, 0);
|
||||
//renderer[1].render(g);
|
||||
g.translate(100, 300);
|
||||
g.scale(0.7f,0.7f);
|
||||
//renderer[2].render(g);
|
||||
g.scale(1/0.7f,1/0.7f);
|
||||
|
||||
g.scale(0.5f,0.5f);
|
||||
g.translate(-1100, -380);
|
||||
renderer[3].render(g);
|
||||
g.scale(1/0.5f,1/0.5f);
|
||||
|
||||
// g.translate(280, 100);
|
||||
// g.scale(0.5f,0.5f);
|
||||
// renderer[4].render(g);
|
||||
|
||||
g.resetTransform();
|
||||
}
|
||||
|
||||
/**
|
||||
* Entry point to our simple test
|
||||
*
|
||||
* @param argv The arguments passed in
|
||||
*/
|
||||
public static void main(String argv[]) {
|
||||
try {
|
||||
Renderer.setRenderer(Renderer.VERTEX_ARRAY_RENDERER);
|
||||
Renderer.setLineStripRenderer(Renderer.QUAD_BASED_LINE_STRIP_RENDERER);
|
||||
|
||||
AppGameContainer container = new AppGameContainer(new InkscapeTest());
|
||||
container.setDisplayMode(800,600,false);
|
||||
container.start();
|
||||
} catch (SlickException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user