private void resize() {
        size   = getSkinnable().getWidth() < getSkinnable().getHeight() ? getSkinnable().getWidth() : getSkinnable().getHeight();
        width  = getSkinnable().getWidth();
        height = getSkinnable().getHeight();
        if (getSkinnable().isKeepAspect()) {
            if (aspectRatio * width > height) {
                width  = 1 / (aspectRatio / height);
            } else if (1 / (aspectRatio / height) > width) {
                height = aspectRatio * width;
            }
        }

        if (width > 0 && height > 0) {
            segmentA1.setPrefSize(0.373134328358209 * width, 0.07282913165266107 * height);
            segmentA1.setTranslateX(0.11567164179104478 * width);

            segmentA2.setPrefSize(0.376865671641791 * width, 0.07282913165266107 * height);
            segmentA2.setTranslateX(0.4962686567164179 * width);

            segmentB.setPrefSize(0.14185691947367654 * width, 0.4743288184414391 * height);
            segmentB.setTranslateX(0.7648594984367713 * width);
            segmentB.setTranslateY(0.02474666777111235 * height);

            segmentC.setPrefSize(0.14191687285010493 * width, 0.480032570889684 * height);
            segmentC.setTranslateX(0.7200879338961929 * width);
            segmentC.setTranslateY(0.5008913782798275 * height);

            segmentD2.setPrefSize(0.3656716417910448 * width, 0.07282913165266107 * height);
            segmentD2.setTranslateX(0.4216417910447761 * width);
            segmentD2.setTranslateY(0.927170868347339 * height);

            segmentD1.setPrefSize(0.3694029850746269 * width, 0.07282913165266107 * height);
            segmentD1.setTranslateX(0.03731343283582089 * width);
            segmentD1.setTranslateY(0.927170868347339 * height);

            segmentE.setPrefSize(0.1381160536808754 * width, 0.4744872192040879 * height);
            segmentE.setTranslateY(0.5008564583059787 * height);

            segmentF.setPrefSize(0.14191658817120453 * width, 0.4800337676574536 * height);
            segmentF.setTranslateX(0.04471146170772723 * width);
            segmentF.setTranslateY(0.019075994731999245 * height);

            segmentG.setPrefSize(0.26232508759000406 * width, 0.41364670868347336 * height);
            segmentG.setTranslateX(0.17906029544659516 * width);
            segmentG.setTranslateY(0.07340313139415923 * height);

            segmentH.setPrefSize(0.13067467532940766 * width, 0.4583017472125569 * height);
            segmentH.setTranslateX(0.41043147756092585 * width);
            segmentH.setTranslateY(0.038707604929178706 * height);

            segmentI.setPrefSize(0.33435482765311625 * width, 0.4141186198600534 * height);
            segmentI.setTranslateX(0.46448468450290054 * width);
            segmentI.setTranslateY(0.0736752731793401 * height);

            segmentK.setPrefSize(0.3523415238109987 * width, 0.07563025210084033 * height);
            segmentK.setTranslateX(0.45818246300540755 * width);
            segmentK.setTranslateY(0.46218487394957986 * height);

            segmentL.setPrefSize(0.25479484671977026 * width, 0.4144776074492297 * height);
            segmentL.setTranslateX(0.465354407011573 * width);
            segmentL.setTranslateY(0.5128619196702119 * height);

            segmentM.setPrefSize(0.13061295694379665 * width, 0.46119950665813203 * height);
            segmentM.setTranslateX(0.3656716417910448 * width);
            segmentM.setTranslateY(0.5000929204689688 * height);

            segmentN.setPrefSize(0.33414425067047576 * width, 0.4139740246684611 * height);
            segmentN.setTranslateX(0.10799379491094332 * width);
            segmentN.setTranslateY(0.5122721696100315 * height);

            segmentP.setPrefSize(0.34861020899530665 * width, 0.07563025210084033 * height);
            segmentP.setTranslateX(0.09992373879276105 * width);
            segmentP.setTranslateY(0.46218487394957986 * height);

            segmentDot.setPrefSize(0.13432835820895522 * width, 0.10084033613445378 * height);
            segmentDot.setTranslateX(0.8656716417910447 * width);
            segmentDot.setTranslateY(0.8991596638655462 * height);
        }
    }