def METHOD_NAME(self, color: QPixmap, gray: QPixmap, progress: int) -> QPixmap:
    """
    Paints the color image over the gray images based on progress percentage
    @param color:
    @param gray:
    @param progress:
    @return:
    """
    device = QPixmap(color.size())
    painter = QPainter(device)
    painter.setRenderHint(QPainter.SmoothPixmapTransform, self._smooth_transform)
    painter.setCompositionMode(QPainter.CompositionMode_Source)
    # lk: Vertical loading
    # prog_h = (device.height() * progress // 100)
    # brush = QBrush(gray)
    # painter.fillRect(device.rect().adjusted(0, 0, 0, -prog_h), brush)
    # brush.setTexture(color)
    # painter.fillRect(device.rect().adjusted(0, device.height() - prog_h, 0, 0), brush)
    # lk: Horizontal loading
    prog_w = device.width() * progress // 100
    brush = QBrush(gray)
    painter.fillRect(device.rect().adjusted(prog_w, 0, 0, 0), brush)
    brush.setTexture(color)
    painter.fillRect(device.rect().adjusted(0, 0, prog_w - device.width(), 0), brush)
    painter.end()
    device.setDevicePixelRatio(color.devicePixelRatioF())
    return device