From 9262b5c798e1921c759addb492b592f3ccf64980 Mon Sep 17 00:00:00 2001 From: Matthew Kosarek Date: Wed, 27 Sep 2023 16:52:17 -0400 Subject: Moving renderer construction out to the individual themes instead of main.cpp --- themes/src/autumn/AutumnTheme.cpp | 31 +++++++++++++++---------------- themes/src/autumn/AutumnTheme.hpp | 8 ++++---- 2 files changed, 19 insertions(+), 20 deletions(-) (limited to 'themes/src/autumn') diff --git a/themes/src/autumn/AutumnTheme.cpp b/themes/src/autumn/AutumnTheme.cpp index c6431a1..4b7a2e2 100644 --- a/themes/src/autumn/AutumnTheme.cpp +++ b/themes/src/autumn/AutumnTheme.cpp @@ -1,5 +1,4 @@ #include "AutumnTheme.hpp" -#include "../Renderer2d.h" #include "../shapes_2d.h" #include @@ -8,10 +7,10 @@ namespace const int NUM_HILLS = 3; } -AutumnTheme::AutumnTheme(Renderer2d* renderer) - : renderer{renderer} +AutumnTheme::AutumnTheme(WebglContext* context) { - load(renderer); + renderer.load(context); + load(); } AutumnTheme::~AutumnTheme() @@ -19,21 +18,21 @@ AutumnTheme::~AutumnTheme() unload(); } -void AutumnTheme::load(Renderer2d* renderer) { - renderer->clearColor = Vector4(252, 210, 153, 255).toNormalizedColor(); - auto lr = tree.load(renderer); - leafParticles.load(renderer, &lr); +void AutumnTheme::load() { + renderer.clearColor = Vector4(252, 210, 153, 255).toNormalizedColor(); + auto lr = tree.load(&renderer); + leafParticles.load(&renderer, &lr); background = new RectangularGradient( - *renderer, + renderer, Vector4{135, 206, 235, 255}.toNormalizedColor(), Vector4(252, 210, 153, 255).toNormalizedColor(), - renderer->get_width(), - renderer->get_height(), + renderer.get_width(), + renderer.get_height(), {0, 0}); background_hill = new Circleish( - *renderer, + renderer, 1000, Vector4(137, 129, 33, 255).toNormalizedColor(), 100, @@ -42,7 +41,7 @@ void AutumnTheme::load(Renderer2d* renderer) { background_hill->mesh.model = background_hill->mesh.model.translateByVec2({1200, -700}); tree_hill = new Circleish( - *renderer, + renderer, 500, Vector4{ 76, 75, 22, 255 }.toNormalizedColor(), 100, @@ -57,12 +56,12 @@ void AutumnTheme::update(f32 dtSeconds) { } void AutumnTheme::render() { - renderer->render(); + renderer.render(); background->render(); background_hill->render(); - tree.render(renderer); + tree.render(&renderer); tree_hill->render(); - leafParticles.render(renderer); + leafParticles.render(&renderer); } void AutumnTheme::unload() { diff --git a/themes/src/autumn/AutumnTheme.hpp b/themes/src/autumn/AutumnTheme.hpp index 41df04c..e3f5748 100644 --- a/themes/src/autumn/AutumnTheme.hpp +++ b/themes/src/autumn/AutumnTheme.hpp @@ -5,16 +5,16 @@ #include "LeafParticleRender.h" #include "../types.h" #include "../theme.h" +#include "../Renderer2d.h" #include #include -struct Renderer2d; class RectangularGradient; class Circleish; class AutumnTheme : public Theme { public: - AutumnTheme(Renderer2d* renderer); + AutumnTheme(WebglContext*); ~AutumnTheme(); TreeShape tree; LeafParticleRender leafParticles; @@ -22,12 +22,12 @@ public: Circleish* tree_hill; Circleish* background_hill; - void load(Renderer2d* renderer); + void load(); void update(f32 dtSeconds); void render(); void unload(); private: - Renderer2d* renderer; + Renderer2d renderer; }; #endif -- cgit v1.2.1