Hot Door CORE  0.7.1
Adobe® Illustrator® Plug-in Library
hdicoreTypes.h
Go to the documentation of this file.
1 
7 #ifndef __HDI_CORE_TYPES__
8 #define __HDI_CORE_TYPES__
9 
10 #if defined(MAC_ENV)
11  #include <stdint.h>
12 
13  @class NSApplication;
14  @class NSBundle;
15  @class NSWindow;
16 #elif defined(WIN_ENV)
17  #include <cstdint>
18 
19  typedef int16_t mode_t;
20 
21  #ifndef _INC_WINDOWS
22  struct HINSTANCE__;
23  typedef struct HINSTANCE__* HINSTANCE;
24 
25  struct HWND__;
26  typedef struct HWND__* HWND;
27  #endif
28 
29  class CDialog;
30  class CWnd;
31 #endif
32 
33 #include <memory>
34 #include <string>
35 
36 #include "hdicoreMacros.h"
37 
38 
39 
40 namespace hdi
41 {
42  namespace core
43  {
49  typedef unsigned char byte;
50 
58  typedef char UTF8Char;
59 
67  typedef std::string UTF8String;
68 
76  typedef uint16_t UTF16Char;
77 
84  typedef std::basic_string<UTF16Char> UTF16String;
85 
89  typedef uint32_t UTF32Char;
90 
94  typedef std::basic_string<UTF32Char> UTF32String;
95 
99  enum ArtType
100  {
101  ArtTypeUnknown = 0,
102  ArtTypeGroup = 100,
103  ArtTypePath = 110,
104  ArtTypeCompoundPath = 120,
105  ArtTypePlaced = 200,
106  ArtTypeRaster = 300,
107  ArtTypeCustom = 310,
108  ArtTypeMesh = 320,
109  ArtTypeText = 330,
110  ArtTypeSymbol = 340,
111  ArtTypeForeign = 350,
112  ArtTypeTextLegacy = 360 // From Illustrator 10 and below
113  };
114 
119  {
120  MatchArtTypeUnknown = 0,
121  MatchArtTypeGroup = 1 << 0,
122  MatchArtTypePath = 1 << 1,
123  MatchArtTypeCompoundPath = 1 << 2,
124  MatchArtTypePlaced = 1 << 3,
125  MatchArtTypeRaster = 1 << 4,
126  MatchArtTypeCustom = 1 << 5,
127  MatchArtTypeMesh = 1 << 6,
128  MatchArtTypeText = 1 << 7,
129  MatchArtTypeSymbol = 1 << 8,
130  MatchArtTypeForeign = 1 << 9,
131  MatchArtTypeTextLegacy = 1 << 10,
132  MatchArtTypeAll = ~0L
133  };
134 
139  {
140  ArtAttrSelected = 1 << 0,
141  ArtAttrFullySelected = 1 << 1,
142  ArtAttrLocked = 1 << 2,
143  ArtAttrHidden = 1 << 3,
144  ArtAttrExpanded = 1 << 4,
145  ArtAttrTargeted = 1 << 5,
146  ArtAttrIsClipMask = 1 << 6,
147  ArtAttrIsTextWrap = 1 << 7,
148  ArtAttrHasSimpleStyle = 1 << 8, // Cannot be set, only queried
149  ArtAttrHasActiveStyle = 1 << 9, // Cannot be set, only queried
150  ArtAttrStyleIsDirty = 1 << 10,
151  ArtAttrPartOfCompound = 1 << 11 // Cannot be set, only queried
152  };
153 
158  {
159  MatchArtAttrNone = 0,
160  MatchArtAttrSelected = 1 << 0,
161  MatchArtAttrFullySelected = 1 << 1,
162  MatchArtAttrLocked = 1 << 2,
163  MatchArtAttrHidden = 1 << 3,
164  MatchArtAttrExpanded = 1 << 4,
165  MatchArtAttrTargeted = 1 << 5,
166  MatchArtAttrIsClipMask = 1 << 6,
167  MatchArtAttrIsTextWrap = 1 << 7,
168  MatchArtAttrHasSimpleStyle = 1 << 8,
169  MatchArtAttrHasActiveStyle = 1 << 9,
170  MatchArtAttrStyleIsDirty = 1 << 10,
171  MatchArtAttrPartOfCompound = 1 << 11,
172  MatchArtAttrSelectedTopLevelGroups = 1 << 12,
173  MatchArtAttrSelectedLeaves = 1 << 13,
174  MatchArtAttrSelectedTopLevelPainted = 1 << 14,
175  MatchArtAttrArtInDictionaries = 1 << 15,
176  MatchArtAttrArtInGraphs = 1 << 16,
177  MatchArtAttrArtInResultGroups = 1 << 17,
178  MatchArtAttrTextPaths = 1 << 18,
179  MatchArtAttrArtNotInPluginGroups = 1 << 19
180  };
181 
188  {
189  MatchArtSearchIncludes = 10,
190  MatchArtSearchExcludes = 20
191  };
192 
198  {
199  public:
204 
210 
215 
221  MatchArtSpec();
222 
233  MatchArtSpec(const MatchArtType arts_, const MatchArtAttribute attrs_, const MatchArtSearch type_);
234 
240  virtual ~MatchArtSpec();
241  };
242 
251  {
252  PlaceAbove = 100,
253  PlaceBelow = 110,
254  PlaceInsideOnTop = 120,
255  PlaceInsideOnBottom = 130,
256  PlaceAboveAll = 140,
257  PlaceBelowAll = 150
258  };
259 
264  {
265  UnknownBlendMode = 0,
266  NormalBlendMode = 10,
267  MultiplyBlendMode = 20,
268  ScreenBlendMode = 30,
269  OverlayBlendMode = 40,
270  SoftLightBlendMode = 50,
271  HardLightBlendMode = 60,
272  ColorDodgeBlendMode = 70,
273  ColorBurnBlendMode = 80,
274  DarkenBlendMode = 90,
275  LightenBlendMode = 100,
276  DifferenceBlendMode = 110,
277  ExclusionBlendMode = 120,
278  HueBlendMode = 130,
279  SaturationBlendMode = 140,
280  ColorBlendMode = 150,
281  LuminosityBlendMode = 160
282  };
283 
288  {
289  BlendKnockoutUnknown = 0,
290  BlendKnockoutOff = 10,
291  BlendKnockoutOn = 20,
292  BlendKnockoutInherited = 100
293  };
294 
301  {
302  // DO NOT CHANGE THE RAW VALUES HERE
303  UnknownPinPoint = 0,
304  TopLeftPinPoint = 1,
305  TopCenterPinPoint = 2,
306  TopRightPinPoint = 3,
307  MidLeftPinPoint = 4,
308  MidCenterPinPoint = 5,
309  MidRightPinPoint = 6,
310  BottomLeftPinPoint = 7,
311  BottomCenterPinPoint = 8,
312  BottomRightPinPoint = 9
313  };
314 
327  {
328  UnknownHitRequest = 0,
329  SegPointHitRequest = 1 << 0,
330  SegInPointHitRequest = 1 << 1,
331  SegOutPointHitRequest = 1 << 2,
332  AnySegControlHitRequest = (SegPointHitRequest | SegInPointHitRequest | SegOutPointHitRequest),
333  SegInteriorHitRequest = 1 << 3,
334  SegPointOrInteriorHitRequest = (SegPointHitRequest | SegInteriorHitRequest),
335  FillHitRequest = 1 << 4,
336  HitRequestIncludesGuides = 1 << 16,
337  AnyHitRequestNoGuides = (~0L) ^ HitRequestIncludesGuides,
338  AnyHitRequest = ~0L
339  };
340 
345  {
346  UnknownWindowType = 0,
347  ControlBarWindowType = 10, // ControlBar class
348  ModalDialogWindowType = 20, // ModalDialog class
349  PanelWindowType = 30, // Panel class
350  FloatingDialogWindowType = 40 // FloatingDialog class
351  };
352 
357  {
358  ColorModelUnknown = 0, // Reserved for future use
359  ColorModelGray = 10, // Reserved for future use
360  ColorModelRGB = 20,
361  ColorModelCMYK = 30
362  };
363 
368  {
369  JustifyLeft = 100,
370  JustifyRight = 110,
371  JustifyCenter = 120,
372 
373  JustifyFullLastLineLeft = 200,
374  JustifyFullLastLineRight = 210,
375  JustifyFullLastLineCenter = 220,
376  JustifyFullLastLineFull = 300
377  };
378 
383  {
384  UnknownOrientation = 0,
385  HorizontalOrientation = 100,
386  VerticalOrientation = 110
387  };
388 
393  {
394  UnknownLeadingType = 0,
395  RomanLeadingType = 10,
396  JapaneseLeadingType = 20
397  };
398 
403  {
404  UnknownComposerEngine = 0,
405  LatinCJKComposerEngine = 10, // Original Adobe Type Engine US composer supporting Latin and CJK
406  OptycaComposerEngine = 20, // Optyca composer provided by WinSoft WRServices, supporting complex
407  // scripts like Hebrew, Arabic, Thai, Vietnames, Indic, etc.
408  AdornmentComposerEngine = 30
409  };
410 
415  {
416  UnknownFigureStyle = 0,
417  DefaultFigureStyle = 10,
418  TabularLiningFigureStyle = 20,
419  ProportionalOldFigureStyle = 30,
420  ProportionalLiningFigureStyle = 40,
421  TabularOldFigureStyle = 50
422  };
423 
428  {
429  UnknownUnderlinePosition = 0,
430  UnderlineOffPosition = 10,
431  UnderlineOnRightInVerticalPosition = 20,
432  UnderlineOnLeftInVerticalPosition = 30
433  };
434 
439  {
440  UnknownStrikethroughPosition = 0,
441  StrikethroughOffPosition = 10,
442  StrikethroughOnXHeightPosition = 20,
443  StrikethroughOnEMBoxPosition = 30
444  };
445 
450  {
451  UnknownFontOpenTypePosition = 0,
452  NormalFontOpenTypePosition = 10,
453  SuperscriptFontOpenTypePosition = 20,
454  SubscriptFontOpenTypePosition = 30,
455  NumeratorFontOpenTypePosition = 40,
456  DenominatorFontOpenTypePosition = 50
457  };
458 
463  {
464  UnknownFontBaseline = 0,
465  NormalFontBaseline = 10,
466  FauxedSuperScriptFontBaseline = 20,
467  FauxedSubScriptFontBaseline = 30
468  };
469 
474  {
475  UnknownFontCapsType = 0,
476  NormalFontCapsType = 10,
477  SmallFontCapsType = 20,
478  AllFontCapsType = 30,
479  AllSmallFontCapsType = 40
480  };
481 
486  {
487  UnknownAutoKernType = 0,
488  NoAutoKernType = 10,
489  MetricAutoKernType = 20,
490  OpticalAutoKernType = 30,
491  MetricRomanOnlyAutoKernType = 40
492  };
493 
498  {
499  UnknownCaseChange = 0,
500  UppercaseCaseChange = 10,
501  LowercaseCaseChange = 20,
502  TitleCaseChange = 30,
503  SentenceCaseChange = 40
504  };
505 
510  {
511  UnknownGlyphOrientation = 0,
512  HorizontalGlyphOrientation = 10, // Horizontal left to right
513  VerticalGlyphOrientation = 20, // Standard vertical, straight from the font as vertical glyphs
514  HorizontalRotatedGlyphOrientation = 30, // Horizontal glyphs rotated 90 degrees to be on side in vertical
515  VerticalUprightRomanGlyphOrientation= 40 // Deprecated, but it may still exist in files
516  };
517 
523  enum Locale
524  {
525  Locale_Illustrator = 0, // Current locale (reserved for future use)
526  Locale_ARA_AE = 100, // Arabic, United Arab Emirates
527  Locale_BUL_BG = 110, // Bulgarian, Bulgaria
528  Locale_CES_CZ = 120, // Czech, Czech Republic
529  Locale_DAN_DK = 130, // Danish, Denmark
530  Locale_DEU_CH = 140, // German, Switzerland
531  Locale_DEU_DE = 150, // German, Germany
532  Locale_ELL_GR = 160, // Greek, Greece
533  Locale_ENG_AE = 170, // English, United Arab Emirates
534  Locale_ENG_CA = 180, // English, Canada
535  Locale_ENG_GB = 190, // English, United Kingdom
536  Locale_ENG_IL = 200, // English, Israel
537  Locale_ENG_US = 210, // English, United States
538  Locale_FAS_IR = 220, // Persian, Islamic Republic of Iran
539  Locale_FIN_FI = 230, // Finnish, Finland
540  Locale_FRA_CA = 240, // French, Canada
541  Locale_FRA_FR = 250, // French, France
542  Locale_FRA_MA = 260, // French, Morocco
543  Locale_HEB_IL = 270, // Hebrew, Israel
544  Locale_HUN_HU = 280, // Hungarian, Hungary
545  Locale_ITA_IT = 290, // Italian, Italy
546  Locale_JPN_JP = 300, // Japanese, Japan
547  Locale_KOR_KR = 310, // Korean, Republic of Korea
548  Locale_NLD_NL = 320, // Dutch, Netherlands
549  Locale_NNO_NO = 330, // Nynorsk, Norway
550  Locale_NOR_NO = 340, // Norwegian, Norway
551  Locale_POL_PL = 350, // Polish, Poland
552  Locale_POR_BR = 360, // Portuguese, Brazil
553  Locale_POR_PT = 370, // Portuguese, Portugal
554  Locale_RON_RO = 380, // Romanian, Romania
555  Locale_RUS_RU = 390, // Russian, Russian Federation
556  Locale_SPA_ES = 400, // Spanish, Spain
557  Locale_SPA_MX = 410, // Spanish, Mexico
558  Locale_SWE_SE = 420, // Swedish, Sweden
559  Locale_THA_TH = 430, // Thai, Thailand
560  Locale_TUR_TR = 440, // Turkish, Turkey
561  Locale_UKR_UA = 450, // Ukrainian, Ukraine
562  Locale_VIE_VN = 460, // Vietnamese, Vietnam
563  Locale_ZHO_CN = 470, // Chinese (simplified), China
564  Locale_ZHO_TW = 480 // Chinese (traditional), Taiwan
565  };
566 
571  {
572  NoModifierKey = 0,
573  ShiftModifierKey = 1 << 0,
574  OptionModifierKey = 1 << 1,
575  AltModifierKey = OptionModifierKey,
576  ControlModifierKey = 1 << 2,
577  CommandModifierKey = 1 << 3 // Only useful on Mac
578  };
579 
584  {
585  NoMouseButton = 0,
586  PrimaryMouseButton = 1 << 0, // Usually left button
587  SecondaryMouseButton = 1 << 1, // Usually right button
588  TertiaryMouseButton = 1 << 2 // Usually middle button
589  };
590 
595  {
596  UnknownRulerUnits = 0,
597  InchesRulerUnits = 10,
598  CentimetersRulerUnits = 20,
599  MillimetersRulerUnits = 30,
600  PicasRulerUnits = 40,
601  PointsRulerUnits = 50,
602  PixelsRulerUnits = 60,
603  FeetRulerUnits = 70, // Only available in Illustrator 22 and above
604  QRulerUnits = 1000 // Only available when Illustrator locale is Locale_JPN_JP
605  };
606 
611  {
612  InternetErrorUnknown = -1,
613  InternetErrorNone = 0, // No error code is present
614  InternetErrorPlatformCode = 10, // Check the InternetGET/POST class platformErrorCode() method
615  InternetErrorOperationCancelled = 20, // Connection was cancelled
616  InternetErrorInvalidURL = 30, // URL is malformed or otherwise unparseable
617  InternetErrorUnsupportedURL = 40, // URL format is parseable but not supported
618  InternetErrorTimedOut = 50, // Connection timed out
619  InternetErrorNoNetConnection = 60, // No internet connection is present
620  InternetErrorHostLookupFailed = 70, // DNS lookup for the server indicated in the URL failed
621  InternetErrorHostNotFound = 80, // No path to the server indicated in the URL
622  InternetErrorCannotConnectToHost = 90, // The connection to the server failed or was rejected
623  InternetErrorConnectionToHostLost = 100, // The connection to the server was accepted but lost later on
624  InternetErrorTooManyRedirects = 110, // Too many HTTP redirects have occurred
625  InternetErrorBadRedirectLocation = 120, // A bad redirection was attempted (bad URL, HTTPS-to-HTTP, etc.)
626  InternetErrorBadServerResponse = 130, // The response from the server was malformed or unparseable
627  InternetErrorAuthenticationNeeded = 140, // HTTP authentication is required, but unsupported by this lib
628  InternetErrorCertificateRejected = 150, // The certificate was rejected, e.g. because of a CN mismatch
629  InternetErrorCertificateInvalid = 160, // The cert is invalid, e.g. because of its validity start date
630  InternetErrorCertificateExpired = 170, // The cert is past its expiration date
631  InternetErrorCertificateBadRoot = 180, // The CA/root certificate is unknown/untrusted
632  InternetErrorFileNotFound = 190 // The file indicated by the URL could not be found
633  };
634 
639  {
640  UnknownMenuGroup = 0,
641  AboutMenuGroup = 10,
642  OpenMenuGroup = 20,
643  RecentMenuGroup = 30,
644  CloseMenuGroup = 40,
645  DeviceCentralMenuGroup = 50,
646  SaveMenuGroup = 60,
647  SaveForMenuGroup = 70,
648  ImportMenuGroup = 80,
649  PlaceMenuGroup = 90,
650  ExportMenuGroup = 100,
651  DocumentUtilsMenuGroup = 110,
652  DocumentInterchangeMenuGroup = 120,
653  PrintMenuGroup = 130,
654  SendMenuGroup = 140,
655  AppUtilsMenuGroup = 150,
656  QuitMenuGroup = 160,
657  EditMenuGroup = 170,
658  UndoMenuGroup = 180,
659  PasteUtilsMenuGroup = 190,
660  EditUtilsMenuGroup = 200,
661  EditTextMenuGroup = 210,
662  PresetsMenuGroup = 220,
663  SelectMenuGroup = 230,
664  SelectMenuExternalGroup = 240,
665  SameMenuGroup = 250,
666  SelectObjectMenuGroup = 260,
667  PrefsMenuGroup = 270,
668  SyncMenuGroup = 280, // Illustrator 17 and above only
669  ClipboardMenuGroup = 290,
670  RepeatMenuGroup = 300,
671  ArrangeTransformMenuGroup = 310,
672  ArrangeMoveMenuGroup = 320,
673  ArrangeGroupMenuGroup = 330,
674  ArrangeAttribsMenuGroup = 340,
675  ViewModeMenuGroup = 350,
676  ViewAdornmentsMenuGroup = 360,
677  ViewMenuGroup = 370,
678  ViewUtilsMenuGroup = 380,
679  ViewExtMenuGroup = 390,
680  ViewSnapMenuGroup = 400,
681  ObjectAttribsMenuGroup = 410,
682  ObjectUtilsMenuGroup = 420,
683  ObjectsMenuGroup = 430,
684  ObjectPathsMenuGroup = 440,
685  ObjectPathsPopupMenuGroup = 450,
686  LockMenuGroup = 460,
687  HideMenuGroup = 470,
688  GuidesMenuGroup = 480,
689  MaskMenuGroup = 490,
690  CompoundPathsMenuGroup = 500,
691  ArtboardsGroup = 510,
692  CropMarksMenuGroup = 520,
693  GraphsMenuGroup = 530,
694  BlocksMenuGroup = 540,
695  WrapMenuGroup = 550,
696  TextPathTypeGroup = 560,
697  TypeAttribsMenuGroup = 570,
698  TypePalettesMenuGroup = 580,
699  TypeLayoutMenuGroup = 590,
700  TypeTabsMenuGroup = TypePalettesMenuGroup,
701  TypeUtilsMenuGroup = 600,
702  TypePluginsMenuGroup1 = 610,
703  TypePluginsMenuGroup2 = 620,
704  TypeAsianOptionsGroup = 630,
705  TypeSizeUtilsMenuGroup = 640,
706  TypeSizeMenuGroup = 650,
707  TypeLeadingUtilsMenuGroup = 660,
708  TypeLeadingMenuGroup = 670,
709  TypeAlignmentMenuGroup = 680,
710  FilterUtilities = 690,
711  EffectsMenuGroup = 700,
712  HelpMenuGroup = 710,
713  HiddenOtherSelectMenuGroup = 720,
714  HiddenOtherTextMenuGroup = 730,
715  HiddenOtherObjectMenuGroup = 740,
716  HiddenOtherPaletteMenuGroup = 750,
717  HiddenOtherMiscMenuGroup = 760,
718  WindowUtilsMenuGroup = 770,
719  ApplicationContainerMenuGroup = 780,
720  ToolPalettesMenuGroup = 790,
721  WindowLibariesMenuGroup = 800,
722  AdobeLabsMenuGroup = 810,
723  ServicesMenuGroup = 820,
724  PaintPalettesMenuGroup = ToolPalettesMenuGroup,
725  ObjectInfoPalettesMenuGroup = ToolPalettesMenuGroup,
726  AttributePalettesMenuGroup = ToolPalettesMenuGroup,
727  OtherPalettesMenuGroup = ToolPalettesMenuGroup,
728  PaintAttributesPaletteMenuGroup = ToolPalettesMenuGroup,
729  SVGPaletteMenuGroup = ToolPalettesMenuGroup,
730  WindowObjectUtilsMenuGroup = ToolPalettesMenuGroup,
731  DocInfoMenuGroup = 830,
732  ObjectRasterMenuGroup = 840,
733  ArrangeTransformMultipleMenuGroup = 850,
734  ATMMenuGroupNearGroup = ArrangeTransformMenuGroup,
735  ObjectPathsPopoutPluginMenuGroup = 860,
736  OPPPMenuGroupNearGroup = ObjectPathsPopupMenuGroup,
737  AIEditColorsSubMenuGroup = 870,
738  AdobeColorHarmonyMenuGroup = 890,
739  AdobeColorFiltersMenuGroup = 900,
740  DocumentSupportMenuGroup = 910,
741  AssetMgmtMenuGroup = 920,
742  WorkgroupMenuGroup = DocumentSupportMenuGroup,
743  ScriptsMenuGroup = 930,
744  WorkspacesMenuGroup = 940,
745  WorkspacesCustomMenuGroup = 950,
746  WorkspacesPresetsMenuGroup = 960
747  };
748 
753  {
754  CustomMessageType = -10, // Cannot be subscribed to
755  UnknownMessageType = 0, // Cannot be subscribed to
756  ActionGoMessageType = 10,
757  AnnotationDrawMessageType = 20, // Handled automatically; don't subscribe manually
758  AnnotationInvalidateMessageType = 30, // Handled automatically; don't subscribe manually
759  ClipboardGoMessageType = 40,
760  ClipboardCanCopyMessageType = 50,
761  ClipboardCloneMessageType = 60,
762  ClipboardDisposeMessageType = 70,
763  FileFormatGetParamsMessageType = 80,
764  FileFormatSetParamsMessageType = 81, // Illustrator 19 and above only
765  FileFormatGoMessageType = 90,
766  FileFormatCheckMessageType = 100,
767  FileFormatUpdateMessageType = 110, // Deprecated
768  FilterGetParamsMessageType = 120,
769  FilterGoMessageType = 130,
770  LayerListPushMessageType = 140,
771  LayerListPopMessageType = 150,
772  LayerListDeleteMessageType = 160,
773  LiveEffectEditParamsMessageType = 170,
774  LiveEffectGoMessageType = 180,
775  LiveEffectInterpolateMessageType = 190,
776  LiveEffectInputMessageType = 200,
777  LiveEffectConvertColorSpaceMessageType = 210,
778  LiveEffectScaleParamsMessageType = 220,
779  LiveEffectMergeMessageType = 230,
780  LiveEffectGetSVGFilterMessageType = 240,
781  LiveEffectAdjustColorsMessageType = 250,
782  LiveEffectIsCompatibleMessageType = 260,
783  MenuGoMessageType = 270, // Handled automatically; don't subscribe manually
784  MenuUpdateMessageType = 280, // Handled automatically; don't subscribe manually
785  NotifyMessageType = 290, // Handled automatically; don't subscribe manually
786  ObjectSetDisposeContentsMessageType = 300,
787  ObjectSetMarkUsageMessageType = 310,
788  ObjectSetUpdateInternalMessageType = 320,
789  ObjectSetUpdateExternalMessageType = 330,
790  ObjectSetPurgeMessageType = 340,
791  ObjectSetChangeMessageType = 350,
792  ObjectSetChangeIndirectMessageType = 360,
793  ObjectSetCopyMessageType = 370,
794  ObjectSetInitDoneMessageType = 380,
795  CustomArtNotifyEditsMessageType = 390,
796  CustomArtUpdateViewableArtMessageType = 400,
797  CustomArtCanShowContentsMessageType = 410,
798  CustomArtInterpolateDataMessageType = 420,
799  CustomArtReplaceSymbolMessageType = 430,
800  CustomArtDisallowsArtTypeQueryMessageType = 440,
801  CustomArtPerformCustomHitTestMessageType = 450,
802  CustomArtCollectPaintStylesMessageType = 460,
803  CustomArtApplyPaintStylesMessageType = 470,
804  CustomArtAdjustColorsMessageType = 480,
805  CustomArtShowContentsMessageType = 490,
806  PreferencesInitMessageType = 500,
807  PreferencesOKMessageType = 510,
808  PreferencesCancelMessageType = 520,
809  PreferencesUpdateMessageType = 530,
810  TimerGoMessageType = 540, // Handled automatically; don't subscribe manually
811  ToolEditMessageType = 550, // Handled automatically; don't subscribe manually
812  ToolTrackMessageType = 560, // Handled automatically; don't subscribe manually
813  ToolMouseDownMessageType = 570, // Handled automatically; don't subscribe manually
814  ToolMouseDragMessageType = 580, // Handled automatically; don't subscribe manually
815  ToolMouseUpMessageType = 590, // Handled automatically; don't subscribe manually
816  ToolSelectMessageType = 600, // Handled automatically; don't subscribe manually
817  ToolReselectMessageType = 610, // Handled automatically; don't subscribe manually
818  ToolDeselectMessageType = 620, // Handled automatically; don't subscribe manually
819  ToolDecreaseDiameterMessageType = 630, // Handled automatically; don't subscribe manually
820  ToolIncreaseDiameterMessageType = 640, // Handled automatically; don't subscribe manually
821  ToolAlternateSelectionQueryMessageType = 650,
822  ToolAlternateSelectionActivateMessageType = 660,
823  ToolAlternateSelectionDeactivateMessageType = 670,
824  ToolboxStartMessageType = 680,
825  ToolboxEndMessageType = 690,
826  ToolboxStartGroupMessageType = 700,
827  ToolboxEndGroupMessageType = 710,
828  ToolboxStartSetMessageType = 720,
829  ToolboxEndSetMessageType = 730,
830  ToolboxAddToolMessageType = 740,
831  ToolboxAddToolRolloverMessageType = 750,
832  ToolboxToolSelectedMessageType = 760,
833  ToolboxToolAlternateActionSelectedMessageType = 770,
834  ToolboxCycleToolMessageType = 780,
835  ToolboxSoftCycleToolMessageType = 790,
836  TransformAgainMessageType = 800,
837  WorkspaceWriteMessageType = 810,
838  WorkspaceRestoreMessageType = 820,
839  WorkspaceDefaultMessageType = 830,
840  PluginReloadMessageType = 840, // Handled automatically; don't subscribe manually
841  PluginPurgeCachesMessageType = 850,
842  PluginUnloadMessageType = 860, // Handled automatically; don't subscribe manually
843  AdaptersStartupMessageType = 870,
844  AdaptersShutdownMessageType = 880,
845  AdaptersDisposeInfoMessageType = 890,
846  AdaptersFlushMessageType = 900,
847  AdaptersRegisterMessageType = 910,
848  AdaptersLoadPluginMessageType = 920,
849  AdaptersReleasePluginMessageType = 930,
850  AdaptersSendMessageMessageType = 940,
851  PropertiesAcquireMessageType = 950,
852  PropertiesReleaseMessageType = 960
853  };
854 
859  {
860  UnknownNotifierType = 0,
861 
862  ArtSelectionChangedNotifierType = 10,
863  ArtObjectsChangedNotifierType = 11, // Illustrator 22 and above only
864  ArtCustomColorChangedNotifierType = 20,
865  ArtPropertiesChangedNotifierType = 30,
866  ArtStyleFocusChangedNotifierType = 40,
867  ArtStyleEditTransparencyNotifierType = 50,
868  ArtGradientChangedNotifierType = 60,
869  ArtPatternChangedNotifierType = 70,
870  ArtSymbolSetChangedNotifierType = 80,
871  ArtSymbolSetDetailedChangeNotifierType = 90,
872  ArtSymbolListChangedNotifierType = 100,
873  ArtSymbolDoubleClickedNotifierType = 110,
874 
875  IsolationModeChangedNotifierType = 120,
876  BeforeIsolationModeChangedNotifierType = 130,
877 
878  CurrentLayerNotifierType = 140,
879  LayerDeletionNotifierType = 150,
880  LayerSetNotifierType = 160,
881  LayerOptionsNotifierType = 170,
882  LayerListChangedNotifierType = 180,
883 
884  // The following artboard notifiers are not native to Illustrator. They are provided by this library and
885  // perform slightly more slowly than native notifiers (as the library must monitor artboards for these types
886  // of changes).
887  ArtboardCreatedNotifierType = 184,
888  ArtboardDeletedNotifierType = 185,
889  ArtboardOptionsChangedNotifierType = 186,
890  CurrentArtboardChangedNotifierType = 187,
891 
892  DocumentChangedNotifierType = 190,
893  DocumentAboutToCloseNotifierType = 200,
894  DocumentClosedNotifierType = 210,
895  DocumentOpenedNotifierType = 220,
896  DocumentSavedNotifierType = 225, // Illustrator 19 and above only
897  DocumentNewNotifierType = 230,
898  DocumentClrMdlChangedNotifierType = 240,
899  DocumentProfilesChangedNotifierType = 250,
900  DocumentSpotColorModeChangedNotifierType = 260,
901  DocumentRulerUnitChangedNotifierType = 270,
902  DocumentWritePreprocessNotifierType = 280,
903  DocumentWritePostprocessNotifierType = 290,
904  DocumentCropAreaModifiedNotifierType = 300,
905  DocumentRulerOriginChangedNotifierType = 310,
906  DocumentBleedsChangedNotifierType = 320,
907  DocumentTransparencyGridNotifierType = 330, // Illustrator 17 and above only
908  DocumentTextResourceChangedNotifierType = 340,
909  FileFormatDocumentOpenedNotifierType = 350,
910  FileFormatLinkUpdateNotifierType = 360,
911 
912  DocumentViewChangedNotifierType = 370,
913  DocumentViewInvalidRectChangedNotifierType = 380,
914  DocumentViewStyleChangedNotifierType = 390,
915  DocumentViewActiveViewChangedNotifierType = 400,
916  DocumentViewOPPPlateStateChangedNotifierType = 410,
917  DocumentViewEdgesVisibilityChangeNotifierType = 413, // Illustrator 18 and above only
918  ActiveDocumentViewTitleChangedNotifierType = 416, // Illustrator 19 and above only
919  InvalidateByScrollNotifierType = 420, // Illustrator 17 and above only
920 
921  CurrentFontChangedNotifierType = 430,
922  CurrentFontSizeChangedNotifierType = 440,
923  FontListChangedNotifierType = 450,
924  BeginImportCompFontNotifierType = 460,
925  EndImportCompFontNotifierType = 470,
926 
927  ToolSelectedNotifierType = 480,
928  ToolDeselectedNotifierType = 490,
929  ToolClearStateNotifierType = 500,
930  ToolTitleChangedNotifierType = 510,
931  ToolTooltipChangedNotifierType = 520,
932  ToolHelpIDChangedNotifierType = 530, // Illustrator 21 and below only
933  ToolChangedNotifierType = 540,
934  ToolWindowChangedNotifierType = 550,
935  ToolSuspendNotifierType = 560,
936  ToolResumeNotifierType = 570,
937  ToolTabletPointerTypeChangedNotifierType = 580,
938  ToolModifiersChangedNotifierType = 590,
939  ToolSuspendedBySpacebarNotifierType = 600,
940  ToolResumedBySpacebarNotifierType = 610,
941  ToolSuspendedByCmdKeyNotifierType = 620,
942  ToolResumedByCmdKeyNotifierType = 630,
943  UserToolChangedNotifierType = 640,
944  EyedropperDragNotifierType = 650,
945 
946  DrawingModeChangedNotifierType = 660,
947  CurrentCoordinateSystemChangedNotifierType = 670,
948  PerspectiveParamsChangedNotifierType = 680,
949  PerspectiveGridVisibilityChangedNotifierType = 690,
950 
951  UpdatePathStyleNotifierType = 700,
952  PaintStyleFillStrokeChangedNotifierType = 710,
953  PaintStyleGradientStopChangedNotifierType = 720,
954  NamedStyleListChangedNotifierType = 730,
955  BeginImportStylesNotifierType = 740,
956  EndImportStylesNotifierType = 750,
957 
958  ColorCalibrationChangedNotifierType = 760,
959  ReplaceColorNotifierType = 770,
960  SwatchLibraryChangedNotifierType = 780,
961 
962  TagChangedNotifierType = 790,
963  XMLNameChangedNotifierType = 800,
964 
965  AllPluginStartedNotifierType = 810,
966  PluginStoppingNotifierType = 820,
967  CSXSPlugPlugSetupCompleteNotifierType = 830,
968 
969  LaunchProjectBridgeNotifierType = 840,
970  CurrentLanguageChangedNotifierType = 850,
971  MenuChangedNotifierType = 860,
972  PreferenceChangedNotifierType = 870,
973  UIBrightnessChangedNotifierType = 880,
974  MetadataSyncNotifierType = 890,
975 
976  ActionManagerPlayActionEventDoneNotifierType = 900,
977  AlignmentKeyArtChangedNotifierType = 910,
978  ObjectSetChangedNotifierType = 920,
979  SlicingChangedNotifierType = 930,
980  SVGFilterChangedNotifierType = 940,
981  SVGFilterAddedNotifierType = 950,
982  VectorizeUpdateNotifierType = 960,
983 
984  AboutIllustratorCommandPreNotifierType = 1000,
985  AboutIllustratorCommandPostNotifierType = 1010,
986 
987  NewCommandPreNotifierType = 1020,
988  NewCommandPostNotifierType = 1030,
989  OpenCommandPreNotifierType = 1040,
990  OpenCommandPostNotifierType = 1050,
991  SaveCommandPreNotifierType = 1060,
992  SaveCommandPostNotifierType = 1070,
993  SaveAsCommandPreNotifierType = 1080,
994  SaveAsCommandPostNotifierType = 1090,
995  SaveACopyAsCommandPreNotifierType = 1100,
996  SaveACopyAsCommandPostNotifierType = 1110,
997  RevertToSavedCommandPreNotifierType = 1120,
998  RevertToSavedCommandPostNotifierType = 1130,
999  CloseCommandPreNotifierType = 1140,
1000  CloseCommandPostNotifierType = 1150,
1001  QuitCommandPreNotifierType = 1160,
1002  QuitCommandPostNotifierType = 1170,
1003 
1004  PageSetupCommandPreNotifierType = 1180,
1005  PageSetupCommandPostNotifierType = 1190,
1006  ExportCommandPreNotifierType = 1200,
1007  ExportCommandPostNotifierType = 1210,
1008  PrintCommandPreNotifierType = 1220,
1009  PrintCommandPostNotifierType = 1230,
1010 
1011  PreferencesCommandPreNotifierType = 1240,
1012  PreferencesCommandPostNotifierType = 1250,
1013  GridPreferencesCommandPreNotifierType = 1260,
1014  GridPreferencesCommandPostNotifierType = 1270,
1015  HyphenationPreferencesCommandPreNotifierType = 1280,
1016  HyphenationPreferencesCommandPostNotifierType = 1290,
1017  PluginsFolderPreferencesCommandPreNotifierType = 1300,
1018  PluginsFolderPreferencesCommandPostNotifierType = 1310,
1019  ColorMatchingPreferencesCommandPreNotifierType = 1320,
1020  ColorMatchingPreferencesCommandPostNotifierType = 1330,
1021  SeparationSetupCommandPreNotifierType = 1340,
1022  SeparationSetupCommandPostNotifierType = 1350,
1023 
1024  UndoCommandPreNotifierType = 1360,
1025  UndoCommandPostNotifierType = 1370,
1026  RedoCommandPreNotifierType = 1380,
1027  RedoCommandPostNotifierType = 1390,
1028 
1029  CutCommandPreNotifierType = 1400,
1030  CutCommandPostNotifierType = 1410,
1031  CopyCommandPreNotifierType = 1420,
1032  CopyCommandPostNotifierType = 1430,
1033  PasteCommandPreNotifierType = 1440,
1034  PasteCommandPostNotifierType = 1450,
1035  PasteInFrontCommandPreNotifierType = 1460,
1036  PasteInFrontCommandPostNotifierType = 1470,
1037  PasteInBackCommandPreNotifierType = 1480,
1038  PasteInBackCommandPostNotifierType = 1490,
1039  PasteInPlaceCommandPreNotifierType = 1493,
1040  PasteInPlaceCommandPostNotifierType = 1494,
1041  PasteInAllArtboardsCommandPreNotifierType = 1497,
1042  PasteInAllArtboardsCommandPostNotifierType = 1498,
1043  CutPictureCommandPreNotifierType = 1500,
1044  CutPictureCommandPostNotifierType = 1510,
1045  CopyPictureCommandPreNotifierType = 1520,
1046  CopyPictureCommandPostNotifierType = 1530,
1047  DragCopyCommandPostNotifierType = 1540,
1048 
1049  SelectAllCommandPreNotifierType = 1550,
1050  SelectAllCommandPostNotifierType = 1560,
1051  DeselectAllCommandPreNotifierType = 1570,
1052  DeselectAllCommandPostNotifierType = 1580,
1053  ClearCommandPreNotifierType = 1590,
1054  ClearCommandPostNotifierType = 1600,
1055  SelectWindowCommandPreNotifierType = 1610,
1056  SelectWindowCommandPostNotifierType = 1620,
1057  SelectFile1CommandPreNotifierType = 1630,
1058  SelectFile1CommandPostNotifierType = 1640,
1059  SelectFile2CommandPreNotifierType = 1650,
1060  SelectFile2CommandPostNotifierType = 1660,
1061  SelectFile3CommandPreNotifierType = 1670,
1062  SelectFile3CommandPostNotifierType = 1680,
1063  SelectFile4CommandPreNotifierType = 1690,
1064  SelectFile4CommandPostNotifierType = 1700,
1065 
1066  MoveObjectsCommandPreNotifierType = 1710,
1067  MoveObjectsCommandPostNotifierType = 1720,
1068  TransformAgainCommandPreNotifierType = 1730,
1069  TransformAgainCommandPostNotifierType = 1740,
1070  TransformRotateCommandPreNotifierType = 1750,
1071  TransformRotateCommandPostNotifierType = 1760,
1072  TransformReflectCommandPreNotifierType = 1770,
1073  TransformReflectCommandPostNotifierType = 1780,
1074  TransformScaleCommandPreNotifierType = 1790,
1075  TransformScaleCommandPostNotifierType = 1800,
1076  TransformShearCommandPreNotifierType = 1810,
1077  TransformShearCommandPostNotifierType = 1820,
1078 
1079  SendToFrontCommandPreNotifierType = 1830,
1080  SendToFrontCommandPostNotifierType = 1840,
1081  SendForwardCommandPreNotifierType = 1850,
1082  SendForwardCommandPostNotifierType = 1860,
1083  SendBackwardCommandPreNotifierType = 1870,
1084  SendBackwardCommandPostNotifierType = 1880,
1085  SendToBackCommandPreNotifierType = 1890,
1086  SendToBackCommandPostNotifierType = 1900,
1087 
1088  GroupCommandPreNotifierType = 1910,
1089  GroupCommandPostNotifierType = 1920,
1090  UngroupCommandPreNotifierType = 1930,
1091  UngroupCommandPostNotifierType = 1940,
1092 
1093  LockCommandPreNotifierType = 1950,
1094  LockCommandPostNotifierType = 1960,
1095  UnlockAllCommandPreNotifierType = 1970,
1096  UnlockAllCommandPostNotifierType = 1980,
1097  HideCommandPreNotifierType = 1990,
1098  HideCommandPostNotifierType = 2000,
1099  UnhideAllCommandPreNotifierType = 2010,
1100  UnhideAllCommandPostNotifierType = 2020,
1101 
1102  AddAnchorPointsCommandPreNotifierType = 2030,
1103  AddAnchorPointsCommandPostNotifierType = 2040,
1104  RemoveAnchorPointsCommandPreNotifierType = 2050,
1105  RemoveAnchorPointsCommandPostNotifierType = 2060,
1106 
1107  TypeOutlinesCommandPreNotifierType = 2070,
1108  TypeOutlinesCommandPostNotifierType = 2080,
1109  JoinCommandPreNotifierType = 2090,
1110  JoinCommandPostNotifierType = 2100,
1111  AverageCommandPreNotifierType = 2110,
1112  AverageCommandPostNotifierType = 2120,
1113  MakeTextWrapCommandPreNotifierType = 2130,
1114  MakeTextWrapCommandPostNotifierType = 2140,
1115  ReleaseTextWrapCommandPreNotifierType = 2150,
1116  ReleaseTextWrapCommandPostNotifierType = 2160,
1117  MakeMaskCommandPreNotifierType = 2170,
1118  MakeMaskCommandPostNotifierType = 2180,
1119  ReleaseMaskCommandPreNotifierType = 2190,
1120  ReleaseMaskCommandPostNotifierType = 2200,
1121  MakeCompoundPathCommandPreNotifierType = 2210,
1122  MakeCompoundPathCommandPostNotifierType = 2220,
1123  ReleaseCompoundPathCommandPreNotifierType = 2230,
1124  ReleaseCompoundPathCommandPostNotifierType = 2240,
1125  MakeCropMarksCommandPreNotifierType = 2250,
1126  MakeCropMarksCommandPostNotifierType = 2260,
1127  ReleaseCropMarksCommandPreNotifierType = 2270,
1128  ReleaseCropMarksCommandPostNotifierType = 2280,
1129 
1130  TextFontCommandPreNotifierType = 2290,
1131  TextFontCommandPostNotifierType = 2300,
1132  TextSizeCommandPreNotifierType = 2310,
1133  TextSizeCommandPostNotifierType = 2320,
1134  LineSpacingCommandPreNotifierType = 2330,
1135  LineSpacingCommandPostNotifierType = 2340,
1136  TextAlignmentCommandPreNotifierType = 2350,
1137  TextAlignmentCommandPostNotifierType = 2360,
1138  TrackingKerningCommandPreNotifierType = 2370,
1139  TrackingKerningCommandPostNotifierType = 2380,
1140  WordSpacingCommandPreNotifierType = 2390,
1141  WordSpacingCommandPostNotifierType = 2400,
1142  DiscretionaryHyphenCommandPreNotifierType = 2410,
1143  DiscretionaryHyphenCommandPostNotifierType = 2420,
1144  LinkTextCommandPreNotifierType = 2430,
1145  LinkTextCommandPostNotifierType = 2440,
1146  UnlinkTextCommandPreNotifierType = 2450,
1147  UnlinkTextCommandPostNotifierType = 2460,
1148  TextOrientationCommandPreNotifierType = 2470,
1149  TextOrientationCommandPostNotifierType = 2480,
1150  GlyphSubstitutionOptionsCommandPreNotifierType = 2490,
1151  GlyphSubstitutionOptionsCommandPostNotifierType = 2500,
1152 
1153  SetGraphStyleCommandPreNotifierType = 2510,
1154  SetGraphStyleCommandPostNotifierType = 2520,
1155  EditGraphDataCommandPreNotifierType = 2530,
1156  EditGraphDataCommandPostNotifierType = 2540,
1157  DefineGraphDesignCommandPreNotifierType = 2550,
1158  DefineGraphDesignCommandPostNotifierType = 2560,
1159  SetBarDesignCommandPreNotifierType = 2570,
1160  SetBarDesignCommandPostNotifierType = 2580,
1161  SetIconDesignCommandPreNotifierType = 2590,
1162  SetIconDesignCommandPostNotifierType = 2600,
1163 
1164  ShowHideRulersCommandPreNotifierType = 2610,
1165  ShowHideRulersCommandPostNotifierType = 2620,
1166  ShowHideGuidesCommandPreNotifierType = 2630,
1167  ShowHideGuidesCommandPostNotifierType = 2640,
1168  LockUnlockGuidesCommandPreNotifierType = 2650,
1169  LockUnlockGuidesCommandPostNotifierType = 2660,
1170  MakeGuidesCommandPreNotifierType = 2670,
1171  MakeGuidesCommandPostNotifierType = 2680,
1172  ReleaseGuidesCommandPreNotifierType = 2690,
1173  ReleaseGuidesCommandPostNotifierType = 2700,
1174  ShowHideGridCommandPreNotifierType = 2710,
1175  ShowHideGridCommandPostNotifierType = 2720,
1176  EnableDisableGridSnapCommandPreNotifierType = 2730,
1177  EnableDisableGridSnapCommandPostNotifierType = 2740,
1178  NewViewSnapCommandPreNotifierType = 2750,
1179  NewViewSnapCommandPostNotifierType = 2760,
1180  EditViewSnapCommandPreNotifierType = 2770,
1181  EditViewSnapCommandPostNotifierType = 2780,
1182 
1183  ArtworkModeCommandPreNotifierType = 2790,
1184  ArtworkModeCommandPostNotifierType = 2800,
1185  PreviewModeCommandPreNotifierType = 2810,
1186  PreviewModeCommandPostNotifierType = 2820,
1187  FitHeadlineCommandPreNotifierType = 2830,
1188  FitHeadlineCommandPostNotifierType = 2840,
1189  ShowHideEdgesCommandPreNotifierType = 2850,
1190  ShowHideEdgesCommandPostNotifierType = 2860,
1191  ShowHidePageTilingCommandPreNotifierType = 2870,
1192  ShowHidePageTilingCommandPostNotifierType = 2880,
1193  ShowHideTemplateCommandPreNotifierType = 2890,
1194  ShowHideTemplateCommandPostNotifierType = 2900,
1195 
1196  ZoomInCommandPreNotifierType = 2910,
1197  ZoomInCommandPostNotifierType = 2920,
1198  ZoomOutCommandPreNotifierType = 2930,
1199  ZoomOutCommandPostNotifierType = 2940,
1200  ReduceToFitCommandPreNotifierType = 2950,
1201  ReduceToFitCommandPostNotifierType = 2960,
1202  ActualSizeCommandPreNotifierType = 2970,
1203  ActualSizeCommandPostNotifierType = 2980,
1204 
1205  NewViewCommandPreNotifierType = 2990,
1206  NewViewCommandPostNotifierType = 3000,
1207  ArrangeWindowsCascadeCommandPreNotifierType = 3010,
1208  ArrangeWindowsCascadeCommandPostNotifierType = 3020,
1209  ArrangeWindowsVerticalCommandPreNotifierType = 3030,
1210  ArrangeWindowsVerticalCommandPostNotifierType = 3040,
1211  ArrangeWindowsHorizontalCommandPreNotifierType = 3050,
1212  ArrangeWindowsHorizontalCommandPostNotifierType = 3060,
1213  ArrangeIconsCommandPreNotifierType = 3070,
1214  ArrangeIconsCommandPostNotifierType = 3080,
1215 
1216  SetNoteCommandPreNotifierType = 3090,
1217  SetNoteCommandPostNotifierType = 3100,
1218  NewMultipleMasterInstanceCommandPreNotifierType = 3110,
1219  NewMultipleMasterInstanceCommandPostNotifierType = 3120,
1220 
1221  ShowHideArtboardRulersCommandPreNotifierType = 3130,
1222  ShowHideArtboardRulersCommandPostNotifierType = 3140,
1223 
1224  ExpandCommandPreNotifierType = 3150,
1225  ExpandCommandPostNotifierType = 3160,
1226  RasterizeCommandPreNotifierType = 3170,
1227  RasterizeCommandPostNotifierType = 3180
1228  };
1229  }
1230 }
1231 
1232 
1233 
1238 
1243 
1248 
1249 hdi::core::HitRequest operator|(const hdi::core::HitRequest lhs_, const hdi::core::HitRequest rhs_);
1250 hdi::core::HitRequest& operator|=(hdi::core::HitRequest& lhs__, const hdi::core::HitRequest rhs_);
1251 hdi::core::HitRequest operator^(const hdi::core::HitRequest lhs_, const hdi::core::HitRequest rhs_);
1252 hdi::core::HitRequest& operator^=(hdi::core::HitRequest& lhs__, const hdi::core::HitRequest rhs_);
1253 
1254 hdi::core::ModifierKey operator|(const hdi::core::ModifierKey lhs_, const hdi::core::ModifierKey rhs_);
1256 hdi::core::ModifierKey operator^(const hdi::core::ModifierKey lhs_, const hdi::core::ModifierKey rhs_);
1258 
1259 hdi::core::MouseButton operator|(const hdi::core::MouseButton lhs_, const hdi::core::MouseButton rhs_);
1261 hdi::core::MouseButton operator^(const hdi::core::MouseButton lhs_, const hdi::core::MouseButton rhs_);
1263 
1264 
1265 
1266 // Define this macro if you are including the Illustrator SDK headers before the hdi_core lib headers
1267 #ifndef HDI_CORE_DONT_DECLARE_AI_TYPES
1268 
1269  #ifndef __SPTypes__
1270  typedef int32_t SPErr;
1271  #endif
1272 
1273  #ifndef __SPBasic__
1274  struct SPBasicSuite;
1275  #endif
1276 
1277  #ifndef __SPPlugins__
1278  typedef struct SPPlugin* SPPluginRef;
1279  #endif
1280 
1281  #ifndef __SPMessageData__
1283  {
1284  SPErr SPCheck;
1285  struct SPPlugin* self;
1286  void* globals;
1287  struct SPBasicSuite* basic;
1288  };
1289  #endif
1290 
1291  #ifndef __AIAnnotator__
1292  typedef struct _t_AIAnnotatorOpaque* AIAnnotatorHandle;
1293  #endif
1294 
1295  #ifndef __AIAnnotatorDrawer__
1296  class AIAnnotatorDrawer;
1297  #endif
1298 
1299  #ifndef __AIEntry__
1300  typedef struct _AIArray* AIArrayRef;
1301  typedef struct _t_AIArtStyle* AIArtStyleHandle;
1302  typedef struct _AIDictionary* AIDictionaryRef;
1303  typedef struct _AIEntry* AIEntryRef;
1304  typedef struct _AIUID* AIUIDRef;
1305  #endif
1306 
1307  #ifndef __AIDocument__
1308  typedef struct _t_AIDocument* AIDocumentHandle;
1309  #endif
1310 
1311  #ifndef __AIDocumentView__
1312  typedef struct _t_AIDocumentViewOpaque* AIDocumentViewHandle;
1313  #endif
1314 
1315  #ifndef __AIFileFormat__
1316  typedef struct _t_AIFileFormatOpaque* AIFileFormatHandle;
1317  #endif
1318 
1319  #ifndef __AIFont__
1320  typedef struct __AIFontKey* AIFontKey;
1321  typedef struct _t_AITypefaceKey* AITypefaceKey;
1322  #endif
1323 
1324  #ifndef __AIMenu__
1325  typedef struct _t_AIMenuItemOpaque* AIMenuItemHandle;
1326  typedef struct _t_MenuGroupOpaque* AIMenuGroup;
1327  #endif
1328 
1329  #ifndef __AINotifier__
1330  typedef struct _t_AINotifierOpaque* AINotifierHandle;
1331  #endif
1332 
1333  #ifndef __AIColor__
1334  typedef void* AIGradientHandle;
1335  typedef void* AIPatternHandle;
1336  #endif
1337 
1338  #ifndef __AITimer__
1339  typedef struct _t_AITimerOpaque* AITimerHandle;
1340  #endif
1341 
1342  #ifndef __AITool__
1343  typedef struct _t_AIToolOpaque* AIToolHandle;
1344  #endif
1345 
1346  #ifndef __AILiveEffect__
1347  typedef struct _t_AILiveEffectOpaque* AILiveEffectHandle;
1348  typedef AIDictionaryRef AILiveEffectParameters;
1349  #endif
1350 
1351  #ifndef __AITypes__
1352  typedef struct ArtObject* AIArtHandle;
1353  typedef struct _t_AILayerOpaque* AILayerHandle;
1354 
1355  #if HDI_CORE_COMPILE_AI22_PLUS
1356  typedef struct _t_AISafeArtOpaque* AISafeArtHandle;
1357  #endif
1358  #endif
1359 
1360  #ifndef __AICONTROLBAR_H__
1361  typedef struct _opaque_AIControlBar* AIControlBarRef;
1362  #endif
1363 
1364  #ifndef __AIPANEL_H__
1365  typedef struct _opaque_AIPanel* AIPanelRef;
1366  #endif
1367 
1368  namespace ATE
1369  {
1370  class ICharFeatures;
1371  class ICharInspector;
1372  class ICharStyle;
1373  class ICharStyles;
1374  class IGlyphRun;
1375  class IParagraph;
1376  class IParaFeatures;
1377  class IParaInspector;
1378  class IParaStyle;
1379  class IParaStyles;
1380  class IStory;
1381  class IStories;
1382  class ITabStop;
1383  class ITabStops;
1384  class ITextFrame;
1385  class ITextLine;
1386  class ITextRange;
1387  class ITextRanges;
1388  class IWordsIterator;
1389  }
1390 
1391 #endif
1392 // HDI_CORE_DONT_DECLARE_AI_TYPES
1393 
1394 typedef int32_t __MainError;
1395 
1396 #endif
1397 // __HDI_CORE_TYPES__
BlendKnockout
Describes the blending knockout of art.
Definition: hdicoreTypes.h:287
MatchArtSearch
Indicates whether a matching art search should include or exclude the specified settings.
Definition: hdicoreTypes.h:187
std::string UTF8String
Typedef of std::string as UTF8String.
Definition: hdicoreTypes.h:67
BuiltinMenuGroup
Describes a built-in Illustrator menu group.
Definition: hdicoreTypes.h:638
FontBaseline
Indicates the baseline of some text.
Definition: hdicoreTypes.h:462
InternetError
Describes common HTTP error codes between platforms, for convenience.
Definition: hdicoreTypes.h:610
StrikethroughPosition
Indicates the strikethrough position of some text.
Definition: hdicoreTypes.h:438
FontCapsType
Indicates the capitalization of some text.
Definition: hdicoreTypes.h:473
MatchArtAttribute attributes
A bitwise OR of MatchArtAttribute enum values to indicate the desired (or undesired) art attributes...
Definition: hdicoreTypes.h:209
ArtAttribute
Indicates a queryable attribute of an art object.
Definition: hdicoreTypes.h:138
FigureStyle
Indicates the figure style of some text.
Definition: hdicoreTypes.h:414
uint16_t UTF16Char
Typedef of uint16_t as UTF16Char.
Definition: hdicoreTypes.h:76
GlyphOrientation
Describes the orientation of a glyph run.
Definition: hdicoreTypes.h:509
Definition: hdicoreTypes.h:1282
MatchArtSpec()
Constructs a new MatchArtSpec object with default values.
HitRequest
Describes the types of hit tests that can be performed (AKA a hit request)
Definition: hdicoreTypes.h:326
MessageType
Describes the types of Illustrator messages for which subscriptions are available.
Definition: hdicoreTypes.h:752
ArtType
Indicates a type of art (when querying an art object for its type)
Definition: hdicoreTypes.h:99
MatchArtType
Indicates a type of art (when searching the document artwork tree for art objects) ...
Definition: hdicoreTypes.h:118
uint32_t UTF32Char
Typedef of uint32_t as UTF32Char.
Definition: hdicoreTypes.h:89
NotifierType
Describes the types of Illustrator notifiers for which subscriptions are available.
Definition: hdicoreTypes.h:858
BoundsPinPointType
These allow for simpler art transformation/bounds metadata access.
Definition: hdicoreTypes.h:300
PaintOrder
Indicates the position of art or layers when during creation or reordering.
Definition: hdicoreTypes.h:250
RulerUnits
Indicates the ruler units of a document.
Definition: hdicoreTypes.h:594
ModifierKey
Describes various modifier keys.
Definition: hdicoreTypes.h:570
ParagraphJustification
Indicates how text should be justified for a text art object.
Definition: hdicoreTypes.h:367
WindowType
Describes the type of a Window object, allowing for proper casting to its subclass.
Definition: hdicoreTypes.h:344
LeadingType
Indicates the leading of some text.
Definition: hdicoreTypes.h:392
unsigned char byte
Typedef of unsigned char as byte, because char is guaranteed to be one byte per the spec...
Definition: hdicoreTypes.h:49
Header file for a variety of Illustrator plugin convenience macros.
BlendMode
Describes the blending mode of art (used for compositing art objects)
Definition: hdicoreTypes.h:263
AutoKernType
Indicates the kerning type of some text.
Definition: hdicoreTypes.h:485
Definition: hdicoreaiArray.h:12
MatchArtSearch type
Whether to include or exclude the specified art and attributes when searching for art...
Definition: hdicoreTypes.h:214
FontOpenTypePosition
Indicates the position of some OpenType text.
Definition: hdicoreTypes.h:449
Locale
Indicates the locale under which Illustrator is running. Many languages are only listed for one count...
Definition: hdicoreTypes.h:523
ComposerEngine
Indicates the composer engine of some text.
Definition: hdicoreTypes.h:402
Definition: hdicoreTypes.h:1368
std::basic_string< UTF16Char > UTF16String
Typedef of std::basic_string<UTF16Char> as UTF16String.
Definition: hdicoreTypes.h:84
MatchArtAttribute
Indicates desired (or undesired) attributes when searching the document artwork tree for art objects...
Definition: hdicoreTypes.h:157
CaseChangeType
Indicates how the case of some text should be changed.
Definition: hdicoreTypes.h:497
Allows a variety of art types and attributes to be specified when searching for art that either inclu...
Definition: hdicoreTypes.h:197
MatchArtType arts
A bitwise OR of MatchArtType enum values to indicate the desired (or undesired) art.
Definition: hdicoreTypes.h:203
std::basic_string< UTF32Char > UTF32String
Typedef of std::basic_string<UTF32Char> as UTF32String.
Definition: hdicoreTypes.h:94
TextOrientation
Indicates the orientation of some text.
Definition: hdicoreTypes.h:382
DocumentColorModel
Indicates the color model of new document.
Definition: hdicoreTypes.h:356
MouseButton
Describes various mouse buttons.
Definition: hdicoreTypes.h:583
UnderlinePosition
Indicates the underline position of some text.
Definition: hdicoreTypes.h:427
char UTF8Char
Typedef of char as UTF8Char.
Definition: hdicoreTypes.h:58
virtual ~MatchArtSpec()
Destructs a MatchArtSpec object.