First, thank you to all developers who have produced this package, it is very useful. My issue is the way the AfterDrawing and OnDrawBackBuffer are implemented. I was attempting to draw anti-aliased and per-pixel alpha images over the map, but could not get the transparency to work. Inspecting the source, I found that the back buffer is implemented with a gdi+ bitmap, and the hdc from the gdi+ graphics object is what gets passed to the Fire*() callbacks. This is fine for drawing any purely source pixel objects, but makes any raster operation which needs to combine the source with the destination pixels impossible because gdi+ only tracks changes to the bitmap, and then copies the net results to the actual bitmap only after ReleaseDC is called. See: [this article](https://support.microsoft.com/en-us/kb/311221) for a better explanation.
Perhaps there might be a way to expose the buffer bitmap itself?
Comments: Thanks, I'll test it. We are preparing a hot fix release now (v4.9.3.5). If this code works I'll include overloaded versions of these events. BTW, after some quick examining of code it seems that AfterDrawing duplicates OnDrawBackBuffer and what's more interesting is also fired BEFORE drawing and not after as expected (drawing buffer is passed to the main one in the line below). Also OnDrawBackBuffer isn't fired for snapshots (i.e printing) - I don't see the reason why. I'll check these issues as well.
Perhaps there might be a way to expose the buffer bitmap itself?
Comments: Thanks, I'll test it. We are preparing a hot fix release now (v4.9.3.5). If this code works I'll include overloaded versions of these events. BTW, after some quick examining of code it seems that AfterDrawing duplicates OnDrawBackBuffer and what's more interesting is also fired BEFORE drawing and not after as expected (drawing buffer is passed to the main one in the line below). Also OnDrawBackBuffer isn't fired for snapshots (i.e printing) - I don't see the reason why. I'll check these issues as well.