61 Frame2D(T width=0, T height=0) : width(this->next()), height(this->next()){
62 this->set(width, height?height:width);
65 Frame2D(
const Frame2D<T> & geometry) : width(this->next()), height(this->next()) {
66 this->set(geometry.width, geometry.height);
71 this->set(geometry.width, geometry.height);
88 this->set(geometry.width, geometry.height);
96 Frame2D & operator=(
const T2 & frame){
116 void setArea(T w, T h){
135 T getHeight()
const {
146 return (width==0) || (height==0);
205 expand(box.x + box.width, box.y + box.height);
208 void expand(
const T & x,
const T & y){
212 m = std::max(this->x + this->width, x);
213 this->x = std::min(this->x, x);
214 this->width = m - this->x;
216 m = std::max(this->y + this->height, y);
217 this->y = std::min(this->y, y);
218 this->height = m - this->y;