def METHOD_NAME(self, gc, screen_pts, prefix, sep="_"):
    """ screen_pt should always be a list """
    if len(screen_pts) == 0:
        return
    plot = self.component
    mapped_attribs = ("color", "outline_color", "marker")
    other_attribs = ("marker_size", "line_width")
    kwargs = {}
    for attr in mapped_attribs + other_attribs:
        if attr in mapped_attribs:
            # Resolve the mapped trait
            valname = attr + "_"
        else:
            valname = attr
        tmp = getattr(self, prefix + sep + valname)
        if tmp is not None:
            kwargs[attr] = tmp
        else:
            kwargs[attr] = getattr(plot, valname)
    # If the marker type is 'custom', we have to pass in the custom_symbol
    # kwarg to render_markers.
    if kwargs.get("marker", None) == "custom":
        kwargs["custom_symbol"] = plot.custom_symbol
    with gc:
        gc.clip_to_rect(plot.x, plot.y, plot.width, plot.height)
        render_markers(gc, screen_pts, **kwargs)