А вы уверены, что после вычитания ширина и высота для ``rectangle`` будет положительной?