Fix FLEX-34107  IconItemRenderer separators disappear when using a large font.


Project: http://git-wip-us.apache.org/repos/asf/flex-sdk/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-sdk/commit/d8a36027
Tree: http://git-wip-us.apache.org/repos/asf/flex-sdk/tree/d8a36027
Diff: http://git-wip-us.apache.org/repos/asf/flex-sdk/diff/d8a36027

Branch: refs/heads/master
Commit: d8a36027649722fcd8f636c228bd29a6df9e96f2
Parents: 6942969
Author: mamsellem <[email protected]>
Authored: Tue Feb 25 00:14:00 2014 +0100
Committer: mamsellem <[email protected]>
Committed: Tue Feb 25 00:14:00 2014 +0100

----------------------------------------------------------------------
 .../src/spark/components/LabelItemRenderer.as   | 26 +++++++++++++++++---
 1 file changed, 23 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/d8a36027/frameworks/projects/mobilecomponents/src/spark/components/LabelItemRenderer.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/mobilecomponents/src/spark/components/LabelItemRenderer.as
 
b/frameworks/projects/mobilecomponents/src/spark/components/LabelItemRenderer.as
index 97ab8ee..00c1328 100644
--- 
a/frameworks/projects/mobilecomponents/src/spark/components/LabelItemRenderer.as
+++ 
b/frameworks/projects/mobilecomponents/src/spark/components/LabelItemRenderer.as
@@ -329,6 +329,23 @@ public class LabelItemRenderer extends UIComponent
      *  Whether or not we're the last element in the list
      */
     mx_internal var isLastItem:Boolean = false;
+
+    private var _useOpaqueBackground: Boolean = true;
+
+    /**
+     * Option to use an opaqueBackground property for this renderer. This can 
improve scrolling speed.
+     * Since opaqueBackground adds  space around the text proportional to the 
font's size,
+     * you might need to turn it off when using large fonts to avoid 
background overflow.
+     * @default  true
+     */
+    public function get useOpaqueBackground(): Boolean {
+        return _useOpaqueBackground;
+    }
+
+    public function set useOpaqueBackground(value: Boolean): void {
+        _useOpaqueBackground = value;
+        invalidateDisplayList();
+    }
     
     
//--------------------------------------------------------------------------
     //
@@ -892,13 +909,14 @@ public class LabelItemRenderer extends UIComponent
                {
                        // If our background is a solid color, use it as the 
opaqueBackground property
                        // for this renderer. This makes scrolling considerably 
faster.
-                       opaqueBackgroundColor = backgroundColor;
+            if (_useOpaqueBackground)
+                            opaqueBackgroundColor = backgroundColor;
                }
 
         // Draw the separator for the item renderer
         drawBorder(unscaledWidth, unscaledHeight);
-        
-               opaqueBackground = opaqueBackgroundColor;
+
+               opaqueBackground =  opaqueBackgroundColor;
     }
     
     /**
@@ -1178,5 +1196,7 @@ public class LabelItemRenderer extends UIComponent
         down = (interactionStateDetector.state == InteractionState.DOWN);
         hovered = (interactionStateDetector.state == InteractionState.OVER);
     }
+
+
 }
 }
\ No newline at end of file

Reply via email to