Merge "Reduced complexity of dali-table-view" into devel/master
[platform/core/uifw/dali-demo.git] / examples / contact-cards / contact-card-layouter.h
index ed4d17b..d7e10c3 100644 (file)
@@ -2,7 +2,7 @@
 #define CONTACT_CARD_LAYOUTER_H
 
 /*
- * Copyright (c) 2016 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 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 <vector>
-#include <string>
+#include <dali/public-api/adaptor-framework/window.h>
 #include <dali/public-api/common/intrusive-ptr.h>
 #include <dali/public-api/math/vector2.h>
+#include <string>
+#include <vector>
 
 // INTERNAL INCLUDES
 #include "contact-card-layout-info.h"
@@ -32,7 +33,7 @@ class ContactCard;
 /**
  * @brief This class lays out contact cards on the screen appropriately.
  *
- * The contact cards are added to the stage directly and it uses the stage size to figure out exactly how to layout them.
+ * The contact cards are added to the passed in window directly and it uses the window size to figure out exactly how to layout them.
  * It supports a minimum of 3 items on each row or column.
  *
  * Relayouting is not supported.
@@ -40,7 +41,6 @@ class ContactCard;
 class ContactCardLayouter
 {
 public:
-
   /**
    * @brief Constructor.
    */
@@ -53,14 +53,14 @@ public:
 
   /**
    * @brief Creates a contact card with the given information.
+   * @param[in]  window          The window to add the contact to.
    * @param[in]  contactName     The name of the contact to display.
    * @param[in]  contactAddress  The address of the contact to display.
    * @param[in]  imagePath       The path to the image to display.
    */
-  void AddContact( const std::string& contactName, const std::string& contactAddress, const std::string& imagePath );
+  void AddContact(Dali::Window window, const std::string& contactName, const std::string& contactAddress, const std::string& imagePath);
 
 private:
-
   /**
    * @brief Calculates the next position of the contact card that's about to be added to our container.
    * @return A reference to the next position.
@@ -69,17 +69,15 @@ private:
 
   ContactCardLayoutInfo mContactCardLayoutInfo; ///< The common layouting information used by all contact cards. Set up when AddContact is first called.
 
-  typedef Dali::IntrusivePtr< ContactCard > ContactCardPtr; ///< Better than raw pointers as these are ref counted and the memory is released when the count reduces to 0.
-  typedef std::vector< ContactCardPtr > ContactCardContainer;
-  ContactCardContainer mContactCards; ///< Contains all the contact cards.
+  typedef Dali::IntrusivePtr<ContactCard> ContactCardPtr; ///< Better than raw pointers as these are ref counted and the memory is released when the count reduces to 0.
+  typedef std::vector<ContactCardPtr>     ContactCardContainer;
+  ContactCardContainer                    mContactCards; ///< Contains all the contact cards.
 
-  Dali::Vector2 mLastPosition; ///< The last position a contact card was added.
+  Dali::Vector2 mLastPosition;        ///< The last position a contact card was added.
   Dali::Vector2 mPositionIncrementer; ///< Calculated once when AddContact is first called.
-  size_t mItemsPerRow; ///< Calculated once when AddContact is first called and stores the number of items we have in a row.
+  size_t        mItemsPerRow;         ///< Calculated once when AddContact is first called and stores the number of items we have in a row.
 
   bool mInitialized; ///< Whether initialization has taken place or not.
 };
 
-
-
 #endif // CONTACT_CARD_LAYOUTER_H