-
Notifications
You must be signed in to change notification settings - Fork 2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
disp_dev: color depth and coordinate system #13787
Comments
A different solution for this could be to add a number of capability flags to a driver to indicate different driver capabilities. |
I have proposal for the color depth issue in the PR #14054 .
But the Coordinator simplification doesn't address this issue. Just a simplification of the API itself.
I agree with that one. Should address the issue. |
Is it somehow possible to push this topic, so it is not going to die? :) |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. If you want me to ignore this issue, please mark it with the "State: don't stale" label. Thank you for your contributions. |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. If you want me to ignore this issue, please mark it with the "State: don't stale" label. Thank you for your contributions. |
Still an issue. |
I just added an implementation of
disp_dev
(see #13262) to #12509. I have some (admittedly minor) feedback about the current API:The
color
parameter fordisp_dev_map
is anuint16_t
pointer. This implies that pixels should at least be 16 bits. The e-Paper display in black/white e-Paper/e-Ink display driver #12509 uses a single byte per 8 pixels, so it would be more natural to useuint8_t
there. Especially when dealing with something like a 8x3 pixel image.In the implementation for the ili9341
x2
andy2
describe the coordinate of the inner pixel of the corner, not the outside corner. This is also noted in the documentation of that driver. It is not, however, noted indisp_dev_map
. I also think that (even when explicitly noted) this is not an intuitive use of coordinates: a rectangle with two opposing corners having the coordinates (5,5) and (5,5) has an area of 0, not 1.disp_dev_set_invert
will probably not apply to all displays. It is currently not possible to communicate this to the user.Proposals:
Make
color
anuint8_t
.Use width (
w
) and height (h
) instead ofx2
andy2
to avoid any confusion. This is also what SDL, Gegl and Cairo do.Add a return type to
disp_dev_set_invert
indicating success/failure. This should probably also be the case fordisp_dev_map
.The text was updated successfully, but these errors were encountered: