X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3c3b6f606364ae8bd86eeeb3e129636c5294ea85..12bb29f5432174ecbd65549bda832d70d34a98ae:/src/generic/richtooltipg.cpp?ds=inline diff --git a/src/generic/richtooltipg.cpp b/src/generic/richtooltipg.cpp index b37410fd57..5d08e1261a 100644 --- a/src/generic/richtooltipg.cpp +++ b/src/generic/richtooltipg.cpp @@ -232,9 +232,14 @@ public: } } - void SetPosition() + void SetPosition(const wxRect* rect) { - wxPoint pos = GetTipPoint(); + wxPoint pos; + + if ( !rect || rect->IsEmpty() ) + pos = GetTipPoint(); + else + pos = GetParent()->ClientToScreen( wxPoint( rect->x + rect->width / 2, rect->y + rect->height / 2 ) ); // We want our anchor point to coincide with this position so offset // the position of the top left corner passed to Move() accordingly. @@ -668,7 +673,7 @@ void wxRichToolTipGenericImpl::SetTitleFont(const wxFont& font) m_titleFont = font; } -void wxRichToolTipGenericImpl::ShowFor(wxWindow* win) +void wxRichToolTipGenericImpl::ShowFor(wxWindow* win, const wxRect* rect) { // Set the focus to the window the tooltip refers to to make it look active. win->SetFocus(); @@ -685,7 +690,7 @@ void wxRichToolTipGenericImpl::ShowFor(wxWindow* win) popup->SetBackgroundColours(m_colStart, m_colEnd); - popup->SetPosition(); + popup->SetPosition(rect); // show or start the timer to delay showing the popup popup->SetTimeoutAndShow( m_timeout, m_delay ); }