X-Git-Url: http://git.localhorst.tv/?p=space.git;a=blobdiff_plain;f=src%2Fapp%2FApplication.cpp;fp=src%2Fapp%2FApplication.cpp;h=6a217666015bb228f9588e1214dd6e92a4063a2f;hp=9f78eaeb592b2660d7a9264cbe748dfc4004148e;hb=b25efd5fb3e3e97728fc6b78b5bf7524ae0350c1;hpb=dd2641dd1b87a0ee3ae27f000ea9527ee05fddbd diff --git a/src/app/Application.cpp b/src/app/Application.cpp index 9f78eae..6a21766 100644 --- a/src/app/Application.cpp +++ b/src/app/Application.cpp @@ -189,14 +189,22 @@ void Application::Update(int dt) { void Application::Render() { + RenderBackground(); + RenderGrid(); + RenderShips(); + RenderUI(); +} + +void Application::RenderBackground() { constexpr Color background(0x00, 0x00, 0x00); - constexpr Color univGrid(0xEE, 0xEE, 0xEE); - constexpr Color secGrid(0x77, 0x77, 0x77); - constexpr Color entityColor(0x00, 0xAA, 0xAA); - constexpr Color focusColor(0xFA, 0xFA, 0x00); canvas.SetColor(background); canvas.Fill(); +} + +void Application::RenderGrid() { + constexpr Color univGrid(0xEE, 0xEE, 0xEE); + constexpr Color secGrid(0x77, 0x77, 0x77); canvas.Grid2( cam.ToScreen(Vector(0, 0)), @@ -205,11 +213,12 @@ void Application::Render() { univ.secSize, secGrid, univGrid); +} - canvas.SetColor(focusColor); - canvas.Cross(cam.ToScreen(focus.Pos()), 15); +void Application::RenderShips() { + constexpr Color shipColor(0x00, 0xAA, 0xAA); - canvas.SetColor(entityColor); + canvas.SetColor(shipColor); for (const Ship &s : univ.Ships()) { const Vector direction = s.Dir(); const Vector position = cam.ToScreen(s.pos); @@ -219,11 +228,18 @@ void Application::Render() { canvas.Line(position, nose); canvas.Quad(nose, left, position, right); } +} + +void Application::RenderUI() { + constexpr Color focusColor(0xFA, 0xFA, 0x00); autopilot.Render(canvas, cam); linGauge.Render(canvas, controlled->linThrottle); rotGauge.Render(canvas, controlled->rotThrottle); + + canvas.SetColor(focusColor); + canvas.Cross(cam.ToScreen(focus.Pos()), 15); } }