This interface is used for an object moving out of view area.
The following dali-toolkit patch is using this interface.
https://review.tizen.org/gerrit/#/c/platform/core/uifw/dali-toolkit/+/260342/
Change-Id: Ibd0fbfa3ddb22c66ef4ece26b97ec87a439bfe1a
virtual void EmitTextChanged(Accessible* obj, TextChangedState state, unsigned int position, unsigned int length, const std::string& content) = 0;
/**
+ * @brief Emits MoveOuted event on at-spi bus.
+ *
+ * @param[in] obj Accessible object
+ * @param[in] type Direction type when an Accessible object moves out of screen
+ **/
+ virtual void EmitMovedOutOfScreen(Accessible* obj, MovedOutOfScreenType type) = 0;
+
+ /**
* @brief Emits state-changed event on at-spi bus.
*
* @param[in] obj The accessible object
void EmitTextCursorMoved(unsigned int cursorPosition);
/**
+ * @brief Emits "MoveOuted" event.
+ *
+ * @param[in] type moved out of screen type
+ */
+ void EmitMovedOutOfScreen(MovedOutOfScreenType type);
+
+ /**
* @brief Emits "highlighted" event.
*
* @param[in] event The enumerated window event
namespace Accessibility\r
{\r
/**\r
+ * @brief Enumeration describing signal that occurs when object moves out of screen.\r
+ */\r
+enum class MovedOutOfScreenType\r
+{\r
+ NONE,\r
+ TOP_LEFT, ///< Object moves out of top(or left) side of screen\r
+ BOTTOM_RIGHT ///< Object moves out of bottom(or right) side of screen\r
+};\r
+\r
+/**\r
* @brief Enumeration describing a relation between accessible objects\r
* 1 to 0..N relation model is supported. By default relation is not symmetrical.\r
* Symmetry must be explicitly maintained.\r
bridgeData->mBridge->EmitCursorMoved(this, cursorPosition);
}
}
+
+void Accessible::EmitMovedOutOfScreen(MovedOutOfScreenType type)
+{
+ if(auto bridgeData = GetBridgeData())
+ {
+ bridgeData->mBridge->EmitMovedOutOfScreen(this, type);
+ }
+}
+
void Accessible::Emit(WindowEvent event, unsigned int detail)
{
if(auto bridgeData = GetBridgeData())
{"", "root"});
}
}
+
+void BridgeObject::EmitMovedOutOfScreen(Accessible* obj, MovedOutOfScreenType type)
+{
+ auto addr = obj->GetAddress();
+ std::string p = addr ? ATSPI_PREFIX_PATH + addr.GetPath() : ATSPI_NULL_PATH;
+ dbusServer.emit2<std::string, int, int, DBus::EldbusVariant<int>, Address>(
+ p,
+ AtspiDbusInterfaceEventObject,
+ "MoveOuted",
+ "",
+ static_cast<int>(type),
+ 0,
+ {0},
+ {"", "root"});
+}
void Emit(Dali::Accessibility::Accessible* obj, Dali::Accessibility::WindowEvent event, unsigned int detail) override;
void Emit(Dali::Accessibility::Accessible* obj, Dali::Accessibility::ObjectPropertyChangeEvent we) override;
void EmitBoundsChanged(Dali::Accessibility::Accessible* obj, Dali::Rect<> rect) override;
+ void EmitMovedOutOfScreen(Dali::Accessibility::Accessible* obj, Dali::Accessibility::MovedOutOfScreenType type) override;
};
#endif // DALI_INTERNAL_ACCESSIBILITY_BRIDGE_OBJECT_H
{
}
+void Accessibility::Accessible::EmitMovedOutOfScreen(Accessibility::MovedOutOfScreenType type)
+{
+}
+
void Accessibility::Accessible::FindWordSeparationsUtf8(const utf8_t* string, size_t length, const char* language, char* breaks)
{
}
{
}
+ void EmitMovedOutOfScreen(Accessibility::Accessible* obj, MovedOutOfScreenType type) override
+ {
+ }
+
void EmitStateChanged(Accessibility::Accessible* obj, Accessibility::State state, int newValue, int reserved) override
{
}