As you may have noticed, the InDesign CC SDK is available by request from http://www.adobe.com/devnet/indesign.html.
In this latest release we’ve added new samples to the SDK whilst some more basic features of plug-in development have also changed. We’ll talk about the new samples in future blog posts, but find below the more fundamental changes you need to know about if you are creating plug-ins for InDesign CC.
Since InDesign CC supports the retina display of the MacBook Pro, plug-in developers now need to provide additional icons and cursors for their plug-ins.
To support HiDPI on Mac OS, plug-ins with icons should provide alternative versions of icons. The icons do not need to be HiDPI, but they should be double the dimensions of the original icons. For example, if the original icon is 22×22 then the HiDPI icon should be 44×44.
All of this is demonstrated in the project called SnapShot.sdk.xcodeproj included in the SDK. This sample also shows how to use a separate FR file for icon and cursor definitions, which is encouraged and especially useful for plug-ins with a large number of icon and cursor definitions.
Cursors and icons
PNGs instead of rsrc
Plug-ins must now use PNGs for icons and cursors and provide light and dark versions. We made this change since the Mac platform has deprecated the use of rsrc files, which used to be the primary source for cursors. Using PNGs provides a cross-platform method of cursor management.
Light and dark icons
To support theming, in which the application skin can be made light or dark, plug- ins with icons should now provide two icons, one light and one dark.
EVE (Adobe Express View Engine) has been recommended for defining dialog layout in previous releases but in CC we converted all of InDesign’s dialogs to use EVE. It is still possible to not use EVE, but we would strongly recommend that you use it for dialogs.
Using EVE gives the following benefits:
- In cases where text is different sizes on different operating systems, you no longer have to worry about calculating extra whitespace.
- English dialogs can be smaller because you do not need to leave room for anticipated localized text being longer.
- EVE eliminates problems with widgets that don’t quite line up correctly or text being chopped off because EVE automatically resizes static text, buttons, check boxes, radio buttons, and drop-down lists.
All SDK samples with dialogs have been updated to use EVE and there is a new PDF inside the plug-in SDK (Using EVE for Dialogs) documenting how to use it, and also how to convert existing dialogs to use EVE using a tool included in the SDK to get you started.
InDesign CC is 64bit only on Mac OS. A large chunk of work for us in this release of InDesign was to decarbonize InDesign, that is to say, remove the use of Carbon APIs and make InDesign a Cocoa based application.
All SDK samples have 64bit Mac OS support and the plug-in project generator ‘dolly’ can be used for creating new plug-in projects with 64bit Mac support.
The operating system requirements for InDesign are Windows 7 or later for Windows, and Mac OS 10.6 or later for Mac OS. Unlike the CS6 plug-in SDK, it is not possible to use Windows XP for developing InDesign plug-ins. This is due to InDesign CC being dependent on APIs found only in Windows 7 or later.
Regarding IDEs, as in CS6, we require Visual Studio 2010 on Windows. Unlike CS6, on Mac OS we require Xcode 4.5.2 rather than Xcode 3.2.5.