1
0
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:
Victor 2017-09-01 15:06:00 +03:00
parent 607d117a97
commit dc73f0acd0
2 changed files with 13 additions and 0 deletions

View File

@ -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);

View File

@ -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)