From 0e2183dc02211556cd97479a6352e9ac291c5957 Mon Sep 17 00:00:00 2001
From: Paul Wisbey
Date: Mon, 17 Mar 2014 14:22:51 +0000
Subject: [PATCH] ItemView API to set the alpha function
[Issue#] N/A
[Problem] Can't customize ItemView constraint animations
[Cause] API limitations
[Solution] Added API to set the alpha function
Change-Id: I9cd7e789739916e084a6b122b871c8e33c5b4d98
Signed-off-by: Paul Wisbey
---
.../controls/scrollable/item-view/item-view.h | 14 ++++++++++++++
.../controls/scrollable/item-view/item-view-impl.cpp | 17 ++++++++++++++++-
.../controls/scrollable/item-view/item-view-impl.h | 13 ++++++++++++-
.../controls/scrollable/item-view/item-view.cpp | 10 ++++++++++
4 files changed, 52 insertions(+), 2 deletions(-)
diff --git a/capi/dali-toolkit/public-api/controls/scrollable/item-view/item-view.h b/capi/dali-toolkit/public-api/controls/scrollable/item-view/item-view.h
index d7b04c6..5d123b1 100644
--- a/capi/dali-toolkit/public-api/controls/scrollable/item-view/item-view.h
+++ b/capi/dali-toolkit/public-api/controls/scrollable/item-view/item-view.h
@@ -175,6 +175,20 @@ public:
void DeactivateCurrentLayout();
/**
+ * @brief Set default the alpha function used when applying constraints e.g. during ActivateLayout().
+ *
+ * @param[in] func The default alpha function to use.
+ */
+ void SetDefaultAlphaFunction(AlphaFunction func);
+
+ /**
+ * @brief Retrieve the default alpha function for an animation.
+ *
+ * @return The default alpha function.
+ */
+ AlphaFunction GetDefaultAlphaFunction() const;
+
+ /**
* @brief Set the minimum swipe speed in pixels per second; A pan
* gesture must exceed this to trigger a swipe.
*
diff --git a/dali-toolkit/internal/controls/scrollable/item-view/item-view-impl.cpp b/dali-toolkit/internal/controls/scrollable/item-view/item-view-impl.cpp
index dad90ef..d38f69c 100644
--- a/dali-toolkit/internal/controls/scrollable/item-view/item-view-impl.cpp
+++ b/dali-toolkit/internal/controls/scrollable/item-view/item-view-impl.cpp
@@ -19,7 +19,6 @@
// EXTERNAL INCLUDES
#include
-#include
// INTERNAL INCLUDES
#include
@@ -396,6 +395,7 @@ ItemView::ItemView(ItemFactory& factory)
: Scrollable(),
mItemFactory(factory),
mActiveLayout(NULL),
+ mDefaultAlphaFunction(Dali::Constraint::DEFAULT_ALPHA_FUNCTION),
mAnimatingOvershootOn(false),
mAnimateOvershootOff(false),
mAnchoringEnabled(true),
@@ -634,6 +634,16 @@ void ItemView::DeactivateCurrentLayout()
CancelRefreshTimer();
}
+void ItemView::SetDefaultAlphaFunction(AlphaFunction func)
+{
+ mDefaultAlphaFunction = func;
+}
+
+AlphaFunction ItemView::GetDefaultAlphaFunction() const
+{
+ return mDefaultAlphaFunction;
+}
+
bool ItemView::OnRefreshTick()
{
// Short-circuit if there is no active layout
@@ -1115,6 +1125,7 @@ void ItemView::ApplyConstraints(Actor& actor, ItemLayout& layout, unsigned int i
ParentSource( Actor::SIZE ),
wrapped );
constraint.SetApplyTime(duration);
+ constraint.SetAlphaFunction(mDefaultAlphaFunction);
actor.ApplyConstraint(constraint);
}
@@ -1130,6 +1141,7 @@ void ItemView::ApplyConstraints(Actor& actor, ItemLayout& layout, unsigned int i
ParentSource( Actor::SIZE ),
wrapped );
constraint.SetApplyTime(duration);
+ constraint.SetAlphaFunction(mDefaultAlphaFunction);
actor.ApplyConstraint(constraint);
}
@@ -1145,6 +1157,7 @@ void ItemView::ApplyConstraints(Actor& actor, ItemLayout& layout, unsigned int i
ParentSource( Actor::SIZE ),
wrapped );
constraint.SetApplyTime(duration);
+ constraint.SetAlphaFunction(mDefaultAlphaFunction);
actor.ApplyConstraint(constraint);
}
@@ -1160,6 +1173,7 @@ void ItemView::ApplyConstraints(Actor& actor, ItemLayout& layout, unsigned int i
ParentSource( Actor::SIZE ),
wrapped );
constraint.SetApplyTime(duration);
+ constraint.SetAlphaFunction(mDefaultAlphaFunction);
// Release color constraints slowly; this allows ItemView to co-exist with ImageActor fade-in
constraint.SetRemoveTime(DEFAULT_COLOR_VISIBILITY_REMOVE_TIME);
@@ -1179,6 +1193,7 @@ void ItemView::ApplyConstraints(Actor& actor, ItemLayout& layout, unsigned int i
ParentSource( Actor::SIZE ),
wrapped );
constraint.SetApplyTime(duration);
+ constraint.SetAlphaFunction(mDefaultAlphaFunction);
// Release visibility constraints the same time as the color constraint
constraint.SetRemoveTime(DEFAULT_COLOR_VISIBILITY_REMOVE_TIME);
diff --git a/dali-toolkit/internal/controls/scrollable/item-view/item-view-impl.h b/dali-toolkit/internal/controls/scrollable/item-view/item-view-impl.h
index f92894e..a6972ca 100644
--- a/dali-toolkit/internal/controls/scrollable/item-view/item-view-impl.h
+++ b/dali-toolkit/internal/controls/scrollable/item-view/item-view-impl.h
@@ -19,7 +19,6 @@
// EXTERNAL INCLUDES
#include
-#include