src/share/classes/java/awt/Component.java

Print this page




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 }