aboutsummaryrefslogtreecommitdiff
path: root/src/crepe/facade
diff options
context:
space:
mode:
authorheavydemon21 <nielsstunnebrink1@gmail.com>2024-11-20 14:06:54 +0100
committerheavydemon21 <nielsstunnebrink1@gmail.com>2024-11-20 14:06:54 +0100
commit3344e0df01435be903e38ccbd3b9cee608d574e7 (patch)
tree949a3a2d28ce143621f9da90aaea5361d95f9074 /src/crepe/facade
parent158022890cb9abd308a6a445588cc2fca8d84e67 (diff)
implemented feedback
Diffstat (limited to 'src/crepe/facade')
-rw-r--r--src/crepe/facade/SDLContext.cpp18
-rw-r--r--src/crepe/facade/SDLContext.h10
2 files changed, 15 insertions, 13 deletions
diff --git a/src/crepe/facade/SDLContext.cpp b/src/crepe/facade/SDLContext.cpp
index eacb10a..daf0050 100644
--- a/src/crepe/facade/SDLContext.cpp
+++ b/src/crepe/facade/SDLContext.cpp
@@ -12,12 +12,12 @@
#include <stdexcept>
#include <string>
+#include "../api/Camera.h"
#include "../api/Sprite.h"
#include "../api/Texture.h"
#include "../api/Transform.h"
+#include "../api/Vector2.h"
#include "../util/Log.h"
-#include "api/Camera.h"
-#include "api/Vector2.h"
#include "SDLContext.h"
@@ -96,8 +96,7 @@ void SDLContext::handle_events(bool & running) {
void SDLContext::clear_screen() { SDL_RenderClear(this->game_renderer.get()); }
void SDLContext::present_screen() { SDL_RenderPresent(this->game_renderer.get()); }
-
-SDL_Rect SDLContext::get_src_rect(const Sprite & sprite) {
+SDL_Rect SDLContext::get_src_rect(const Sprite & sprite) const {
return SDL_Rect{
.x = sprite.sprite_rect.x,
.y = sprite.sprite_rect.y,
@@ -106,7 +105,7 @@ SDL_Rect SDLContext::get_src_rect(const Sprite & sprite) {
};
}
SDL_Rect SDLContext::get_dst_rect(const Sprite & sprite, const Vector2 & pos,
- const double & scale, const Camera & cam) {
+ const double & scale, const Camera & cam) const {
double adjusted_x = (pos.x - cam.x) * cam.zoom;
double adjusted_y = (pos.y - cam.y) * cam.zoom;
@@ -123,20 +122,21 @@ SDL_Rect SDLContext::get_dst_rect(const Sprite & sprite, const Vector2 & pos,
void SDLContext::draw_particle(const Sprite & sprite, const Vector2 & pos,
const double & angle, const double & scale,
- const Camera & camera) {
+ const Camera & camera) const {
SDL_RendererFlip render_flip
= (SDL_RendererFlip) ((SDL_FLIP_HORIZONTAL * sprite.flip.flip_x)
- | (SDL_FLIP_VERTICAL * sprite.flip.flip_y));
+ | (SDL_FLIP_VERTICAL * sprite.flip.flip_y));
SDL_Rect srcrect = this->get_src_rect(sprite);
SDL_Rect dstrect = this->get_dst_rect(sprite, pos, scale, camera);
SDL_RenderCopyEx(this->game_renderer.get(), sprite.sprite_image->texture.get(), &srcrect,
- &dstrect, angle, NULL, render_flip);
+ &dstrect, angle, NULL, render_flip);
}
-void SDLContext::draw(const Sprite & sprite, const Transform & transform, const Camera & cam) {
+void SDLContext::draw(const Sprite & sprite, const Transform & transform,
+ const Camera & cam) const {
SDL_RendererFlip render_flip
= (SDL_RendererFlip) ((SDL_FLIP_HORIZONTAL * sprite.flip.flip_x)
diff --git a/src/crepe/facade/SDLContext.h b/src/crepe/facade/SDLContext.h
index 287ad5d..718c40f 100644
--- a/src/crepe/facade/SDLContext.h
+++ b/src/crepe/facade/SDLContext.h
@@ -124,9 +124,10 @@ private:
* \param transform Reference to the Transform for positioning.
* \param camera Reference to the Camera for view adjustments.
*/
- void draw(const Sprite & sprite, const Transform & transform, const Camera & camera);
+ void draw(const Sprite & sprite, const Transform & transform, const Camera & camera) const;
- void draw_particle(const Sprite & sprite, const Vector2 & pos, const double & angle, const double & scale, const Camera & camera);
+ void draw_particle(const Sprite & sprite, const Vector2 & pos, const double & angle,
+ const double & scale, const Camera & camera) const;
//! Clears the screen, preparing for a new frame.
void clear_screen();
@@ -147,7 +148,7 @@ private:
* \param sprite Reference to the sprite to calculate the rectangle
* \return sdl rectangle to draw a src image
*/
- SDL_Rect get_src_rect(const Sprite & sprite);
+ SDL_Rect get_src_rect(const Sprite & sprite) const;
/**
* \brief calculates the sqaure size of the image for an destination
*
@@ -158,7 +159,8 @@ private:
* on the camera
* \return sdl rectangle to draw a dst image to draw on the screen
*/
- SDL_Rect get_dst_rect(const Sprite & sprite, const Vector2 & pos, const double & scale, const Camera & cam);
+ SDL_Rect get_dst_rect(const Sprite & sprite, const Vector2 & pos, const double & scale,
+ const Camera & cam) const;
private:
//! sdl Window