I did run current TLF tests nothing blows up. :) Next week will commit new tests.

W dniu 2014-05-22 05:53, aha...@apache.org pisze:
Repository: flex-tlf
Updated Branches:
   refs/heads/develop 41fc042d0 -> 592b45fa2


FLEX-34247 improve TLF performance.  I added a flag in case some scenario 
really needs composition to start from the beginning, but the default is now 
more like the TLF version that shipped with Adobe Flex 4.6


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

Branch: refs/heads/develop
Commit: 592b45fa219af46592f30ad712b739ac606ed296
Parents: 41fc042
Author: Alex Harui <aha...@apache.org>
Authored: Wed May 21 20:52:45 2014 -0700
Committer: Alex Harui <aha...@apache.org>
Committed: Wed May 21 20:52:45 2014 -0700

----------------------------------------------------------------------
  .../src/flashx/textLayout/compose/BaseCompose.as     |  7 ++++---
  .../src/flashx/textLayout/compose/ComposeState.as    | 15 +++++++++------
  .../textLayout/container/ContainerController.as      |  1 +
  3 files changed, 14 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-tlf/blob/592b45fa/textLayout/src/flashx/textLayout/compose/BaseCompose.as
----------------------------------------------------------------------
diff --git a/textLayout/src/flashx/textLayout/compose/BaseCompose.as 
b/textLayout/src/flashx/textLayout/compose/BaseCompose.as
index 2ad0506..b7c4b02 100644
--- a/textLayout/src/flashx/textLayout/compose/BaseCompose.as
+++ b/textLayout/src/flashx/textLayout/compose/BaseCompose.as
@@ -30,6 +30,7 @@ package flashx.textLayout.compose
        import flash.text.engine.TextLineValidity;
        import flash.utils.Dictionary;
        
+       import flashx.textLayout.tlf_internal;
        import flashx.textLayout.container.ContainerController;
        import flashx.textLayout.debug.Debugging;
        import flashx.textLayout.debug.assert;
@@ -69,7 +70,6 @@ package flashx.textLayout.compose
        import flashx.textLayout.formats.TextLayoutFormat;
        import flashx.textLayout.formats.VerticalAlign;
        import flashx.textLayout.property.Property;
-       import flashx.textLayout.tlf_internal;
        import flashx.textLayout.utils.LocaleUtil;
        import flashx.textLayout.utils.Twips;
@@ -892,8 +892,9 @@ package flashx.textLayout.compose
                        
                        resetControllerBounds();
                        
-                       // Bug, needs to remove
-                       _startComposePosition = _startController.absoluteStart;
+                       // Bug, needs to remove
+                       if 
(ContainerController.tlf_internal::startComposeFromBeginning)
+                               _startComposePosition = 
_startController.absoluteStart;
                        
                        // This is where we will start composing from
                        _curElement = _textFlow.findLeaf(_startComposePosition);

http://git-wip-us.apache.org/repos/asf/flex-tlf/blob/592b45fa/textLayout/src/flashx/textLayout/compose/ComposeState.as
----------------------------------------------------------------------
diff --git a/textLayout/src/flashx/textLayout/compose/ComposeState.as 
b/textLayout/src/flashx/textLayout/compose/ComposeState.as
index ce7bddc..d40dc2b 100644
--- a/textLayout/src/flashx/textLayout/compose/ComposeState.as
+++ b/textLayout/src/flashx/textLayout/compose/ComposeState.as
@@ -27,6 +27,7 @@ package flashx.textLayout.compose
        import flash.text.engine.TextLineCreationResult;
        import flash.text.engine.TextLineValidity;
        
+       import flashx.textLayout.tlf_internal;
        import flashx.textLayout.container.ContainerController;
        import flashx.textLayout.debug.Debugging;
        import flashx.textLayout.debug.assert;
@@ -46,7 +47,6 @@ package flashx.textLayout.compose
        import flashx.textLayout.formats.ListStylePosition;
        import flashx.textLayout.formats.TextAlign;
        import flashx.textLayout.formats.VerticalAlign;
-       import flashx.textLayout.tlf_internal;
        import flashx.textLayout.utils.Twips;
        
        use namespace tlf_internal;
@@ -340,11 +340,14 @@ package flashx.textLayout.compose
                        var line:TextFlowLine = _curLineIndex < 
_flowComposer.numLines ? (_flowComposer as 
StandardFlowComposer).lines[_curLineIndex] : null;
                        
                        var useExistingLine:Boolean = line && 
(!line.isDamaged() || line.validity == FlowDamageType.GEOMETRY);
-                       // if the line ends with a hyphen, don't use existing 
line because the player seems to mis-handle
-                       // starting the next line.
-                       if (useExistingLine && line.textLength > 0 &&
-                               
line.paragraph.getCharCodeAtPosition(line.absoluteStart + line.textLength - 1) 
== 0xAD)
-                               useExistingLine = false;
+                       if 
(ContainerController.tlf_internal::usesDiscretionaryHyphens)
+                       {
+                               // if the line ends with a hyphen, don't use 
existing line because the player seems to mis-handle
+                               // starting the next line.
+                               if (useExistingLine && line.textLength > 0 &&
+                                       
line.paragraph.getCharCodeAtPosition(line.absoluteStart + line.textLength - 1) 
== 0xAD)
+                                       useExistingLine = false;
+                       }
                        var numberLine:TextLine;
                        
                        // create numberLine if in a listElement

http://git-wip-us.apache.org/repos/asf/flex-tlf/blob/592b45fa/textLayout/src/flashx/textLayout/container/ContainerController.as
----------------------------------------------------------------------
diff --git a/textLayout/src/flashx/textLayout/container/ContainerController.as 
b/textLayout/src/flashx/textLayout/container/ContainerController.as
index 528c26d..a4e63f1 100644
--- a/textLayout/src/flashx/textLayout/container/ContainerController.as
+++ b/textLayout/src/flashx/textLayout/container/ContainerController.as
@@ -112,6 +112,7 @@ package flashx.textLayout.container
        public class ContainerController implements IInteractionEventHandler, 
ITextLayoutFormat, ISandboxSupport
        {               
                static tlf_internal var usesDiscretionaryHyphens:Boolean = true;
+               static tlf_internal var startComposeFromBeginning:Boolean = 
false;
                
                private var _textFlowCache:TextFlow;
                private var _rootElement:ContainerFormattedElement;


Reply via email to