@Nonnull public String getFontname(@Nonnull final RenderFont font) { return getRenderEngine().getFontname(font); }
@Nullable public RenderFont createFont(@Nonnull final String name) { return getRenderEngine().createFont(name); }
@Override public void activate( @Nonnull final Nifty nifty, @Nonnull final Element element, @Nonnull final EffectProperties parameter) { font = nifty.getRenderEngine().createFont(parameter.getProperty("font")); }
/** * Fill the images list from the list defined as parameter. */ private void createImages(@Nonnull final Nifty nifty, @Nonnull final Screen screen, @Nullable final String param) { if (param == null) { return; } String property = nifty.specialValuesReplace(param); NiftyRenderEngine renderEngine = nifty.getRenderEngine(); images.clear(); if (property.length() > 0) { String[] imageStrings = property.split(","); for (String imageString : imageStrings) { images.add(renderEngine.createImage(screen, imageString, false)); } } }
/** * Fill the images list from the list defined as parameter. */ private void createImages(@Nonnull final Nifty nifty, @Nonnull final Screen screen, @Nullable final String param) { if (param == null) { return; } String property = nifty.specialValuesReplace(param); NiftyRenderEngine renderEngine = nifty.getRenderEngine(); images.clear(); if (property.length() > 0) { String[] imageStrings = property.split(","); for (String imageString : imageStrings) { images.add(renderEngine.createImage(screen, imageString, false)); } } }
public void refreshAttributes( @Nonnull final Nifty nifty, @Nonnull final Screen screen, @Nonnull final Element element, @Nonnull final ControlAttributes attributes) { Attributes attrib = new Attributes(getAttributes()); attributes.refreshAttributes(attrib); applyAttributes(screen, element, attrib, nifty.getRenderEngine()); applyPostAttributes(element, attrib, nifty.getRenderEngine()); attributes.refreshEffects(effects); element.getParent().layoutElements(); }
private void processLayoutInternal() { if (children != null) { final int childrenCount = children.size(); for (int i = 0; i < childrenCount; i++) { Element w = children.get(i); TextRenderer textRenderer = w.getRenderer(TextRenderer.class); if (textRenderer != null) { textRenderer.setWidthConstraint(w, w.getConstraintWidth(), getWidth(), nifty.getRenderEngine()); } } } }
void onEndScreenHasEnded() { log.fine("onEndScreenHasEnded()"); nifty.unsubscribeAnnotations(screenController); nifty.unsubscribeScreen(this); // onEndScreen has ENDED so call the event. screenController.onEndScreen(); for (int i = 0; i < layerElements.size(); i++) { layerElements.get(i).onEndScreen(this); } nifty.getRenderEngine().screenEnded(this); }
@Override public void onStartScreen() { Element e = element.findElementById("#t-creature_panel"); String fileName = String.format("Textures/GUI/Tabs/t-creature_panel-%s.png", state.getValue()); ImageRenderer imageRenderer = e.getRenderer(ImageRenderer.class); imageRenderer.setImage(nifty.getRenderEngine().createImage(screen, fileName, true)); }
@Override public void onStartScreen() { Element e = element.findElementById("#equal"); String fileName = String.format("Textures/GUI/Tabs/t-cp-%s.png", state.toString().toLowerCase()); ImageRenderer imageRenderer = e.getRenderer(ImageRenderer.class); imageRenderer.setImage(nifty.getRenderEngine().createImage(screen, fileName, true)); /* for (Element e : element.getChildren()) { String id = e.getId(); if (id != null && id.endsWith("#" + state.toString().toLowerCase())) { e.show(); } else { e.hide(); } } */ }
private void applyStandard( @Nonnull final Nifty nifty, @Nonnull final Screen screen, @Nonnull final Element element) { applyAttributes(screen, element, getAttributes(), nifty.getRenderEngine()); applyEffects(nifty, screen, element); applyInteract(nifty, screen, element); applyChildren(element, screen, nifty); enforceChildLayout(getAttributes(), elements.size()); applyPostAttributes(element, getAttributes(), nifty.getRenderEngine()); if (controller != null) { NiftyInputControl niftyInputControl = createNiftyInputControl(getAttributes(), controller); element.attachInputControl(niftyInputControl); } }
private void forceMouseHoverUpdate() { NiftyMouseInputEvent event = new NiftyMouseInputEvent(); event.initialize(nifty.getRenderEngine().convertFromNativeX(nifty.getNiftyMouse().getX()), nifty.getRenderEngine().convertFromNativeY(nifty.getNiftyMouse().getY()), 0, false, false, false); mouseEvent(event); }
private void displayResolutionChanged() { getRenderEngine().displayResolutionChanged(); resetMouseInputEvents(); int newWidth = getRenderEngine().getWidth(); int newHeight = getRenderEngine().getHeight(); for (Screen screen : screens.values()) { updateLayoutPart(screen.getRootElement().getLayoutPart(), newWidth, newHeight); for (Element e : screen.getLayerElements()) { updateLayoutPart(e.getLayoutPart(), newWidth, newHeight); } screen.resetLayout(); } for (Element e : popups.values()) { updateLayoutPart(e.getLayoutPart(), newWidth, newHeight); } if (currentScreen != null) { currentScreen.layoutLayers(); } }
@Nonnull public LayoutPart createRootLayerLayoutPart(@Nonnull final Nifty nifty) { LayoutPart layerLayout = new LayoutPart(); layerLayout.getBox().setX(0); layerLayout.getBox().setY(0); layerLayout.getBox().setWidth(nifty.getRenderEngine().getWidth()); layerLayout.getBox().setHeight(nifty.getRenderEngine().getHeight()); layerLayout.getBoxConstraints().setX(SizeValue.px(0)); layerLayout.getBoxConstraints().setY(SizeValue.px(0)); layerLayout.getBoxConstraints().setWidth(SizeValue.px(nifty.getRenderEngine().getWidth())); layerLayout.getBoxConstraints().setHeight(SizeValue.px(nifty.getRenderEngine().getHeight())); return layerLayout; } }
@Override public void activate( @Nonnull final Nifty nifty, @Nonnull final Element element, @Nonnull final EffectProperties parameter) { Screen screen = nifty.getCurrentScreen(); if (screen == null) { return; } image = nifty.getRenderEngine().createImage(screen, parameter.getProperty("filename"), true); if (image == null) { return; } String areaProviderProperty = ImageModeHelper.getAreaProviderProperty(parameter); String renderStrategyProperty = ImageModeHelper.getRenderStrategyProperty(parameter); if ((areaProviderProperty != null) || (renderStrategyProperty != null)) { image.setImageMode(ImageModeFactory.getSharedInstance().createImageMode(areaProviderProperty, renderStrategyProperty)); } this.pulsater = new Pulsator(parameter, nifty.getTimeProvider()); }
@Override public void activate( @Nonnull final Nifty nifty, @Nonnull final Element element, @Nonnull final EffectProperties parameter) { Screen screen = nifty.getCurrentScreen(); if (screen == null) { log.severe("Can't activate effect while there is no active current screen."); return; } image = nifty.getRenderEngine().createImage(screen, parameter.getProperty("filename"), false); if (image == null) { log.severe("Image not found, image overlay effect will not work."); return; } String areaProviderProperty = ImageModeHelper.getAreaProviderProperty(parameter); String renderStrategyProperty = ImageModeHelper.getRenderStrategyProperty(parameter); if ((areaProviderProperty != null) || (renderStrategyProperty != null)) { image.setImageMode(ImageModeFactory.getSharedInstance().createImageMode(areaProviderProperty, renderStrategyProperty)); } alpha = new Alpha(parameter.getProperty("alpha", "#f")); inset = new SizeValue(parameter.getProperty("inset", "0px")); width = new SizeValue(parameter.getProperty("width", element.getWidth() + "px")); height = new SizeValue(parameter.getProperty("height", element.getHeight() + "px")); center = Boolean.valueOf(parameter.getProperty("center", "false")); hideIfNotEnoughSpace = Boolean.valueOf(parameter.getProperty("hideIfNotEnoughSpace", "false")); activeBeforeStartDelay = Boolean.valueOf(parameter.getProperty("activeBeforeStartDelay", "false")); }
public void setStyle(@Nonnull final String newStyle) { final String oldStyle = getStyle(); if (oldStyle != null) { removeStyle(oldStyle); nifty.getEventService().unsubscribe("style-refresh:" + oldStyle, styleListener); } elementType.getAttributes().set("style", newStyle); elementType.applyStyles(nifty.getDefaultStyleResolver()); if (screen == null) { log.warning("Can't properly apply style as long as the element is not bound to a screen."); } else { elementType.applyAttributes(screen, this, elementType.getAttributes(), nifty.getRenderEngine()); elementType.applyEffects(nifty, screen, this); elementType.applyInteract(nifty, screen, this); } layoutElements(); log.fine("after setStyle [" + newStyle + "]\n" + elementType.output(0)); publishEvent(); }
public ModelViewerScreenController(ModelViewer app) { this.app = app; nifty = app.getNifty(); screen = nifty.getCurrentScreen(); // Set default font RenderFont font = nifty.createFont("Interface/Fonts/Frontend14.fnt"); nifty.getRenderEngine().setFont(font); nifty.registerMouseCursor("pointer", "Interface/Cursors/Idle.png", 4, 4); // Set some Nifty stuff nifty.addResourceBundle("menu", Main.getResourceBundle("Interface/Texts/Text")); nifty.addResourceBundle("speech", Main.getResourceBundle("Interface/Texts/Speech")); }
/** * Helper method to get height of text. * * @return the height in pixel of the current set text. */ public int getTextHeight() { RenderFont font = ensureFont(nifty.getRenderEngine()); if (font == null || textLines == null) { return 0; } int calculatedHeight = font.getHeight() * textLines.length; if (textLineHeight.hasValue()) { calculatedHeight = textLineHeight.getValueAsInt(1.0f) * textLines.length; } if (textMinHeight.hasValue()) { if (calculatedHeight < textMinHeight.getValueAsInt(1.0f)) { return textMinHeight.getValueAsInt(1.0f); } } return calculatedHeight; }
public void startScreen(final EndNotify startScreenEndNotify) { NiftyStopwatch.start(); running = false; nifty.getRenderEngine().screenStarted(this); focusHandler.resetFocusElements(); resetLayers(); layoutLayers(); bindControls(); // bind happens right BEFORE the onStartScreen if (!screenControllerBound) { screenController.bind(nifty, this); screenControllerBound = true; } // activate the onActive event right now activeEffectStart(); // onStartScreen final StartScreenEndNotify endNotify = createScreenStartEndNotify(startScreenEndNotify); startLayers(EffectEventId.onStartScreen, endNotify); // default focus attribute has been set in onStartScreen // event of the elements. so we have to set the default focus // here after the onStartScreen is started. setDefaultFocus(); NiftyStopwatch.stop("Screen.startScreen(" + layoutLayersCallCount + ")"); }