Click here to Skip to main content
16,004,678 members

Welcome to the Lounge

   

For discussing anything related to a software developer's life but is not for programming questions. Got a programming question?

The Lounge is rated Safe For Work. If you're about to post something inappropriate for a shared office environment, then don't post it. No ads, no abuse, and no programming questions. Trolling, (political, climate, religious or whatever) will result in your account being removed.

 
GeneralRe: Wordle 1,175 Pin
Rich Leyshon5-Sep-24 23:00
Rich Leyshon5-Sep-24 23:00 
GeneralWordle 1,175 - 6/6 Pin
ChandraRam5-Sep-24 23:57
ChandraRam5-Sep-24 23:57 
GeneralRe: Wordle 1,175 Pin
StarNamer@work6-Sep-24 1:31
professionalStarNamer@work6-Sep-24 1:31 
GeneralRe: Wordle 1,175 Pin
Cp-Coder6-Sep-24 5:47
Cp-Coder6-Sep-24 5:47 
GeneralRe: Wordle 1,175 Pin
jmaida6-Sep-24 9:53
jmaida6-Sep-24 9:53 
GeneralRe: Wordle 1,175 Pin
PJ Arends6-Sep-24 13:33
professionalPJ Arends6-Sep-24 13:33 
GeneralLaughium Pin
BernardIE53175-Sep-24 14:54
BernardIE53175-Sep-24 14:54 
GeneralI hate being hung up and indecisive. Pin
honey the codewitch5-Sep-24 14:29
mvahoney the codewitch5-Sep-24 14:29 
Hi rubber ducks! Big Grin | :-D

My graphics library has stateless raster operations:

draw::filled_rectangle(destination,destination_rectangle,color,optional_clipping_rectangle)
draw::ellipse(destination,destination_rectangle,color,optional_clipping_rectangle)
etc
where destination is the drawing surface, be it a bitmap, a viewport or whatever.

i really want my vector operations to work that way too, but there are underlying complications.

basically, you have to build out paths with multiple calls, and then you can render that.

I can't decide how I want to expose the canvas - which I need to have bound to a "destination" (as above)

a template class called canvas? (the destination is arbitrary, with no common base, so must use source level linking eg: templates)

a class with a bunch of template methods? (actually thinking about it this won't work in this case)

If I use the template class I can potentially do like this:

auto canvas = draw::canvas(destination,destination_rect);

at which point I could do

canvas.arc(...)

for example

I don't like that it works so different than my raster functionality. It's stateful, but I'm not sure I can avoid that
I'm not sure if I like binding it to a destination using the draw:: class (draw::canvas)

And there are a bunch of details that I need to work out like

Do I combine stroke and fill data in one structure, or do I require you to define strokes and fills using multiple calls? (my prior SVG stuff worked the first way, pluto works the latter way, but I can make it work the first way)

I have so many questions spinning around in my head, and it's stopping me from moving forward.

I still think if you're working on software correctly, this is part of the process - better to get hung up in design then to paint yourself into a corner during implementation.

Still, it's frustrating.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix

GeneralRe: I hate being hung up and indecisive. Pin
megaadam6-Sep-24 0:08
professionalmegaadam6-Sep-24 0:08 
GeneralRe: I hate being hung up and indecisive. Pin
honey the codewitch6-Sep-24 0:11
mvahoney the codewitch6-Sep-24 0:11 
GeneralRe: I hate being hung up and indecisive. Pin
honey the codewitch6-Sep-24 0:15
mvahoney the codewitch6-Sep-24 0:15 
GeneralRe: I hate being hung up and indecisive. Pin
charlieg7-Sep-24 18:15
charlieg7-Sep-24 18:15 
GeneralRe: I hate being hung up and indecisive. Pin
honey the codewitch7-Sep-24 18:22
mvahoney the codewitch7-Sep-24 18:22 
GeneralRe: I hate being hung up and indecisive. Pin
charlieg8-Sep-24 5:56
charlieg8-Sep-24 5:56 
GeneralProgram C64 In Your Browser Pin
raddevus5-Sep-24 8:01
mvaraddevus5-Sep-24 8:01 
GeneralRe: Program C64 In Your Browser Pin
dandy725-Sep-24 8:42
dandy725-Sep-24 8:42 
GeneralRe: Program C64 In Your Browser Pin
raddevus5-Sep-24 9:13
mvaraddevus5-Sep-24 9:13 
GeneralRe: Program C64 In Your Browser Pin
Mike Hankey5-Sep-24 9:16
mveMike Hankey5-Sep-24 9:16 
GeneralRe: Program C64 In Your Browser Pin
raddevus5-Sep-24 9:43
mvaraddevus5-Sep-24 9:43 
GeneralRe: Program C64 In Your Browser Pin
Mike Hankey5-Sep-24 9:51
mveMike Hankey5-Sep-24 9:51 
GeneralRe: Program C64 In Your Browser Pin
honey the codewitch5-Sep-24 10:00
mvahoney the codewitch5-Sep-24 10:00 
GeneralRe: Program C64 In Your Browser Pin
Roger Wright5-Sep-24 18:26
professionalRoger Wright5-Sep-24 18:26 
GeneralRe: Program C64 In Your Browser Pin
dandy726-Sep-24 3:51
dandy726-Sep-24 3:51 
GeneralRe: Program C64 In Your Browser Pin
Nelek5-Sep-24 13:04
protectorNelek5-Sep-24 13:04 
GeneralThis is one of those things that ChatGPT is too stupid to understand Pin
dandy725-Sep-24 7:39
dandy725-Sep-24 7:39 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.