There are no new features in this release, but a bunch of small improvements:
- Fixed CanvasDrawingSession.Close to release all resources it was holding
- Fixed lost device handling to call RoClearError, so later unrelated exceptions don’t incorrectly appear to be lost devices
- Fixed CanvasBitmap.[Get|Set]Pixel[Bytes|Colors] to handle the data hazard if a bitmap is drawn in between being changed
- Fixed CanvasBitmap.[Get|Set]PixelBytes to work with A8 format on feature level 9.x devices
- CanvasDevice.GetSharedDevice now reacts more sensibly if the shared device is closed, or if CanvasDevice.DebugLevel is changed out from under it
- CanvasAnimatedControl uses the RaiseException trick to give the game loop thread a human readable name
We also improved some exception error messages:
- When trying to create a bitmap, rendertarget, swapchain, or image source larger than the max GPU texture size
- Attempting to create multiple simultaneous drawing sessions on the same target
- Calling CanvasImageSource or CanvasVirtualImageSource CreateDrawingSession on non-UI thread
And made Example Gallery better:
- Ink Example defers calling EndDry, to avoid flicker where wet ink could be turned off before the dry ink is visible
- Simplified the ink and D3D interop example code
Plus, various small documentation improvements.
Enjoy, and a happy New Year to you all!