mirror of
https://github.com/openwrt/video.git
synced 2026-10-13 18:48:05 +04:00
ply_pixel_buffer_get_size() reports the logical area while ply_pixel_buffer_get_argb32_data() points at the device pixel buffer. Where the device scale is above one, the plutovg surface then describes the buffer as too narrow and with too short a stride, so each odd logical row lands in the right half of the panel and the image collapses into a fraction of it. The damaged area is handed over in logical coordinates as well, while ply_renderer_head_flush_area() reads it as device pixels. Size the surface in device pixels, scale the canvas by the device scale so a theme keeps drawing in logical coordinates, and report the damaged area in device pixels. Signed-off-by: Daniel Golle <daniel@makrotopia.org>