// smaller than min size or bigger than max size?
if (w < _min_size.x()) w = _min_size.x();
else if (w > _max_size.x()) w = _max_size.x();
if (h < _min_size.y()) h = _min_size.y();
else if (h > _max_size.y()) h = _max_size.y();
// smaller than min size or bigger than max size?
if (w < _min_size.x()) w = _min_size.x();
else if (w > _max_size.x()) w = _max_size.x();
if (h < _min_size.y()) h = _min_size.y();
else if (h > _max_size.y()) h = _max_size.y();