TopWindow *Ctrl::GetTopWindow() { GuiLock __; Ctrl *q = this; while(q) { q = q->GetTopCtrl(); TopWindow *w = dynamic_cast<TopWindow *>(q); if(w) return w; q = q->GetOwner(); } return NULL; }
void DrawDragRect(Ctrl& q, const Rect& rect1, const Rect& rect2, const Rect& clip, int n, Color color, int type, int animation) { Ctrl *top = q.GetTopCtrl(); if(top) { Point off = q.GetScreenView().TopLeft(); DrawDragRectInfo f; f.rect1 = rect1.Offseted(off); f.rect2 = rect2.Offseted(off); f.clip = (clip & q.GetSize()).Offseted(off); f.n = n; f.type = type; f.animation = animation; DrawDragRect(*top, f); Ctrl::SyncClient(); Ctrl::Output(); } }