Clear buffer on forced draw
This commit is contained in:
@@ -219,6 +219,9 @@ impl App {
|
|||||||
|
|
||||||
let mmap = pool.mmap();
|
let mmap = pool.mmap();
|
||||||
let mut buf = Buffer::new(mmap, inner.dimensions);
|
let mut buf = Buffer::new(mmap, inner.dimensions);
|
||||||
|
if force {
|
||||||
|
buf.memset(&bg);
|
||||||
|
}
|
||||||
let mut damage = vec![];
|
let mut damage = vec![];
|
||||||
|
|
||||||
{
|
{
|
||||||
@@ -249,9 +252,13 @@ impl App {
|
|||||||
);
|
);
|
||||||
for surface in inner.surfaces.iter() {
|
for surface in inner.surfaces.iter() {
|
||||||
surface.attach(Some(&new_buffer), 0, 0);
|
surface.attach(Some(&new_buffer), 0, 0);
|
||||||
|
if force {
|
||||||
|
surface.damage(0, 0, buf_x as i32, buf_y as i32);
|
||||||
|
} else {
|
||||||
for d in damage.iter() {
|
for d in damage.iter() {
|
||||||
surface.damage(d.0, d.1, d.2, d.3);
|
surface.damage(d.0, d.1, d.2, d.3);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
surface.commit();
|
surface.commit();
|
||||||
}
|
}
|
||||||
Ok(())
|
Ok(())
|
||||||
|
|||||||
Reference in New Issue
Block a user