From b4e927f53945094847b41d62bdf523e05e7cbea6 Mon Sep 17 00:00:00 2001 From: Nathan Sweet Date: Sun, 26 Mar 2017 09:14:10 +0900 Subject: [PATCH] Added multiple mixing checkbox to the Skeleton Viewer. --- .../spine/SkeletonViewer.java | 26 ++++++++++++++----- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/spine-libgdx/spine-skeletonviewer/src/com/esotericsoftware/spine/SkeletonViewer.java b/spine-libgdx/spine-skeletonviewer/src/com/esotericsoftware/spine/SkeletonViewer.java index fc378cbc6..adde34b8a 100644 --- a/spine-libgdx/spine-skeletonviewer/src/com/esotericsoftware/spine/SkeletonViewer.java +++ b/spine-libgdx/spine-skeletonviewer/src/com/esotericsoftware/spine/SkeletonViewer.java @@ -379,6 +379,7 @@ public class SkeletonViewer extends ApplicationAdapter { List skinList = new List(skin); ScrollPane skinScroll = new ScrollPane(skinList, skin, "bg"); CheckBox loopCheckbox = new CheckBox("Loop", skin); + CheckBox multipleMixingCheckbox = new CheckBox("Multiple mixing", skin); CheckBox premultipliedCheckbox = new CheckBox("Premultiplied", skin); Slider mixSlider = new Slider(0, 4, 0.01f, false, skin); Label mixLabel = new Label("0.3", skin); @@ -517,13 +518,6 @@ public class SkeletonViewer extends ApplicationAdapter { } root.add("Animation:"); root.add(animationScroll).expand().fill().row(); - root.add("Default mix:"); - { - Table table = table(); - table.add(mixLabel).width(29); - table.add(mixSlider).fillX().expandX(); - root.add(table).fill().row(); - } root.add("Speed:"); { Table table = table(); @@ -532,6 +526,15 @@ public class SkeletonViewer extends ApplicationAdapter { table.add(speedResetButton); root.add(table).fill().row(); } + root.add(); + root.add(multipleMixingCheckbox).row(); + root.add("Default mix:"); + { + Table table = table(); + table.add(mixLabel).width(29); + table.add(mixSlider).fillX().expandX(); + root.add(table).fill().row(); + } window.add(root).expand().fill(); window.pack(); @@ -697,6 +700,12 @@ public class SkeletonViewer extends ApplicationAdapter { } }); + multipleMixingCheckbox.addListener(new ChangeListener() { + public void changed (ChangeEvent event, Actor actor) { + state.setMultipleMixing(multipleMixingCheckbox.isChecked()); + } + }); + skinList.addListener(new ChangeListener() { public void changed (ChangeEvent event, Actor actor) { if (skeleton != null) { @@ -776,6 +785,7 @@ public class SkeletonViewer extends ApplicationAdapter { debugPointsCheckbox.addListener(savePrefsListener); premultipliedCheckbox.addListener(savePrefsListener); loopCheckbox.addListener(savePrefsListener); + multipleMixingCheckbox.addListener(savePrefsListener); speedSlider.addListener(savePrefsListener); speedResetButton.addListener(savePrefsListener); mixSlider.addListener(savePrefsListener); @@ -839,6 +849,7 @@ public class SkeletonViewer extends ApplicationAdapter { prefs.putBoolean("debugPoints", debugPointsCheckbox.isChecked()); prefs.putBoolean("premultiplied", premultipliedCheckbox.isChecked()); prefs.putBoolean("loop", loopCheckbox.isChecked()); + prefs.putBoolean("multipleMixing", multipleMixingCheckbox.isChecked()); prefs.putFloat("speed", speedSlider.getValue()); prefs.putFloat("mix", mixSlider.getValue()); prefs.putFloat("scale", scaleSlider.getValue()); @@ -864,6 +875,7 @@ public class SkeletonViewer extends ApplicationAdapter { debugPointsCheckbox.setChecked(prefs.getBoolean("debugPoints", true)); premultipliedCheckbox.setChecked(prefs.getBoolean("premultiplied", true)); loopCheckbox.setChecked(prefs.getBoolean("loop", false)); + multipleMixingCheckbox.setChecked(prefs.getBoolean("multipleMixing", false)); speedSlider.setValue(prefs.getFloat("speed", 0.3f)); mixSlider.setValue(prefs.getFloat("mix", 0.3f));