@Override public void glLineWidth (float width) { calls++; gl30.glLineWidth(width); check(); }
@Override public void glLineWidth (float width) { calls++; gl30.glLineWidth(width); check(); }
@Override public void glLineWidth (float width) { calls++; gl30.glLineWidth(width); check(); }
private void drawPolygons(List<PolygonModel> polygons) { Gdx.gl30.glLineWidth(2); Gdx.gl30.glEnable(Gdx.gl30.GL_BLEND); Gdx.gl30.glBlendFunc(Gdx.gl30.GL_SRC_ALPHA, Gdx.gl30.GL_ONE_MINUS_SRC_ALPHA); drawer.begin(ShapeRenderer.ShapeType.Line); drawer.setColor(POLYGON_COLOR); for (PolygonModel polygon : polygons) { List<Vector2> vs = polygon.vertices; for (int i = 1, n = vs.size(); i < n; i++) drawer.line(vs.get(i).x, vs.get(i).y, vs.get(i - 1).x, vs.get(i - 1).y); if (vs.size() > 1) drawer.line(vs.get(0).x, vs.get(0).y, vs.get(vs.size() - 1).x, vs.get(vs.size() - 1).y); } drawer.end(); }
private void drawMouseSelection(float x1, float y1, float x2, float y2) { Gdx.gl30.glLineWidth(3); Gdx.gl30.glEnable(Gdx.gl30.GL_BLEND); Gdx.gl30.glBlendFunc(Gdx.gl30.GL_SRC_ALPHA, Gdx.gl30.GL_ONE_MINUS_SRC_ALPHA); Rectangle rect = new Rectangle( Math.min(x1, x2), Math.min(y1, y2), Math.abs(x2 - x1), Math.abs(y2 - y1) ); drawer.begin(ShapeRenderer.ShapeType.Filled); drawer.setColor(MOUSESELECTION_FILL_COLOR); drawer.rect(rect.x, rect.y, rect.width, rect.height); drawer.end(); drawer.begin(ShapeRenderer.ShapeType.Line); drawer.setColor(MOUSESELECTION_STROKE_COLOR); drawer.rect(rect.x, rect.y, rect.width, rect.height); drawer.end(); } }
private void drawBoundingBox(float w, float h) { Gdx.gl30.glLineWidth(1); Gdx.gl30.glEnable(Gdx.gl30.GL_BLEND); Gdx.gl30.glBlendFunc(Gdx.gl30.GL_SRC_ALPHA, Gdx.gl30.GL_ONE_MINUS_SRC_ALPHA); drawer.begin(ShapeRenderer.ShapeType.Line); drawer.setColor(AXIS_COLOR); drawer.rect(0, 0, w, h); drawer.end(); }
private void drawShapes(List<ShapeModel> shapes, Vector2 nextPoint) { Gdx.gl30.glLineWidth(2); Gdx.gl30.glEnable(Gdx.gl30.GL_BLEND); Gdx.gl30.glBlendFunc(Gdx.gl30.GL_SRC_ALPHA, Gdx.gl30.GL_ONE_MINUS_SRC_ALPHA);
private void drawGrid(float gap) { Gdx.gl30.glLineWidth(1); Gdx.gl30.glEnable(Gdx.gl30.GL_BLEND); Gdx.gl30.glBlendFunc(Gdx.gl30.GL_SRC_ALPHA, Gdx.gl30.GL_ONE_MINUS_SRC_ALPHA); if (gap <= 0) gap = 0.001f; float x = camera.position.x; float y = camera.position.y; float w = camera.viewportWidth; float h = camera.viewportHeight; float z = camera.zoom; drawer.begin(ShapeRenderer.ShapeType.Line); drawer.setColor(GRID_COLOR); for (float d = 0; d < x + w / 2 * z; d += gap) drawer.line(d, y - h / 2 * z, d, y + h / 2 * z); for (float d = -gap; d > x - w / 2 * z; d -= gap) drawer.line(d, y - h / 2 * z, d, y + h / 2 * z); for (float d = 0; d < y + h / 2 * z; d += gap) drawer.line(x - w / 2 * z, d, x + w / 2 * z, d); for (float d = -gap; d > y - h / 2 * z; d -= gap) drawer.line(x - w / 2 * z, d, x + w / 2 * z, d); drawer.end(); }
public void drawBallThrowPath(Vector2 p1, Vector2 p2) { if (p1 == null || p2 == null) return; Gdx.gl30.glLineWidth(3); Gdx.gl30.glEnable(Gdx.gl30.GL_BLEND); Gdx.gl30.glBlendFunc(Gdx.gl30.GL_SRC_ALPHA, Gdx.gl30.GL_ONE_MINUS_SRC_ALPHA); float w = 0.03f * camera.zoom; drawer.setProjectionMatrix(camera.combined); drawer.begin(ShapeRenderer.ShapeType.Line); drawer.setColor(BALLTHROWPATH_COLOR); drawer.line(p1.x, p1.y, p2.x, p2.y); drawer.end(); drawer.setProjectionMatrix(camera.combined); drawer.begin(ShapeRenderer.ShapeType.Filled); drawer.setColor(BALLTHROWPATH_COLOR); drawer.rect(p2.cpy().sub(w / 2, w / 2).x, p2.cpy().sub(w / 2, w / 2).y, w, w); drawer.end(); } }
private void drawOrigin(Vector2 o, Vector2 nearestPoint) { Gdx.gl30.glLineWidth(2); Gdx.gl30.glEnable(Gdx.gl30.GL_BLEND); Gdx.gl30.glBlendFunc(Gdx.gl30.GL_SRC_ALPHA, Gdx.gl30.GL_ONE_MINUS_SRC_ALPHA); float len = 0.03f * camera.zoom; float radius = 0.02f * camera.zoom; drawer.begin(ShapeRenderer.ShapeType.Line); drawer.setColor(ORIGIN_COLOR); drawer.line(o.x - len, o.y, o.x + len, o.y); drawer.line(o.x, o.y - len, o.x, o.y + len); drawer.end(); if (nearestPoint != o) { drawer.begin(ShapeRenderer.ShapeType.Line); drawer.setColor(ORIGIN_COLOR); drawer.circle(o.x, o.y, radius, 20); drawer.end(); } else { drawer.begin(ShapeRenderer.ShapeType.Filled); drawer.setColor(ORIGIN_COLOR); drawer.circle(o.x, o.y, radius, 20); drawer.end(); } }
private void drawPoints(List<ShapeModel> shapes, List<Vector2> selectedPoints, Vector2 nearestPoint, Vector2 nextPoint) { Gdx.gl30.glLineWidth(2); Gdx.gl30.glEnable(Gdx.gl30.GL_BLEND); Gdx.gl30.glBlendFunc(Gdx.gl30.GL_SRC_ALPHA, Gdx.gl30.GL_ONE_MINUS_SRC_ALPHA); float w = 0.025f * camera.zoom; for (ShapeModel shape : shapes) { for (Vector2 p : shape.getVertices()) { if (p == nearestPoint || (selectedPoints != null && selectedPoints.contains(p))) { drawer.begin(ShapeRenderer.ShapeType.Filled); drawer.setColor(SHAPE_COLOR); drawer.rect(p.cpy().sub(w / 2, w / 2).x, p.cpy().sub(w / 2, w / 2).y, w, w); drawer.end(); } else { drawer.begin(ShapeRenderer.ShapeType.Line); drawer.setColor(SHAPE_COLOR); drawer.rect(p.cpy().sub(w / 2, w / 2).x, p.cpy().sub(w / 2, w / 2).y, w, w); drawer.end(); } } } if (nextPoint != null) { drawer.begin(ShapeRenderer.ShapeType.Line); drawer.setColor(SHAPE_LASTLINE_COLOR); drawer.rect(nextPoint.cpy().sub(w / 2, w / 2).x, nextPoint.cpy().sub(w / 2, w / 2).y, w, w); drawer.end(); } }
private void drawAxisImpl() { Gdx.gl30.glLineWidth(3); Gdx.gl30.glEnable(Gdx.gl30.GL_BLEND); Gdx.gl30.glBlendFunc(Gdx.gl30.GL_SRC_ALPHA, Gdx.gl30.GL_ONE_MINUS_SRC_ALPHA); float len = 0.03f * camera.zoom; drawer.begin(ShapeRenderer.ShapeType.Line); drawer.setColor(AXIS_COLOR); drawer.line(0, 0, 1, 0); drawer.line(1, 0, 1 - len, -len); drawer.line(1, 0, 1 - len, +len); drawer.line(0, 0, 0, 1); drawer.line(0, 1, -len, 1 - len); drawer.line(0, 1, +len, 1 - len); drawer.end(); float size = 0.1f * camera.zoom; v00Sprite.setSize(size, size); v10Sprite.setSize(size, size); v01Sprite.setSize(size, size); v00Sprite.setPosition(-size, -size); v10Sprite.setPosition(1, -size); v01Sprite.setPosition(-size, 1 - size / 2); batch.setProjectionMatrix(camera.combined); batch.begin(); v00Sprite.draw(batch); v10Sprite.draw(batch); v01Sprite.draw(batch); batch.end(); }