9966 mixingLog.fine("this = " + this);
9967 }
9968 if (!isMixingNeeded()) {
9969 return;
9970 }
9971 if (isLightweight()) {
9972 subtractAndApplyShapeBelowMe();
9973 } else {
9974 applyCurrentShape();
9975 }
9976 }
9977 }
9978
9979 void mixOnHiding(boolean isLightweight) {
9980 // We cannot be sure that the peer exists at this point, so we need the argument
9981 // to find out whether the hiding component is (well, actually was) a LW or a HW.
9982 synchronized (getTreeLock()) {
9983 if (mixingLog.isLoggable(PlatformLogger.FINE)) {
9984 mixingLog.fine("this = " + this + "; isLightweight = " + isLightweight);
9985 }
9986 if (!isMixingNeeded()) {
9987 return;
9988 }
9989 if (isLightweight) {
9990 applyCurrentShapeBelowMe();
9991 }
9992 }
9993 }
9994
9995 void mixOnReshaping() {
9996 synchronized (getTreeLock()) {
9997 if (mixingLog.isLoggable(PlatformLogger.FINE)) {
9998 mixingLog.fine("this = " + this);
9999 }
10000 if (!isMixingNeeded()) {
10001 return;
10002 }
10003 if (isLightweight()) {
10004 applyCurrentShapeBelowMe();
10005 } else {
10006 applyCurrentShape();
10070 }
10071 Window window = getContainingWindow();
10072 if (window != null) {
10073 if (!window.hasHeavyweightDescendants() || !window.hasLightweightDescendants()) {
10074 if (mixingLog.isLoggable(PlatformLogger.FINE)) {
10075 mixingLog.fine("containing window = " + window +
10076 "; has h/w descendants = " + window.hasHeavyweightDescendants() +
10077 "; has l/w descendants = " + window.hasLightweightDescendants());
10078 }
10079 return false;
10080 }
10081 } else {
10082 if (mixingLog.isLoggable(PlatformLogger.FINE)) {
10083 mixingLog.fine("this = " + this + "; containing window is null");
10084 }
10085 return false;
10086 }
10087 return true;
10088 }
10089
10090 // ****************** END OF MIXING CODE ********************************
10091
10092 // Note that the method is overriden in the Window class,
10093 // a window doesn't need to be updated in the Z-order.
10094 void updateZOrder() {
10095 peer.setZOrder(getHWPeerAboveMe());
10096 }
10097
10098 }
|
9966 mixingLog.fine("this = " + this);
9967 }
9968 if (!isMixingNeeded()) {
9969 return;
9970 }
9971 if (isLightweight()) {
9972 subtractAndApplyShapeBelowMe();
9973 } else {
9974 applyCurrentShape();
9975 }
9976 }
9977 }
9978
9979 void mixOnHiding(boolean isLightweight) {
9980 // We cannot be sure that the peer exists at this point, so we need the argument
9981 // to find out whether the hiding component is (well, actually was) a LW or a HW.
9982 synchronized (getTreeLock()) {
9983 if (mixingLog.isLoggable(PlatformLogger.FINE)) {
9984 mixingLog.fine("this = " + this + "; isLightweight = " + isLightweight);
9985 }
9986 if (!isMixingNeeded() || isDisposing()) {
9987 return;
9988 }
9989 if (isLightweight) {
9990 applyCurrentShapeBelowMe();
9991 }
9992 }
9993 }
9994
9995 void mixOnReshaping() {
9996 synchronized (getTreeLock()) {
9997 if (mixingLog.isLoggable(PlatformLogger.FINE)) {
9998 mixingLog.fine("this = " + this);
9999 }
10000 if (!isMixingNeeded()) {
10001 return;
10002 }
10003 if (isLightweight()) {
10004 applyCurrentShapeBelowMe();
10005 } else {
10006 applyCurrentShape();
10070 }
10071 Window window = getContainingWindow();
10072 if (window != null) {
10073 if (!window.hasHeavyweightDescendants() || !window.hasLightweightDescendants()) {
10074 if (mixingLog.isLoggable(PlatformLogger.FINE)) {
10075 mixingLog.fine("containing window = " + window +
10076 "; has h/w descendants = " + window.hasHeavyweightDescendants() +
10077 "; has l/w descendants = " + window.hasLightweightDescendants());
10078 }
10079 return false;
10080 }
10081 } else {
10082 if (mixingLog.isLoggable(PlatformLogger.FINE)) {
10083 mixingLog.fine("this = " + this + "; containing window is null");
10084 }
10085 return false;
10086 }
10087 return true;
10088 }
10089
10090 boolean isDisposing() {
10091 Window window = getContainingWindow();
10092 return window != null && window.isDisposing();
10093 }
10094
10095 // ****************** END OF MIXING CODE ********************************
10096
10097 // Note that the method is overriden in the Window class,
10098 // a window doesn't need to be updated in the Z-order.
10099 void updateZOrder() {
10100 peer.setZOrder(getHWPeerAboveMe());
10101 }
10102
10103 }
|