// INTERNAL INCLUDES
#include <dali/devel-api/adaptor-framework/accessibility-impl.h>
+#include <dali/devel-api/adaptor-framework/window-devel.h>
#include <dali/internal/adaptor/common/adaptor-impl.h>
#include <dali/public-api/dali-adaptor-common.h>
Vector3 anchorPointOffSet = size * (positionUsesAnchorPoint ? actor.GetCurrentProperty<Vector3>(Actor::Property::ANCHOR_POINT) : AnchorPoint::TOP_LEFT);
Vector2 position = Vector2(screenPosition.x - anchorPointOffSet.x, screenPosition.y - anchorPointOffSet.y);
- return {position.x, position.y, size.x, size.y};
+ if(type == Dali::Accessibility::CoordinateType::WINDOW)
+ {
+ return {position.x, position.y, size.x, size.y};
+ }
+ else // Dali::Accessibility::CoordinateType::SCREEN
+ {
+ auto window = Dali::DevelWindow::Get(actor);
+ auto windowPosition = window.GetPosition();
+ return {position.x + windowPosition.GetX(), position.y + windowPosition.GetY(), size.x, size.y};
+ }
}
Dali::Accessibility::ComponentLayer GetLayer() override
{
Integration::SetLongPressMinimumHoldingTime(mEnvironmentOptions->GetLongPressMinimumHoldingTime());
}
+ if(mEnvironmentOptions->GetTapMaximumAllowedTime() > 0)
+ {
+ Integration::SetTapMaximumAllowedTime(mEnvironmentOptions->GetTapMaximumAllowedTime());
+ }
+
std::string systemCachePath = GetSystemCachePath();
if(!systemCachePath.empty())
mRotationMinimumTouchEvents(-1),
mRotationMinimumTouchEventsAfterStart(-1),
mLongPressMinimumHoldingTime(-1),
+ mTapMaximumAllowedTime(-1),
mGlesCallTime(0),
mMultiSamplingLevel(DEFAULT_MULTI_SAMPLING_LEVEL),
mThreadingMode(ThreadingMode::COMBINED_UPDATE_RENDER),
return mLongPressMinimumHoldingTime;
}
+int EnvironmentOptions::GetTapMaximumAllowedTime() const
+{
+ return mTapMaximumAllowedTime;
+}
+
unsigned int EnvironmentOptions::GetWindowWidth() const
{
return mWindowWidth;
SetFromEnvironmentVariable(DALI_ENV_ROTATION_MINIMUM_TOUCH_EVENTS_AFTER_START, mRotationMinimumTouchEventsAfterStart);
SetFromEnvironmentVariable(DALI_ENV_LONG_PRESS_MINIMUM_HOLDING_TIME, mLongPressMinimumHoldingTime);
+ SetFromEnvironmentVariable(DALI_ENV_TAP_MAXIMUM_ALLOWED_TIME, mTapMaximumAllowedTime);
SetFromEnvironmentVariable(DALI_GLES_CALL_TIME, mGlesCallTime);
SetFromEnvironmentVariable<int>(DALI_GLES_CALL_ACCUMULATE, [&](int glesCallAccumulate) { mGlesCallAccumulate = glesCallAccumulate != 0; });
int GetLongPressMinimumHoldingTime() const;
/**
+ * @return The maximum allowed time required to be recognized as a multi tap gesture (millisecond)
+ */
+ int GetTapMaximumAllowedTime() const;
+
+ /**
* @return The width of the window
*/
unsigned int GetWindowWidth() const;
int mRotationMinimumTouchEvents; ///< minimum events required before a rotation starts
int mRotationMinimumTouchEventsAfterStart; ///< minimum events required after a rotation started
int mLongPressMinimumHoldingTime; ///< minimum holding time required to be recognized as a long press gesture (millisecond)
+ int mTapMaximumAllowedTime; ///< maximum allowed time required to be recognized as a multi tap gesture (millisecond)
int mGlesCallTime; ///< time in seconds between status updates
int mMultiSamplingLevel; ///< The number of samples required in multisample buffers
*/
#define DALI_ENV_LONG_PRESS_MINIMUM_HOLDING_TIME "DALI_LONG_PRESS_MINIMUM_HOLDING_TIME"
+// Tap-Gesture maximum allowed time required to be recognized as a multi tap gesture (millisecond)
+#define DALI_ENV_TAP_MAXIMUM_ALLOWED_TIME "DALI_TAP_MAXIMUM_ALLOWED_TIME"
+
#define DALI_GLES_CALL_TIME "DALI_GLES_CALL_TIME"
#define DALI_GLES_CALL_ACCUMULATE "DALI_GLES_CALL_ACCUMULATE"
{
const unsigned int ADAPTOR_MAJOR_VERSION = 2;
const unsigned int ADAPTOR_MINOR_VERSION = 0;
-const unsigned int ADAPTOR_MICRO_VERSION = 37;
+const unsigned int ADAPTOR_MICRO_VERSION = 38;
const char* const ADAPTOR_BUILD_DATE = __DATE__ " " __TIME__;
#ifdef DEBUG_ENABLED
Name: dali2-adaptor
Summary: The DALi Tizen Adaptor
-Version: 2.0.37
+Version: 2.0.38
Release: 1
Group: System/Libraries
License: Apache-2.0 and BSD-3-Clause and MIT
%description dali2-feedback-plugin
Feedback plugin to play haptic and audio feedback for Dali
-##############################
-# Preparation
-##############################
-%prep
-%setup -q
-
#Use TZ_PATH when tizen version is 3.x or greater
-
%define dali_data_rw_dir %TZ_SYS_RO_SHARE/dali/
%define dali_data_ro_dir %TZ_SYS_RO_SHARE/dali/
%define font_preloaded_path %TZ_SYS_RO_SHARE/fonts/
%define dali_plugin_sound_files /plugins/sounds/
##############################
+# Preparation
+##############################
+%prep
+%setup -q
+
+
+##############################
# Build
##############################
%build
# if mobile || "undefined"
%if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
-mkdir mobile
+mkdir -p mobile
pushd mobile
cmake -DENABLE_PROFILE=MOBILE $cmake_flags ..
# if tv ||"undefined"
%if "%{?profile}" != "wearable" && "%{?profile}" != "common" && "%{?profile}" != "ivi" && "%{?profile}" != "mobile"
-mkdir tv
+mkdir -p tv
pushd tv
cmake -DENABLE_PROFILE=TV $cmake_flags ..
# if wearable || "undefined"
%if "%{?profile}" != "mobile" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
-mkdir wearable
+mkdir -p wearable
pushd wearable
cmake -DENABLE_PROFILE=WEARABLE $cmake_flags ..
# if ivi ||"undefined"
%if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "common" && "%{?profile}" != "mobile"
-mkdir ivi
+mkdir -p ivi
pushd ivi
cmake -DENABLE_PROFILE=IVI $cmake_flags ..
# if common ||"undefined"
%if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "mobile"
-mkdir common
+mkdir -p common
pushd common
cmake -DENABLE_PROFILE=COMMON $cmake_flags ..