projects
/
platform
/
core
/
uifw
/
dali-toolkit.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[3.0] Text - Fix for placement actor.
[platform/core/uifw/dali-toolkit.git]
/
dali-toolkit
/
internal
/
text
/
text-controller-impl.cpp
diff --git
a/dali-toolkit/internal/text/text-controller-impl.cpp
b/dali-toolkit/internal/text/text-controller-impl.cpp
index
5769fac
..
716a87d
100644
(file)
--- a/
dali-toolkit/internal/text/text-controller-impl.cpp
+++ b/
dali-toolkit/internal/text/text-controller-impl.cpp
@@
-31,6
+31,7
@@
#include <dali-toolkit/internal/text/multi-language-support.h>
#include <dali-toolkit/internal/text/segmentation.h>
#include <dali-toolkit/internal/text/shaper.h>
#include <dali-toolkit/internal/text/multi-language-support.h>
#include <dali-toolkit/internal/text/segmentation.h>
#include <dali-toolkit/internal/text/shaper.h>
+#include <dali-toolkit/internal/text/text-control-interface.h>
#include <dali-toolkit/internal/text/text-run-container.h>
namespace
#include <dali-toolkit/internal/text/text-run-container.h>
namespace
@@
-88,6
+89,7
@@
EventData::EventData( DecoratorPtr decorator )
mGrabHandleEnabled( true ),
mGrabHandlePopupEnabled( true ),
mSelectionEnabled( true ),
mGrabHandleEnabled( true ),
mGrabHandlePopupEnabled( true ),
mSelectionEnabled( true ),
+ mUpdateCursorHookPosition( false ),
mUpdateCursorPosition( false ),
mUpdateGrabHandlePosition( false ),
mUpdateLeftSelectionPosition( false ),
mUpdateCursorPosition( false ),
mUpdateGrabHandlePosition( false ),
mUpdateLeftSelectionPosition( false ),
@@
-1308,6
+1310,7
@@
void Controller::Impl::OnLongPressEvent( const Event& event )
{
ChangeState ( EventData::EDITING_WITH_POPUP );
mEventData->mDecoratorUpdated = true;
{
ChangeState ( EventData::EDITING_WITH_POPUP );
mEventData->mDecoratorUpdated = true;
+ mEventData->mUpdateInputStyle = true;
}
}
}
}
@@
-2664,13
+2667,13
@@
void Controller::Impl::UpdateSelectionHandle( HandleType handleType,
void Controller::Impl::ClampHorizontalScroll( const Vector2& layoutSize )
{
void Controller::Impl::ClampHorizontalScroll( const Vector2& layoutSize )
{
- // Clamp between -space &
0
.
+ // Clamp between -space &
-alignment offset
.
if( layoutSize.width > mVisualModel->mControlSize.width )
{
if( layoutSize.width > mVisualModel->mControlSize.width )
{
- const float space = ( layoutSize.width - mVisualModel->mControlSize.width );
+ const float space = ( layoutSize.width - mVisualModel->mControlSize.width )
+ mAlignmentOffset
;
mScrollPosition.x = ( mScrollPosition.x < -space ) ? -space : mScrollPosition.x;
mScrollPosition.x = ( mScrollPosition.x < -space ) ? -space : mScrollPosition.x;
- mScrollPosition.x = ( mScrollPosition.x >
0.f ) ? 0.f
: mScrollPosition.x;
+ mScrollPosition.x = ( mScrollPosition.x >
-mAlignmentOffset ) ? -mAlignmentOffset
: mScrollPosition.x;
mEventData->mDecoratorUpdated = true;
}
mEventData->mDecoratorUpdated = true;
}
@@
-2682,6
+2685,12
@@
void Controller::Impl::ClampHorizontalScroll( const Vector2& layoutSize )
void Controller::Impl::ClampVerticalScroll( const Vector2& layoutSize )
{
void Controller::Impl::ClampVerticalScroll( const Vector2& layoutSize )
{
+ if( LayoutEngine::SINGLE_LINE_BOX == mLayoutEngine.GetLayout() )
+ {
+ // Nothing to do if the text is single line.
+ return;
+ }
+
// Clamp between -space & 0.
if( layoutSize.height > mVisualModel->mControlSize.height )
{
// Clamp between -space & 0.
if( layoutSize.height > mVisualModel->mControlSize.height )
{
@@
-2749,7
+2758,10
@@
void Controller::Impl::ScrollTextToMatchCursor( const CursorInfo& cursorInfo )
void Controller::Impl::RequestRelayout()
{
void Controller::Impl::RequestRelayout()
{
- mControlInterface.RequestTextRelayout();
+ if( NULL != mControlInterface )
+ {
+ mControlInterface->RequestTextRelayout();
+ }
}
} // namespace Text
}
} // namespace Text