@Override public void execute( @Nonnull final Element element, final float normalizedTime, @Nullable final Falloff falloff, @Nonnull final NiftyRenderEngine r) { float scale; if (falloff == null) { scale = startSize + normalizedTime * (endSize - startSize); } else { scale = 1.0f + falloff.getFalloffValue() * textSize.getValue(1.0f); } r.setRenderTextSize(scale); TextRenderer textRenderer = element.getRenderer(TextRenderer.class); if (textRenderer != null) { RenderFont font = textRenderer.getFont(); if (font != null) { String text = textRenderer.getWrappedText(); float originalWidth = font.getWidth(text, 1.0f); float sizedWidth = font.getWidth(text, scale); float originalHeight = font.getHeight(); float sizedHeight = font.getHeight() * scale; r.moveToRelative(-(sizedWidth - originalWidth) / 2, -(sizedHeight - originalHeight) / 2); } } }
@Override public void execute( @Nonnull final Element element, final float normalizedTime, @Nullable final Falloff falloff, @Nonnull final NiftyRenderEngine r) { if (!activated && normalizedTime > 0.0f) { activated = true; pulsator.reset(); } if (activated) { float value = pulsator.update(); float size = startSize.getValue(1.0f) + value * (endSize.getValue(1.0f) - startSize.getValue(1.0f)); TextRenderer textRenderer = element.getRenderer(TextRenderer.class); if (textRenderer != null) { String text = textRenderer.getWrappedText(); RenderFont font = textRenderer.getFont(); if (font != null) { float originalWidth = font.getWidth(text, 1.0f); float sizedWidth = font.getWidth(text, size); float originalHeight = font.getHeight(); float sizedHeight = font.getHeight() * size; r.moveToRelative(-(sizedWidth - originalWidth) / 2, -(sizedHeight - originalHeight) / 2); } } r.setRenderTextSize(size); } }