-
Notifications
You must be signed in to change notification settings - Fork 156
[graphic] Rewrite graphics - Round 1 #665
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
Conversation
8f9a708 to
c6c0bd0
Compare
b81fd96 to
f9c5077
Compare
f9c5077 to
08f86c9
Compare
093aa98 to
dd857ab
Compare
f2326c6 to
60c8450
Compare
|
It's the exams phase so I don't have a detailed review, but here are some rought points:
|
8d11b57 to
febf47d
Compare
|
Thanks @salkinium for the quick review. I'm happy with such short mentoring, Nice to hear the code isn't bullshit and thanks for the feedback.
Before: Advantages
The declarations of |
ca9176d to
ca385fc
Compare
fe330d1 to
4ed4ed0
Compare
8f6dcfa to
2ed0fbb
Compare
b0e7799 to
496d898
Compare
|
I'm generally positively impressed by these changes and looking forward to the finished PR, particularly since there are many very cool improvements in here! 😍 However, I've completely lost the overview of this PR and GitHub is struggling to show me the whole diff, due to +6,742 −14,976 changes, so I'm struggling to review it… There are also too many commits for me to click through, so I cannot review commit by commit either. I think we need to split this up a little, are there changes you can pull out into separate PRs that are more independent? There's no time pressure, just want to let you know that I'm willing to review just not really able to. |
532e1f4 to
f16db8e
Compare
|
Quote @salkinium, 30 .Juli 2021 in #660 😜
Also didn't expect such a code explosion - It's much fun, a great learning subject and ongoing story: Let's keep #665 as reference and merge proven pieces step bz step! Here's Nr.1 #690
Yes. I have renamed the ordered list in my opening message: |
b8d05e6 to
e9f7689
Compare
f2f625d to
fd926fa
Compare
cb24915 to
7758b7a
Compare
|
I've created PRs for environmental changes @salkinium so we get the table as clean as possible to concentrate on the real chunks. See section Roadmap in this PRs opening message. |
Closed because PR is way too big. First fragments are in review and you find the rest of the code in my origin feature/rewrite-graphic |
Synopsis of added goods
modm::Gray. Same formodm::Rgbandmodm::Hsvcause they're made form 3xmodm::GrayBufferinteroperation: Copy/Convert buffers from sources (Flash, Ram, SD-Card not yet implemented) to destinations (Ram, Display).,foregroundColor-> replaced by a colormap*backgroundColorclear()andBuffercopies without color-conversion / -mappingdraw(Point / HLine / VLine / Rectangle, Section)is hyper-fast cause no pixel-pushing is involved. Just some register setup and DMA, filling the area. See Teach DMA to transfer n bytes n times #666 . This is great for Prototyping and Tools: You can f.e. draw/update colored Bars with next to zero resource-footprint.Roadmap
graphic::Bufferincluding Display driver write-methodsgraphic::shapeclasses and their rendering into graphic buffersTODO
color::GrayT<...>implementation to cover f.e. 4 and 16 level grayscale displays.graphic::Buffer<GrayT<...>, ...>implementation. Targets pixel stacking algorithms.graphic::LocalPainterwith simple UI widgets like Button, Checkbox and SliderHere's a list for follow up rounds.
Rewrite Graphics - Round 2
modm::Bufferfrom multiplemodm::Bufferlike layers in graphics manipulation software.modm::ui::color::*but also depends on what DMA2D can do. See uPainter