Search in sources :

Example 16 with Color

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);
}
Also used : Color(org.terasology.rendering.nui.Color) ResourceUrn(org.terasology.assets.ResourceUrn) Test(org.junit.Test)

Example 17 with Color

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);
}
Also used : Color(org.terasology.rendering.nui.Color) Test(org.junit.Test)

Example 18 with Color

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();
    });
}
Also used : FloatBuffer(java.nio.FloatBuffer) AssetManager(org.terasology.assets.management.AssetManager) Vector3f(org.terasology.math.geom.Vector3f) FrameBufferObject(org.terasology.rendering.opengl.FrameBufferObject) GL11.glDisable(org.lwjgl.opengl.GL11.glDisable) FontMeshBuilder(org.terasology.rendering.assets.font.FontMeshBuilder) GL11.glOrtho(org.lwjgl.opengl.GL11.glOrtho) GL11.glTranslatef(org.lwjgl.opengl.GL11.glTranslatef) Material(org.terasology.rendering.assets.material.Material) Map(java.util.Map) GL11(org.lwjgl.opengl.GL11) TeraMath(org.terasology.math.TeraMath) TextLineBuilder(org.terasology.rendering.nui.TextLineBuilder) GL11.glLoadMatrix(org.lwjgl.opengl.GL11.glLoadMatrix) Display(org.lwjgl.opengl.Display) Context(org.terasology.context.Context) GL_PROJECTION(org.lwjgl.opengl.GL11.GL_PROJECTION) GL_SRC_ALPHA(org.lwjgl.opengl.GL11.GL_SRC_ALPHA) GL_DEPTH_TEST(org.lwjgl.opengl.GL11.GL_DEPTH_TEST) Set(java.util.Set) MeshBuilder(org.terasology.rendering.assets.mesh.MeshBuilder) GL11.glLoadIdentity(org.lwjgl.opengl.GL11.glLoadIdentity) Sets(com.google.common.collect.Sets) GL11.glPopMatrix(org.lwjgl.opengl.GL11.glPopMatrix) BufferUtils(org.lwjgl.BufferUtils) Objects(java.util.Objects) List(java.util.List) AABB(org.terasology.math.AABB) Font(org.terasology.rendering.assets.font.Font) TextureRegion(org.terasology.rendering.assets.texture.TextureRegion) GL11.glPushMatrix(org.lwjgl.opengl.GL11.glPushMatrix) ResourceUrn(org.terasology.assets.ResourceUrn) GL_MODELVIEW(org.lwjgl.opengl.GL11.GL_MODELVIEW) HorizontalAlign(org.terasology.rendering.nui.HorizontalAlign) VerticalAlign(org.terasology.rendering.nui.VerticalAlign) MatrixUtils(org.terasology.math.MatrixUtils) Rect2f(org.terasology.math.geom.Rect2f) ScaleMode(org.terasology.rendering.nui.ScaleMode) Rect2i(org.terasology.math.geom.Rect2i) Matrix4f(org.terasology.math.geom.Matrix4f) Mesh(org.terasology.rendering.assets.mesh.Mesh) BaseQuat4f(org.terasology.math.geom.BaseQuat4f) GL11.glClear(org.lwjgl.opengl.GL11.glClear) Assets(org.terasology.utilities.Assets) GL11.glMatrixMode(org.lwjgl.opengl.GL11.glMatrixMode) GL11.glEnable(org.lwjgl.opengl.GL11.glEnable) Iterator(java.util.Iterator) Vector2i(org.terasology.math.geom.Vector2i) Vector2f(org.terasology.math.geom.Vector2f) Maps(com.google.common.collect.Maps) ShaderProgramFeature(org.terasology.rendering.assets.shader.ShaderProgramFeature) LwjglFrameBufferObject(org.terasology.rendering.opengl.LwjglFrameBufferObject) GL11.glBlendFunc(org.lwjgl.opengl.GL11.glBlendFunc) GL11.glScalef(org.lwjgl.opengl.GL11.glScalef) GL_ONE_MINUS_SRC_ALPHA(org.lwjgl.opengl.GL11.GL_ONE_MINUS_SRC_ALPHA) Border(org.terasology.math.Border) Quat4f(org.terasology.math.geom.Quat4f) BaseVector2i(org.terasology.math.geom.BaseVector2i) Color(org.terasology.rendering.nui.Color) GL_BLEND(org.lwjgl.opengl.GL11.GL_BLEND) Mesh(org.terasology.rendering.assets.mesh.Mesh) Material(org.terasology.rendering.assets.material.Material) Vector2i(org.terasology.math.geom.Vector2i) BaseVector2i(org.terasology.math.geom.BaseVector2i)

Example 19 with Color

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);
    }
}
Also used : NameVersion(org.terasology.naming.NameVersion) FontColor(org.terasology.rendering.FontColor) Color(org.terasology.rendering.nui.Color) ArrayList(java.util.ArrayList) ModuleRegistry(org.terasology.module.ModuleRegistry) ServerInfoMessage(org.terasology.network.ServerInfoMessage) ExecutionException(java.util.concurrent.ExecutionException)

Example 20 with Color

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();
}
Also used : Color(org.terasology.rendering.nui.Color)

Aggregations

Color (org.terasology.rendering.nui.Color)30 Test (org.junit.Test)9 ColorModel (java.awt.image.ColorModel)3 DataBufferInt (java.awt.image.DataBufferInt)3 ResourceUrn (org.terasology.assets.ResourceUrn)3 Rect2i (org.terasology.math.geom.Rect2i)3 Vector2i (org.terasology.math.geom.Vector2i)3 Font (org.terasology.rendering.assets.font.Font)3 Map (java.util.Map)2 EntityRef (org.terasology.entitySystem.entity.EntityRef)2 PersistedData (org.terasology.persistence.typeHandling.PersistedData)2 ColorBlender (org.terasology.world.viewer.color.ColorBlender)2 Maps (com.google.common.collect.Maps)1 Sets (com.google.common.collect.Sets)1 Gson (com.google.gson.Gson)1 JsonArray (com.google.gson.JsonArray)1 Graphics2D (java.awt.Graphics2D)1 IOException (java.io.IOException)1 StringReader (java.io.StringReader)1 ByteBuffer (java.nio.ByteBuffer)1