mirror of
https://github.com/kasmtech/KasmVNC.git
synced 2025-02-14 17:39:12 +01:00
Another optimization
This commit is contained in:
parent
5b3786e5ad
commit
834bb9a925
@ -216,15 +216,27 @@ void packWatermark(const Region &changed) {
|
|||||||
const Rect &bounding = changed.get_bounding_rect();
|
const Rect &bounding = changed.get_bounding_rect();
|
||||||
|
|
||||||
for (y = 0; y < rh; y++) {
|
for (y = 0; y < rh; y++) {
|
||||||
for (x = 0; x < rw; x++) {
|
// Is the entire line outside the changed area?
|
||||||
pix[cur] = 0;
|
if (bounding.tl.y > y || bounding.br.y < y) {
|
||||||
if (bounding.contains(Point(x, y)) && changed.contains(x, y))
|
for (x = 0; x < rw; x++) {
|
||||||
pix[cur] = watermarkUnpacked[y * rw + x];
|
pix[cur] = 0;
|
||||||
|
|
||||||
if (cur || (y == rh - 1 && x == rw - 1))
|
if (cur || (y == rh - 1 && x == rw - 1))
|
||||||
*dst++ = pix[0] | (pix[1] << 4);
|
*dst++ = pix[0] | (pix[1] << 4);
|
||||||
|
|
||||||
cur ^= 1;
|
cur ^= 1;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
for (x = 0; x < rw; x++) {
|
||||||
|
pix[cur] = 0;
|
||||||
|
if (bounding.contains(Point(x, y)) && changed.contains(x, y))
|
||||||
|
pix[cur] = watermarkUnpacked[y * rw + x];
|
||||||
|
|
||||||
|
if (cur || (y == rh - 1 && x == rw - 1))
|
||||||
|
*dst++ = pix[0] | (pix[1] << 4);
|
||||||
|
|
||||||
|
cur ^= 1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user