mirror of
https://github.com/HMCL-dev/HMCL.git
synced 2025-09-10 12:26:16 -04:00
fix: style.
This commit is contained in:
parent
ace8be3df4
commit
d075dd27bc
@ -1,10 +1,5 @@
|
|||||||
package moe.mickey.minecraft.skin.fx;
|
package moe.mickey.minecraft.skin.fx;
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.io.FileInputStream;
|
|
||||||
import java.io.FileNotFoundException;
|
|
||||||
import java.util.function.Consumer;
|
|
||||||
|
|
||||||
import javafx.application.Platform;
|
import javafx.application.Platform;
|
||||||
import javafx.scene.Scene;
|
import javafx.scene.Scene;
|
||||||
import javafx.scene.image.Image;
|
import javafx.scene.image.Image;
|
||||||
@ -15,104 +10,109 @@ import javafx.scene.input.TransferMode;
|
|||||||
import javafx.stage.Stage;
|
import javafx.stage.Stage;
|
||||||
import moe.mickey.minecraft.skin.fx.test.Test;
|
import moe.mickey.minecraft.skin.fx.test.Test;
|
||||||
|
|
||||||
public abstract class SkinCanvasSupport implements Consumer<SkinCanvas> {
|
import java.io.File;
|
||||||
|
import java.io.FileInputStream;
|
||||||
public static final class Mouse extends SkinCanvasSupport {
|
import java.io.FileNotFoundException;
|
||||||
|
import java.util.function.Consumer;
|
||||||
private double lastX, lastY, sensitivity;
|
|
||||||
|
public abstract class SkinCanvasSupport implements Consumer<SkinCanvas> {
|
||||||
public void setSensitivity(double sensitivity) {
|
|
||||||
this.sensitivity = sensitivity;
|
public static final class Mouse extends SkinCanvasSupport {
|
||||||
}
|
|
||||||
|
private double lastX, lastY, sensitivity;
|
||||||
public double getSensitivity() {
|
|
||||||
return sensitivity;
|
public void setSensitivity(double sensitivity) {
|
||||||
}
|
this.sensitivity = sensitivity;
|
||||||
|
}
|
||||||
public Mouse(double sensitivity) {
|
|
||||||
this.sensitivity = sensitivity;
|
public double getSensitivity() {
|
||||||
}
|
return sensitivity;
|
||||||
|
}
|
||||||
@Override
|
|
||||||
public void accept(SkinCanvas t) {
|
public Mouse(double sensitivity) {
|
||||||
t.addEventHandler(MouseEvent.MOUSE_PRESSED, e -> {
|
this.sensitivity = sensitivity;
|
||||||
lastX = -1;
|
}
|
||||||
lastY = -1;
|
|
||||||
});
|
@Override
|
||||||
t.addEventHandler(MouseEvent.MOUSE_DRAGGED, e -> {
|
public void accept(SkinCanvas t) {
|
||||||
if (!(lastX == -1 || lastY == -1)) {
|
t.addEventHandler(MouseEvent.MOUSE_PRESSED, e -> {
|
||||||
if (e.isAltDown() || e.isControlDown() || e.isShiftDown()) {
|
lastX = -1;
|
||||||
if (e.isShiftDown())
|
lastY = -1;
|
||||||
t.zRotate.setAngle(t.zRotate.getAngle() - (e.getSceneY() - lastY) * sensitivity);
|
});
|
||||||
if (e.isAltDown())
|
t.addEventHandler(MouseEvent.MOUSE_DRAGGED, e -> {
|
||||||
t.yRotate.setAngle(t.yRotate.getAngle() + (e.getSceneX() - lastX) * sensitivity);
|
if (!(lastX == -1 || lastY == -1)) {
|
||||||
if (e.isControlDown())
|
if (e.isAltDown() || e.isControlDown() || e.isShiftDown()) {
|
||||||
t.xRotate.setAngle(t.xRotate.getAngle() + (e.getSceneY() - lastY) * sensitivity);
|
if (e.isShiftDown())
|
||||||
} else {
|
t.zRotate.setAngle(t.zRotate.getAngle() - (e.getSceneY() - lastY) * sensitivity);
|
||||||
double yaw = t.yRotate.getAngle() + (e.getSceneX() - lastX) * sensitivity;
|
if (e.isAltDown())
|
||||||
yaw %= 360;
|
t.yRotate.setAngle(t.yRotate.getAngle() + (e.getSceneX() - lastX) * sensitivity);
|
||||||
if (yaw < 0)
|
if (e.isControlDown())
|
||||||
yaw += 360;
|
t.xRotate.setAngle(t.xRotate.getAngle() + (e.getSceneY() - lastY) * sensitivity);
|
||||||
|
} else {
|
||||||
int flagX = yaw < 90 || yaw > 270 ? 1 : -1;
|
double yaw = t.yRotate.getAngle() + (e.getSceneX() - lastX) * sensitivity;
|
||||||
int flagZ = yaw < 180 ? -1 : 1;
|
yaw %= 360;
|
||||||
double kx = Math.abs(90 - yaw % 180) / 90 * flagX, kz = Math.abs(90 - (yaw + 90) % 180) / 90 * flagZ;
|
if (yaw < 0)
|
||||||
|
yaw += 360;
|
||||||
t.xRotate.setAngle(t.xRotate.getAngle() + (e.getSceneY() - lastY) * sensitivity * kx);
|
|
||||||
t.yRotate.setAngle(yaw);
|
int flagX = yaw < 90 || yaw > 270 ? 1 : -1;
|
||||||
t.zRotate.setAngle(t.zRotate.getAngle() + (e.getSceneY() - lastY) * sensitivity * kz);
|
int flagZ = yaw < 180 ? -1 : 1;
|
||||||
}
|
double kx = Math.abs(90 - yaw % 180) / 90 * flagX, kz = Math.abs(90 - (yaw + 90) % 180) / 90 * flagZ;
|
||||||
}
|
|
||||||
lastX = e.getSceneX();
|
t.xRotate.setAngle(t.xRotate.getAngle() + (e.getSceneY() - lastY) * sensitivity * kx);
|
||||||
lastY = e.getSceneY();
|
t.yRotate.setAngle(yaw);
|
||||||
});
|
t.zRotate.setAngle(t.zRotate.getAngle() + (e.getSceneY() - lastY) * sensitivity * kz);
|
||||||
t.addEventHandler(ScrollEvent.SCROLL, e -> {
|
}
|
||||||
double delta = (e.getDeltaY() > 0 ? 1 : e.getDeltaY() == 0 ? 0 : -1) / 10D * sensitivity;
|
}
|
||||||
t.scale.setX(Math.min(Math.max(t.scale.getX() - delta, 0.1), 10));
|
lastX = e.getSceneX();
|
||||||
t.scale.setY(Math.min(Math.max(t.scale.getY() - delta, 0.1), 10));
|
lastY = e.getSceneY();
|
||||||
});
|
});
|
||||||
}
|
t.addEventHandler(ScrollEvent.SCROLL, e -> {
|
||||||
|
double delta = (e.getDeltaY() > 0 ? 1 : e.getDeltaY() == 0 ? 0 : -1) / 10D * sensitivity;
|
||||||
}
|
t.scale.setX(Math.min(Math.max(t.scale.getX() - delta, 0.1), 10));
|
||||||
|
t.scale.setY(Math.min(Math.max(t.scale.getY() - delta, 0.1), 10));
|
||||||
public static class Drag extends SkinCanvasSupport {
|
});
|
||||||
|
}
|
||||||
private String title;
|
|
||||||
|
}
|
||||||
public Drag(String title) {
|
|
||||||
this.title = title;
|
public static class Drag extends SkinCanvasSupport {
|
||||||
}
|
|
||||||
|
private String title;
|
||||||
|
|
||||||
|
public Drag(String title) {
|
||||||
|
this.title = title;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void accept(SkinCanvas t) {
|
||||||
|
t.addEventHandler(DragEvent.DRAG_OVER, e -> {
|
||||||
|
if (e.getDragboard().hasFiles()) {
|
||||||
|
File file = e.getDragboard().getFiles().get(0);
|
||||||
|
if (file.getAbsolutePath().endsWith(".png"))
|
||||||
|
e.acceptTransferModes(TransferMode.COPY);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
t.addEventHandler(DragEvent.DRAG_DROPPED, e -> {
|
||||||
|
if (e.isAccepted()) {
|
||||||
|
File skin = e.getDragboard().getFiles().get(0);
|
||||||
|
Platform.runLater(() -> {
|
||||||
|
try {
|
||||||
|
FileInputStream input = new FileInputStream(skin);
|
||||||
|
Stage stage = new Stage();
|
||||||
|
stage.setTitle(title);
|
||||||
|
SkinCanvas canvas = Test.createSkinCanvas();
|
||||||
|
canvas.updateSkin(new Image(input), skin.getName().contains("[alex]"));
|
||||||
|
Scene scene = new Scene(canvas);
|
||||||
|
stage.setScene(scene);
|
||||||
|
stage.show();
|
||||||
|
} catch (FileNotFoundException ex) {
|
||||||
|
ex.printStackTrace();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void accept(SkinCanvas t) {
|
|
||||||
t.addEventHandler(DragEvent.DRAG_OVER, e -> {
|
|
||||||
if (e.getDragboard().hasFiles()) {
|
|
||||||
File file = e.getDragboard().getFiles().get(0);
|
|
||||||
if (file.getAbsolutePath().endsWith(".png"))
|
|
||||||
e.acceptTransferModes(TransferMode.COPY);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
t.addEventHandler(DragEvent.DRAG_DROPPED, e -> {
|
|
||||||
if (e.isAccepted()) {
|
|
||||||
File skin = e.getDragboard().getFiles().get(0);
|
|
||||||
Platform.runLater(() -> {
|
|
||||||
try {
|
|
||||||
FileInputStream input = new FileInputStream(skin);
|
|
||||||
Stage stage = new Stage();
|
|
||||||
stage.setTitle(title);
|
|
||||||
SkinCanvas canvas = Test.createSkinCanvas();
|
|
||||||
canvas.updateSkin(new Image(input), skin.getName().contains("[alex]"));
|
|
||||||
Scene scene = new Scene(canvas);
|
|
||||||
stage.setScene(scene);
|
|
||||||
stage.show();
|
|
||||||
} catch (FileNotFoundException ex) {
|
|
||||||
ex.printStackTrace();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user