Bomberman
Camera2D.hpp
Go to the documentation of this file.
1 /*
2 ** EPITECH PROJECT, 2021
3 ** Bomberman
4 ** File description:
5 ** Camera2D
6 */
7 
8 #ifndef CAMERA2D_HPP_
9 #define CAMERA2D_HPP_
10 
11 #include <raylib.h>
12 #include "Vector/Vector2.hpp"
13 #include "Camera/ICamera.hpp"
14 
15 namespace RAY::Camera {
16 
18  class Camera2D: public ICamera {
19  public:
25  Camera2D(const Vector2 &offset, const Vector2 &target, float rotation, float zoom = 1);
26 
28  Camera2D(const Camera2D &) = default;
29 
30  ~Camera2D() override = default;
31 
33  Camera2D &operator=(const Camera2D &) = default;
34 
36  void setOffset(const Vector2 &offset);
38  void setTarget(const Vector2 &target);
40  void setRotation(float rotation);
42  void setZoom(float zoom);
43 
45  Vector2 getOffset(void) const;
47  Vector2 getTarget(void) const;
49  float getRotation(void) const;
51  float getZoom(void) const;
52 
54  Matrix getMatrix(void) const override;
55 
56  private:
58 
59  INTERNAL:
61  operator ::Camera2D() const;
62  };
63 }
64 
65 #endif /* !CAMERA2D_HPP_ */
RAY::Camera::Camera2D::getTarget
Vector2 getTarget(void) const
Get target.
Definition: Camera2D.cpp:41
ICamera.hpp
RAY::Camera::Camera2D::setTarget
void setTarget(const Vector2 &target)
Set target.
Definition: Camera2D.cpp:21
RAY::Vector2
A Two-dimensionnal Vector data type.
Definition: Vector2.hpp:15
RAY::Camera
Definition: Camera2D.hpp:15
RAY::Camera::Camera2D::getRotation
float getRotation(void) const
Get rotation.
Definition: Camera2D.cpp:46
RAY::Camera::ICamera
Interface for Cameras.
Definition: ICamera.hpp:15
RAY::Camera::Camera2D
Entity representing a Camera in 2D space.
Definition: Camera2D.hpp:18
RAY::Camera::Camera2D::getOffset
Vector2 getOffset(void) const
Get Offset.
Definition: Camera2D.cpp:36
RAY::Camera::Camera2D::setOffset
void setOffset(const Vector2 &offset)
Set Offset.
Definition: Camera2D.cpp:16
RAY::Camera::Camera2D::~Camera2D
~Camera2D() override=default
RAY::Matrix
::Matrix Matrix
Definition: Matrix.hpp:14
RAY::Camera::Camera2D::getMatrix
Matrix getMatrix(void) const override
Returns camera 2d transform matrix.
Definition: Camera2D.cpp:56
RAY::Camera::Camera2D::operator=
Camera2D & operator=(const Camera2D &)=default
A Camera is assignable.
RAY::Camera::Camera2D::getZoom
float getZoom(void) const
Get zoom.
Definition: Camera2D.cpp:51
RAY::Camera::Camera2D::Camera2D
Camera2D(const Vector2 &offset, const Vector2 &target, float rotation, float zoom=1)
2D Camera constructor
Definition: Camera2D.cpp:10
Vector2.hpp
RAY::Camera::Camera2D::setZoom
void setZoom(float zoom)
Set zoom.
Definition: Camera2D.cpp:31
RAY::Camera::Camera2D::setRotation
void setRotation(float rotation)
Set rotation.
Definition: Camera2D.cpp:26
RAY::Camera::Camera2D::_camera
::Camera2D _camera
Definition: Camera2D.hpp:57