Is there any information present in a display pipeline / conduit that would let me know that a viewport is “capturing” to file or clipboard rather than drawing to the screen?
Specifically, I am updating some old grasshopper components that draw geometry at a particular location on screen (Heads-up display-style). The problem is that geometry is always scaled/positioned wrong relative to the rest of the geometry when capturing at a scale other than 1. I have access in the component draw methods to the DisplayPipeline object but cannot find anything in there that helps me correct for the “scaling” that happens. Any ideas?
I can confirm this…when I run a ViewCaptureToFile with scaling set to 2, for example, the override for PostDrawObjects is called four times for each object, and each time IsPrinting returns as false.
The display pipeline does have the concept of a ‘context’, which basically tells what what is being drawn (e.g. print, preview, capture, etc.). This is probably something we can exposed in the Rhino WIP.