enthought / enthought/enable

Blend2D Kiva backend TODO

Open
#771 0 comments 0 reactions 0 assignees View on GitHub
type: enhancement
Dominant language
C
Stars
97
Forks
45
PR merge metrics
No merged PRs in 30d

Description

The Kiva blend2d backend is still in a very alpha-quality state. Here's what we know is missing:

- [ ] Some of the graphics state needs to be tracked by the Kiva backend. (see instance attributes `path`, `font`, `_kiva_font`, `text_pos`, and `text_drawing_mode`)
- [ ] Only RGBA32 is supported right now. This might be the only [color] format supported by Blend2D.
- [ ] Not all CTM manipulations are supported
- [ ] Enable/Disable of anti-aliasing. Is it even possible?
- [ ] Line dashing (Unsupported in Blend2D as of May 2021)
- [ ] `arc` and `arc_to` are incomplete/incosistent
- [ ] `get_path_bounding_box` returns an object which can't be introspected by the user because it's a thin wrapper around a C++ object.
- [ ] Most of the clipping functions aren't implemented
- [ ] `draw_image` doesn't yet handled `rect=None` as an argument. Also doesn't correctly handling flipping the image along the Y-axis
- [ ] `*_character_spacing` methods are not implemented
- [ ] `*_text_matrix` methods are not implemented
- [ ] Not all text drawing modes are implemented
- [ ] `get_text_extent` is not implemented
- [ ] `eof_fill_path` and EOF filling rule is not implemented
- [ ] `draw_path_at_points`/`draw_marker_at_points` not implemented

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.