Details
-
Bug
-
Status: Closed
-
Minor
-
Resolution: Later
-
Adobe Flex SDK 4.1 (Release)
-
None
-
None
-
Affected OS(s): Mac
Affected OS(s): Mac OS 10.5
Language Found: English
Description
Please Note that ItemRenderer was not an option in the Components dropdown in the create Issue form, so IU have selected Spark: Group for want of a better option.
Steps to reproduce:
1. Create two ItemRenderers that overlap.
2. Perform a Fade on both renderers simultaneously
Actual Results: Although both renderers fade in/out, the area that overlaps is incorrectly rendered. For the duration of the fade it displays either the uppermost ItemRenderer or pure white depending on the situation. (See example project attached which breaks the ItemRenderer out from being used as a renderer, though it was in a List that I first encountered the problem)
Expected Results:
Renderers are rendered correctly at correct opacity.
Workaround (if any):
Overriding the ItemRenderer's drawBackground() and leaving it empty prevents the problem but also prevents the render being able to autoDrawBackground.
Set mouseEnabledWhereTransparent="false" and autoDrawBackground="false" on the ItemRenderer.
Additional Findings:
The problem does not occur in the DataRenderer, but occurs in its subclass; ItemRenderer. I have tracked the problem to its drawBackgroundFunction(). Subclassing ItemRenderer and overriding this function to prevent it drawing anything prevents the artifacts. However, what is really strange is that the problem occurs even if the ItemRenderer instance's autoDrawBackground property is set to false, causing it to delegate the function to a super class: GroupBase. DataRender which doesn't have the problem with artifacts lies between ItemRenderer and GroupBase and doesn't override the drawBackgroundFunction, so why does ItemRenderer suffer even when it is delegating the handling to the same function - GroupBase's implementation of drawBackground().