mirror of
https://github.com/izzy2lost/xemu.git
synced 2026-07-06 00:20:22 -07:00
console: clip update rectangle
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
This commit is contained in:
committed by
Blue Swirl
parent
bc210eb163
commit
4b4496dbcc
@@ -229,6 +229,16 @@ static inline void unregister_displaychangelistener(DisplayState *ds,
|
||||
static inline void dpy_gfx_update(DisplayState *s, int x, int y, int w, int h)
|
||||
{
|
||||
struct DisplayChangeListener *dcl;
|
||||
int width = pixman_image_get_width(s->surface->image);
|
||||
int height = pixman_image_get_height(s->surface->image);
|
||||
|
||||
x = MAX(x, 0);
|
||||
y = MAX(y, 0);
|
||||
x = MIN(x, width);
|
||||
y = MIN(y, height);
|
||||
w = MIN(w, width - x);
|
||||
h = MIN(h, height - y);
|
||||
|
||||
QLIST_FOREACH(dcl, &s->listeners, next) {
|
||||
if (dcl->dpy_gfx_update) {
|
||||
dcl->dpy_gfx_update(s, x, y, w, h);
|
||||
|
||||
Reference in New Issue
Block a user