swrenderer: rewrite TargetPixelBuffer::draw_texture interface

Instead of using datastructure that are tailored to our line by line
renderer and draw functions, use more generic and future proof data that
are easier to handle by hardware accelerator, and may be easier to
stabilize.

The screenshots from the screenshots test have to be re-done
because the rounding is different

Note: the C++ API DrawTextureArgs is not exposed yet
This commit is contained in:
Olivier Goffart 2025-04-29 23:26:02 +02:00 committed by GitHub
parent cf3f1cadd9
commit c8138ff1db
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
10 changed files with 562 additions and 598 deletions

View file

@ -902,7 +902,7 @@ fn gen_platform(
.with_after_include(
r"
namespace slint::platform { struct Rgb565Pixel; }
namespace slint::cbindgen_private { struct WindowProperties; using slint::platform::Rgb565Pixel; using slint::cbindgen_private::types::TexturePixelFormat; }
namespace slint::cbindgen_private { struct WindowProperties; using slint::platform::Rgb565Pixel; using slint::cbindgen_private::types::TexturePixelFormat; struct DrawTextureArgs; }
",
)
.generate()