Merge "Revert "Stop window redraws for invisible parent children"" into qt-dev
This commit is contained in:
@@ -17998,7 +17998,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
|
||||
final int scrollX = mScrollX;
|
||||
final int scrollY = mScrollY;
|
||||
invalidateInternal(dirty.left - scrollX, dirty.top - scrollY,
|
||||
dirty.right - scrollX, dirty.bottom - scrollY, true);
|
||||
dirty.right - scrollX, dirty.bottom - scrollY, true, false);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -18024,7 +18024,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
|
||||
public void invalidate(int l, int t, int r, int b) {
|
||||
final int scrollX = mScrollX;
|
||||
final int scrollY = mScrollY;
|
||||
invalidateInternal(l - scrollX, t - scrollY, r - scrollX, b - scrollY, true);
|
||||
invalidateInternal(l - scrollX, t - scrollY, r - scrollX, b - scrollY, true, false);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -18054,10 +18054,11 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
|
||||
*/
|
||||
@UnsupportedAppUsage
|
||||
public void invalidate(boolean invalidateCache) {
|
||||
invalidateInternal(0, 0, mRight - mLeft, mBottom - mTop, invalidateCache);
|
||||
invalidateInternal(0, 0, mRight - mLeft, mBottom - mTop, invalidateCache, true);
|
||||
}
|
||||
|
||||
void invalidateInternal(int l, int t, int r, int b, boolean invalidateCache) {
|
||||
void invalidateInternal(int l, int t, int r, int b, boolean invalidateCache,
|
||||
boolean fullInvalidate) {
|
||||
if (mGhostView != null) {
|
||||
mGhostView.invalidate(true);
|
||||
return;
|
||||
@@ -18074,9 +18075,11 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
|
||||
if ((mPrivateFlags & (PFLAG_DRAWN | PFLAG_HAS_BOUNDS)) == (PFLAG_DRAWN | PFLAG_HAS_BOUNDS)
|
||||
|| (invalidateCache && (mPrivateFlags & PFLAG_DRAWING_CACHE_VALID) == PFLAG_DRAWING_CACHE_VALID)
|
||||
|| (mPrivateFlags & PFLAG_INVALIDATED) != PFLAG_INVALIDATED
|
||||
|| isOpaque() != mLastIsOpaque) {
|
||||
mLastIsOpaque = isOpaque();
|
||||
mPrivateFlags &= ~PFLAG_DRAWN;
|
||||
|| (fullInvalidate && isOpaque() != mLastIsOpaque)) {
|
||||
if (fullInvalidate) {
|
||||
mLastIsOpaque = isOpaque();
|
||||
mPrivateFlags &= ~PFLAG_DRAWN;
|
||||
}
|
||||
|
||||
mPrivateFlags |= PFLAG_DIRTY;
|
||||
|
||||
@@ -22621,7 +22624,12 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
|
||||
@Override
|
||||
public void invalidateDrawable(@NonNull Drawable drawable) {
|
||||
if (verifyDrawable(drawable)) {
|
||||
invalidate();
|
||||
final Rect dirty = drawable.getDirtyBounds();
|
||||
final int scrollX = mScrollX;
|
||||
final int scrollY = mScrollY;
|
||||
|
||||
invalidate(dirty.left + scrollX, dirty.top + scrollY,
|
||||
dirty.right + scrollX, dirty.bottom + scrollY);
|
||||
rebuildOutline();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user