def parse_image_as_background(node, state):
    """Parses the embedded content of image node with a faint:background
    attribute and sets it as the background.

    """
    image_str = node.get(ns_xlink('href'))
    image_type, data = parse_embedded_image_data(image_str)
    assert image_type == 'png'
    state.props.set_background(ifaint.bitmap_from_png_string(data))
def parse_pattern_node(node, props, state):
    """Parses a pattern element"""
    node_id = node.getAttribute('id')
    for child in node.childNodes:
        if child.nodeName == 'image':
            encoding, data = parse_embedded_image_data(
                child.getAttribute("xlink:href"))
            if encoding == "png":
                return node_id, ifaint.Pattern(
                    ifaint.bitmap_from_png_string(data))
    props.add_warning('Failed parsing pattern with id=%s' % node_id)
    return None
Example #3
0
def parse_pattern_node(node, state):
    """Parses a pattern element"""
    # Fixme: Review, from old
    node_id = node.get('id')
    for child in node.childNodes:
        if child.tag == ns_svg('image'):
            encoding, data = parse_embedded_image_data(
                child.get(ns_xlink('href')))
            if encoding == "png":
                return node_id, ifaint.Pattern(
                    ifaint.bitmap_from_png_string(data))
    state.add_warning('Failed parsing pattern with id=%s' % node_id)
    return None
def parse_pattern_node(node, state, id_to_etree_node):
    """Parses a pattern element"""

    state = state.updated(node)

    node_id = node.get('id')
    if node_id is None:
        # Ignore patterns without identifiers
        return None

    for child in node:
        if child.tag == ns_svg('image'):
            encoding, data = parse_embedded_image_data(
                child.get(ns_xlink('href')))
            if encoding == "png":
                return node_id, ifaint.Pattern(
                    ifaint.bitmap_from_png_string(data))
    state.add_warning('Failed parsing pattern with id=%s' % node_id)
    return None