The background is black instead of green

This commit is contained in:
loki-47-6F-64 2021-09-14 15:07:34 +02:00
parent 9982ae4675
commit f5db0e438b
3 changed files with 19 additions and 3 deletions

View File

@ -213,9 +213,8 @@ public:
return -1;
}
this->sws = std::move(*sws_opt);
return 0;
sws = std::move(*sws_opt);
return sws.blank(fb, 0, 0, frame->width, frame->height);
}
int convert(platf::img_t &img) override {

View File

@ -739,6 +739,20 @@ std::optional<sws_t> sws_t::make(int in_width, int in_height, int out_width, int
return std::move(sws);
}
int sws_t::blank(gl::frame_buf_t &fb, int offsetX, int offsetY, int width, int height) {
auto f = [&]() {
std::swap(offsetX, this->offsetX);
std::swap(offsetY, this->offsetY);
std::swap(width, this->out_width);
std::swap(height, this->out_height);
};
f();
auto fg = util::fail_guard(f);
return convert(fb);
}
std::optional<sws_t> sws_t::make(int in_width, int in_height, int out_width, int out_heigth) {
auto tex = gl::tex_t::make(2);
gl::ctx.BindTexture(GL_TEXTURE_2D, tex[0]);

View File

@ -282,6 +282,9 @@ public:
// Convert the loaded image into the first two framebuffers
int convert(gl::frame_buf_t &fb);
// Make an area of the image black
int blank(gl::frame_buf_t &fb, int offsetX, int offsetY, int width, int height);
void load_ram(platf::img_t &img);
void load_vram(img_descriptor_t &img, int offset_x, int offset_y, int texture);