use of org.terasology.rendering.nui.Color in project Terasology by MovingBlocks.
the class TextureUtilTest method testColorTransformedToAssetUriTransformedToColor.
@Test
public void testColorTransformedToAssetUriTransformedToColor() throws Exception {
Color expectedColor = Color.RED;
ResourceUrn assetUri = TextureUtil.getTextureUriForColor(expectedColor);
Color actualColor = TextureUtil.getColorForColorName(assetUri.getFragmentName().toLowerCase());
assertEquals(expectedColor, actualColor);
int red = 0x12;
int green = 0x3;
int blue = 0xc4;
int alpha = 0xe;
expectedColor = new Color(red, green, blue, alpha);
assetUri = TextureUtil.getTextureUriForColor(expectedColor);
actualColor = TextureUtil.getColorForColorName(assetUri.getFragmentName().toLowerCase());
assertEquals(expectedColor, actualColor);
}
use of org.terasology.rendering.nui.Color in project Terasology by MovingBlocks.
the class TextureUtilTest method testColorNameTransformedToColor.
@Test
public void testColorNameTransformedToColor() throws Exception {
Color actualColor = TextureUtil.getColorForColorName("ff0000ff");
Color expectedColor = Color.RED;
assertEquals(expectedColor, actualColor);
actualColor = TextureUtil.getColorForColorName("1203c40e");
int red = 0x12;
int green = 0x3;
int blue = 0xc4;
int alpha = 0xe;
expectedColor = new Color(red, green, blue, alpha);
assertEquals(expectedColor, actualColor);
}
use of org.terasology.rendering.nui.Color in project Terasology by MovingBlocks.
the class LwjglCanvasRenderer method drawText.
@Override
public void drawText(String text, Font font, HorizontalAlign hAlign, VerticalAlign vAlign, Rect2i absoluteRegion, Color color, Color shadowColor, float alpha, boolean underlined) {
TextCacheKey key = new TextCacheKey(text, font, absoluteRegion.width(), hAlign, color, shadowColor, underlined);
usedText.add(key);
Map<Material, Mesh> fontMesh = cachedText.get(key);
List<String> lines = TextLineBuilder.getLines(font, text, absoluteRegion.width());
if (fontMesh != null) {
for (Mesh mesh : fontMesh.values()) {
if (mesh.isDisposed()) {
fontMesh = null;
break;
}
}
}
if (fontMesh == null) {
fontMesh = fontMeshBuilder.createTextMesh(font, lines, absoluteRegion.width(), hAlign, color, shadowColor, underlined);
cachedText.put(key, fontMesh);
}
Vector2i offset = new Vector2i(absoluteRegion.minX(), absoluteRegion.minY());
offset.y += vAlign.getOffset(lines.size() * font.getLineHeight(), absoluteRegion.height());
fontMesh.entrySet().stream().filter(entry -> entry.getKey().isRenderable()).forEach(entry -> {
entry.getKey().bindTextures();
entry.getKey().setFloat4(CROPPING_BOUNDARIES_PARAM, requestedCropRegion.minX(), requestedCropRegion.maxX(), requestedCropRegion.minY(), requestedCropRegion.maxY());
entry.getKey().setFloat2("offset", offset.x, offset.y);
entry.getKey().setFloat("alpha", alpha);
entry.getValue().render();
});
}
use of org.terasology.rendering.nui.Color in project Terasology by MovingBlocks.
the class JoinGameScreen method getModulesText.
private String getModulesText(Future<ServerInfoMessage> info) {
try {
ServerInfoMessage serverInfoMessage = info.get();
List<String> codedModInfo = new ArrayList<>();
ModuleRegistry reg = moduleManager.getRegistry();
for (NameVersion entry : serverInfoMessage.getModuleList()) {
boolean isInstalled = reg.getModule(entry.getName(), entry.getVersion()) != null;
Color color = isInstalled ? Color.GREEN : Color.RED;
codedModInfo.add(FontColor.getColored(entry.toString(), color));
}
Collections.sort(codedModInfo, String.CASE_INSENSITIVE_ORDER);
return Joiner.on('\n').join(codedModInfo);
} catch (ExecutionException | InterruptedException e) {
return FontColor.getColored(translationSystem.translate("${engine:menu#connection-failed}"), Color.RED);
}
}
use of org.terasology.rendering.nui.Color in project Terasology by MovingBlocks.
the class PlayerSettingsScreen method onOpened.
@Override
public void onOpened() {
super.onOpened();
if (nametext != null) {
nametext.setText(config.getPlayer().getName());
}
if (slider != null) {
Color color = config.getPlayer().getColor();
slider.bindValue(new NotifyingBinding(findClosestIndex(color)));
}
if (heightSlider != null) {
heightSlider.bindValue(new NotifyingBinding(config.getPlayer().getHeight()));
}
if (eyeHeightSlider != null) {
eyeHeightSlider.bindValue(new NotifyingBinding(config.getPlayer().getEyeHeight()));
}
if (language != null) {
language.setSelection(config.getSystem().getLocale());
}
updateImage();
}
Aggregations