private void resize() {
        size = getSkinnable().getWidth() < getSkinnable().getHeight() ? getSkinnable().getWidth() : getSkinnable().getHeight();
        if (size > 0) {
            innerShadow.setRadius(0.07 * size);
            glow.setRadius(0.36 * size);

            switch(getSkinnable().getLedType()) {
                case HORIZONTAL:
                    frame.setMaxSize(size, 0.56 * size);
                    frame.setTranslateY(0.22 * size);

                    led.setMaxSize(0.72 * size, 0.28 * size);
                    led.relocate(0.14 * size, 0.36 * size);

                    highlight.setMaxSize(0.68 * size, 0.12 * size);
                    highlight.relocate(0.16 * size, 0.38 * size);
                    break;
                case VERTICAL:
                    frame.setMaxSize(0.56 * size, size);
                    frame.setTranslateX(0.22 * size);

                    led.setMaxSize(0.28 * size, 0.72 * size);
                    led.relocate(0.26 * size, 0.14 * size);

                    highlight.setMaxSize(0.22 * size, 0.23 * size);
                    highlight.relocate(0.39 * size, 0.17 * size);
                    break;
                case SQUARE:
                    frame.setMaxSize(size, size);

                    led.setMaxSize(0.72 * size, 0.72 * size);
                    led.relocate(0.14 * size, 0.14 * size);

                    highlight.setMaxSize(0.66 * size, 0.23 * size);
                    highlight.relocate(0.17 * size, 0.17 * size);
                    break;
                case TRIANGLE_UP:
                    frame.setMaxSize(1.0035383605957031 * size, 0.9975 * size);
                    frame.relocate(-0.0017691457271575928 * size, 0.0025 * size);

                    led.setMaxSize(0.6956922149658203 * size, 0.7 * size);
                    led.relocate(0.15215388298034668 * size, 0.2 * size);

                    highlight.setMaxSize(0.30249504089355467 * size, 0.635 * size);
                    highlight.relocate(0.1975049591064453 * size, 0.235 * size);
                    break;
                case TRIANGLE_RIGHT:
                    frame.setMaxSize(size, size);

                    led.setMaxSize(0.7 * size, 0.6956920623779297 * size);
                    led.relocate(0.1 * size, 0.152153902053833 * size);

                    highlight.setMaxSize(0.635 * size, 0.3 * size);
                    highlight.relocate(0.13 * size, 0.19 * size);
                    break;
                case TRIANGLE_DOWN:
                    frame.setMaxSize(1.0035383605957031 * size, 0.9975 * size);
                    frame.setTranslateX(-0.0017691457271575928 * size);

                    led.setMaxSize(0.6956922149658203 * size, 0.7 * size);
                    led.relocate(0.15215388298034668 * size, 0.1 * size);

                    highlight.setMaxSize(0.6024949645996094 * size, 0.63 * size);
                    highlight.relocate(0.1975049591064453 * size, 0.13 * size);
                    break;
                case TRIANGLE_LEFT:
                    frame.setMaxSize(0.9975 * size, 1.0035382843017577 * size);
                    frame.relocate(0.0025 * size, -0.0017691445350646972 * size);

                    led.setMaxSize(0.7 * size, 0.6956920623779297 * size);
                    led.relocate(0.2 * size, 0.152153902053833 * size);

                    highlight.setMaxSize(0.635 * size, 0.3 * size);
                    highlight.relocate(0.235 * size, 0.19 * size);
                    break;
                case ROUND:
                default:
                    frame.setMaxSize(size, size);

                    led.setMaxSize(0.72 * size, 0.72 * size);
                    led.relocate(0.14 * size, 0.14 * size);

                    highlight.setMaxSize(0.58 * size, 0.58 * size);
                    highlight.relocate(0.21 * size, 0.21 * size);
                    break;
            }
        }
    }