diff --git a/js/components/Skin.js b/js/components/Skin.js
index a1b9b088..09d723af 100644
--- a/js/components/Skin.js
+++ b/js/components/Skin.js
@@ -119,6 +119,12 @@ const imageSelectors = {
"#equalizer-balance.right::-webkit-slider-thumb",
"#equalizer-balance.right::-moz-range-thumb"
],
+ EQ_MAXIMIZE_BUTTON_ACTIVE: ["#equalizer-shade:active"],
+ EQ_MINIMIZE_BUTTON_ACTIVE: [
+ "#equalizer-window.shade #equalizer-shade:active"
+ ],
+ EQ_CLOSE_BUTTON: ["#equalizer-window.selected #equalizer-close"],
+ EQ_CLOSE_BUTTON_ACTIVE: ["#equalizer-window #equalizer-close:active"],
MAIN_POSITION_SLIDER_BACKGROUND: ["#position"],
MAIN_POSITION_SLIDER_THUMB: [
"#position::-webkit-slider-thumb",
diff --git a/js/skinExplorer.js b/js/skinExplorer.js
new file mode 100644
index 00000000..59bcff14
--- /dev/null
+++ b/js/skinExplorer.js
@@ -0,0 +1,31 @@
+import "babel-polyfill";
+import React from "react";
+import { render } from "react-dom";
+import { skinUrl } from "./config";
+import MyFile from "./myFile";
+import skinParser from "./skinParser";
+
+const skinFile = new MyFile();
+skinFile.setUrl(skinUrl);
+
+const SkinTable = props => (
+
+ {Object.keys(props.images)
+ .sort()
+ .map(key => (
+
+ | {key} |
+
+
+ |
+
+ ))}
+
+);
+
+const parse = async () => {
+ const skinData = await skinParser(skinFile);
+ render(, document.getElementById("skin"));
+};
+
+parse();
diff --git a/js/skinSprites.js b/js/skinSprites.js
index 2044ebb9..e15e16f7 100644
--- a/js/skinSprites.js
+++ b/js/skinSprites.js
@@ -229,7 +229,6 @@ export default {
{ name: "EQ_SHADE_VOLUME_SLIDER_LEFT", x: 1, y: 30, width: 2, height: 7 },
{ name: "EQ_SHADE_VOLUME_SLIDER_CENTER", x: 3, y: 30, width: 5, height: 7 },
{ name: "EQ_SHADE_VOLUME_SLIDER_RIGHT", x: 8, y: 30, width: 2, height: 7 },
- // TODO
{ name: "EQ_SHADE_BALANCE_SLIDER_LEFT", x: 11, y: 30, width: 2, height: 7 },
{
name: "EQ_SHADE_BALANCE_SLIDER_CENTER",
@@ -238,7 +237,17 @@ export default {
width: 5,
height: 7
},
- { name: "EQ_SHADE_BALANCE_SLIDER_RIGHT", x: 18, y: 30, width: 2, height: 7 }
+ {
+ name: "EQ_SHADE_BALANCE_SLIDER_RIGHT",
+ x: 18,
+ y: 30,
+ width: 2,
+ height: 7
+ },
+ { name: "EQ_MAXIMIZE_BUTTON_ACTIVE", x: 1, y: 38, width: 9, height: 9 },
+ { name: "EQ_MINIMIZE_BUTTON_ACTIVE", x: 1, y: 47, width: 9, height: 9 },
+ { name: "EQ_CLOSE_BUTTON", x: 11, y: 38, width: 9, height: 9 },
+ { name: "EQ_CLOSE_BUTTON_ACTIVE", x: 11, y: 47, width: 9, height: 9 }
],
EQMAIN: [
{ name: "EQ_WINDOW_BACKGROUND", x: 0, y: 0, width: 275, height: 116 },
diff --git a/skin.html b/skin.html
new file mode 100755
index 00000000..504a3ac6
--- /dev/null
+++ b/skin.html
@@ -0,0 +1,12 @@
+
+
+
+ Winamp2 Skin Explorer
+
+
+
+
+
+
+
+
diff --git a/webpack.config.js b/webpack.config.js
index 8b0d3b13..4393c56e 100644
--- a/webpack.config.js
+++ b/webpack.config.js
@@ -29,9 +29,12 @@ module.exports = {
],
noParse: [/jszip\.js$/]
},
- entry: ["./js/index.js"],
+ entry: {
+ winamp: "./js/index.js",
+ skinExplorer: "./js/skinExplorer.js"
+ },
output: {
- filename: "winamp.js",
+ filename: "[name].js",
publicPath: "/built/",
path: path.resolve(__dirname, "built")
}