/** * Gets the text drawer to use. * * @param gl * The gl context to use as fallback * @param size * The font size * @return A text drawer. */ @Override public TextDrawer getTextDrawer(GLDrawContext gl, EFontSize size) { if (textDrawerFactory != null) { return textDrawerFactory.getTextDrawer(gl, size); } else { return gl.getTextDrawer(size); } }
super.drawAt(gl); TextDrawer drawer = gl.getTextDrawer(size); drawer.setColor(Color.WHITE);
@Override public void drawAt(GLDrawContext gl) { super.drawAt(gl); TextDrawer drawer = gl.getTextDrawer(EFontSize.NORMAL); float textHeight = drawer.getHeight(inputString.toString() + "X"); float y = getPosition().getCenterY() - textHeight / 2; float x = getPosition().getMinX() + 2; drawer.drawString(x, y, inputString.toString()); if(geometry == null || !geometry.isValid()) geometry = gl.storeGeometry(new float[] {0, 0, 0, 1}, EGeometryFormatType.VertexOnly2D, false, "uiinput-line"); float carretX = x + drawer.getWidth(inputString.substring(0, carret) + "X") - drawer.getWidth("X"); try { gl.draw2D(geometry, null, EGeometryType.LineStrip, 0, 2, carretX, y, 0, 0, textHeight, 0, null, 1); } catch (IllegalBufferException e) { e.printStackTrace(); } }
@Override public void drawAt(GLDrawContext gl) { super.drawAt(gl); TextDrawer drawer = gl.getTextDrawer(size); drawer.setColor(Color.WHITE); drawer.renderCentered(getPosition().getCenterX(), getPosition().getCenterY(), text); }
@Override public void drawAt(GLDrawContext gl) { float width = getPosition().getWidth(); Image image = SettlerImageMap.getInstance().getImageForSettler(type, EMovableAction.NO_ACTION, EMaterialType.NO_MATERIAL, EDirection.SOUTH_EAST, 0); Color color = getColor(); float bottomy = getPosition() .getMinY() + getPosition().getHeight() / 4; float left = getPosition().getMinX(); float imagex = left + width / 20; image.drawAt(gl, imagex, bottomy, 0, color, 1); TextDrawer drawer = gl.getTextDrawer(EFontSize.NORMAL); drawer.drawString(left + width / 5, getPosition().getMinY() + getPosition().getHeight() * .75f, "" + count); drawer.drawString(left + width / 5, bottomy, Labels.getName(type)); }