Sprite accepts alpha mod parameter; duplicate texture method
This commit is contained in:
parent
74ca4da69a
commit
605360bae5
|
@ -194,6 +194,7 @@ void Sprite::update()
|
||||||
{
|
{
|
||||||
SDL_Texture* texture = frames[frame_ii];
|
SDL_Texture* texture = frames[frame_ii];
|
||||||
SDL_Renderer* renderer = get_root()->renderer;
|
SDL_Renderer* renderer = get_root()->renderer;
|
||||||
|
SDL_SetTextureAlphaMod(texture, alpha_mod);
|
||||||
SDL_SetRenderTarget(renderer, NULL);
|
SDL_SetRenderTarget(renderer, NULL);
|
||||||
SDL_RenderCopyF(renderer, texture, NULL, box.get_rect());
|
SDL_RenderCopyF(renderer, texture, NULL, box.get_rect());
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,6 +25,7 @@ struct Sprite : Node
|
||||||
Animation blink_animation = Animation(&Sprite::toggle_hidden, this, 500);
|
Animation blink_animation = Animation(&Sprite::toggle_hidden, this, 500);
|
||||||
bool is_hidden = false;
|
bool is_hidden = false;
|
||||||
glm::vec2 step = {0, 0};
|
glm::vec2 step = {0, 0};
|
||||||
|
Uint8 alpha_mod = 255;
|
||||||
|
|
||||||
Sprite(Node*);
|
Sprite(Node*);
|
||||||
Sprite(Node*, std::string);
|
Sprite(Node*, std::string);
|
||||||
|
|
|
@ -35,6 +35,16 @@ void sfw::fill_texture(SDL_Renderer* renderer, SDL_Texture* texture, SDL_Texture
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SDL_Texture* sfw::duplicate_texture(SDL_Renderer* renderer, SDL_Texture* texture)
|
||||||
|
{
|
||||||
|
Box box = get_texture_box(texture);
|
||||||
|
SDL_Texture* duplicate = SDL_CreateTexture(
|
||||||
|
renderer, SDL_PIXELFORMAT_RGBA8888, SDL_TEXTUREACCESS_TARGET, box.get_w(), box.get_h());
|
||||||
|
SDL_SetRenderTarget(renderer, duplicate);
|
||||||
|
SDL_RenderCopyF(renderer, texture, NULL, NULL);
|
||||||
|
return duplicate;
|
||||||
|
}
|
||||||
|
|
||||||
std::vector<fs::path> sfw::glob(fs::path query)
|
std::vector<fs::path> sfw::glob(fs::path query)
|
||||||
{
|
{
|
||||||
fs::path basename = query.parent_path();
|
fs::path basename = query.parent_path();
|
||||||
|
|
|
@ -23,6 +23,7 @@ namespace sfw
|
||||||
Box get_texture_box(SDL_Texture*);
|
Box get_texture_box(SDL_Texture*);
|
||||||
void fill_texture(SDL_Renderer*, SDL_Texture*, int, int, int, int = 0xff);
|
void fill_texture(SDL_Renderer*, SDL_Texture*, int, int, int, int = 0xff);
|
||||||
void fill_texture(SDL_Renderer*, SDL_Texture*, SDL_Texture*);
|
void fill_texture(SDL_Renderer*, SDL_Texture*, SDL_Texture*);
|
||||||
|
SDL_Texture* duplicate_texture(SDL_Renderer*, SDL_Texture*);
|
||||||
std::vector<fs::path> glob(fs::path);
|
std::vector<fs::path> glob(fs::path);
|
||||||
fs::path get_next_file_name(
|
fs::path get_next_file_name(
|
||||||
fs::path, int = 0, std::string = "", std::string = "");
|
fs::path, int = 0, std::string = "", std::string = "");
|
||||||
|
|
Loading…
Reference in New Issue