code: def _calculate_ms_from_base(self, size):
          
          hw = size.x * 0.5
          hh = size.y * 0.5
  
          a = datatypes.Point(hw, hh).get_rotated(self.angle)
          b = datatypes.Point(-hw, hh).get_rotated(self.angle)
          c = datatypes.Point(hw, -hh).get_rotated(self.angle)
          d = datatypes.Point(-hw, -hh).get_rotated(self.angle)
  
          minp = a.get_minimum(b).get_minimum(c).get_minimum(d)
          maxp = a.get_maximum(b).get_maximum(c).get_maximum(d)
          return maxp - minp
docs: Calculates the rotated minimum size from the given base minimum
          size.