namespace Toolkit
{
+namespace Internal
+{
+
class GridLayout;
typedef IntrusivePtr<GridLayout> GridLayoutPtr; ///< Pointer to a Dali::Toolkit::GridLayout object
/**
* @brief An ItemView layout which arranges items in a grid.
*/
-class DALI_IMPORT_API GridLayout : public ItemLayout
+class GridLayout : public ItemLayout
{
public:
/**
- * @brief Function signature for a method to calculate the item size.
- *
- * @see SetItemSizeFunction()
- */
- typedef boost::function<Vector3 (unsigned int numberOfColumns, float layoutWidth, float sideMargin, float columnSpacing)> ItemSizeFunction;
-
- /**
* @brief Create a new grid layout.
*/
static GridLayoutPtr New();
float GetZGap() const;
/**
- * @brief Set the function used to calculate the item-size, for a given layout-size.
- *
- * @param[in] function The item-size function.
- */
- void SetItemSizeFunction(ItemSizeFunction function);
-
- /**
- * @brief Get the function used to calculate the item-size.
- *
- * @return The item-size function.
- */
- ItemSizeFunction GetItemSizeFunction() const;
-
- /**
* @brief Set the factor used to customise the scroll speed while dragging and swiping the layout.
*
* @param[in] scrollSpeed The scroll speed factor.
virtual unsigned int GetReserveItemCount(Vector3 layoutSize) const;
/**
- * @copydoc ItemLayout::GetItemSize()
+ * @copydoc ItemLayout::GetDefaultItemSize()
*/
- virtual bool GetItemSize(unsigned int itemId, Vector3 layoutSize, Vector3& itemSize) const;
+ virtual void GetDefaultItemSize( unsigned int itemId, const Vector3& layoutSize, Vector3& itemSize ) const;
/**
* @copydoc ItemLayout::GetResizeAnimation()
virtual void GetResizeAnimation(Animation& animation, Actor actor, Vector3 size, float durationSeconds) const;
/**
- * @copydoc ItemLayout::GetPositionConstraint()
- */
- virtual bool GetPositionConstraint(unsigned int itemId, ItemLayout::Vector3Function& constraint) const;
-
- /**
- * @copydoc ItemLayout::GetRotationConstraint()
- */
- virtual bool GetRotationConstraint(unsigned int itemId, ItemLayout::QuaternionFunction& constraint) const;
-
- /**
- * @copydoc ItemLayout::GetScaleConstraint()
- */
- virtual bool GetScaleConstraint(unsigned int itemId, ItemLayout::Vector3Function& constraint) const;
-
- /**
- * @copydoc ItemLayout::GetColorConstraint()
+ * @copydoc ItemLayout::GetScrollDirection()
*/
- virtual bool GetColorConstraint(unsigned int itemId, ItemLayout::Vector4Function& constraint) const;
+ virtual Degree GetScrollDirection() const;
/**
- * @copydoc ItemLayout::GetVisibilityConstraint()
+ * @copydoc ItemLayout::ApplyConstraints()
*/
- virtual bool GetVisibilityConstraint(unsigned int itemId, ItemLayout::BoolFunction& constraint) const;
+ virtual void ApplyConstraints( Actor& actor, const int itemId, const Vector3& layoutSize, const Actor& itemViewActor );
/**
- * @copydoc ItemLayout::GetScrollDirection()
+ * @copydoc ItemLayout::GetItemPosition()
*/
- virtual Degree GetScrollDirection() const;
+ virtual Vector3 GetItemPosition( int itemID, float currentLayoutPosition, const Vector3& layoutSize ) const;
protected:
Impl* mImpl;
};
+} // namespace Internal
+
} // namespace Toolkit
} // namespace Dali