1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 02:47:35 +00:00

LibAccelGfx: Remove ability to change target canvas in painter

It is easier to build painter assuming target canvas won't change and
we don't use this api anyway :)
This commit is contained in:
Aliaksandr Kalenik 2023-12-16 16:36:58 +01:00 committed by Andreas Kling
parent 161082e282
commit 4a2a37275e
3 changed files with 13 additions and 23 deletions

View file

@ -170,13 +170,14 @@ void main() {
HashMap<u32, GL::Texture> s_immutable_bitmap_texture_cache;
NonnullOwnPtr<Painter> Painter::create(Context& context)
NonnullOwnPtr<Painter> Painter::create(Context& context, NonnullRefPtr<Canvas> canvas)
{
return make<Painter>(context);
return make<Painter>(context, canvas);
}
Painter::Painter(Context& context)
Painter::Painter(Context& context, NonnullRefPtr<Canvas> canvas)
: m_context(context)
, m_target_canvas(canvas)
, m_rectangle_program(Program::create(Program::Name::RectangleProgram, vertex_shader_source, solid_color_fragment_shader_source))
, m_rounded_rectangle_program(Program::create(Program::Name::RoundedRectangleProgram, vertex_shader_source, rect_with_rounded_corners_fragment_shader_source))
, m_blit_program(Program::create(Program::Name::BlitProgram, blit_vertex_shader_source, blit_fragment_shader_source))
@ -184,6 +185,8 @@ Painter::Painter(Context& context)
, m_blur_program(Program::create(Program::Name::BlurProgram, blit_vertex_shader_source, blur_fragment_shader_source))
{
m_state_stack.empend(State());
state().clip_rect = { { 0, 0 }, m_target_canvas->size() };
bind_target_canvas();
}
Painter::~Painter()
@ -607,14 +610,6 @@ void Painter::bind_target_canvas()
GL::enable_scissor_test(state().clip_rect);
}
void Painter::set_target_canvas(NonnullRefPtr<Canvas> canvas)
{
m_target_canvas = canvas;
canvas->bind();
GL::set_viewport({ 0, 0, canvas->size().width(), canvas->size().height() });
state().clip_rect = { { 0, 0 }, m_target_canvas->size() };
}
void Painter::flush(Gfx::Bitmap& bitmap)
{
m_target_canvas->bind();