|
I'm doing it for the author of TinyVG. I figure he shared his ideas, and even though I wasn't enthralled with them at first, they turned out more useful than I initially thought, so I may as well give back.
His ref implementation is in Zig, but seeing as this is embedded, it will reach more people if he can provide one in C, so I'll do that.
Plus it means I get another set of eyes over my stuff to make sure I did it right, and who better than the author himself?
Win all around. Just some C code and some CMake files to write.
Turns out the guy is a heavy contributor to the Zig language as well.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
And you are sure, that the Pizza was THC free?
|
|
|
|
|
I'm successfully clipping my canvases so they can be rendered when only partially backed by a bitmap or other draw target. It will simply only render that part.
This is a big step. Now my direct writes to said bitmaps won't crash stuff.
I also found my issue with TVG, and it wasn't the polarity mismatch I thought it was. I just wasn't clear about a detail of the specification. After sorting that out, my code renders all my test documents, though I still have a few features to implement to make it complete.
It's pretty cool. My compiler and me are friends today.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
Looks like it was a Pizza 'Padrone'
|
|
|
|
|
(Minimalist clue!)
Opposite to talk. (8)
Software rusts. Simon Stephenson, ca 1994. So does this signature. me, 2012
|
|
|
|
|
|
It would indeed!
Do you feel like setting one, either tomorrow or Friday?
Software rusts. Simon Stephenson, ca 1994. So does this signature. me, 2012
|
|
|
|
|
I'll do tomorrows if Rich doesn't want to - I think we'll just have to muddle through until things settle
In a closed society where everybody's guilty, the only crime is getting caught. In a world of thieves, the only final sin is stupidity. - Hunter S Thompson - RIP
|
|
|
|
|
I already had tomorrow and Friday. Used tomorrow's prepared clue to help PO'H.
Software rusts. Simon Stephenson, ca 1994. So does this signature. me, 2012
|
|
|
|
|
Ok Peter thanks I'll leave it as it is then. I'm up Wednesday.
In a closed society where everybody's guilty, the only crime is getting caught. In a world of thieves, the only final sin is stupidity. - Hunter S Thompson - RIP
|
|
|
|
|
Sorry, been tied up, only just seen this. If someone is needed for some day I'm sure I could do something but can't guarantee quick responses to guesses!
|
|
|
|
|
I think we're covered Rich
In a closed society where everybody's guilty, the only crime is getting caught. In a world of thieves, the only final sin is stupidity. - Hunter S Thompson - RIP
|
|
|
|
|
Wordle 1,206 4/6*
β¬π©β¬β¬β¬
β¬π©β¬β¬β¬
β¬π©π©β¬β¬
π©π©π©π©π©
|
|
|
|
|
Wordle 1,206 3/6
β¬π¨β¬β¬β¬
β¬β¬π©π©β¬
π©π©π©π©π©
In a closed society where everybody's guilty, the only crime is getting caught. In a world of thieves, the only final sin is stupidity. - Hunter S Thompson - RIP
|
|
|
|
|
Wordle 1,206 3/6*
β¬π¨π©β¬β¬
β¬β¬π©π¨β¬
π©π©π©π©π©
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
Wordle 1,206 3/6
π¨β¬β¬β¬β¬
β¬π¨π©π©β¬
π©π©π©π©π©
|
|
|
|
|
Wordle 1,206 3/6*
β¬π©β¬π¨β¬
π©π©π©β¬π©
π©π©π©π©π©
Happiness will never come to those who fail to appreciate what they already have. -Anon
|
|
|
|
|
Wordle 1,206 4/6
π¨π¨β¬β¬β¬
β¬π¨π¨β¬β¬
β¬π¨π¨β¬β¬
π©π©π©π©π©
|
|
|
|
|
So I ran into a bit of a conundrum.
Because of the way my user interface library works, it might draw half your control to a bitmap send that bitmap to the screen, and then repeat the process with the other half.
A canvas is bound to a bitmap, and while I can change the bounds after the canvas is created, it will try to write to areas where the bitmap isn't present. When using callbacks, this is simply a performance issue. When using directing binding to the bitmap, this is an access violation.
One option is to create a new canvas the size of the bitmap in UIX (my user interface lib) every time i refresh that control on the screen, but there are so many problems with this, starting with the size of that backing bitmap being an implementation detail, and that's not counting the performance issue of creating and destroying canvases all the time, when I should just be able to rebind it to a new bitmap.
And the performance issue I mentioned in passing above is a real problem in UIX's case because maybe half the control will be drawn at once and the callbacks will be fired for ALL of it, half of it in vain as they get clipped from the final output.
What I needed was a way to clip the drawing in my vector library, such that I could specify a clipping rectangle that perfectly overlays the backing bitmap. If I do that, the rasterizer never has to touch those "out of bounds" areas, saving time and potentially crashes.
Well, I'm halfway there, but a bit overwhelmed and sort of procrastinating the rest of it.
There's something I want to do after I complete this portion - and that is I want to support direct binds to an RGB565 bitmap. However, it gets a bit weird because there's no alpha channel in that color model. Currently I can only bind directly to an RGBA8888 bitmap, which isn't very practical on embedded in most situations. Situations where I can't bind directly use callbacks to do the final pixel reads/writes.
I'm excited about that part. I want the challenge, but I'm stuck with the clipping problem first.
Pizza incoming. That should fix it.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
Pizza can fix a lot of things. So can a rubber duck. It seems like you should invest in one.
|
|
|
|
|
Greg Utas wrote: So can a rubber duck. Aye!
/ravi
|
|
|
|
|
Greg Utas wrote: So can a rubber duck. It seems like you should invest in one
Tired of hearing from me, eh?
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
Ohhh!
We're the rubber duck!
|
|
|
|
|
Aha! You got it!
- I would love to change the world, but they wonβt give me the source code.
|
|
|
|
|
Nah. Your streams of consciousness are usually interesting.
But a duck interacts with you, so you wouldn't have to anticipate all the details that you must first explain!
|
|
|
|