Browse Source

use svg icons where possible

master
Craig Raw 2 years ago
parent
commit
83c8b1c8e6
  1. 6
      build.gradle
  2. 27
      src/main/java/com/sparrowwallet/sparrow/control/WalletIcon.java
  3. 1
      src/main/java/module-info.java
  4. 6
      src/main/resources/image/bitbox02-icon-invert.svg
  5. 6
      src/main/resources/image/bitbox02-icon.svg
  6. 16
      src/main/resources/image/coldcard-icon-invert.svg
  7. 16
      src/main/resources/image/coldcard-icon.svg
  8. 15
      src/main/resources/image/jade-icon-invert.svg
  9. 15
      src/main/resources/image/jade-icon.svg
  10. 7
      src/main/resources/image/keystone-icon-invert.svg
  11. 7
      src/main/resources/image/keystone-icon.svg
  12. 11
      src/main/resources/image/ledger-icon-invert.svg
  13. 11
      src/main/resources/image/ledger-icon.svg
  14. 78
      src/main/resources/image/passport-icon-invert.svg
  15. 78
      src/main/resources/image/passport-icon.svg
  16. 6
      src/main/resources/image/trezor-icon-invert.svg
  17. 6
      src/main/resources/image/trezor-icon.svg

6
build.gradle

@ -111,6 +111,7 @@ dependencies {
implementation('com.github.librepdf:openpdf:1.3.27') implementation('com.github.librepdf:openpdf:1.3.27')
implementation('com.googlecode.lanterna:lanterna:3.1.1') implementation('com.googlecode.lanterna:lanterna:3.1.1')
implementation('net.coobird:thumbnailator:0.4.18') implementation('net.coobird:thumbnailator:0.4.18')
implementation('com.github.hervegirod:fxsvgimage:1.0b2')
testImplementation('junit:junit:4.12') testImplementation('junit:junit:4.12')
} }
@ -584,6 +585,11 @@ extraJavaModuleInfo {
exports('net.coobird.thumbnailator') exports('net.coobird.thumbnailator')
requires('java.desktop') requires('java.desktop')
} }
module('fxsvgimage-1.0b2.jar', 'com.github.hervegirod', '1.0b2') {
exports('org.girod.javafx.svgimage')
requires('javafx.graphics')
requires('java.xml')
}
module("netlayer-jpms-${osName}${targetName}-0.6.8.jar", 'netlayer.jpms', '0.6.8') { module("netlayer-jpms-${osName}${targetName}-0.6.8.jar", 'netlayer.jpms', '0.6.8') {
exports('org.berndpruenster.netlayer.tor') exports('org.berndpruenster.netlayer.tor')
requires('com.github.ravn.jsocks') requires('com.github.ravn.jsocks')

27
src/main/java/com/sparrowwallet/sparrow/control/WalletIcon.java

@ -17,6 +17,8 @@ import javafx.scene.layout.StackPane;
import javafx.scene.paint.ImagePattern; import javafx.scene.paint.ImagePattern;
import javafx.scene.shape.Circle; import javafx.scene.shape.Circle;
import org.controlsfx.glyphfont.Glyph; import org.controlsfx.glyphfont.Glyph;
import org.girod.javafx.svgimage.SVGImage;
import org.girod.javafx.svgimage.SVGLoader;
import java.io.*; import java.io.*;
import java.net.MalformedURLException; import java.net.MalformedURLException;
@ -61,6 +63,18 @@ public class WalletIcon extends StackPane {
if(keystore.getSource() == KeystoreSource.HW_USB || keystore.getSource() == KeystoreSource.HW_AIRGAPPED) { if(keystore.getSource() == KeystoreSource.HW_USB || keystore.getSource() == KeystoreSource.HW_AIRGAPPED) {
WalletModel walletModel = keystore.getWalletModel(); WalletModel walletModel = keystore.getWalletModel();
SVGImage svgImage;
if(Config.get().getTheme() == Theme.DARK) {
svgImage = loadSVGImage("/image/" + walletModel.getType() + "-icon-invert.svg");
} else {
svgImage = loadSVGImage("/image/" + walletModel.getType() + "-icon.svg");
}
if(svgImage != null) {
getChildren().add(svgImage);
return;
}
Image image = null; Image image = null;
if(Config.get().getTheme() == Theme.DARK) { if(Config.get().getTheme() == Theme.DARK) {
image = loadImage("image/" + walletModel.getType() + "-icon-invert.png"); image = loadImage("image/" + walletModel.getType() + "-icon-invert.png");
@ -88,6 +102,19 @@ public class WalletIcon extends StackPane {
} }
} }
private SVGImage loadSVGImage(String imageName) {
try {
URL url = AppServices.class.getResource(imageName);
if(url != null) {
return SVGLoader.load(url);
}
} catch(Exception e) {
//ignore
}
return null;
}
private Image loadImage(String imageName) { private Image loadImage(String imageName) {
try { try {
return new Image(imageName, 15, 15, true, true); return new Image(imageName, 15, 15, true, true);

1
src/main/java/module-info.java

@ -47,4 +47,5 @@ open module com.sparrowwallet.sparrow {
requires com.github.librepdf.openpdf; requires com.github.librepdf.openpdf;
requires com.googlecode.lanterna; requires com.googlecode.lanterna;
requires net.coobird.thumbnailator; requires net.coobird.thumbnailator;
requires com.github.hervegirod;
} }

6
src/main/resources/image/bitbox02-icon-invert.svg

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="15px" height="px" viewBox="0 0 15 15" version="1.1">
<g id="surface1">
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(83.921569%,82.352941%,82.352941%);fill-opacity:1;" d="M 3.101562 10.179688 L 3.101562 7.75 L 5.0625 6.90625 L 5.0625 3.125 L 7.015625 2.269531 L 7.015625 8.480469 Z M 11.898438 10.199219 L 11.898438 7.773438 L 9.9375 6.925781 L 9.9375 3.144531 L 7.988281 2.296875 L 7.988281 8.5 Z M 7.507812 9.332031 L 3.601562 11.035156 L 7.503906 12.730469 L 11.417969 11.027344 Z M 7.507812 9.332031 "/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 656 B

6
src/main/resources/image/bitbox02-icon.svg

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="15px" height="px" viewBox="0 0 15 15" version="1.1">
<g id="surface1">
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(14.117647%,14.117647%,14.117647%);fill-opacity:1;" d="M 3.101562 10.179688 L 3.101562 7.75 L 5.0625 6.90625 L 5.0625 3.125 L 7.015625 2.269531 L 7.015625 8.480469 Z M 11.898438 10.199219 L 11.898438 7.773438 L 9.9375 6.925781 L 9.9375 3.144531 L 7.988281 2.296875 L 7.988281 8.5 Z M 7.507812 9.332031 L 3.601562 11.035156 L 7.503906 12.730469 L 11.417969 11.027344 Z M 7.507812 9.332031 "/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 656 B

16
src/main/resources/image/coldcard-icon-invert.svg

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 33 KiB

16
src/main/resources/image/coldcard-icon.svg

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 33 KiB

15
src/main/resources/image/jade-icon-invert.svg

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="15px" height="15px" viewBox="0 0 15 15" version="1.1">
<defs>
<clipPath id="clip1">
<path d="M 2.34375 7.707031 L 7.246094 7.707031 L 7.246094 12.59375 L 2.34375 12.59375 Z M 2.34375 7.707031 "/>
</clipPath>
</defs>
<g id="surface1">
<g clip-path="url(#clip1)" clip-rule="nonzero">
<path style=" stroke:none;fill-rule:evenodd;fill:rgb(86.27451%,86.27451%,86.27451%);fill-opacity:1;" d="M 7.246094 9.359375 L 6.515625 8.65625 L 6.402344 8.542969 L 6.09375 8.230469 L 5.585938 7.707031 L 2.34375 7.707031 L 7.246094 12.59375 Z M 7.246094 9.359375 "/>
</g>
<path style=" stroke:none;fill-rule:evenodd;fill:rgb(73.333333%,73.333333%,73.333333%);fill-opacity:1;" d="M 7.855469 12.617188 L 12.753906 7.707031 L 9.519531 7.707031 L 8.816406 8.433594 L 8.703125 8.550781 L 8.386719 8.855469 L 7.855469 9.375 Z M 7.855469 12.617188 "/>
<path style=" stroke:none;fill-rule:evenodd;fill:rgb(47.45098%,47.45098%,47.45098%);fill-opacity:1;" d="M 7.855469 2.1875 L 7.855469 5.421875 L 8.589844 6.136719 L 8.707031 6.25 L 9.011719 6.5625 L 9.53125 7.097656 L 12.773438 7.097656 Z M 7.855469 2.1875 "/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

15
src/main/resources/image/jade-icon.svg

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="15px" height="15px" viewBox="0 0 15 15" version="1.1">
<defs>
<clipPath id="clip1">
<path d="M 2.34375 7.707031 L 7.246094 7.707031 L 7.246094 12.59375 L 2.34375 12.59375 Z M 2.34375 7.707031 "/>
</clipPath>
</defs>
<g id="surface1">
<g clip-path="url(#clip1)" clip-rule="nonzero">
<path style=" stroke:none;fill-rule:evenodd;fill:rgb(11.372549%,11.372549%,11.372549%);fill-opacity:1;" d="M 7.246094 9.359375 L 6.515625 8.65625 L 6.402344 8.542969 L 6.09375 8.230469 L 5.585938 7.707031 L 2.34375 7.707031 L 7.246094 12.59375 Z M 7.246094 9.359375 "/>
</g>
<path style=" stroke:none;fill-rule:evenodd;fill:rgb(27.058824%,27.058824%,27.058824%);fill-opacity:1;" d="M 7.855469 12.617188 L 12.753906 7.707031 L 9.519531 7.707031 L 8.816406 8.433594 L 8.703125 8.550781 L 8.386719 8.855469 L 7.855469 9.375 Z M 7.855469 12.617188 "/>
<path style=" stroke:none;fill-rule:evenodd;fill:rgb(56.470588%,56.470588%,56.470588%);fill-opacity:1;" d="M 7.855469 2.1875 L 7.855469 5.421875 L 8.589844 6.136719 L 8.707031 6.25 L 9.011719 6.5625 L 9.53125 7.097656 L 12.773438 7.097656 Z M 7.855469 2.1875 "/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

7
src/main/resources/image/keystone-icon-invert.svg

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="15px" height="15px" viewBox="0 0 15 15" version="1.1">
<g id="surface1">
<path style=" stroke:none;fill-rule:evenodd;fill:rgb(82.352941%,81.568627%,81.568627%);fill-opacity:1;" d="M 7.136719 8.96875 C 7.191406 9 7.242188 9.035156 7.285156 9.082031 L 9.027344 10.816406 C 9.402344 11.195312 9.40625 11.804688 9.039062 12.1875 L 9.023438 12.199219 L 8.765625 12.457031 C 8.503906 12.71875 8.101562 12.789062 7.761719 12.628906 L 5.835938 11.71875 C 5.394531 11.511719 5.203125 10.980469 5.414062 10.535156 C 5.421875 10.515625 5.433594 10.492188 5.445312 10.472656 L 6.167969 9.226562 C 6.363281 8.886719 6.796875 8.773438 7.136719 8.96875 Z M 7.898438 2.394531 C 7.976562 2.441406 8.046875 2.507812 8.09375 2.589844 L 8.433594 3.183594 C 8.59375 3.457031 8.59375 3.796875 8.433594 4.070312 L 4.632812 10.636719 C 4.558594 10.765625 4.394531 10.8125 4.261719 10.734375 C 4.222656 10.710938 4.1875 10.679688 4.164062 10.636719 C 4.007812 10.371094 3.890625 10.082031 3.808594 9.78125 L 3.746094 9.546875 C 3.632812 9.105469 3.695312 8.636719 3.921875 8.242188 L 7.167969 2.589844 C 7.316406 2.335938 7.640625 2.246094 7.898438 2.394531 Z M 9.40625 5.050781 C 9.511719 5.113281 9.601562 5.203125 9.664062 5.3125 L 10.414062 6.605469 C 10.609375 6.945312 10.492188 7.382812 10.152344 7.578125 C 10.042969 7.640625 9.921875 7.671875 9.796875 7.671875 L 8.144531 7.671875 C 7.800781 7.671875 7.523438 7.394531 7.523438 7.050781 C 7.523438 6.941406 7.550781 6.835938 7.605469 6.738281 L 8.433594 5.3125 C 8.628906 4.972656 9.066406 4.855469 9.40625 5.050781 Z M 9.40625 5.050781 "/>
<path style=" stroke:none;fill-rule:evenodd;fill:rgb(17.254902%,17.254902%,17.647059%);fill-opacity:1;" d="M 11.675781 8.792969 C 11.84375 9.085938 11.792969 9.457031 11.554688 9.695312 L 10.726562 10.515625 C 10.414062 10.824219 9.910156 10.824219 9.597656 10.511719 L 8.132812 9.050781 C 7.960938 8.878906 7.960938 8.597656 8.132812 8.421875 C 8.214844 8.339844 8.328125 8.292969 8.449219 8.292969 L 10.808594 8.292969 C 11.167969 8.292969 11.496094 8.484375 11.675781 8.792969 Z M 11.675781 8.792969 "/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

7
src/main/resources/image/keystone-icon.svg

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="15px" height="15px" viewBox="0 0 15 15" version="1.1">
<g id="surface1">
<path style=" stroke:none;fill-rule:evenodd;fill:rgb(16.470588%,16.470588%,16.470588%);fill-opacity:1;" d="M 7.136719 8.96875 C 7.191406 9 7.242188 9.035156 7.285156 9.082031 L 9.027344 10.816406 C 9.402344 11.195312 9.40625 11.804688 9.039062 12.1875 L 9.023438 12.199219 L 8.765625 12.457031 C 8.503906 12.71875 8.101562 12.789062 7.761719 12.628906 L 5.835938 11.71875 C 5.394531 11.511719 5.203125 10.980469 5.414062 10.535156 C 5.421875 10.515625 5.433594 10.492188 5.445312 10.472656 L 6.167969 9.226562 C 6.363281 8.886719 6.796875 8.773438 7.136719 8.96875 Z M 7.898438 2.394531 C 7.976562 2.441406 8.046875 2.507812 8.09375 2.589844 L 8.433594 3.183594 C 8.59375 3.457031 8.59375 3.796875 8.433594 4.070312 L 4.632812 10.636719 C 4.558594 10.765625 4.394531 10.8125 4.261719 10.734375 C 4.222656 10.710938 4.1875 10.679688 4.164062 10.636719 C 4.007812 10.371094 3.890625 10.082031 3.808594 9.78125 L 3.746094 9.546875 C 3.632812 9.105469 3.695312 8.636719 3.921875 8.242188 L 7.167969 2.589844 C 7.316406 2.335938 7.640625 2.246094 7.898438 2.394531 Z M 9.40625 5.050781 C 9.511719 5.113281 9.601562 5.203125 9.664062 5.3125 L 10.414062 6.605469 C 10.609375 6.945312 10.492188 7.382812 10.152344 7.578125 C 10.042969 7.640625 9.921875 7.671875 9.796875 7.671875 L 8.144531 7.671875 C 7.800781 7.671875 7.523438 7.394531 7.523438 7.050781 C 7.523438 6.941406 7.550781 6.835938 7.605469 6.738281 L 8.433594 5.3125 C 8.628906 4.972656 9.066406 4.855469 9.40625 5.050781 Z M 9.40625 5.050781 "/>
<path style=" stroke:none;fill-rule:evenodd;fill:rgb(79.215686%,79.607843%,80%);fill-opacity:1;" d="M 11.675781 8.792969 C 11.84375 9.085938 11.792969 9.457031 11.554688 9.695312 L 10.726562 10.515625 C 10.414062 10.824219 9.910156 10.824219 9.597656 10.511719 L 8.132812 9.050781 C 7.960938 8.878906 7.960938 8.597656 8.132812 8.421875 C 8.214844 8.339844 8.328125 8.292969 8.449219 8.292969 L 10.808594 8.292969 C 11.167969 8.292969 11.496094 8.484375 11.675781 8.792969 Z M 11.675781 8.792969 "/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

11
src/main/resources/image/ledger-icon-invert.svg

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="15px" height="15px" viewBox="0 0 15 15" version="1.1">
<g id="surface1">
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(87.058824%,88.627451%,92.54902%);fill-opacity:1;" d="M 10.148438 2.742188 L 5.992188 2.742188 L 5.992188 8.351562 L 11.601562 8.351562 L 11.601562 4.195312 C 11.601562 3.390625 10.953125 2.742188 10.148438 2.742188 Z M 10.148438 2.742188 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(87.058824%,88.627451%,92.54902%);fill-opacity:1;" d="M 4.699219 2.742188 L 3.984375 2.742188 C 3.179688 2.742188 2.53125 3.390625 2.53125 4.195312 L 2.53125 4.910156 L 4.699219 4.910156 Z M 4.699219 2.742188 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(87.058824%,88.627451%,92.54902%);fill-opacity:1;" d="M 2.53125 6.207031 L 4.699219 6.207031 L 4.699219 8.371094 L 2.53125 8.371094 Z M 2.53125 6.207031 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(87.058824%,88.627451%,92.54902%);fill-opacity:1;" d="M 9.457031 11.8125 L 10.171875 11.8125 C 10.976562 11.8125 11.625 11.167969 11.625 10.363281 L 11.625 9.667969 L 9.457031 9.667969 Z M 9.457031 11.8125 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(87.058824%,88.627451%,92.54902%);fill-opacity:1;" d="M 5.992188 9.667969 L 8.160156 9.667969 L 8.160156 11.835938 L 5.992188 11.835938 Z M 5.992188 9.667969 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(87.058824%,88.627451%,92.54902%);fill-opacity:1;" d="M 2.53125 9.667969 L 2.53125 10.382812 C 2.53125 11.1875 3.179688 11.835938 3.984375 11.835938 L 4.699219 11.835938 L 4.699219 9.667969 Z M 2.53125 9.667969 "/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

11
src/main/resources/image/ledger-icon.svg

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="15px" height="15px" viewBox="0 0 15 15" version="1.1">
<g id="surface1">
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(14.901961%,15.294118%,16.470588%);fill-opacity:1;" d="M 10.148438 2.742188 L 5.992188 2.742188 L 5.992188 8.351562 L 11.601562 8.351562 L 11.601562 4.195312 C 11.601562 3.390625 10.953125 2.742188 10.148438 2.742188 Z M 10.148438 2.742188 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(14.901961%,15.294118%,16.470588%);fill-opacity:1;" d="M 4.699219 2.742188 L 3.984375 2.742188 C 3.179688 2.742188 2.53125 3.390625 2.53125 4.195312 L 2.53125 4.910156 L 4.699219 4.910156 Z M 4.699219 2.742188 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(14.901961%,15.294118%,16.470588%);fill-opacity:1;" d="M 2.53125 6.207031 L 4.699219 6.207031 L 4.699219 8.371094 L 2.53125 8.371094 Z M 2.53125 6.207031 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(14.901961%,15.294118%,16.470588%);fill-opacity:1;" d="M 9.457031 11.8125 L 10.171875 11.8125 C 10.976562 11.8125 11.625 11.167969 11.625 10.363281 L 11.625 9.667969 L 9.457031 9.667969 Z M 9.457031 11.8125 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(14.901961%,15.294118%,16.470588%);fill-opacity:1;" d="M 5.992188 9.667969 L 8.160156 9.667969 L 8.160156 11.835938 L 5.992188 11.835938 Z M 5.992188 9.667969 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(14.901961%,15.294118%,16.470588%);fill-opacity:1;" d="M 2.53125 9.667969 L 2.53125 10.382812 C 2.53125 11.1875 3.179688 11.835938 3.984375 11.835938 L 4.699219 11.835938 L 4.699219 9.667969 Z M 2.53125 9.667969 "/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

78
src/main/resources/image/passport-icon-invert.svg

@ -0,0 +1,78 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="15px" height="15px" viewBox="0 0 15 15" version="1.1">
<defs>
<filter id="alpha" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
<feColorMatrix type="matrix" in="SourceGraphic" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0"/>
</filter>
<mask id="mask0">
<g filter="url(#alpha)">
<rect x="0" y="0" width="15" height="15" style="fill:rgb(0%,0%,0%);fill-opacity:0.25098;stroke:none;"/>
</g>
</mask>
<linearGradient id="linear0" gradientUnits="userSpaceOnUse" x1="249.261" y1="425.334" x2="250.35" y2="56.5871" gradientTransform="matrix(0.03,0,0,0.03,0,0)">
<stop offset="0.216102" style="stop-color:rgb(100%,100%,100%);stop-opacity:0;"/>
<stop offset="1" style="stop-color:rgb(100%,100%,100%);stop-opacity:1;"/>
</linearGradient>
<clipPath id="clip1">
<rect x="0" y="0" width="15" height="15"/>
</clipPath>
<g id="surface5" clip-path="url(#clip1)">
<path style=" stroke:none;fill-rule:nonzero;fill:url(#linear0);" d="M 7.476562 10.328125 L 2.625 10.328125 L 7.476562 1.703125 Z M 7.476562 10.328125 "/>
</g>
<radialGradient id="radial0" gradientUnits="userSpaceOnUse" cx="0" cy="0" fx="0" fy="0" r="1" gradientTransform="matrix(-6.00324,-0.00000052482,0.00000052728,-6.03138,7.51131,7.46034)">
<stop offset="0.5" style="stop-color:rgb(73.333333%,73.333333%,73.333333%);stop-opacity:1;"/>
<stop offset="0.75" style="stop-color:rgb(87.058824%,87.058824%,87.058824%);stop-opacity:1;"/>
<stop offset="1" style="stop-color:rgb(98.039216%,98.039216%,98.039216%);stop-opacity:1;"/>
</radialGradient>
<radialGradient id="radial1" gradientUnits="userSpaceOnUse" cx="0" cy="0" fx="0" fy="0" r="1" gradientTransform="matrix(-6.00195,-0.000000524706,0.000000527166,-6.03009,7.50162,7.47009)">
<stop offset="0.5" style="stop-color:rgb(98.039216%,98.039216%,98.039216%);stop-opacity:1;"/>
<stop offset="0.75" style="stop-color:rgb(87.058824%,87.058824%,87.058824%);stop-opacity:1;"/>
<stop offset="1" style="stop-color:rgb(73.333333%,73.333333%,73.333333%);stop-opacity:1;"/>
</radialGradient>
<radialGradient id="radial2" gradientUnits="userSpaceOnUse" cx="0" cy="0" fx="0" fy="0" r="1" gradientTransform="matrix(-6.01059,-0.000000525462,0.000000527925,-6.03876,7.49682,7.46766)">
<stop offset="0.5" style="stop-color:rgb(98.039216%,98.039216%,98.039216%);stop-opacity:1;"/>
<stop offset="0.75" style="stop-color:rgb(87.058824%,87.058824%,87.058824%);stop-opacity:1;"/>
<stop offset="1" style="stop-color:rgb(73.333333%,73.333333%,73.333333%);stop-opacity:1;"/>
</radialGradient>
<clipPath id="clip2">
<path d="M 1 1 L 14 1 L 14 14 L 1 14 Z M 1 1 "/>
</clipPath>
<clipPath id="clip3">
<path d="M 6.773438 1.5 C 6.730469 1.5 6.679688 1.503906 6.625 1.515625 C 4.878906 1.789062 3.261719 2.800781 2.308594 4.457031 C 1.359375 6.113281 1.292969 8.027344 1.929688 9.683594 C 2.089844 10.097656 2.324219 10.121094 2.550781 9.726562 C 3.644531 7.796875 6.96875 2.03125 6.96875 2.03125 C 7.171875 1.6875 7.09375 1.496094 6.773438 1.5 Z M 8.238281 1.5 C 7.921875 1.496094 7.84375 1.683594 8.042969 2.03125 C 9.15625 3.949219 12.464844 9.726562 12.464844 9.726562 C 12.6875 10.125 12.921875 10.101562 13.082031 9.683594 C 13.71875 8.027344 13.65625 6.113281 12.703125 4.457031 C 11.75 2.800781 10.132812 1.789062 8.390625 1.515625 C 8.332031 1.503906 8.28125 1.5 8.238281 1.5 Z M 3.085938 10.660156 C 2.628906 10.652344 2.53125 10.871094 2.8125 11.21875 C 3.921875 12.597656 5.605469 13.5 7.507812 13.5 C 9.410156 13.5 11.09375 12.597656 12.203125 11.21875 C 12.480469 10.871094 12.382812 10.65625 11.929688 10.660156 C 9.71875 10.667969 3.085938 10.660156 3.085938 10.660156 Z M 3.085938 10.660156 "/>
</clipPath>
<mask id="mask1">
<g filter="url(#alpha)">
<rect x="0" y="0" width="15" height="15" style="fill:rgb(0%,0%,0%);fill-opacity:0.25098;stroke:none;"/>
</g>
</mask>
<clipPath id="clip4">
<rect x="0" y="0" width="15" height="15"/>
</clipPath>
<g id="surface8" clip-path="url(#clip4)">
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 11.707031 5.019531 C 12.511719 6.421875 13.066406 8.058594 13.082031 9.667969 C 13.71875 8.015625 13.65625 6.097656 12.703125 4.441406 C 11.75 2.785156 10.132812 1.773438 8.386719 1.5 C 9.769531 2.320312 10.902344 3.617188 11.707031 5.019531 Z M 2.308594 4.441406 C 3.261719 2.785156 4.878906 1.773438 6.625 1.5 C 5.242188 2.320312 4.113281 3.617188 3.304688 5.019531 C 2.5 6.421875 1.945312 8.058594 1.929688 9.667969 C 1.292969 8.011719 1.359375 6.097656 2.308594 4.441406 Z M 3.085938 10.644531 C 3.085938 10.644531 9.71875 10.652344 11.929688 10.644531 C 10.566406 11.378906 9.050781 11.804688 7.507812 11.804688 C 5.964844 11.804688 4.445312 11.378906 3.085938 10.644531 Z M 3.085938 10.644531 "/>
</g>
<mask id="mask2">
<g filter="url(#alpha)">
<rect x="0" y="0" width="15" height="15" style="fill:rgb(0%,0%,0%);fill-opacity:0.2;stroke:none;"/>
</g>
</mask>
<clipPath id="clip5">
<rect x="0" y="0" width="15" height="15"/>
</clipPath>
<g id="surface11" clip-path="url(#clip5)">
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;" d="M 7.507812 12.332031 C 5.894531 12.332031 4.207031 11.996094 2.8125 11.203125 C 3.921875 12.585938 5.601562 13.484375 7.507812 13.484375 C 9.410156 13.484375 11.09375 12.585938 12.199219 11.203125 C 10.804688 11.996094 9.117188 12.332031 7.507812 12.332031 Z M 11.253906 5.285156 C 12.023438 6.625 12.417969 8.160156 12.464844 9.710938 C 12.464844 9.710938 9.15625 3.933594 8.042969 2.015625 C 9.355469 2.832031 10.480469 3.941406 11.253906 5.285156 Z M 6.96875 2.015625 C 6.96875 2.015625 3.644531 7.78125 2.550781 9.710938 C 2.597656 8.160156 2.988281 6.625 3.757812 5.285156 C 4.53125 3.941406 5.65625 2.832031 6.96875 2.015625 Z M 6.96875 2.015625 "/>
</g>
</defs>
<g id="surface1">
<use xlink:href="#surface5" mask="url(#mask0)"/>
<path style=" stroke:none;fill-rule:nonzero;fill:url(#radial0);" d="M 3.074219 10.65625 C 2.617188 10.652344 2.519531 10.871094 2.800781 11.21875 C 3.910156 12.597656 5.589844 13.5 7.496094 13.5 C 9.398438 13.5 11.082031 12.597656 12.1875 11.21875 C 12.46875 10.871094 12.371094 10.65625 11.917969 10.65625 C 9.703125 10.667969 3.074219 10.65625 3.074219 10.65625 Z M 3.074219 10.65625 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:url(#radial1);" d="M 2.535156 9.726562 C 2.3125 10.121094 2.078125 10.097656 1.917969 9.683594 C 1.28125 8.027344 1.34375 6.113281 2.296875 4.457031 C 3.25 2.800781 4.867188 1.789062 6.613281 1.515625 C 7.050781 1.445312 7.191406 1.636719 6.957031 2.03125 C 6.957031 2.03125 3.632812 7.796875 2.535156 9.726562 Z M 2.535156 9.726562 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:url(#radial2);" d="M 8.03125 2.03125 C 7.800781 1.636719 7.9375 1.445312 8.375 1.515625 C 10.121094 1.789062 11.738281 2.800781 12.691406 4.457031 C 13.644531 6.113281 13.707031 8.027344 13.070312 9.683594 C 12.910156 10.101562 12.675781 10.121094 12.449219 9.726562 C 12.449219 9.726562 9.144531 3.949219 8.03125 2.03125 Z M 8.03125 2.03125 "/>
<g clip-path="url(#clip2)" clip-rule="nonzero">
<g clip-path="url(#clip3)" clip-rule="evenodd">
<use xlink:href="#surface8" mask="url(#mask1)"/>
<use xlink:href="#surface11" mask="url(#mask2)"/>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 7.2 KiB

78
src/main/resources/image/passport-icon.svg

@ -0,0 +1,78 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="15px" height="15px" viewBox="0 0 15 15" version="1.1">
<defs>
<filter id="alpha" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
<feColorMatrix type="matrix" in="SourceGraphic" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0"/>
</filter>
<mask id="mask0">
<g filter="url(#alpha)">
<rect x="0" y="0" width="15" height="15" style="fill:rgb(0%,0%,0%);fill-opacity:0.501961;stroke:none;"/>
</g>
</mask>
<linearGradient id="linear0" gradientUnits="userSpaceOnUse" x1="250.739" y1="425.334" x2="249.65" y2="56.5871" gradientTransform="matrix(0.025,0,0,0.025,1.184508,1.206055)">
<stop offset="0.216102" style="stop-color:rgb(100%,100%,100%);stop-opacity:0;"/>
<stop offset="1" style="stop-color:rgb(0%,0%,0%);stop-opacity:1;"/>
</linearGradient>
<clipPath id="clip1">
<rect x="0" y="0" width="15" height="15"/>
</clipPath>
<g id="surface5" clip-path="url(#clip1)">
<path style=" stroke:none;fill-rule:nonzero;fill:url(#linear0);" d="M 7.453125 9.8125 L 11.496094 9.8125 L 7.453125 2.625 Z M 7.453125 9.8125 "/>
</g>
<radialGradient id="radial0" gradientUnits="userSpaceOnUse" cx="0" cy="0" fx="0" fy="0" r="1" gradientTransform="matrix(5.0027,0,0,5.02615,7.425075,7.423)">
<stop offset="0.505613" style="stop-color:rgb(20.392157%,20.392157%,20%);stop-opacity:1;"/>
<stop offset="0.779241" style="stop-color:rgb(49.019608%,49.019608%,49.019608%);stop-opacity:1;"/>
<stop offset="1" style="stop-color:rgb(90.196078%,88.235294%,87.843137%);stop-opacity:1;"/>
</radialGradient>
<radialGradient id="radial1" gradientUnits="userSpaceOnUse" cx="0" cy="0" fx="0" fy="0" r="1" gradientTransform="matrix(5.001625,0,0,5.025075,7.43315,7.431125)">
<stop offset="0.5" style="stop-color:rgb(98.039216%,98.039216%,98.039216%);stop-opacity:1;"/>
<stop offset="0.75" style="stop-color:rgb(87.058824%,87.058824%,87.058824%);stop-opacity:1;"/>
<stop offset="1" style="stop-color:rgb(16.862745%,16.862745%,16.862745%);stop-opacity:1;"/>
</radialGradient>
<radialGradient id="radial2" gradientUnits="userSpaceOnUse" cx="0" cy="0" fx="0" fy="0" r="1" gradientTransform="matrix(5.008825,0,0,5.0323,7.43715,7.4291)">
<stop offset="0.5" style="stop-color:rgb(96.862745%,95.294118%,94.901961%);stop-opacity:1;"/>
<stop offset="0.75" style="stop-color:rgb(87.058824%,87.058824%,87.058824%);stop-opacity:1;"/>
<stop offset="1" style="stop-color:rgb(21.176471%,21.176471%,21.176471%);stop-opacity:1;"/>
</radialGradient>
<clipPath id="clip2">
<path d="M 2 2 L 13 2 L 13 13 L 2 13 Z M 2 2 "/>
</clipPath>
<clipPath id="clip3">
<path d="M 6.820312 2.457031 C 6.78125 2.457031 6.738281 2.460938 6.695312 2.46875 C 5.238281 2.695312 3.890625 3.539062 3.097656 4.921875 C 2.304688 6.300781 2.253906 7.898438 2.78125 9.277344 C 2.917969 9.625 3.109375 9.640625 3.296875 9.3125 C 3.296875 9.3125 6.054688 4.496094 6.980469 2.898438 C 7.148438 2.609375 7.082031 2.453125 6.820312 2.457031 Z M 8.039062 2.457031 C 7.773438 2.453125 7.707031 2.613281 7.875 2.898438 C 7.875 2.898438 10.648438 7.703125 11.558594 9.3125 C 11.746094 9.640625 11.941406 9.621094 12.074219 9.277344 C 12.605469 7.898438 12.554688 6.300781 11.757812 4.921875 C 10.964844 3.539062 9.617188 2.695312 8.164062 2.46875 C 8.117188 2.460938 8.078125 2.457031 8.039062 2.457031 Z M 3.742188 10.089844 C 3.363281 10.085938 3.285156 10.265625 3.515625 10.554688 C 4.441406 11.703125 5.84375 12.457031 7.429688 12.457031 C 9.015625 12.457031 10.417969 11.703125 11.339844 10.554688 C 11.574219 10.265625 11.492188 10.085938 11.113281 10.089844 C 11.113281 10.089844 5.585938 10.097656 3.742188 10.089844 Z M 3.742188 10.089844 "/>
</clipPath>
<mask id="mask1">
<g filter="url(#alpha)">
<rect x="0" y="0" width="15" height="15" style="fill:rgb(0%,0%,0%);fill-opacity:0.25098;stroke:none;"/>
</g>
</mask>
<clipPath id="clip4">
<rect x="0" y="0" width="15" height="15"/>
</clipPath>
<g id="surface8" clip-path="url(#clip4)">
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 3.929688 5.390625 C 3.257812 6.558594 2.796875 7.921875 2.78125 9.261719 C 2.253906 7.882812 2.304688 6.289062 3.097656 4.910156 C 3.890625 3.527344 5.242188 2.683594 6.695312 2.457031 C 5.542969 3.136719 4.601562 4.222656 3.929688 5.390625 Z M 11.757812 4.910156 C 10.964844 3.527344 9.617188 2.683594 8.164062 2.457031 C 9.316406 3.136719 10.257812 4.222656 10.929688 5.390625 C 11.601562 6.558594 12.0625 7.921875 12.074219 9.261719 C 12.605469 7.882812 12.554688 6.289062 11.757812 4.910156 Z M 11.113281 10.074219 C 11.113281 10.074219 5.585938 10.085938 3.746094 10.074219 C 4.878906 10.6875 6.144531 11.042969 7.429688 11.042969 C 8.714844 11.042969 9.980469 10.6875 11.113281 10.074219 Z M 11.113281 10.074219 "/>
</g>
<mask id="mask2">
<g filter="url(#alpha)">
<rect x="0" y="0" width="15" height="15" style="fill:rgb(0%,0%,0%);fill-opacity:0.2;stroke:none;"/>
</g>
</mask>
<clipPath id="clip5">
<rect x="0" y="0" width="15" height="15"/>
</clipPath>
<g id="surface11" clip-path="url(#clip5)">
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;" d="M 7.429688 11.480469 C 8.773438 11.480469 10.175781 11.203125 11.339844 10.542969 C 10.417969 11.691406 9.015625 12.445312 7.429688 12.445312 C 5.84375 12.445312 4.441406 11.691406 3.515625 10.542969 C 4.679688 11.203125 6.085938 11.480469 7.429688 11.480469 Z M 4.304688 5.609375 C 3.664062 6.726562 3.335938 8.007812 3.296875 9.296875 C 3.296875 9.296875 6.054688 4.484375 6.984375 2.886719 C 5.886719 3.566406 4.949219 4.492188 4.304688 5.609375 Z M 7.875 2.886719 C 7.875 2.886719 10.648438 7.691406 11.558594 9.296875 C 11.519531 8.007812 11.195312 6.726562 10.550781 5.609375 C 9.910156 4.492188 8.96875 3.566406 7.875 2.886719 Z M 7.875 2.886719 "/>
</g>
</defs>
<g id="surface1">
<use xlink:href="#surface5" mask="url(#mask0)"/>
<path style=" stroke:none;fill-rule:nonzero;fill:url(#radial0);" d="M 11.125 10.085938 C 11.503906 10.085938 11.585938 10.265625 11.351562 10.554688 C 10.425781 11.703125 9.023438 12.457031 7.4375 12.457031 C 5.851562 12.457031 4.449219 11.703125 3.527344 10.554688 C 3.292969 10.265625 3.375 10.085938 3.753906 10.085938 C 5.597656 10.097656 11.125 10.085938 11.125 10.085938 Z M 11.125 10.085938 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:url(#radial1);" d="M 11.570312 9.308594 C 11.757812 9.640625 11.953125 9.621094 12.085938 9.277344 C 12.617188 7.898438 12.5625 6.300781 11.769531 4.921875 C 10.976562 3.539062 9.628906 2.695312 8.175781 2.46875 C 7.808594 2.410156 7.691406 2.570312 7.886719 2.898438 C 7.886719 2.898438 10.65625 7.703125 11.570312 9.308594 Z M 11.570312 9.308594 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:url(#radial2);" d="M 6.992188 2.898438 C 7.183594 2.570312 7.070312 2.410156 6.703125 2.46875 C 5.25 2.695312 3.902344 3.539062 3.109375 4.921875 C 2.316406 6.300781 2.261719 7.898438 2.792969 9.277344 C 2.925781 9.625 3.121094 9.640625 3.308594 9.308594 C 3.308594 9.308594 6.066406 4.496094 6.992188 2.898438 Z M 6.992188 2.898438 "/>
<g clip-path="url(#clip2)" clip-rule="nonzero">
<g clip-path="url(#clip3)" clip-rule="evenodd">
<use xlink:href="#surface8" mask="url(#mask1)"/>
<use xlink:href="#surface11" mask="url(#mask2)"/>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 7.2 KiB

6
src/main/resources/image/trezor-icon-invert.svg

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="15px" height="15px" viewBox="0 0 15 15" version="1.1">
<g id="surface1">
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(86.666667%,85.490196%,85.490196%);fill-opacity:1;" d="M 7.433594 1.984375 C 5.949219 1.984375 4.746094 3.1875 4.746094 4.671875 L 4.746094 5.679688 C 4.222656 5.777344 3.699219 5.902344 3.699219 6.066406 L 3.699219 11.324219 C 3.699219 11.324219 3.699219 11.472656 3.863281 11.539062 C 4.457031 11.78125 6.785156 12.605469 7.324219 12.792969 C 7.390625 12.820312 7.410156 12.820312 7.429688 12.820312 C 7.453125 12.820312 7.464844 12.820312 7.535156 12.792969 C 8.070312 12.605469 10.40625 11.78125 11 11.539062 C 11.152344 11.476562 11.15625 11.332031 11.15625 11.332031 L 11.15625 6.066406 C 11.15625 5.902344 10.640625 5.769531 10.117188 5.679688 L 10.117188 4.671875 C 10.125 3.1875 8.914062 1.984375 7.433594 1.984375 Z M 7.433594 3.269531 C 8.3125 3.269531 8.839844 3.796875 8.839844 4.675781 L 8.839844 5.550781 C 7.859375 5.480469 7.019531 5.480469 6.03125 5.550781 L 6.03125 4.675781 C 6.03125 3.796875 6.558594 3.269531 7.433594 3.269531 Z M 7.429688 6.839844 C 8.652344 6.839844 9.675781 6.933594 9.675781 7.105469 L 9.675781 10.386719 C 9.675781 10.4375 9.671875 10.445312 9.625 10.460938 C 9.582031 10.480469 7.542969 11.21875 7.542969 11.21875 C 7.542969 11.21875 7.457031 11.242188 7.433594 11.242188 C 7.410156 11.242188 7.328125 11.210938 7.328125 11.210938 C 7.328125 11.210938 5.285156 10.476562 5.242188 10.457031 C 5.199219 10.4375 5.191406 10.429688 5.191406 10.378906 L 5.191406 7.097656 C 5.179688 6.929688 6.207031 6.839844 7.429688 6.839844 Z M 7.429688 6.839844 "/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

6
src/main/resources/image/trezor-icon.svg

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="15px" height="15px" viewBox="0 0 15 15" version="1.1">
<g id="surface1">
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(13.72549%,13.333333%,13.333333%);fill-opacity:1;" d="M 7.433594 1.984375 C 5.949219 1.984375 4.746094 3.1875 4.746094 4.671875 L 4.746094 5.679688 C 4.222656 5.777344 3.699219 5.902344 3.699219 6.066406 L 3.699219 11.324219 C 3.699219 11.324219 3.699219 11.472656 3.863281 11.539062 C 4.457031 11.78125 6.785156 12.605469 7.324219 12.792969 C 7.390625 12.820312 7.410156 12.820312 7.429688 12.820312 C 7.453125 12.820312 7.464844 12.820312 7.535156 12.792969 C 8.070312 12.605469 10.40625 11.78125 11 11.539062 C 11.152344 11.476562 11.15625 11.332031 11.15625 11.332031 L 11.15625 6.066406 C 11.15625 5.902344 10.640625 5.769531 10.117188 5.679688 L 10.117188 4.671875 C 10.125 3.1875 8.914062 1.984375 7.433594 1.984375 Z M 7.433594 3.269531 C 8.3125 3.269531 8.839844 3.796875 8.839844 4.675781 L 8.839844 5.550781 C 7.859375 5.480469 7.019531 5.480469 6.03125 5.550781 L 6.03125 4.675781 C 6.03125 3.796875 6.558594 3.269531 7.433594 3.269531 Z M 7.429688 6.839844 C 8.652344 6.839844 9.675781 6.933594 9.675781 7.105469 L 9.675781 10.386719 C 9.675781 10.4375 9.671875 10.445312 9.625 10.460938 C 9.582031 10.480469 7.542969 11.21875 7.542969 11.21875 C 7.542969 11.21875 7.457031 11.242188 7.433594 11.242188 C 7.410156 11.242188 7.328125 11.210938 7.328125 11.210938 C 7.328125 11.210938 5.285156 10.476562 5.242188 10.457031 C 5.199219 10.4375 5.191406 10.429688 5.191406 10.378906 L 5.191406 7.097656 C 5.179688 6.929688 6.207031 6.839844 7.429688 6.839844 Z M 7.429688 6.839844 "/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

Loading…
Cancel
Save