# Conflicts:
#	gradle/wrapper/gradle-wrapper.properties

Also added Solarized Dark theme.
This commit is contained in:
Oliver Jan Krylow 2017-05-08 19:15:18 +02:00
commit a4e9936a85
64 changed files with 1157 additions and 511 deletions

BIN
android/assets/share.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 KiB

View file

@ -0,0 +1,26 @@
{
"name": "Black et White",
"price": 20,
"colors": {
"background": "0a0a0aff",
"foreground": "202020ff",
"buttons": [
"f0f0f0ff",
"f0f0f0ff",
"f0f0f0ff",
"f0f0f0ff"
],
"empty_cell": "000000ff",
"cells": [
"f2f2f2ff", "f2f2f2ff", "f2f2f2ff",
"f2f2f2ff", "f2f2f2ff", "f2f2f2ff", "f2f2f2ff",
"f2f2f2ff", "f2f2f2ff"
],
"current_score": "b3b3b3ff",
"high_score": "f9f9f9ff",
"bonus": "f9f9f9ff",
"band": "f0f0f0ff",
"text": "0a0a0aff"
},
"cell_texture": "basic.png"
}

View file

@ -3,6 +3,7 @@
"price": 0, "price": 0,
"colors": { "colors": {
"background": "333333ff", "background": "333333ff",
"foreground": "ddddddff",
"buttons": [ "buttons": [
"03c13dff", "03c13dff",
"007da4ff", "007da4ff",
@ -18,7 +19,8 @@
"current_score": "c83737ff", "current_score": "c83737ff",
"high_score": "d400aaff", "high_score": "d400aaff",
"bonus": "e3e3e3ff", "bonus": "e3e3e3ff",
"band": "2b5ccfff" "band": "2b5ccfff",
"text": "ffffffff"
}, },
"cell_texture": "basic.png" "cell_texture": "basic.png"
} }

View file

@ -3,6 +3,7 @@
"price": 0, "price": 0,
"colors": { "colors": {
"background": "ffffffff", "background": "ffffffff",
"foreground": "ffffffff",
"buttons": [ "buttons": [
"00ff33ff", "00ff33ff",
"ffd700ff", "ffd700ff",
@ -18,7 +19,8 @@
"current_score": "ffcc00ff", "current_score": "ffcc00ff",
"high_score": "65d681ff", "high_score": "65d681ff",
"bonus": "4d4d4dff", "bonus": "4d4d4dff",
"band": "87ceebff" "band": "87ceebff",
"text": "111111ff"
}, },
"cell_texture": "basic.png" "cell_texture": "basic.png"
} }

View file

@ -0,0 +1,26 @@
{
"name": "Underwater",
"price": 50,
"colors": {
"background": "0044aaff",
"foreground": "d7f4e3ff",
"buttons": [
"37c871ff",
"2a7fffff",
"00ccffff",
"5f5fd3ff"
],
"empty_cell": "0066ffff",
"cells": [
"37c871ff", "2ad4ffff", "0000d4ff",
"00ffccff", "5599ffff", "87cddeff", "80b3ffff",
"00ff66ff", "00d4aaff"
],
"current_score": "aaccffff",
"high_score": "2aff80ff",
"bonus": "aaeeffff",
"band": "3771c8ff",
"text": "002255ff"
},
"cell_texture": "bubble.png"
}

View file

@ -1,2 +1,4 @@
default default
dark dark
bandw
underwater

View file

@ -0,0 +1,26 @@
{
"name": "Underwater",
"price": 50,
"colors": {
"background": "0044aaff",
"foreground": "d7f4e3ff",
"buttons": [
"37c871ff",
"2a7fffff",
"00ccffff",
"5f5fd3ff"
],
"empty_cell": "0066ffff",
"cells": [
"37c871ff", "2ad4ffff", "0000d4ff",
"00ffccff", "5599ffff", "87cddeff", "80b3ffff",
"00ff66ff", "00d4aaff"
],
"current_score": "aaccffff",
"high_score": "2aff80ff",
"bonus": "aaeeffff",
"band": "3771c8ff",
"text": "002255ff"
},
"cell_texture": "bubble.png"
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 210 B

After

Width:  |  Height:  |  Size: 337 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 823 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 337 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 823 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 421 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 302 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 505 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 380 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 655 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 422 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 779 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 491 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.1 KiB

After

Width:  |  Height:  |  Size: 7.5 KiB

View file

@ -22,8 +22,8 @@ android {
minSdkVersion 8 minSdkVersion 8
targetSdkVersion 25 targetSdkVersion 25
versionCode 400 versionCode 500
versionName "0.4" versionName "0.5"
} }
} }

View file

@ -6,10 +6,11 @@ import com.badlogic.gdx.backends.android.AndroidApplication;
import com.badlogic.gdx.backends.android.AndroidApplicationConfiguration; import com.badlogic.gdx.backends.android.AndroidApplicationConfiguration;
public class AndroidLauncher extends AndroidApplication { public class AndroidLauncher extends AndroidApplication {
@Override @Override
protected void onCreate (Bundle savedInstanceState) { protected void onCreate (Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
AndroidApplicationConfiguration config = new AndroidApplicationConfiguration(); final AndroidApplicationConfiguration config = new AndroidApplicationConfiguration();
initialize(new Klooni(), config); final AndroidShareChallenge shareChallenge = new AndroidShareChallenge(this);
} initialize(new Klooni(shareChallenge), config);
}
} }

View file

@ -0,0 +1,51 @@
package io.github.lonamiwebs.klooni;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.Handler;
import android.widget.Toast;
import java.io.File;
class AndroidShareChallenge extends ShareChallenge {
private final Handler handler;
private final Context context;
AndroidShareChallenge(final Context context) {
handler = new Handler();
this.context = context;
}
@Override
File getShareImageFilePath() {
return new File(context.getExternalCacheDir(), "share_challenge.png");
}
@Override
public void shareScreenshot(final boolean ok) {
handler.post(new Runnable() {
@Override
public void run() {
if (!ok) {
Toast.makeText(context, "Failed to create the file", Toast.LENGTH_SHORT).show();
return;
}
final String text = "Check out my score at 1010 Klooni!";
final Uri pictureUri = Uri.fromFile(getShareImageFilePath());
final Intent shareIntent = new Intent();
shareIntent.setAction(Intent.ACTION_SEND);
shareIntent.setType("image/png");
shareIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "");
shareIntent.putExtra(Intent.EXTRA_TEXT, text);
shareIntent.putExtra(Intent.EXTRA_STREAM, pictureUri);
context.startActivity(Intent.createChooser(shareIntent, "Challenge your friends..."));
}
});
}
}

View file

@ -16,7 +16,7 @@ allprojects {
apply plugin: "eclipse" apply plugin: "eclipse"
apply plugin: "idea" apply plugin: "idea"
version = '0.4' version = '0.5'
ext { ext {
appName = "1010! Klooni" appName = "1010! Klooni"
gdxVersion = '1.9.5' gdxVersion = '1.9.5'

View file

@ -21,6 +21,8 @@ public class Klooni extends Game {
public static Theme theme; public static Theme theme;
public Skin skin; public Skin skin;
public ShareChallenge shareChallenge;
public static boolean onDesktop; public static boolean onDesktop;
private final static float SCORE_TO_MONEY = 1f / 100f; private final static float SCORE_TO_MONEY = 1f / 100f;
@ -32,6 +34,12 @@ public class Klooni extends Game {
//region Creation //region Creation
// TODO Possibly implement a 'ShareChallenge'
// for other platforms instead passing null
public Klooni(final ShareChallenge shareChallenge) {
this.shareChallenge = shareChallenge;
}
@Override @Override
public void create() { public void create() {
onDesktop = Gdx.app.getType().equals(Application.ApplicationType.Desktop); onDesktop = Gdx.app.getType().equals(Application.ApplicationType.Desktop);

View file

@ -0,0 +1,87 @@
package io.github.lonamiwebs.klooni;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.files.FileHandle;
import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.graphics.GL20;
import com.badlogic.gdx.graphics.Pixmap;
import com.badlogic.gdx.graphics.PixmapIO;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.BitmapFont;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.badlogic.gdx.graphics.glutils.FrameBuffer;
import com.badlogic.gdx.math.Matrix4;
import com.badlogic.gdx.scenes.scene2d.ui.Label;
import com.badlogic.gdx.utils.BufferUtils;
import com.badlogic.gdx.utils.ScreenUtils;
import java.io.File;
public abstract class ShareChallenge {
// Meant to return the file path to which the image will be saved
// On some platforms it might be as simple as Gdx.files.local().file()
abstract File getShareImageFilePath();
// Meant to share the saved screenshot at getShareImageFilePath()
public abstract void shareScreenshot(final boolean saveResult);
// Saves the "Challenge me" shareable image to getShareImageFilePath()
public boolean saveChallengeImage(final int score) {
final File saveAt = getShareImageFilePath();
if (!saveAt.getParentFile().isDirectory())
if (!saveAt.mkdirs())
return false;
final FileHandle output = new FileHandle(saveAt);
final Texture shareBase = new Texture(Gdx.files.internal("share.png"));
final int width = shareBase.getWidth();
final int height = shareBase.getHeight();
final FrameBuffer frameBuffer = new FrameBuffer(Pixmap.Format.RGB888, width, height, false);
frameBuffer.begin();
// Render the base share texture
final SpriteBatch batch = new SpriteBatch();
final Matrix4 matrix = new Matrix4();
matrix.setToOrtho2D(0, 0, width, height);
batch.setProjectionMatrix(matrix);
Gdx.gl.glClearColor(Color.GOLD.r, Color.GOLD.g, Color.GOLD.b, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
batch.begin();
batch.draw(shareBase, 0, 0);
// Render the achieved score
final Label.LabelStyle style = new Label.LabelStyle();
style.font = new BitmapFont(Gdx.files.internal("font/x1.0/geosans-light64.fnt"));
Label label = new Label("just scored " + score + " on", style);
label.setColor(Color.BLACK);
label.setPosition(40, 500);
label.draw(batch, 1);
label.setText("try to beat me if you can");
label.setPosition(40, 40);
label.draw(batch, 1);
batch.end();
// Get the framebuffer pixels and write them to a local file
final byte[] pixels = ScreenUtils.getFrameBufferPixels(0, 0, width, height, true);
final Pixmap pixmap = new Pixmap(width, height, Pixmap.Format.RGBA8888);
BufferUtils.copy(pixels, 0, pixmap.getPixels(), pixels.length);
PixmapIO.writePNG(output, pixmap);
// Dispose everything
pixmap.dispose();
shareBase.dispose();
batch.dispose();
frameBuffer.end();
return true;
}
}

View file

@ -59,7 +59,7 @@ public class SkinLoader {
} }
public static Texture loadPng(String name) { public static Texture loadPng(String name) {
final String filename = "ui/x" + bestMultiplier + "/" + name + ".png"; final String filename = "ui/x" + bestMultiplier + "/" + name;
return new Texture(Gdx.files.internal(filename)); return new Texture(Gdx.files.internal(filename));
} }
} }

View file

@ -24,19 +24,21 @@ public class Theme {
private int price; private int price;
public Color background; public Color background;
public Color foreground;
public Color emptyCell; public Color emptyCell;
public Color currentScore; public Color currentScore;
public Color highScore; public Color highScore;
public Color bonus; public Color bonus;
public Color bandColor; public Color bandColor;
public Color textColor;
private Color[] cells; private Color[] cells;
private Color[] buttons; private Color[] buttons;
public static Skin skin; public static Skin skin;
public NinePatch cellPatch; public Texture cellTexture;
// Save the button styles so the changes here get reflected // Save the button styles so the changes here get reflected
private ImageButton.ImageButtonStyle[] buttonStyles; private ImageButton.ImageButtonStyle[] buttonStyles;
@ -84,6 +86,20 @@ public class Theme {
return new Theme().update(handle); return new Theme().update(handle);
} }
// Used to determine the best foreground color (black or white) given a background color
// Formula took from http://alienryderflex.com/hsp.html
// Not used yet, but may be useful
private final static double BRIGHTNESS_CUTOFF = 0.5;
public static boolean shouldUseWhite(Color color) {
double brightness = Math.sqrt(
color.r * color.r * .299 +
color.g * color.g * .587 +
color.b * color.b * .114);
return brightness < BRIGHTNESS_CUTOFF;
}
//endregion //endregion
//region Theme updating //region Theme updating
@ -105,8 +121,9 @@ public class Theme {
price = json.getInt("price"); price = json.getInt("price");
JsonValue colors = json.get("colors"); JsonValue colors = json.get("colors");
background = new Color( // Java won't allow unsigned integers, we need to use Long // Java won't allow unsigned integers, we need to use Long
(int)Long.parseLong(colors.getString("background"), 16)); background = new Color((int)Long.parseLong(colors.getString("background"), 16));
foreground = new Color((int)Long.parseLong(colors.getString("foreground"), 16));
JsonValue buttonColors = colors.get("buttons"); JsonValue buttonColors = colors.get("buttons");
buttons = new Color[buttonColors.size]; buttons = new Color[buttonColors.size];
@ -125,6 +142,7 @@ public class Theme {
highScore = new Color((int)Long.parseLong(colors.getString("high_score"), 16)); highScore = new Color((int)Long.parseLong(colors.getString("high_score"), 16));
bonus = new Color((int)Long.parseLong(colors.getString("bonus"), 16)); bonus = new Color((int)Long.parseLong(colors.getString("bonus"), 16));
bandColor = new Color((int)Long.parseLong(colors.getString("band"), 16)); bandColor = new Color((int)Long.parseLong(colors.getString("band"), 16));
textColor = new Color((int)Long.parseLong(colors.getString("text"), 16));
emptyCell = new Color((int)Long.parseLong(colors.getString("empty_cell"), 16)); emptyCell = new Color((int)Long.parseLong(colors.getString("empty_cell"), 16));
@ -135,8 +153,7 @@ public class Theme {
} }
String cellTextureFile = json.getString("cell_texture"); String cellTextureFile = json.getString("cell_texture");
cellPatch = new NinePatch(new Texture( cellTexture = SkinLoader.loadPng("cells/"+cellTextureFile);
Gdx.files.internal("ui/cells/"+cellTextureFile)), 4, 4, 4, 4);
return this; return this;
} }

View file

@ -65,9 +65,11 @@ public class Band extends Actor {
scoreLabel.setBounds(x + scoreBounds.x, y + scoreBounds.y, scoreBounds.width, scoreBounds.height); scoreLabel.setBounds(x + scoreBounds.x, y + scoreBounds.y, scoreBounds.width, scoreBounds.height);
scoreLabel.setText(Integer.toString(scorer.getCurrentScore())); scoreLabel.setText(Integer.toString(scorer.getCurrentScore()));
scoreLabel.setColor(Klooni.theme.textColor);
scoreLabel.draw(batch, parentAlpha); scoreLabel.draw(batch, parentAlpha);
infoLabel.setBounds(x + infoBounds.x, y + infoBounds.y, infoBounds.width, infoBounds.height); infoLabel.setBounds(x + infoBounds.x, y + infoBounds.y, infoBounds.width, infoBounds.height);
infoLabel.setColor(Klooni.theme.textColor);
infoLabel.draw(batch, parentAlpha); infoLabel.draw(batch, parentAlpha);
} }

View file

@ -182,6 +182,7 @@ public class MoneyBuyBand extends Table {
} }
} }
setColor(Klooni.theme.bandColor); setColor(Klooni.theme.bandColor);
infoLabel.setColor(Klooni.theme.textColor);
super.draw(batch, parentAlpha); super.draw(batch, parentAlpha);
} }

View file

@ -1,5 +1,6 @@
package io.github.lonamiwebs.klooni.actors; package io.github.lonamiwebs.klooni.actors;
import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.graphics.g2d.Batch; import com.badlogic.gdx.graphics.g2d.Batch;
import com.badlogic.gdx.scenes.scene2d.ui.ImageButton; import com.badlogic.gdx.scenes.scene2d.ui.ImageButton;
import com.badlogic.gdx.scenes.scene2d.utils.Drawable; import com.badlogic.gdx.scenes.scene2d.utils.Drawable;
@ -19,17 +20,21 @@ public class SoftButton extends ImageButton {
//region Constructor //region Constructor
public SoftButton(int styleIndex, String imageName) { public SoftButton(final int styleIndex, final String imageName) {
super(Klooni.theme.getStyle(styleIndex)); super(Klooni.theme.getStyle(styleIndex));
this.styleIndex = styleIndex; this.styleIndex = styleIndex;
image = Theme.skin.getDrawable(imageName); updateImage(imageName);
} }
//endregion //endregion
//region Public methods //region Public methods
public void updateImage(final String imageName) {
image = Theme.skin.getDrawable(imageName);
}
@Override @Override
public void draw(Batch batch, float parentAlpha) { public void draw(Batch batch, float parentAlpha) {
// Always update the style to make sure we're using the right image. // Always update the style to make sure we're using the right image.
@ -40,6 +45,7 @@ public class SoftButton extends ImageButton {
Klooni.theme.updateStyle(style, styleIndex); Klooni.theme.updateStyle(style, styleIndex);
style.imageUp = image; style.imageUp = image;
getImage().setColor(Klooni.theme.foreground);
super.draw(batch, parentAlpha); super.draw(batch, parentAlpha);
} }

View file

@ -1,5 +1,6 @@
package io.github.lonamiwebs.klooni.actors; package io.github.lonamiwebs.klooni.actors;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.Batch; import com.badlogic.gdx.graphics.g2d.Batch;
@ -28,11 +29,11 @@ public class ThemeCard extends Actor {
public float cellSize; public float cellSize;
//endregion private final static int colorsUsed[][] = {
{0, 7, 7},
//region Static members {8, 7, 3},
{8, 8, 3}
private final static double BRIGHTNESS_CUTOFF = 0.5; };
//endregion //endregion
@ -48,7 +49,7 @@ public class ThemeCard extends Actor {
priceLabel = new Label("", labelStyle); priceLabel = new Label("", labelStyle);
nameLabel = new Label(theme.getDisplay(), labelStyle); nameLabel = new Label(theme.getDisplay(), labelStyle);
Color labelColor = shouldUseWhite(theme.background) ? Color.WHITE : Color.BLACK; Color labelColor = Theme.shouldUseWhite(theme.background) ? Color.WHITE : Color.BLACK;
priceLabel.setColor(labelColor); priceLabel.setColor(labelColor);
nameLabel.setColor(labelColor); nameLabel.setColor(labelColor);
@ -69,21 +70,14 @@ public class ThemeCard extends Actor {
batch.setColor(theme.background); batch.setColor(theme.background);
batch.draw(background, x, y, getWidth(), getHeight()); batch.draw(background, x, y, getWidth(), getHeight());
// Do not draw on the borders (0,0 offset to add some padding), colors used:
// 0 7 7
// 8 7 3
// 8 8 3
Cell.draw(theme.getCellColor(0), batch, x + cellSize, y + cellSize, cellSize);
Cell.draw(theme.getCellColor(7), batch, x + cellSize * 2, y + cellSize, cellSize);
Cell.draw(theme.getCellColor(7), batch, x + cellSize * 3, y + cellSize, cellSize);
Cell.draw(theme.getCellColor(8), batch, x + cellSize, y + cellSize * 2, cellSize); // Avoid drawing on the borders by adding +1 cell padding
Cell.draw(theme.getCellColor(7), batch, x + cellSize * 2, y + cellSize * 2, cellSize); for (int i = 0; i < colorsUsed.length; ++i) {
Cell.draw(theme.getCellColor(8), batch, x + cellSize * 3, y + cellSize * 2, cellSize); for (int j = 0; j < colorsUsed[i].length; ++j) {
Cell.draw(theme.cellTexture, theme.getCellColor(colorsUsed[i][j]), batch,
Cell.draw(theme.getCellColor(8), batch, x + cellSize, y + cellSize * 3, cellSize); x + cellSize * (j + 1), y + cellSize * (i + 1), cellSize);
Cell.draw(theme.getCellColor(8), batch, x + cellSize * 2, y + cellSize * 3, cellSize); }
Cell.draw(theme.getCellColor(3), batch, x + cellSize * 3, y + cellSize * 3, cellSize); }
nameLabel.setBounds(x + nameBounds.x, y + nameBounds.y, nameBounds.width, nameBounds.height); nameLabel.setBounds(x + nameBounds.x, y + nameBounds.y, nameBounds.width, nameBounds.height);
nameLabel.draw(batch, parentAlpha); nameLabel.draw(batch, parentAlpha);
@ -112,19 +106,4 @@ public class ThemeCard extends Actor {
} }
//endregion //endregion
//region Private methods
// Used to determine the best foreground color (black or white) given a background color
// Formula took from http://alienryderflex.com/hsp.html
private static boolean shouldUseWhite(Color color) {
double brightness = Math.sqrt(
color.r * color.r * .299 +
color.g * color.g * .587 +
color.b * color.b * .114);
return brightness < BRIGHTNESS_CUTOFF;
}
//endregion
} }

View file

@ -37,7 +37,7 @@ public abstract class BaseScorer implements BinSerializable {
// The board size is required when calculating the score // The board size is required when calculating the score
BaseScorer(final Klooni game, GameLayout layout, int highScore) { BaseScorer(final Klooni game, GameLayout layout, int highScore) {
cupTexture = SkinLoader.loadPng("cup"); cupTexture = SkinLoader.loadPng("cup.png");
cupColor = Klooni.theme.currentScore.cpy(); cupColor = Klooni.theme.currentScore.cpy();
cupArea = new Rectangle(); cupArea = new Rectangle();

View file

@ -2,6 +2,7 @@ package io.github.lonamiwebs.klooni.game;
import com.badlogic.gdx.Gdx; import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.Batch; import com.badlogic.gdx.graphics.g2d.Batch;
import com.badlogic.gdx.graphics.g2d.SpriteBatch; import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.badlogic.gdx.math.Interpolation; import com.badlogic.gdx.math.Interpolation;
@ -105,11 +106,18 @@ public class Cell implements BinSerializable {
//region Static methods //region Static methods
// TODO Use skin atlas // Default texture (don't call overloaded version to avoid overhead)
public static void draw(Color color, Batch batch, public static void draw(final Color color, final Batch batch,
float x, float y, float size) { final float x, final float y, final float size) {
batch.setColor(color); batch.setColor(color);
Klooni.theme.cellPatch.draw(batch, x, y, size, size); batch.draw(Klooni.theme.cellTexture, x, y, size, size);
}
// Custom texture
public static void draw(final Texture texture, final Color color, final Batch batch,
final float x, final float y, final float size) {
batch.setColor(color);
batch.draw(texture, x, y, size, size);
} }
//endregion //endregion

View file

@ -125,6 +125,7 @@ class GameScreen implements Screen, InputProcessor, BinSerializable {
if (!gameOverDone) { if (!gameOverDone) {
gameOverDone = true; gameOverDone = true;
saveMoney();
holder.enabled = false; holder.enabled = false;
pauseMenu.showGameOver(gameOverReason); pauseMenu.showGameOver(gameOverReason);
if (Klooni.soundsEnabled()) if (Klooni.soundsEnabled())
@ -150,13 +151,7 @@ class GameScreen implements Screen, InputProcessor, BinSerializable {
// Save the state, the user might leave the game in any of the following 2 methods // Save the state, the user might leave the game in any of the following 2 methods
private void showPauseMenu() { private void showPauseMenu() {
// Calculate new money since the previous saving saveMoney();
int nowScore = scorer.getCurrentScore();
int newMoneyScore = nowScore - savedMoneyScore;
savedMoneyScore = nowScore;
Klooni.addMoneyFromScore(newMoneyScore);
// Show the pause menu
pauseMenu.show(); pauseMenu.show();
save(); save();
} }
@ -275,6 +270,14 @@ class GameScreen implements Screen, InputProcessor, BinSerializable {
//region Saving and loading //region Saving and loading
private void saveMoney() {
// Calculate new money since the previous saving
int nowScore = scorer.getCurrentScore();
int newMoneyScore = nowScore - savedMoneyScore;
savedMoneyScore = nowScore;
Klooni.addMoneyFromScore(newMoneyScore);
}
private void save() { private void save() {
// Only save if the game is not over and the game mode is not the time mode. It // Only save if the game is not over and the game mode is not the time mode. It
// makes no sense to save the time game mode since it's supposed to be something quick. // makes no sense to save the time game mode since it's supposed to be something quick.

View file

@ -1,8 +1,11 @@
package io.github.lonamiwebs.klooni.screens; package io.github.lonamiwebs.klooni.screens;
import com.badlogic.gdx.Application;
import com.badlogic.gdx.Gdx; import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.Input; import com.badlogic.gdx.Input;
import com.badlogic.gdx.InputProcessor; import com.badlogic.gdx.InputProcessor;
import com.badlogic.gdx.files.FileHandle;
import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.graphics.GL20; import com.badlogic.gdx.graphics.GL20;
import com.badlogic.gdx.graphics.glutils.ShapeRenderer; import com.badlogic.gdx.graphics.glutils.ShapeRenderer;
import com.badlogic.gdx.math.Interpolation; import com.badlogic.gdx.math.Interpolation;
@ -13,7 +16,10 @@ import com.badlogic.gdx.scenes.scene2d.actions.RunnableAction;
import com.badlogic.gdx.scenes.scene2d.ui.Table; import com.badlogic.gdx.scenes.scene2d.ui.Table;
import com.badlogic.gdx.scenes.scene2d.utils.ChangeListener; import com.badlogic.gdx.scenes.scene2d.utils.ChangeListener;
import java.io.File;
import io.github.lonamiwebs.klooni.Klooni; import io.github.lonamiwebs.klooni.Klooni;
import io.github.lonamiwebs.klooni.ShareChallenge;
import io.github.lonamiwebs.klooni.actors.Band; import io.github.lonamiwebs.klooni.actors.Band;
import io.github.lonamiwebs.klooni.actors.SoftButton; import io.github.lonamiwebs.klooni.actors.SoftButton;
import io.github.lonamiwebs.klooni.game.BaseScorer; import io.github.lonamiwebs.klooni.game.BaseScorer;
@ -31,8 +37,10 @@ class PauseMenuStage extends Stage {
private final ShapeRenderer shapeRenderer; private final ShapeRenderer shapeRenderer;
private final Klooni game;
private final Band band; private final Band band;
private final BaseScorer scorer; private final BaseScorer scorer;
private final SoftButton playButton;
//endregion //endregion
@ -40,6 +48,7 @@ class PauseMenuStage extends Stage {
// We need the score to save the maximum score if a new record was beaten // We need the score to save the maximum score if a new record was beaten
PauseMenuStage(final GameLayout layout, final Klooni game, final BaseScorer scorer, final int gameMode) { PauseMenuStage(final GameLayout layout, final Klooni game, final BaseScorer scorer, final int gameMode) {
this.game = game;
this.scorer = scorer; this.scorer = scorer;
shapeRenderer = new ShapeRenderer(20); // 20 vertex seems to be enough for a rectangle shapeRenderer = new ShapeRenderer(20); // 20 vertex seems to be enough for a rectangle
@ -90,8 +99,7 @@ class PauseMenuStage extends Stage {
}); });
// Continue playing OR share (if game over) button // Continue playing OR share (if game over) button
// TODO Enable both actions for this button? Or leave play? playButton = new SoftButton(2, "play_texture");
final SoftButton playButton = new SoftButton(2, "play_texture");
table.add(playButton).space(16); table.add(playButton).space(16);
playButton.addListener(new ChangeListener() { playButton.addListener(new ChangeListener() {
@ -143,6 +151,16 @@ class PauseMenuStage extends Stage {
} }
void showGameOver(final String gameOverReason) { void showGameOver(final String gameOverReason) {
if (game.shareChallenge != null) {
playButton.updateImage("share_texture");
playButton.addListener(new ChangeListener() {
public void changed(ChangeEvent event, Actor actor) {
game.shareChallenge.shareScreenshot(
game.shareChallenge.saveChallengeImage(scorer.getCurrentScore()));
}
});
}
band.setMessage(gameOverReason); band.setMessage(gameOverReason);
show(); show();
} }
@ -166,7 +184,9 @@ class PauseMenuStage extends Stage {
// This is the only place where ShapeRenderer is OK because the batch hasn't started // This is the only place where ShapeRenderer is OK because the batch hasn't started
Gdx.gl.glEnable(GL20.GL_BLEND); Gdx.gl.glEnable(GL20.GL_BLEND);
shapeRenderer.begin(ShapeRenderer.ShapeType.Filled); shapeRenderer.begin(ShapeRenderer.ShapeType.Filled);
shapeRenderer.setColor(1f, 1f, 1f, 0.3f); Color color = new Color(Klooni.theme.bandColor);
color.a = 0.1f;
shapeRenderer.setColor(color);
shapeRenderer.rect(0, 0, Gdx.graphics.getWidth(), Gdx.graphics.getHeight()); shapeRenderer.rect(0, 0, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
shapeRenderer.end(); shapeRenderer.end();
} }

View file

@ -14,6 +14,6 @@ public class DesktopLauncher {
config.addIcon("ic_launcher/icon128.png", Files.FileType.Internal); config.addIcon("ic_launcher/icon128.png", Files.FileType.Internal);
config.addIcon("ic_launcher/icon32.png", Files.FileType.Internal); config.addIcon("ic_launcher/icon32.png", Files.FileType.Internal);
config.addIcon("ic_launcher/icon16.png", Files.FileType.Internal); config.addIcon("ic_launcher/icon16.png", Files.FileType.Internal);
new LwjglApplication(new Klooni(), config); new LwjglApplication(new Klooni(null), config);
} }
} }

View file

@ -1,4 +1,4 @@
#Sat Apr 08 12:05:23 CEST 2017 #Thu May 04 19:58:22 CEST 2017
distributionBase=GRADLE_USER_HOME distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME

View file

@ -14,6 +14,6 @@ public class HtmlLauncher extends GwtApplication {
@Override @Override
public ApplicationListener createApplicationListener () { public ApplicationListener createApplicationListener () {
return new Klooni(); return new Klooni(null);
} }
} }

View file

@ -11,7 +11,7 @@ public class IOSLauncher extends IOSApplication.Delegate {
@Override @Override
protected IOSApplication createApplication() { protected IOSApplication createApplication() {
IOSApplicationConfiguration config = new IOSApplicationConfiguration(); IOSApplicationConfiguration config = new IOSApplicationConfiguration();
return new IOSApplication(new Klooni(), config); return new IOSApplication(new Klooni(null), config);
} }
public static void main(String[] argv) { public static void main(String[] argv) {

View file

@ -10,15 +10,27 @@
xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="500" width="533.33331"
height="500" height="533.33331"
viewBox="0 0 500.00001 500.00001" viewBox="0 0 500.00001 500.00001"
id="svg2" id="svg2"
version="1.1" version="1.1"
inkscape:version="0.91 r13725" inkscape:version="0.92.1 r15371"
sodipodi:docname="buttons.svg"> sodipodi:docname="buttons.svg">
<defs <defs
id="defs4"> id="defs4">
<linearGradient
inkscape:collect="always"
id="linearGradient4659">
<stop
style="stop-color:#ffffff;stop-opacity:1"
offset="0"
id="stop4655" />
<stop
style="stop-color:#ffffff;stop-opacity:0.60679615"
offset="1"
id="stop4657" />
</linearGradient>
<linearGradient <linearGradient
inkscape:collect="always" inkscape:collect="always"
id="linearGradient4313"> id="linearGradient4313">
@ -94,6 +106,17 @@
y1="1012.8427" y1="1012.8427"
x2="-441.97687" x2="-441.97687"
y2="1072.3632" /> y2="1072.3632" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient4659"
id="radialGradient4661"
cx="59.769882"
cy="811.46765"
fx="59.769882"
fy="811.46765"
r="6.9998441"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.43721182,3.7482347e-7,-3.6476786e-7,0.42548248,33.63808,466.20236)" />
</defs> </defs>
<sodipodi:namedview <sodipodi:namedview
id="base" id="base"
@ -102,14 +125,14 @@
borderopacity="1" borderopacity="1"
inkscape:pageopacity="0" inkscape:pageopacity="0"
inkscape:pageshadow="2" inkscape:pageshadow="2"
inkscape:zoom="1.4142136" inkscape:zoom="4.2042016"
inkscape:cx="45.55858" inkscape:cx="84.591887"
inkscape:cy="225.22462" inkscape:cy="259.00893"
inkscape:document-units="px" inkscape:document-units="px"
inkscape:current-layer="layer1" inkscape:current-layer="layer1"
showgrid="false" showgrid="false"
inkscape:window-width="1366" inkscape:window-width="1366"
inkscape:window-height="744" inkscape:window-height="742"
inkscape:window-x="0" inkscape:window-x="0"
inkscape:window-y="0" inkscape:window-y="0"
inkscape:window-maximized="1" inkscape:window-maximized="1"
@ -118,7 +141,11 @@
units="px"> units="px">
<inkscape:grid <inkscape:grid
type="xygrid" type="xygrid"
id="grid4248" /> id="grid4248"
originx="0"
originy="0"
spacingx="1"
spacingy="1" />
</sodipodi:namedview> </sodipodi:namedview>
<metadata <metadata
id="metadata7"> id="metadata7">
@ -159,7 +186,7 @@
inkscape:export-xdpi="90" inkscape:export-xdpi="90"
inkscape:export-filename="/home/lonami/button_up" inkscape:export-filename="/home/lonami/button_up"
style="opacity:1;fill:#cccccc;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" style="opacity:1;fill:#cccccc;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="m 4.5449252,998.2813 c -2.8585,3.9506 -4.5449200236115,8.8096 -4.5449200236115,14.08 l 0,16 c 0,13.296 10.7039998236115,24 23.9999998236115,24 l 16,0 c 4.9535,0 9.54683,-1.4871 13.36133,-4.039 l -27.91016,0 c -11.58215,0 -20.9062498,-9.3241 -20.9062498,-20.9063 l 0,-29.1347 z" d="m 4.5449252,998.2813 c -2.8585,3.9506 -4.5449200236115,8.8096 -4.5449200236115,14.08 v 16 c 0,13.296 10.7039998236115,24 23.9999998236115,24 h 16 c 4.9535,0 9.54683,-1.4871 13.36133,-4.039 h -27.91016 c -11.58215,0 -20.9062498,-9.3241 -20.9062498,-20.9063 z"
id="path4252" id="path4252"
inkscape:connector-curvature="0" /> inkscape:connector-curvature="0" />
</g> </g>
@ -209,7 +236,7 @@
rx="24" /> rx="24" />
<path <path
style="opacity:1;fill:#cccccc;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" style="opacity:1;fill:#cccccc;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="m 72.545858,1005.5749 c -1.625691,3.2403 -2.544922,6.6807 -2.544922,10.5661 l 0,12.221 c 0,0.8012 0.04124,1.5925 0.117187,2.3731 0.0028,0.029 0.003,0.058 0.0059,0.086 0.04086,0.4051 0.09176,0.8064 0.152344,1.2051 0.181472,1.1943 0.451205,2.3596 0.800782,3.4883 0.116525,0.3762 0.240786,0.7473 0.375,1.1152 0.134213,0.368 0.276328,0.7307 0.427734,1.0899 3.27e-4,7e-4 0.0016,0 0.002,0 0.151109,0.3584 0.310784,0.7134 0.478516,1.0625 0.08587,0.1788 0.179395,0.3531 0.269531,0.5293 0.08624,0.1686 0.167738,0.3397 0.257812,0.5059 0.184687,0.3409 0.377659,0.6752 0.578125,1.0058 0.200015,0.3299 0.407821,0.6536 0.623047,0.9727 0.430717,0.6387 0.890227,1.255 1.378906,1.8476 0.244167,0.2962 0.494061,0.5853 0.751954,0.8692 6.16e-4,7e-4 0.0013,0 0.002,0 0.257306,0.2832 0.522494,0.5596 0.792969,0.8301 0.271124,0.2711 0.548169,0.537 0.832031,0.7949 0.283862,0.2579 0.573037,0.5078 0.86914,0.752 0.06398,0.053 0.130772,0.1022 0.195313,0.1543 0.234205,0.1891 0.469543,0.3783 0.710937,0.5586 4.11e-4,3e-4 0.0015,-3e-4 0.002,0 0.127473,0.095 0.259247,0.1846 0.388672,0.2773 0.495311,0.3548 1.000756,0.6948 1.523438,1.0117 0.330602,0.2006 0.664947,0.3934 1.005859,0.5782 0.680239,0.3686 1.381297,0.705 2.09961,1.0078 0.359156,0.1514 0.721911,0.2935 1.089843,0.4277 1.104536,0.4031 2.24521,0.7277 3.419922,0.9668 1.146339,0.2334 2.322875,0.3845 3.523438,0.4492 0.02883,0 0.05708,0 0.08594,0.01 0.410833,0.021 0.824075,0.031 1.240235,0.031 l 12.624999,0 c 3.78261,0 6.72804,-0.8701 9.9043,-2.416 l -23.078127,0 c -11.58215,0 -20.90625,-9.324 -20.90625,-20.9062 z" d="m 72.545858,1005.5749 c -1.625691,3.2403 -2.544922,6.6807 -2.544922,10.5661 v 12.221 c 0,0.8012 0.04124,1.5925 0.117187,2.3731 0.0028,0.029 0.003,0.058 0.0059,0.086 0.04086,0.4051 0.09176,0.8064 0.152344,1.2051 0.181472,1.1943 0.451205,2.3596 0.800782,3.4883 0.116525,0.3762 0.240786,0.7473 0.375,1.1152 0.134213,0.368 0.276328,0.7307 0.427734,1.0899 3.27e-4,7e-4 0.0016,0 0.002,0 0.151109,0.3584 0.310784,0.7134 0.478516,1.0625 0.08587,0.1788 0.179395,0.3531 0.269531,0.5293 0.08624,0.1686 0.167738,0.3397 0.257812,0.5059 0.184687,0.3409 0.377659,0.6752 0.578125,1.0058 0.200015,0.3299 0.407821,0.6536 0.623047,0.9727 0.430717,0.6387 0.890227,1.255 1.378906,1.8476 0.244167,0.2962 0.494061,0.5853 0.751954,0.8692 6.16e-4,7e-4 0.0013,0 0.002,0 0.257306,0.2832 0.522494,0.5596 0.792969,0.8301 0.271124,0.2711 0.548169,0.537 0.832031,0.7949 0.283862,0.2579 0.573037,0.5078 0.86914,0.752 0.06398,0.053 0.130772,0.1022 0.195313,0.1543 0.234205,0.1891 0.469543,0.3783 0.710937,0.5586 4.11e-4,3e-4 0.0015,-3e-4 0.002,0 0.127473,0.095 0.259247,0.1846 0.388672,0.2773 0.495311,0.3548 1.000756,0.6948 1.523438,1.0117 0.330602,0.2006 0.664947,0.3934 1.005859,0.5782 0.680239,0.3686 1.381297,0.705 2.09961,1.0078 0.359156,0.1514 0.721911,0.2935 1.089843,0.4277 1.104536,0.4031 2.24521,0.7277 3.419922,0.9668 1.146339,0.2334 2.322875,0.3845 3.523438,0.4492 0.02883,0 0.05708,0 0.08594,0.01 0.410833,0.021 0.824075,0.031 1.240235,0.031 h 12.624999 c 3.78261,0 6.72804,-0.8701 9.9043,-2.416 H 93.452293 c -11.58215,0 -20.90625,-9.324 -20.90625,-20.9062 z"
id="path4169" id="path4169"
inkscape:connector-curvature="0" inkscape:connector-curvature="0"
sodipodi:nodetypes="cssscccccccccccccccscccccccsccccsscssc" /> sodipodi:nodetypes="cssscccccccccccccccscccccccsccccsscssc" />
@ -272,48 +299,17 @@
width="64" width="64"
id="rect4218" id="rect4218"
style="opacity:1;fill:none;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> style="opacity:1;fill:none;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<g <path
transform="matrix(0.68619439,0,0,0.68619439,99.651319,322.87886)" id="path4201"
id="g4211"> d="m 385.7831,992.96155 c -6.14613,-0.0457 -12.50923,1.87356 -17.75207,4.85779 -7.67639,4.36936 -14.77523,11.64966 -17.22474,20.13606 -1.69997,5.8896 -0.66797,13.0554 2.66969,18.1971 3.70118,5.7018 10.62238,9.2983 17.22472,10.9167 6.54225,1.6037 13.66591,0.1742 20.13611,-1.6992 6.56647,-1.9012 13.67221,-4.3351 18.19519,-9.4611 3.08109,-3.4918 4.4633,-8.4607 4.8523,-13.1012 0.39882,-4.7574 -0.17475,-9.9986 -2.66785,-14.0698 -4.27437,-6.9802 -11.46628,-13.06654 -19.40918,-15.0421 -1.95142,-0.48536 -3.97545,-0.71904 -6.02417,-0.73425 z m 2.74841,7.64835 a 6.429068,6.429068 0 0 1 6.43067,6.4288 6.429068,6.429068 0 0 1 -6.43067,6.4288 6.429068,6.429068 0 0 1 -6.42883,-6.4288 6.429068,6.429068 0 0 1 6.42883,-6.4288 z m -17.10388,4.4879 a 5.5799455,5.5799455 0 0 1 5.58106,5.581 5.5799455,5.5799455 0 0 1 -5.58106,5.5793 5.5799455,5.5799455 0 0 1 -5.57922,-5.5793 5.5799455,5.5799455 0 0 1 5.57922,-5.581 z m -7.27661,15.4065 a 5.8225522,5.8225522 0 0 1 5.82092,5.8227 5.8225522,5.8225522 0 0 1 -5.82092,5.8209 5.8225522,5.8225522 0 0 1 -5.82275,-5.8209 5.8225522,5.8225522 0 0 1 5.82275,-5.8227 z m 34.46778,2.558 a 7.156887,9.5829493 65.405508 0 1 6.51122,3.6419 7.156887,9.5829493 65.405508 0 1 -5.73486,10.4975 7.156887,9.5829493 65.405508 0 1 -11.69128,-2.5196 7.156887,9.5829493 65.405508 0 1 5.73486,-10.4974 7.156887,9.5829493 65.405508 0 1 4.54102,-1.1151 7.156887,9.5829493 65.405508 0 1 0.63904,-0.01 z"
<path style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.68619436px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" inkscape:connector-curvature="0" />
d="m 391.11456,983.6005 c 10.1873,-5.7986 23.273,-8.8397 34.6483,-6.0104 11.5753,2.879 22.0551,11.748 28.2842,21.9203 3.6332,5.9331 4.4703,13.5732 3.8891,20.5061 -0.5669,6.7627 -2.5809,14.0032 -7.071,19.0919 -6.5914,7.4701 -16.9471,11.0179 -26.5165,13.7885 -9.4291,2.7301 -19.8109,4.812 -29.345,2.4749 -9.6217,-2.3585 -19.7085,-7.6005 -25.1023,-15.9099 -4.864,-7.4931 -6.3664,-17.9335 -3.889,-26.5165 3.5697,-12.3673 13.9153,-22.9773 25.1022,-29.3449 z"
id="path4201"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ssssssssss" />
<circle
style="opacity:1;fill:#55ffdd;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path4203"
cx="420.98993"
cy="997.03552"
r="9.3691645" />
<circle
style="opacity:1;fill:#e580ff;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path4205"
cx="396.06439"
cy="1002.3389"
r="8.1317272" />
<circle
style="opacity:1;fill:#d4ff2a;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path4207"
cx="385.4577"
cy="1025.1429"
r="8.485281" />
<ellipse
style="opacity:1;fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path4209"
cx="-36.062386"
cy="1117.9202"
rx="13.965358"
ry="10.429825"
transform="matrix(0.90927612,-0.41619339,0.41619339,0.90927612,0,0)" />
</g>
</g> </g>
<g <g
id="basic" id="basic"
inkscape:export-xdpi="90" inkscape:export-xdpi="90"
inkscape:export-ydpi="90" inkscape:export-ydpi="90"
transform="translate(0,-159.117)"> transform="matrix(3.0000588,0,0,3.0000588,0,-2123.8991)">
<rect <rect
ry="0" ry="0"
y="966.36218" y="966.36218"
@ -333,63 +329,26 @@
</g> </g>
<text <text
xml:space="preserve" xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:15.69341087px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;" style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="128.69154" x="128.69154"
y="836.78644" y="836.78644"
id="text4186" id="text4186"><tspan
sodipodi:linespacing="125%"><tspan
sodipodi:role="line" sodipodi:role="line"
id="tspan4188" id="tspan4188"
x="128.69154" x="128.69154"
y="836.78644">buttons</tspan></text> y="836.78644"
style="font-size:15.69341087px;line-height:1.25">buttons</tspan></text>
<text <text
xml:space="preserve" xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:15.69341087px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;" style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="5.5775623" x="7.3185968"
y="799.33905" y="769.04504"
id="text4190" id="text4190"><tspan
sodipodi:linespacing="125%"><tspan
sodipodi:role="line" sodipodi:role="line"
id="tspan4192" id="tspan4192"
x="5.5775623" x="7.3185968"
y="799.33905">cells</tspan></text> y="769.04504"
<g style="font-size:15.69341087px;line-height:1.25">cells</tspan></text>
id="g4224"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90"
transform="translate(0,-159.117)">
<rect
style="opacity:1;fill:none;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect4199"
width="16"
height="16"
x="22.362251"
y="966.36218"
ry="0" />
<rect
ry="2"
y="967.36224"
x="23.362251"
height="14"
width="14"
id="rect4201"
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<path
style="opacity:1;fill:#808080;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="m 23.361328,978.60352 0,0.75781 c 0,1.108 0.892,2 2,2 l 1.876953,0 -0.589843,-2.40625 -1.457032,0.57422 -1.830078,-0.92578 z"
id="rect4210"
inkscape:connector-curvature="0" />
<path
style="opacity:1;fill:#808080;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="m 37.361328,972.64648 -1.519531,1.49219 -0.441406,3.62305 1.960937,1.34961 0,-6.46485 z"
id="rect4212"
inkscape:connector-curvature="0" />
<path
style="opacity:1;fill:#808080;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="m 27.566406,967.36133 1.027344,2.49023 -0.574219,3.75586 1.679688,1.41406 -0.619141,-1.81054 1.414063,-3.4043 1.521484,-2.44531 -4.449219,0 z"
id="rect4214"
inkscape:connector-curvature="0" />
</g>
<g <g
id="g4261" id="g4261"
transform="translate(167.59797,-248.90157)"> transform="translate(167.59797,-248.90157)">
@ -634,24 +593,24 @@
style="opacity:1;fill:none;fill-opacity:1;stroke:none;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> style="opacity:1;fill:none;fill-opacity:1;stroke:none;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<path <path
id="path4249" id="path4249"
d="m 325.38281,1094.75 a 38.304416,78.19166 0 0 0 38.30078,77.877 38.304416,78.19166 0 0 0 38.29688,-77.877 l -76.59766,0 z m 38.29883,9.4316 c 2.00984,0 4.30369,10.8343 5.92969,12.0157 1.626,1.1813 12.63869,0.014 13.25976,1.9257 0.62108,1.9115 -8.97267,7.4421 -9.59375,9.3536 -0.62107,1.9114 3.88967,12.0256 2.26368,13.207 -1.626,1.1814 -9.84954,-6.2363 -11.85938,-6.2363 -2.00984,0 -10.23338,7.4177 -11.85937,6.2363 -1.626,-1.1814 2.8867,-11.2956 2.26562,-13.207 -0.62108,-1.9115 -10.21678,-7.4421 -9.5957,-9.3536 0.62107,-1.9114 11.63377,-0.7444 13.25976,-1.9257 1.626,-1.1814 3.91985,-12.0157 5.92969,-12.0157 z" d="m 325.38281,1094.75 a 38.304416,78.19166 0 0 0 38.30078,77.877 38.304416,78.19166 0 0 0 38.29688,-77.877 z m 38.29883,9.4316 c 2.00984,0 4.30369,10.8343 5.92969,12.0157 1.626,1.1813 12.63869,0.014 13.25976,1.9257 0.62108,1.9115 -8.97267,7.4421 -9.59375,9.3536 -0.62107,1.9114 3.88967,12.0256 2.26368,13.207 -1.626,1.1814 -9.84954,-6.2363 -11.85938,-6.2363 -2.00984,0 -10.23338,7.4177 -11.85937,6.2363 -1.626,-1.1814 2.8867,-11.2956 2.26562,-13.207 -0.62108,-1.9115 -10.21678,-7.4421 -9.5957,-9.3536 0.62107,-1.9114 11.63377,-0.7444 13.25976,-1.9257 1.626,-1.1814 3.91985,-12.0157 5.92969,-12.0157 z"
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
inkscape:connector-curvature="0" /> inkscape:connector-curvature="0" />
<path <path
sodipodi:nodetypes="ccsssc" sodipodi:nodetypes="ccsssc"
inkscape:connector-curvature="0" inkscape:connector-curvature="0"
id="path4256" id="path4256"
d="m 316.80119,1106.067 -13.65458,0 c 0,0 -0.80814,9.6196 0,14.3261 0.87063,5.0705 2.40371,10.1987 5.14844,14.5499 2.1956,3.4809 5.31872,6.428 8.72999,8.73 2.68814,1.8141 8.95381,3.8054 8.95381,3.8054" d="m 316.80119,1106.067 h -13.65458 c 0,0 -0.80814,9.6196 0,14.3261 0.87063,5.0705 2.40371,10.1987 5.14844,14.5499 2.1956,3.4809 5.31872,6.428 8.72999,8.73 2.68814,1.8141 8.95381,3.8054 8.95381,3.8054"
style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:7.59757042;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:7.59757042;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path <path
style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:7.59757042;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:7.59757042;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 409.15522,1106.067 13.65458,0 c 0,0 0.80814,9.6196 0,14.3261 -0.87063,5.0705 -2.40371,10.1987 -5.14844,14.5499 -2.1956,3.4809 -5.31872,6.428 -8.72999,8.73 -2.68814,1.8141 -8.95381,3.8054 -8.95381,3.8054" d="m 409.15522,1106.067 h 13.65458 c 0,0 0.80814,9.6196 0,14.3261 -0.87063,5.0705 -2.40371,10.1987 -5.14844,14.5499 -2.1956,3.4809 -5.31872,6.428 -8.72999,8.73 -2.68814,1.8141 -8.95381,3.8054 -8.95381,3.8054"
id="path4258" id="path4258"
inkscape:connector-curvature="0" inkscape:connector-curvature="0"
sodipodi:nodetypes="ccsssc" /> sodipodi:nodetypes="ccsssc" />
<path <path
id="path4262" id="path4262"
d="m 365.15223,1186.8764 a 24.846857,37.382208 0 0 0 -18.66994,12.7591 l 37.32504,0 a 24.846857,37.382208 0 0 0 -18.6551,-12.7591 z" d="m 365.15223,1186.8764 a 24.846857,37.382208 0 0 0 -18.66994,12.7591 h 37.32504 a 24.846857,37.382208 0 0 0 -18.6551,-12.7591 z"
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
inkscape:connector-curvature="0" /> inkscape:connector-curvature="0" />
</g> </g>
@ -729,7 +688,7 @@
<path <path
inkscape:connector-curvature="0" inkscape:connector-curvature="0"
id="path4647" id="path4647"
d="m 591.99899,988.36223 c -2.8135,0 -9.9857,5.49698 -16.8307,11.88817 l 0,-2.79626 c 0,-0.98544 -0.8671,-1.77612 -1.9431,-1.77612 l -4.4807,0 c -1.076,0 -1.9429,0.79068 -1.9429,1.77612 l 0,11.28076 c -4.6479,5.17 -7.7121,9.6047 -6.5573,10.7359 0.5748,0.5631 2.9557,1.0175 6.4273,1.3767 -0.018,0.151 -0.05,0.2953 -0.05,0.449 l 0,24.5257 c 0,3.6236 3.1845,6.54 7.141,6.54 l 37.3963,0 c 3.9566,0 7.141,-2.9164 7.141,-6.54 l 0,-24.5257 c 0,-0.1909 -0.044,-0.3713 -0.061,-0.5579 2.9341,-0.3423 4.996,-0.7591 5.5154,-1.2678 3.1756,-3.1108 -25.4034,-31.10857 -31.7547,-31.10857 z" d="m 591.99899,988.36223 c -2.8135,0 -9.9857,5.49698 -16.8307,11.88817 v -2.79626 c 0,-0.98544 -0.8671,-1.77612 -1.9431,-1.77612 h -4.4807 c -1.076,0 -1.9429,0.79068 -1.9429,1.77612 v 11.28076 c -4.6479,5.17 -7.7121,9.6047 -6.5573,10.7359 0.5748,0.5631 2.9557,1.0175 6.4273,1.3767 -0.018,0.151 -0.05,0.2953 -0.05,0.449 v 24.5257 c 0,3.6236 3.1845,6.54 7.141,6.54 h 37.3963 c 3.9566,0 7.141,-2.9164 7.141,-6.54 v -24.5257 c 0,-0.1909 -0.044,-0.3713 -0.061,-0.5579 2.9341,-0.3423 4.996,-0.7591 5.5154,-1.2678 3.1756,-3.1108 -25.4034,-31.10857 -31.7547,-31.10857 z"
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:7;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:7;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
</g> </g>
<g <g
@ -739,16 +698,16 @@
<path <path
inkscape:connector-curvature="0" inkscape:connector-curvature="0"
id="rect4268" id="rect4268"
d="m 663.23636,988.37781 c -3.89977,0.38658 -11.94557,7.90332 -18.18111,15.88689 l -7.28961,0 c -4.30262,0 -7.76564,3.4651 -7.76564,7.7678 l 0,15.848 c 0,4.3026 3.46302,7.7657 7.76564,7.7657 l 6.644,0 c 7.42372,9.7395 17.84775,19.1165 20.50611,16.1627 4.24529,-4.717 4.24529,-58.17674 0,-62.89377 -0.398,-0.44222 -0.96929,-0.60772 -1.67939,-0.53732 z" d="m 663.23636,988.37781 c -3.89977,0.38658 -11.94557,7.90332 -18.18111,15.88689 h -7.28961 c -4.30262,0 -7.76564,3.4651 -7.76564,7.7678 v 15.848 c 0,4.3026 3.46302,7.7657 7.76564,7.7657 h 6.644 c 7.42372,9.7395 17.84775,19.1165 20.50611,16.1627 4.24529,-4.717 4.24529,-58.17674 0,-62.89377 -0.398,-0.44222 -0.96929,-0.60772 -1.67939,-0.53732 z"
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:30;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:30;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<path <path
inkscape:connector-curvature="0" inkscape:connector-curvature="0"
id="path4272" id="path4272"
d="m 679.64276,996.0996 0,0.0156 a 3.0037951,5.2768938 0 0 0 -2.93853,5.2718 3.0037951,5.2768938 0 0 0 2.93853,5.2718 l 0,0 a 8.114324,13.701269 0 0 1 8.10245,13.7013 8.114324,13.701269 0 0 1 -8.10245,13.7013 l 0,0.016 a 3.0037951,5.2768938 0 0 0 -2.93853,5.2718 3.0037951,5.2768938 0 0 0 2.93853,5.2717 l 0,0 a 14.369116,24.262663 0 0 0 14.35722,-24.2626 14.369116,24.262663 0 0 0 -14.35722,-24.26269 z" d="m 679.64276,996.0996 v 0.0156 a 3.0037951,5.2768938 0 0 0 -2.93853,5.2718 3.0037951,5.2768938 0 0 0 2.93853,5.2718 v 0 a 8.114324,13.701269 0 0 1 8.10245,13.7013 8.114324,13.701269 0 0 1 -8.10245,13.7013 v 0.016 a 3.0037951,5.2768938 0 0 0 -2.93853,5.2718 3.0037951,5.2768938 0 0 0 2.93853,5.2717 v 0 a 14.369116,24.262663 0 0 0 14.35722,-24.2626 14.369116,24.262663 0 0 0 -14.35722,-24.26269 z"
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:30;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:30;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<path <path
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:30;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:30;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="m 676.61919,1009.9684 0,0.01 a 1.286778,2.2605374 0 0 0 -1.25882,2.2584 1.286778,2.2605374 0 0 0 1.25882,2.2583 l 0,10e-4 a 3.4760474,5.8694058 0 0 1 3.47094,5.8694 3.4760474,5.8694058 0 0 1 -3.47094,5.8694 l 0,0.01 a 1.286778,2.2605374 0 0 0 -1.25882,2.2584 1.286778,2.2605374 0 0 0 1.25882,2.2583 l 0,10e-4 a 6.1555008,10.393739 0 0 0 6.15039,-10.3937 6.1555008,10.393739 0 0 0 -6.15039,-10.3938 z" d="m 676.61919,1009.9684 v 0.01 a 1.286778,2.2605374 0 0 0 -1.25882,2.2584 1.286778,2.2605374 0 0 0 1.25882,2.2583 v 10e-4 a 3.4760474,5.8694058 0 0 1 3.47094,5.8694 3.4760474,5.8694058 0 0 1 -3.47094,5.8694 v 0.01 a 1.286778,2.2605374 0 0 0 -1.25882,2.2584 1.286778,2.2605374 0 0 0 1.25882,2.2583 v 10e-4 a 6.1555008,10.393739 0 0 0 6.15039,-10.3937 6.1555008,10.393739 0 0 0 -6.15039,-10.3938 z"
id="path4290" id="path4290"
inkscape:connector-curvature="0" /> inkscape:connector-curvature="0" />
</g> </g>
@ -757,21 +716,21 @@
transform="translate(-357.12497,7.2166511)"> transform="translate(-357.12497,7.2166511)">
<path <path
id="path4308" id="path4308"
d="m 670.86719,911.15234 c -0.15964,-0.0125 -0.32834,-0.008 -0.50586,0.01 -3.06578,0.30391 -8.68781,5.03046 -13.98438,10.91016 l 18.82813,18.82812 c -0.104,-13.76194 -1.15108,-26.96451 -3.16406,-29.20117 -0.2985,-0.33167 -0.69493,-0.5093 -1.17383,-0.54688 z m -26.1543,15.9043 c -4.21908,0.0947 -7.58789,3.51703 -7.58789,7.75977 l 0,15.84765 c 0,4.3026 3.463,7.76563 7.76562,7.76563 l 6.64454,0 c 7.42372,9.7395 17.8475,19.11591 20.50586,16.16211 1.41471,-1.57191 2.34653,-8.59658 2.81836,-17.38672 l -30.14649,-30.14844 z" d="m 670.86719,911.15234 c -0.15964,-0.0125 -0.32834,-0.008 -0.50586,0.01 -3.06578,0.30391 -8.68781,5.03046 -13.98438,10.91016 l 18.82813,18.82812 c -0.104,-13.76194 -1.15108,-26.96451 -3.16406,-29.20117 -0.2985,-0.33167 -0.69493,-0.5093 -1.17383,-0.54688 z m -26.1543,15.9043 c -4.21908,0.0947 -7.58789,3.51703 -7.58789,7.75977 v 15.84765 c 0,4.3026 3.463,7.76563 7.76562,7.76563 h 6.64454 c 7.42372,9.7395 17.8475,19.11591 20.50586,16.16211 1.41471,-1.57191 2.34653,-8.59658 2.81836,-17.38672 z"
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:30;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:30;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
inkscape:connector-curvature="0" /> inkscape:connector-curvature="0" />
<path <path
id="path4310" id="path4310"
d="m 686.76758,918.87891 0,0.004 0,0.0156 a 3.0037951,5.2768938 0 0 0 -2.9375,5.27148 3.0037951,5.2768938 0 0 0 2.9375,5.27149 8.114324,13.701269 0 0 1 8.10351,13.70117 8.114324,13.701269 0 0 1 -4.8789,12.54687 l 6.01562,6.01367 a 14.369116,24.262663 0 0 0 5.11719,-18.56054 14.369116,24.262663 0 0 0 -14.35742,-24.26367 z" d="m 686.76758,918.87891 v 0.004 0.0156 a 3.0037951,5.2768938 0 0 0 -2.9375,5.27148 3.0037951,5.2768938 0 0 0 2.9375,5.27149 8.114324,13.701269 0 0 1 8.10351,13.70117 8.114324,13.701269 0 0 1 -4.8789,12.54687 l 6.01562,6.01367 a 14.369116,24.262663 0 0 0 5.11719,-18.56054 14.369116,24.262663 0 0 0 -14.35742,-24.26367 z"
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:30;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:30;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
inkscape:connector-curvature="0" /> inkscape:connector-curvature="0" />
<path <path
id="path4312" id="path4312"
d="m 683.74414,932.75781 0,0.004 a 1.286778,2.2605374 0 0 0 -1.25781,2.25781 1.286778,2.2605374 0 0 0 1.25781,2.25977 3.4760474,5.8694058 0 0 1 3.4707,5.86914 3.4760474,5.8694058 0 0 1 -3.4707,5.86914 l 0,0.01 a 1.286778,2.2605374 0 0 0 -0.32422,0.0899 l 3.20899,3.20703 a 6.1555008,10.393739 0 0 0 3.26562,-9.17188 6.1555008,10.393739 0 0 0 -6.15039,-10.39453 z" d="m 683.74414,932.75781 v 0.004 a 1.286778,2.2605374 0 0 0 -1.25781,2.25781 1.286778,2.2605374 0 0 0 1.25781,2.25977 3.4760474,5.8694058 0 0 1 3.4707,5.86914 3.4760474,5.8694058 0 0 1 -3.4707,5.86914 v 0.01 a 1.286778,2.2605374 0 0 0 -0.32422,0.0899 l 3.20899,3.20703 a 6.1555008,10.393739 0 0 0 3.26562,-9.17188 6.1555008,10.393739 0 0 0 -6.15039,-10.39453 z"
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:30;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:30;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
inkscape:connector-curvature="0" /> inkscape:connector-curvature="0" />
<rect <rect
transform="matrix(0.70710678,-0.70710678,0.70710678,0.70710678,0,0)" transform="rotate(-45)"
ry="3.7367623" ry="3.7367623"
y="1096.8411" y="1096.8411"
x="-197.99443" x="-197.99443"
@ -804,7 +763,7 @@
</g> </g>
<g <g
id="credits" id="credits"
transform="translate(-340,0)"> transform="translate(-340)">
<rect <rect
ry="3.5424781" ry="3.5424781"
y="966.20013" y="966.20013"
@ -843,7 +802,7 @@
transform="translate(-317.19727,28.696185)"> transform="translate(-317.19727,28.696185)">
<path <path
id="rect4382" id="rect4382"
d="m 393.07812,889.66602 c -3.25864,0 -5.88085,2.62221 -5.88085,5.88086 l 0,52.23632 c 0,3.25864 2.62221,5.88282 5.88085,5.88282 l 52.23633,0 c 3.25864,0 5.88282,-2.62418 5.88282,-5.88282 l 0,-47.67382 c 0,-2.25865 -9.43668,-10.44336 -11.32032,-10.44336 l -46.79883,0 z m 11.61133,11.375 29.7793,0 c 3.25864,0 5.88281,2.62417 5.88281,5.88281 l 0,29.77734 c 0,3.25864 -2.62417,5.88281 -5.88281,5.88281 l -29.7793,0 c -3.25864,0 -5.88086,-2.62417 -5.88086,-5.88281 l 0,-29.77734 c 0,-3.25864 2.62222,-5.88281 5.88086,-5.88281 z" d="m 393.07812,889.66602 c -3.25864,0 -5.88085,2.62221 -5.88085,5.88086 v 52.23632 c 0,3.25864 2.62221,5.88282 5.88085,5.88282 h 52.23633 c 3.25864,0 5.88282,-2.62418 5.88282,-5.88282 v -47.67382 c 0,-2.25865 -9.43668,-10.44336 -11.32032,-10.44336 z m 11.61133,11.375 h 29.7793 c 3.25864,0 5.88281,2.62417 5.88281,5.88281 v 29.77734 c 0,3.25864 -2.62417,5.88281 -5.88281,5.88281 h -29.7793 c -3.25864,0 -5.88086,-2.62417 -5.88086,-5.88281 v -29.77734 c 0,-3.25864 2.62222,-5.88281 5.88086,-5.88281 z"
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:8;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:8;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
inkscape:connector-curvature="0" /> inkscape:connector-curvature="0" />
<path <path
@ -856,106 +815,24 @@
id="back" id="back"
inkscape:export-xdpi="90" inkscape:export-xdpi="90"
inkscape:export-ydpi="90" inkscape:export-ydpi="90"
transform="translate(-350,0)"> transform="translate(-350)">
<path <path
inkscape:connector-curvature="0" inkscape:connector-curvature="0"
id="path4401" id="path4401"
d="M 379.99414,918.37268 C 374.40215,918.91924 350,944.40892 350,950.36291 c 0,6.35093 27.76479,34.92937 30.84961,31.75391 1.18344,-1.21822 1.90817,-10.39596 2.18359,-21.4082 l 24.72656,0 c 3.45752,0 6.24024,-2.78467 6.24024,-6.24219 l 0,-8.20703 c 0,-3.45752 -2.78272,-6.24219 -6.24024,-6.24219 l -24.72656,0 c -0.27542,-11.01224 -1.00015,-20.18998 -2.18359,-21.4082 -0.19281,-0.19847 -0.48267,-0.27277 -0.85547,-0.23633 z" d="M 379.99414,918.37268 C 374.40215,918.91924 350,944.40892 350,950.36291 c 0,6.35093 27.76479,34.92937 30.84961,31.75391 1.18344,-1.21822 1.90817,-10.39596 2.18359,-21.4082 h 24.72656 c 3.45752,0 6.24024,-2.78467 6.24024,-6.24219 v -8.20703 c 0,-3.45752 -2.78272,-6.24219 -6.24024,-6.24219 H 383.0332 c -0.27542,-11.01224 -1.00015,-20.18998 -2.18359,-21.4082 -0.19281,-0.19847 -0.48267,-0.27277 -0.85547,-0.23633 z"
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:8;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:8;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
</g> </g>
<text <text
xml:space="preserve" xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="13.435027" x="13.435027"
y="587.79303" y="587.79303"
id="text4291" id="text4291"><tspan
sodipodi:linespacing="125%"><tspan
sodipodi:role="line" sodipodi:role="line"
id="tspan4293" id="tspan4293"
x="13.435027" x="13.435027"
y="587.79303">measures</tspan></text> y="587.79303"
<text style="font-size:40px;line-height:1.25">measures</tspan></text>
sodipodi:linespacing="125%"
id="text4189"
y="649.68481"
x="48.548107"
style="font-style:normal;font-weight:normal;font-size:10.25197601px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
xml:space="preserve"><tspan
y="649.68481"
x="48.548107"
id="tspan4191"
sodipodi:role="line">2px radius</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.25197601px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="48.548107"
y="668.15973"
id="text4199"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan4201"
x="48.548107"
y="668.15973">4px patch</tspan></text>
<g
inkscape:export-ydpi="90"
inkscape:export-xdpi="90"
id="g4221"
transform="translate(12.425615,-298.76521)">
<rect
style="opacity:1;fill:none;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect4223"
width="16"
height="16"
x="0"
y="966.36218"
ry="0" />
<rect
ry="2"
y="967.36224"
x="1"
height="14"
width="14"
id="rect4225"
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
</g>
<rect
style="opacity:1;fill:#0000ff;fill-opacity:0.5;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect4205"
width="4"
height="4"
x="12.425602"
y="667.59698"
rx="0"
ry="0" />
<rect
ry="0"
rx="0"
y="679.59698"
x="24.42561"
height="4"
width="4"
id="rect4227"
style="opacity:1;fill:#0000ff;fill-opacity:0.5;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<rect
ry="0"
rx="0"
y="-28.42561"
x="667.59698"
height="4"
width="4"
id="rect4229"
style="opacity:1;fill:#0000ff;fill-opacity:0.5;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
transform="matrix(0,1,-1,0,0,0)" />
<rect
style="opacity:1;fill:#0000ff;fill-opacity:0.5;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect4231"
width="4"
height="4"
x="679.59698"
y="-16.425602"
rx="0"
ry="0"
transform="matrix(0,1,-1,0,0,0)" />
<rect <rect
rx="24" rx="24"
y="623.88177" y="623.88177"
@ -967,18 +844,18 @@
ry="24" /> ry="24" />
<text <text
xml:space="preserve" xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.25197601px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="266.84592" x="266.84592"
y="600.63055" y="600.63055"
id="text4176" id="text4176"><tspan
sodipodi:linespacing="125%"><tspan
sodipodi:role="line" sodipodi:role="line"
id="tspan4178" id="tspan4178"
x="266.84592" x="266.84592"
y="600.63055">24px radius</tspan></text> y="600.63055"
style="font-size:10.25197601px;line-height:1.25">24px radius</tspan></text>
<path <path
style="opacity:1;fill:#b3b3b3;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" style="opacity:1;fill:#b3b3b3;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="m 342.4481,633.80082 c -2.8585,3.9507 -4.54492,8.8097 -4.54492,14.0801 l 0,16 c 0,13.296 10.70401,24 24.00001,24 l 15.99999,0 c 4.9535,0 9.54683,-1.4871 13.36133,-4.039 l -27.91015,0 c -11.58215,0 -20.90626,-9.3241 -20.90626,-20.9063 l 0,-29.1348 z" d="m 342.4481,633.80082 c -2.8585,3.9507 -4.54492,8.8097 -4.54492,14.0801 v 16 c 0,13.296 10.70401,24 24.00001,24 h 15.99999 c 4.9535,0 9.54683,-1.4871 13.36133,-4.039 h -27.91015 c -11.58215,0 -20.90626,-9.3241 -20.90626,-20.9063 z"
id="rect4217" id="rect4217"
inkscape:connector-curvature="0" /> inkscape:connector-curvature="0" />
<rect <rect
@ -1000,16 +877,16 @@
rx="0" rx="0"
ry="0" /> ry="0" />
<text <text
sodipodi:linespacing="125%"
id="text4154" id="text4154"
y="616.63055" y="616.63055"
x="266.84592" x="266.84592"
style="font-style:normal;font-weight:normal;font-size:10.25197601px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
xml:space="preserve"><tspan xml:space="preserve"><tspan
y="616.63055" y="616.63055"
x="266.84592" x="266.84592"
id="tspan4156" id="tspan4156"
sodipodi:role="line">28px patch</tspan></text> sodipodi:role="line"
style="font-size:10.25197601px;line-height:1.25">28px patch</tspan></text>
<rect <rect
ry="0" ry="0"
rx="0" rx="0"
@ -1039,7 +916,7 @@
ry="0" /> ry="0" />
<path <path
style="opacity:1;fill:#b3b3b3;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" style="opacity:1;fill:#b3b3b3;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="m 418.94902,641.09562 c -1.62569,3.2403 -2.54492,6.6807 -2.54492,10.5661 l 0,12.221 c 0,0.8012 0.0412,1.5925 0.11719,2.3731 0.003,0.029 0.003,0.058 0.006,0.086 0.0409,0.4051 0.0918,0.8064 0.15234,1.2051 0.18148,1.1943 0.45121,2.3596 0.80079,3.4883 0.11652,0.3762 0.24078,0.7473 0.375,1.1152 0.13421,0.368 0.27632,0.7307 0.42773,1.0899 3.3e-4,7e-4 0.002,0 0.002,0 0.15111,0.3584 0.31078,0.7134 0.47852,1.0625 0.0859,0.1788 0.17939,0.3531 0.26953,0.5293 0.0862,0.1686 0.16773,0.3397 0.25781,0.5059 0.18469,0.3409 0.37766,0.6752 0.57812,1.0058 0.20002,0.3299 0.40782,0.6536 0.62305,0.9727 0.43072,0.6387 0.89023,1.255 1.37891,1.8476 0.24416,0.2962 0.49406,0.5853 0.75195,0.8692 6.2e-4,7e-4 10e-4,0 0.002,0 0.25731,0.2832 0.52249,0.5596 0.79297,0.8301 0.27112,0.2711 0.54817,0.537 0.83203,0.7949 0.28386,0.2579 0.57304,0.5078 0.86914,0.752 0.064,0.053 0.13077,0.1022 0.19531,0.1543 0.23421,0.1891 0.46955,0.3783 0.71094,0.5586 4.1e-4,3e-4 0.001,-3e-4 0.002,0 0.12747,0.095 0.25925,0.1846 0.38867,0.2773 0.49531,0.3548 1.00076,0.6948 1.52344,1.0117 0.3306,0.2006 0.66495,0.3934 1.00586,0.5782 0.68024,0.3686 1.3813,0.705 2.09961,1.0078 0.35916,0.1514 0.72191,0.2935 1.08984,0.4277 1.10454,0.4031 2.24521,0.7277 3.41992,0.9668 1.14634,0.2334 2.32288,0.3845 3.52344,0.4492 0.0288,0 0.0571,0 0.0859,0.01 0.41084,0.021 0.82408,0.031 1.24024,0.031 l 12.625,0 c 3.78261,0 6.72804,-0.8701 9.90429,-2.416 l -23.07812,0 c -11.58215,0 -20.90625,-9.324 -20.90625,-20.9062 z" d="m 418.94902,641.09562 c -1.62569,3.2403 -2.54492,6.6807 -2.54492,10.5661 v 12.221 c 0,0.8012 0.0412,1.5925 0.11719,2.3731 0.003,0.029 0.003,0.058 0.006,0.086 0.0409,0.4051 0.0918,0.8064 0.15234,1.2051 0.18148,1.1943 0.45121,2.3596 0.80079,3.4883 0.11652,0.3762 0.24078,0.7473 0.375,1.1152 0.13421,0.368 0.27632,0.7307 0.42773,1.0899 3.3e-4,7e-4 0.002,0 0.002,0 0.15111,0.3584 0.31078,0.7134 0.47852,1.0625 0.0859,0.1788 0.17939,0.3531 0.26953,0.5293 0.0862,0.1686 0.16773,0.3397 0.25781,0.5059 0.18469,0.3409 0.37766,0.6752 0.57812,1.0058 0.20002,0.3299 0.40782,0.6536 0.62305,0.9727 0.43072,0.6387 0.89023,1.255 1.37891,1.8476 0.24416,0.2962 0.49406,0.5853 0.75195,0.8692 6.2e-4,7e-4 10e-4,0 0.002,0 0.25731,0.2832 0.52249,0.5596 0.79297,0.8301 0.27112,0.2711 0.54817,0.537 0.83203,0.7949 0.28386,0.2579 0.57304,0.5078 0.86914,0.752 0.064,0.053 0.13077,0.1022 0.19531,0.1543 0.23421,0.1891 0.46955,0.3783 0.71094,0.5586 4.1e-4,3e-4 0.001,-3e-4 0.002,0 0.12747,0.095 0.25925,0.1846 0.38867,0.2773 0.49531,0.3548 1.00076,0.6948 1.52344,1.0117 0.3306,0.2006 0.66495,0.3934 1.00586,0.5782 0.68024,0.3686 1.3813,0.705 2.09961,1.0078 0.35916,0.1514 0.72191,0.2935 1.08984,0.4277 1.10454,0.4031 2.24521,0.7277 3.41992,0.9668 1.14634,0.2334 2.32288,0.3845 3.52344,0.4492 0.0288,0 0.0571,0 0.0859,0.01 0.41084,0.021 0.82408,0.031 1.24024,0.031 h 12.625 c 3.78261,0 6.72804,-0.8701 9.90429,-2.416 h -23.07812 c -11.58215,0 -20.90625,-9.324 -20.90625,-20.9062 z"
id="path4243" id="path4243"
inkscape:connector-curvature="0" inkscape:connector-curvature="0"
sodipodi:nodetypes="cssscccccccccccccccscccccccsccccsscssc" /> sodipodi:nodetypes="cssscccccccccccccccscccccccsccccsscssc" />
@ -1099,7 +976,7 @@
<path <path
inkscape:connector-curvature="0" inkscape:connector-curvature="0"
id="rect4333" id="rect4333"
d="m 290.2474,800.1983 c -1.79413,0 -3.2385,1.25755 -3.2385,2.81963 l 0,1.12785 c 0,1.56208 1.44437,2.81964 3.2385,2.81964 l 1.68502,0 0,1.39715 c 0,0.65173 0.60254,1.17686 1.35109,1.17686 l 0.4048,0 c 0.74854,0 1.35108,-0.52513 1.35108,-1.17686 l 0,-1.39715 1.68502,0 c 1.79413,0 3.23851,-1.25756 3.23851,-2.81964 l 0,-1.12785 c 0,-1.56208 -1.44438,-2.81963 -3.23851,-2.81963 l -6.47701,0 z" d="m 290.2474,800.1983 c -1.79413,0 -3.2385,1.25755 -3.2385,2.81963 v 1.12785 c 0,1.56208 1.44437,2.81964 3.2385,2.81964 h 1.68502 v 1.39715 c 0,0.65173 0.60254,1.17686 1.35109,1.17686 h 0.4048 c 0.74854,0 1.35108,-0.52513 1.35108,-1.17686 v -1.39715 h 1.68502 c 1.79413,0 3.23851,-1.25756 3.23851,-2.81964 v -1.12785 c 0,-1.56208 -1.44438,-2.81963 -3.23851,-2.81963 z"
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:8;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:8;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<path <path
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:8;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:8;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
@ -1113,7 +990,7 @@
sodipodi:nodetypes="sssssssss" sodipodi:nodetypes="sssssssss"
inkscape:connector-curvature="0" inkscape:connector-curvature="0"
id="rect4297" id="rect4297"
d="m 214.77685,848.36212 6.4463,0 c 2.64637,0 5.0743,2.14725 4.77685,4.77686 -2.03293,17.97199 -1.76777,36.29753 0,54.44629 0.25655,2.6339 -2.13048,4.77685 -4.77685,4.77685 l -6.4463,0 c -2.64637,0 -4.77685,-2.13048 -4.77685,-4.77685 l 0,-54.44629 c 0,-2.64638 2.13048,-4.77686 4.77685,-4.77686 z" d="m 214.77685,848.36212 h 6.4463 c 2.64637,0 5.0743,2.14725 4.77685,4.77686 -2.03293,17.97199 -1.76777,36.29753 0,54.44629 0.25655,2.6339 -2.13048,4.77685 -4.77685,4.77685 h -6.4463 c -2.64637,0 -4.77685,-2.13048 -4.77685,-4.77685 v -54.44629 c 0,-2.64638 2.13048,-4.77686 4.77685,-4.77686 z"
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:25;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:25;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<path <path
inkscape:transform-center-y="-2.6554673e-05" inkscape:transform-center-y="-2.6554673e-05"
@ -1150,7 +1027,7 @@
sodipodi:nodetypes="sssssssss" /> sodipodi:nodetypes="sssssssss" />
<path <path
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:8;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:8;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="m 308.89759,848.36217 c -1.79414,0 -3.23852,1.25755 -3.23852,2.81963 l 0,1.12785 c 0,1.56208 1.44438,2.81964 3.23852,2.81964 l 1.68503,0 0,1.39715 c 0,0.65173 0.60254,1.17686 1.3511,1.17686 l 0.4048,0 c 0.74855,0 1.35109,-0.52513 1.35109,-1.17686 l 0,-1.39715 1.68503,0 c 1.79414,0 3.23853,-1.25756 3.23853,-2.81964 l 0,-1.12785 c 0,-1.56208 -1.44439,-2.81963 -3.23853,-2.81963 l -6.47705,0 z" d="m 308.89759,848.36217 c -1.79414,0 -3.23852,1.25755 -3.23852,2.81963 v 1.12785 c 0,1.56208 1.44438,2.81964 3.23852,2.81964 h 1.68503 v 1.39715 c 0,0.65173 0.60254,1.17686 1.3511,1.17686 h 0.4048 c 0.74855,0 1.35109,-0.52513 1.35109,-1.17686 v -1.39715 h 1.68503 c 1.79414,0 3.23853,-1.25756 3.23853,-2.81964 v -1.12785 c 0,-1.56208 -1.44439,-2.81963 -3.23853,-2.81963 z"
id="path4328" id="path4328"
inkscape:connector-curvature="0" /> inkscape:connector-curvature="0" />
<path <path
@ -1181,7 +1058,7 @@
<path <path
inkscape:connector-curvature="0" inkscape:connector-curvature="0"
id="rect4329" id="rect4329"
d="m 156.65234,848.36216 c -1.88479,0 -3.40234,1.51755 -3.40234,3.40234 l 0,9.84766 -9.84766,0 c -1.88479,0 -3.40234,1.51755 -3.40234,3.40234 l 0,5.19532 c 0,1.88479 1.51755,3.40234 3.40234,3.40234 l 9.84766,0 0,13.5 -9.84766,0 c -1.88479,0 -3.40234,1.51755 -3.40234,3.40234 l 0,5.19532 c 0,1.88479 1.51755,3.40234 3.40234,3.40234 l 9.84766,0 0,9.84766 c 0,1.88479 1.51755,3.40234 3.40234,3.40234 l 5.19532,0 c 1.88479,0 3.40234,-1.51755 3.40234,-3.40234 l 0,-9.84766 13.5,0 0,9.84766 c 0,1.88479 1.51755,3.40234 3.40234,3.40234 l 5.19532,0 c 1.88479,0 3.40234,-1.51755 3.40234,-3.40234 l 0,-9.84766 9.84766,0 c 1.88479,0 3.40234,-1.51755 3.40234,-3.40234 l 0,-5.19532 c 0,-1.88479 -1.51755,-3.40234 -3.40234,-3.40234 l -9.84766,0 0,-13.5 9.84766,0 c 1.88479,0 3.40234,-1.51755 3.40234,-3.40234 l 0,-5.19532 c 0,-1.88479 -1.51755,-3.40234 -3.40234,-3.40234 l -9.84766,0 0,-9.84766 c 0,-1.88479 -1.51755,-3.40234 -3.40234,-3.40234 l -5.19532,0 c -1.88479,0 -3.40234,1.51755 -3.40234,3.40234 l 0,9.84766 -13.5,0 0,-9.84766 c 0,-1.88479 -1.51755,-3.40234 -3.40234,-3.40234 l -5.19532,0 z m 8.59766,25.25 13.5,0 0,13.5 -13.5,0 0,-13.5 z" d="m 156.65234,848.36216 c -1.88479,0 -3.40234,1.51755 -3.40234,3.40234 v 9.84766 h -9.84766 c -1.88479,0 -3.40234,1.51755 -3.40234,3.40234 v 5.19532 c 0,1.88479 1.51755,3.40234 3.40234,3.40234 H 153.25 v 13.5 h -9.84766 c -1.88479,0 -3.40234,1.51755 -3.40234,3.40234 v 5.19532 c 0,1.88479 1.51755,3.40234 3.40234,3.40234 H 153.25 v 9.84766 c 0,1.88479 1.51755,3.40234 3.40234,3.40234 h 5.19532 c 1.88479,0 3.40234,-1.51755 3.40234,-3.40234 v -9.84766 h 13.5 v 9.84766 c 0,1.88479 1.51755,3.40234 3.40234,3.40234 h 5.19532 c 1.88479,0 3.40234,-1.51755 3.40234,-3.40234 v -9.84766 h 9.84766 c 1.88479,0 3.40234,-1.51755 3.40234,-3.40234 v -5.19532 c 0,-1.88479 -1.51755,-3.40234 -3.40234,-3.40234 H 190.75 v -13.5 h 9.84766 c 1.88479,0 3.40234,-1.51755 3.40234,-3.40234 v -5.19532 c 0,-1.88479 -1.51755,-3.40234 -3.40234,-3.40234 H 190.75 v -9.84766 c 0,-1.88479 -1.51755,-3.40234 -3.40234,-3.40234 h -5.19532 c -1.88479,0 -3.40234,1.51755 -3.40234,3.40234 v 9.84766 h -13.5 v -9.84766 c 0,-1.88479 -1.51755,-3.40234 -3.40234,-3.40234 z m 8.59766,25.25 h 13.5 v 13.5 h -13.5 z"
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:30;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:30;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
</g> </g>
<g <g
@ -1190,7 +1067,7 @@
<path <path
id="path4343" id="path4343"
transform="translate(0,552.36216)" transform="translate(0,552.36216)"
d="m 86.746094,296.27734 c -1.88479,0 -3.402344,1.51756 -3.402344,3.40235 l 0,0.54297 21.30469,21.30468 4.19531,0 0,4.19336 21.30664,21.30664 0.54102,0 c 1.88479,0 3.40234,-1.51755 3.40234,-3.40234 l 0,-5.19531 c 0,-1.88479 -1.51755,-3.40235 -3.40234,-3.40235 l -9.84766,0 0,-13.5 9.84766,0 c 1.88479,0 3.40234,-1.51755 3.40234,-3.40234 l 0,-5.19531 c 0,-1.88479 -1.51755,-3.40235 -3.40234,-3.40235 l -9.84766,0 0,-9.84765 c 0,-1.88479 -1.51755,-3.40235 -3.40234,-3.40235 l -5.19532,0 c -1.88479,0 -3.40234,1.51756 -3.40234,3.40235 l 0,9.84765 -13.5,0 0,-9.84765 c 0,-1.88479 -1.517554,-3.40235 -3.402344,-3.40235 l -5.195312,0 z m -13.25,13.25 c -1.88479,0 -3.402344,1.51756 -3.402344,3.40235 l 0,5.19531 c 0,1.88479 1.517554,3.40234 3.402344,3.40234 l 9.847656,0 0,13.5 -9.847656,0 c -1.88479,0 -3.402344,1.51756 -3.402344,3.40235 l 0,5.19531 c 0,1.88479 1.517554,3.40234 3.402344,3.40234 l 9.847656,0 0,9.84766 c 0,1.88479 1.517554,3.40234 3.402344,3.40234 l 5.195312,0 c 1.88479,0 3.402344,-1.51755 3.402344,-3.40234 l 0,-9.84766 13.5,0 0,9.84766 c 0,1.88479 1.51755,3.40234 3.40234,3.40234 l 5.19532,0 c 1.88479,0 3.40234,-1.51755 3.40234,-3.40234 l 0,-0.54102 -21.306641,-21.30664 -4.193359,0 0,-4.19531 -21.304688,-21.30469 -0.542968,0 z" d="m 86.746094,296.27734 c -1.88479,0 -3.402344,1.51756 -3.402344,3.40235 v 0.54297 l 21.30469,21.30468 h 4.19531 v 4.19336 l 21.30664,21.30664 h 0.54102 c 1.88479,0 3.40234,-1.51755 3.40234,-3.40234 v -5.19531 c 0,-1.88479 -1.51755,-3.40235 -3.40234,-3.40235 h -9.84766 v -13.5 h 9.84766 c 1.88479,0 3.40234,-1.51755 3.40234,-3.40234 v -5.19531 c 0,-1.88479 -1.51755,-3.40235 -3.40234,-3.40235 h -9.84766 v -9.84765 c 0,-1.88479 -1.51755,-3.40235 -3.40234,-3.40235 h -5.19532 c -1.88479,0 -3.40234,1.51756 -3.40234,3.40235 v 9.84765 h -13.5 v -9.84765 c 0,-1.88479 -1.517554,-3.40235 -3.402344,-3.40235 z m -13.25,13.25 c -1.88479,0 -3.402344,1.51756 -3.402344,3.40235 v 5.19531 c 0,1.88479 1.517554,3.40234 3.402344,3.40234 h 9.847656 v 13.5 h -9.847656 c -1.88479,0 -3.402344,1.51756 -3.402344,3.40235 v 5.19531 c 0,1.88479 1.517554,3.40234 3.402344,3.40234 h 9.847656 v 9.84766 c 0,1.88479 1.517554,3.40234 3.402344,3.40234 h 5.195312 c 1.88479,0 3.402344,-1.51755 3.402344,-3.40234 v -9.84766 h 13.5 v 9.84766 c 0,1.88479 1.51755,3.40234 3.40234,3.40234 h 5.19532 c 1.88479,0 3.40234,-1.51755 3.40234,-3.40234 v -0.54102 L 99.537109,335.02734 H 95.34375 v -4.19531 L 74.039062,309.52734 Z"
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:30;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:30;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
inkscape:connector-curvature="0" /> inkscape:connector-curvature="0" />
<rect <rect
@ -1201,7 +1078,7 @@
x="-554.74762" x="-554.74762"
y="651.69049" y="651.69049"
ry="3.7367623" ry="3.7367623"
transform="matrix(0.70710678,-0.70710678,0.70710678,0.70710678,0,0)" /> transform="rotate(-45)" />
</g> </g>
<g <g
id="ok"> id="ok">
@ -1220,5 +1097,23 @@
d="m 320.52609,778.38092 c -0.57668,0.0508 -1.14636,0.20524 -1.67578,0.47266 l -1.69336,0.85547 c -2.11769,1.06969 -2.76965,3.52564 -1.46289,5.50586 l 5.56836,8.43945 -7.875,6.89063 c -1.84803,1.61683 -1.84803,4.21909 0,5.83593 l 0.95312,0.83399 c 1.84803,1.61684 4.82189,1.61684 6.66992,0 l 5.83399,-5.10352 4.125,6.25196 c 1.30675,1.98021 4.06395,2.71227 6.18164,1.64257 l 1.69336,-0.85547 c 2.11769,-1.06969 2.76965,-3.52564 1.46289,-5.50586 l -5.56836,-8.43945 7.875,-6.89062 c 1.84803,-1.61684 1.84803,-4.2191 0,-5.83594 l -0.95312,-0.83399 c -1.84804,-1.61683 -4.82385,-1.61683 -6.67188,0 l -5.83203,5.10352 -4.125,-6.25195 c -0.98007,-1.48516 -2.77584,-2.26753 -4.50586,-2.11524 z" d="m 320.52609,778.38092 c -0.57668,0.0508 -1.14636,0.20524 -1.67578,0.47266 l -1.69336,0.85547 c -2.11769,1.06969 -2.76965,3.52564 -1.46289,5.50586 l 5.56836,8.43945 -7.875,6.89063 c -1.84803,1.61683 -1.84803,4.21909 0,5.83593 l 0.95312,0.83399 c 1.84803,1.61684 4.82189,1.61684 6.66992,0 l 5.83399,-5.10352 4.125,6.25196 c 1.30675,1.98021 4.06395,2.71227 6.18164,1.64257 l 1.69336,-0.85547 c 2.11769,-1.06969 2.76965,-3.52564 1.46289,-5.50586 l -5.56836,-8.43945 7.875,-6.89062 c 1.84803,-1.61684 1.84803,-4.2191 0,-5.83594 l -0.95312,-0.83399 c -1.84804,-1.61683 -4.82385,-1.61683 -6.67188,0 l -5.83203,5.10352 -4.125,-6.25195 c -0.98007,-1.48516 -2.77584,-2.26753 -4.50586,-2.11524 z"
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:30;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:30;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
</g> </g>
<g
id="bubble"
transform="matrix(3.0000588,0,0,3.0000588,-107.02664,-1645.0542)">
<rect
style="opacity:1;fill:none;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect4652"
width="16"
height="16"
x="53.985813"
y="806.75049"
ry="0" />
<circle
r="6.9998441"
cy="814.75049"
cx="61.985813"
id="path4660"
style="opacity:1;fill:url(#radialGradient4661);fill-opacity:1;stroke:none;stroke-width:0.99538457;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
</g>
</g> </g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 76 KiB

After

Width:  |  Height:  |  Size: 72 KiB

View file

@ -36,6 +36,11 @@ ids = [
'web' 'web'
] ]
cells = [
'basic',
'bubble'
]
inkscape_default_dpi = 90 inkscape_default_dpi = 90
svg = 'buttons.svg' svg = 'buttons.svg'
root = '../android/assets/ui' root = '../android/assets/ui'
@ -56,3 +61,9 @@ for multiplier in multipliers:
run(f'inkscape -z -i{objectid} -j -e{filename} -d{dpi} {svg}', run(f'inkscape -z -i{objectid} -j -e{filename} -d{dpi} {svg}',
shell=True, stdout=DEVNULL) shell=True, stdout=DEVNULL)
folder = os.path.join(folder, 'cells')
os.makedirs(folder, exist_ok=True)
for cellid in cells:
filename = os.path.join(folder, cellid + '.png')
run(f'inkscape -z -i{cellid} -j -e{filename} -d{dpi} {svg}',
shell=True, stdout=DEVNULL)

View file

@ -0,0 +1,482 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
id="svg8"
version="1.1"
viewBox="0 0 264.58333 163.5125"
height="618"
width="1000">
<defs
id="defs2">
<linearGradient
id="linearGradient5044">
<stop
id="stop5040"
offset="0"
style="stop-color:#57db84;stop-opacity:1" />
<stop
style="stop-color:#78e877;stop-opacity:1;"
offset="0.5"
id="stop5054" />
<stop
id="stop5042"
offset="1"
style="stop-color:#9af66b;stop-opacity:1" />
</linearGradient>
<linearGradient
gradientUnits="userSpaceOnUse"
y2="178.53214"
x2="134.93593"
y1="246.20023"
x1="163.56392"
id="linearGradient5046"
xlink:href="#linearGradient5044" />
<filter
height="1.0418223"
y="-0.020911164"
width="1.056319"
x="-0.028159506"
id="filter5394"
style="color-interpolation-filters:sRGB">
<feGaussianBlur
id="feGaussianBlur5396"
stdDeviation="0.6860161" />
</filter>
<filter
height="1.0423525"
y="-0.021176241"
width="1.0553854"
x="-0.0276927"
id="filter5499"
style="color-interpolation-filters:sRGB">
<feGaussianBlur
id="feGaussianBlur5501"
stdDeviation="2.6375272" />
</filter>
<filter
height="1.0536885"
y="-0.026844242"
width="1.0434015"
x="-0.021700731"
id="filter5584"
style="color-interpolation-filters:sRGB">
<feGaussianBlur
id="feGaussianBlur5586"
stdDeviation="1.9374054" />
</filter>
<filter
height="1.05569"
y="-0.027845023"
width="1.0421761"
x="-0.021088027"
id="filter5612"
style="color-interpolation-filters:sRGB">
<feGaussianBlur
id="feGaussianBlur5614"
stdDeviation="0.67230032" />
</filter>
<clipPath
id="clipPath16"
clipPathUnits="userSpaceOnUse">
<path
id="path18"
d="M 0,36 36,36 36,0 0,0 0,36 Z" />
</clipPath>
</defs>
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
transform="translate(0,-133.4875)"
id="layer1">
<rect
y="133.4875"
x="0"
height="30.014874"
width="30.014874"
id="rect5032"
style="opacity:1;fill:#f4e3d7;fill-opacity:1;stroke:none;stroke-width:0.26458332;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<rect
y="133.4875"
x="0"
height="163.5125"
width="264.58334"
id="rect4975"
style="opacity:1;fill:url(#linearGradient5046);fill-opacity:1;stroke:none;stroke-width:0.57200783;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<g
style="fill:#4c9754;fill-opacity:1;filter:url(#filter5612)"
id="g5610"
transform="matrix(1.1890396,0,0,1.1890396,-15.04682,-31.651757)">
<path
style="fill:#4c9754;fill-opacity:1;stroke-width:0.38810971"
d="m 98.164285,202.36882 v -24.67155 h -4.664788 l -0.932957,1.41671 h 4.181032 v 23.25484 z"
id="path5588" />
<path
style="fill:#4c9754;fill-opacity:1;stroke-width:0.38810971"
d="m 120.5685,189.82572 q 0,-4.87211 -2.03869,-8.53483 -2.48788,-4.38836 -7.01446,-4.38836 -4.52657,0 -7.01446,4.38836 -2.03868,3.59361 -2.03868,8.53483 0,4.90667 2.03868,8.50029 2.48789,4.38835 7.01446,4.38835 4.56113,0 7.04901,-4.3538 2.00414,-3.55906 2.00414,-8.53484 z m -1.48582,0 q 0,4.7339 -1.90048,7.87831 -2.10779,3.55906 -5.66685,3.55906 -3.83549,0 -5.90873,-4.00826 -1.62404,-3.17897 -1.62404,-7.42911 0,-4.66478 1.90047,-7.91286 2.14235,-3.59362 5.6323,-3.59362 3.9046,0 5.94329,4.00827 1.62404,3.17896 1.62404,7.49821 z"
id="path5590" />
<path
style="fill:#4c9754;fill-opacity:1;stroke-width:0.38810971"
d="m 126.77931,202.36882 v -24.67155 h -4.66479 l -0.93296,1.41671 h 4.18104 v 23.25484 z"
id="path5592" />
<path
style="fill:#4c9754;fill-opacity:1;stroke-width:0.38810971"
d="m 149.18352,189.82572 q 0,-4.87211 -2.03869,-8.53483 -2.48788,-4.38836 -7.01445,-4.38836 -4.52658,0 -7.01447,4.38836 -2.03868,3.59361 -2.03868,8.53483 0,4.90667 2.03868,8.50029 2.48789,4.38835 7.01447,4.38835 4.56112,0 7.04901,-4.3538 2.00413,-3.55906 2.00413,-8.53484 z m -1.48582,0 q 0,4.7339 -1.90047,7.87831 -2.10779,3.55906 -5.66685,3.55906 -3.8355,0 -5.90874,-4.00826 -1.62404,-3.17897 -1.62404,-7.42911 0,-4.66478 1.90047,-7.91286 2.14235,-3.59362 5.63231,-3.59362 3.90459,0 5.94328,4.00827 1.62404,3.17896 1.62404,7.49821 z"
id="path5594" />
<path
style="fill:#4c9754;fill-opacity:1;stroke-width:0.38810971"
d="m 153.93874,197.25483 v -19.55756 h -1.38216 v 19.55756 z m 0.58742,4.00826 q -0.10366,-0.58741 -0.3801,-0.86384 -0.38009,-0.3801 -0.86385,-0.3801 -1.24394,0.20732 -1.24394,1.24394 0,1.24395 1.24394,1.24395 1.24395,-0.20733 1.24395,-1.24395 z"
id="path5596" />
<path
style="fill:#4c9754;fill-opacity:1;stroke-width:0.38810971"
d="M 104.31489,234.60713 91.460811,221.71849 103.27827,209.93558 h -2.00413 l -11.022717,10.95361 v -10.95361 h -1.416717 v 24.67155 h 1.416717 v -11.71381 l 0.20732,-0.20732 11.886577,11.92113 z"
id="path5598" />
<path
style="fill:#4c9754;fill-opacity:1;stroke-width:0.38810971"
d="m 108.68382,234.60713 v -25.56996 h -1.38216 v 25.56996 z"
id="path5600" />
<path
style="fill:#4c9754;fill-opacity:1;stroke-width:0.38810971"
d="m 127.18423,227.489 q 0,-3.10985 -2.14234,-5.2522 -2.14235,-2.14235 -5.21766,-2.14235 -3.10985,0 -5.21765,2.1769 -2.14234,2.14235 -2.14234,5.21765 0,3.10986 2.14234,5.25221 2.1078,2.10779 5.21765,2.10779 3.10987,0 5.25221,-2.14234 2.10779,-2.1078 2.10779,-5.21766 z m -1.38215,0 q 0,2.48789 -1.76226,4.25014 -1.7277,1.72771 -4.21559,1.72771 -2.45333,0 -4.21558,-1.76226 -1.76225,-1.76225 -1.76225,-4.21559 0,-2.41877 1.7968,-4.21558 1.76226,-1.79681 4.18103,-1.79681 2.52245,0 4.25015,1.76226 1.7277,1.72769 1.7277,4.25013 z"
id="path5602" />
<path
style="fill:#4c9754;fill-opacity:1;stroke-width:0.38810971"
d="m 145.87848,227.489 q 0,-3.10985 -2.14234,-5.2522 -2.14235,-2.14235 -5.21766,-2.14235 -3.10985,0 -5.21765,2.1769 -2.14235,2.14235 -2.14235,5.21765 0,3.10986 2.14235,5.25221 2.1078,2.10779 5.21765,2.10779 3.10986,0 5.25221,-2.14234 2.10779,-2.1078 2.10779,-5.21766 z m -1.38216,0 q 0,2.48789 -1.76225,4.25014 -1.7277,1.72771 -4.21559,1.72771 -2.45333,0 -4.21558,-1.76226 -1.76226,-1.76225 -1.76226,-4.21559 0,-2.41877 1.79681,-4.21558 1.76225,-1.79681 4.18103,-1.79681 2.52244,0 4.25015,1.76226 1.72769,1.72769 1.72769,4.25013 z"
id="path5604" />
<path
style="fill:#4c9754;fill-opacity:1;stroke-width:0.38810971"
d="m 160.46188,234.60713 v -8.67306 q 0,-2.72976 -1.41671,-4.25014 -1.41671,-1.52037 -4.07737,-1.52037 -3.14441,0 -4.11192,1.90047 v -1.7277 h -1.41672 v 14.2708 h 1.41672 v -8.67306 q 0,-2.03868 1.07117,-3.21352 1.03662,-1.17483 3.04075,-1.17483 4.07737,0 4.07737,4.52657 v 8.53484 z"
id="path5606" />
<path
style="fill:#4c9754;fill-opacity:1;stroke-width:0.38810971"
d="m 165.3483,216.63905 q -0.27643,-1.14028 -1.14028,-1.14028 -1.14028,0.20732 -1.14028,1.14028 0.0345,0.51831 0.34554,0.8293 0.41465,0.31098 0.79474,0.31098 1.14028,0 1.14028,-1.14028 z m -0.4492,17.96808 v -14.2708 h -1.41671 v 14.2708 z"
id="path5608" />
</g>
<path
id="path5539"
transform="matrix(0.26458333,0,0,0.26458333,-83.406423,137.04487)"
d="m 1110.5547,422.28516 c -2.9395,5.2e-4 -5.8787,0.6533 -8.1309,1.95898 l -46.2793,26.83203 c -0.9207,0.53379 -1.6432,1.13578 -2.1875,1.77539 -2.0068,1.80095 -3.5727,4.79825 -3.8574,7.42774 -0.2351,0.6606 -0.3675,1.43956 -0.3613,2.34375 l 0.3828,55.83203 c 0.029,4.31094 3.0232,9.57503 6.7129,11.80469 l 48.7363,29.45117 c 0.8126,0.49105 1.5861,0.78242 2.3027,0.9082 2.1829,0.86434 4.5388,0.97879 6.3809,-0.16992 l 29.8672,-18.625 0.074,10.83984 c 0.029,4.31095 3.0232,9.57503 6.7129,11.80469 l 48.7363,29.45117 c 0.8126,0.49105 1.5861,0.78242 2.3028,0.9082 2.1829,0.86435 4.5387,0.9788 6.3808,-0.16992 l 48.4278,-30.19922 c 3.7748,-2.354 6.8376,-7.83064 6.8671,-12.27929 l 0.3829,-57.61328 c 0.018,-2.60362 -1.0407,-5.5421 -2.8086,-7.53125 -0.5478,-0.65402 -1.2811,-1.27017 -2.2207,-1.81446 l -46.2149,-26.77148 c -4.5052,-2.60974 -11.7594,-2.60745 -16.2637,0.004 l -26.6562,15.45313 0.09,-13.54883 c 0.018,-2.60362 -1.0407,-5.54209 -2.8086,-7.53125 -0.113,-0.13504 -0.2354,-0.2671 -0.3652,-0.39844 -0.1884,-0.19063 -0.3955,-0.37512 -0.6191,-0.55664 -0.3685,-0.29911 -0.7723,-0.58863 -1.2364,-0.85742 l -46.2148,-26.77344 c -2.2526,-1.30487 -5.1934,-1.9556 -8.1328,-1.95507 z"
style="fill:#4c9754;fill-opacity:0.27840911;stroke-width:0.64079821;filter:url(#filter5584)" />
<path
id="path5460"
transform="matrix(0.26458333,0,0,0.26458333,113.24254,138.4561)"
d="m -337.18359,156.49805 c -2.93945,5.2e-4 -5.87874,0.6533 -8.13086,1.95898 l -46.28125,26.83203 c -0.92345,0.53537 -1.64667,1.13951 -2.19141,1.78125 -2.00346,1.80114 -3.56655,4.79357 -3.85156,7.41992 -0.23551,0.66101 -0.36752,1.44257 -0.36133,2.34766 l 0.38281,55.83008 c 0.0295,4.31094 3.02322,9.57698 6.71289,11.80664 l 2.97071,1.79492 -6.34961,3.68164 c -0.92446,0.53596 -1.64844,1.14067 -2.19336,1.78321 -2.00416,1.80266 -3.56835,4.79683 -3.85156,7.42382 -0.23431,0.65993 -0.36556,1.43911 -0.35938,2.3418 l 0.38281,55.83008 c 0.0217,3.17282 1.65159,6.85851 3.98047,9.47461 -0.055,0.0601 -0.0988,0.12278 -0.15039,0.18359 -2.00497,1.80249 -3.57022,4.79804 -3.85351,7.42578 -0.23417,0.6598 -0.36556,1.43939 -0.35938,2.3418 l 0.38281,55.83008 c 0.0295,4.31094 3.02322,9.57698 6.71289,11.80664 l 48.73633,29.45117 c 0.81298,0.49128 1.5858,0.78057 2.30274,0.90625 2.18289,0.86434 4.53681,0.98075 6.3789,-0.16797 l 48.42969,-30.20117 c 3.77489,-2.354 6.83768,-7.83064 6.86719,-12.2793 l 0.0781,-11.83203 44.33399,26.79102 c 0.81154,0.49041 1.58294,0.78213 2.29882,0.9082 2.18347,0.86509 4.54015,0.97917 6.38282,-0.16992 l 48.42968,-30.19922 c 3.7749,-2.35404 6.83768,-7.83068 6.86719,-12.2793 l 0.38086,-57.61328 c 0.0173,-2.60425 -1.04006,-5.54403 -2.80859,-7.5332 -0.11256,-0.13431 -0.2342,-0.26584 -0.36328,-0.39649 -0.004,-0.004 -0.008,-0.006 -0.0117,-0.01 -0.49716,-0.50101 -1.10312,-0.97527 -1.84375,-1.4043 l -46.2168,-26.77344 c -4.50518,-2.60974 -11.75747,-2.60745 -16.26172,0.004 l -41.125,23.8418 0.24024,-36.20313 c 0.0173,-2.6068 -1.04281,-5.54787 -2.81446,-7.53711 -0.10589,-0.12602 -0.21938,-0.25025 -0.33984,-0.37304 -0.0144,-0.0144 -0.0285,-0.0287 -0.043,-0.043 -0.49474,-0.49573 -1.09645,-0.96566 -1.83008,-1.39063 l -4.26953,-2.47265 4.73633,-2.95313 c 3.77489,-2.354 6.83768,-7.83064 6.86719,-12.2793 l 0.38086,-57.61328 c 0.0172,-2.59911 -1.03663,-5.53052 -2.79883,-7.51953 -0.11345,-0.13605 -0.23486,-0.27004 -0.36524,-0.40234 -0.003,-0.003 -0.005,-0.005 -0.008,-0.008 -0.004,-0.004 -0.008,-0.006 -0.0117,-0.01 -0.49695,-0.50055 -1.10372,-0.97562 -1.84375,-1.4043 l -46.21484,-26.77344 c -2.25259,-1.30487 -5.19336,-1.9556 -8.13281,-1.95507 z"
style="fill:#007851;fill-opacity:0.23170734;stroke-width:0.64079821;filter:url(#filter5499)" />
<path
id="path5351"
d="m 215.70338,141.46771 c -0.77771,1.4e-4 -1.55593,0.17286 -2.1518,0.51832 l -12.24473,7.0993 c -0.24432,0.14165 -0.43566,0.3015 -0.57981,0.47129 -0.53052,0.47666 -0.94432,1.26894 -1.01957,1.96422 -0.0621,0.17473 -0.0972,0.38102 -0.0956,0.62012 l 0.10129,14.77171 c 0.008,1.1406 0.79989,2.53391 1.77612,3.12384 l 3.75893,2.2717 -2.87475,1.66656 c -0.24434,0.14165 -0.43569,0.3015 -0.57981,0.47129 -0.53009,0.47655 -0.94419,1.2683 -1.01959,1.96319 -0.0623,0.17488 -0.0967,0.38171 -0.0951,0.62115 l 0.10076,14.77171 c 0.008,1.1406 0.79988,2.53391 1.77612,3.12384 l 12.89484,7.79229 c 0.21497,0.12992 0.41962,0.2065 0.60925,0.23977 0.57759,0.22873 1.20087,0.25951 1.68825,-0.0444 l 2.88976,-1.80196 0.0532,7.75715 c 0.008,1.14061 0.79989,2.53391 1.77612,3.12384 l 12.89482,7.79229 c 0.215,0.12993 0.41965,0.2065 0.60925,0.23978 0.57759,0.22873 1.20087,0.25951 1.68828,-0.0444 l 12.81316,-7.99021 c 0.99878,-0.62284 1.80915,-2.07187 1.81695,-3.2489 l 0.10128,-15.24351 c 0.005,-0.68954 -0.27606,-1.46788 -0.74464,-1.99419 -0.0294,-0.0351 -0.0614,-0.0703 -0.0951,-0.10439 0,0 -5e-4,-5.2e-4 -5e-4,-5.2e-4 -0.13187,-0.13326 -0.293,-0.25956 -0.48991,-0.37362 l -4.75631,-2.75487 9.85729,-6.14743 c 0.99878,-0.62284 1.80915,-2.07185 1.81695,-3.24889 l 0.10128,-15.24352 c 0.005,-0.68954 -0.27609,-1.46736 -0.74467,-1.99367 -0.0295,-0.0352 -0.0612,-0.0701 -0.0951,-0.10439 -9.8e-4,-9.6e-4 -0.002,-0.002 -0.003,-0.003 -0.13147,-0.13244 -0.29202,-0.25814 -0.48782,-0.37156 l -12.22766,-7.08329 c -1.192,-0.69049 -3.11137,-0.6904 -4.3031,5.2e-4 l -8.85683,5.13509 0.0511,-7.66878 c 0.005,-0.68889 -0.27535,-1.46635 -0.74311,-1.99265 -0.0299,-0.0357 -0.0623,-0.0707 -0.0966,-0.10542 -0.13197,-0.13355 -0.29313,-0.26038 -0.4904,-0.37465 l -12.2282,-7.08329 c -0.596,-0.34525 -1.37355,-0.51794 -2.1513,-0.5178 z m 16.72146,43.23716 0.38655,0.23409 -0.38965,0.22583 z"
style="fill:#09a83d;fill-opacity:0.35975611;stroke-width:0.16954452;filter:url(#filter5394)" />
<g
id="g5458">
<path
id="path4549"
d="m 39.243297,182.35774 -27.769477,0.19588 c -1.17703,0.008 -2.3919204,2.2218 -1.8169322,3.24887 l 13.6984072,24.46863 c 0.574986,1.02707 2.145488,1.80222 3.144263,1.17938 l 12.813389,-7.9904 c 0.998774,-0.62283 1.809125,-2.07182 1.816933,-3.24886 l 0.101101,-15.24359 c 0.0078,-1.17704 -0.810652,-2.61821 -1.987684,-2.60991 z"
style="fill:#00aad4;stroke-width:0.16954453" />
<rect
id="rect4551"
y="178.56113"
x="9.5738478"
width="19.184156"
transform="matrix(0.85586624,0.51719724,0.00684404,0.99997658,0,0)"
ry="2.0588999"
height="18.889915"
style="fill:#00ccff;stroke-width:0.16954455" />
<rect
id="rect4553"
y="158.95192"
x="188.4126"
width="19.104654"
transform="matrix(0.86530323,0.50124875,-0.86512317,0.50155947,0,0)"
ry="2.4865487"
height="19.127298"
style="fill:#55ddff;stroke-width:0.16954455" />
<path
id="path4589"
d="M 38.532177,204.75801 10.7627,204.95389 c -1.1770304,0.008 -2.3919204,2.2218 -1.8169322,3.24886 l 13.6984072,24.46864 c 0.574986,1.02706 2.145488,1.80222 3.144263,1.17938 l 12.813389,-7.9904 c 0.998774,-0.62283 1.809125,-2.07183 1.816933,-3.24886 l 0.101101,-15.24359 c 0.0078,-1.17704 -0.810652,-2.61821 -1.987684,-2.60991 z"
style="fill:#00aad4;stroke-width:0.16954453" />
<rect
id="rect4591"
y="201.48648"
x="8.5596447"
width="19.184156"
transform="matrix(0.85586624,0.51719724,0.00684404,0.99997658,0,0)"
ry="2.0588999"
height="18.889915"
style="fill:#00ccff;stroke-width:0.16954455" />
<rect
id="rect4593"
y="181.70261"
x="210.33673"
width="19.104654"
transform="matrix(0.86530323,0.50124875,-0.86512317,0.50155947,0,0)"
ry="2.4865487"
height="19.127298"
style="fill:#55ddff;stroke-width:0.16954455" />
<path
id="path4599"
d="m 67.210507,217.58343 -27.769477,0.19588 c -1.17703,0.008 -2.39192,2.2218 -1.816932,3.24886 l 13.698407,24.46863 c 0.574986,1.02707 2.145488,1.80223 3.144263,1.17939 l 12.813389,-7.9904 c 0.998774,-0.62284 1.809125,-2.07183 1.816933,-3.24886 l 0.101101,-15.2436 c 0.0078,-1.17703 -0.810652,-2.61821 -1.987684,-2.6099 z"
style="fill:#00aad4;stroke-width:0.16954453" />
<rect
id="rect4601"
y="196.96286"
x="42.103779"
width="19.184156"
transform="matrix(0.85586624,0.51719724,0.00684404,0.99997658,0,0)"
ry="2.0588999"
height="18.889915"
style="fill:#00ccff;stroke-width:0.16954455" />
<rect
id="rect4603"
y="177.92558"
x="239.70302"
width="19.104654"
transform="matrix(0.86530323,0.50124875,-0.86512317,0.50155947,0,0)"
ry="2.4865487"
height="19.127298"
style="fill:#55ddff;stroke-width:0.16954455" />
<path
id="path4609"
d="M 38.532177,224.66935 10.7627,224.86523 c -1.1770304,0.008 -2.3919204,2.2218 -1.8169322,3.24887 l 13.6984072,24.46863 c 0.574986,1.02707 2.145488,1.80222 3.144263,1.17939 l 12.813389,-7.99041 c 0.998774,-0.62283 1.809125,-2.07182 1.816933,-3.24886 l 0.101101,-15.24359 c 0.0078,-1.17703 -0.810652,-2.61821 -1.987684,-2.60991 z"
style="fill:#00aad4;stroke-width:0.16954453" />
<rect
id="rect4611"
y="221.48099"
x="8.3997564"
width="19.184156"
transform="matrix(0.85586624,0.51719724,0.00684404,0.99997658,0,0)"
ry="2.0588999"
height="18.889915"
style="fill:#00ccff;stroke-width:0.16954455" />
<rect
id="rect4613"
y="201.56026"
x="230.19025"
width="19.104654"
transform="matrix(0.86530323,0.50124875,-0.86512317,0.50155947,0,0)"
ry="2.4865487"
height="19.127298"
style="fill:#55ddff;stroke-width:0.16954455" />
</g>
<g
id="g5349">
<path
id="path4559"
d="m 226.05266,144.40785 -27.76948,0.19588 c -1.17703,0.008 -2.39192,2.2218 -1.81693,3.24887 l 13.6984,24.46863 c 0.57499,1.02707 2.14549,1.80222 3.14427,1.17938 l 12.81339,-7.9904 c 0.99877,-0.62283 1.80912,-2.07182 1.81693,-3.24886 l 0.1011,-15.24359 c 0.008,-1.17704 -0.81065,-2.61821 -1.98768,-2.60991 z"
style="fill:#e67e22;stroke-width:0.16954453" />
<rect
id="rect4561"
y="27.092943"
x="229.05443"
width="19.184156"
transform="matrix(0.85586624,0.51719724,0.00684404,0.99997658,0,0)"
ry="2.0588999"
height="18.889915"
style="fill:#ffa522;stroke-width:0.16954455" />
<rect
id="rect4563"
y="13.182133"
x="258.56204"
width="19.104654"
transform="matrix(0.86530323,0.50124875,-0.86512317,0.50155947,0,0)"
ry="2.4865487"
height="19.127298"
style="fill:#ffc647;stroke-width:0.16954455" />
<path
id="path4569"
d="m 252.71967,156.49689 -27.76948,0.19588 c -1.17703,0.008 -2.39192,2.22179 -1.81693,3.24886 l 13.6984,24.46863 c 0.57499,1.02707 2.14549,1.80223 3.14427,1.17939 l 12.81339,-7.9904 c 0.99877,-0.62284 1.80912,-2.07183 1.81693,-3.24887 l 0.1011,-15.24359 c 0.008,-1.17703 -0.81065,-2.61821 -1.98768,-2.6099 z"
style="fill:#e67e22;stroke-width:0.16954453" />
<rect
id="rect4571"
y="23.050375"
x="260.24466"
width="19.184156"
transform="matrix(0.85586624,0.51719724,0.00684404,0.99997658,0,0)"
ry="2.0588999"
height="18.889915"
style="fill:#ffa522;stroke-width:0.16954455" />
<rect
id="rect4573"
y="9.8326845"
x="286.0314"
width="19.104654"
transform="matrix(0.86530323,0.50124875,-0.86512317,0.50155947,0,0)"
ry="2.4865487"
height="19.127298"
style="fill:#ffc647;stroke-width:0.16954455" />
<path
id="path4579"
d="m 227.11936,169.29703 -27.76948,0.19588 c -1.17703,0.008 -2.39192,2.2218 -1.81693,3.24887 l 13.6984,24.46863 c 0.57499,1.02707 2.14549,1.80223 3.14427,1.17939 l 12.81339,-7.99041 c 0.99877,-0.62283 1.80912,-2.07182 1.81693,-3.24886 l 0.1011,-15.24359 c 0.008,-1.17703 -0.81065,-2.61821 -1.98768,-2.60991 z"
style="fill:#e67e22;stroke-width:0.16954453" />
<rect
id="rect4581"
y="51.438782"
x="230.10608"
width="19.184156"
transform="matrix(0.85586624,0.51719724,0.00684404,0.99997658,0,0)"
ry="2.0588999"
height="18.889915"
style="fill:#ffa522;stroke-width:0.16954455" />
<rect
id="rect4583"
y="37.387951"
x="283.99557"
width="19.104654"
transform="matrix(0.86530323,0.50124875,-0.86512317,0.50155947,0,0)"
ry="2.4865487"
height="19.127298"
style="fill:#ffc647;stroke-width:0.16954455" />
<path
id="path4619"
d="m 247.03071,186.36391 -27.76948,0.19588 c -1.17703,0.008 -2.39192,2.2218 -1.81693,3.24886 l 13.6984,24.46863 c 0.57499,1.02707 2.14549,1.80223 3.14427,1.17939 l 12.81339,-7.9904 c 0.99877,-0.62284 1.80912,-2.07183 1.81693,-3.24886 l 0.1011,-15.2436 c 0.008,-1.17703 -0.81065,-2.61821 -1.98768,-2.6099 z"
style="fill:#e67e22;stroke-width:0.16954453" />
<rect
id="rect4621"
y="56.49432"
x="253.33022"
width="19.184156"
transform="matrix(0.85586624,0.51719724,0.00684404,0.99997658,0,0)"
ry="2.0588999"
height="18.889915"
style="fill:#ffa522;stroke-width:0.16954455" />
<rect
id="rect4623"
y="42.905754"
x="312.52307"
width="19.104654"
transform="matrix(0.86530323,0.50124875,-0.86512317,0.50155947,0,0)"
ry="2.4865487"
height="19.127298"
style="fill:#ffc647;stroke-width:0.16954455" />
</g>
<g
id="g5537">
<path
id="path4629"
d="m 223.00396,252.68048 -27.76948,0.19588 c -1.17703,0.008 -2.39192,2.2218 -1.81693,3.24887 l 13.6984,24.46863 c 0.57499,1.02707 2.14549,1.80222 3.14427,1.17939 l 12.81339,-7.99041 c 0.99877,-0.62283 1.80912,-2.07182 1.81693,-3.24886 l 0.1011,-15.24359 c 0.008,-1.17703 -0.81065,-2.61821 -1.98768,-2.60991 z"
style="fill:#d80073;stroke-width:0.16954453" />
<rect
id="rect4631"
y="137.6678"
x="224.60808"
width="19.184156"
transform="matrix(0.85586624,0.51719724,0.00684404,0.99997658,0,0)"
ry="2.0588999"
height="18.889915"
style="fill:#e8338b;stroke-width:0.16954455" />
<rect
id="rect4633"
y="122.92406"
x="364.75787"
width="19.104654"
transform="matrix(0.86530323,0.50124875,-0.86512317,0.50155947,0,0)"
ry="2.4865487"
height="19.127298"
style="fill:#e85bbe;stroke-width:0.16954455" />
<path
id="path4639"
d="m 247.89442,261.73156 -27.76948,0.19588 c -1.17703,0.008 -2.39192,2.2218 -1.81693,3.24887 l 13.6984,24.46863 c 0.57499,1.02707 2.14549,1.80222 3.14427,1.17939 l 12.81339,-7.99041 c 0.99877,-0.62283 1.80912,-2.07182 1.81693,-3.24886 l 0.1011,-15.24359 c 0.008,-1.17703 -0.81065,-2.61821 -1.98768,-2.60991 z"
style="fill:#d80073;stroke-width:0.16954453" />
<rect
id="rect4641"
y="131.65263"
x="253.73836"
width="19.184156"
transform="matrix(0.85586624,0.51719724,0.00684404,0.99997658,0,0)"
ry="2.0588999"
height="18.889915"
style="fill:#e8338b;stroke-width:0.16954455" />
<rect
id="rect4643"
y="117.5712"
x="388.17111"
width="19.104654"
transform="matrix(0.86530323,0.50124875,-0.86512317,0.50155947,0,0)"
ry="2.4865487"
height="19.127298"
style="fill:#e85bbe;stroke-width:0.16954455" />
</g>
<g
transform="matrix(1.1890396,0,0,1.1890396,-15.809694,-32.756949)"
id="g5018">
<path
id="path4647"
d="m 98.164285,202.36882 v -24.67155 h -4.664788 l -0.932957,1.41671 h 4.181032 v 23.25484 z"
style="stroke-width:0.38810971" />
<path
id="path4649"
d="m 120.5685,189.82572 q 0,-4.87211 -2.03869,-8.53483 -2.48788,-4.38836 -7.01446,-4.38836 -4.52657,0 -7.01446,4.38836 -2.03868,3.59361 -2.03868,8.53483 0,4.90667 2.03868,8.50029 2.48789,4.38835 7.01446,4.38835 4.56113,0 7.04901,-4.3538 2.00414,-3.55906 2.00414,-8.53484 z m -1.48582,0 q 0,4.7339 -1.90048,7.87831 -2.10779,3.55906 -5.66685,3.55906 -3.83549,0 -5.90873,-4.00826 -1.62404,-3.17897 -1.62404,-7.42911 0,-4.66478 1.90047,-7.91286 2.14235,-3.59362 5.6323,-3.59362 3.9046,0 5.94329,4.00827 1.62404,3.17896 1.62404,7.49821 z"
style="stroke-width:0.38810971" />
<path
id="path4651"
d="m 126.77931,202.36882 v -24.67155 h -4.66479 l -0.93296,1.41671 h 4.18104 v 23.25484 z"
style="stroke-width:0.38810971" />
<path
id="path4653"
d="m 149.18352,189.82572 q 0,-4.87211 -2.03869,-8.53483 -2.48788,-4.38836 -7.01445,-4.38836 -4.52658,0 -7.01447,4.38836 -2.03868,3.59361 -2.03868,8.53483 0,4.90667 2.03868,8.50029 2.48789,4.38835 7.01447,4.38835 4.56112,0 7.04901,-4.3538 2.00413,-3.55906 2.00413,-8.53484 z m -1.48582,0 q 0,4.7339 -1.90047,7.87831 -2.10779,3.55906 -5.66685,3.55906 -3.8355,0 -5.90874,-4.00826 -1.62404,-3.17897 -1.62404,-7.42911 0,-4.66478 1.90047,-7.91286 2.14235,-3.59362 5.63231,-3.59362 3.90459,0 5.94328,4.00827 1.62404,3.17896 1.62404,7.49821 z"
style="stroke-width:0.38810971" />
<path
id="path4655"
d="m 153.93874,197.25483 v -19.55756 h -1.38216 v 19.55756 z m 0.58742,4.00826 q -0.10366,-0.58741 -0.3801,-0.86384 -0.38009,-0.3801 -0.86385,-0.3801 -1.24394,0.20732 -1.24394,1.24394 0,1.24395 1.24394,1.24395 1.24395,-0.20733 1.24395,-1.24395 z"
style="stroke-width:0.38810971" />
<path
id="path4657"
d="M 104.31489,234.60713 91.460811,221.71849 103.27827,209.93558 h -2.00413 l -11.022717,10.95361 v -10.95361 h -1.416717 v 24.67155 h 1.416717 v -11.71381 l 0.20732,-0.20732 11.886577,11.92113 z"
style="stroke-width:0.38810971" />
<path
id="path4659"
d="m 108.68382,234.60713 v -25.56996 h -1.38216 v 25.56996 z"
style="stroke-width:0.38810971" />
<path
id="path4661"
d="m 127.18423,227.489 q 0,-3.10985 -2.14234,-5.2522 -2.14235,-2.14235 -5.21766,-2.14235 -3.10985,0 -5.21765,2.1769 -2.14234,2.14235 -2.14234,5.21765 0,3.10986 2.14234,5.25221 2.1078,2.10779 5.21765,2.10779 3.10987,0 5.25221,-2.14234 2.10779,-2.1078 2.10779,-5.21766 z m -1.38215,0 q 0,2.48789 -1.76226,4.25014 -1.7277,1.72771 -4.21559,1.72771 -2.45333,0 -4.21558,-1.76226 -1.76225,-1.76225 -1.76225,-4.21559 0,-2.41877 1.7968,-4.21558 1.76226,-1.79681 4.18103,-1.79681 2.52245,0 4.25015,1.76226 1.7277,1.72769 1.7277,4.25013 z"
style="stroke-width:0.38810971" />
<path
id="path4663"
d="m 145.87848,227.489 q 0,-3.10985 -2.14234,-5.2522 -2.14235,-2.14235 -5.21766,-2.14235 -3.10985,0 -5.21765,2.1769 -2.14235,2.14235 -2.14235,5.21765 0,3.10986 2.14235,5.25221 2.1078,2.10779 5.21765,2.10779 3.10986,0 5.25221,-2.14234 2.10779,-2.1078 2.10779,-5.21766 z m -1.38216,0 q 0,2.48789 -1.76225,4.25014 -1.7277,1.72771 -4.21559,1.72771 -2.45333,0 -4.21558,-1.76226 -1.76226,-1.76225 -1.76226,-4.21559 0,-2.41877 1.79681,-4.21558 1.76225,-1.79681 4.18103,-1.79681 2.52244,0 4.25015,1.76226 1.72769,1.72769 1.72769,4.25013 z"
style="stroke-width:0.38810971" />
<path
id="path4665"
d="m 160.46188,234.60713 v -8.67306 q 0,-2.72976 -1.41671,-4.25014 -1.41671,-1.52037 -4.07737,-1.52037 -3.14441,0 -4.11192,1.90047 v -1.7277 h -1.41672 v 14.2708 h 1.41672 v -8.67306 q 0,-2.03868 1.07117,-3.21352 1.03662,-1.17483 3.04075,-1.17483 4.07737,0 4.07737,4.52657 v 8.53484 z"
style="stroke-width:0.38810971" />
<path
id="path4667"
d="m 165.3483,216.63905 q -0.27643,-1.14028 -1.14028,-1.14028 -1.14028,0.20732 -1.14028,1.14028 0.0345,0.51831 0.34554,0.8293 0.41465,0.31098 0.79474,0.31098 1.14028,0 1.14028,-1.14028 z m -0.4492,17.96808 v -14.2708 h -1.41671 v 14.2708 z"
style="stroke-width:0.38810971" />
</g>
<circle
r="9.5796337"
cy="273.96652"
cx="179.48816"
id="path4574"
style="opacity:1;fill:#ffd42a;fill-opacity:1;stroke:none;stroke-width:0.73409218;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
id="path4705"
d="m 174.35525,276.37967 c 0.17906,3.50344 7.80153,5.08569 9.34097,1.97537"
style="fill:none;stroke:#1a1a1a;stroke-width:0.96368474;stroke-linecap:round;stroke-opacity:1" />
<ellipse
ry="2.1002443"
rx="1.4490241"
cy="271.01956"
cx="183.11739"
id="path4737"
style="opacity:1;fill:#1a1a1a;fill-opacity:1;stroke:none;stroke-width:1.72248816;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal" />
<path
id="ellipse4841"
d="m 175.53715,269.69856 c -1.21018,0 -2.90702,1.01416 -2.11939,2.22951 0.84934,-1.58658 3.05398,-1.42261 4.22994,-0.0381 0.60896,-1.21621 -0.88092,-2.19143 -2.11055,-2.19143 z"
style="opacity:1;fill:#1a1a1a;fill-opacity:1;stroke:none;stroke-width:2.09027147;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 29 KiB

View file

@ -5,14 +5,18 @@ import re
import os import os
import subprocess import subprocess
color_re = \ group_id_re = \
re.compile('<g\s+id="export_(\w+)"\s+style=".*?fill:#([0-9a-f]+)[\S\s]*?') re.compile('<g[\S\s]+?id="export_(\w+)"[\S\s]+?>')
fill_re = \
re.compile('fill:#([0-9a-f]+)')
template = '''{{ template = '''{{
"name": "{name}", "name": "{name}",
"price": {price}, "price": {price},
"colors": {{ "colors": {{
"background": "{background}", "background": "{background}",
"foreground": "{foreground}",
"buttons": [ "buttons": [
"{button_0}", "{button_0}",
"{button_1}", "{button_1}",
@ -28,7 +32,8 @@ template = '''{{
"current_score": "{current_score}", "current_score": "{current_score}",
"high_score": "{high_score}", "high_score": "{high_score}",
"bonus": "{bonus}", "bonus": "{bonus}",
"band": "{band}" "band": "{band}",
"text": "{text}"
}}, }},
"cell_texture": "{cell_tex}" "cell_texture": "{cell_tex}"
}} }}
@ -90,9 +95,14 @@ def work(filename):
xml = f.read().replace('\n', '') xml = f.read().replace('\n', '')
replacements = {} replacements = {}
for m in color_re.finditer(xml): for m in group_id_re.finditer(xml):
f = fill_re.search(m.group(0))
if not f:
raise ValueError(
'Error: The object %s missing the fill attribute' % m.group(1))
# Append 'ff' because the themes require the alpha to be set # Append 'ff' because the themes require the alpha to be set
replacements[m.group(1)] = m.group(2)+'ff' replacements[m.group(1)] = f.group(1) + 'ff'
replacements['name'] = input('Enter theme name for "{}": '.format(name)) replacements['name'] = input('Enter theme name for "{}": '.format(name))
replacements['price'] = input('Enter theme price: ') replacements['price'] = input('Enter theme price: ')

View file

@ -1,42 +1,17 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg <svg
xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#" xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="800"
height="700"
viewBox="0 0 800.00001 700.00001"
id="svg2"
version="1.1" version="1.1"
inkscape:version="0.91 r13725" id="svg2"
sodipodi:docname="template.svg"> viewBox="0 0 800.00001 700.00001"
height="746.66669"
width="853.33331">
<defs <defs
id="defs4" /> id="defs4" />
<sodipodi:namedview
id="base"
pagecolor="#141414"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:zoom="0.35"
inkscape:cx="327.2357"
inkscape:cy="279.98635"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1366"
inkscape:window-height="744"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
units="px" />
<metadata <metadata
id="metadata7"> id="metadata7">
<rdf:RDF> <rdf:RDF>
@ -50,228 +25,234 @@
</rdf:RDF> </rdf:RDF>
</metadata> </metadata>
<g <g
inkscape:label="Capa 1" transform="translate(0,-352.36216)"
inkscape:groupmode="layer" id="layer1">
id="layer1"
transform="translate(0,-352.36216)">
<g <g
transform="translate(0,-199.99998)" style="fill:#e3e3e3;fill-opacity:1"
id="export_empty_cell" id="export_empty_cell"
style="fill:#e3e3e3;fill-opacity:1"> transform="translate(0,-199.99998)">
<rect <rect
style="opacity:1;fill:#e3e3e3;fill-opacity:1;stroke:none;stroke-width:8;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" y="552.36218"
x="400"
height="700"
width="400"
id="rect4260" id="rect4260"
style="opacity:1;fill:#e3e3e3;fill-opacity:1;stroke:none;stroke-width:8;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
</g>
<g
style="fill:#7988bf;fill-opacity:1"
id="export_cell_0"
transform="translate(0,-199.99998)">
<rect
y="570.0614"
x="431.72415"
height="72.314049"
width="68.965515"
id="rect4262"
style="opacity:1;fill:#7988bf;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
</g>
<g
style="fill:#98dc53;fill-opacity:1"
id="export_cell_1"
transform="translate(0,-199.99998)">
<rect
style="opacity:1;fill:#98dc53;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect4264"
width="124.13792"
height="130.16528"
x="434.48279"
y="682.87128" />
</g>
<g
style="fill:#4cd4ae;fill-opacity:1"
id="export_cell_2"
transform="translate(0,-199.99998)">
<rect
y="587.41681"
x="597.24127"
height="176.44627"
width="168.27585"
id="rect4266"
style="opacity:1;fill:#4cd4ae;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
</g>
<g
style="fill:#57cb84;fill-opacity:1"
id="export_cell_7"
transform="translate(0,-199.99998)">
<path
id="path4268"
d="m 625.53912,1114.5697 v 116.5837 h 118.01372 v -58.292 H 684.5469 v -58.2917 z"
style="opacity:1;fill:#57cb84;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
</g>
<g
style="fill:#5abee2;fill-opacity:1"
id="export_cell_8"
transform="translate(0,-199.99998)">
<path
id="path4270"
d="m 435.54908,1048.0408 v 177.9444 H 605.2538 V 1166.671 H 492.11671 v -118.6302 z"
style="opacity:1;fill:#5abee2;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
</g>
<g
style="fill:#fec63d;fill-opacity:1"
id="export_cell_3"
transform="translate(0,-199.99998)">
<rect
y="937.41663"
x="671.724"
height="54.958675"
width="104.82758"
id="rect4272"
style="opacity:1;fill:#fec63d;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
</g>
<g
style="fill:#ec9548;fill-opacity:1"
id="export_cell_4"
transform="translate(0,-199.99998)">
<rect
y="1027.0861"
x="531.03442"
height="54.958675"
width="162.75861"
id="rect4274"
style="opacity:1;fill:#ec9548;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
</g>
<g
style="fill:#e66a82;fill-opacity:1"
id="export_cell_5"
transform="translate(0,-199.99998)">
<rect
y="917.16876"
x="415.17236"
height="66.528923"
width="228.9655"
id="rect4276"
style="opacity:1;fill:#e66a82;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
</g>
<g
style="fill:#da6554;fill-opacity:1"
id="export_cell_6"
transform="translate(0,-199.99998)">
<rect
y="833.28448"
x="500.6897"
height="69.421486"
width="281.37927"
id="rect4278"
style="opacity:1;fill:#da6554;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
</g>
<g
transform="translate(3.030458,-199.99998)"
style="fill:#ffffff;fill-opacity:1"
id="export_background">
<rect
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:7.78836012;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect4147"
width="400" width="400"
height="700" height="700"
x="400" x="0"
y="552.36218" /> y="552.36218" />
</g> </g>
<g <g
transform="translate(0,-199.99998)" style="fill:#00f230;fill-opacity:1"
id="export_cell_0"
style="fill:#7988bf;fill-opacity:1">
<rect
style="opacity:1;fill:#7988bf;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect4262"
width="68.965515"
height="72.314049"
x="431.72415"
y="570.0614" />
</g>
<g
transform="translate(0,-199.99998)"
id="export_cell_1"
style="fill:#98dc53;fill-opacity:1">
<rect
y="682.87128"
x="434.48279"
height="130.16528"
width="124.13792"
id="rect4264"
style="opacity:1;fill:#98dc53;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
</g>
<g
transform="translate(0,-199.99998)"
id="export_cell_2"
style="fill:#4cd4ae;fill-opacity:1">
<rect
style="opacity:1;fill:#4cd4ae;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect4266"
width="168.27585"
height="176.44627"
x="597.24127"
y="587.41681" />
</g>
<g
transform="translate(0,-199.99998)"
id="export_cell_7"
style="fill:#57cb84;fill-opacity:1">
<path
style="opacity:1;fill:#57cb84;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="m 625.53912,1114.5697 0,116.5837 118.01372,0 0,-58.292 -59.00594,0 0,-58.2917 -59.00778,0 z"
id="path4268"
inkscape:connector-curvature="0" />
</g>
<g
transform="translate(0,-199.99998)"
id="export_cell_8"
style="fill:#5abee2;fill-opacity:1">
<path
style="opacity:1;fill:#5abee2;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="m 435.54908,1048.0408 0,177.9444 169.70472,0 0,-59.3142 -113.13709,0 0,-118.6302 -56.56763,0 z"
id="path4270"
inkscape:connector-curvature="0" />
</g>
<g
transform="translate(0,-199.99998)"
id="export_cell_3"
style="fill:#fec63d;fill-opacity:1">
<rect
style="opacity:1;fill:#fec63d;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect4272"
width="104.82758"
height="54.958675"
x="671.724"
y="937.41663" />
</g>
<g
transform="translate(0,-199.99998)"
id="export_cell_4"
style="fill:#ec9548;fill-opacity:1">
<rect
style="opacity:1;fill:#ec9548;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect4274"
width="162.75861"
height="54.958675"
x="531.03442"
y="1027.0861" />
</g>
<g
transform="translate(0,-199.99998)"
id="export_cell_5"
style="fill:#e66a82;fill-opacity:1">
<rect
style="opacity:1;fill:#e66a82;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect4276"
width="228.9655"
height="66.528923"
x="415.17236"
y="917.16876" />
</g>
<g
transform="translate(0,-199.99998)"
id="export_cell_6"
style="fill:#da6554;fill-opacity:1">
<rect
style="opacity:1;fill:#da6554;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect4278"
width="281.37927"
height="69.421486"
x="500.6897"
y="833.28448" />
</g>
<g
id="export_background"
style="fill:#ffffff;fill-opacity:1"
transform="translate(3.030458,-199.99998)">
<rect
y="552.36218"
x="0"
height="700"
width="400"
id="rect4147"
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:7.78836012;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
</g>
<g
transform="translate(0,-199.99998)"
id="export_button_0" id="export_button_0"
style="fill:#00f230;fill-opacity:1"> transform="translate(0,-199.99998)">
<rect <path
style="opacity:1;fill:#00f230;fill-opacity:1;stroke:none;stroke-width:8;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect4149" id="rect4149"
width="351.42859" d="M 26.857031,798.76837 H 378.28562 V 907.33982 H 26.857031 Z"
height="108.57145" style="opacity:1;fill:#00f230;fill-opacity:1;stroke:none;stroke-width:8;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
x="26.857031"
y="798.76837" />
</g> </g>
<g <g
transform="translate(0,-199.99998)" style="fill:#f2cc00;fill-opacity:1"
id="export_button_1" id="export_button_1"
style="fill:#f2cc00;fill-opacity:1"> transform="translate(0,-199.99998)">
<rect <rect
y="921.62555" style="opacity:1;fill:#f2cc00;fill-opacity:1;stroke:none;stroke-width:8;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
x="29.714174"
height="108.57145"
width="105.7143"
id="rect4151" id="rect4151"
style="opacity:1;fill:#f2cc00;fill-opacity:1;stroke:none;stroke-width:8;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
</g>
<g
transform="translate(0,-199.99998)"
id="export_button_2"
style="fill:#2182ef;fill-opacity:1">
<rect
style="opacity:1;fill:#2182ef;fill-opacity:1;stroke:none;stroke-width:8;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect4153"
width="105.7143" width="105.7143"
height="108.57145" height="108.57145"
x="146.85712" x="29.714174"
y="921.62555" /> y="921.62555" />
</g> </g>
<g <g
transform="translate(0,-199.99998)" style="fill:#2182ef;fill-opacity:1"
id="export_button_3" id="export_button_2"
style="fill:#ce4444;fill-opacity:1"> transform="translate(0,-199.99998)">
<rect <rect
y="921.62555" y="921.62555"
x="266.85712" x="146.85712"
height="108.57145" height="108.57145"
width="105.7143" width="105.7143"
id="rect4155" id="rect4153"
style="opacity:1;fill:#ce4444;fill-opacity:1;stroke:none;stroke-width:8;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> style="opacity:1;fill:#2182ef;fill-opacity:1;stroke:none;stroke-width:8;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
</g> </g>
<g <g
transform="translate(0,-199.99998)" style="fill:#ce4444;fill-opacity:1"
id="export_current_score" id="export_button_3"
style="fill:#ffcc00;fill-opacity:1"> transform="translate(0,-199.99998)">
<path
inkscape:connector-curvature="0"
id="path4181"
d="m 106.16769,680.7189 a 20.572971,33.748715 52.281084 0 0 -0.3613,0.23047 l -3.5703,0 a 31.071428,74.892753 0 0 0 0.207,2.32227 20.572971,33.748715 52.281084 0 0 -17.67971,31.1875 20.572971,33.748715 52.281084 0 0 27.33211,9.97851 31.071428,74.892753 0 0 0 16.5234,18.62501 19.482912,22.977165 0 0 0 -14.6016,18.60157 l 38.4278,0 a 19.482912,22.977165 0 0 0 -15.1055,-18.75 31.071428,74.892753 0 0 0 16.3164,-18.47853 33.748715,20.572971 37.718916 0 0 27.3379,-9.97656 33.748715,20.572971 37.718916 0 0 -17.6738,-31.1836 31.071428,74.892753 0 0 0 0.2011,-2.32617 l -3.5703,0 a 33.748715,20.572971 37.718916 0 0 -0.3613,-0.23047 l -0.033,0.23047 -53.3555,0 -0.033,-0.23047 z m -3.2187,8.00977 a 31.071428,74.892753 0 0 0 7.5312,32.01562 16.78108,29.001088 59.891063 0 1 -22.259706,-8.39257 16.78108,29.001088 59.891063 0 1 14.728506,-23.62305 z m 59.8652,0.004 a 29.001088,16.78108 30.108937 0 1 14.7227,23.61915 29.001088,16.78108 30.108937 0 1 -22.2637,8.39062 31.071428,74.892753 0 0 0 7.541,-32.00977 z m -29.9355,4.67774 4.1054,8.31836 9.1797,1.33398 -6.6426,6.47461 1.5684,9.14453 -8.2109,-4.3164 -8.211,4.3164 1.5684,-9.14453 -6.6445,-6.47461 9.1816,-1.33398 4.1055,-8.31836 z"
style="opacity:1;fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:8;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
</g>
<g
transform="translate(0,-199.99998)"
id="export_high_score"
style="fill:#65d681;fill-opacity:1">
<path
style="opacity:1;fill:#65d681;fill-opacity:1;stroke:none;stroke-width:8;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="m 229.54476,680.7189 a 20.572971,33.748715 52.281084 0 0 -0.3613,0.23047 l -3.5703,0 a 31.071428,74.892753 0 0 0 0.207,2.32227 20.572971,33.748715 52.281084 0 0 -17.6797,31.1875 20.572971,33.748715 52.281084 0 0 27.3321,9.97851 31.071428,74.892753 0 0 0 16.5234,18.62501 19.482912,22.977165 0 0 0 -14.6015,18.60157 l 38.4277,0 a 19.482912,22.977165 0 0 0 -15.1055,-18.75 31.071428,74.892753 0 0 0 16.3164,-18.47853 33.748715,20.572971 37.718916 0 0 27.3379,-9.97656 33.748715,20.572971 37.718916 0 0 -17.6738,-31.1836 31.071428,74.892753 0 0 0 0.2012,-2.32617 l -3.5704,0 a 33.748715,20.572971 37.718916 0 0 -0.3613,-0.23047 l -0.033,0.23047 -53.3555,0 -0.033,-0.23047 z m -3.2187,8.00977 a 31.071428,74.892753 0 0 0 7.5312,32.01562 16.78108,29.001088 59.891063 0 1 -22.2597,-8.39257 16.78108,29.001088 59.891063 0 1 14.7285,-23.62305 z m 59.8652,0.004 a 29.001088,16.78108 30.108937 0 1 14.7227,23.61915 29.001088,16.78108 30.108937 0 1 -22.2637,8.39062 31.071428,74.892753 0 0 0 7.541,-32.00977 z m -29.9355,4.67774 4.1054,8.31836 9.1797,1.33398 -6.6425,6.47461 1.5683,9.14453 -8.2109,-4.3164 -8.211,4.3164 1.5684,-9.14453 -6.6445,-6.47461 9.1816,-1.33398 4.1055,-8.31836 z"
id="path4233"
inkscape:connector-curvature="0" />
</g>
<g
transform="translate(0,-199.99998)"
id="export_band"
style="fill:#87ceeb;fill-opacity:1">
<rect <rect
ry="4.1303067" style="opacity:1;fill:#ce4444;fill-opacity:1;stroke:none;stroke-width:8;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
y="572.36218" id="rect4155"
x="0" width="105.7143"
height="80" height="108.57145"
width="400" x="266.85712"
id="rect4174" y="921.62555" />
style="opacity:1;fill:#87ceeb;fill-opacity:1;stroke:none;stroke-width:25;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
</g> </g>
<g <g
transform="translate(0,-199.99998)" style="fill:#ffcc00;fill-opacity:1"
id="export_bonus" id="export_current_score"
style="fill:#4d4d4d;fill-opacity:1"> transform="translate(0,-199.99998)">
<path <path
inkscape:connector-curvature="0" style="opacity:1;fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:8;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect4180" d="m 106.16769,680.7189 a 20.572971,33.748715 52.281084 0 0 -0.3613,0.23047 h -3.5703 a 31.071428,74.892753 0 0 0 0.207,2.32227 20.572971,33.748715 52.281084 0 0 -17.67971,31.1875 20.572971,33.748715 52.281084 0 0 27.33211,9.97851 31.071428,74.892753 0 0 0 16.5234,18.62501 19.482912,22.977165 0 0 0 -14.6016,18.60157 h 38.4278 a 19.482912,22.977165 0 0 0 -15.1055,-18.75 31.071428,74.892753 0 0 0 16.3164,-18.47853 33.748715,20.572971 37.718916 0 0 27.3379,-9.97656 33.748715,20.572971 37.718916 0 0 -17.6738,-31.1836 31.071428,74.892753 0 0 0 0.2011,-2.32617 h -3.5703 a 33.748715,20.572971 37.718916 0 0 -0.3613,-0.23047 l -0.033,0.23047 h -53.3555 l -0.033,-0.23047 z m -3.2187,8.00977 a 31.071428,74.892753 0 0 0 7.5312,32.01562 16.78108,29.001088 59.891063 0 1 -22.259706,-8.39257 16.78108,29.001088 59.891063 0 1 14.728506,-23.62305 z m 59.8652,0.004 a 29.001088,16.78108 30.108937 0 1 14.7227,23.61915 29.001088,16.78108 30.108937 0 1 -22.2637,8.39062 31.071428,74.892753 0 0 0 7.541,-32.00977 z m -29.9355,4.67774 4.1054,8.31836 9.1797,1.33398 -6.6426,6.47461 1.5684,9.14453 -8.2109,-4.3164 -8.211,4.3164 1.5684,-9.14453 -6.6445,-6.47461 9.1816,-1.33398 z"
d="m 198.50901,1079.2067 c -6.43568,0 -11.61524,5.1815 -11.61524,11.6172 l 0,11.6172 -11.61718,0 c -6.43569,0 -11.61719,5.1815 -11.61719,11.6172 l 0,10.1015 c 0,6.4357 5.1815,11.6172 11.61719,11.6172 l 11.61718,0 0,11.6152 c 0,6.4357 5.17956,11.6172 11.61524,11.6172 l 10.10156,0 c 6.43568,0 11.61719,-5.1815 11.61719,-11.6172 l 0,-11.6152 11.61719,0 c 6.43568,0 11.61718,-5.1815 11.61718,-11.6172 l 0,-10.1015 c 0,-6.4357 -5.1815,-11.6172 -11.61718,-11.6172 l -11.61719,0 0,-11.6172 c 0,-6.4357 -5.18151,-11.6172 -11.61719,-11.6172 l -10.10156,0 z" id="path4181" />
style="opacity:1;fill:#4d4d4d;fill-opacity:1;stroke:none;stroke-width:7.55499983;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> </g>
<g
style="fill:#65d681;fill-opacity:1"
id="export_high_score"
transform="translate(0,-199.99998)">
<path
id="path4233"
d="m 229.54476,680.7189 a 20.572971,33.748715 52.281084 0 0 -0.3613,0.23047 h -3.5703 a 31.071428,74.892753 0 0 0 0.207,2.32227 20.572971,33.748715 52.281084 0 0 -17.6797,31.1875 20.572971,33.748715 52.281084 0 0 27.3321,9.97851 31.071428,74.892753 0 0 0 16.5234,18.62501 19.482912,22.977165 0 0 0 -14.6015,18.60157 h 38.4277 a 19.482912,22.977165 0 0 0 -15.1055,-18.75 31.071428,74.892753 0 0 0 16.3164,-18.47853 33.748715,20.572971 37.718916 0 0 27.3379,-9.97656 33.748715,20.572971 37.718916 0 0 -17.6738,-31.1836 31.071428,74.892753 0 0 0 0.2012,-2.32617 h -3.5704 a 33.748715,20.572971 37.718916 0 0 -0.3613,-0.23047 l -0.033,0.23047 h -53.3555 l -0.033,-0.23047 z m -3.2187,8.00977 a 31.071428,74.892753 0 0 0 7.5312,32.01562 16.78108,29.001088 59.891063 0 1 -22.2597,-8.39257 16.78108,29.001088 59.891063 0 1 14.7285,-23.62305 z m 59.8652,0.004 a 29.001088,16.78108 30.108937 0 1 14.7227,23.61915 29.001088,16.78108 30.108937 0 1 -22.2637,8.39062 31.071428,74.892753 0 0 0 7.541,-32.00977 z m -29.9355,4.67774 4.1054,8.31836 9.1797,1.33398 -6.6425,6.47461 1.5683,9.14453 -8.2109,-4.3164 -8.211,4.3164 1.5684,-9.14453 -6.6445,-6.47461 9.1816,-1.33398 z"
style="opacity:1;fill:#65d681;fill-opacity:1;stroke:none;stroke-width:8;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
</g>
<g
style="fill:#87ceeb;fill-opacity:1"
id="export_band"
transform="translate(0,-199.99998)">
<rect
style="opacity:1;fill:#87ceeb;fill-opacity:1;stroke:none;stroke-width:25;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect4174"
width="400"
height="80"
x="0"
y="572.36218"
ry="4.1303067" />
</g>
<g
style="fill:#4d4d4d;fill-opacity:1"
id="export_bonus"
transform="translate(0,-199.99998)">
<path
style="opacity:1;fill:#4d4d4d;fill-opacity:1;stroke:none;stroke-width:7.55499983;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="m 198.50901,1079.2067 c -6.43568,0 -11.61524,5.1815 -11.61524,11.6172 v 11.6172 h -11.61718 c -6.43569,0 -11.61719,5.1815 -11.61719,11.6172 v 10.1015 c 0,6.4357 5.1815,11.6172 11.61719,11.6172 h 11.61718 v 11.6152 c 0,6.4357 5.17956,11.6172 11.61524,11.6172 h 10.10156 c 6.43568,0 11.61719,-5.1815 11.61719,-11.6172 v -11.6152 h 11.61719 c 6.43568,0 11.61718,-5.1815 11.61718,-11.6172 v -10.1015 c 0,-6.4357 -5.1815,-11.6172 -11.61718,-11.6172 h -11.61719 v -11.6172 c 0,-6.4357 -5.18151,-11.6172 -11.61719,-11.6172 z"
id="rect4180" />
</g>
<g
style="fill:#ffffff;fill-opacity:1"
id="export_foreground">
<path
id="path852"
d="m 240.30098,653.05414 c 0,8.10538 -63.17523,44.57962 -70.19469,40.52692 -7.01947,-4.05269 -7.01947,-77.00116 0,-81.05385 7.01946,-4.05269 70.19469,32.42154 70.19469,40.52693 z"
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.9375;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
</g>
<g
style="fill:#1a1a1a;fill-opacity:1"
id="export_text">
<path
style="opacity:1;fill:#1a1a1a;fill-opacity:1;stroke:none;stroke-width:0.75219417;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 178.42743,388.9247 v 18.75 9.375 18.75 h 9.375 v -18.75 h 9.375 v 18.75 h 9.375 v -18.75 -9.375 -18.75 h -9.375 v 18.75 h -9.375 v -18.75 z m 33.77014,0 v 46.875 h 9.375 v -46.875 z"
id="rect859" />
</g> </g>
</g> </g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB