Performance improvement (Text Scrolling)
authorChulheon <ch.jeong47@samsung.com>
Tue, 19 Mar 2013 01:28:34 +0000 (10:28 +0900)
committerChulheon <ch.jeong47@samsung.com>
Tue, 19 Mar 2013 01:28:34 +0000 (10:28 +0900)
Change-Id: I0db709a99f5d5cb914627cc6ac07802c63d3cc72

src/ui/controls/FUiCtrl_Edit.cpp
src/ui/controls/FUiCtrl_EditPresenter.cpp

index ee2abdd..fa840f0 100644 (file)
@@ -1050,7 +1050,14 @@ _Edit::UpdateAccessibilityElement(EditAccessibilityElementType type)
                        if (__pTextAccessibilityElement)
                        {
                                __pTextAccessibilityElement->SetBounds(FloatRectangle(0.0f,0.0f, GetBoundsF().width, GetBoundsF().height));
-                               __pTextAccessibilityElement->SetLabel(GetTitleText() + GetGuideText() + GetText());
+                               if ((GetEditStyle() & EDIT_STYLE_TITLE_TOP) || (GetEditStyle() & EDIT_STYLE_TITLE_LEFT))
+                               {
+                                       __pTextAccessibilityElement->SetLabel(GetTitleText() + GetGuideText() + GetText());
+                               }
+                               else
+                               {
+                                       __pTextAccessibilityElement->SetLabel(GetGuideText() + GetText());
+                               }
                        }
                        break;
                case EDIT_ACCESSIBILITY_ELEMENT_TYPE_CLEAR_ICON:
index 42b2ecd..75476c3 100644 (file)
@@ -88,6 +88,7 @@ const int MAX_LINE_NUMBER = 100;
 const int MAX_FLEXIBLE_HEIGHT_VERTICAL_MODE = 4000;
 const int MAX_FLEXIBLE_HEIGHT_HORIZONTAL_MODE = 2500;
 const int EDIT_FLICK_SCROLL_TIMER_INTERVAL = 10;
+const int EDIT_FLICK_SCROLL_MOVE_AMOUNT_MULTIPLIER = 2;
 const float DIRECTION_DECISION_RATIO = 1.3f;
 const float HORIZONTAL_DECISION_RATIO = 1.5f;
 const float MOVE_SKIP_DECISION_RANGE = 5.0f;
@@ -8701,8 +8702,23 @@ _EditPresenter::InitializeFlickAnimation(void)
        // Init Flick Animation Config
        if (__pFlickAnimation)
        {
-               __pFlickAnimation->SetSizeInformation(480, 800, DEVICE_SIZE_HORIZONTAL, DEVICE_SIZE_VERTICAL);
-               __pFlickAnimation->SetSensitivity(FLICK_ANIMATION_FPS_ICONLIST, FLICK_ANIMATION_SENSITIVITY_ICONLIST);
+               float width = 0.0f;
+               float height = 0.0f;
+               Tizen::Graphics::FloatDimension portraitSize = _ControlManager::GetInstance()->_ControlManager::GetScreenSizeF();
+               Tizen::Graphics::FloatDimension landscapeSize = FloatDimension(portraitSize.height, portraitSize.width);
+               if (__pEdit->GetOrientation() == _CONTROL_ORIENTATION_PORTRAIT)
+               {
+                       width = portraitSize.width;
+                       height = portraitSize.height;
+               }
+               else
+               {
+                       width = landscapeSize.width;
+                       height = landscapeSize.height;
+               }
+
+               __pFlickAnimation->SetSizeInformation(width, height, DEVICE_SIZE_HORIZONTAL, DEVICE_SIZE_VERTICAL);
+               __pFlickAnimation->SetSensitivity(FLICK_ANIMATION_FPS_PANEL, FLICK_ANIMATION_SENSITIVITY_PANEL);
        }
 
        // Stop Timer
@@ -8814,10 +8830,10 @@ _EditPresenter::ScrollContentsOnFlick(void)
                __pFlickAnimation->CalculateNextMove(&moveAmountX, &moveAmountY);
 
                // Scroll process
-               if (ScrollOnFlick(_CoordinateSystemUtils::ConvertToFloat(-moveAmountY)))
+               if (ScrollOnFlick(_CoordinateSystemUtils::ConvertToFloat(-moveAmountY*EDIT_FLICK_SCROLL_MOVE_AMOUNT_MULTIPLIER)))
                {
-                       __pEdit->Invalidate();
-
+                       DrawText();
+                       DrawScrollBar();
                        return E_SUCCESS;
                }
        }