Package org.terasology.math

Examples of org.terasology.math.Vector2i


                Texture texture = blockSelectionComponent.texture;
                if (null == texture) {
                    texture = Assets.getTexture("engine:selection");
                }

                Vector2i textureDimensions = new Vector2i(texture.getWidth(), texture.getHeight());
                BlockSelectionRenderer selectionRenderer = cachedBlockSelectionRendererByTextureDimensionsMap.get(textureDimensions);
                if (null == selectionRenderer) {
                    selectionRenderer = new BlockSelectionRenderer(texture);
                    cachedBlockSelectionRendererByTextureDimensionsMap.put(textureDimensions, selectionRenderer);
                } else {
View Full Code Here


    }

    private float[] getSubset(float[] fullData, Rect2i fullRegion, Rect2i subRegion) {
        if (subRegion.size().x != fullRegion.size().x || subRegion.size().y != fullRegion.size().y) {
            float[] result = new float[subRegion.size().x * subRegion.size().y];
            Vector2i offset = new Vector2i(subRegion.minX() - fullRegion.minX(), subRegion.minY() - fullRegion.minY());
            for (int y = 0; y < subRegion.size().y; ++y) {
                System.arraycopy(fullData, offset.getX() + fullRegion.size().x * (y + offset.getY()), result, subRegion.size().x * y, subRegion.size().x);
            }
            return result;
        } else {
            return fullData;
        }
View Full Code Here

    public void testThreeColumnsProportionallySized() throws Exception {

        columnLayout.setAutoSizeColumns(false);
        columnLayout.setColumnWidths(0.5f, 0.2f, 0.3f);

        when(canvas.calculateRestrictedSize(eq(itemAt1x1), any(Vector2i.class))).thenReturn(new Vector2i(50, 10));
        when(canvas.calculateRestrictedSize(eq(itemAt2x1), any(Vector2i.class))).thenReturn(new Vector2i(5, 5));
        when(canvas.calculateRestrictedSize(eq(itemAt3x1), any(Vector2i.class))).thenReturn(new Vector2i(10, 10));

        when(canvas.calculateRestrictedSize(eq(itemAt1x2), any(Vector2i.class))).thenReturn(new Vector2i(20, 10));
        when(canvas.calculateRestrictedSize(eq(itemAt2x2), any(Vector2i.class))).thenReturn(new Vector2i(5, 5));
        when(canvas.calculateRestrictedSize(eq(itemAt3x2), any(Vector2i.class))).thenReturn(new Vector2i(20, 10));

        Vector2i availableSize = new Vector2i(200, 200);

        Vector2i result = columnLayout.getPreferredContentSize(canvas, availableSize);
        // This is the size of the first column divided by its ratio.
        // In general, the minimum column size / ratio guarantees the ration
        // and insures that every column has at least as much as its preferred size
        assertEquals(100, result.x);
        assertEquals(20, result.y);
View Full Code Here

    @Test
    public void testThreeColumnsAutosizedMinimallySized() throws Exception {

        columnLayout.setAutoSizeColumns(true);

        when(canvas.calculateRestrictedSize(eq(itemAt1x1), any(Vector2i.class))).thenReturn(new Vector2i(50, 10));
        when(canvas.calculateRestrictedSize(eq(itemAt2x1), any(Vector2i.class))).thenReturn(new Vector2i(5, 5));
        when(canvas.calculateRestrictedSize(eq(itemAt3x1), any(Vector2i.class))).thenReturn(new Vector2i(10, 10));

        when(canvas.calculateRestrictedSize(eq(itemAt1x2), any(Vector2i.class))).thenReturn(new Vector2i(20, 10));
        when(canvas.calculateRestrictedSize(eq(itemAt2x2), any(Vector2i.class))).thenReturn(new Vector2i(5, 5));
        when(canvas.calculateRestrictedSize(eq(itemAt3x2), any(Vector2i.class))).thenReturn(new Vector2i(20, 10));

        Vector2i availableSize = new Vector2i(200, 200);

        Vector2i result = columnLayout.getPreferredContentSize(canvas, availableSize);
        assertEquals(75, result.x);
        assertEquals(20, result.y);

        when(canvas.size()).thenReturn(availableSize);
View Full Code Here

*/
@RegisterCopyStrategy
public class Vector2iCopyStrategy implements CopyStrategy<Vector2i> {
    @Override
    public Vector2i copy(Vector2i value) {
        return new Vector2i(value);
    }
View Full Code Here

    public void onBindEvent(BindButtonEvent event) {
    }

    @Override
    public Vector2i getMaxContentSize(Canvas canvas) {
        return new Vector2i(Integer.MAX_VALUE, Integer.MAX_VALUE);
    }
View Full Code Here

        return true;
    }

    @Override
    public Vector2i getMaxContentSize(Canvas canvas) {
        return new Vector2i(Integer.MAX_VALUE, Integer.MAX_VALUE);
    }
View Full Code Here

        return TeraMath.ceilToInt(texture.getHeight() * region.height());
    }

    @Override
    public Vector2i size() {
        return new Vector2i(getWidth(), getHeight());
    }
View Full Code Here

    @Override
    public void onDraw(Canvas canvas) {
        int numSlots = Math.min(InventoryUtils.getSlotCount(getTargetEntity()) - getCellOffset(), getMaxCellCount());
        if (numSlots != 0 && !cells.isEmpty()) {
            Vector2i cellSize = canvas.calculatePreferredSize(cells.get(0));
            int horizontalCells = Math.min(maxHorizontalCells, canvas.size().getX() / cellSize.getX());
            for (int i = 0; i < numSlots && i < cells.size(); ++i) {
                int horizPos = i % horizontalCells;
                int vertPos = i / horizontalCells;
                canvas.drawWidget(cells.get(i), Rect2i.createFromMinAndSize(horizPos * cellSize.x, vertPos * cellSize.y, cellSize.x, cellSize.y));
            }
View Full Code Here

    @Override
    public Vector2i getPreferredContentSize(Canvas canvas, Vector2i sizeHint) {
        int numSlots = Math.min(InventoryUtils.getSlotCount(getTargetEntity()) - getCellOffset(), getMaxCellCount());
        if (numSlots != 0 && !cells.isEmpty()) {
            Vector2i cellSize = canvas.calculatePreferredSize(cells.get(0));
            int horizontalCells = Math.min(Math.min(maxHorizontalCells, numSlots), sizeHint.getX() / cellSize.getX());
            int verticalCells = ((numSlots - 1) / horizontalCells) + 1;
            return new Vector2i(horizontalCells * cellSize.x, verticalCells * cellSize.y);
        }
        return Vector2i.zero();
    }
View Full Code Here

TOP

Related Classes of org.terasology.math.Vector2i

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.