public SizedLeftRight(SizedDocument left, SizedDocument right)
        {
            this.left = left; this.right = right;
            this.size = new IntVector2(left.Size.X + right.Size.X,Math.Max(left.Size.Y,right.Size.Y));

            int diff = left.Size.Y - right.Size.Y;
            if (diff > 0)
                this.right = new WhiteSpace(right.Size.X, diff) ^ right;
            else if (diff < 0)
                this.left = left ^ new WhiteSpace(left.Size.X, -diff);
        }
        public SizedTopBottom(SizedDocument top, SizedDocument bottom)
        {
            this.top = top;
            this.bottom = bottom;
            size = new IntVector2(Math.Max(top.Size.X, bottom.Size.X), bottom.Size.Y + top.Size.Y);

            var diff = top.Size.X - bottom.Size.X;
            if (diff > 0)
                this.bottom = bottom + new WhiteSpace(new IntVector2(diff, bottom.Size.Y));
            else if (diff < 0)
                this.top = top + new WhiteSpace(new IntVector2(-diff, top.Size.Y));
        }
 public WrappedDocument(SizedDocument document)
 {
     this.document = document;
 }