Package org.terasology.math

Examples of org.terasology.math.Vector2i


    public void addInteractionRegion(InteractionListener listener, UIWidget tooltip) {
        addInteractionRegion(listener, tooltip, getCurrentStyle().getMargin().grow(applyStyleToSize(getRegion())));
    }

    public void addInteractionRegion(InteractionListener listener, UIWidget tooltip, Rect2i region) {
        Vector2i offset = state.drawRegion.min();
        Rect2i finalRegion = state.cropRegion.intersect(relativeToAbsolute(region));
        if (!finalRegion.isEmpty()) {
            listener.setFocusManager(nuiManager);
            if (state.drawOnTop) {
                drawOnTopOperations.add(new DrawInteractionRegionOperation(finalRegion, offset, listener, state.element, tooltip));
View Full Code Here


                canvas.setMode(HOVER_MODE);
            } else {
                canvas.setMode(DEFAULT_MODE);
            }

            Vector2i preferredSize = canvas.getCurrentStyle().getMargin().grow(itemRenderer.getPreferredSize(item, canvas));
            Rect2i itemRegion = Rect2i.createFromMinAndSize(0, yOffset, canvas.size().x, preferredSize.y);
            canvas.drawBackground(itemRegion);

            itemRenderer.draw(item, canvas, canvas.getCurrentStyle().getMargin().shrink(itemRegion));
            canvas.addInteractionRegion(listener, itemRenderer.getTooltip(item), itemRegion);

            yOffset += preferredSize.getY();
        }
    }
View Full Code Here

    }

    @Override
    public Vector2i getPreferredContentSize(Canvas canvas, Vector2i areaHint) {
        canvas.setPart("item");
        Vector2i result = new Vector2i();
        for (T item : list.get()) {
            Vector2i preferredSize = canvas.getCurrentStyle().getMargin().grow(itemRenderer.getPreferredSize(item, canvas));
            result.x = Math.max(result.x, preferredSize.x);
            result.y += preferredSize.y;
        }
        return result;
    }
View Full Code Here

        private SubRegionFBOImpl(AssetUri uri, Vector2i size) {
            previousState = state;

            fbo = renderer.getFBO(uri, size);
            state = new CanvasState(state, Rect2i.createFromMinAndSize(new Vector2i(), size));
            fbo.bindFrame();
        }
View Full Code Here

                } else {
                    selectionString = innerLine;
                }
                if (!selectionString.isEmpty()) {
                    int selectionWidth = font.getWidth(selectionString);
                    Vector2i selectionTopLeft = new Vector2i(offsetX, (lineOffset) * font.getLineHeight());
                    Rect2i region = Rect2i.createFromMinAndSize(selectionTopLeft.x, selectionTopLeft.y, selectionWidth, font.getLineHeight());

                    canvas.drawTexture(cursorTexture, region, textColor);
                    canvas.drawTextRaw(FontColor.stripColor(selectionString), font, textColor.inverse(), region);
                }
View Full Code Here

        Font font = canvas.getCurrentStyle().getFont();
        if (isMultiline()) {
            List<String> lines = TextLineBuilder.getLines(font, text.get(), areaHint.x);
            return font.getSize(lines);
        } else {
            return new Vector2i(font.getWidth(getText()), font.getLineHeight());
        }
    }
View Full Code Here

    @Override
    public Vector2i getMaxContentSize(Canvas canvas) {
        Font font = canvas.getCurrentStyle().getFont();
        if (isMultiline()) {
            return new Vector2i(Integer.MAX_VALUE, Integer.MAX_VALUE);
        } else {
            return new Vector2i(Integer.MAX_VALUE, font.getLineHeight());
        }
    }
View Full Code Here

    }

    @Override
    public void onDraw(Canvas canvas) {
        if (!widgetList.isEmpty()) {
            Vector2i availableSize = canvas.size();
            int numColumns = TeraMath.ceilToInt((float) widgetList.size() / rows);
            if (numColumns > 0) {
                availableSize.x -= horizontalSpacing * (numColumns - 1);
            }
            if (rows > 0) {
View Full Code Here

        ColumnInfo columnInfo = new ColumnInfo();

        for (int i = 0; i < rows && i < column.size(); ++i) {
            UIWidget widget = column.get(i);
            Vector2i cellSize = new Vector2i(areaHint.x, availableHeight);
            if (!autoSizeRows) {
                cellSize.y *= rowHeights[i];
            }
            if (widget != null) {
                Vector2i contentSize = canvas.calculateRestrictedSize(widget, cellSize);
                columnInfo.widgetSizes.add(contentSize);
                columnInfo.width = Math.max(columnInfo.width, contentSize.x);
            } else {
                columnInfo.widgetSizes.add(new Vector2i(0, 0));
            }
        }
        return columnInfo;
    }
View Full Code Here

        return columnInfo;
    }

    @Override
    public Vector2i getPreferredContentSize(Canvas canvas, Vector2i areaHint) {
        Vector2i availableSize = new Vector2i(areaHint);
        int numColumns = TeraMath.ceilToInt((float) widgetList.size() / rows);
        if (numColumns > 0) {
            availableSize.x -= horizontalSpacing * (numColumns - 1);
        }
        if (rows > 0) {
            availableSize.y -= verticalSpacing * (rows - 1);
        }

        Iterator<List<UIWidget>> columns = getColumnIterator();
        Vector2i size = new Vector2i();
        int[] rowSizes = new int[rows];
        while (columns.hasNext()) {
            List<UIWidget> column = columns.next();
            ColumnInfo columnInfo = calculateColumnSize(column, canvas, availableSize);
            size.x += columnInfo.width;
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.