Conversion to Apache 2.0 license
[platform/core/uifw/dali-toolkit.git] / base / dali-toolkit / internal / controls / scrollable / scrollable-impl.cpp
index 021b908..c130d96 100644 (file)
@@ -1,18 +1,19 @@
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 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.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
 
 // INTERNAL INCLUDES
 #include <dali-toolkit/internal/controls/scrollable/scrollable-impl.h>
@@ -54,13 +55,14 @@ SignalConnectorType s4(mType, Toolkit::Scrollable::SIGNAL_SCROLL_CLAMPED,   &Scr
 
 const std::string Scrollable::SCROLLABLE_CAN_SCROLL_VERTICAL( "scrollable-can-scroll-vertical" );
 const std::string Scrollable::SCROLLABLE_CAN_SCROLL_HORIZONTAL( "scrollable-can-scroll-horizontal" );
+const Vector4     Scrollable::DEFAULT_OVERSHOOT_COLOUR(0.0f, 0.64f, 0.85f, 0.6f);
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 // Scrollable
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
 Scrollable::Scrollable()
-: ControlImpl(true/*requires touch*/),
+: Control( ControlBehaviour( REQUIRES_TOUCH_EVENTS | REQUIRES_STYLE_CHANGE_SIGNALS ) ),
   mPropertyRelativePosition(Property::INVALID_INDEX),
   mPropertyPositionMin(Property::INVALID_INDEX),
   mPropertyPositionMax(Property::INVALID_INDEX),
@@ -99,10 +101,13 @@ bool Scrollable::IsScrollComponentEnabled(Toolkit::Scrollable::ScrollComponentTy
 
 void Scrollable::EnableScrollComponent(Toolkit::Scrollable::ScrollComponentType type)
 {
-  if(type == Toolkit::Scrollable::OvershootIndicator && !mOvershootEnabled)
+  if(type == Toolkit::Scrollable::OvershootIndicator)
   {
-    SetOvershootEnabled(true);
-    mOvershootEnabled = true;
+    if( !mOvershootEnabled )
+    {
+      SetOvershootEnabled(true);
+      mOvershootEnabled = true;
+    }
     return;
   }
   if( mComponents.find(type) == mComponents.end() )
@@ -119,10 +124,13 @@ void Scrollable::EnableScrollComponent(Toolkit::Scrollable::ScrollComponentType
 
 void Scrollable::DisableScrollComponent(Toolkit::Scrollable::ScrollComponentType type)
 {
-  if(type == Toolkit::Scrollable::OvershootIndicator && mOvershootEnabled)
+  if(type == Toolkit::Scrollable::OvershootIndicator)
   {
-    SetOvershootEnabled(false);
-    mOvershootEnabled = false;
+    if( mOvershootEnabled )
+    {
+      SetOvershootEnabled(false);
+      mOvershootEnabled = false;
+    }
     return;
   }
   ComponentIter pair = mComponents.find( type );