void PopupWindowPin::onHitTest(HitTestEvent& ev) { PopupWindow::onHitTest(ev); if ((m_pin.isSelected()) && (ev.hit() == HitTestClient)) { if (ev.point().x <= bounds().x+2) ev.setHit(HitTestBorderW); else if (ev.point().x >= bounds().x2()-3) ev.setHit(HitTestBorderE); else ev.setHit(HitTestCaption); } }
void PopupWindow::onHitTest(HitTestEvent& ev) { Widget* picked = manager()->pick(ev.point()); if (picked) { WidgetType type = picked->type(); if ((type == kWindowWidget && picked == this) || type == kBoxWidget || type == kLabelWidget || type == kGridWidget || type == kSeparatorWidget) { ev.setHit(HitTestCaption); return; } } Window::onHitTest(ev); }