mirror of
https://github.com/aNNiMON/HotaruFX.git
synced 2024-09-19 14:14:21 +03:00
Add rotate property
This commit is contained in:
parent
607d117a97
commit
dc73f0acd0
@ -12,15 +12,21 @@ import static com.annimon.hotarufx.visual.objects.PropertyConsumers.*;
|
|||||||
public abstract class ObjectNode {
|
public abstract class ObjectNode {
|
||||||
|
|
||||||
private final Node node;
|
private final Node node;
|
||||||
|
private PropertyTimelineHolder<Number> rotate;
|
||||||
private PropertyTimelineHolder<Number> translateX, translateY, translateZ;
|
private PropertyTimelineHolder<Number> translateX, translateY, translateZ;
|
||||||
|
|
||||||
public ObjectNode(Node node) {
|
public ObjectNode(Node node) {
|
||||||
this.node = node;
|
this.node = node;
|
||||||
|
rotate = PropertyTimelineHolder.empty();
|
||||||
translateX = PropertyTimelineHolder.empty();
|
translateX = PropertyTimelineHolder.empty();
|
||||||
translateY = PropertyTimelineHolder.empty();
|
translateY = PropertyTimelineHolder.empty();
|
||||||
translateZ = PropertyTimelineHolder.empty();
|
translateZ = PropertyTimelineHolder.empty();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public PropertyTimeline<Number> rotateProperty() {
|
||||||
|
return rotate.setIfEmptyThenGet(node::rotateProperty);
|
||||||
|
}
|
||||||
|
|
||||||
public PropertyTimeline<Number> translateXProperty() {
|
public PropertyTimeline<Number> translateXProperty() {
|
||||||
return translateX.setIfEmptyThenGet(node::translateXProperty);
|
return translateX.setIfEmptyThenGet(node::translateXProperty);
|
||||||
}
|
}
|
||||||
@ -34,6 +40,7 @@ public abstract class ObjectNode {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void buildTimeline(TimeLine timeline) {
|
public void buildTimeline(TimeLine timeline) {
|
||||||
|
rotate.ifPresent(numberConsumer(timeline));
|
||||||
translateX.ifPresent(numberConsumer(timeline));
|
translateX.ifPresent(numberConsumer(timeline));
|
||||||
translateY.ifPresent(numberConsumer(timeline));
|
translateY.ifPresent(numberConsumer(timeline));
|
||||||
translateZ.ifPresent(numberConsumer(timeline));
|
translateZ.ifPresent(numberConsumer(timeline));
|
||||||
@ -45,6 +52,7 @@ public abstract class ObjectNode {
|
|||||||
|
|
||||||
protected PropertyBindings propertyBindings(PropertyBindings bindings) {
|
protected PropertyBindings propertyBindings(PropertyBindings bindings) {
|
||||||
return bindings
|
return bindings
|
||||||
|
.add("rotate", NUMBER, this::rotateProperty)
|
||||||
.add("translateX", NUMBER, this::translateXProperty)
|
.add("translateX", NUMBER, this::translateXProperty)
|
||||||
.add("translateY", NUMBER, this::translateYProperty)
|
.add("translateY", NUMBER, this::translateYProperty)
|
||||||
.add("translateZ", NUMBER, this::translateZProperty);
|
.add("translateZ", NUMBER, this::translateZProperty);
|
||||||
|
@ -35,5 +35,10 @@ C = text({
|
|||||||
stroke: "black",
|
stroke: "black",
|
||||||
font: 100
|
font: 100
|
||||||
})
|
})
|
||||||
|
C@rotate
|
||||||
|
.add(50, 0)
|
||||||
|
.add(60, 45)
|
||||||
|
.add(80, -45)
|
||||||
|
.add(90, 0)
|
||||||
|
|
||||||
render(B, A, C)
|
render(B, A, C)
|
Loading…
Reference in New Issue
Block a user