# `EgdTextPanel.Renderer`
[🔗](https://github.com/fhunleth/egd_text_panel/blob/v0.1.0/lib/egd_text_panel/renderer.ex#L4)

Behaviour for rendering terminal output to an EGD image

# `egd_image`

```elixir
@type egd_image() :: pid()
```

:egd.egd_image()

# `state`

```elixir
@type state() :: term()
```

Renderer state

Initial state comes from the `:renderer_state` option that was passed to
`EgdTextPanel.start_link/1`.

# `draw_background`

```elixir
@callback draw_background(egd_image(), state()) :: state()
```

Called before the text is drawn

# `render_image`

```elixir
@callback render_image(egd_image(), state()) :: state()
```

Render the final image

---

*Consult [api-reference.md](api-reference.md) for complete listing*
