Hot Door CORE Forum
large canvas considerations - Printable Version

+- Hot Door CORE Forum (http://hotdoorcore.com/forum)
+-- Forum: All forums (http://hotdoorcore.com/forum/forumdisplay.php?fid=1)
+--- Forum: General discussion (http://hotdoorcore.com/forum/forumdisplay.php?fid=3)
+--- Thread: large canvas considerations (/showthread.php?tid=245)



large canvas considerations - Rick Johnson - 09-20-2020

Do I understand correctly that the main difference between regular and large canvas size is (besides the dimensions being 10x larger in each direction) that the precision is reduced by one decimal place?

Using the Art class offset() function to move an object, say, 10 points still moves it 10 points, not 100, so am relieved that still works as it used to.

I noticed that CORE 0.7.5 has a new CurrentDocument function scale(). Can you give some examples of when this might be useful?

There's a new notifier type DocumentScaleChangedNotifierType but as I understand, a document cannot be changed between regular and large canvas, this can only be set at the time the document is created. If so, when would this notifier be sent?

Thanks for addressing large canvas, and any suggestions on how it affects CORE plugins.


RE: large canvas considerations - garrett - 09-28-2020

Adobe sort of "hacked" support for large canvases. They did not actually change the PDF spec to support document sizes any larger than roughly 19-feet across – they simply apply a scaler to everything in the document to simulate it being 190-feet across. As such, yes, one decimal point of precision is lost.

hdi_core abstracts the whole issue such that using our functions/methods to move an object "10pts" really only moves it 1pt but the Illustrator UI reports a 10pts delta (as it should due to the scaler).

The CurrentDocument:: scale() method simply reports 1x for "normal canvas" mode or 10x for "large canvas" mode. We thought it prudent to provide the method regardless of the fact hdi_core abstracts away the whole issue through the various SDK calls it wraps (i.e. we do not yet wrap every single SDK call in existence, so a consumer of our lib can still utilize some unwrapped call with the proper scaler if needed).

Adobe used to have a feature to explicitly enable large canvas mode in a normal-sized document, hence the notifier. They later removed it in favor of automatically enabling large canvas mode only when a document is created.