Add wxHtmlCell::GetRect()

This commit is contained in:
Pavel Kalugin
2019-04-09 21:47:32 +03:00
committed by Vadim Zeitlin
parent ba5547d640
commit 65771f685b
2 changed files with 13 additions and 3 deletions

View File

@@ -329,7 +329,12 @@ public:
// Returns absolute position of the cell on HTML canvas. // Returns absolute position of the cell on HTML canvas.
// If rootCell is provided, then it's considered to be the root of the // If rootCell is provided, then it's considered to be the root of the
// hierarchy and the returned value is relative to it. // hierarchy and the returned value is relative to it.
wxPoint GetAbsPos(wxHtmlCell *rootCell = NULL) const; wxPoint GetAbsPos(const wxHtmlCell *rootCell = NULL) const;
// Returns minimum bounding rectangle of this cell in coordinates, relative
// to the rootCell, if it is provided, or relative to the result of
// GetRootCell() if the rootCell is NULL.
wxRect GetRect(const wxHtmlCell *rootCell = NULL) const;
// Returns root cell of the hierarchy (i.e. grand-grand-...-parent that // Returns root cell of the hierarchy (i.e. grand-grand-...-parent that
// doesn't have a parent itself) // doesn't have a parent itself)

View File

@@ -221,10 +221,10 @@ wxHtmlCell *wxHtmlCell::FindCellByPos(wxCoord x, wxCoord y,
} }
wxPoint wxHtmlCell::GetAbsPos(wxHtmlCell *rootCell) const wxPoint wxHtmlCell::GetAbsPos(const wxHtmlCell *rootCell) const
{ {
wxPoint p(m_PosX, m_PosY); wxPoint p(m_PosX, m_PosY);
for (wxHtmlCell *parent = m_Parent; parent && parent != rootCell; for (const wxHtmlCell *parent = m_Parent; parent && parent != rootCell;
parent = parent->m_Parent) parent = parent->m_Parent)
{ {
p.x += parent->m_PosX; p.x += parent->m_PosX;
@@ -233,6 +233,11 @@ wxPoint wxHtmlCell::GetAbsPos(wxHtmlCell *rootCell) const
return p; return p;
} }
wxRect wxHtmlCell::GetRect(const wxHtmlCell* rootCell) const
{
return wxRect(GetAbsPos(rootCell), wxSize(m_Width, m_Height));
}
wxHtmlCell *wxHtmlCell::GetRootCell() const wxHtmlCell *wxHtmlCell::GetRootCell() const
{ {
wxHtmlCell *c = wxConstCast(this, wxHtmlCell); wxHtmlCell *c = wxConstCast(this, wxHtmlCell);