Rendering Engine
0.2.9
Modular Graphics Rendering Engine | v0.2.9
rectangle_2d.hpp
Go to the documentation of this file.
1
// This file is part of the Rendering Engine project.
2
// Author: Alexander Obzherin <alexanderobzherin@gmail.com>
3
// Copyright (c) 2026 Alexander Obzherin
4
// Distributed under the terms of the zlib License. See LICENSE.md for details.
5
6
#pragma once
7
8
#include "
rendering_engine_export.hpp
"
9
#include "
drawable_2d.hpp
"
10
11
namespace
rendering_engine
12
{
13
class
Scene;
14
/**
15
* @class Rectangle2D
16
* @brief 2D drawable component for rendering rectangle.
17
*
18
* @note Not copyable or assignable.
19
* @see Sprite2D, Quad2D, Drawable2D, DrawableComponent, SceneComponent2D, Camera2D
20
*/
21
class
RE_API
Rectangle2D
:
public
Drawable2D
22
{
23
public
:
24
struct
Properties
25
{
26
glm::vec2 size = {50.0f, 50.0f};
27
glm::vec4 color = {1.0f, 1.0f, 1.0f, 1.0f};
28
};
29
public
:
30
/**
31
* @brief Constructs the Rectangle2D with a render context.
32
* @param renderContext Resource context.
33
*
34
*/
35
Rectangle2D
(
RenderResourceContext
renderContext,
Scene
& scene,
Properties
properties);
36
37
/**
38
* @copydoc DrawableComponent::Initialize
39
*/
40
void
Initialize()
override
;
41
42
/**
43
* @copydoc DrawableComponent::Update
44
*/
45
void
Update(
float
deltaTime)
override
;
46
47
/**
48
* @copydoc Drawable2D::Draw
49
*/
50
void
Draw(
const
Camera2D
& camera)
override
;
51
52
/**
53
* @brief Sets color.
54
*
55
* @param color RGBA [0.0f - 1.0f].
56
*/
57
void
SetColor(glm::vec4 color);
58
59
Rectangle2D
(
const
Rectangle2D
& rhs) =
delete
;
60
Rectangle2D
&
operator=
(
const
Rectangle2D
& rhs) =
delete
;
61
62
protected
:
63
Properties
mProperties
;
64
65
};
66
67
}
// namespace rendering_engine
rendering_engine::Camera2D
Represents a 2D camera with position, rotation, and zoom control.
Definition:
camera_2d.hpp:36
rendering_engine::Drawable2D
2D drawable component for rendering objects in 2D space.
Definition:
drawable_2d.hpp:27
rendering_engine::Rectangle2D
2D drawable component for rendering rectangle.
Definition:
rectangle_2d.hpp:22
rendering_engine::Rectangle2D::mProperties
Properties mProperties
Definition:
rectangle_2d.hpp:63
rendering_engine::Rectangle2D::Rectangle2D
Rectangle2D(const Rectangle2D &rhs)=delete
rendering_engine::Rectangle2D::operator=
Rectangle2D & operator=(const Rectangle2D &rhs)=delete
rendering_engine::Scene
Base class representing a renderable scene.
Definition:
scene.hpp:44
drawable_2d.hpp
rendering_engine
Definition:
actor.hpp:13
rendering_engine_export.hpp
RE_API
#define RE_API
Definition:
rendering_engine_export.hpp:10
Properties
Configuration parameters for a text block.
rendering_engine::Rectangle2D::Properties
Definition:
rectangle_2d.hpp:25
rendering_engine::RenderResourceContext
Aggregates pointers to global rendering resource managers.
Definition:
render_resource_context.hpp:26
RenderingEngine
RenderingLibrary
Include
rectangle_2d.hpp
Generated by
1.9.4