text: /*****************************************************************//**
   * \file   Rectangle.cpp
   * \brief  contains implementations for Shapes::Rectangle
   *
   * \author Xuhua Huang
   * \date   August 13, 2021
   *********************************************************************/
  
   #include <iostream>
   #include "Rectangle.h"
  
  namespace Shapes {
  
      // Default constructor
      Rectangle::Rectangle () {}
  
      // Overloaded constructor
      Rectangle::Rectangle(int x0, int y0, int x1, int y1) {
          this->x0 = x0;
          this->y0 = y0;
          this->x1 = x1;
          this->y1 = y1;
      }
  
      // Destructor
      Rectangle::~Rectangle() {}
  
      // Return the area of the rectangle
      int Rectangle::getArea() {
          return (this->x1 - this->x0) * (this->y1 - this->y0);
      }
  
      // Get the size of the rectangle.
      // Put the size in the pointer args
      void Rectangle::getSize(int *width, int *height) {
          (*width) = x1 - x0;
          (*height) = y1 - y0;
      }
  
      // Move the rectangle by dx dy
      void Rectangle::move(int dx, int dy) {
          this->x0 += dx;
          this->y0 += dy;
          this->x1 += dx;
          this->y1 += dy;
      }
  }