| 225 | } |
| 226 | |
| 227 | void PiuContainerInvalidate(void* it, PiuRectangle area) |
| 228 | { |
| 229 | if (area) { |
| 230 | PiuContainer* self = it; |
| 231 | if ((*self)->flags & piuVisible) { |
| 232 | PiuContainer* container = (*self)->container; |
| 233 | if (container && !PiuRectangleIsEmpty(area)) { |
| 234 | PiuRectangleOffset(area, (*self)->bounds.x, (*self)->bounds.y); |
| 235 | if ((*self)->flags & piuClip) |
| 236 | PiuRectangleIntersect(area, &(*self)->bounds, area); |
| 237 | (*(*container)->dispatch->invalidate)(container, area); |
| 238 | } |
| 239 | } |
| 240 | } |
| 241 | else { |
| 242 | PiuContentInvalidate(it, area); |
| 243 | } |
| 244 | } |
| 245 | |
| 246 | void PiuContainerMark(xsMachine* the, void* it, xsMarkRoot markRoot) |
| 247 | { |
nothing calls this directly
no test coverage detected