Arcs with Thickness / BitBlt SRC_PAINT

I’m simply trying to Draw an Arc with some thickness. The arcColor function in the Primitives only seems to draw a single pixel width Arc. I have other graphics drawn on my Texture, so the Arc needs to be “overlaid” like arcColor does.

So I tried the following

  1. On an off screen Texture…
  2. Fill with Black
  3. Draw filled Circle in color of desired Arc
  4. Draw filled circle in black that is “thickness” smaller than colored circle to “punch out” ring.
  5. Draw filled pie between end and start angles of arc to “punch out” the undesired part of the Arc.

Finally, I would like to BitBlt that offscreen Texture back onto my main Texture without bringing the black pixels. In Win32 GDI I would do a BltBlt with SRC_PAINT to OR the source and destination Textures, but SDL doesn’t appear to support that concept.

I haven’t been able to figure out what SDL_BLENDMODE_ADD does or how to use it, but it seems to have potential.

Note: I am doing all my Drawing on Textures and compositing them until a final SDL_RenderPresent()

Note: The old faithful method of Rendering an Arc as a series of small lines turned out to be horrible when the segments have thickness. (Or I have a settign wrong)