Added source rectangle option for texture setting
This commit is contained in:
@@ -13,9 +13,18 @@ RectangleRender::RectangleRender( double x, double y, double w, double h,
|
||||
}
|
||||
RectangleRender::RectangleRender( double x, double y, double w, double h,
|
||||
const std::shared_ptr< Renderer > &r,
|
||||
const std::shared_ptr< Texture > &t )
|
||||
const std::shared_ptr< Texture > &t,
|
||||
int source_x, int source_y, int source_width,
|
||||
int source_height )
|
||||
: RectangleRender( x, y, w, h, r ) {
|
||||
setTexture( t );
|
||||
setTexture( t, source_x, source_y, source_width, source_height );
|
||||
}
|
||||
RectangleRender::RectangleRender( double x, double y, double w, double h,
|
||||
const std::shared_ptr< Renderer > &r,
|
||||
const std::shared_ptr< Texture > &t,
|
||||
SDL_Rect source_rect )
|
||||
: RectangleRender( x, y, w, h, r ) {
|
||||
setTexture( t, source_rect );
|
||||
}
|
||||
RectangleRender::RectangleRender( double x, double y, double w, double h,
|
||||
const std::shared_ptr< Renderer > &r,
|
||||
@@ -29,6 +38,20 @@ RectangleRender::RectangleRender( double x, double y, double w, double h,
|
||||
color = img_or_color;
|
||||
}
|
||||
}
|
||||
RectangleRender::RectangleRender( double x, double y, double w, double h,
|
||||
const std::shared_ptr< Renderer > &r,
|
||||
const std::string &img, int source_x,
|
||||
int source_y, int source_width,
|
||||
int source_height )
|
||||
: RectangleRender( x, y, w, h, r ) {
|
||||
setTexture( img, source_x, source_y, source_width, source_height );
|
||||
}
|
||||
RectangleRender::RectangleRender( double x, double y, double w, double h,
|
||||
const std::shared_ptr< Renderer > &r,
|
||||
const std::string &img, SDL_Rect source_rect )
|
||||
: RectangleRender( x, y, w, h, r ) {
|
||||
setTexture( img, source_rect );
|
||||
}
|
||||
void RectangleRender::setColor( const std::string &color ) {
|
||||
if ( !polygon ) {
|
||||
polygon = std::make_shared< RectColider >( 0, 0, 1, 1 );
|
||||
@@ -97,11 +120,11 @@ void RectangleRender::centerX() {
|
||||
}
|
||||
std::shared_ptr< RenderObject > RectangleRender::copySelf() {
|
||||
auto ret = std::make_shared< RectangleRender >( *this );
|
||||
copyTo(ret);
|
||||
copyTo( ret );
|
||||
return ret;
|
||||
}
|
||||
void RectangleRender::copyTo(std::shared_ptr<RenderObject> other) {
|
||||
RenderObject::copyTo(other);
|
||||
void RectangleRender::copyTo( std::shared_ptr< RenderObject > other ) {
|
||||
RenderObject::copyTo( other );
|
||||
}
|
||||
std::string RectangleRender::getColor() const {
|
||||
return color;
|
||||
|
||||
Reference in New Issue
Block a user