the alpha has to changed based on the parent, so that happens at the
        time of drawing

def _set_color(self, context, r, g, b, a):
        """the alpha has to changed based on the parent, so that happens at the
        time of drawing"""
        if a < 1:
            context.set_source_rgba(r, g, b, a)
        else:
            context.set_source_rgb(r, g, b)