Yoga API wrapped by FlexLayout
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / internal / controls / flex-container / flex-container-impl.h
old mode 100644 (file)
new mode 100755 (executable)
index 17ea2b6..a4cb269
@@ -1,8 +1,8 @@
-#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
 {
@@ -39,7 +36,7 @@ namespace Internal
 {
 
 /**
- * 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
@@ -52,7 +49,7 @@ public:
   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;
@@ -206,9 +203,11 @@ private: // From Control
   virtual void OnSizeSet( const Vector3& size );
 
   /**
-   * @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
 
@@ -272,4 +271,4 @@ inline const Toolkit::Internal::FlexContainer& GetImpl( const Toolkit::FlexConta
 
 } // namespace Dali
 
-#endif // __DALI_TOOLKIT_INTERNAL_FLEX_CONTAINER_H__
+#endif // DALI_TOOLKIT_INTERNAL_FLEX_CONTAINER_H