| 1002 | } |
| 1003 | |
| 1004 | void Layout::queueDrawExcept (int x, int y, int width, int height, |
| 1005 | int ex, int ey, int ewidth, int eheight) { |
| 1006 | |
| 1007 | if (x == ex && y == ey && width == ewidth && height == eheight) |
| 1008 | return; |
| 1009 | |
| 1010 | // queueDraw() the four rectangles within rectangle (x, y, width, height) |
| 1011 | // around rectangle (ex, ey, ewidth, eheight). |
| 1012 | // Some or all of these may be empty. |
| 1013 | |
| 1014 | // upper left corner of the intersection rectangle |
| 1015 | int ix1 = misc::max (x, ex); |
| 1016 | int iy1 = misc::max (y, ey); |
| 1017 | // lower right corner of the intersection rectangle |
| 1018 | int ix2 = misc::min (x + width, ex + ewidth); |
| 1019 | int iy2 = misc::min (y + height, ey + eheight); |
| 1020 | |
| 1021 | queueDraw (x, y, width, iy1 - y); |
| 1022 | queueDraw (x, iy2, width, y + height - iy2); |
| 1023 | queueDraw (x, iy1, ix1 - x, iy2 - iy1); |
| 1024 | queueDraw (ix2, iy1, x + width - ix2, iy2 - iy1); |
| 1025 | } |
| 1026 | |
| 1027 | void Layout::queueResize (bool extremesChanged) |
| 1028 | { |
no test coverage detected