Hi,
Quote:1-Import shapes/nodes from a Visio stencil
That's not supported at this time. You could export your stencil shapes to SVG and show them in SvgNodes instead.
We are actually developing a Visio stencil importer too, but at this time it supports only a small subset of the Visio geometry primitives and formula functions. If you need it only for a specific stencil, please send us the file to verify if the importer can load it successfully and we could send you a pre-release build to try.
Also note that Visio's built-in stencils are copyrighted by Microsoft (see note at
https://support.office.com/en-sg/article/Create-save-and-share-a-custom-stencil-29040706-9c5b-47ef-bcf3-507c46e00347), we assume the importer will be used to load purchased third-party stencils or free / public domain ones.
Quote:2-Connect nodes (snap and align them) to each other without connector lines. Like building blocks.
Try setting the AutoAlignNodes and AutoAlignDistance properties.
Quote:3-Display a gallery of available shapes the user can drag and drop on the canvas.
You could add prototype nodes to a NodeListView control; they are cloned upon drag and drop to the diagram canvas.
Quote:4-Hardware accelerated rendering
We use standard GDI+ rendering code with some back-buffering and it works fast enough for a diagram. If you need hardware acceleration for some reason, you could probably implement the MindFusion.Drawing.IGraphics interface using OpenGL or DirectX, and override DiagramView.OnPaint to call Diagram.Draw(IGraphics) with your implementation.
I hope that helps,
Stoyan