class ApplicationAccessible : public virtual Dali::Accessibility::Accessible,
public virtual Dali::Accessibility::Application,
public virtual Dali::Accessibility::Collection,
+ public virtual Dali::Accessibility::Component,
public virtual Dali::Accessibility::Socket
{
public:
return {"", "root"};
}
+ // Application
+
std::string GetToolkitName() const override
{
return mToolkitName;
return std::to_string(Dali::ADAPTOR_MAJOR_VERSION) + "." + std::to_string(Dali::ADAPTOR_MINOR_VERSION);
}
+ // Socket
+
Dali::Accessibility::Address Embed(Dali::Accessibility::Address plug) override
{
mIsEmbedded = true;
mParent.SetAddress({});
}
}
+
+ // Component
+
+ Dali::Rect<> GetExtents(Dali::Accessibility::CoordinateType type) const override
+ {
+ using limits = std::numeric_limits<float>;
+
+ float minX = limits::max();
+ float minY = limits::max();
+ float maxX = limits::min();
+ float maxY = limits::min();
+
+ for(Dali::Accessibility::Accessible* child : mChildren)
+ {
+ auto* component = Dali::Accessibility::Component::DownCast(child);
+ if(!component)
+ {
+ continue;
+ }
+
+ auto extents = component->GetExtents(type);
+
+ minX = std::min(minX, extents.x);
+ minY = std::min(minY, extents.y);
+ maxX = std::max(maxX, extents.x + extents.width);
+ maxY = std::max(maxY, extents.y + extents.height);
+ }
+
+ return {minX, minY, maxX - minX, maxY - minY};
+ }
+
+ Dali::Accessibility::ComponentLayer GetLayer() const override
+ {
+ return Dali::Accessibility::ComponentLayer::WINDOW;
+ }
+
+ std::int16_t GetMdiZOrder() const override
+ {
+ return 0;
+ }
+
+ bool GrabFocus() override
+ {
+ return false;
+ }
+
+ double GetAlpha() const override
+ {
+ return 0.0;
+ }
+
+ bool GrabHighlight() override
+ {
+ return false;
+ }
+
+ bool ClearHighlight() override
+ {
+ return false;
+ }
+
+ bool IsScrollable() const override
+ {
+ return false;
+ }
};
/**