com.pesegato.mermaid.MermaidAppState Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of Mermaid Show documentation
Show all versions of Mermaid Show documentation
3D GUI widgets for JMonkeyEngine 3
The newest version!
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package com.pesegato.mermaid;
import com.jme3.app.Application;
import com.jme3.app.SimpleApplication;
import com.jme3.app.state.BaseAppState;
import com.jme3.font.BitmapFont;
import com.jme3.material.Material;
import com.jme3.material.RenderState;
import com.jme3.math.ColorRGBA;
import com.jme3.system.JmeVersion;
import com.pesegato.goldmonkey.GM;
import com.simsilica.lemur.GuiGlobals;
import com.simsilica.lemur.Label;
import com.simsilica.lemur.style.Attributes;
import com.simsilica.lemur.style.Styles;
import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GL20;
/**
*
* @author Pesegato
*/
public class MermaidAppState extends BaseAppState {
public static final String LEMURSTYLE = "mermaid";
public static Material matMermaid, matDebug;
public static BitmapFont font1;
public PPropertyPanel miscSettings;
public static MermaidProperties properties = new MermaidProperties();
@Override
protected void initialize(Application app) {
GuiGlobals.initialize(app);
Styles styles = GuiGlobals.getInstance().getStyles();
Attributes attrs = styles.getSelector(Label.ELEMENT_ID, "prism");
font1 = app.getAssetManager().loadFont("Interface/Fonts/"+GM.getString("FontA"));
font1.getPage(0).setFloat("AlphaDiscardThreshold", 0.1f);
attrs.set("font", font1);
attrs.set("fontSize", GM.getIntXML("FontA"));
a = GM.getColorRGBA("ColorA");
b = GM.getColorRGBA("ColorB");
c = GM.getColorRGBA("ColorC");
((SimpleApplication) app).getRootNode().attachChild(properties);
matMermaid = new Material(app.getAssetManager(), "Common/MatDefs/Light/Lighting.j3md");
matMermaid.setBoolean("UseMaterialColors", true);
matMermaid.setColor("Diffuse", ColorRGBA.White.clone());
matMermaid.setColor("Ambient", ColorRGBA.White.clone());
matDebug = new Material(app.getAssetManager(), "Common/MatDefs/Misc/Unshaded.j3md");
matDebug.setColor("Color", new ColorRGBA(1, 0, 0, 0.17f));
matDebug.getAdditionalRenderState().setBlendMode(RenderState.BlendMode.Alpha);
String oglVersion = GL11.glGetString(GL11.GL_VERSION);
int split = oglVersion.indexOf(' ');
if (split >= 0) {
oglVersion = oglVersion.substring(0, split);
}
String glslVersion = GL11.glGetString(GL20.GL_SHADING_LANGUAGE_VERSION);
split = glslVersion.indexOf(' ');
if (split >= 0) {
glslVersion = glslVersion.substring(0, split);
}
miscSettings = new PPropertyPanel(LEMURSTYLE);
miscSettings.attachChild(new PLabel(GL11.glGetString(GL11.GL_RENDERER), 0, -.5f));
miscSettings.attachChild(new PLabel("Ver. TODO",0,-1));// + Display.getVersion(), 0, -1));
miscSettings.attachChild(new PLabel("OpenGL " + oglVersion + " GLSL " + glslVersion, 0, -1.5f));
miscSettings.attachChild(new PLabel(System.getProperty("os.name") + " ver." + System.getProperty("os.version"), 0, -2));
miscSettings.attachChild(new PLabel("Java " + System.getProperty("java.version") + " " + System.getProperty("os.arch"), 0, -2.5f));
miscSettings.attachChild(new PLabel("Jme " + JmeVersion.FULL_NAME.substring(14), 0, -3));
miscSettings.attachChild(new PLabel("hash " + JmeVersion.GIT_SHORT_HASH + " " + JmeVersion.BUILD_DATE, 0, -3.5f));
}
static ColorRGBA a, b, c;
public static ColorRGBA getColorA() {
return a;
}
public static ColorRGBA getColorB() {
return b;
}
public static ColorRGBA getColorC() {
return c;
}
@Override
protected void cleanup(Application app) {
}
@Override
protected void onEnable() {
}
@Override
protected void onDisable() {
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy