#ifndef SDLPP_HPP_RECT_COLIDER #define SDLPP_HPP_RECT_COLIDER #include "sdlpp_common.hpp" #include "sdlpp_collision.hpp" #include namespace SDLPP { class SDLPPSCOPE RectColider : public CollisionPolygon { public: RectColider( double x, double y, double w, double h ); virtual ~RectColider() {} virtual bool colidesWith( const CollisionPolygon &other ) const override; virtual bool isCircle() const override; virtual int topmost() const override; virtual int bottommost() const override; virtual int leftmost() const override; virtual int rightmost() const override; virtual void updateCollision( int x, int y, int w, int h ) override; virtual void render( Renderer &renderer, const std::tuple< int, int, int, int > &color ) override; virtual void render( Renderer &renderer ) override; virtual std::shared_ptr copySelf() override; private: SDL_Rect getRect(); double w_; double h_; int pixel_w; int pixel_h; }; } // end of namespace SDLPP #endif