Actually get everything working with user-agent, remove gson.
@@ -1,21 +1,21 @@
|
||||
# LightWallet GUI
|
||||
This is a GUI frontend that runs on top of simplewallet (in RPC mode). It is designed to work with a remote bitmonerod node by default, so that it can function as a lightweight wallet for most users. By default it uses Atrides open node at http://node.moneroworld.com:18081, but you can change the node it uses to a local node during setup or at any launch; to use a local bitmonerod instance set it as http://localhost:18081.
|
||||
|
||||
**This program is an alpha version, and although I don't think there is really any way to screw up your wallet, please exercise some modicum of caution.**
|
||||
|
||||
## Installation
|
||||
### Windows, Linux, and Mac
|
||||
The requirements for running the program using the jar file release is a java virtual machine installed v1.7+, and monero-wallet-cli v0.10+ in the same directory. If you also want to run a local daemon you'll monerod.exe/monerod binary. The wallet and daemon files can be downloaded here: https://github.com/monero-project/bitmonero/releases
|
||||
|
||||
If you're using the binary LightWallet.exe, you still need to have monero-wallet-cli.exe in the same directory.
|
||||
|
||||
## Running
|
||||
It should be OK to launch the program with an instance of monerod and/or monero-wallet-cli running.
|
||||
|
||||
On the initial run, it will prompt you to create a new wallet or to import one by typing/copying in the path of the keys file or importing a 25 word mnemonic seed. This will create several files in the same directory as LightWallet and monero-wallet-cli, including lightwallet.conf. If you ever want to create or import a new wallet, simply delete lightwallet.conf.
|
||||
|
||||
## Known issues
|
||||
If you manage to crash the program, you will probably get an instance of monero-wallet-cli(.exe) hanging around, so to get rid of it you will need to go into the task manager processes tab and end the monero-wallet-cli process on windows, "ps -A | grep monero-wallet-cli" to get PID and then "kill PID" or "killall monero-wallet-cli" on linux, or restart your computer.
|
||||
|
||||
## Future Work
|
||||
Transaction history has been disabled for the time being. If you want to parse your tx history check monero-wallet-cli.log in the same directory.
|
||||
# LightWallet GUI
|
||||
This is a GUI frontend that runs on top of simplewallet (in RPC mode). It is designed to work with a remote bitmonerod node by default, so that it can function as a lightweight wallet for most users. By default it uses Atrides open node at http://node.moneroworld.com:18081, but you can change the node it uses to a local node during setup or at any launch; to use a local bitmonerod instance set it as http://localhost:18081.
|
||||
|
||||
**This program is an alpha version, and although I don't think there is really any way to screw up your wallet, please exercise some modicum of caution.**
|
||||
|
||||
## Installation
|
||||
### Windows, Linux, and Mac
|
||||
The requirements for running the program using the jar file release is a java virtual machine installed v1.7+, and monero-wallet-cli v0.10+ in the same directory. If you also want to run a local daemon you'll monerod.exe/monerod binary. The wallet and daemon files can be downloaded here: https://github.com/monero-project/bitmonero/releases
|
||||
|
||||
If you're using the binary LightWallet.exe, you still need to have monero-wallet-cli.exe in the same directory.
|
||||
|
||||
## Running
|
||||
It should be OK to launch the program with an instance of monerod and/or monero-wallet-cli running.
|
||||
|
||||
On the initial run, it will prompt you to create a new wallet or to import one by typing/copying in the path of the keys file or importing a 25 word mnemonic seed. This will create several files in the same directory as LightWallet and monero-wallet-cli, including lightwallet.conf. If you ever want to create or import a new wallet, simply delete lightwallet.conf.
|
||||
|
||||
## Known issues
|
||||
If you manage to crash the program, you will probably get an instance of monero-wallet-cli(.exe) hanging around, so to get rid of it you will need to go into the task manager processes tab and end the monero-wallet-cli process on windows, "ps -A | grep monero-wallet-cli" to get PID and then "kill PID" or "killall monero-wallet-cli" on linux, or restart your computer.
|
||||
|
||||
## Future Work
|
||||
Transaction history has been disabled for the time being. If you want to parse your tx history check monero-wallet-cli.log in the same directory.
|
||||
|
||||
|
Before Width: | Height: | Size: 67 KiB |
|
Before Width: | Height: | Size: 315 KiB |
@@ -1,5 +1,5 @@
|
||||
android {
|
||||
buildToolsVersion "23.0.2"
|
||||
buildToolsVersion "24.0.3"
|
||||
compileSdkVersion 23
|
||||
sourceSets {
|
||||
main {
|
||||
@@ -14,6 +14,11 @@ android {
|
||||
|
||||
instrumentTest.setRoot('tests')
|
||||
}
|
||||
defaultConfig {
|
||||
applicationId "com.jw.lightwallet"
|
||||
minSdkVersion 8
|
||||
targetSdkVersion 23
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -23,12 +28,16 @@ android {
|
||||
task copyAndroidNatives() {
|
||||
file("libs/armeabi/").mkdirs();
|
||||
file("libs/armeabi-v7a/").mkdirs();
|
||||
file("libs/arm64-v8a/").mkdirs();
|
||||
file("libs/x86_64/").mkdirs();
|
||||
file("libs/x86/").mkdirs();
|
||||
|
||||
configurations.natives.files.each { jar ->
|
||||
def outputDir = null
|
||||
if(jar.name.endsWith("natives-armeabi-v7a.jar")) outputDir = file("libs/armeabi-v7a")
|
||||
if(jar.name.endsWith("natives-arm64-v8a.jar")) outputDir = file("libs/arm64-v8a")
|
||||
if(jar.name.endsWith("natives-armeabi-v7a.jar")) outputDir = file("libs/armeabi-v7a")
|
||||
if(jar.name.endsWith("natives-armeabi.jar")) outputDir = file("libs/armeabi")
|
||||
if(jar.name.endsWith("natives-x86_64.jar")) outputDir = file("libs/x86_64")
|
||||
if(jar.name.endsWith("natives-x86.jar")) outputDir = file("libs/x86")
|
||||
if(outputDir != null) {
|
||||
copy {
|
||||
@@ -59,12 +68,12 @@ task run(type: Exec) {
|
||||
}
|
||||
|
||||
def adb = path + "/platform-tools/adb"
|
||||
commandLine "$adb", 'shell', 'am', 'start', '-n', 'com.jw.lightwallet.android/com.jw.lightwallet.android.AndroidLauncher'
|
||||
commandLine "$adb", 'shell', 'am', 'start', '-n', 'com.jw.lightwallet/com.jw.lightwallet.AndroidLauncher'
|
||||
}
|
||||
|
||||
// sets up the Android Eclipse project, using the old Ant based build.
|
||||
eclipse {
|
||||
// need to specify Java source sets explicitely, SpringSource Gradle Eclipse plugin
|
||||
// need to specify Java source sets explicitly, SpringSource Gradle Eclipse plugin
|
||||
// ignores any nodes added in classpath.file.withXml
|
||||
sourceSets {
|
||||
main {
|
||||
|
||||
@@ -35,12 +35,14 @@ public class LightWallet extends Game {
|
||||
|
||||
if (os.contains("Windows")) {
|
||||
simplewalletloc = dir + "\\" + "monero-wallet-cli.exe";
|
||||
System.out.println(simplewalletloc);
|
||||
} else {
|
||||
simplewalletloc = dir + "/" + "monero-wallet-cli";
|
||||
}
|
||||
System.out.println(simplewalletloc);
|
||||
|
||||
// Initialize logger and user interface skin
|
||||
Gdx.app.log(LightWallet.LOG, "Launching application in " + dir + " on " + os);
|
||||
uiSkin = new Skin(Gdx.files.internal("skin/uiskin.json"));
|
||||
uiSkin = new Skin(Gdx.files.internal("assets/skin/uiskin.json"));
|
||||
|
||||
// Check if config file exists, if not launch setup wizard
|
||||
File f = new File("lightwallet.conf");
|
||||
|
||||
@@ -25,6 +25,7 @@ public class BlockHeader {
|
||||
return difficulty;
|
||||
}
|
||||
public void setDifficulty(int difficulty) {
|
||||
System.out.println("Diff is now" + difficulty);
|
||||
this.difficulty = difficulty;
|
||||
}
|
||||
public String getHash() {
|
||||
|
||||
@@ -13,6 +13,8 @@ public class DaemonRPC {
|
||||
public String address;
|
||||
String response;
|
||||
String getlastblock;
|
||||
Gson gson;
|
||||
DaemonResponse daemonresponse = new DaemonResponse();
|
||||
|
||||
public DaemonRPC () {
|
||||
// address = "http://node.moneroclub.com:8880/json_rpc";
|
||||
@@ -28,19 +30,17 @@ public class DaemonRPC {
|
||||
Gdx.net.sendHttpRequest (httpGet, new HttpResponseListener() {
|
||||
public void handleHttpResponse(HttpResponse httpResponse) {
|
||||
response = httpResponse.getResultAsString();
|
||||
//System.out.print("1st time response" + response);
|
||||
DaemonResponse daemonresponse = new Gson().fromJson(response, DaemonResponse.class);
|
||||
//System.out.print("GSON response is" + daemonresponse.getId());
|
||||
daemonvalues.setBlockheight(daemonresponse.getResult().getBlock_header().getHeight());
|
||||
daemonvalues.setDiff((daemonresponse.getResult().getBlock_header().getDifficulty()));
|
||||
daemonvalues.setLastblocktime(daemonresponse.getResult().getBlock_header().getTimestamp());
|
||||
daemonvalues.setLastblockreward(daemonresponse.getResult().getBlock_header().getReward());
|
||||
daemonvalues.setStatus(daemonresponse.getResult().getStatus());
|
||||
// System.out.println("1st time response" + response);
|
||||
daemonvalues.setBlockheight(Integer.parseInt(response.split("height\": ")[1].split(",")[0]));
|
||||
daemonvalues.setDiff(Long.parseLong(response.split("difficulty\": ")[1].split(",")[0]));
|
||||
daemonvalues.setLastblocktime(Long.parseLong(response.split("difficulty\": ")[1].split(",")[0]));
|
||||
daemonvalues.setLastblockreward(Long.parseLong(response.split("reward\": ")[1].split(",")[0]));
|
||||
daemonvalues.setStatus("OK");
|
||||
}
|
||||
|
||||
public void failed(Throwable t) {
|
||||
response = "failed";
|
||||
//System.out.print("Failed response status is: " + response);
|
||||
System.out.print("Failed response status is: " + response);
|
||||
//do stuff here based on the failed attempt
|
||||
}
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@ public class DaemonResponse {
|
||||
String jsonrpc;
|
||||
DaemonResult result;
|
||||
|
||||
|
||||
public String getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ public class DaemonResult {
|
||||
|
||||
BlockHeader block_header;
|
||||
String status;
|
||||
|
||||
|
||||
|
||||
public BlockHeader getBlock_header() {
|
||||
return block_header;
|
||||
|
||||
@@ -18,7 +18,7 @@ public class AbstractScreen implements Screen {
|
||||
|
||||
public AbstractScreen (final LightWallet game) {
|
||||
this.game = game;
|
||||
this.font = new BitmapFont(Gdx.files.internal("fonts/bauchaomaicha.fnt"));
|
||||
this.font = new BitmapFont(Gdx.files.internal("assets/fonts/bauchaomaicha.fnt"));
|
||||
this.w = Gdx.graphics.getWidth();
|
||||
this.h = Gdx.graphics.getHeight();
|
||||
this.aspect = w/h;
|
||||
|
||||
@@ -61,7 +61,7 @@ public class CreateScreen extends AbstractScreen {
|
||||
super(game);
|
||||
System.out.print("CreateScreen creating.");
|
||||
|
||||
uiSkin = new Skin(Gdx.files.internal("skin/uiskin.json"));
|
||||
uiSkin = new Skin(Gdx.files.internal("assets/skin/uiskin.json"));
|
||||
padvalue = 20;
|
||||
|
||||
stage = new Stage();
|
||||
@@ -69,14 +69,14 @@ public class CreateScreen extends AbstractScreen {
|
||||
|
||||
screenlayout = new Table();
|
||||
|
||||
logo = new Image(new Texture(Gdx.files.internal("logo.png")));
|
||||
logo = new Image(new Texture(Gdx.files.internal("assets/logo.png")));
|
||||
//logo.scaleBy(0.02f);
|
||||
|
||||
instruction = "Please enter a name for your wallet in the \"Wallet name\" field. This is typically wallet.bin, "
|
||||
+ "but you can make it whatever you like (as long as it is alphanumberic and periods only). "
|
||||
+ "Then please enter a strong password for your wallet that you will use to unlock, and then repeat it to ensure it is correct. "
|
||||
+ "Your password can be any combination of characters and symbols on your keyboard (I think). "
|
||||
+ "The default bitmonerod node is set for moneroclub, if you want to run a local daemon change the node field to http://localhost:18081.";
|
||||
+ "The default bitmonerod node is set for moneroworld, if you want to run a local daemon change the node field to http://localhost:18081.";
|
||||
|
||||
instructionlabel= new Label(instruction, uiSkin);
|
||||
instructionlabel.setWrap(true);
|
||||
@@ -195,7 +195,7 @@ public class CreateScreen extends AbstractScreen {
|
||||
System.out.println("Starting creator");
|
||||
|
||||
try {
|
||||
Process wp = Runtime.getRuntime().exec("monero-wallet-cli --generate-new-wallet " + name + " --password " + pw);
|
||||
Process wp = Runtime.getRuntime().exec(simplewalletloc + " --generate-new-wallet " + name + " --password " + pw);
|
||||
Writer wr = new OutputStreamWriter( wp.getOutputStream() );
|
||||
BufferedReader rd = new BufferedReader( new InputStreamReader( wp.getInputStream() ) );
|
||||
|
||||
|
||||
@@ -75,7 +75,7 @@ public class DaemonView {
|
||||
public void Update(DaemonValues daemonvalues) {
|
||||
nodevalue.setText(game.walletvalues.getNode());
|
||||
statusvalue.setText(daemonvalues.getStatus());
|
||||
// Gdx.app.log(LightWallet.LOG, "Status value is: " + statusvalue.getText());
|
||||
Gdx.app.log(LightWallet.LOG, "Status value is: " + statusvalue.getText());
|
||||
if (statusvalue.getText().toString().equals("OK")) {statusvalue.setStyle(game.uiSkin.get("greenlabel", LabelStyle.class));}
|
||||
heightvalue.setText(String.valueOf(daemonvalues.getBlockheight()));
|
||||
hashratevalue.setText(new DecimalFormat("##.##").format(daemonvalues.getHashrate()) + " Mh/s");
|
||||
|
||||
@@ -66,14 +66,14 @@ public class ImportKeysScreen extends AbstractScreen {
|
||||
|
||||
screenlayout = new Table();
|
||||
|
||||
logo = new Image(new Texture(Gdx.files.internal("logo.png")));
|
||||
logo = new Image(new Texture(Gdx.files.internal("assets/logo.png")));
|
||||
//logo.scaleBy(0.02f);
|
||||
|
||||
instruction = "Please enter the full path location of your .keys file to import in the file location field; , "
|
||||
+ "for instance: C:\\Users\\jw\\secretstuff\\wallet.keys or /home/jw/secretstuff/wallet.keys. "
|
||||
+ "Then please enter your password to unlock the wallet. "
|
||||
+ "The wallet keys file will be copied to the local directory and a new binary file will be created. "
|
||||
+ "The default bitmonerod node is set for moneroclub, if you want to run a local daemon change the node field to http://localhost:18081.";
|
||||
+ "The default bitmonerod node is set for moneroworld, if you want to run a local daemon change the node field to http://localhost:18081.";
|
||||
|
||||
instructionlabel= new Label(instruction, game.uiSkin);
|
||||
instructionlabel.setWrap(true);
|
||||
@@ -222,7 +222,7 @@ public class ImportKeysScreen extends AbstractScreen {
|
||||
|
||||
|
||||
try {
|
||||
Process wp = Runtime.getRuntime().exec("monero-wallet-cli --wallet-file " + name + " --password " + pw + " --daemon-address http://localhost:66666");
|
||||
Process wp = Runtime.getRuntime().exec(simplewalletloc + " --wallet-file " + name + " --password " + pw + " --daemon-address http://localhost:66666");
|
||||
Writer wr = new OutputStreamWriter( wp.getOutputStream() );
|
||||
BufferedReader rd = new BufferedReader( new InputStreamReader( wp.getInputStream() ) );
|
||||
|
||||
@@ -234,25 +234,37 @@ public class ImportKeysScreen extends AbstractScreen {
|
||||
game.walletvalues.setAddress(str.split("wallet: ")[1]);
|
||||
}
|
||||
i += 1;
|
||||
if (i > 5 && str.contains("****")) {
|
||||
if (i > 3 && str.contains("****")) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
str = rd.readLine();
|
||||
str = rd.readLine();
|
||||
str = rd.readLine();
|
||||
str = rd.readLine();
|
||||
str = rd.readLine();
|
||||
|
||||
wr.write( "viewkey\n" );
|
||||
wr.flush();
|
||||
|
||||
str = rd.readLine();
|
||||
System.out.println(i + " " + str.split(": ")[1]);
|
||||
// str = rd.readLine();
|
||||
// System.out.println(i + " " + str.split(": ")[1]);
|
||||
System.out.println(i + " " + str);
|
||||
i += 1;
|
||||
game.walletvalues.setViewkey(str.split(": ")[1]);
|
||||
|
||||
// game.walletvalues.setViewkey(str.split(": ")[1]);
|
||||
game.walletvalues.setViewkey(str);
|
||||
str = rd.readLine();
|
||||
|
||||
wr.write( "seed\n" );
|
||||
wr.flush();
|
||||
|
||||
str = rd.readLine();
|
||||
System.out.println(i + " " + str.substring(str.indexOf(":"), str.length()));
|
||||
// str = rd.readLine();
|
||||
// System.out.println(i + " " + str.substring(str.indexOf(":"), str.length()));
|
||||
System.out.println(i + " " + str);
|
||||
i += 1;
|
||||
game.walletvalues.setSeed(str.substring(str.indexOf(":"), str.length()));
|
||||
// game.walletvalues.setSeed(str.substring(str.indexOf(":"), str.length()));
|
||||
game.walletvalues.setSeed(str);
|
||||
|
||||
wr.write( "exit\n" );
|
||||
wr.flush();
|
||||
|
||||
@@ -70,13 +70,13 @@ public class ImportSeedScreen extends AbstractScreen {
|
||||
|
||||
screenlayout = new Table();
|
||||
|
||||
logo = new Image(new Texture(Gdx.files.internal("logo.png")));
|
||||
logo = new Image(new Texture(Gdx.files.internal("assets/logo.png")));
|
||||
//logo.scaleBy(0.02f);
|
||||
|
||||
instruction = "Please enter a name for your wallet, the 25 word mnemonic seed to import in the seed field, "
|
||||
+ " a password to unlock the wallet in the password field, "
|
||||
+ "and then repeat the password to make sure you have it correct, this will be used to encrypt your newly restored wallet files. "
|
||||
+ "The default bitmonerod node is set for moneroclub, if you want to run a local daemon change the node field to http://localhost:18081.";
|
||||
+ "The default bitmonerod node is set for moneroworld, if you want to run a local daemon change the node field to http://localhost:18081.";
|
||||
|
||||
instructionlabel= new Label(instruction, game.uiSkin);
|
||||
instructionlabel.setWrap(true);
|
||||
@@ -233,7 +233,7 @@ public class ImportSeedScreen extends AbstractScreen {
|
||||
|
||||
|
||||
try {
|
||||
Process wp = Runtime.getRuntime().exec("monero-wallet-cli --restore-deterministic-wallet --daemon-address http://localhost:66666");
|
||||
Process wp = Runtime.getRuntime().exec(simplewalletloc + " --restore-deterministic-wallet --wallet-file " + name + " --password " + pw + " --daemon-address http://localhost:66666");
|
||||
Writer wr = new OutputStreamWriter( wp.getOutputStream() );
|
||||
BufferedReader rd = new BufferedReader( new InputStreamReader( wp.getInputStream() ) );
|
||||
|
||||
@@ -243,35 +243,16 @@ public class ImportSeedScreen extends AbstractScreen {
|
||||
str = rd.readLine();
|
||||
System.out.println(i + " " + str);
|
||||
i += 1;
|
||||
if (i > 1 && str.contains("Wallet")) {
|
||||
if (i > 0 && str.contains("Logging at")) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
wr.write( name + "\n" );
|
||||
wr.flush();
|
||||
wr.write( pw + "\n" );
|
||||
wr.flush();
|
||||
|
||||
wr.write( seed + "\n" );
|
||||
wr.flush();
|
||||
|
||||
|
||||
MessageDigest md = null;
|
||||
String rando = name + Double.toString(Math.random());
|
||||
try {
|
||||
md = MessageDigest.getInstance("SHA-256");
|
||||
} catch (NoSuchAlgorithmException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
md.update(rando.getBytes("UTF-8")); // Change this to "UTF-16" if needed
|
||||
byte[] digest = md.digest();
|
||||
|
||||
game.walletvalues.setName(name);
|
||||
game.walletvalues.setPw(pw);
|
||||
game.walletvalues.setSeed(seed);
|
||||
game.walletvalues.setNode(nodetext.getText());
|
||||
game.walletvalues.setUserAgent(digest.toString());
|
||||
wr.write("0\n" );
|
||||
wr.flush();
|
||||
|
||||
|
||||
|
||||
while (true) {
|
||||
@@ -294,6 +275,23 @@ public class ImportSeedScreen extends AbstractScreen {
|
||||
|
||||
wr.write( "exit\n" );
|
||||
wr.flush();
|
||||
|
||||
MessageDigest md = null;
|
||||
String rando = name + Double.toString(Math.random());
|
||||
try {
|
||||
md = MessageDigest.getInstance("SHA-256");
|
||||
} catch (NoSuchAlgorithmException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
md.update(rando.getBytes("UTF-8")); // Change this to "UTF-16" if needed
|
||||
byte[] digest = md.digest();
|
||||
|
||||
game.walletvalues.setName(name);
|
||||
game.walletvalues.setPw(pw);
|
||||
game.walletvalues.setSeed(seed);
|
||||
game.walletvalues.setNode(nodetext.getText());
|
||||
game.walletvalues.setUserAgent(digest.toString());
|
||||
|
||||
|
||||
PrintWriter infowriter = new PrintWriter(name + "info.txt", "UTF-8");
|
||||
|
||||
@@ -95,12 +95,12 @@ public class MainScreen extends AbstractScreen {
|
||||
df = new DecimalFormat("#.############");
|
||||
height = "";
|
||||
|
||||
Skin uiSkin = new Skin(Gdx.files.internal("skin/uiskin.json"));
|
||||
Skin uiSkin = new Skin(Gdx.files.internal("assets/skin/uiskin.json"));
|
||||
|
||||
daemonrpc = new DaemonRPC();
|
||||
daemonvalues = new DaemonValues();
|
||||
|
||||
balancerpc = new BalanceRPC();
|
||||
balancerpc = new BalanceRPC(game);
|
||||
balancevalues = new BalanceValues();
|
||||
|
||||
walletsaverpc = new WalletSaveRPC(game);
|
||||
@@ -112,7 +112,7 @@ public class MainScreen extends AbstractScreen {
|
||||
screenlayout = new Table();
|
||||
viewcontainer = new Table();
|
||||
|
||||
logo = new Image(new Texture(Gdx.files.internal("logo.png")));
|
||||
logo = new Image(new Texture(Gdx.files.internal("assets/logo.png")));
|
||||
|
||||
buttonrow = new Table();
|
||||
daemonbutton = new TextButton("Daemon", uiSkin);
|
||||
@@ -216,16 +216,19 @@ public class MainScreen extends AbstractScreen {
|
||||
if (fivesectimer == true) {
|
||||
// Timer task to check balance from simplewallet
|
||||
balancerpc.getinfo(balancevalues);
|
||||
// Gdx.app.log(LightWallet.LOG, "Checked: " + balancevalues.getChecked());
|
||||
walletview.balancevalue.setText(df.format(balancevalues.getBalance()/1e12) + " XMR");
|
||||
walletview.unlockedvalue.setText(df.format(balancevalues.getUnlockedbalance()/1e12) + " XMR");
|
||||
if (balancevalues.isChecked()) {
|
||||
if (balancevalues.getChecked()) {
|
||||
// Gdx.app.log(LightWallet.LOG, "Balance is checked.");
|
||||
walletview.balancevalue.setStyle(game.uiSkin.get("greenlabel", LabelStyle.class));
|
||||
walletview.unlockedvalue.setStyle(game.uiSkin.get("greenlabel", LabelStyle.class));
|
||||
} else {
|
||||
// Gdx.app.log(LightWallet.LOG, "Balance is NOT checked.");
|
||||
walletview.balancevalue.setStyle(game.uiSkin.get("redlabel", LabelStyle.class));
|
||||
walletview.unlockedvalue.setStyle(game.uiSkin.get("redlabel", LabelStyle.class));
|
||||
}
|
||||
Gdx.app.log(LightWallet.LOG, "Height is at: " + height);
|
||||
// Gdx.app.log(LightWallet.LOG, "Height is at: " + height);
|
||||
walletview.syncvalue.setText(height + " / " + daemonvalues.getBlockheight());
|
||||
if (height.equals(Integer.toString(daemonvalues.getBlockheight()))) {
|
||||
walletview.syncvalue.setStyle(game.uiSkin.get("greenlabel", LabelStyle.class));
|
||||
@@ -263,7 +266,7 @@ public class MainScreen extends AbstractScreen {
|
||||
Gdx.app.log(LightWallet.LOG, "Command is: " + "monero-wallet-cli --wallet-file " + game.walletvalues.getName()
|
||||
+ " --password " + game.walletvalues.getPw() + " --daemon-address " + game.walletvalues.getNode()
|
||||
+ " --rpc-bind-port 19091 --user-agent " + game.walletvalues.getUserAgent() + " --log-level 2");
|
||||
wp = Runtime.getRuntime().exec("monero-wallet-cli --wallet-file " + game.walletvalues.getName()
|
||||
wp = Runtime.getRuntime().exec(game.simplewalletloc + " --wallet-file " + game.walletvalues.getName()
|
||||
+ " --password " + game.walletvalues.getPw() + " --daemon-address " + game.walletvalues.getNode()
|
||||
+ " --rpc-bind-port 19091 --user-agent " + game.walletvalues.getUserAgent() + " --log-level 2");
|
||||
wr = new BufferedReader(new InputStreamReader(wp.getInputStream()));
|
||||
@@ -292,6 +295,9 @@ public class MainScreen extends AbstractScreen {
|
||||
// Poll wallet thread and check block height and if transaction data is in output
|
||||
String queuepoll = wq.poll();
|
||||
try{
|
||||
if (queuepoll != null) {
|
||||
Gdx.app.log(LightWallet.LOG, queuepoll);
|
||||
}
|
||||
// If the string contains "height" then update the daemon and wallet screen blockheight
|
||||
if (queuepoll != null && queuepoll.contains("height:")) {
|
||||
height = queuepoll.split("height: ")[1].split(",")[0];
|
||||
@@ -326,6 +332,32 @@ public class MainScreen extends AbstractScreen {
|
||||
failuredialog.key(Keys.ENTER, true); //sends "true" when the ENTER key is pressed
|
||||
failuredialog.show(stage);
|
||||
}
|
||||
else if (queuepoll != null && queuepoll.contains("Transaction successfully sent.")) {
|
||||
// Setup popup for successful tx
|
||||
final String txid = queuepoll.split("<<")[1].split(">>")[0];
|
||||
final Dialog goodtxpopup = new Dialog("Succcessful transaction!", game.uiSkin, "dialog") {
|
||||
public void result(Object obj) {
|
||||
System.out.println("result "+obj);
|
||||
}
|
||||
};
|
||||
Label goodtxpopuplabel = new Label("Successfully completed tx with tx is:\n" + txid, game.uiSkin);
|
||||
goodtxpopuplabel.setWrap(true);
|
||||
goodtxpopup.add(goodtxpopuplabel).width(400).row();
|
||||
goodtxpopup.button("Copy tx id", true).addListener(new ClickListener() {
|
||||
@Override
|
||||
public void clicked (InputEvent event, float x, float y) {
|
||||
Gdx.app.getClipboard().setContents(txid);
|
||||
}
|
||||
});
|
||||
goodtxpopup.button("Continue", true).addListener(new ClickListener() {
|
||||
@Override
|
||||
public void clicked (InputEvent event, float x, float y) {
|
||||
goodtxpopup.remove();
|
||||
}
|
||||
});
|
||||
goodtxpopup.key(Keys.ENTER, true); //sends "true" when the ENTER key is pressed
|
||||
goodtxpopup.show(stage);
|
||||
}
|
||||
} catch (NullPointerException e){e.printStackTrace();}
|
||||
}
|
||||
|
||||
|
||||
@@ -45,7 +45,7 @@ public class PasswordScreen extends AbstractScreen {
|
||||
super(game);
|
||||
System.out.print("CreateScreen creating.");
|
||||
|
||||
uiSkin = new Skin(Gdx.files.internal("skin/uiskin.json"));
|
||||
uiSkin = new Skin(Gdx.files.internal("assets/skin/uiskin.json"));
|
||||
padvalue = 20;
|
||||
|
||||
stage = new Stage();
|
||||
@@ -53,7 +53,7 @@ public class PasswordScreen extends AbstractScreen {
|
||||
|
||||
screenlayout = new Table();
|
||||
|
||||
logo = new Image(new Texture(Gdx.files.internal("logo.png")));
|
||||
logo = new Image(new Texture(Gdx.files.internal("assets/logo.png")));
|
||||
//logo.scaleBy(0.02f);
|
||||
|
||||
instruction = "Please enter your password in the password field below for the wallet" + game.walletvalues.getName() + ". "
|
||||
|
||||
@@ -212,6 +212,8 @@ public class TransactionView {
|
||||
httpGet.setUrl(swaddress);
|
||||
httpGet.setContent(getbalance);
|
||||
httpGet.setTimeOut(2500);
|
||||
httpGet.setHeader("User-Agent", game.walletvalues.getUserAgent());
|
||||
|
||||
|
||||
Gdx.net.sendHttpRequest (httpGet, new HttpResponseListener() {
|
||||
public void handleHttpResponse(HttpResponse httpResponse) {
|
||||
@@ -222,36 +224,7 @@ public class TransactionView {
|
||||
System.out.println(txresponse.getResult().getTx_hash());
|
||||
|
||||
String txid = txresponse.getResult().getTx_hash().substring(1, txresponse.getResult().getTx_hash().length()-1);;
|
||||
|
||||
System.out.println("Tx id is: " + txid);
|
||||
System.out.println("Tx id length is: " + txid.length());
|
||||
|
||||
if (txid.length() == 64) {
|
||||
// Setup popup for successful tx
|
||||
final String finaltxid = txid;
|
||||
final Dialog goodtxpopup = new Dialog("Succcessful transaction!", game.uiSkin, "dialog") {
|
||||
public void result(Object obj) {
|
||||
System.out.println("result "+obj);
|
||||
}
|
||||
};
|
||||
Label goodtxpopuplabel = new Label("Successfully completed tx with tx is:\n" + txid, game.uiSkin);
|
||||
goodtxpopuplabel.setWrap(true);
|
||||
goodtxpopup.add(goodtxpopuplabel).width(400).row();
|
||||
goodtxpopup.button("Copy tx id", true).addListener(new ClickListener() {
|
||||
@Override
|
||||
public void clicked (InputEvent event, float x, float y) {
|
||||
Gdx.app.getClipboard().setContents(finaltxid);
|
||||
}
|
||||
});
|
||||
goodtxpopup.button("Continue", true).addListener(new ClickListener() {
|
||||
@Override
|
||||
public void clicked (InputEvent event, float x, float y) {
|
||||
goodtxpopup.remove();
|
||||
}
|
||||
});
|
||||
goodtxpopup.key(Keys.ENTER, true); //sends "true" when the ENTER key is pressed
|
||||
goodtxpopup.show(stage);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public void failed(Throwable t) {
|
||||
|
||||
@@ -36,7 +36,7 @@ public class WizardScreen extends AbstractScreen {
|
||||
public WizardScreen(final LightWallet game) {
|
||||
super(game);
|
||||
|
||||
uiSkin = new Skin(Gdx.files.internal("skin/uiskin.json"));
|
||||
uiSkin = new Skin(Gdx.files.internal("assets/skin/uiskin.json"));
|
||||
padvalue = 20;
|
||||
|
||||
stage = new Stage();
|
||||
@@ -44,10 +44,11 @@ public class WizardScreen extends AbstractScreen {
|
||||
|
||||
screenlayout = new Table();
|
||||
|
||||
logo = new Image(new Texture(Gdx.files.internal("logo.png")));
|
||||
logo = new Image(new Texture(Gdx.files.internal("assets/logo.png")));
|
||||
|
||||
|
||||
wizardtext = "Hello. It seems this is the either the first time you are launching LightWallet or you have deleted your lightwallet.conf file. "
|
||||
+ "You must have a copy of monero-wallet-cli executable in the same directory as the LightWallet executable. "
|
||||
+ "Please select from the options below whether you would like to create a new wallet, import a wallet from a .keys file, "
|
||||
+ "or import a wallet using your 25-word mnemonic seed.";
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ public class BalanceValues {
|
||||
long balance;
|
||||
boolean checked;
|
||||
|
||||
public boolean isChecked() {
|
||||
public boolean getChecked() {
|
||||
return checked;
|
||||
}
|
||||
public void setChecked(boolean checked) {
|
||||
|
||||
@@ -7,14 +7,18 @@ import com.badlogic.gdx.Net.HttpResponse;
|
||||
import com.badlogic.gdx.Net.HttpResponseListener;
|
||||
import com.google.gson.Gson;
|
||||
import com.jw.lightwallet.utils.BalanceValues;
|
||||
import com.jw.lightwallet.LightWallet;
|
||||
|
||||
|
||||
|
||||
public class BalanceRPC {
|
||||
LightWallet game;
|
||||
public String swaddress;
|
||||
String response;
|
||||
String getbalance;
|
||||
|
||||
public BalanceRPC () {
|
||||
public BalanceRPC (LightWallet game) {
|
||||
this.game = game;
|
||||
swaddress = "http://localhost:19091/json_rpc";
|
||||
getbalance = "{\"jsonrpc\":\"2.0\",\"id\":\"test\",\"method\":\"getbalance\",\"params\":[]}";
|
||||
}
|
||||
@@ -22,19 +26,29 @@ public class BalanceRPC {
|
||||
public void getinfo (final BalanceValues balancevalues) {
|
||||
HttpRequest httpGet = new HttpRequest(HttpMethods.POST);
|
||||
httpGet.setUrl(swaddress);
|
||||
httpGet.setContent(getbalance);
|
||||
httpGet.setContent(getbalance);
|
||||
httpGet.setHeader("User-Agent", game.walletvalues.getUserAgent());
|
||||
|
||||
Gdx.net.sendHttpRequest (httpGet, new HttpResponseListener() {
|
||||
public void handleHttpResponse(HttpResponse httpResponse) {
|
||||
response = httpResponse.getResultAsString();
|
||||
BalanceResponse balanceresponse = new Gson().fromJson(response, BalanceResponse.class);
|
||||
balancevalues.setBalance(balanceresponse.getResult().getBalance());
|
||||
balancevalues.setUnlockedbalance(balanceresponse.getResult().getUnlockedbalance());
|
||||
// Gdx.app.log(LightWallet.LOG, "Checked: " + balancevalues.getChecked());
|
||||
// Gdx.app.log(LightWallet.LOG, "Balance is: " + response);
|
||||
// BalanceResponse balanceresponse = new Gson().fromJson(response, BalanceResponse.class);
|
||||
// balancevalues.setBalance(balanceresponse.getResult().getBalance());
|
||||
// balancevalues.setUnlockedbalance(balanceresponse.getResult().getUnlockedbalance());
|
||||
// Gdx.app.log(LightWallet.LOG, response.split("\"balance\": ")[1].split(",")[0]);
|
||||
balancevalues.setBalance(Long.parseLong(response.split("\"balance\": ")[1].split(",")[0]));
|
||||
// Gdx.app.log(LightWallet.LOG, response.split("unlocked_balance\": ")[1].split("}")[0].replaceAll("\\s+",""));
|
||||
balancevalues.setUnlockedbalance(Long.parseLong(response.split("unlocked_balance\": ")[1].split("}")[0].replaceAll("\\s+","")));
|
||||
Gdx.app.log(LightWallet.LOG, "Setting checked true.");
|
||||
balancevalues.setChecked(true);
|
||||
}
|
||||
|
||||
public void failed(Throwable t) {
|
||||
response = "failed";
|
||||
Gdx.app.log(LightWallet.LOG, "Failed - setting checked false.");
|
||||
Gdx.app.log(LightWallet.LOG, t.getMessage());
|
||||
balancevalues.setChecked(false);
|
||||
}
|
||||
|
||||
|
||||
@@ -20,17 +20,19 @@ public class WalletSaveRPC {
|
||||
this.game = game;
|
||||
swaddress = "http://localhost:19091/json_rpc";
|
||||
store = "{\"jsonrpc\":\"2.0\",\"id\":\"test\",\"method\":\"store\",\"params\":[]}";
|
||||
// store = "{\"jsonrpc\":\"2.0\",\"id\":\"test\",\"user-agent\":" + game.walletvalues.getUserAgent() + ",\"method\":\"store\",\"params\":[]}";
|
||||
}
|
||||
|
||||
public void trysave (final Label savestatuslabel) {
|
||||
HttpRequest httpGet = new HttpRequest(HttpMethods.POST);
|
||||
httpGet.setUrl(swaddress);
|
||||
httpGet.setContent(store);
|
||||
httpGet.setContent(store);
|
||||
httpGet.setHeader("User-Agent", game.walletvalues.getUserAgent());
|
||||
|
||||
Gdx.net.sendHttpRequest (httpGet, new HttpResponseListener() {
|
||||
public void handleHttpResponse(HttpResponse httpResponse) {
|
||||
response = httpResponse.getResultAsString();
|
||||
//System.out.print("Balance response: " + response);
|
||||
// System.out.print("Save response: " + response);
|
||||
savestatuslabel.setText("Successfully saved");
|
||||
savestatuslabel.setStyle(game.uiSkin.get("greenlabel", LabelStyle.class));
|
||||
}
|
||||
|
||||
@@ -0,0 +1,101 @@
|
||||
info face="Bauchaomaicha Regular" size=32 bold=0 italic=0 charset="" unicode=0 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=0,0
|
||||
common lineHeight=20 base=16 scaleW=512 scaleH=512 pages=1 packed=0
|
||||
page id=0 file="bauchaomaicha.png"
|
||||
chars count=95
|
||||
char id=32 x=0 y=0 width=0 height=0 xoffset=0 yoffset=16 xadvance=4 page=0 chnl=0
|
||||
char id=35 x=0 y=0 width=26 height=20 xoffset=0 yoffset=-1 xadvance=28 page=0 chnl=0
|
||||
char id=36 x=26 y=0 width=10 height=20 xoffset=0 yoffset=-1 xadvance=10 page=0 chnl=0
|
||||
char id=92 x=36 y=0 width=12 height=20 xoffset=1 yoffset=-1 xadvance=14 page=0 chnl=0
|
||||
char id=64 x=48 y=0 width=18 height=20 xoffset=0 yoffset=-1 xadvance=18 page=0 chnl=0
|
||||
char id=47 x=66 y=0 width=12 height=20 xoffset=0 yoffset=-1 xadvance=12 page=0 chnl=0
|
||||
char id=125 x=78 y=0 width=9 height=20 xoffset=0 yoffset=-1 xadvance=10 page=0 chnl=0
|
||||
char id=123 x=87 y=0 width=9 height=20 xoffset=0 yoffset=-1 xadvance=10 page=0 chnl=0
|
||||
char id=93 x=96 y=0 width=6 height=20 xoffset=0 yoffset=-1 xadvance=6 page=0 chnl=0
|
||||
char id=91 x=102 y=0 width=6 height=20 xoffset=0 yoffset=-1 xadvance=6 page=0 chnl=0
|
||||
char id=41 x=108 y=0 width=6 height=20 xoffset=0 yoffset=-1 xadvance=6 page=0 chnl=0
|
||||
char id=40 x=114 y=0 width=5 height=20 xoffset=0 yoffset=-1 xadvance=6 page=0 chnl=0
|
||||
char id=124 x=119 y=0 width=4 height=19 xoffset=2 yoffset=0 xadvance=6 page=0 chnl=0
|
||||
char id=106 x=123 y=0 width=12 height=19 xoffset=-4 yoffset=2 xadvance=4 page=0 chnl=0
|
||||
char id=38 x=135 y=0 width=14 height=18 xoffset=0 yoffset=1 xadvance=12 page=0 chnl=0
|
||||
char id=81 x=149 y=0 width=14 height=18 xoffset=-2 yoffset=1 xadvance=10 page=0 chnl=0
|
||||
char id=127 x=163 y=0 width=18 height=16 xoffset=0 yoffset=1 xadvance=12 page=0 chnl=0
|
||||
char id=37 x=181 y=0 width=18 height=16 xoffset=0 yoffset=1 xadvance=18 page=0 chnl=0
|
||||
char id=63 x=199 y=0 width=10 height=16 xoffset=0 yoffset=1 xadvance=10 page=0 chnl=0
|
||||
char id=33 x=209 y=0 width=4 height=16 xoffset=0 yoffset=1 xadvance=4 page=0 chnl=0
|
||||
char id=48 x=213 y=0 width=10 height=16 xoffset=0 yoffset=1 xadvance=10 page=0 chnl=0
|
||||
char id=57 x=223 y=0 width=10 height=16 xoffset=0 yoffset=1 xadvance=10 page=0 chnl=0
|
||||
char id=56 x=233 y=0 width=10 height=16 xoffset=0 yoffset=1 xadvance=10 page=0 chnl=0
|
||||
char id=55 x=243 y=0 width=10 height=16 xoffset=0 yoffset=1 xadvance=10 page=0 chnl=0
|
||||
char id=54 x=253 y=0 width=10 height=16 xoffset=0 yoffset=1 xadvance=10 page=0 chnl=0
|
||||
char id=53 x=263 y=0 width=10 height=16 xoffset=0 yoffset=1 xadvance=10 page=0 chnl=0
|
||||
char id=52 x=273 y=0 width=10 height=16 xoffset=0 yoffset=1 xadvance=10 page=0 chnl=0
|
||||
char id=51 x=283 y=0 width=10 height=16 xoffset=0 yoffset=1 xadvance=10 page=0 chnl=0
|
||||
char id=50 x=293 y=0 width=10 height=16 xoffset=0 yoffset=1 xadvance=10 page=0 chnl=0
|
||||
char id=121 x=303 y=0 width=14 height=16 xoffset=-2 yoffset=5 xadvance=10 page=0 chnl=0
|
||||
char id=116 x=317 y=0 width=11 height=16 xoffset=-2 yoffset=1 xadvance=8 page=0 chnl=0
|
||||
char id=113 x=328 y=0 width=14 height=16 xoffset=-2 yoffset=5 xadvance=10 page=0 chnl=0
|
||||
char id=112 x=342 y=0 width=14 height=16 xoffset=-2 yoffset=5 xadvance=10 page=0 chnl=0
|
||||
char id=108 x=356 y=0 width=8 height=16 xoffset=-2 yoffset=1 xadvance=4 page=0 chnl=0
|
||||
char id=107 x=364 y=0 width=14 height=16 xoffset=-2 yoffset=1 xadvance=10 page=0 chnl=0
|
||||
char id=104 x=378 y=0 width=14 height=16 xoffset=-2 yoffset=1 xadvance=10 page=0 chnl=0
|
||||
char id=103 x=392 y=0 width=14 height=16 xoffset=-2 yoffset=5 xadvance=10 page=0 chnl=0
|
||||
char id=102 x=406 y=0 width=14 height=16 xoffset=-2 yoffset=5 xadvance=10 page=0 chnl=0
|
||||
char id=100 x=420 y=0 width=10 height=16 xoffset=0 yoffset=1 xadvance=10 page=0 chnl=0
|
||||
char id=98 x=430 y=0 width=14 height=16 xoffset=-2 yoffset=1 xadvance=10 page=0 chnl=0
|
||||
char id=90 x=444 y=0 width=14 height=16 xoffset=-2 yoffset=1 xadvance=10 page=0 chnl=0
|
||||
char id=89 x=458 y=0 width=14 height=16 xoffset=-2 yoffset=1 xadvance=10 page=0 chnl=0
|
||||
char id=88 x=472 y=0 width=14 height=16 xoffset=-2 yoffset=1 xadvance=10 page=0 chnl=0
|
||||
char id=87 x=486 y=0 width=16 height=16 xoffset=-2 yoffset=1 xadvance=12 page=0 chnl=0
|
||||
char id=86 x=0 y=20 width=14 height=16 xoffset=-2 yoffset=1 xadvance=10 page=0 chnl=0
|
||||
char id=85 x=14 y=20 width=14 height=16 xoffset=-2 yoffset=1 xadvance=10 page=0 chnl=0
|
||||
char id=84 x=28 y=20 width=13 height=16 xoffset=-2 yoffset=1 xadvance=10 page=0 chnl=0
|
||||
char id=83 x=41 y=20 width=14 height=16 xoffset=-2 yoffset=1 xadvance=10 page=0 chnl=0
|
||||
char id=82 x=55 y=20 width=14 height=16 xoffset=-2 yoffset=1 xadvance=10 page=0 chnl=0
|
||||
char id=80 x=69 y=20 width=14 height=16 xoffset=-2 yoffset=1 xadvance=10 page=0 chnl=0
|
||||
char id=79 x=83 y=20 width=14 height=16 xoffset=-2 yoffset=1 xadvance=10 page=0 chnl=0
|
||||
char id=78 x=97 y=20 width=14 height=16 xoffset=-2 yoffset=1 xadvance=10 page=0 chnl=0
|
||||
char id=77 x=111 y=20 width=16 height=16 xoffset=-2 yoffset=1 xadvance=12 page=0 chnl=0
|
||||
char id=76 x=127 y=20 width=13 height=16 xoffset=-2 yoffset=1 xadvance=10 page=0 chnl=0
|
||||
char id=75 x=140 y=20 width=14 height=16 xoffset=-2 yoffset=1 xadvance=10 page=0 chnl=0
|
||||
char id=74 x=154 y=20 width=8 height=16 xoffset=0 yoffset=1 xadvance=8 page=0 chnl=0
|
||||
char id=73 x=162 y=20 width=8 height=16 xoffset=-2 yoffset=1 xadvance=4 page=0 chnl=0
|
||||
char id=72 x=170 y=20 width=14 height=16 xoffset=-2 yoffset=1 xadvance=10 page=0 chnl=0
|
||||
char id=71 x=184 y=20 width=14 height=16 xoffset=-2 yoffset=1 xadvance=10 page=0 chnl=0
|
||||
char id=70 x=198 y=20 width=13 height=16 xoffset=-2 yoffset=1 xadvance=10 page=0 chnl=0
|
||||
char id=69 x=211 y=20 width=13 height=16 xoffset=-2 yoffset=1 xadvance=10 page=0 chnl=0
|
||||
char id=68 x=224 y=20 width=14 height=16 xoffset=-2 yoffset=1 xadvance=10 page=0 chnl=0
|
||||
char id=67 x=238 y=20 width=14 height=16 xoffset=-2 yoffset=1 xadvance=10 page=0 chnl=0
|
||||
char id=66 x=252 y=20 width=14 height=16 xoffset=-2 yoffset=1 xadvance=10 page=0 chnl=0
|
||||
char id=65 x=266 y=20 width=14 height=16 xoffset=-2 yoffset=1 xadvance=10 page=0 chnl=0
|
||||
char id=49 x=280 y=20 width=6 height=15 xoffset=0 yoffset=2 xadvance=6 page=0 chnl=0
|
||||
char id=105 x=286 y=20 width=8 height=15 xoffset=-2 yoffset=2 xadvance=4 page=0 chnl=0
|
||||
char id=42 x=294 y=20 width=11 height=14 xoffset=0 yoffset=-1 xadvance=12 page=0 chnl=0
|
||||
char id=43 x=305 y=20 width=12 height=12 xoffset=0 yoffset=3 xadvance=12 page=0 chnl=0
|
||||
char id=59 x=317 y=20 width=4 height=12 xoffset=0 yoffset=5 xadvance=4 page=0 chnl=0
|
||||
char id=122 x=321 y=20 width=9 height=12 xoffset=0 yoffset=5 xadvance=10 page=0 chnl=0
|
||||
char id=120 x=330 y=20 width=14 height=12 xoffset=-2 yoffset=5 xadvance=10 page=0 chnl=0
|
||||
char id=119 x=344 y=20 width=16 height=12 xoffset=-2 yoffset=5 xadvance=12 page=0 chnl=0
|
||||
char id=118 x=360 y=20 width=14 height=12 xoffset=-2 yoffset=5 xadvance=10 page=0 chnl=0
|
||||
char id=117 x=374 y=20 width=14 height=12 xoffset=-2 yoffset=5 xadvance=10 page=0 chnl=0
|
||||
char id=115 x=388 y=20 width=14 height=12 xoffset=-2 yoffset=5 xadvance=10 page=0 chnl=0
|
||||
char id=114 x=402 y=20 width=14 height=12 xoffset=-2 yoffset=5 xadvance=10 page=0 chnl=0
|
||||
char id=111 x=416 y=20 width=14 height=12 xoffset=-2 yoffset=5 xadvance=10 page=0 chnl=0
|
||||
char id=110 x=430 y=20 width=14 height=12 xoffset=-2 yoffset=5 xadvance=10 page=0 chnl=0
|
||||
char id=109 x=444 y=20 width=16 height=12 xoffset=-2 yoffset=5 xadvance=12 page=0 chnl=0
|
||||
char id=101 x=460 y=20 width=14 height=12 xoffset=-2 yoffset=5 xadvance=10 page=0 chnl=0
|
||||
char id=99 x=474 y=20 width=14 height=12 xoffset=-2 yoffset=5 xadvance=10 page=0 chnl=0
|
||||
char id=97 x=488 y=20 width=10 height=12 xoffset=0 yoffset=5 xadvance=10 page=0 chnl=0
|
||||
char id=62 x=498 y=20 width=7 height=10 xoffset=0 yoffset=5 xadvance=8 page=0 chnl=0
|
||||
char id=60 x=0 y=36 width=7 height=10 xoffset=0 yoffset=5 xadvance=8 page=0 chnl=0
|
||||
char id=58 x=7 y=36 width=4 height=10 xoffset=0 yoffset=5 xadvance=4 page=0 chnl=0
|
||||
char id=126 x=11 y=36 width=11 height=8 xoffset=0 yoffset=5 xadvance=12 page=0 chnl=0
|
||||
char id=61 x=22 y=36 width=12 height=8 xoffset=0 yoffset=5 xadvance=12 page=0 chnl=0
|
||||
char id=44 x=34 y=36 width=4 height=6 xoffset=0 yoffset=13 xadvance=4 page=0 chnl=0
|
||||
char id=39 x=38 y=36 width=4 height=6 xoffset=0 yoffset=-1 xadvance=6 page=0 chnl=0
|
||||
char id=96 x=42 y=36 width=7 height=6 xoffset=0 yoffset=-1 xadvance=8 page=0 chnl=0
|
||||
char id=34 x=49 y=36 width=8 height=6 xoffset=0 yoffset=-1 xadvance=10 page=0 chnl=0
|
||||
char id=94 x=57 y=36 width=9 height=5 xoffset=0 yoffset=2 xadvance=10 page=0 chnl=0
|
||||
char id=95 x=66 y=36 width=14 height=4 xoffset=0 yoffset=13 xadvance=14 page=0 chnl=0
|
||||
char id=45 x=80 y=36 width=12 height=4 xoffset=0 yoffset=7 xadvance=12 page=0 chnl=0
|
||||
char id=46 x=92 y=36 width=4 height=4 xoffset=0 yoffset=13 xadvance=4 page=0 chnl=0
|
||||
kernings count=-1
|
||||
|
After Width: | Height: | Size: 3.5 KiB |
@@ -0,0 +1,275 @@
|
||||
info face="QuigleyWiggly" size=32 bold=0 italic=0 charset="" unicode=0 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=0,0
|
||||
common lineHeight=40 base=30 scaleW=512 scaleH=512 pages=1 packed=0
|
||||
page id=0 file="quigleyw.png"
|
||||
chars count=81
|
||||
char id=32 x=0 y=0 width=0 height=0 xoffset=0 yoffset=30 xadvance=6 page=0 chnl=0
|
||||
char id=41 x=0 y=0 width=10 height=32 xoffset=0 yoffset=6 xadvance=9 page=0 chnl=0
|
||||
char id=40 x=10 y=0 width=10 height=32 xoffset=0 yoffset=6 xadvance=9 page=0 chnl=0
|
||||
char id=74 x=20 y=0 width=17 height=32 xoffset=0 yoffset=4 xadvance=15 page=0 chnl=0
|
||||
char id=102 x=37 y=0 width=11 height=30 xoffset=0 yoffset=8 xadvance=9 page=0 chnl=0
|
||||
char id=90 x=48 y=0 width=27 height=28 xoffset=0 yoffset=7 xadvance=25 page=0 chnl=0
|
||||
char id=89 x=75 y=0 width=21 height=28 xoffset=0 yoffset=9 xadvance=19 page=0 chnl=0
|
||||
char id=84 x=96 y=0 width=24 height=28 xoffset=0 yoffset=4 xadvance=23 page=0 chnl=0
|
||||
char id=82 x=120 y=0 width=27 height=28 xoffset=0 yoffset=8 xadvance=26 page=0 chnl=0
|
||||
char id=71 x=147 y=0 width=26 height=28 xoffset=-1 yoffset=7 xadvance=24 page=0 chnl=0
|
||||
char id=92 x=173 y=0 width=7 height=27 xoffset=0 yoffset=9 xadvance=5 page=0 chnl=0
|
||||
char id=47 x=180 y=0 width=7 height=27 xoffset=0 yoffset=7 xadvance=5 page=0 chnl=0
|
||||
char id=78 x=187 y=0 width=23 height=27 xoffset=-1 yoffset=8 xadvance=21 page=0 chnl=0
|
||||
char id=75 x=210 y=0 width=25 height=27 xoffset=0 yoffset=7 xadvance=24 page=0 chnl=0
|
||||
char id=80 x=235 y=0 width=30 height=26 xoffset=-1 yoffset=7 xadvance=27 page=0 chnl=0
|
||||
char id=77 x=265 y=0 width=28 height=26 xoffset=-1 yoffset=7 xadvance=26 page=0 chnl=0
|
||||
char id=76 x=293 y=0 width=27 height=26 xoffset=0 yoffset=5 xadvance=26 page=0 chnl=0
|
||||
char id=72 x=320 y=0 width=25 height=26 xoffset=-1 yoffset=8 xadvance=23 page=0 chnl=0
|
||||
char id=106 x=345 y=0 width=15 height=25 xoffset=0 yoffset=12 xadvance=9 page=0 chnl=0
|
||||
char id=88 x=360 y=0 width=23 height=25 xoffset=0 yoffset=7 xadvance=22 page=0 chnl=0
|
||||
char id=68 x=383 y=0 width=24 height=25 xoffset=0 yoffset=6 xadvance=22 page=0 chnl=0
|
||||
char id=66 x=407 y=0 width=28 height=25 xoffset=0 yoffset=9 xadvance=26 page=0 chnl=0
|
||||
char id=64 x=435 y=0 width=22 height=24 xoffset=1 yoffset=7 xadvance=22 page=0 chnl=0
|
||||
char id=108 x=457 y=0 width=10 height=24 xoffset=0 yoffset=7 xadvance=7 page=0 chnl=0
|
||||
char id=100 x=467 y=0 width=14 height=24 xoffset=0 yoffset=7 xadvance=12 page=0 chnl=0
|
||||
char id=98 x=481 y=0 width=10 height=24 xoffset=0 yoffset=7 xadvance=9 page=0 chnl=0
|
||||
char id=86 x=0 y=32 width=22 height=24 xoffset=0 yoffset=7 xadvance=20 page=0 chnl=0
|
||||
char id=70 x=22 y=32 width=24 height=24 xoffset=0 yoffset=7 xadvance=23 page=0 chnl=0
|
||||
char id=38 x=46 y=32 width=22 height=23 xoffset=0 yoffset=8 xadvance=22 page=0 chnl=0
|
||||
char id=36 x=68 y=32 width=11 height=23 xoffset=0 yoffset=8 xadvance=10 page=0 chnl=0
|
||||
char id=107 x=79 y=32 width=16 height=23 xoffset=0 yoffset=8 xadvance=12 page=0 chnl=0
|
||||
char id=104 x=95 y=32 width=16 height=23 xoffset=0 yoffset=8 xadvance=12 page=0 chnl=0
|
||||
char id=87 x=111 y=32 width=30 height=23 xoffset=0 yoffset=8 xadvance=28 page=0 chnl=0
|
||||
char id=83 x=141 y=32 width=27 height=23 xoffset=0 yoffset=8 xadvance=26 page=0 chnl=0
|
||||
char id=81 x=168 y=32 width=25 height=23 xoffset=0 yoffset=7 xadvance=24 page=0 chnl=0
|
||||
char id=79 x=193 y=32 width=25 height=23 xoffset=0 yoffset=8 xadvance=23 page=0 chnl=0
|
||||
char id=73 x=218 y=32 width=22 height=23 xoffset=0 yoffset=8 xadvance=20 page=0 chnl=0
|
||||
char id=69 x=240 y=32 width=22 height=23 xoffset=0 yoffset=8 xadvance=20 page=0 chnl=0
|
||||
char id=33 x=262 y=32 width=5 height=22 xoffset=0 yoffset=9 xadvance=4 page=0 chnl=0
|
||||
char id=55 x=267 y=32 width=11 height=22 xoffset=0 yoffset=9 xadvance=10 page=0 chnl=0
|
||||
char id=53 x=278 y=32 width=12 height=22 xoffset=0 yoffset=9 xadvance=11 page=0 chnl=0
|
||||
char id=50 x=290 y=32 width=13 height=22 xoffset=0 yoffset=9 xadvance=12 page=0 chnl=0
|
||||
char id=112 x=303 y=32 width=14 height=22 xoffset=0 yoffset=18 xadvance=12 page=0 chnl=0
|
||||
char id=85 x=317 y=32 width=24 height=22 xoffset=0 yoffset=9 xadvance=22 page=0 chnl=0
|
||||
char id=67 x=341 y=32 width=20 height=22 xoffset=0 yoffset=9 xadvance=18 page=0 chnl=0
|
||||
char id=65 x=361 y=32 width=23 height=22 xoffset=0 yoffset=9 xadvance=21 page=0 chnl=0
|
||||
char id=63 x=384 y=32 width=12 height=21 xoffset=0 yoffset=10 xadvance=11 page=0 chnl=0
|
||||
char id=48 x=396 y=32 width=15 height=21 xoffset=0 yoffset=10 xadvance=13 page=0 chnl=0
|
||||
char id=57 x=411 y=32 width=13 height=21 xoffset=0 yoffset=10 xadvance=12 page=0 chnl=0
|
||||
char id=56 x=424 y=32 width=12 height=21 xoffset=0 yoffset=10 xadvance=11 page=0 chnl=0
|
||||
char id=54 x=436 y=32 width=13 height=21 xoffset=0 yoffset=10 xadvance=12 page=0 chnl=0
|
||||
char id=52 x=449 y=32 width=14 height=21 xoffset=0 yoffset=10 xadvance=13 page=0 chnl=0
|
||||
char id=51 x=463 y=32 width=12 height=21 xoffset=0 yoffset=10 xadvance=12 page=0 chnl=0
|
||||
char id=49 x=475 y=32 width=7 height=21 xoffset=0 yoffset=10 xadvance=8 page=0 chnl=0
|
||||
char id=121 x=482 y=32 width=16 height=21 xoffset=0 yoffset=18 xadvance=12 page=0 chnl=0
|
||||
char id=113 x=0 y=56 width=16 height=20 xoffset=0 yoffset=18 xadvance=12 page=0 chnl=0
|
||||
char id=105 x=16 y=56 width=9 height=20 xoffset=0 yoffset=11 xadvance=6 page=0 chnl=0
|
||||
char id=103 x=25 y=56 width=16 height=20 xoffset=0 yoffset=17 xadvance=11 page=0 chnl=0
|
||||
char id=116 x=41 y=56 width=14 height=19 xoffset=0 yoffset=12 xadvance=10 page=0 chnl=0
|
||||
char id=122 x=55 y=56 width=11 height=14 xoffset=0 yoffset=17 xadvance=9 page=0 chnl=0
|
||||
char id=119 x=66 y=56 width=17 height=14 xoffset=0 yoffset=17 xadvance=15 page=0 chnl=0
|
||||
char id=114 x=83 y=56 width=12 height=14 xoffset=0 yoffset=17 xadvance=11 page=0 chnl=0
|
||||
char id=101 x=95 y=56 width=13 height=14 xoffset=0 yoffset=17 xadvance=9 page=0 chnl=0
|
||||
char id=59 x=108 y=56 width=6 height=13 xoffset=-1 yoffset=18 xadvance=4 page=0 chnl=0
|
||||
char id=120 x=114 y=56 width=13 height=13 xoffset=0 yoffset=18 xadvance=9 page=0 chnl=0
|
||||
char id=118 x=127 y=56 width=11 height=13 xoffset=0 yoffset=18 xadvance=9 page=0 chnl=0
|
||||
char id=117 x=138 y=56 width=16 height=13 xoffset=0 yoffset=18 xadvance=13 page=0 chnl=0
|
||||
char id=115 x=154 y=56 width=11 height=13 xoffset=-1 yoffset=18 xadvance=8 page=0 chnl=0
|
||||
char id=111 x=165 y=56 width=15 height=13 xoffset=0 yoffset=18 xadvance=11 page=0 chnl=0
|
||||
char id=110 x=180 y=56 width=15 height=13 xoffset=0 yoffset=18 xadvance=13 page=0 chnl=0
|
||||
char id=99 x=195 y=56 width=13 height=13 xoffset=0 yoffset=18 xadvance=9 page=0 chnl=0
|
||||
char id=109 x=208 y=56 width=24 height=12 xoffset=0 yoffset=19 xadvance=18 page=0 chnl=0
|
||||
char id=97 x=232 y=56 width=15 height=12 xoffset=-1 yoffset=19 xadvance=12 page=0 chnl=0
|
||||
char id=58 x=247 y=56 width=4 height=9 xoffset=0 yoffset=18 xadvance=4 page=0 chnl=0
|
||||
char id=44 x=251 y=56 width=5 height=8 xoffset=0 yoffset=26 xadvance=4 page=0 chnl=0
|
||||
char id=42 x=256 y=56 width=6 height=6 xoffset=0 yoffset=6 xadvance=5 page=0 chnl=0
|
||||
char id=39 x=262 y=56 width=5 height=6 xoffset=0 yoffset=8 xadvance=3 page=0 chnl=0
|
||||
char id=96 x=267 y=56 width=8 height=6 xoffset=1 yoffset=3 xadvance=9 page=0 chnl=0
|
||||
char id=34 x=275 y=56 width=7 height=6 xoffset=0 yoffset=8 xadvance=6 page=0 chnl=0
|
||||
char id=46 x=282 y=56 width=4 height=5 xoffset=0 yoffset=26 xadvance=4 page=0 chnl=0
|
||||
char id=95 x=286 y=56 width=17 height=4 xoffset=-1 yoffset=29 xadvance=15 page=0 chnl=0
|
||||
char id=45 x=303 y=56 width=5 height=3 xoffset=0 yoffset=20 xadvance=4 page=0 chnl=0
|
||||
kernings count=187
|
||||
kerning first=102 second=97 amount=-1
|
||||
kerning first=102 second=99 amount=-1
|
||||
kerning first=102 second=100 amount=-1
|
||||
kerning first=102 second=101 amount=-1
|
||||
kerning first=102 second=102 amount=-2
|
||||
kerning first=102 second=106 amount=-3
|
||||
kerning first=102 second=111 amount=-1
|
||||
kerning first=102 second=115 amount=-1
|
||||
kerning first=102 second=116 amount=-2
|
||||
kerning first=102 second=120 amount=-1
|
||||
kerning first=90 second=97 amount=-6
|
||||
kerning first=90 second=101 amount=-7
|
||||
kerning first=90 second=104 amount=-2
|
||||
kerning first=90 second=105 amount=-3
|
||||
kerning first=90 second=111 amount=-7
|
||||
kerning first=90 second=121 amount=-2
|
||||
kerning first=89 second=101 amount=-1
|
||||
kerning first=89 second=117 amount=-1
|
||||
kerning first=84 second=97 amount=-6
|
||||
kerning first=84 second=101 amount=-6
|
||||
kerning first=84 second=104 amount=-1
|
||||
kerning first=84 second=105 amount=-1
|
||||
kerning first=84 second=111 amount=-5
|
||||
kerning first=84 second=114 amount=-5
|
||||
kerning first=84 second=117 amount=-6
|
||||
kerning first=84 second=118 amount=-6
|
||||
kerning first=84 second=121 amount=-6
|
||||
kerning first=84 second=122 amount=-5
|
||||
kerning first=82 second=97 amount=-3
|
||||
kerning first=82 second=101 amount=-3
|
||||
kerning first=82 second=104 amount=-1
|
||||
kerning first=82 second=105 amount=-1
|
||||
kerning first=82 second=111 amount=-4
|
||||
kerning first=82 second=117 amount=-3
|
||||
kerning first=82 second=121 amount=-2
|
||||
kerning first=71 second=97 amount=-2
|
||||
kerning first=71 second=101 amount=-2
|
||||
kerning first=71 second=104 amount=-1
|
||||
kerning first=71 second=105 amount=-1
|
||||
kerning first=71 second=108 amount=-1
|
||||
kerning first=71 second=110 amount=-2
|
||||
kerning first=71 second=111 amount=-2
|
||||
kerning first=71 second=114 amount=-3
|
||||
kerning first=71 second=117 amount=-2
|
||||
kerning first=71 second=121 amount=-2
|
||||
kerning first=78 second=97 amount=-2
|
||||
kerning first=78 second=101 amount=-2
|
||||
kerning first=78 second=111 amount=-2
|
||||
kerning first=78 second=117 amount=-2
|
||||
kerning first=78 second=121 amount=-2
|
||||
kerning first=75 second=97 amount=-1
|
||||
kerning first=75 second=101 amount=-2
|
||||
kerning first=75 second=105 amount=-1
|
||||
kerning first=75 second=108 amount=-1
|
||||
kerning first=75 second=111 amount=-1
|
||||
kerning first=75 second=114 amount=-2
|
||||
kerning first=75 second=117 amount=-1
|
||||
kerning first=75 second=121 amount=-1
|
||||
kerning first=80 second=97 amount=-2
|
||||
kerning first=80 second=101 amount=-1
|
||||
kerning first=80 second=110 amount=-1
|
||||
kerning first=80 second=111 amount=-2
|
||||
kerning first=80 second=117 amount=-1
|
||||
kerning first=80 second=121 amount=-1
|
||||
kerning first=106 second=102 amount=-2
|
||||
kerning first=106 second=106 amount=-3
|
||||
kerning first=106 second=116 amount=-2
|
||||
kerning first=66 second=97 amount=-2
|
||||
kerning first=66 second=101 amount=-2
|
||||
kerning first=66 second=111 amount=-2
|
||||
kerning first=66 second=117 amount=-2
|
||||
kerning first=66 second=121 amount=-2
|
||||
kerning first=108 second=102 amount=-3
|
||||
kerning first=108 second=106 amount=-2
|
||||
kerning first=108 second=116 amount=-2
|
||||
kerning first=100 second=102 amount=-2
|
||||
kerning first=100 second=106 amount=-3
|
||||
kerning first=100 second=116 amount=-2
|
||||
kerning first=98 second=102 amount=-2
|
||||
kerning first=98 second=106 amount=-3
|
||||
kerning first=98 second=116 amount=-1
|
||||
kerning first=70 second=97 amount=-5
|
||||
kerning first=70 second=101 amount=-5
|
||||
kerning first=70 second=105 amount=-4
|
||||
kerning first=70 second=108 amount=-1
|
||||
kerning first=70 second=111 amount=-5
|
||||
kerning first=70 second=114 amount=-3
|
||||
kerning first=70 second=117 amount=-4
|
||||
kerning first=70 second=121 amount=-4
|
||||
kerning first=107 second=102 amount=-3
|
||||
kerning first=107 second=106 amount=-3
|
||||
kerning first=107 second=116 amount=-2
|
||||
kerning first=104 second=102 amount=-3
|
||||
kerning first=104 second=106 amount=-3
|
||||
kerning first=104 second=116 amount=-2
|
||||
kerning first=87 second=97 amount=-2
|
||||
kerning first=87 second=101 amount=-2
|
||||
kerning first=87 second=111 amount=-2
|
||||
kerning first=87 second=114 amount=-2
|
||||
kerning first=87 second=117 amount=-2
|
||||
kerning first=87 second=121 amount=-2
|
||||
kerning first=83 second=102 amount=-1
|
||||
kerning first=79 second=100 amount=-1
|
||||
kerning first=79 second=102 amount=-2
|
||||
kerning first=79 second=103 amount=-1
|
||||
kerning first=79 second=106 amount=-3
|
||||
kerning first=79 second=111 amount=-1
|
||||
kerning first=79 second=115 amount=-1
|
||||
kerning first=79 second=120 amount=-1
|
||||
kerning first=73 second=100 amount=-1
|
||||
kerning first=73 second=102 amount=-2
|
||||
kerning first=73 second=106 amount=-3
|
||||
kerning first=73 second=111 amount=-1
|
||||
kerning first=73 second=115 amount=-1
|
||||
kerning first=73 second=120 amount=-1
|
||||
kerning first=69 second=102 amount=-2
|
||||
kerning first=69 second=105 amount=-1
|
||||
kerning first=69 second=106 amount=-3
|
||||
kerning first=69 second=116 amount=-2
|
||||
kerning first=69 second=120 amount=-1
|
||||
kerning first=112 second=102 amount=-3
|
||||
kerning first=112 second=106 amount=-3
|
||||
kerning first=112 second=116 amount=-2
|
||||
kerning first=85 second=102 amount=-2
|
||||
kerning first=85 second=106 amount=-3
|
||||
kerning first=85 second=116 amount=-2
|
||||
kerning first=65 second=102 amount=-1
|
||||
kerning first=65 second=106 amount=-3
|
||||
kerning first=65 second=116 amount=-2
|
||||
kerning first=121 second=102 amount=-2
|
||||
kerning first=121 second=106 amount=-3
|
||||
kerning first=121 second=116 amount=-2
|
||||
kerning first=113 second=102 amount=-3
|
||||
kerning first=113 second=106 amount=-3
|
||||
kerning first=113 second=116 amount=-2
|
||||
kerning first=105 second=102 amount=-2
|
||||
kerning first=105 second=106 amount=-2
|
||||
kerning first=105 second=116 amount=-1
|
||||
kerning first=103 second=102 amount=-2
|
||||
kerning first=103 second=106 amount=-2
|
||||
kerning first=103 second=115 amount=-1
|
||||
kerning first=103 second=116 amount=-2
|
||||
kerning first=116 second=102 amount=-3
|
||||
kerning first=116 second=106 amount=-3
|
||||
kerning first=116 second=116 amount=-3
|
||||
kerning first=122 second=102 amount=-1
|
||||
kerning first=122 second=106 amount=-2
|
||||
kerning first=119 second=102 amount=-3
|
||||
kerning first=119 second=106 amount=-3
|
||||
kerning first=119 second=116 amount=-2
|
||||
kerning first=114 second=97 amount=-1
|
||||
kerning first=114 second=102 amount=-4
|
||||
kerning first=114 second=106 amount=-3
|
||||
kerning first=114 second=116 amount=-3
|
||||
kerning first=101 second=102 amount=-2
|
||||
kerning first=101 second=106 amount=-2
|
||||
kerning first=101 second=116 amount=-1
|
||||
kerning first=120 second=102 amount=-3
|
||||
kerning first=120 second=106 amount=-3
|
||||
kerning first=120 second=116 amount=-2
|
||||
kerning first=118 second=102 amount=-3
|
||||
kerning first=118 second=106 amount=-3
|
||||
kerning first=118 second=116 amount=-2
|
||||
kerning first=117 second=97 amount=-1
|
||||
kerning first=117 second=102 amount=-4
|
||||
kerning first=117 second=106 amount=-3
|
||||
kerning first=117 second=116 amount=-3
|
||||
kerning first=115 second=102 amount=-3
|
||||
kerning first=115 second=106 amount=-3
|
||||
kerning first=115 second=116 amount=-2
|
||||
kerning first=111 second=102 amount=-4
|
||||
kerning first=111 second=106 amount=-3
|
||||
kerning first=111 second=116 amount=-3
|
||||
kerning first=110 second=97 amount=-1
|
||||
kerning first=110 second=102 amount=-4
|
||||
kerning first=110 second=106 amount=-3
|
||||
kerning first=110 second=116 amount=-3
|
||||
kerning first=99 second=102 amount=-4
|
||||
kerning first=99 second=106 amount=-3
|
||||
kerning first=99 second=116 amount=-2
|
||||
kerning first=99 second=120 amount=-1
|
||||
kerning first=109 second=102 amount=-2
|
||||
kerning first=109 second=106 amount=-3
|
||||
kerning first=109 second=116 amount=-2
|
||||
kerning first=97 second=102 amount=-3
|
||||
kerning first=97 second=106 amount=-3
|
||||
kerning first=97 second=116 amount=-2
|
||||
kerning first=97 second=120 amount=-1
|
||||
|
After Width: | Height: | Size: 17 KiB |
|
After Width: | Height: | Size: 71 KiB |
|
After Width: | Height: | Size: 835 B |
|
After Width: | Height: | Size: 16 KiB |
@@ -0,0 +1,101 @@
|
||||
info face="Droid Sans" size=17 bold=0 italic=0 charset="" unicode=0 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=1,1
|
||||
common lineHeight=20 base=18 scaleW=256 scaleH=128 pages=1 packed=0
|
||||
page id=0 file="default.png"
|
||||
chars count=96
|
||||
char id=32 x=0 y=0 width=0 height=0 xoffset=0 yoffset=16 xadvance=4 page=0 chnl=0
|
||||
char id=124 x=0 y=0 width=6 height=20 xoffset=1 yoffset=3 xadvance=9 page=0 chnl=0
|
||||
char id=106 x=6 y=0 width=9 height=20 xoffset=-4 yoffset=3 xadvance=4 page=0 chnl=0
|
||||
char id=81 x=15 y=0 width=15 height=19 xoffset=-2 yoffset=3 xadvance=12 page=0 chnl=0
|
||||
char id=74 x=30 y=0 width=11 height=19 xoffset=-5 yoffset=3 xadvance=4 page=0 chnl=0
|
||||
char id=125 x=41 y=0 width=10 height=18 xoffset=-3 yoffset=3 xadvance=6 page=0 chnl=0
|
||||
char id=123 x=51 y=0 width=10 height=18 xoffset=-3 yoffset=3 xadvance=6 page=0 chnl=0
|
||||
char id=93 x=61 y=0 width=8 height=18 xoffset=-3 yoffset=3 xadvance=5 page=0 chnl=0
|
||||
char id=91 x=69 y=0 width=8 height=18 xoffset=-2 yoffset=3 xadvance=5 page=0 chnl=0
|
||||
char id=41 x=77 y=0 width=9 height=18 xoffset=-3 yoffset=3 xadvance=5 page=0 chnl=0
|
||||
char id=40 x=86 y=0 width=9 height=18 xoffset=-3 yoffset=3 xadvance=5 page=0 chnl=0
|
||||
char id=64 x=95 y=0 width=18 height=17 xoffset=-3 yoffset=3 xadvance=14 page=0 chnl=0
|
||||
char id=121 x=113 y=0 width=13 height=17 xoffset=-3 yoffset=6 xadvance=8 page=0 chnl=0
|
||||
char id=113 x=126 y=0 width=13 height=17 xoffset=-3 yoffset=6 xadvance=9 page=0 chnl=0
|
||||
char id=112 x=139 y=0 width=13 height=17 xoffset=-2 yoffset=6 xadvance=9 page=0 chnl=0
|
||||
char id=103 x=152 y=0 width=13 height=17 xoffset=-3 yoffset=6 xadvance=8 page=0 chnl=0
|
||||
char id=38 x=165 y=0 width=16 height=16 xoffset=-3 yoffset=3 xadvance=11 page=0 chnl=0
|
||||
char id=37 x=181 y=0 width=18 height=16 xoffset=-3 yoffset=3 xadvance=14 page=0 chnl=0
|
||||
char id=36 x=199 y=0 width=12 height=16 xoffset=-2 yoffset=3 xadvance=9 page=0 chnl=0
|
||||
char id=63 x=211 y=0 width=11 height=16 xoffset=-3 yoffset=3 xadvance=7 page=0 chnl=0
|
||||
char id=33 x=222 y=0 width=7 height=16 xoffset=-2 yoffset=3 xadvance=4 page=0 chnl=0
|
||||
char id=48 x=229 y=0 width=13 height=16 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=0
|
||||
char id=57 x=242 y=0 width=13 height=16 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=0
|
||||
char id=56 x=0 y=20 width=13 height=16 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=0
|
||||
char id=54 x=13 y=20 width=13 height=16 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=0
|
||||
char id=53 x=26 y=20 width=12 height=16 xoffset=-2 yoffset=3 xadvance=9 page=0 chnl=0
|
||||
char id=51 x=38 y=20 width=13 height=16 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=0
|
||||
char id=100 x=51 y=20 width=13 height=16 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=0
|
||||
char id=98 x=64 y=20 width=13 height=16 xoffset=-2 yoffset=3 xadvance=9 page=0 chnl=0
|
||||
char id=85 x=77 y=20 width=14 height=16 xoffset=-2 yoffset=3 xadvance=11 page=0 chnl=0
|
||||
char id=83 x=91 y=20 width=13 height=16 xoffset=-3 yoffset=3 xadvance=8 page=0 chnl=0
|
||||
char id=79 x=104 y=20 width=15 height=16 xoffset=-2 yoffset=3 xadvance=12 page=0 chnl=0
|
||||
char id=71 x=119 y=20 width=14 height=16 xoffset=-2 yoffset=3 xadvance=11 page=0 chnl=0
|
||||
char id=67 x=133 y=20 width=13 height=16 xoffset=-2 yoffset=3 xadvance=10 page=0 chnl=0
|
||||
char id=127 x=146 y=20 width=12 height=15 xoffset=-2 yoffset=3 xadvance=10 page=0 chnl=0
|
||||
char id=35 x=158 y=20 width=15 height=15 xoffset=-3 yoffset=3 xadvance=10 page=0 chnl=0
|
||||
char id=92 x=173 y=20 width=11 height=15 xoffset=-3 yoffset=3 xadvance=6 page=0 chnl=0
|
||||
char id=47 x=184 y=20 width=11 height=15 xoffset=-3 yoffset=3 xadvance=6 page=0 chnl=0
|
||||
char id=59 x=195 y=20 width=8 height=15 xoffset=-3 yoffset=6 xadvance=4 page=0 chnl=0
|
||||
char id=55 x=203 y=20 width=13 height=15 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=0
|
||||
char id=52 x=216 y=20 width=14 height=15 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=0
|
||||
char id=50 x=230 y=20 width=13 height=15 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=0
|
||||
char id=49 x=243 y=20 width=9 height=15 xoffset=-2 yoffset=3 xadvance=9 page=0 chnl=0
|
||||
char id=116 x=0 y=36 width=10 height=15 xoffset=-3 yoffset=4 xadvance=5 page=0 chnl=0
|
||||
char id=108 x=10 y=36 width=6 height=15 xoffset=-2 yoffset=3 xadvance=4 page=0 chnl=0
|
||||
char id=107 x=16 y=36 width=12 height=15 xoffset=-2 yoffset=3 xadvance=8 page=0 chnl=0
|
||||
char id=105 x=28 y=36 width=7 height=15 xoffset=-2 yoffset=3 xadvance=4 page=0 chnl=0
|
||||
char id=104 x=35 y=36 width=12 height=15 xoffset=-2 yoffset=3 xadvance=10 page=0 chnl=0
|
||||
char id=102 x=47 y=36 width=11 height=15 xoffset=-3 yoffset=3 xadvance=5 page=0 chnl=0
|
||||
char id=90 x=58 y=36 width=13 height=15 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=0
|
||||
char id=89 x=71 y=36 width=13 height=15 xoffset=-3 yoffset=3 xadvance=8 page=0 chnl=0
|
||||
char id=88 x=84 y=36 width=14 height=15 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=0
|
||||
char id=87 x=98 y=36 width=19 height=15 xoffset=-3 yoffset=3 xadvance=15 page=0 chnl=0
|
||||
char id=86 x=117 y=36 width=14 height=15 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=0
|
||||
char id=84 x=131 y=36 width=13 height=15 xoffset=-3 yoffset=3 xadvance=8 page=0 chnl=0
|
||||
char id=82 x=144 y=36 width=13 height=15 xoffset=-2 yoffset=3 xadvance=10 page=0 chnl=0
|
||||
char id=80 x=157 y=36 width=12 height=15 xoffset=-2 yoffset=3 xadvance=9 page=0 chnl=0
|
||||
char id=78 x=169 y=36 width=14 height=15 xoffset=-2 yoffset=3 xadvance=12 page=0 chnl=0
|
||||
char id=77 x=183 y=36 width=17 height=15 xoffset=-2 yoffset=3 xadvance=14 page=0 chnl=0
|
||||
char id=76 x=200 y=36 width=11 height=15 xoffset=-2 yoffset=3 xadvance=8 page=0 chnl=0
|
||||
char id=75 x=211 y=36 width=13 height=15 xoffset=-2 yoffset=3 xadvance=9 page=0 chnl=0
|
||||
char id=73 x=224 y=36 width=10 height=15 xoffset=-3 yoffset=3 xadvance=5 page=0 chnl=0
|
||||
char id=72 x=234 y=36 width=14 height=15 xoffset=-2 yoffset=3 xadvance=11 page=0 chnl=0
|
||||
char id=70 x=0 y=51 width=11 height=15 xoffset=-2 yoffset=3 xadvance=8 page=0 chnl=0
|
||||
char id=69 x=11 y=51 width=11 height=15 xoffset=-2 yoffset=3 xadvance=8 page=0 chnl=0
|
||||
char id=68 x=22 y=51 width=14 height=15 xoffset=-2 yoffset=3 xadvance=11 page=0 chnl=0
|
||||
char id=66 x=36 y=51 width=13 height=15 xoffset=-2 yoffset=3 xadvance=10 page=0 chnl=0
|
||||
char id=65 x=49 y=51 width=15 height=15 xoffset=-3 yoffset=3 xadvance=10 page=0 chnl=0
|
||||
char id=58 x=64 y=51 width=7 height=13 xoffset=-2 yoffset=6 xadvance=4 page=0 chnl=0
|
||||
char id=117 x=71 y=51 width=12 height=13 xoffset=-2 yoffset=6 xadvance=10 page=0 chnl=0
|
||||
char id=115 x=83 y=51 width=11 height=13 xoffset=-3 yoffset=6 xadvance=7 page=0 chnl=0
|
||||
char id=111 x=94 y=51 width=13 height=13 xoffset=-3 yoffset=6 xadvance=9 page=0 chnl=0
|
||||
char id=101 x=107 y=51 width=13 height=13 xoffset=-3 yoffset=6 xadvance=9 page=0 chnl=0
|
||||
char id=99 x=120 y=51 width=12 height=13 xoffset=-3 yoffset=6 xadvance=7 page=0 chnl=0
|
||||
char id=97 x=132 y=51 width=12 height=13 xoffset=-3 yoffset=6 xadvance=9 page=0 chnl=0
|
||||
char id=60 x=144 y=51 width=13 height=12 xoffset=-3 yoffset=5 xadvance=9 page=0 chnl=0
|
||||
char id=122 x=157 y=51 width=11 height=12 xoffset=-3 yoffset=6 xadvance=7 page=0 chnl=0
|
||||
char id=120 x=168 y=51 width=13 height=12 xoffset=-3 yoffset=6 xadvance=8 page=0 chnl=0
|
||||
char id=119 x=181 y=51 width=17 height=12 xoffset=-3 yoffset=6 xadvance=12 page=0 chnl=0
|
||||
char id=118 x=198 y=51 width=13 height=12 xoffset=-3 yoffset=6 xadvance=8 page=0 chnl=0
|
||||
char id=114 x=211 y=51 width=10 height=12 xoffset=-2 yoffset=6 xadvance=6 page=0 chnl=0
|
||||
char id=110 x=221 y=51 width=12 height=12 xoffset=-2 yoffset=6 xadvance=10 page=0 chnl=0
|
||||
char id=109 x=233 y=51 width=17 height=12 xoffset=-2 yoffset=6 xadvance=15 page=0 chnl=0
|
||||
char id=94 x=0 y=66 width=13 height=11 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=0
|
||||
char id=62 x=13 y=66 width=13 height=11 xoffset=-3 yoffset=5 xadvance=9 page=0 chnl=0
|
||||
char id=42 x=26 y=66 width=13 height=10 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=0
|
||||
char id=43 x=39 y=66 width=13 height=10 xoffset=-3 yoffset=6 xadvance=9 page=0 chnl=0
|
||||
char id=61 x=52 y=66 width=13 height=8 xoffset=-3 yoffset=7 xadvance=9 page=0 chnl=0
|
||||
char id=39 x=65 y=66 width=6 height=8 xoffset=-2 yoffset=3 xadvance=3 page=0 chnl=0
|
||||
char id=34 x=71 y=66 width=9 height=8 xoffset=-2 yoffset=3 xadvance=6 page=0 chnl=0
|
||||
char id=44 x=80 y=66 width=8 height=7 xoffset=-3 yoffset=14 xadvance=4 page=0 chnl=0
|
||||
char id=126 x=88 y=66 width=13 height=6 xoffset=-3 yoffset=8 xadvance=9 page=0 chnl=0
|
||||
char id=46 x=101 y=66 width=7 height=6 xoffset=-2 yoffset=13 xadvance=4 page=0 chnl=0
|
||||
char id=96 x=108 y=66 width=8 height=6 xoffset=0 yoffset=2 xadvance=9 page=0 chnl=0
|
||||
char id=45 x=116 y=66 width=9 height=5 xoffset=-3 yoffset=10 xadvance=5 page=0 chnl=0
|
||||
char id=95 x=125 y=66 width=13 height=4 xoffset=-4 yoffset=17 xadvance=6 page=0 chnl=0
|
||||
kernings count=-1
|
||||
|
After Width: | Height: | Size: 26 KiB |
@@ -0,0 +1,100 @@
|
||||
info face="Droid Sans" size=11 bold=0 italic=0 charset="" unicode=0 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=0,0
|
||||
common lineHeight=14 base=11 scaleW=512 scaleH=512 pages=1 packed=0
|
||||
page id=0 file="tiny.png"
|
||||
chars count=94
|
||||
char id=32 x=0 y=0 width=0 height=0 xoffset=0 yoffset=11 xadvance=3 page=0 chnl=0
|
||||
char id=124 x=0 y=0 width=2 height=13 xoffset=2 yoffset=2 xadvance=5 page=0 chnl=0
|
||||
char id=106 x=2 y=0 width=4 height=13 xoffset=-1 yoffset=2 xadvance=2 page=0 chnl=0
|
||||
char id=93 x=6 y=0 width=4 height=12 xoffset=0 yoffset=2 xadvance=3 page=0 chnl=0
|
||||
char id=91 x=10 y=0 width=4 height=12 xoffset=1 yoffset=2 xadvance=3 page=0 chnl=0
|
||||
char id=41 x=14 y=0 width=4 height=12 xoffset=0 yoffset=2 xadvance=3 page=0 chnl=0
|
||||
char id=40 x=18 y=0 width=3 height=12 xoffset=0 yoffset=2 xadvance=3 page=0 chnl=0
|
||||
char id=81 x=21 y=0 width=8 height=12 xoffset=1 yoffset=2 xadvance=9 page=0 chnl=0
|
||||
char id=74 x=29 y=0 width=5 height=12 xoffset=-1 yoffset=2 xadvance=3 page=0 chnl=0
|
||||
char id=36 x=34 y=0 width=6 height=11 xoffset=0 yoffset=2 xadvance=6 page=0 chnl=0
|
||||
char id=125 x=40 y=0 width=5 height=11 xoffset=0 yoffset=3 xadvance=4 page=0 chnl=0
|
||||
char id=123 x=45 y=0 width=5 height=11 xoffset=1 yoffset=3 xadvance=4 page=0 chnl=0
|
||||
char id=121 x=50 y=0 width=8 height=11 xoffset=-1 yoffset=4 xadvance=6 page=0 chnl=0
|
||||
char id=113 x=58 y=0 width=7 height=11 xoffset=0 yoffset=4 xadvance=6 page=0 chnl=0
|
||||
char id=112 x=65 y=0 width=7 height=11 xoffset=0 yoffset=4 xadvance=6 page=0 chnl=0
|
||||
char id=103 x=72 y=0 width=7 height=11 xoffset=0 yoffset=4 xadvance=6 page=0 chnl=0
|
||||
char id=35 x=79 y=0 width=9 height=10 xoffset=0 yoffset=2 xadvance=7 page=0 chnl=0
|
||||
char id=37 x=88 y=0 width=9 height=10 xoffset=0 yoffset=2 xadvance=9 page=0 chnl=0
|
||||
char id=92 x=97 y=0 width=7 height=10 xoffset=-1 yoffset=2 xadvance=4 page=0 chnl=0
|
||||
char id=64 x=104 y=0 width=10 height=10 xoffset=1 yoffset=3 xadvance=10 page=0 chnl=0
|
||||
char id=47 x=114 y=0 width=7 height=10 xoffset=-1 yoffset=2 xadvance=4 page=0 chnl=0
|
||||
char id=59 x=121 y=0 width=3 height=10 xoffset=0 yoffset=4 xadvance=3 page=0 chnl=0
|
||||
char id=33 x=124 y=0 width=4 height=10 xoffset=0 yoffset=2 xadvance=3 page=0 chnl=0
|
||||
char id=48 x=128 y=0 width=7 height=10 xoffset=0 yoffset=2 xadvance=6 page=0 chnl=0
|
||||
char id=57 x=135 y=0 width=7 height=10 xoffset=0 yoffset=2 xadvance=6 page=0 chnl=0
|
||||
char id=56 x=142 y=0 width=7 height=10 xoffset=0 yoffset=2 xadvance=6 page=0 chnl=0
|
||||
char id=55 x=149 y=0 width=7 height=10 xoffset=0 yoffset=2 xadvance=6 page=0 chnl=0
|
||||
char id=54 x=156 y=0 width=7 height=10 xoffset=0 yoffset=2 xadvance=6 page=0 chnl=0
|
||||
char id=53 x=163 y=0 width=6 height=10 xoffset=0 yoffset=2 xadvance=6 page=0 chnl=0
|
||||
char id=52 x=169 y=0 width=7 height=10 xoffset=0 yoffset=2 xadvance=6 page=0 chnl=0
|
||||
char id=51 x=176 y=0 width=7 height=10 xoffset=0 yoffset=2 xadvance=6 page=0 chnl=0
|
||||
char id=50 x=183 y=0 width=7 height=10 xoffset=0 yoffset=2 xadvance=6 page=0 chnl=0
|
||||
char id=49 x=190 y=0 width=4 height=10 xoffset=1 yoffset=2 xadvance=6 page=0 chnl=0
|
||||
char id=108 x=194 y=0 width=2 height=10 xoffset=0 yoffset=2 xadvance=2 page=0 chnl=0
|
||||
char id=107 x=196 y=0 width=6 height=10 xoffset=0 yoffset=2 xadvance=5 page=0 chnl=0
|
||||
char id=105 x=202 y=0 width=4 height=10 xoffset=-1 yoffset=2 xadvance=2 page=0 chnl=0
|
||||
char id=104 x=206 y=0 width=7 height=10 xoffset=0 yoffset=2 xadvance=6 page=0 chnl=0
|
||||
char id=102 x=213 y=0 width=5 height=10 xoffset=0 yoffset=2 xadvance=4 page=0 chnl=0
|
||||
char id=100 x=218 y=0 width=7 height=10 xoffset=0 yoffset=2 xadvance=6 page=0 chnl=0
|
||||
char id=98 x=225 y=0 width=7 height=10 xoffset=0 yoffset=2 xadvance=6 page=0 chnl=0
|
||||
char id=90 x=232 y=0 width=7 height=10 xoffset=1 yoffset=2 xadvance=7 page=0 chnl=0
|
||||
char id=89 x=239 y=0 width=10 height=10 xoffset=-1 yoffset=2 xadvance=7 page=0 chnl=0
|
||||
char id=88 x=249 y=0 width=9 height=10 xoffset=-1 yoffset=2 xadvance=6 page=0 chnl=0
|
||||
char id=87 x=258 y=0 width=12 height=10 xoffset=-1 yoffset=2 xadvance=9 page=0 chnl=0
|
||||
char id=86 x=270 y=0 width=10 height=10 xoffset=-1 yoffset=2 xadvance=7 page=0 chnl=0
|
||||
char id=85 x=280 y=0 width=8 height=10 xoffset=1 yoffset=2 xadvance=8 page=0 chnl=0
|
||||
char id=84 x=288 y=0 width=7 height=10 xoffset=0 yoffset=2 xadvance=5 page=0 chnl=0
|
||||
char id=82 x=295 y=0 width=7 height=10 xoffset=1 yoffset=2 xadvance=7 page=0 chnl=0
|
||||
char id=80 x=302 y=0 width=5 height=10 xoffset=1 yoffset=2 xadvance=6 page=0 chnl=0
|
||||
char id=79 x=307 y=0 width=8 height=10 xoffset=1 yoffset=2 xadvance=9 page=0 chnl=0
|
||||
char id=78 x=315 y=0 width=8 height=10 xoffset=1 yoffset=2 xadvance=8 page=0 chnl=0
|
||||
char id=77 x=323 y=0 width=10 height=10 xoffset=1 yoffset=2 xadvance=10 page=0 chnl=0
|
||||
char id=76 x=333 y=0 width=5 height=10 xoffset=1 yoffset=2 xadvance=5 page=0 chnl=0
|
||||
char id=75 x=338 y=0 width=8 height=10 xoffset=1 yoffset=2 xadvance=7 page=0 chnl=0
|
||||
char id=73 x=346 y=0 width=4 height=10 xoffset=0 yoffset=2 xadvance=3 page=0 chnl=0
|
||||
char id=72 x=350 y=0 width=8 height=10 xoffset=1 yoffset=2 xadvance=8 page=0 chnl=0
|
||||
char id=71 x=358 y=0 width=8 height=10 xoffset=1 yoffset=2 xadvance=8 page=0 chnl=0
|
||||
char id=70 x=366 y=0 width=6 height=10 xoffset=1 yoffset=2 xadvance=5 page=0 chnl=0
|
||||
char id=69 x=372 y=0 width=6 height=10 xoffset=1 yoffset=2 xadvance=6 page=0 chnl=0
|
||||
char id=68 x=378 y=0 width=8 height=10 xoffset=1 yoffset=2 xadvance=8 page=0 chnl=0
|
||||
char id=67 x=386 y=0 width=8 height=10 xoffset=1 yoffset=2 xadvance=7 page=0 chnl=0
|
||||
char id=66 x=394 y=0 width=7 height=10 xoffset=1 yoffset=2 xadvance=7 page=0 chnl=0
|
||||
char id=65 x=401 y=0 width=10 height=10 xoffset=-1 yoffset=2 xadvance=7 page=0 chnl=0
|
||||
char id=38 x=411 y=0 width=8 height=9 xoffset=0 yoffset=3 xadvance=8 page=0 chnl=0
|
||||
char id=63 x=419 y=0 width=5 height=9 xoffset=0 yoffset=3 xadvance=5 page=0 chnl=0
|
||||
char id=116 x=424 y=0 width=5 height=9 xoffset=0 yoffset=3 xadvance=4 page=0 chnl=0
|
||||
char id=83 x=429 y=0 width=7 height=9 xoffset=0 yoffset=3 xadvance=6 page=0 chnl=0
|
||||
char id=58 x=436 y=0 width=2 height=8 xoffset=1 yoffset=4 xadvance=3 page=0 chnl=0
|
||||
char id=122 x=438 y=0 width=6 height=8 xoffset=0 yoffset=4 xadvance=5 page=0 chnl=0
|
||||
char id=120 x=444 y=0 width=6 height=8 xoffset=0 yoffset=4 xadvance=6 page=0 chnl=0
|
||||
char id=119 x=450 y=0 width=10 height=8 xoffset=-1 yoffset=4 xadvance=8 page=0 chnl=0
|
||||
char id=118 x=460 y=0 width=8 height=8 xoffset=-1 yoffset=4 xadvance=6 page=0 chnl=0
|
||||
char id=117 x=468 y=0 width=7 height=8 xoffset=0 yoffset=4 xadvance=6 page=0 chnl=0
|
||||
char id=115 x=475 y=0 width=6 height=8 xoffset=-1 yoffset=4 xadvance=5 page=0 chnl=0
|
||||
char id=114 x=481 y=0 width=4 height=8 xoffset=0 yoffset=4 xadvance=4 page=0 chnl=0
|
||||
char id=111 x=485 y=0 width=7 height=8 xoffset=0 yoffset=4 xadvance=6 page=0 chnl=0
|
||||
char id=110 x=492 y=0 width=7 height=8 xoffset=0 yoffset=4 xadvance=6 page=0 chnl=0
|
||||
char id=109 x=499 y=0 width=11 height=8 xoffset=0 yoffset=4 xadvance=10 page=0 chnl=0
|
||||
char id=101 x=0 y=13 width=7 height=8 xoffset=0 yoffset=4 xadvance=6 page=0 chnl=0
|
||||
char id=99 x=7 y=13 width=5 height=8 xoffset=0 yoffset=4 xadvance=5 page=0 chnl=0
|
||||
char id=97 x=12 y=13 width=7 height=8 xoffset=0 yoffset=4 xadvance=6 page=0 chnl=0
|
||||
char id=42 x=19 y=13 width=8 height=7 xoffset=-1 yoffset=2 xadvance=6 page=0 chnl=0
|
||||
char id=43 x=27 y=13 width=7 height=7 xoffset=-1 yoffset=4 xadvance=6 page=0 chnl=0
|
||||
char id=94 x=34 y=13 width=7 height=7 xoffset=0 yoffset=2 xadvance=6 page=0 chnl=0
|
||||
char id=62 x=41 y=13 width=6 height=6 xoffset=1 yoffset=5 xadvance=6 page=0 chnl=0
|
||||
char id=60 x=47 y=13 width=6 height=6 xoffset=1 yoffset=5 xadvance=6 page=0 chnl=0
|
||||
char id=61 x=53 y=13 width=6 height=5 xoffset=1 yoffset=5 xadvance=6 page=0 chnl=0
|
||||
char id=44 x=59 y=13 width=3 height=5 xoffset=0 yoffset=9 xadvance=3 page=0 chnl=0
|
||||
char id=39 x=62 y=13 width=3 height=5 xoffset=1 yoffset=2 xadvance=3 page=0 chnl=0
|
||||
char id=34 x=65 y=13 width=5 height=5 xoffset=1 yoffset=2 xadvance=5 page=0 chnl=0
|
||||
char id=46 x=70 y=13 width=2 height=4 xoffset=1 yoffset=8 xadvance=3 page=0 chnl=0
|
||||
char id=96 x=72 y=13 width=4 height=4 xoffset=2 yoffset=1 xadvance=6 page=0 chnl=0
|
||||
char id=126 x=76 y=13 width=6 height=3 xoffset=1 yoffset=6 xadvance=6 page=0 chnl=0
|
||||
char id=95 x=82 y=13 width=7 height=3 xoffset=0 yoffset=11 xadvance=5 page=0 chnl=0
|
||||
char id=45 x=89 y=13 width=5 height=3 xoffset=0 yoffset=7 xadvance=4 page=0 chnl=0
|
||||
kernings count=-1
|
||||
|
After Width: | Height: | Size: 4.9 KiB |
@@ -0,0 +1,199 @@
|
||||
uiskin.png
|
||||
size: 256,128
|
||||
format: RGBA8888
|
||||
filter: Linear,Linear
|
||||
repeat: none
|
||||
check-off
|
||||
rotate: false
|
||||
xy: 11, 5
|
||||
size: 14, 14
|
||||
orig: 14, 14
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
textfield
|
||||
rotate: false
|
||||
xy: 11, 5
|
||||
size: 14, 14
|
||||
split: 3, 3, 3, 3
|
||||
orig: 14, 14
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
check-on
|
||||
rotate: false
|
||||
xy: 125, 35
|
||||
size: 14, 14
|
||||
orig: 14, 14
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
cursor
|
||||
rotate: false
|
||||
xy: 23, 1
|
||||
size: 3, 3
|
||||
split: 1, 1, 1, 1
|
||||
orig: 3, 3
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
default
|
||||
rotate: false
|
||||
xy: 1, 50
|
||||
size: 254, 77
|
||||
orig: 254, 77
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
default-pane
|
||||
rotate: false
|
||||
xy: 11, 1
|
||||
size: 5, 3
|
||||
split: 1, 1, 1, 1
|
||||
orig: 5, 3
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
default-rect-pad
|
||||
rotate: false
|
||||
xy: 11, 1
|
||||
size: 5, 3
|
||||
split: 1, 1, 1, 1
|
||||
orig: 5, 3
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
default-pane-noborder
|
||||
rotate: false
|
||||
xy: 170, 44
|
||||
size: 1, 1
|
||||
split: 0, 0, 0, 0
|
||||
orig: 1, 1
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
default-rect
|
||||
rotate: false
|
||||
xy: 38, 25
|
||||
size: 3, 3
|
||||
split: 1, 1, 1, 1
|
||||
orig: 3, 3
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
default-rect-down
|
||||
rotate: false
|
||||
xy: 170, 46
|
||||
size: 3, 3
|
||||
split: 1, 1, 1, 1
|
||||
orig: 3, 3
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
default-round
|
||||
rotate: false
|
||||
xy: 112, 29
|
||||
size: 12, 20
|
||||
split: 5, 5, 5, 4
|
||||
pad: 4, 4, 1, 1
|
||||
orig: 12, 20
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
default-round-down
|
||||
rotate: false
|
||||
xy: 99, 29
|
||||
size: 12, 20
|
||||
split: 5, 5, 5, 4
|
||||
pad: 4, 4, 1, 1
|
||||
orig: 12, 20
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
default-round-large
|
||||
rotate: false
|
||||
xy: 57, 29
|
||||
size: 20, 20
|
||||
split: 5, 5, 5, 4
|
||||
orig: 20, 20
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
default-scroll
|
||||
rotate: false
|
||||
xy: 78, 29
|
||||
size: 20, 20
|
||||
split: 2, 2, 2, 2
|
||||
orig: 20, 20
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
default-select
|
||||
rotate: false
|
||||
xy: 29, 29
|
||||
size: 27, 20
|
||||
split: 4, 14, 4, 4
|
||||
orig: 27, 20
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
default-select-selection
|
||||
rotate: false
|
||||
xy: 26, 16
|
||||
size: 3, 3
|
||||
split: 1, 1, 1, 1
|
||||
orig: 3, 3
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
default-slider
|
||||
rotate: false
|
||||
xy: 29, 20
|
||||
size: 8, 8
|
||||
split: 2, 2, 2, 2
|
||||
orig: 8, 8
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
default-slider-knob
|
||||
rotate: false
|
||||
xy: 1, 1
|
||||
size: 9, 18
|
||||
orig: 9, 18
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
default-splitpane
|
||||
rotate: false
|
||||
xy: 17, 1
|
||||
size: 5, 3
|
||||
split: 0, 5, 0, 0
|
||||
orig: 5, 3
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
default-splitpane-vertical
|
||||
rotate: false
|
||||
xy: 125, 29
|
||||
size: 3, 5
|
||||
split: 0, 0, 0, 5
|
||||
orig: 3, 5
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
default-window
|
||||
rotate: false
|
||||
xy: 1, 20
|
||||
size: 27, 29
|
||||
split: 4, 3, 20, 3
|
||||
orig: 27, 29
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
selection
|
||||
rotate: false
|
||||
xy: 174, 48
|
||||
size: 1, 1
|
||||
orig: 1, 1
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
tree-minus
|
||||
rotate: false
|
||||
xy: 140, 35
|
||||
size: 14, 14
|
||||
orig: 14, 14
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
tree-plus
|
||||
rotate: false
|
||||
xy: 155, 35
|
||||
size: 14, 14
|
||||
orig: 14, 14
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
white
|
||||
rotate: false
|
||||
xy: 129, 31
|
||||
size: 3, 3
|
||||
orig: 3, 3
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
@@ -0,0 +1,79 @@
|
||||
{
|
||||
com.badlogic.gdx.graphics.g2d.BitmapFont: {
|
||||
default-font: { file: default.fnt },
|
||||
tiny-font: { file: tiny.fnt }
|
||||
},
|
||||
com.badlogic.gdx.graphics.Color: {
|
||||
green: { a: 1, b: 0, g: 1, r: 0 },
|
||||
white: { a: 1, b: 1, g: 1, r: 1 },
|
||||
red: { a: 1, b: 0, g: 0, r: 1 },
|
||||
black: { a: 1, b: 0, g: 0, r: 0 },
|
||||
blue: {a: 1, b: 0.9, g: 0.4, r: 0 }
|
||||
},
|
||||
com.badlogic.gdx.scenes.scene2d.ui.Skin$TintedDrawable: {
|
||||
dialogDim: { name: white, color: { r: 0, g: 0, b: 0, a: 0.45 } },
|
||||
},
|
||||
com.badlogic.gdx.scenes.scene2d.ui.Button$ButtonStyle: {
|
||||
default: { down: default-round-down, up: default-round },
|
||||
toggle: { down: default-round-down, checked: default-round-down, up: default-round }
|
||||
},
|
||||
com.badlogic.gdx.scenes.scene2d.ui.TextButton$TextButtonStyle: {
|
||||
default: { down: default-round-down, up: default-round, font: default-font, fontColor: white, overFontColor: blue},
|
||||
tinytext: { down: default-round-down, up: default-round, font: tiny-font, fontColor: white, overFontColor: blue},
|
||||
toggle: { down: default-round-down, up: default-round, checked: default-round-down, font: default-font, fontColor: white, downFontColor: red }
|
||||
},
|
||||
com.badlogic.gdx.scenes.scene2d.ui.ScrollPane$ScrollPaneStyle: {
|
||||
default: { vScroll: default-scroll, hScrollKnob: default-round-large, background: default-rect, hScroll: default-scroll, vScrollKnob: default-round-large }
|
||||
},
|
||||
com.badlogic.gdx.scenes.scene2d.ui.SelectBox$SelectBoxStyle: {
|
||||
default: {
|
||||
font: default-font, fontColor: white, background: default-select,
|
||||
scrollStyle: default,
|
||||
listStyle: { font: default-font, selection: default-select-selection }
|
||||
}
|
||||
},
|
||||
com.badlogic.gdx.scenes.scene2d.ui.SplitPane$SplitPaneStyle: {
|
||||
default-vertical: { handle: default-splitpane-vertical },
|
||||
default-horizontal: { handle: default-splitpane }
|
||||
},
|
||||
com.badlogic.gdx.scenes.scene2d.ui.Window$WindowStyle: {
|
||||
default: { titleFont: default-font, background: default-window, titleFontColor: white },
|
||||
dialog: { titleFont: default-font, background: default-window, titleFontColor: white, stageBackground: dialogDim }
|
||||
},
|
||||
com.badlogic.gdx.scenes.scene2d.ui.ProgressBar$ProgressBarStyle: {
|
||||
default-horizontal: { background: default-slider, knob: default-slider-knob },
|
||||
default-vertical: { background: default-slider, knob: default-round-large }
|
||||
},
|
||||
com.badlogic.gdx.scenes.scene2d.ui.Slider$SliderStyle: {
|
||||
default-horizontal: { background: default-slider, knob: default-slider-knob },
|
||||
default-vertical: { background: default-slider, knob: default-round-large }
|
||||
},
|
||||
com.badlogic.gdx.scenes.scene2d.ui.Label$LabelStyle: {
|
||||
default: { font: default-font, fontColor: white }
|
||||
redlabel: { font: default-font, fontColor: red }
|
||||
bluelabel: { font: default-font, fontColor: blue }
|
||||
greenlabel: { font: default-font, fontColor: green }
|
||||
},
|
||||
com.badlogic.gdx.scenes.scene2d.ui.TextField$TextFieldStyle: {
|
||||
default: { selection: selection, background: textfield, font: default-font, fontColor: white, cursor: cursor }
|
||||
tinytext: { selection: selection, background: textfield, font: tiny-font, fontColor: white, cursor: cursor }
|
||||
},
|
||||
com.badlogic.gdx.scenes.scene2d.ui.CheckBox$CheckBoxStyle: {
|
||||
default: { checkboxOn: check-on, checkboxOff: check-off, font: default-font, fontColor: white }
|
||||
},
|
||||
com.badlogic.gdx.scenes.scene2d.ui.List$ListStyle: {
|
||||
default: { fontColorUnselected: white, selection: selection, fontColorSelected: white, font: default-font }
|
||||
},
|
||||
com.badlogic.gdx.scenes.scene2d.ui.Touchpad$TouchpadStyle: {
|
||||
default: { background: default-pane, knob: default-round-large }
|
||||
},
|
||||
com.badlogic.gdx.scenes.scene2d.ui.Tree$TreeStyle: {
|
||||
default: { minus: tree-minus, plus: tree-plus, selection: default-select-selection }
|
||||
},
|
||||
com.badlogic.gdx.scenes.scene2d.ui.TextTooltip$TextTooltipStyle: {
|
||||
default: {
|
||||
label: { font: default-font, fontColor: white },
|
||||
background: default-pane
|
||||
}
|
||||
},
|
||||
}
|
||||
|
After Width: | Height: | Size: 36 KiB |
@@ -1,6 +1,6 @@
|
||||
apply plugin: "java"
|
||||
|
||||
sourceCompatibility = 1.6
|
||||
sourceCompatibility = 1.7
|
||||
sourceSets.main.java.srcDirs = [ "src/" ]
|
||||
|
||||
project.ext.mainClassName = "com.jw.lightwallet.desktop.DesktopLauncher"
|
||||
@@ -43,4 +43,4 @@ task afterEclipseImport(description: "Post processing after project generation",
|
||||
printer.setPreserveWhitespace(true)
|
||||
printer.print(classpath)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,7 +12,7 @@ public class DesktopLauncher {
|
||||
config.width = Constants.DESKTOP_WIDTH;
|
||||
config.height = Constants.DESKTOP_HEIGHT;
|
||||
config.title = "Monero LightWallet";
|
||||
config.addIcon("icon32.png", FileType.Internal);
|
||||
config.addIcon("assets/icon32.png", FileType.Internal);
|
||||
new LwjglApplication(new LightWallet(), config);
|
||||
}
|
||||
}
|
||||
|
||||