X-Git-Url: https://git.localhorst.tv/?a=blobdiff_plain;ds=sidebyside;f=src%2Fgraphics%2FCanvas.cpp;h=768037efbc04bbcdc3269a7de930af4aaaf60135;hb=HEAD;hp=e4befc0bf04886003dc3d8f04ce409c0d5f15c46;hpb=1129b8ac89f1e614f69793227ccec90157708aea;p=space.git diff --git a/src/graphics/Canvas.cpp b/src/graphics/Canvas.cpp index e4befc0..768037e 100644 --- a/src/graphics/Canvas.cpp +++ b/src/graphics/Canvas.cpp @@ -95,14 +95,23 @@ void Canvas::Cross(Vector pos, int extent) { Vector(pos.x, pos.y + extent)); } +void Canvas::Arrow(Vector from, Vector to) { + Line(from, to); + Vector delta(to - from); + delta = delta / Length(delta); + + Line(to, to + Vector(Rotate90(delta) * 5.0f - (delta * 5.0f))); + Line(to, to + Vector(Rotate270(delta) * 5.0f - (delta * 5.0f))); +} + void Canvas::Triangle(Vector v1, Vector v2, Vector v3) { SDL_Point points[4] = { v1, v2, v3, v1 }; - SDL_RenderDrawPoints(canv, points, 4); + SDL_RenderDrawLines(canv, points, 4); } void Canvas::Quad(Vector v1, Vector v2, Vector v3, Vector v4) { SDL_Point points[5] = { v1, v2, v3, v4, v1 }; - SDL_RenderDrawPoints(canv, points, 5); + SDL_RenderDrawLines(canv, points, 5); } @@ -174,7 +183,7 @@ void Grid2Impl( canv.SetColor(c1); canv.FillRect(pos, size); canv.SetColor(c2); - GridImpl(canv, pos, size, step); + GridImpl(canv, pos, size, step * Vector(n)); return; }