From 26f6531c9d4f6671726a0791aa83b11411bfd30f Mon Sep 17 00:00:00 2001 From: scawful Date: Fri, 18 Aug 2023 10:27:50 -0400 Subject: [PATCH] Add Bitmap::SaveSurfaceToFile --- src/app/gfx/bitmap.cc | 4 ++++ src/app/gfx/bitmap.h | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/app/gfx/bitmap.cc b/src/app/gfx/bitmap.cc index b5ce5f0e..e8888ffb 100644 --- a/src/app/gfx/bitmap.cc +++ b/src/app/gfx/bitmap.cc @@ -137,6 +137,10 @@ void Bitmap::UpdateTexture(std::shared_ptr renderer) { SDL_Texture_Deleter{}}; } +void Bitmap::SaveSurfaceToFile(std::string_view filename) { + SDL_SaveBMP(surface_.get(), filename.data()); +} + void Bitmap::SetSurface(SDL_Surface *surface) { surface_ = std::unique_ptr( surface, SDL_Surface_Deleter()); diff --git a/src/app/gfx/bitmap.h b/src/app/gfx/bitmap.h index ea46622e..944b7969 100644 --- a/src/app/gfx/bitmap.h +++ b/src/app/gfx/bitmap.h @@ -28,7 +28,7 @@ class Bitmap { void Create(int width, int height, int depth, int data_size); void Create(int width, int height, int depth, uchar *data, int data_size); void Create(int width, int height, int depth, Bytes data); - + void CreateFromSurface(SDL_Surface *surface); void Apply(Bytes data); @@ -36,6 +36,7 @@ class Bitmap { void CreateTexture(std::shared_ptr renderer); void UpdateTexture(std::shared_ptr renderer); + void SaveSurfaceToFile(std::string_view filename); void SetSurface(SDL_Surface *surface); void ApplyPalette(const SNESPalette &palette);