'A new image layer.
Arguments:
layername:
Name of the primary source image layer.
colorname:
Fill color, passed to make_color().
maskname:
Name of the mask image layer.'

def __init__(self, layername=None, colorname=None, maskname=None, opacity=1.0, blendmode=None, adjustments=None, zoom=''):

    self.layername = layername
    self.colorname = colorname
    self.maskname = maskname
    self.opacity = opacity
    self.blendmode = blendmode
    self.adjustments = adjustments
    zooms = (re.search('^(\\d+)-(\\d+)$|^(\\d+)$', zoom) if zoom else None)
    if zooms:
        (min_zoom, max_zoom, at_zoom) = zooms.groups()
        if ((min_zoom is not None) and (max_zoom is not None)):
            (self.min_zoom, self.max_zoom) = (int(min_zoom), int(max_zoom))
        elif (at_zoom is not None):
            (self.min_zoom, self.max_zoom) = (int(at_zoom), int(at_zoom))
    else:
        (self.min_zoom, self.max_zoom) = (0, float('inf'))
