Вот тут надо сделать липкие окна, т.е. что бы на расстоянии меджу двумя окнами ну к примеру 10 пикселов окна склеивались, но как только отодвигают то окна разлепляются, у меня получилось сделать но только уж очень неуклюже
void kmms::control_window_move()
{
reload_windows_state();
if(cx > mx + mainw->width() & cx < mx + mainw->width() + 10 & cy < my + mainw->height() &
cy > my - controlw->height()) controlw->move(mx+mainw->width(), cy);
if(cx > mx - controlw->width() & cx < mx + mainw->width() & cy > my + mainw->height() &
cy < my + mainw->height() + 10 ) controlw->move(cx, my+mainw->height());
}
т.е. при слипании и при растаскивании окон они начинают дёргаться из стороны в сторону, по направлению склеивания.
Может есть какие то уже отработанные алгоритмы данной фишки?
Заранее спасибо!!!