1
0
mirror of https://github.com/aNNiMON/HotaruFX.git synced 2024-09-19 14:14:21 +03:00

Add opacity and css style properties

This commit is contained in:
Victor 2017-09-01 19:35:11 +03:00
parent bde0a910d3
commit 74cef92402
2 changed files with 20 additions and 0 deletions

View File

@ -14,7 +14,9 @@ public abstract class ObjectNode {
private final Node node; private final Node node;
private PropertyTimelineHolder<Boolean> visible; private PropertyTimelineHolder<Boolean> visible;
private PropertyTimelineHolder<Number> opacity;
private PropertyTimelineHolder<Node> clip; private PropertyTimelineHolder<Node> clip;
private PropertyTimelineHolder<String> style;
private PropertyTimelineHolder<Number> rotate; private PropertyTimelineHolder<Number> rotate;
private PropertyTimelineHolder<Number> translateX, translateY, translateZ; private PropertyTimelineHolder<Number> translateX, translateY, translateZ;
private PropertyTimelineHolder<Number> scaleX, scaleY, scaleZ; private PropertyTimelineHolder<Number> scaleX, scaleY, scaleZ;
@ -25,7 +27,9 @@ public abstract class ObjectNode {
public ObjectNode(Node node) { public ObjectNode(Node node) {
this.node = node; this.node = node;
visible = PropertyTimelineHolder.empty(); visible = PropertyTimelineHolder.empty();
opacity = PropertyTimelineHolder.empty();
clip = PropertyTimelineHolder.empty(); clip = PropertyTimelineHolder.empty();
style = PropertyTimelineHolder.empty();
rotate = PropertyTimelineHolder.empty(); rotate = PropertyTimelineHolder.empty();
translateX = PropertyTimelineHolder.empty(); translateX = PropertyTimelineHolder.empty();
translateY = PropertyTimelineHolder.empty(); translateY = PropertyTimelineHolder.empty();
@ -46,10 +50,18 @@ public abstract class ObjectNode {
return visible.setIfEmptyThenGet(node::visibleProperty); return visible.setIfEmptyThenGet(node::visibleProperty);
} }
public PropertyTimeline<Number> opacityProperty() {
return opacity.setIfEmptyThenGet(node::opacityProperty);
}
public PropertyTimeline<Node> clipProperty() { public PropertyTimeline<Node> clipProperty() {
return clip.setIfEmptyThenGet(node::clipProperty); return clip.setIfEmptyThenGet(node::clipProperty);
} }
public PropertyTimeline<String> styleProperty() {
return style.setIfEmptyThenGet(node::styleProperty);
}
public PropertyTimeline<Number> rotateProperty() { public PropertyTimeline<Number> rotateProperty() {
return rotate.setIfEmptyThenGet(node::rotateProperty); return rotate.setIfEmptyThenGet(node::rotateProperty);
} }
@ -88,7 +100,9 @@ public abstract class ObjectNode {
public void buildTimeline(TimeLine timeline) { public void buildTimeline(TimeLine timeline) {
visible.applyIfPresent(timeline); visible.applyIfPresent(timeline);
opacity.applyIfPresent(timeline);
clip.applyIfPresent(timeline); clip.applyIfPresent(timeline);
style.applyIfPresent(timeline);
rotate.applyIfPresent(timeline); rotate.applyIfPresent(timeline);
translateX.applyIfPresent(timeline); translateX.applyIfPresent(timeline);
translateY.applyIfPresent(timeline); translateY.applyIfPresent(timeline);
@ -107,7 +121,10 @@ public abstract class ObjectNode {
protected PropertyBindings propertyBindings(PropertyBindings bindings) { protected PropertyBindings propertyBindings(PropertyBindings bindings) {
return bindings return bindings
.add("visible", BOOLEAN, this::visibleProperty) .add("visible", BOOLEAN, this::visibleProperty)
.add("opacity", NUMBER, this::opacityProperty)
.add("clip", CLIP_NODE, this::clipProperty) .add("clip", CLIP_NODE, this::clipProperty)
.add("css", STRING, this::styleProperty)
.add("style", STRING, this::styleProperty)
.add("rotate", NUMBER, this::rotateProperty) .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)

View File

@ -47,6 +47,9 @@ C = text({
font: 100, font: 100,
underline: 1 underline: 1
clip: CLIP, clip: CLIP,
css: '
-fx-effect: dropshadow(two-pass-box, rgba(0,0,0,0.8), 5, 0, 0.5, 0.25);
'
}) })
C@layoutX C@layoutX
.add(100, 0) .add(100, 0)