Relates :
|
|
Relates :
|
|
Relates :
|
The fix 6776743 introduces the "boolean" API for controling how the hw/lw mixing code cuts out shapes of lw component from hw components. The API (the com.sun.awt.AWTUtilities class) is as follows: setComponentNonOpaqueForMixing(Component component, boolean nonOpaque); Making a component 'non-opaque-for-mixing' tells the mixing code to not cut out the shape of this component (but still cut out the shapes of its children). However this API seems too limited: the new L&Fs which use non-opaque components to render rounded corners will work OK, but the rounded corners themselves will produce some kind of "unrendered pieces". To eliminate this limitation we need to remove the newly introduced API (it is introduced in 6u14b01, nobody uses it for now, it is not an "official" API), and replace it with the following API in 6u14b02: setComponentMixingCutoutShape(Component component, Shape shape); By default a component will have a null cutout shape, meaning the component should be considered opaque rectangle by the hw/lw mixing code. Setting an empty non-null shape means the component should be treated as a non-opaque entity (only the shapes of its children should be cut out by the mixing code). Finally, if one sets a non-null, non-empty shape to the component, exactly this shape will be cut out from hw components.
|