Search in sources :

Example 1 with ArcTo

use of javafx.scene.shape.ArcTo in project Board-Instrumentation-Framework by intel.

the class OneEightyGaugeSkin method initGraphics.

private void initGraphics() {
    unitText = new Text(getSkinnable().getUnit());
    unitText.setTextOrigin(VPos.CENTER);
    unitText.getStyleClass().setAll("unit");
    unitText.setFill(getSkinnable().getUnitColor());
    titleText = new Text(getSkinnable().getTitle());
    titleText.setTextOrigin(VPos.CENTER);
    titleText.getStyleClass().setAll("title");
    titleText.setFill(getSkinnable().getTitleColor());
    valueText = new Text(String.format(Locale.US, "%." + getSkinnable().getDecimals() + "f", getSkinnable().getValue()));
    valueText.setTextOrigin(VPos.CENTER);
    valueText.getStyleClass().setAll("value");
    valueText.setFill(getSkinnable().getValueColor());
    minText = new Text(String.format(Locale.US, "%." + getSkinnable().getDecimals() + "f", getSkinnable().getMinValue()));
    minText.setTextOrigin(VPos.CENTER);
    minText.getStyleClass().setAll("min-text");
    minText.setFill(getSkinnable().getMinTextColor());
    maxText = new Text(String.format(Locale.US, "%." + getSkinnable().getDecimals() + "f", getSkinnable().getMaxValue()));
    maxText.setTextOrigin(VPos.CENTER);
    maxText.getStyleClass().setAll("max-text");
    maxText.setFill(getSkinnable().getMaxTextColor());
    innerShadow = new InnerShadow(BlurType.TWO_PASS_BOX, Color.rgb(0, 0, 0, 0.3), 30d, 0d, 0d, 10d);
    barBackgroundStart = new MoveTo(0, 0.675 * PREFERRED_HEIGHT);
    barBackgroundOuterArc = new ArcTo(0.675 * PREFERRED_HEIGHT, 0.675 * PREFERRED_HEIGHT, 0, PREFERRED_WIDTH, 0.675 * PREFERRED_HEIGHT, true, true);
    barBackgroundLineToInnerArc = new LineTo(0.72222 * PREFERRED_WIDTH, 0.675 * PREFERRED_HEIGHT);
    barBackgroundInnerArc = new ArcTo(0.3 * PREFERRED_HEIGHT, 0.3 * PREFERRED_HEIGHT, 0, 0.27778 * PREFERRED_WIDTH, 0.675 * PREFERRED_HEIGHT, false, false);
    barBackground = new Path();
    barBackground.setFillRule(FillRule.EVEN_ODD);
    barBackground.getElements().add(barBackgroundStart);
    barBackground.getElements().add(barBackgroundOuterArc);
    barBackground.getElements().add(barBackgroundLineToInnerArc);
    barBackground.getElements().add(barBackgroundInnerArc);
    barBackground.getElements().add(new ClosePath());
    barBackground.getStyleClass().setAll("bar-background");
    barBackground.setFill(getSkinnable().getBarBackgroundColor());
    barBackground.setEffect(getSkinnable().isShadowsEnabled() ? innerShadow : null);
    dataBarStart = new MoveTo(0, 0.675 * PREFERRED_HEIGHT);
    dataBarOuterArc = new ArcTo(0.675 * PREFERRED_HEIGHT, 0.675 * PREFERRED_HEIGHT, 0, 0, 0, false, true);
    dataBarLineToInnerArc = new LineTo(0.27778 * PREFERRED_WIDTH, 0.675 * PREFERRED_HEIGHT);
    dataBarInnerArc = new ArcTo(0.3 * PREFERRED_HEIGHT, 0.3 * PREFERRED_HEIGHT, 0, 0, 0, false, false);
    dataBar = new Path();
    dataBar.setFillRule(FillRule.EVEN_ODD);
    dataBar.getElements().add(dataBarStart);
    dataBar.getElements().add(dataBarOuterArc);
    dataBar.getElements().add(dataBarLineToInnerArc);
    dataBar.getElements().add(dataBarInnerArc);
    dataBar.getElements().add(new ClosePath());
    dataBar.getStyleClass().setAll("data-bar");
    dataBar.setFill(getSkinnable().getBarColor());
    dataBar.setEffect(getSkinnable().isShadowsEnabled() ? innerShadow : null);
    pane = new Pane();
    pane.getChildren().setAll(unitText, titleText, valueText, minText, maxText, barBackground, dataBar);
    getChildren().setAll(pane);
}
Also used : Path(javafx.scene.shape.Path) ClosePath(javafx.scene.shape.ClosePath) ClosePath(javafx.scene.shape.ClosePath) MoveTo(javafx.scene.shape.MoveTo) ArcTo(javafx.scene.shape.ArcTo) LineTo(javafx.scene.shape.LineTo) InnerShadow(javafx.scene.effect.InnerShadow) Text(javafx.scene.text.Text) Pane(javafx.scene.layout.Pane)

Example 2 with ArcTo

use of javafx.scene.shape.ArcTo in project Board-Instrumentation-Framework by intel.

the class ShapeConverter method processPath.

private static Path processPath(final List<String> PATH_LIST, final PathReader READER) {
    final Path PATH = new Path();
    PATH.setFillRule(FillRule.EVEN_ODD);
    while (!PATH_LIST.isEmpty()) {
        if ("M".equals(READER.read())) {
            PATH.getElements().add(new MoveTo(READER.nextX(), READER.nextY()));
        } else if ("L".equals(READER.read())) {
            PATH.getElements().add(new LineTo(READER.nextX(), READER.nextY()));
        } else if ("C".equals(READER.read())) {
            PATH.getElements().add(new CubicCurveTo(READER.nextX(), READER.nextY(), READER.nextX(), READER.nextY(), READER.nextX(), READER.nextY()));
        } else if ("Q".equals(READER.read())) {
            PATH.getElements().add(new QuadCurveTo(READER.nextX(), READER.nextY(), READER.nextX(), READER.nextY()));
        } else if ("H".equals(READER.read())) {
            PATH.getElements().add(new HLineTo(READER.nextX()));
        } else if ("L".equals(READER.read())) {
            PATH.getElements().add(new VLineTo(READER.nextY()));
        } else if ("A".equals(READER.read())) {
            PATH.getElements().add(new ArcTo(READER.nextX(), READER.nextY(), 0, READER.nextX(), READER.nextY(), false, false));
        } else if ("Z".equals(READER.read())) {
            PATH.getElements().add(new ClosePath());
        }
    }
    return PATH;
}
Also used : Path(javafx.scene.shape.Path) ClosePath(javafx.scene.shape.ClosePath) SVGPath(javafx.scene.shape.SVGPath) ClosePath(javafx.scene.shape.ClosePath) MoveTo(javafx.scene.shape.MoveTo) LineTo(javafx.scene.shape.LineTo) VLineTo(javafx.scene.shape.VLineTo) HLineTo(javafx.scene.shape.HLineTo) ArcTo(javafx.scene.shape.ArcTo) QuadCurveTo(javafx.scene.shape.QuadCurveTo) VLineTo(javafx.scene.shape.VLineTo) HLineTo(javafx.scene.shape.HLineTo) CubicCurveTo(javafx.scene.shape.CubicCurveTo)

Example 3 with ArcTo

use of javafx.scene.shape.ArcTo in project tilesfx by HanSolo.

the class SunburstChart method createSegment.

private Path createSegment(final double START_ANGLE, final double END_ANGLE, final double INNER_RADIUS, final double OUTER_RADIUS, final Color FILL, final Color STROKE, final TreeNode NODE) {
    double startAngleRad = Math.toRadians(START_ANGLE + 90);
    double endAngleRad = Math.toRadians(END_ANGLE + 90);
    boolean largeAngle = Math.abs(END_ANGLE - START_ANGLE) > 180.0;
    double x1 = centerX + INNER_RADIUS * Math.sin(startAngleRad);
    double y1 = centerY - INNER_RADIUS * Math.cos(startAngleRad);
    double x2 = centerX + OUTER_RADIUS * Math.sin(startAngleRad);
    double y2 = centerY - OUTER_RADIUS * Math.cos(startAngleRad);
    double x3 = centerX + OUTER_RADIUS * Math.sin(endAngleRad);
    double y3 = centerY - OUTER_RADIUS * Math.cos(endAngleRad);
    double x4 = centerX + INNER_RADIUS * Math.sin(endAngleRad);
    double y4 = centerY - INNER_RADIUS * Math.cos(endAngleRad);
    MoveTo moveTo1 = new MoveTo(x1, y1);
    LineTo lineTo2 = new LineTo(x2, y2);
    ArcTo arcTo3 = new ArcTo(OUTER_RADIUS, OUTER_RADIUS, 0, x3, y3, largeAngle, true);
    LineTo lineTo4 = new LineTo(x4, y4);
    ArcTo arcTo1 = new ArcTo(INNER_RADIUS, INNER_RADIUS, 0, x1, y1, largeAngle, false);
    Path path = new Path(moveTo1, lineTo2, arcTo3, lineTo4, arcTo1);
    path.setFill(FILL);
    path.setStroke(STROKE);
    String tooltipText = new StringBuilder(NODE.getData().getName()).append("\n").append(String.format(Locale.US, formatString, NODE.getData().getValue())).toString();
    Tooltip.install(path, new Tooltip(tooltipText));
    path.setOnMousePressed(new WeakEventHandler<>(e -> NODE.getTreeRoot().fireTreeNodeEvent(new TreeNodeEvent(NODE, EventType.NODE_SELECTED))));
    return path;
}
Also used : Path(javafx.scene.shape.Path) Path(javafx.scene.shape.Path) Fonts(eu.hansolo.tilesfx.fonts.Fonts) TreeNode(eu.hansolo.tilesfx.tools.TreeNode) LineTo(javafx.scene.shape.LineTo) ArcTo(javafx.scene.shape.ArcTo) HashMap(java.util.HashMap) IntegerProperty(javafx.beans.property.IntegerProperty) InvalidationListener(javafx.beans.InvalidationListener) ArrayList(java.util.ArrayList) Insets(javafx.geometry.Insets) Helper(eu.hansolo.tilesfx.tools.Helper) BorderWidths(javafx.scene.layout.BorderWidths) VPos(javafx.geometry.VPos) TreeNodeEvent(eu.hansolo.tilesfx.events.TreeNodeEvent) BackgroundFill(javafx.scene.layout.BackgroundFill) Locale(java.util.Locale) Map(java.util.Map) MoveTo(javafx.scene.shape.MoveTo) TextAlignment(javafx.scene.text.TextAlignment) Helper.clamp(eu.hansolo.tilesfx.tools.Helper.clamp) Tooltip(javafx.scene.control.Tooltip) Pane(javafx.scene.layout.Pane) Color(javafx.scene.paint.Color) ObjectProperty(javafx.beans.property.ObjectProperty) GraphicsContext(javafx.scene.canvas.GraphicsContext) Node(javafx.scene.Node) Border(javafx.scene.layout.Border) ObjectPropertyBase(javafx.beans.property.ObjectPropertyBase) WeakEventHandler(javafx.event.WeakEventHandler) Canvas(javafx.scene.canvas.Canvas) IntegerPropertyBase(javafx.beans.property.IntegerPropertyBase) Background(javafx.scene.layout.Background) BorderStrokeStyle(javafx.scene.layout.BorderStrokeStyle) BooleanPropertyBase(javafx.beans.property.BooleanPropertyBase) BorderStroke(javafx.scene.layout.BorderStroke) ArcType(javafx.scene.shape.ArcType) BooleanProperty(javafx.beans.property.BooleanProperty) List(java.util.List) Region(javafx.scene.layout.Region) Paint(javafx.scene.paint.Paint) DefaultProperty(javafx.beans.DefaultProperty) EventType(eu.hansolo.tilesfx.events.TreeNodeEvent.EventType) StrokeLineCap(javafx.scene.shape.StrokeLineCap) ObservableList(javafx.collections.ObservableList) CornerRadii(javafx.scene.layout.CornerRadii) MoveTo(javafx.scene.shape.MoveTo) LineTo(javafx.scene.shape.LineTo) ArcTo(javafx.scene.shape.ArcTo) Tooltip(javafx.scene.control.Tooltip) TreeNodeEvent(eu.hansolo.tilesfx.events.TreeNodeEvent)

Aggregations

ArcTo (javafx.scene.shape.ArcTo)3 LineTo (javafx.scene.shape.LineTo)3 MoveTo (javafx.scene.shape.MoveTo)3 Path (javafx.scene.shape.Path)3 Pane (javafx.scene.layout.Pane)2 ClosePath (javafx.scene.shape.ClosePath)2 TreeNodeEvent (eu.hansolo.tilesfx.events.TreeNodeEvent)1 EventType (eu.hansolo.tilesfx.events.TreeNodeEvent.EventType)1 Fonts (eu.hansolo.tilesfx.fonts.Fonts)1 Helper (eu.hansolo.tilesfx.tools.Helper)1 Helper.clamp (eu.hansolo.tilesfx.tools.Helper.clamp)1 TreeNode (eu.hansolo.tilesfx.tools.TreeNode)1 ArrayList (java.util.ArrayList)1 HashMap (java.util.HashMap)1 List (java.util.List)1 Locale (java.util.Locale)1 Map (java.util.Map)1 DefaultProperty (javafx.beans.DefaultProperty)1 InvalidationListener (javafx.beans.InvalidationListener)1 BooleanProperty (javafx.beans.property.BooleanProperty)1