Making DALi public API typesafe using guaranteed types; uint8_t, uint32_t
[platform/core/uifw/dali-core.git] / dali / public-api / events / touch-point.h
index ccd5652..e6f099b 100644 (file)
@@ -2,7 +2,7 @@
 #define __DALI_TOUCH_POINT_H__
 
 /*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2018 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 <cstdint> // uint32_t
+
 // INTERNAL INCLUDES
+#include <dali/public-api/common/vector-wrapper.h>
 #include <dali/public-api/actors/actor.h>
 #include <dali/public-api/math/vector2.h>
 
@@ -32,13 +36,15 @@ namespace Dali
 /**
  * @brief A TouchPoint represents a point on the screen that is currently being touched
  * or where touch has stopped.
+ * @SINCE_1_0.0
  */
-struct DALI_IMPORT_API TouchPoint
+struct DALI_CORE_API TouchPoint
 {
   // Enumerations
 
   /**
-   * @brief Touch state
+   * @brief Enumeration for Touch state.
+   * @SINCE_1_0.0
    */
   enum State
   {
@@ -58,29 +64,32 @@ struct DALI_IMPORT_API TouchPoint
   // Construction & Destruction
 
   /**
-   * @brief Constructor
+   * @brief Constructor.
    *
-   * @param[in]  id       The touch device ID.
-   * @param[in]  state    The state.
-   * @param[in]  screenX  The X co-ordinate relative to the screen's origin.
-   * @param[in]  screenY  The Y co-ordinate relative to the screen's origin.
+   * @SINCE_1_0.0
+   * @param[in] id      The touch device ID
+   * @param[in] state   The state
+   * @param[in] screenX The X co-ordinate relative to the screen's origin
+   * @param[in] screenY The Y co-ordinate relative to the screen's origin
    */
-  TouchPoint(int id, State state, float screenX, float screenY);
+  TouchPoint(int32_t id, State state, float screenX, float screenY);
 
   /**
-   * @brief Constructor
+   * @brief Constructor.
    *
-   * @param[in]  id       The touch device ID.
-   * @param[in]  state    The state.
-   * @param[in]  screenX  The X co-ordinate relative to the screen's origin.
-   * @param[in]  screenY  The Y co-ordinate relative to the screen's origin.
-   * @param[in]  localX   The X co-ordinate relative to the top-left (0.0, 0.0, 0.5) of the actor.
-   * @param[in]  localY   The Y co-ordinate relative to the top-left (0.0, 0.0, 0.5) of the actor.
+   * @SINCE_1_0.0
+   * @param[in] id      The touch device ID
+   * @param[in] state   The state
+   * @param[in] screenX The X co-ordinate relative to the screen's origin
+   * @param[in] screenY The Y co-ordinate relative to the screen's origin
+   * @param[in] localX  The X co-ordinate relative to the top-left (0.0, 0.0, 0.5) of the actor
+   * @param[in] localY  The Y co-ordinate relative to the top-left (0.0, 0.0, 0.5) of the actor
    */
-  TouchPoint(int id, State state, float screenX, float screenY, float localX, float localY);
+  TouchPoint(int32_t id, State state, float screenX, float screenY, float localX, float localY);
 
   /**
-   * @brief Destructor
+   * @brief Destructor.
+   * @SINCE_1_0.0
    */
   ~TouchPoint();
 
@@ -89,7 +98,7 @@ struct DALI_IMPORT_API TouchPoint
   /**
    * @brief Each touch point has a unique device ID which specifies the touch device for that point.
    */
-  int deviceId;
+  int32_t deviceId;
 
   /**
    * @brief State of the point.
@@ -118,9 +127,9 @@ struct DALI_IMPORT_API TouchPoint
   Vector2 screen;
 };
 
-typedef std::vector<TouchPoint> TouchPointContainer; ///< Container of touch points.
-typedef TouchPointContainer::iterator TouchPointContainerIterator; ///< Iterator for Dali::TouchPointContainer
-typedef TouchPointContainer::const_iterator TouchPointContainerConstIterator; ///< Const iterator for Dali::TouchPointContainer
+typedef std::vector<TouchPoint> TouchPointContainer; ///< Container of touch points. @SINCE_1_0.0
+typedef TouchPointContainer::iterator TouchPointContainerIterator; ///< Iterator for Dali::TouchPointContainer @SINCE_1_0.0
+typedef TouchPointContainer::const_iterator TouchPointContainerConstIterator; ///< Const iterator for Dali::TouchPointContainer @SINCE_1_0.0
 
 /**
  * @}