summaryrefslogtreecommitdiff
path: root/src/render.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/render.cpp')
-rw-r--r--src/render.cpp33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/render.cpp b/src/render.cpp
index 8d4949b..c3266ef 100644
--- a/src/render.cpp
+++ b/src/render.cpp
@@ -402,6 +402,39 @@ void state_t::render_line(v2f_t x0, v2f_t x1, sf::Color color)
window->draw(line, 2, sf::Lines);
}
+void state_t::render_circle(v2f_t x, float r, sf::Color color)
+{
+ sf::CircleShape circle;
+ circle.setRadius(r);
+ circle.setPosition(x - v2f_t(r, r));
+ circle.setFillColor(color);
+ window->draw(circle);
+}
+
+void state_t::render_ring_sect(v2f_t x, float r0, float r1, float t0, float t1,
+ sf::Color color)
+{
+ sf::VertexArray array(sf::TriangleStrip);
+ float t;
+ bool done = false;
+
+ for (t = t0; !done; t += 0.1f) {
+ v2f_t rad;
+
+ if (t > t1) {
+ t = t1;
+ done = true;
+ }
+
+ rad = v2f_t::rad(t);
+ array.append(sf::Vertex(x + rad * r0, color));
+ array.append(sf::Vertex(x + rad * r1, color));
+ }
+
+
+ window->draw(array);
+}
+
void state_t::debug_path(v2f_t x, std::list<v2f_t> *path)
{
sf::Vertex line[2];