def render_form_field()

in web-app-pix2info-python/src/backend/render.py [0:0]


def render_form_field(demo: Demo, form_field: FormField) -> ImageIterator:
    xy = None
    for i, layout in enumerate((form_field.field_name, form_field.field_value)):
        is_key = i == 0
        xy = vertices_from_layout(demo, layout)
        if demo.rendering:
            color = FORM_FIELD_NAME_COLOR if is_key else FORM_FIELD_VALUE_COLOR
            # Form field bounding boxes are straight rectangles
            render_round_rectangle(demo, xy, color)
        yield from show_if_animated(demo)

        if is_key and render_confidence(demo, layout, xy):
            yield from show_if_animated(demo)

    if xy is None or form_field.value_type not in (FILLED_CHECKBOX, UNFILLED_CHECKBOX):
        return
    if demo.rendering:
        checkbox_filled = form_field.value_type == FILLED_CHECKBOX
        text = "[×]" if checkbox_filled else "[ ]"
        center_xy = center_vertex(xy)
        text_color = FORM_FIELD_VALUE_COLOR
        outline_color = CHECK_BOX_OUTLINE_COLOR
        render_centered_text(demo, text, center_xy, text_color, outline_color)
    yield from show_if_animated(demo)