docs: def scale(self, sx, sy=None):
          """Applies scaling by :obj:`sx`, :obj:`sy`
          to the transformation in this matrix.
  
          The effect of the new transformation is to
          first scale the coordinates by :obj:`sx` and :obj:`sy`,
          then apply the original transformation to the coordinates.
  
          If :obj:`sy` is omitted, it is the same as :obj:`sx`
          so that scaling preserves aspect ratios.
  
          .. note::
              This changes the matrix in-place.
  
          :param sx: Scale factor in the X direction.
          :param sy: Scale factor in the Y direction.
          :type sx: float
          :type sy: float
  
          """
          if sy is None:
              sy = sx
          cairo.cairo_matrix_scale(self._pointer, sx, sy)