Mix colors.

        Args:
            ca (gdk.RGBA): first color
            cb (gdk.RGBA): second color
            xb (float): between 0.0 and 1.0

        Return:
            gdk.RGBA: linear interpolation between ca and cb,
                      0 or 1 return the unaltered 1st or 2nd color respectively,
                      as in CSS.

def mix(self, ca, cb, xb):
        """Mix colors.

        Args:
            ca (gdk.RGBA): first color
            cb (gdk.RGBA): second color
            xb (float): between 0.0 and 1.0

        Return:
            gdk.RGBA: linear interpolation between ca and cb,
                      0 or 1 return the unaltered 1st or 2nd color respectively,
                      as in CSS.
        """
        r = (1 - xb) * ca.red + xb * cb.red
        g = (1 - xb) * ca.green + xb * cb.green
        b = (1 - xb) * ca.blue + xb * cb.blue
        a = (1 - xb) * ca.alpha + xb * cb.alpha
        return gdk.RGBA(red=r, green=g, blue=b, alpha=a)