ElementPtr Renderer::ElementFromPoint(int x, int y) { for (std::list<ElementPtr>::iterator i = m_zOrder.begin(); i != m_zOrder.end(); ++i) { Gdiplus::Rect r = (*i)->GetBoundingRect(); if (r.Contains(x, y)) return (*i); } return ElementPtr(); }