// 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
return GetImplementation(*this).AddDrawable(drawable);
}
+bool CanvasRenderer::DrawableGroup::RemoveDrawable(Drawable drawable)
+{
+ return GetImplementation(*this).RemoveDrawable(drawable);
+}
+
bool CanvasRenderer::DrawableGroup::RemoveAllDrawables()
{
return GetImplementation(*this).RemoveAllDrawables();
bool AddDrawable(Drawable& drawable);
/**
+ * @brief Remove drawable object to the DrawableGroup.
+ * This method is similar to deregistration. Freeing memory is not concerned for drawables being removed.
+ * @param[in] drawable the drawable object.
+ * @return Returns True when it's successful. False otherwise.
+ */
+ bool RemoveDrawable(Drawable drawable);
+
+ /**
* @brief Remove all drawable objects added to the DrawableGroup.
* @return Returns True when it's successful. False otherwise.
*/
{
Integration::SetLongPressMinimumHoldingTime(mEnvironmentOptions->GetLongPressMinimumHoldingTime());
}
+ if(mEnvironmentOptions->GetTapMaximumAllowedTime() > 0)
+ {
+ Integration::SetTapMaximumAllowedTime(mEnvironmentOptions->GetTapMaximumAllowedTime());
+ }
+
std::string systemCachePath = GetSystemCachePath();
if(!systemCachePath.empty())
return false;
}
+bool DrawableGroup::RemoveDrawable(Dali::CanvasRenderer::Drawable drawable)
+{
+ return false;
+}
+
bool DrawableGroup::RemoveAllDrawables()
{
return false;
virtual bool AddDrawable(Dali::CanvasRenderer::Drawable& drawable);
/**
+ * @copydoc Dali::CanvasRenderer::DrawableGroup::RemoveDrawable()
+ */
+ virtual bool RemoveDrawable(Dali::CanvasRenderer::Drawable drawable);
+
+ /**
* @copydoc Dali::CanvasRenderer::DrawableGroup::RemoveAllDrawables()
*/
virtual bool RemoveAllDrawables();
// EXTERNAL INCLUDES
#include <dali/public-api/object/base-object.h>
-#include <dali/public-api/signals/connection-tracker.h>
// INTERNAL INCLUDES
#include <dali/devel-api/adaptor-framework/canvas-renderer-gradient.h>
return false;
}
+bool DrawableGroupGeneric::RemoveDrawable(Dali::CanvasRenderer::Drawable drawable)
+{
+ return false;
+}
+
bool DrawableGroupGeneric::RemoveAllDrawables()
{
return false;
bool AddDrawable(Dali::CanvasRenderer::Drawable& drawable) override;
/**
+ * @copydoc Dali::CanvasRenderer::DrawableGroup::RemoveDrawable()
+ */
+ bool RemoveDrawable(Dali::CanvasRenderer::Drawable drawable) override;
+
+ /**
* @copydoc Dali::CanvasRenderer::DrawableGroup::RemoveAllDrawables()
*/
bool RemoveAllDrawables() override;
// EXTERNAL INCLUDES
#include <dali/public-api/object/base-object.h>
-#include <dali/public-api/signals/connection-tracker.h>
// INTERNAL INCLUDES
#include <dali/devel-api/adaptor-framework/canvas-renderer-shape.h>
#endif
}
+bool DrawableGroupTizen::RemoveDrawable(Dali::CanvasRenderer::Drawable drawable)
+{
+#ifdef THORVG_SUPPORT
+ DrawableGroup::DrawableVector::iterator it = std::find(mDrawables.begin(), mDrawables.end(), drawable);
+ if(it != mDrawables.end())
+ {
+ Internal::Adaptor::Drawable& drawableImpl = Dali::GetImplementation(*it);
+ drawableImpl.SetAdded(false);
+
+ mDrawables.erase(it);
+
+ Drawable::SetChanged(true);
+
+ return true;
+ }
+
+#endif
+ return false;
+}
+
bool DrawableGroupTizen::RemoveAllDrawables()
{
#ifdef THORVG_SUPPORT
bool AddDrawable(Dali::CanvasRenderer::Drawable& drawable) override;
/**
+ * @copydoc Dali::CanvasRenderer::DrawableGroup::RemoveDrawable()
+ */
+ bool RemoveDrawable(Dali::CanvasRenderer::Drawable drawable) override;
+
+ /**
* @copydoc Dali::CanvasRenderer::DrawableGroup::RemoveAllDrawables()
*/
bool RemoveAllDrawables() override;
#include <thorvg.h>
#endif
#include <dali/public-api/object/base-object.h>
-#include <dali/public-api/signals/connection-tracker.h>
// INTERNAL INCLUDES
#include <dali/devel-api/adaptor-framework/canvas-renderer-shape.h>
#endif
}
+bool DrawableGroupUbuntu::RemoveDrawable(Dali::CanvasRenderer::Drawable drawable)
+{
+#ifdef THORVG_SUPPORT
+ DrawableGroup::DrawableVector::iterator it = std::find(mDrawables.begin(), mDrawables.end(), drawable);
+ if(it != mDrawables.end())
+ {
+ Internal::Adaptor::Drawable& drawableImpl = Dali::GetImplementation(*it);
+ drawableImpl.SetAdded(false);
+
+ mDrawables.erase(it);
+
+ Drawable::SetChanged(true);
+
+ return true;
+ }
+
+#endif
+ return false;
+}
+
bool DrawableGroupUbuntu::RemoveAllDrawables()
{
#ifdef THORVG_SUPPORT
bool AddDrawable(Dali::CanvasRenderer::Drawable& drawable) override;
/**
+ * @copydoc Dali::CanvasRenderer::DrawableGroup::RemoveDrawable()
+ */
+ bool RemoveDrawable(Dali::CanvasRenderer::Drawable drawable) override;
+
+ /**
* @copydoc Dali::CanvasRenderer::DrawableGroup::RemoveAllDrawables()
*/
bool RemoveAllDrawables() override;
#include <thorvg.h>
#endif
#include <dali/public-api/object/base-object.h>
-#include <dali/public-api/signals/connection-tracker.h>
// INTERNAL INCLUDES
#include <dali/devel-api/adaptor-framework/canvas-renderer-shape.h>
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