/** * Subtract this layer area from an underlying dirty regions. The method is designed to reduce * dirty regions of a layres below the opaque visible layer. * * @param le layer list element */ private void cleanLowerDirtyRegions(CLayerElement le) { if (CGraphicsQ.DEBUG) { System.err.println("Clean dirty regions under opaque layer: " + le.getLayer()); } CLayer l = le.getLayer(); for (CLayerElement le2 = le.getLower(); le2 != null; le2 = le2.getLower()) { CLayer l2 = le2.getLayer(); if (l2.isDirty()) { l2.subDirtyRegion( l.bounds[X] - l2.bounds[X], l.bounds[Y] - l2.bounds[Y], l.bounds[W], l.bounds[H]); } } }