-#ifndef __DALI_TOOLKIT_INTERNAL_FLEX_CONTAINER_H__
-#define __DALI_TOOLKIT_INTERNAL_FLEX_CONTAINER_H__
+#ifndef DALI_TOOLKIT_INTERNAL_FLEX_CONTAINER_H
+#define DALI_TOOLKIT_INTERNAL_FLEX_CONTAINER_H
/*
- * Copyright (c) 2016 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2019 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.
*/
// EXTERNAL INCLUDES
-#include <dali/devel-api/object/weak-handle.h>
+#include <dali/public-api/object/weak-handle.h>
// INTERNAL INCLUDES
#include <dali-toolkit/public-api/controls/control-impl.h>
-#include <dali-toolkit/devel-api/controls/flex-container/flex-container.h>
-extern "C"
-{
-#include "layout.h"
-}
+#include <dali-toolkit/public-api/controls/flex-container/flex-container.h>
+#include <dali-toolkit/third-party/yoga/Yoga.h>
namespace Dali
{
{
/**
- * FlexContainer is a custom control for laying out actors in a flexbox layout
+ * FlexContainer is a custom control for laying out actors in a Flexbox layout
* @see Dali::Toolkit:FlexContainer for more details
*/
class FlexContainer : public Control
struct FlexItemNode
{
WeakHandle< Dali::Actor > actor; ///< Actor handle of the flex item
- css_node_t* node; ///< The style properties and layout information
+ YGNodeRef node; ///< The style properties and layout information
};
typedef std::vector< FlexItemNode > FlexItemNodeContainer;
/**
* @copydoc Control::OnInitialize()
*/
- virtual void OnInitialize();
+ void OnInitialize() override;
/**
* @copydoc Control::OnChildAdd(Actor& child)
*/
- virtual void OnChildAdd( Actor& child );
+ void OnChildAdd( Actor& child ) override;
/**
* @copydoc Control::OnChildRemove(Actor& child)
*/
- virtual void OnChildRemove( Actor& child );
+ void OnChildRemove( Actor& child ) override;
/**
* @copydoc Control::OnRelayout
*/
- virtual void OnRelayout( const Vector2& size, RelayoutContainer& container );
+ void OnRelayout( const Vector2& size, RelayoutContainer& container ) override;
/**
* @copydoc Control::RelayoutDependentOnChildren()
*/
- virtual bool RelayoutDependentOnChildren( Dimension::Type dimension = Dimension::ALL_DIMENSIONS );
+ bool RelayoutDependentOnChildren( Dimension::Type dimension = Dimension::ALL_DIMENSIONS ) override;
/**
* @copydoc Control::GetNextKeyboardFocusableActor
*/
- virtual Actor GetNextKeyboardFocusableActor( Actor currentFocusedActor, Toolkit::Control::KeyboardFocus::Direction direction, bool loopEnabled );
+ Actor GetNextKeyboardFocusableActor( Actor currentFocusedActor, Toolkit::Control::KeyboardFocus::Direction direction, bool loopEnabled ) override;
/**
* @copydoc CustomActorImpl::OnSizeSet( const Vector3& size )
*/
- virtual void OnSizeSet( const Vector3& size );
+ void OnSizeSet( const Vector3& size ) override;
/**
- * @copydoc CustomActorImpl::OnSizeAnimation(Animation&, const Vector3&)
- */
- virtual void OnSizeAnimation(Animation& animation, const Vector3& targetSize);
+ * @copydoc OnLayoutDirectionChanged( Dali::Actor actor, Dali::LayoutDirection::Type type )
+ * @param[in] actor The actor whose layoutDirection is changed.
+ * @param[in] type The layoutDirection.
+ */
+ void OnLayoutDirectionChanged( Dali::Actor actor, Dali::LayoutDirection::Type type );
private: // Implementation
// Helpers for public-api forwarding methods
-inline Toolkit::Internal::FlexContainer& GetImpl( Toolkit::FlexContainer& tableView )
+inline Toolkit::Internal::FlexContainer& GetImpl( Toolkit::FlexContainer& flexContainer )
{
- DALI_ASSERT_ALWAYS(tableView);
+ DALI_ASSERT_ALWAYS(flexContainer);
- Dali::RefObject& handle = tableView.GetImplementation();
+ Dali::RefObject& handle = flexContainer.GetImplementation();
return static_cast<Toolkit::Internal::FlexContainer&>(handle);
}
-inline const Toolkit::Internal::FlexContainer& GetImpl( const Toolkit::FlexContainer& tableView )
+inline const Toolkit::Internal::FlexContainer& GetImpl( const Toolkit::FlexContainer& flexContainer )
{
- DALI_ASSERT_ALWAYS(tableView);
+ DALI_ASSERT_ALWAYS(flexContainer);
- const Dali::RefObject& handle = tableView.GetImplementation();
+ const Dali::RefObject& handle = flexContainer.GetImplementation();
return static_cast<const Toolkit::Internal::FlexContainer&>(handle);
}
} // namespace Dali
-#endif // __DALI_TOOLKIT_INTERNAL_FLEX_CONTAINER_H__
+#endif // DALI_TOOLKIT_INTERNAL_FLEX_CONTAINER_H