w = std::max(std::min(r.width(), maxSize().width()), minSize().width());
h = std::max(std::min(r.height(), maxSize().height()), minSize().height());
w = std::max(std::min(r.width(), maxSize().width()), minSize().width());
h = std::max(std::min(r.height(), maxSize().height()), minSize().height());