Added SystemGdxFont
This commit is contained in:
parent
c6bee21cee
commit
b619004477
20 changed files with 146 additions and 85 deletions
|
|
@ -49,6 +49,17 @@
|
|||
<artifactId>org.osgi.service.component.annotations</artifactId>
|
||||
<version>1.4.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.badlogicgames.gdx</groupId>
|
||||
<artifactId>gdx-freetype</artifactId>
|
||||
<version>1.10.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.badlogicgames.gdx</groupId>
|
||||
<artifactId>gdx-freetype-platform</artifactId>
|
||||
<version>1.10.0</version>
|
||||
<classifier>natives-desktop</classifier>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<build>
|
||||
<plugins>
|
||||
|
|
|
|||
|
|
@ -19,13 +19,13 @@ import love.distributedrebirth.bassboonyd.BãßBȍőnCoffinʸᴰ;
|
|||
import love.distributedrebirth.bassboonyd.BãßBȍőnPackageInfoʸᴰ;
|
||||
import love.distributedrebirth.bassboonyd.jmx.DefaultEnumInstanceᴶᴹˣ;
|
||||
import love.distributedrebirth.bassboonyd.jmx.GuageCounterᴶᴹˣ;
|
||||
import love.distributedrebirth.gdxapp4d.tos4.service.SystemWarpTerminal;
|
||||
import love.distributedrebirth.gdxapp4d.tos4.service.SystemGdxTerminal;
|
||||
import net.spookygames.gdx.nativefilechooser.NativeFileChooser;
|
||||
|
||||
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
|
||||
@BãßBȍőnClassInfoʸᴰ(name = "GDXAppTos4", purpose = "Main loop render dispatcher and bootup.")
|
||||
@BãßBȍőnPackageInfoʸᴰ(name = "love.distributedrebirth.gdxapp4d.tos4")
|
||||
public enum GDXAppTos4 implements DefaultEnumInstanceᴶᴹˣ<GDXAppTos4,GDXAppTos4Keyʸᴰ>, ApplicationListener, SystemWarpTerminal {
|
||||
public enum GDXAppTos4 implements DefaultEnumInstanceᴶᴹˣ<GDXAppTos4,GDXAppTos4Keyʸᴰ>, ApplicationListener, SystemGdxTerminal {
|
||||
|
||||
INSTANCE;
|
||||
|
||||
|
|
|
|||
|
|
@ -18,13 +18,19 @@ import org.slf4j.LoggerFactory;
|
|||
import org.x4o.xml.io.X4OConnectionException;
|
||||
import org.xml.sax.SAXException;
|
||||
|
||||
import com.badlogic.gdx.Gdx;
|
||||
import com.badlogic.gdx.graphics.g2d.BitmapFont;
|
||||
import com.badlogic.gdx.graphics.g2d.freetype.FreeTypeFontGenerator;
|
||||
import com.badlogic.gdx.graphics.g2d.freetype.FreeTypeFontGenerator.FreeTypeFontParameter;
|
||||
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
|
||||
import love.distributedrebirth.gdxapp4d.tos4.service.SystemWarpBase;
|
||||
import love.distributedrebirth.gdxapp4d.tos4.service.SystemWarpBootArgs;
|
||||
import love.distributedrebirth.gdxapp4d.tos4.service.SystemWarpLogger;
|
||||
import love.distributedrebirth.gdxapp4d.tos4.service.SystemGdxBootArgs;
|
||||
import love.distributedrebirth.gdxapp4d.tos4.service.SystemGdxFont;
|
||||
import love.distributedrebirth.gdxapp4d.tos4.service.SystemGdxLog;
|
||||
import love.distributedrebirth.gdxapp4d.tos4.service.SystemWarpSea;
|
||||
import love.distributedrebirth.gdxapp4d.tos4.service.SystemWarpShip;
|
||||
import love.distributedrebirth.gdxapp4d.tos4.service.SystemWarpTerminal;
|
||||
import love.distributedrebirth.gdxapp4d.tos4.service.SystemGdxTerminal;
|
||||
import love.distributedrebirth.warpme.Warpᵐᵉ;
|
||||
import love.distributedrebirth.warpme.sea.WaterOcean;
|
||||
import love.distributedrebirth.warpme.sea.WaterOceanDriver;
|
||||
|
|
@ -43,9 +49,10 @@ public class GDXAppTos4Activator implements BundleActivator {
|
|||
private NativeFileChooser fileChooser;
|
||||
private File hyperdriveHome;
|
||||
private File warpshipHome;
|
||||
private BitmapFont gdxFont;
|
||||
private Properties localOverrides;
|
||||
private WaterDevice warpshipDevice;
|
||||
private SystemWarpTerminal systemWarpTerminal;
|
||||
private SystemGdxTerminal systemGdxTerminal;
|
||||
private List<GDXAppTos4BootListener> listeners = new ArrayList<>();
|
||||
|
||||
private static final String SYSTEM_USER_HOME = "user.home";
|
||||
|
|
@ -55,12 +62,12 @@ public class GDXAppTos4Activator implements BundleActivator {
|
|||
public GDXAppTos4Activator() {
|
||||
}
|
||||
|
||||
public void BãßInit(List<String> args, int viewWidth, int viewHeight,NativeFileChooser fileChooser, SystemWarpTerminal systemWarpTerminal) {
|
||||
public void BãßInit(List<String> args, int viewWidth, int viewHeight,NativeFileChooser fileChooser, SystemGdxTerminal systemGdxTerminal) {
|
||||
this.args = args;
|
||||
this.viewWidth = viewWidth;
|
||||
this.viewHeight = viewHeight;
|
||||
this.fileChooser = fileChooser;
|
||||
this.systemWarpTerminal = systemWarpTerminal;
|
||||
this.systemGdxTerminal = systemGdxTerminal;
|
||||
}
|
||||
|
||||
private void fireMessageEvent(String message) {
|
||||
|
|
@ -138,13 +145,34 @@ public class GDXAppTos4Activator implements BundleActivator {
|
|||
}
|
||||
}
|
||||
|
||||
FreeTypeFontParameter parameter = new FreeTypeFontParameter();
|
||||
parameter.characters = FreeTypeFontGenerator.DEFAULT_CHARS + getRangeUnicodeUsed();
|
||||
parameter.size = 14;
|
||||
Gdx.app.postRunnable(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
FreeTypeFontGenerator generator = new FreeTypeFontGenerator(Gdx.files.internal("font/code-2000.ttf"));
|
||||
gdxFont = generator.generateFont(parameter);
|
||||
}
|
||||
});
|
||||
while (gdxFont == null) {
|
||||
try {
|
||||
Thread.sleep(100);
|
||||
} catch (InterruptedException ignored) {
|
||||
}
|
||||
}
|
||||
fireMessageEvent("gdx-font: "+parameter.characters.length()+" glyphs loaded.");
|
||||
|
||||
|
||||
SystemWarpShipImpl systemWarpShip = new SystemWarpShipImpl();
|
||||
|
||||
context.registerService(SystemWarpLogger.class.getName(), new SystemWarpLoggerImpl(), new Hashtable<String, String>());
|
||||
context.registerService(SystemWarpBase.class.getName(), new SystemWarpBaseImpl(), new Hashtable<String, String>());
|
||||
context.registerService(SystemWarpBootArgs.class.getName(), new SystemWarpBootArgsImpl(), new Hashtable<String, String>());
|
||||
context.registerService(SystemWarpShip.class.getName(), systemWarpShip, new Hashtable<String, String>());
|
||||
context.registerService(SystemWarpTerminal.class.getName(), systemWarpTerminal, new Hashtable<String, String>());
|
||||
|
||||
context.registerService(SystemGdxFont.class.getName(), new SystemGdxFontImpl(gdxFont), new Hashtable<String, String>());
|
||||
context.registerService(SystemGdxLog.class.getName(), new SystemGdxLogImpl(), new Hashtable<String, String>());
|
||||
context.registerService(SystemGdxBootArgs.class.getName(), new SystemGdxBootArgsImpl(), new Hashtable<String, String>());
|
||||
context.registerService(SystemGdxTerminal.class.getName(), systemGdxTerminal, new Hashtable<String, String>());
|
||||
|
||||
int result = 0;
|
||||
try {
|
||||
|
|
@ -161,6 +189,16 @@ public class GDXAppTos4Activator implements BundleActivator {
|
|||
}
|
||||
}
|
||||
|
||||
private static String getRangeUnicodeUsed() {
|
||||
StringBuilder buf = new StringBuilder();
|
||||
buf.append("©Δ∞ 仙上主天");
|
||||
buf.append("BãßBȍőnAuthorInfoʸᴰ");
|
||||
for (int c=0x0100;c<=0x0200;c++) {
|
||||
buf.append(""+(char)c);
|
||||
}
|
||||
return buf.toString();
|
||||
}
|
||||
|
||||
public class SystemWarpSeaImpl implements SystemWarpSea {
|
||||
|
||||
private final WaterOcean warpSea;
|
||||
|
|
@ -189,20 +227,20 @@ public class GDXAppTos4Activator implements BundleActivator {
|
|||
|
||||
}
|
||||
|
||||
public class SystemWarpBootArgsImpl implements SystemWarpBootArgs {
|
||||
public class SystemGdxBootArgsImpl implements SystemGdxBootArgs {
|
||||
|
||||
@Override
|
||||
public List<String> getBootArgs() {
|
||||
return args;
|
||||
public boolean isWarpCoreNoLock() {
|
||||
return args.contains("warpcore-nolock");
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public int getBootWindowWidth() {
|
||||
public int getWindowWidth() {
|
||||
return viewWidth;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getBootWindowHeight() {
|
||||
public int getWindowHeight() {
|
||||
return viewHeight;
|
||||
}
|
||||
|
||||
|
|
@ -210,11 +248,6 @@ public class GDXAppTos4Activator implements BundleActivator {
|
|||
public NativeFileChooser getFileChooser() {
|
||||
return fileChooser;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Properties getLocalOverrides() {
|
||||
return localOverrides;
|
||||
}
|
||||
}
|
||||
|
||||
public class SystemWarpShipImpl implements SystemWarpShip {
|
||||
|
|
@ -290,26 +323,40 @@ public class GDXAppTos4Activator implements BundleActivator {
|
|||
}
|
||||
}
|
||||
|
||||
public static class SystemWarpLoggerImpl implements SystemWarpLogger {
|
||||
public static class SystemGdxLogImpl implements SystemGdxLog {
|
||||
|
||||
@Override
|
||||
public void infoTag(String tag, String message, Object...args) {
|
||||
LoggerFactory.getLogger(tag).info(message, args);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void debugTag(String tag, String message, Object...args) {
|
||||
LoggerFactory.getLogger(tag).debug(message, args);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void errorTag(String tag, String message, Object...args) {
|
||||
LoggerFactory.getLogger(tag).error(message, args);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void errorTag(String tag, String message, Throwable exception) {
|
||||
LoggerFactory.getLogger(tag).error(message, exception);
|
||||
}
|
||||
}
|
||||
|
||||
public static class SystemGdxFontImpl implements SystemGdxFont {
|
||||
|
||||
private final BitmapFont font;
|
||||
|
||||
public SystemGdxFontImpl(BitmapFont font) {
|
||||
this.font = font;
|
||||
}
|
||||
|
||||
@Override
|
||||
public BitmapFont getFont() {
|
||||
return font;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -51,6 +51,7 @@ public class GDXAppTos4BootFactory {
|
|||
"com.badlogic.gdx.files,"+
|
||||
"com.badlogic.gdx.graphics,"+
|
||||
"com.badlogic.gdx.graphics.g2d,"+
|
||||
"com.badlogic.gdx.graphics.g2d.freetype,"+
|
||||
"com.badlogic.gdx.graphics.g3d,"+
|
||||
"com.badlogic.gdx.graphics.g3d.attributes,"+
|
||||
"com.badlogic.gdx.graphics.g3d.decals,"+
|
||||
|
|
|
|||
|
|
@ -1,21 +1,16 @@
|
|||
package love.distributedrebirth.gdxapp4d.tos4.service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Properties;
|
||||
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
|
||||
import net.spookygames.gdx.nativefilechooser.NativeFileChooser;
|
||||
|
||||
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
|
||||
public interface SystemWarpBootArgs {
|
||||
|
||||
List<String> getBootArgs();
|
||||
public interface SystemGdxBootArgs {
|
||||
|
||||
int getBootWindowWidth();
|
||||
boolean isWarpCoreNoLock();
|
||||
|
||||
int getBootWindowHeight();
|
||||
int getWindowWidth();
|
||||
|
||||
int getWindowHeight();
|
||||
|
||||
NativeFileChooser getFileChooser();
|
||||
|
||||
Properties getLocalOverrides();
|
||||
}
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
package love.distributedrebirth.gdxapp4d.tos4.service;
|
||||
|
||||
import com.badlogic.gdx.graphics.g2d.BitmapFont;
|
||||
|
||||
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
|
||||
|
||||
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
|
||||
public interface SystemGdxFont {
|
||||
|
||||
BitmapFont getFont();
|
||||
}
|
||||
|
|
@ -3,7 +3,7 @@ package love.distributedrebirth.gdxapp4d.tos4.service;
|
|||
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
|
||||
|
||||
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
|
||||
public interface SystemWarpLogger {
|
||||
public interface SystemGdxLog {
|
||||
|
||||
void infoTag(String tag, String message, Object...args);
|
||||
|
||||
|
|
@ -5,7 +5,7 @@ import com.badlogic.gdx.Screen;
|
|||
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
|
||||
|
||||
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
|
||||
public interface SystemWarpTerminal {
|
||||
public interface SystemGdxTerminal {
|
||||
|
||||
void registrateScreen(Screen screen);
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue