Example usage for com.badlogic.gdx.graphics.glutils ShapeRenderer ellipse

List of usage examples for com.badlogic.gdx.graphics.glutils ShapeRenderer ellipse

Introduction

In this page you can find the example usage for com.badlogic.gdx.graphics.glutils ShapeRenderer ellipse.

Prototype

public void ellipse(float x, float y, float width, float height) 

Source Link

Document

Calls #ellipse(float,float,float,float,int) by estimating the number of segments needed for a smooth ellipse.

Usage

From source file:io.piotrjastrzebski.dungen.DungeonGenerator.java

License:Apache License

public void render(ShapeRenderer renderer, OrthographicCamera camera) {
    if (drawSettings.drawBodies) {
        b2dd.render(b2d, camera.combined);
    }/*from   w  w w  . jav  a 2s .com*/

    if (mainRooms.size == 0) {
        renderer.setColor(0.4f, 0.2f, 0.1f, 1);
        for (Room room : rooms) {
            room.draw(renderer);
        }
    }

    float size = settings.getGridSize();
    if (drawSettings.drawUnused) {
        renderer.setColor(0.3f, 0.3f, 0.3f, 1);
        for (Room room : rooms) {
            if (room.isUnused()) {
                room.draw(renderer);
            }
        }
    }

    if (drawSettings.drawExtra) {
        renderer.setColor(0.8f, 0.8f, 0.8f, 1);
        for (Room room : rooms) {
            if (room.isExtra) {
                room.draw(renderer);
            }
        }
    }
    if (drawSettings.drawHallWays) {
        renderer.setColor(0.2f, 0.4f, 1, 1);
        for (Room room : rooms) {
            if (room.isHallway) {
                room.draw(renderer);
            }
        }
    }
    if (drawSettings.drawMain) {
        for (Room room : rooms) {
            if (room.isMain) {
                renderer.setColor(1, 0.2f, 0.1f, 1);
                room.draw(renderer);
            }
        }
    }
    if (settled && mainRooms.size == 0) {
        float mw = settings.getRoomWidth() * settings.getMainRoomScale();
        float mh = settings.getRoomHeight() * settings.getMainRoomScale();
        for (Room room : rooms) {
            map.merge(room.bounds);
            if (room.bounds.width >= mw && room.bounds.height >= mh) {
                room.isMain = true;
                mainRooms.add(room);
            }
        }
        // extend map bounds by 1 tile in all directions
        map.x -= size;
        map.y -= size;
        map.width += size * 2;
        map.height += size * 2;
        // sort so main rooms are drawn lsat
        rooms.sort(new Comparator<Room>() {
            @Override
            public int compare(Room o1, Room o2) {
                int main = Boolean.compare(o1.isMain, o2.isMain);
                if (main != 0) {
                    return main;
                }
                return Boolean.compare(o1.isHallway, o2.isHallway);
            }
        });
        triangulate();
    }
    graph.render(renderer, drawSettings.drawEdges, drawSettings.drawMinSpanTree, size);
    if (drawSettings.drawHallWayPaths) {
        renderer.setColor(Color.YELLOW);
        for (HallwayPath path : paths) {
            path.draw(renderer);
        }
    }
    if (drawSettings.drawSpawnArea) {
        Gdx.gl.glEnable(GL20.GL_BLEND);
        renderer.setColor(1, 1, 1, 0.5f);
        renderer.ellipse(-settings.getSpawnWidth() / 2, -settings.getSpawnHeight() / 2,
                settings.getSpawnWidth(), settings.getSpawnHeight());
    }
}

From source file:net.dermetfan.gdx.scenes.scene2d.ui.CircularGroup.java

License:Apache License

@Override
public void drawDebug(ShapeRenderer shapes) {
    super.drawDebug(shapes);
    shapes.set(ShapeType.Line);/* www .j  a  v  a  2 s  .  co m*/
    shapes.setColor(Color.CYAN);
    shapes.ellipse(getX(), getY(), getWidth() * getScaleX(), getHeight() * getScaleY());
    SnapshotArray<Actor> children = getChildren();
    for (int index = 0; index < children.size; index++) {
        Actor child = children.get(index);
        tmp.set(modifier.localAnchor(tmp.set(child.getWidth(), child.getHeight() / 2), child, index,
                children.size, this));
        shapes.line(getX() + getWidth() / 2 * getScaleX(), getY() + getHeight() / 2 * getScaleY(),
                getX() + (child.getX() + tmp.x) * getScaleX(), getY() + (child.getY() + tmp.y) * getScaleY());
    }
}