aboutsummaryrefslogtreecommitdiff
path: root/src/crepe/facade/SDLContext.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/crepe/facade/SDLContext.h')
-rw-r--r--src/crepe/facade/SDLContext.h30
1 files changed, 28 insertions, 2 deletions
diff --git a/src/crepe/facade/SDLContext.h b/src/crepe/facade/SDLContext.h
index 536dec5..5b5ee3e 100644
--- a/src/crepe/facade/SDLContext.h
+++ b/src/crepe/facade/SDLContext.h
@@ -3,6 +3,7 @@
#include <SDL2/SDL_keycode.h>
#include <SDL2/SDL_render.h>
#include <SDL2/SDL_video.h>
+#include <cstdint>
#include <functional>
#include <memory>
#include <string>
@@ -10,6 +11,7 @@
#include "../api/Sprite.h"
#include "../api/Transform.h"
#include "api/Camera.h"
+#include "api/Vector2.h"
// FIXME: this needs to be removed
const int SCREEN_WIDTH = 640;
@@ -108,14 +110,14 @@ private:
* \param texture Reference to the Texture object.
* \return Width of the texture as an integer.
*/
- int get_width(const Texture &) const;
+ int get_width(const Texture &) ;
/**
* \brief Gets the height of a texture.
* \param texture Reference to the Texture object.
* \return Height of the texture as an integer.
*/
- int get_height(const Texture &) const;
+ int get_height(const Texture &) ;
private:
//! Will use draw,clear_screen, present_screen, camera.
@@ -130,6 +132,8 @@ private:
void draw(const Sprite & sprite, const Transform & transform,
const Camera & camera);
+ void draw_particle(const Vector2 & pos, const Camera & camera);
+
//! Clears the screen, preparing for a new frame.
void clear_screen();
@@ -142,6 +146,28 @@ private:
*/
void camera(const Camera & camera);
+ /**
+ * \brief changes the texture rbg values with the given parameters
+ * it sets the allowed color inside a image. So if all the colors are 255 (MAXIMUM)
+ * it will show the given texture. however if the one of the colors is reduced it will reduce the
+ *
+ *
+ * \param texture the given texture to adjust
+ * \param r Red color
+ * \param g Green color
+ * \param b Blue color
+ */
+ void set_rbg_texture(const std::shared_ptr<Texture>& texture, const uint8_t& r, const uint8_t& g, const uint8_t& b);
+
+
+ /**
+ * \brief Modifies the transparency of the given texture
+ *
+ * \param texture modify the given texture alpha channel
+ * \param alpha alpha channel
+ */
+ void set_alpha_texture(const std::shared_ptr<Texture>& texture, const uint8_t& alpha);
+
private:
//! sdl Window
std::unique_ptr<SDL_Window, std::function<void(SDL_Window *)>> game_window;