Ember
A C++ 20 'game engine' built with SDL3 with wide platform support.
circle.h
Go to the documentation of this file.
1 #pragma once
2 #include "core/component/node.h"
3 
4 
5 class Circle2D final : public Node2D {
6 
7 public:
8 
9 
10  explicit Circle2D(float radius = 10.0f, bool fill = false, const Color& col = Color::WHITE)
11  : _radius(radius), _color(col.normalize_color()), _is_filled(fill) {
12  }
13 
14  void ready() override;
15 
16  void process(double delta_time) override;
17 
18  void draw(Renderer* renderer) override;
19 
20  void set_filled(bool fill);
21 
22 private:
23  float _radius = 10.0f;
24  int _segments = 32;
25  glm::vec4 _color = glm::vec4(1.f);
26 
27  bool _is_filled = true;
28 };
Definition: circle.h:5
void ready() override
Definition: circle.cpp:6
void process(double delta_time) override
Definition: circle.cpp:10
void draw(Renderer *renderer) override
Definition: circle.cpp:14
void set_filled(bool fill)
Definition: circle.cpp:23
Circle2D(float radius=10.0f, bool fill=false, const Color &col=Color::WHITE)
Definition: circle.h:10
2D Node base class for scene graph.
Definition: node.h:25
Base class for all renderers.
Definition: ember_core.h:109
Color struct.
Definition: engine_structs.h:85
static const Color WHITE
Definition: engine_structs.h:100