-#ifndef __DALI_TOOLKIT_GRID_LAYOUT_H__
-#define __DALI_TOOLKIT_GRID_LAYOUT_H__
+#ifndef DALI_TOOLKIT_GRID_LAYOUT_H
+#define DALI_TOOLKIT_GRID_LAYOUT_H
/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2021 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.
#include <dali-toolkit/public-api/controls/scrollable/item-view/item-layout.h>
+#include <dali-toolkit/public-api/dali-toolkit-common.h>
+
namespace Dali
{
-
namespace Toolkit
{
-
namespace Internal
{
-
class GridLayout;
typedef IntrusivePtr<GridLayout> GridLayoutPtr; ///< Pointer to a Dali::Toolkit::GridLayout object
class GridLayout : public ItemLayout
{
public:
-
/**
* @brief Create a new grid layout.
*/
virtual ~GridLayout();
/**
+ * Apply grid layout Properties.
+ * @param[in] properties The properties of the layout.
+ */
+ void SetGridLayoutProperties(const Property::Map& properties);
+
+ /**
* @brief Set the number of columns in the layout.
*
* @param[in] columns The number of columns.
/**
* @copydoc ItemLayout::GetScrollSpeedFactor()
*/
- virtual float GetScrollSpeedFactor() const;
+ float GetScrollSpeedFactor() const override;
/**
* @copydoc ItemLayout::GetMaximumSwipeSpeed()
*/
- virtual float GetMaximumSwipeSpeed() const;
+ float GetMaximumSwipeSpeed() const override;
/**
* @copydoc ItemLayout::GetItemFlickAnimationDuration()
*/
- virtual float GetItemFlickAnimationDuration() const;
+ float GetItemFlickAnimationDuration() const override;
/**
* @copydoc ItemLayout::GetClosestOnScreenLayoutPosition()
*/
- virtual float GetClosestOnScreenLayoutPosition(int itemID, float currentLayoutPosition, const Vector3& layoutSize);
+ float GetClosestOnScreenLayoutPosition(int itemID, float currentLayoutPosition, const Vector3& layoutSize) override;
/**
* @copydoc ItemLayout::GetNextFocusItemID()
*/
- virtual int GetNextFocusItemID(int itemID, int maxItems, Dali::Toolkit::Control::KeyboardFocusNavigationDirection direction, bool loopEnabled);
+ int GetNextFocusItemID(int itemID, int maxItems, Dali::Toolkit::Control::KeyboardFocus::Direction direction, bool loopEnabled) override;
private:
-
/**
* @copydoc ItemLayout::GetMinimumLayoutPosition()
*/
- virtual float GetMinimumLayoutPosition(unsigned int numberOfItems, Vector3 layoutSize) const;
+ float GetMinimumLayoutPosition(unsigned int numberOfItems, Vector3 layoutSize) const override;
/**
* @copydoc ItemLayout::GetClosestAnchorPosition()
*/
- virtual float GetClosestAnchorPosition(float layoutPosition) const;
+ float GetClosestAnchorPosition(float layoutPosition) const override;
/**
* @copydoc ItemLayout::GetItemScrollToPosition()
*/
- virtual float GetItemScrollToPosition(unsigned int itemId) const;
+ float GetItemScrollToPosition(unsigned int itemId) const override;
/**
* @copydoc ItemLayout::GetItemsWithinArea()
*/
- virtual ItemRange GetItemsWithinArea(float firstItemPosition, Vector3 layoutSize) const;
+ ItemRange GetItemsWithinArea(float firstItemPosition, Vector3 layoutSize) const override;
/**
* @copydoc ItemLayout::GetReserveItemCount()
*/
- virtual unsigned int GetReserveItemCount(Vector3 layoutSize) const;
+ unsigned int GetReserveItemCount(Vector3 layoutSize) const override;
/**
* @copydoc ItemLayout::GetDefaultItemSize()
*/
- 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;
+ void GetDefaultItemSize(unsigned int itemId, const Vector3& layoutSize, Vector3& itemSize) const override;
/**
* @copydoc ItemLayout::GetScrollDirection()
*/
- virtual Degree GetScrollDirection() const;
+ Degree GetScrollDirection() const override;
/**
* @copydoc ItemLayout::ApplyConstraints()
*/
- virtual void ApplyConstraints( Actor& actor, const int itemId, const Vector3& layoutSize, const Actor& itemViewActor );
+ void ApplyConstraints(Actor& actor, const int itemId, const Vector3& layoutSize, const Actor& itemViewActor) override;
/**
* @copydoc ItemLayout::GetItemPosition()
*/
- virtual Vector3 GetItemPosition( int itemID, float currentLayoutPosition, const Vector3& layoutSize ) const;
+ Vector3 GetItemPosition(int itemID, float currentLayoutPosition, const Vector3& layoutSize) const override;
protected:
-
/**
* @brief Protected constructor; see also GridLayout::New().
*/
GridLayout();
private:
+ // Undefined
+ GridLayout(const GridLayout& itemLayout);
+
+ // Undefined
+ GridLayout& operator=(const GridLayout& rhs);
+private:
struct Impl;
Impl* mImpl;
};
} // namespace Dali
-#endif // __DALI_TOOLKIT_GRID_LAYOUT_H__
+#endif // DALI_TOOLKIT_GRID_LAYOUT_H