/*
- * Copyright (c) 2017 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2018 Samsung Electronics Co., Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
mScrollView.SetAxisAutoLock( true );
mScrollView.ScrollStartedSignal().Connect( this, &TextSelectionToolbar::OnScrollStarted );
mScrollView.ScrollCompletedSignal().Connect( this, &TextSelectionToolbar::OnScrollCompleted );
+ mScrollView.SetProperty( Actor::Property::CLIPPING_MODE, ClippingMode::CLIP_TO_BOUNDING_BOX ); // In a new layer, so clip to scroll-view's bounding box
mRulerX = new DefaultRuler(); // IntrusivePtr which is unreferenced when ScrollView is destroyed.
void TextSelectionToolbar::OnScrollStarted( const Vector2& position )
{
+ if( mFirstScrollEnd )
+ {
+ mScrollView.SetOvershootEnabled( true );
+ }
mTableOfButtons.SetSensitive( false );
}
void TextSelectionToolbar::OnScrollCompleted( const Vector2& position )
{
+ mFirstScrollEnd = true;
mTableOfButtons.SetSensitive( true );
}
RelayoutRequest();
}
+void TextSelectionToolbar::ScrollTo( const Vector2& position )
+{
+ mFirstScrollEnd = false;
+ mScrollView.SetOvershootEnabled( false );
+ mScrollView.ScrollTo( position, 0.f );
+}
+
void TextSelectionToolbar::ConfigureScrollview( const Property::Map& properties )
{
// Set any properties specified for the label by iterating through all property key-value pairs.
mMaxSize (),
mScrollBarPadding( DEFAULT_SCROLL_BAR_PADDING ),
mIndexInTable( 0 ),
- mDividerIndexes()
+ mDividerIndexes(),
+ mFirstScrollEnd( false )
{
}