Hot Door CORE  0.7.0
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  ArtTypeCustomPlugin = 310,
108  ArtTypeMesh = 320,
109  ArtTypeText = 330,
110  ArtTypeSymbol = 340,
111  ArtTypeForeign = 350,
112  ArtTypeTextLegacy = 360 // From Illustrator 10 and below
113  };
114 
118  enum MatchArtType
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  MatchArtTypeCustomPlugin = 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 
138  enum ArtAttribute
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 
157  enum MatchArtAttribute
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 
187  enum MatchArtSearch
188  {
189  MatchArtSearchIncludes = 10,
190  MatchArtSearchExcludes = 20
191  };
192 
198  {
199  public:
203  MatchArtType arts;
204 
209  MatchArtAttribute attributes;
210 
214  MatchArtSearch type;
215 
221  MatchArtSpec();
222 
233  MatchArtSpec(const MatchArtType arts_, const MatchArtAttribute attrs_, const MatchArtSearch type_);
234 
240  virtual ~MatchArtSpec();
241  };
242 
250  enum PaintOrder
251  {
252  PlaceAbove = 100,
253  PlaceBelow = 110,
254  PlaceInsideOnTop = 120,
255  PlaceInsideOnBottom = 130,
256  PlaceAboveAll = 140,
257  PlaceBelowAll = 150
258  };
259 
263  enum BlendMode
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 
287  enum BlendKnockout
288  {
289  BlendKnockoutUnknown = 0,
290  BlendKnockoutOff = 10,
291  BlendKnockoutOn = 20,
292  BlendKnockoutInherited = 100
293  };
294 
300  enum BoundsPinPointType
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 
326  enum HitRequest
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 
344  enum WindowType
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 
356  enum DocumentColorModel
357  {
358  ColorModelUnknown = 0, // Reserved for future use
359  ColorModelGray = 10, // Reserved for future use
360  ColorModelRGB = 20,
361  ColorModelCMYK = 30
362  };
363 
367  enum ParagraphJustification
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 
382  enum TextOrientation
383  {
384  UnknownOrientation = 0,
385  HorizontalOrientation = 100,
386  VerticalOrientation = 110
387  };
388 
392  enum LeadingType
393  {
394  UnknownLeadingType = 0,
395  RomanLeadingType = 10,
396  JapaneseLeadingType = 20
397  };
398 
402  enum ComposerEngine
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 
414  enum FigureStyle
415  {
416  UnknownFigureStyle = 0,
417  DefaultFigureStyle = 10,
418  TabularLiningFigureStyle = 20,
419  ProportionalOldFigureStyle = 30,
420  ProportionalLiningFigureStyle = 40,
421  TabularOldFigureStyle = 50
422  };
423 
427  enum UnderlinePosition
428  {
429  UnknownUnderlinePosition = 0,
430  UnderlineOffPosition = 10,
431  UnderlineOnRightInVerticalPosition = 20,
432  UnderlineOnLeftInVerticalPosition = 30
433  };
434 
438  enum StrikethroughPosition
439  {
440  UnknownStrikethroughPosition = 0,
441  StrikethroughOffPosition = 10,
442  StrikethroughOnXHeightPosition = 20,
443  StrikethroughOnEMBoxPosition = 30
444  };
445 
449  enum FontOpenTypePosition
450  {
451  UnknownFontOpenTypePosition = 0,
452  NormalFontOpenTypePosition = 10,
453  SuperscriptFontOpenTypePosition = 20,
454  SubscriptFontOpenTypePosition = 30,
455  NumeratorFontOpenTypePosition = 40,
456  DenominatorFontOpenTypePosition = 50
457  };
458 
462  enum FontBaseline
463  {
464  UnknownFontBaseline = 0,
465  NormalFontBaseline = 10,
466  FauxedSuperScriptFontBaseline = 20,
467  FauxedSubScriptFontBaseline = 30
468  };
469 
473  enum FontCapsType
474  {
475  UnknownFontCapsType = 0,
476  NormalFontCapsType = 10,
477  SmallFontCapsType = 20,
478  AllFontCapsType = 30,
479  AllSmallFontCapsType = 40
480  };
481 
485  enum AutoKernType
486  {
487  UnknownAutoKernType = 0,
488  NoAutoKernType = 10,
489  MetricAutoKernType = 20,
490  OpticalAutoKernType = 30,
491  MetricRomanOnlyAutoKernType = 40
492  };
493 
497  enum CaseChangeType
498  {
499  UnknownCaseChange = 0,
500  UppercaseCaseChange = 10,
501  LowercaseCaseChange = 20,
502  TitleCaseChange = 30,
503  SentenceCaseChange = 40
504  };
505 
509  enum GlyphOrientation
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 
570  enum ModifierKey
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 
583  enum MouseButton
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 
594  enum RulerUnits
595  {
596  UnknownRulerUnits = 0,
597  InchesRulerUnits = 10,
598  CentimetersRulerUnits = 20,
599  MillimetersRulerUnits = 30,
600  PicasRulerUnits = 40,
601  PointsRulerUnits = 50,
602  PixelsRulerUnits = 60,
603  QRulerUnits = 1000 // Only available when Illustrator locale is Locale_JPN_JP
604  };
605 
609  enum BuiltinMenuGroup
610  {
611  UnknownMenuGroup = 0,
612  AboutMenuGroup = 10,
613  OpenMenuGroup = 20,
614  RecentMenuGroup = 30,
615  CloseMenuGroup = 40,
616  DeviceCentralMenuGroup = 50,
617  SaveMenuGroup = 60,
618  SaveForMenuGroup = 70,
619  ImportMenuGroup = 80,
620  PlaceMenuGroup = 90,
621  ExportMenuGroup = 100,
622  DocumentUtilsMenuGroup = 110,
623  DocumentInterchangeMenuGroup = 120,
624  PrintMenuGroup = 130,
625  SendMenuGroup = 140,
626  AppUtilsMenuGroup = 150,
627  QuitMenuGroup = 160,
628  EditMenuGroup = 170,
629  UndoMenuGroup = 180,
630  PasteUtilsMenuGroup = 190,
631  EditUtilsMenuGroup = 200,
632  EditTextMenuGroup = 210,
633  PresetsMenuGroup = 220,
634  SelectMenuGroup = 230,
635  SelectMenuExternalGroup = 240,
636  SameMenuGroup = 250,
637  SelectObjectMenuGroup = 260,
638  PrefsMenuGroup = 270,
639  SyncMenuGroup = 280, // Illustrator 17 and above only
640  ClipboardMenuGroup = 290,
641  RepeatMenuGroup = 300,
642  ArrangeTransformMenuGroup = 310,
643  ArrangeMoveMenuGroup = 320,
644  ArrangeGroupMenuGroup = 330,
645  ArrangeAttribsMenuGroup = 340,
646  ViewModeMenuGroup = 350,
647  ViewAdornmentsMenuGroup = 360,
648  ViewMenuGroup = 370,
649  ViewUtilsMenuGroup = 380,
650  ViewExtMenuGroup = 390,
651  ViewSnapMenuGroup = 400,
652  ObjectAttribsMenuGroup = 410,
653  ObjectUtilsMenuGroup = 420,
654  ObjectsMenuGroup = 430,
655  ObjectPathsMenuGroup = 440,
656  ObjectPathsPopupMenuGroup = 450,
657  LockMenuGroup = 460,
658  HideMenuGroup = 470,
659  GuidesMenuGroup = 480,
660  MaskMenuGroup = 490,
661  CompoundPathsMenuGroup = 500,
662  ArtboardsGroup = 510,
663  CropMarksMenuGroup = 520,
664  GraphsMenuGroup = 530,
665  BlocksMenuGroup = 540,
666  WrapMenuGroup = 550,
667  TextPathTypeGroup = 560,
668  TypeAttribsMenuGroup = 570,
669  TypePalettesMenuGroup = 580,
670  TypeLayoutMenuGroup = 590,
671  TypeTabsMenuGroup = TypePalettesMenuGroup,
672  TypeUtilsMenuGroup = 600,
673  TypePluginsMenuGroup1 = 610,
674  TypePluginsMenuGroup2 = 620,
675  TypeAsianOptionsGroup = 630,
676  TypeSizeUtilsMenuGroup = 640,
677  TypeSizeMenuGroup = 650,
678  TypeLeadingUtilsMenuGroup = 660,
679  TypeLeadingMenuGroup = 670,
680  TypeAlignmentMenuGroup = 680,
681  FilterUtilities = 690,
682  EffectsMenuGroup = 700,
683  HelpMenuGroup = 710,
684  HiddenOtherSelectMenuGroup = 720,
685  HiddenOtherTextMenuGroup = 730,
686  HiddenOtherObjectMenuGroup = 740,
687  HiddenOtherPaletteMenuGroup = 750,
688  HiddenOtherMiscMenuGroup = 760,
689  WindowUtilsMenuGroup = 770,
690  ApplicationContainerMenuGroup = 780,
691  ToolPalettesMenuGroup = 790,
692  WindowLibariesMenuGroup = 800,
693  AdobeLabsMenuGroup = 810,
694  ServicesMenuGroup = 820,
695  PaintPalettesMenuGroup = ToolPalettesMenuGroup,
696  ObjectInfoPalettesMenuGroup = ToolPalettesMenuGroup,
697  AttributePalettesMenuGroup = ToolPalettesMenuGroup,
698  OtherPalettesMenuGroup = ToolPalettesMenuGroup,
699  PaintAttributesPaletteMenuGroup = ToolPalettesMenuGroup,
700  SVGPaletteMenuGroup = ToolPalettesMenuGroup,
701  WindowObjectUtilsMenuGroup = ToolPalettesMenuGroup,
702  DocInfoMenuGroup = 830,
703  ObjectRasterMenuGroup = 840,
704  ArrangeTransformMultipleMenuGroup = 850,
705  ATMMenuGroupNearGroup = ArrangeTransformMenuGroup,
706  ObjectPathsPopoutPluginMenuGroup = 860,
707  OPPPMenuGroupNearGroup = ObjectPathsPopupMenuGroup,
708  AIEditColorsSubMenuGroup = 870,
709  AdobeColorHarmonyMenuGroup = 890,
710  AdobeColorFiltersMenuGroup = 900,
711  DocumentSupportMenuGroup = 910,
712  AssetMgmtMenuGroup = 920,
713  WorkgroupMenuGroup = DocumentSupportMenuGroup,
714  ScriptsMenuGroup = 930,
715  WorkspacesMenuGroup = 940,
716  WorkspacesCustomMenuGroup = 950,
717  WorkspacesPresetsMenuGroup = 960
718  };
719 
723  enum MessageType
724  {
725  CustomMessageType = -10, // Cannot be subscribed to
726  UnknownMessageType = 0, // Cannot be subscribed to
727  ActionGoMessageType = 10,
728  AnnotationDrawMessageType = 20, // Handled automatically; don't subscribe manually
729  AnnotationInvalidateMessageType = 30, // Handled automatically; don't subscribe manually
730  ClipboardGoMessageType = 40,
731  ClipboardCanCopyMessageType = 50,
732  ClipboardCloneMessageType = 60,
733  ClipboardDisposeMessageType = 70,
734  FileFormatGetParamsMessageType = 80,
735  FileFormatSetParamsMessageType = 81, // Illustrator 19 and above only
736  FileFormatGoMessageType = 90,
737  FileFormatCheckMessageType = 100,
738  FileFormatUpdateMessageType = 110, // Deprecated
739  FilterGetParamsMessageType = 120,
740  FilterGoMessageType = 130,
741  LayerListPushMessageType = 140,
742  LayerListPopMessageType = 150,
743  LayerListDeleteMessageType = 160,
744  LiveEffectEditParamsMessageType = 170,
745  LiveEffectGoMessageType = 180,
746  LiveEffectInterpolateMessageType = 190,
747  LiveEffectInputMessageType = 200,
748  LiveEffectConvertColorSpaceMessageType = 210,
749  LiveEffectScaleParamsMessageType = 220,
750  LiveEffectMergeMessageType = 230,
751  LiveEffectGetSVGFilterMessageType = 240,
752  LiveEffectAdjustColorsMessageType = 250,
753  LiveEffectIsCompatibleMessageType = 260,
754  MenuGoMessageType = 270, // Handled automatically; don't subscribe manually
755  MenuUpdateMessageType = 280, // Handled automatically; don't subscribe manually
756  NotifyMessageType = 290, // Handled automatically; don't subscribe manually
757  ObjectSetDisposeContentsMessageType = 300,
758  ObjectSetMarkUsageMessageType = 310,
759  ObjectSetUpdateInternalMessageType = 320,
760  ObjectSetUpdateExternalMessageType = 330,
761  ObjectSetPurgeMessageType = 340,
762  ObjectSetChangeMessageType = 350,
763  ObjectSetChangeIndirectMessageType = 360,
764  ObjectSetCopyMessageType = 370,
765  ObjectSetInitDoneMessageType = 380,
766  PluginGroupNotifyEditsMessageType = 390,
767  PluginGroupUpdateArtMessageType = 400,
768  PluginGroupCanShowContentsMessageType = 410,
769  PluginGroupInterpolateDataMessageType = 420,
770  PluginGroupReplaceSymbolMessageType = 430,
771  PluginGroupDisallowsArtTypeQueryMessageType = 440,
772  PluginGroupPerformCustomHitTestMessageType = 450,
773  PluginGroupCollectPaintStylesMessageType = 460,
774  PluginGroupApplyPaintStylesMessageType = 470,
775  PluginGroupAdjustColorsMessageType = 480,
776  PluginGroupShowContentsMessageType = 490,
777  PreferencesInitMessageType = 500,
778  PreferencesOKMessageType = 510,
779  PreferencesCancelMessageType = 520,
780  PreferencesUpdateMessageType = 530,
781  TimerGoMessageType = 540, // Handled automatically; don't subscribe manually
782  ToolEditMessageType = 550, // Handled automatically; don't subscribe manually
783  ToolTrackMessageType = 560, // Handled automatically; don't subscribe manually
784  ToolMouseDownMessageType = 570, // Handled automatically; don't subscribe manually
785  ToolMouseDragMessageType = 580, // Handled automatically; don't subscribe manually
786  ToolMouseUpMessageType = 590, // Handled automatically; don't subscribe manually
787  ToolSelectMessageType = 600, // Handled automatically; don't subscribe manually
788  ToolReselectMessageType = 610, // Handled automatically; don't subscribe manually
789  ToolDeselectMessageType = 620, // Handled automatically; don't subscribe manually
790  ToolDecreaseDiameterMessageType = 630, // Handled automatically; don't subscribe manually
791  ToolIncreaseDiameterMessageType = 640, // Handled automatically; don't subscribe manually
792  ToolAlternateSelectionQueryMessageType = 650,
793  ToolAlternateSelectionActivateMessageType = 660,
794  ToolAlternateSelectionDeactivateMessageType = 670,
795  ToolboxStartMessageType = 680,
796  ToolboxEndMessageType = 690,
797  ToolboxStartGroupMessageType = 700,
798  ToolboxEndGroupMessageType = 710,
799  ToolboxStartSetMessageType = 720,
800  ToolboxEndSetMessageType = 730,
801  ToolboxAddToolMessageType = 740,
802  ToolboxAddToolRolloverMessageType = 750,
803  ToolboxToolSelectedMessageType = 760,
804  ToolboxToolAlternateActionSelectedMessageType = 770,
805  ToolboxCycleToolMessageType = 780,
806  ToolboxSoftCycleToolMessageType = 790,
807  TransformAgainMessageType = 800,
808  WorkspaceWriteMessageType = 810,
809  WorkspaceRestoreMessageType = 820,
810  WorkspaceDefaultMessageType = 830,
811  PluginReloadMessageType = 840, // Handled automatically; don't subscribe manually
812  PluginPurgeCachesMessageType = 850,
813  PluginUnloadMessageType = 860, // Handled automatically; don't subscribe manually
814  AdaptersStartupMessageType = 870,
815  AdaptersShutdownMessageType = 880,
816  AdaptersDisposeInfoMessageType = 890,
817  AdaptersFlushMessageType = 900,
818  AdaptersRegisterMessageType = 910,
819  AdaptersLoadPluginMessageType = 920,
820  AdaptersReleasePluginMessageType = 930,
821  AdaptersSendMessageMessageType = 940,
822  PropertiesAcquireMessageType = 950,
823  PropertiesReleaseMessageType = 960
824  };
825 
829  enum NotifierType
830  {
831  UnknownNotifierType = 0,
832 
833  ArtSelectionChangedNotifierType = 10,
834  ArtCustomColorChangedNotifierType = 20,
835  ArtPropertiesChangedNotifierType = 30,
836  ArtStyleFocusChangedNotifierType = 40,
837  ArtStyleEditTransparencyNotifierType = 50,
838  ArtGradientChangedNotifierType = 60,
839  ArtPatternChangedNotifierType = 70,
840  ArtSymbolSetChangedNotifierType = 80,
841  ArtSymbolSetDetailedChangeNotifierType = 90,
842  ArtSymbolListChangedNotifierType = 100,
843  ArtSymbolDoubleClickedNotifierType = 110,
844 
845  IsolationModeChangedNotifierType = 120,
846  BeforeIsolationModeChangedNotifierType = 130,
847 
848  CurrentLayerNotifierType = 140,
849  LayerDeletionNotifierType = 150,
850  LayerSetNotifierType = 160,
851  LayerOptionsNotifierType = 170,
852  LayerListChangedNotifierType = 180,
853 
854  // The following artboard notifiers are not native to Illustrator. They are provided by this library and
855  // perform slightly more slowly than native notifiers (as the library must monitor artboards for these types
856  // of changes).
857  ArtboardCreatedNotifierType = 184,
858  ArtboardDeletedNotifierType = 185,
859  ArtboardOptionsChangedNotifierType = 186,
860  CurrentArtboardChangedNotifierType = 187,
861 
862  DocumentChangedNotifierType = 190,
863  DocumentAboutToCloseNotifierType = 200,
864  DocumentClosedNotifierType = 210,
865  DocumentOpenedNotifierType = 220,
866  DocumentSavedNotifierType = 225, // Illustrator 19 and above only
867  DocumentNewNotifierType = 230,
868  DocumentClrMdlChangedNotifierType = 240,
869  DocumentProfilesChangedNotifierType = 250,
870  DocumentSpotColorModeChangedNotifierType = 260,
871  DocumentRulerUnitChangedNotifierType = 270,
872  DocumentWritePreprocessNotifierType = 280,
873  DocumentWritePostprocessNotifierType = 290,
874  DocumentCropAreaModifiedNotifierType = 300,
875  DocumentRulerOriginChangedNotifierType = 310,
876  DocumentBleedsChangedNotifierType = 320,
877  DocumentTransparencyGridNotifierType = 330, // Illustrator 17 and above only
878  DocumentTextResourceChangedNotifierType = 340,
879  FileFormatDocumentOpenedNotifierType = 350,
880  FileFormatLinkUpdateNotifierType = 360,
881 
882  DocumentViewChangedNotifierType = 370,
883  DocumentViewInvalidRectChangedNotifierType = 380,
884  DocumentViewStyleChangedNotifierType = 390,
885  DocumentViewActiveViewChangedNotifierType = 400,
886  DocumentViewOPPPlateStateChangedNotifierType = 410,
887  DocumentViewEdgesVisibilityChangeNotifierType = 413, // Illustrator 18 and above only
888  ActiveDocumentViewTitleChangedNotifierType = 416, // Illustrator 19 and above only
889  InvalidateByScrollNotifierType = 420, // Illustrator 17 and above only
890 
891  CurrentFontChangedNotifierType = 430,
892  CurrentFontSizeChangedNotifierType = 440,
893  FontListChangedNotifierType = 450,
894  BeginImportCompFontNotifierType = 460,
895  EndImportCompFontNotifierType = 470,
896 
897  ToolSelectedNotifierType = 480,
898  ToolDeselectedNotifierType = 490,
899  ToolClearStateNotifierType = 500,
900  ToolTitleChangedNotifierType = 510,
901  ToolTooltipChangedNotifierType = 520,
902  ToolHelpIDChangedNotifierType = 530,
903  ToolChangedNotifierType = 540,
904  ToolWindowChangedNotifierType = 550,
905  ToolSuspendNotifierType = 560,
906  ToolResumeNotifierType = 570,
907  ToolTabletPointerTypeChangedNotifierType = 580,
908  ToolModifiersChangedNotifierType = 590,
909  ToolSuspendedBySpacebarNotifierType = 600,
910  ToolResumedBySpacebarNotifierType = 610,
911  ToolSuspendedByCmdKeyNotifierType = 620,
912  ToolResumedByCmdKeyNotifierType = 630,
913  UserToolChangedNotifierType = 640,
914  EyedropperDragNotifierType = 650,
915 
916  DrawingModeChangedNotifierType = 660,
917  CurrentCoordinateSystemChangedNotifierType = 670,
918  PerspectiveParamsChangedNotifierType = 680,
919  PerspectiveGridVisibilityChangedNotifierType = 690,
920 
921  UpdatePathStyleNotifierType = 700,
922  PaintStyleFillStrokeChangedNotifierType = 710,
923  PaintStyleGradientStopChangedNotifierType = 720,
924  NamedStyleListChangedNotifierType = 730,
925  BeginImportStylesNotifierType = 740,
926  EndImportStylesNotifierType = 750,
927 
928  ColorCalibrationChangedNotifierType = 760,
929  ReplaceColorNotifierType = 770,
930  SwatchLibraryChangedNotifierType = 780,
931 
932  TagChangedNotifierType = 790,
933  XMLNameChangedNotifierType = 800,
934 
935  AllPluginStartedNotifierType = 810,
936  PluginStoppingNotifierType = 820,
937  CSXSPlugPlugSetupCompleteNotifierType = 830,
938 
939  LaunchProjectBridgeNotifierType = 840,
940  CurrentLanguageChangedNotifierType = 850,
941  MenuChangedNotifierType = 860,
942  PreferenceChangedNotifierType = 870,
943  UIBrightnessChangedNotifierType = 880,
944  MetadataSyncNotifierType = 890,
945 
946  ActionManagerPlayActionEventDoneNotifierType = 900,
947  AlignmentKeyArtChangedNotifierType = 910,
948  ObjectSetChangedNotifierType = 920,
949  SlicingChangedNotifierType = 930,
950  SVGFilterChangedNotifierType = 940,
951  SVGFilterAddedNotifierType = 950,
952  VectorizeUpdateNotifierType = 960,
953 
954  AboutIllustratorCommandPreNotifierType = 1000,
955  AboutIllustratorCommandPostNotifierType = 1010,
956 
957  NewCommandPreNotifierType = 1020,
958  NewCommandPostNotifierType = 1030,
959  OpenCommandPreNotifierType = 1040,
960  OpenCommandPostNotifierType = 1050,
961  SaveCommandPreNotifierType = 1060,
962  SaveCommandPostNotifierType = 1070,
963  SaveAsCommandPreNotifierType = 1080,
964  SaveAsCommandPostNotifierType = 1090,
965  SaveACopyAsCommandPreNotifierType = 1100,
966  SaveACopyAsCommandPostNotifierType = 1110,
967  RevertToSavedCommandPreNotifierType = 1120,
968  RevertToSavedCommandPostNotifierType = 1130,
969  CloseCommandPreNotifierType = 1140,
970  CloseCommandPostNotifierType = 1150,
971  QuitCommandPreNotifierType = 1160,
972  QuitCommandPostNotifierType = 1170,
973 
974  PageSetupCommandPreNotifierType = 1180,
975  PageSetupCommandPostNotifierType = 1190,
976  ExportCommandPreNotifierType = 1200,
977  ExportCommandPostNotifierType = 1210,
978  PrintCommandPreNotifierType = 1220,
979  PrintCommandPostNotifierType = 1230,
980 
981  PreferencesCommandPreNotifierType = 1240,
982  PreferencesCommandPostNotifierType = 1250,
983  GridPreferencesCommandPreNotifierType = 1260,
984  GridPreferencesCommandPostNotifierType = 1270,
985  HyphenationPreferencesCommandPreNotifierType = 1280,
986  HyphenationPreferencesCommandPostNotifierType = 1290,
987  PluginsFolderPreferencesCommandPreNotifierType = 1300,
988  PluginsFolderPreferencesCommandPostNotifierType = 1310,
989  ColorMatchingPreferencesCommandPreNotifierType = 1320,
990  ColorMatchingPreferencesCommandPostNotifierType = 1330,
991  SeparationSetupCommandPreNotifierType = 1340,
992  SeparationSetupCommandPostNotifierType = 1350,
993 
994  UndoCommandPreNotifierType = 1360,
995  UndoCommandPostNotifierType = 1370,
996  RedoCommandPreNotifierType = 1380,
997  RedoCommandPostNotifierType = 1390,
998 
999  CutCommandPreNotifierType = 1400,
1000  CutCommandPostNotifierType = 1410,
1001  CopyCommandPreNotifierType = 1420,
1002  CopyCommandPostNotifierType = 1430,
1003  PasteCommandPreNotifierType = 1440,
1004  PasteCommandPostNotifierType = 1450,
1005  PasteInFrontCommandPreNotifierType = 1460,
1006  PasteInFrontCommandPostNotifierType = 1470,
1007  PasteInBackCommandPreNotifierType = 1480,
1008  PasteInBackCommandPostNotifierType = 1490,
1009  PasteInPlaceCommandPreNotifierType = 1493,
1010  PasteInPlaceCommandPostNotifierType = 1494,
1011  PasteInAllArtboardsCommandPreNotifierType = 1497,
1012  PasteInAllArtboardsCommandPostNotifierType = 1498,
1013  CutPictureCommandPreNotifierType = 1500,
1014  CutPictureCommandPostNotifierType = 1510,
1015  CopyPictureCommandPreNotifierType = 1520,
1016  CopyPictureCommandPostNotifierType = 1530,
1017  DragCopyCommandPostNotifierType = 1540,
1018 
1019  SelectAllCommandPreNotifierType = 1550,
1020  SelectAllCommandPostNotifierType = 1560,
1021  DeselectAllCommandPreNotifierType = 1570,
1022  DeselectAllCommandPostNotifierType = 1580,
1023  ClearCommandPreNotifierType = 1590,
1024  ClearCommandPostNotifierType = 1600,
1025  SelectWindowCommandPreNotifierType = 1610,
1026  SelectWindowCommandPostNotifierType = 1620,
1027  SelectFile1CommandPreNotifierType = 1630,
1028  SelectFile1CommandPostNotifierType = 1640,
1029  SelectFile2CommandPreNotifierType = 1650,
1030  SelectFile2CommandPostNotifierType = 1660,
1031  SelectFile3CommandPreNotifierType = 1670,
1032  SelectFile3CommandPostNotifierType = 1680,
1033  SelectFile4CommandPreNotifierType = 1690,
1034  SelectFile4CommandPostNotifierType = 1700,
1035 
1036  MoveObjectsCommandPreNotifierType = 1710,
1037  MoveObjectsCommandPostNotifierType = 1720,
1038  TransformAgainCommandPreNotifierType = 1730,
1039  TransformAgainCommandPostNotifierType = 1740,
1040  TransformRotateCommandPreNotifierType = 1750,
1041  TransformRotateCommandPostNotifierType = 1760,
1042  TransformReflectCommandPreNotifierType = 1770,
1043  TransformReflectCommandPostNotifierType = 1780,
1044  TransformScaleCommandPreNotifierType = 1790,
1045  TransformScaleCommandPostNotifierType = 1800,
1046  TransformShearCommandPreNotifierType = 1810,
1047  TransformShearCommandPostNotifierType = 1820,
1048 
1049  SendToFrontCommandPreNotifierType = 1830,
1050  SendToFrontCommandPostNotifierType = 1840,
1051  SendForwardCommandPreNotifierType = 1850,
1052  SendForwardCommandPostNotifierType = 1860,
1053  SendBackwardCommandPreNotifierType = 1870,
1054  SendBackwardCommandPostNotifierType = 1880,
1055  SendToBackCommandPreNotifierType = 1890,
1056  SendToBackCommandPostNotifierType = 1900,
1057 
1058  GroupCommandPreNotifierType = 1910,
1059  GroupCommandPostNotifierType = 1920,
1060  UngroupCommandPreNotifierType = 1930,
1061  UngroupCommandPostNotifierType = 1940,
1062 
1063  LockCommandPreNotifierType = 1950,
1064  LockCommandPostNotifierType = 1960,
1065  UnlockAllCommandPreNotifierType = 1970,
1066  UnlockAllCommandPostNotifierType = 1980,
1067  HideCommandPreNotifierType = 1990,
1068  HideCommandPostNotifierType = 2000,
1069  UnhideAllCommandPreNotifierType = 2010,
1070  UnhideAllCommandPostNotifierType = 2020,
1071 
1072  AddAnchorPointsCommandPreNotifierType = 2030,
1073  AddAnchorPointsCommandPostNotifierType = 2040,
1074  RemoveAnchorPointsCommandPreNotifierType = 2050,
1075  RemoveAnchorPointsCommandPostNotifierType = 2060,
1076 
1077  TypeOutlinesCommandPreNotifierType = 2070,
1078  TypeOutlinesCommandPostNotifierType = 2080,
1079  JoinCommandPreNotifierType = 2090,
1080  JoinCommandPostNotifierType = 2100,
1081  AverageCommandPreNotifierType = 2110,
1082  AverageCommandPostNotifierType = 2120,
1083  MakeTextWrapCommandPreNotifierType = 2130,
1084  MakeTextWrapCommandPostNotifierType = 2140,
1085  ReleaseTextWrapCommandPreNotifierType = 2150,
1086  ReleaseTextWrapCommandPostNotifierType = 2160,
1087  MakeMaskCommandPreNotifierType = 2170,
1088  MakeMaskCommandPostNotifierType = 2180,
1089  ReleaseMaskCommandPreNotifierType = 2190,
1090  ReleaseMaskCommandPostNotifierType = 2200,
1091  MakeCompoundPathCommandPreNotifierType = 2210,
1092  MakeCompoundPathCommandPostNotifierType = 2220,
1093  ReleaseCompoundPathCommandPreNotifierType = 2230,
1094  ReleaseCompoundPathCommandPostNotifierType = 2240,
1095  MakeCropMarksCommandPreNotifierType = 2250,
1096  MakeCropMarksCommandPostNotifierType = 2260,
1097  ReleaseCropMarksCommandPreNotifierType = 2270,
1098  ReleaseCropMarksCommandPostNotifierType = 2280,
1099 
1100  TextFontCommandPreNotifierType = 2290,
1101  TextFontCommandPostNotifierType = 2300,
1102  TextSizeCommandPreNotifierType = 2310,
1103  TextSizeCommandPostNotifierType = 2320,
1104  LineSpacingCommandPreNotifierType = 2330,
1105  LineSpacingCommandPostNotifierType = 2340,
1106  TextAlignmentCommandPreNotifierType = 2350,
1107  TextAlignmentCommandPostNotifierType = 2360,
1108  TrackingKerningCommandPreNotifierType = 2370,
1109  TrackingKerningCommandPostNotifierType = 2380,
1110  WordSpacingCommandPreNotifierType = 2390,
1111  WordSpacingCommandPostNotifierType = 2400,
1112  DiscretionaryHyphenCommandPreNotifierType = 2410,
1113  DiscretionaryHyphenCommandPostNotifierType = 2420,
1114  LinkTextCommandPreNotifierType = 2430,
1115  LinkTextCommandPostNotifierType = 2440,
1116  UnlinkTextCommandPreNotifierType = 2450,
1117  UnlinkTextCommandPostNotifierType = 2460,
1118  TextOrientationCommandPreNotifierType = 2470,
1119  TextOrientationCommandPostNotifierType = 2480,
1120  GlyphSubstitutionOptionsCommandPreNotifierType = 2490,
1121  GlyphSubstitutionOptionsCommandPostNotifierType = 2500,
1122 
1123  SetGraphStyleCommandPreNotifierType = 2510,
1124  SetGraphStyleCommandPostNotifierType = 2520,
1125  EditGraphDataCommandPreNotifierType = 2530,
1126  EditGraphDataCommandPostNotifierType = 2540,
1127  DefineGraphDesignCommandPreNotifierType = 2550,
1128  DefineGraphDesignCommandPostNotifierType = 2560,
1129  SetBarDesignCommandPreNotifierType = 2570,
1130  SetBarDesignCommandPostNotifierType = 2580,
1131  SetIconDesignCommandPreNotifierType = 2590,
1132  SetIconDesignCommandPostNotifierType = 2600,
1133 
1134  ShowHideRulersCommandPreNotifierType = 2610,
1135  ShowHideRulersCommandPostNotifierType = 2620,
1136  ShowHideGuidesCommandPreNotifierType = 2630,
1137  ShowHideGuidesCommandPostNotifierType = 2640,
1138  LockUnlockGuidesCommandPreNotifierType = 2650,
1139  LockUnlockGuidesCommandPostNotifierType = 2660,
1140  MakeGuidesCommandPreNotifierType = 2670,
1141  MakeGuidesCommandPostNotifierType = 2680,
1142  ReleaseGuidesCommandPreNotifierType = 2690,
1143  ReleaseGuidesCommandPostNotifierType = 2700,
1144  ShowHideGridCommandPreNotifierType = 2710,
1145  ShowHideGridCommandPostNotifierType = 2720,
1146  EnableDisableGridSnapCommandPreNotifierType = 2730,
1147  EnableDisableGridSnapCommandPostNotifierType = 2740,
1148  NewViewSnapCommandPreNotifierType = 2750,
1149  NewViewSnapCommandPostNotifierType = 2760,
1150  EditViewSnapCommandPreNotifierType = 2770,
1151  EditViewSnapCommandPostNotifierType = 2780,
1152 
1153  ArtworkModeCommandPreNotifierType = 2790,
1154  ArtworkModeCommandPostNotifierType = 2800,
1155  PreviewModeCommandPreNotifierType = 2810,
1156  PreviewModeCommandPostNotifierType = 2820,
1157  FitHeadlineCommandPreNotifierType = 2830,
1158  FitHeadlineCommandPostNotifierType = 2840,
1159  ShowHideEdgesCommandPreNotifierType = 2850,
1160  ShowHideEdgesCommandPostNotifierType = 2860,
1161  ShowHidePageTilingCommandPreNotifierType = 2870,
1162  ShowHidePageTilingCommandPostNotifierType = 2880,
1163  ShowHideTemplateCommandPreNotifierType = 2890,
1164  ShowHideTemplateCommandPostNotifierType = 2900,
1165 
1166  ZoomInCommandPreNotifierType = 2910,
1167  ZoomInCommandPostNotifierType = 2920,
1168  ZoomOutCommandPreNotifierType = 2930,
1169  ZoomOutCommandPostNotifierType = 2940,
1170  ReduceToFitCommandPreNotifierType = 2950,
1171  ReduceToFitCommandPostNotifierType = 2960,
1172  ActualSizeCommandPreNotifierType = 2970,
1173  ActualSizeCommandPostNotifierType = 2980,
1174 
1175  NewViewCommandPreNotifierType = 2990,
1176  NewViewCommandPostNotifierType = 3000,
1177  ArrangeWindowsCascadeCommandPreNotifierType = 3010,
1178  ArrangeWindowsCascadeCommandPostNotifierType = 3020,
1179  ArrangeWindowsVerticalCommandPreNotifierType = 3030,
1180  ArrangeWindowsVerticalCommandPostNotifierType = 3040,
1181  ArrangeWindowsHorizontalCommandPreNotifierType = 3050,
1182  ArrangeWindowsHorizontalCommandPostNotifierType = 3060,
1183  ArrangeIconsCommandPreNotifierType = 3070,
1184  ArrangeIconsCommandPostNotifierType = 3080,
1185 
1186  SetNoteCommandPreNotifierType = 3090,
1187  SetNoteCommandPostNotifierType = 3100,
1188  NewMultipleMasterInstanceCommandPreNotifierType = 3110,
1189  NewMultipleMasterInstanceCommandPostNotifierType = 3120,
1190 
1191  ShowHideArtboardRulersCommandPreNotifierType = 3130,
1192  ShowHideArtboardRulersCommandPostNotifierType = 3140,
1193 
1194  ExpandCommandPreNotifierType = 3150,
1195  ExpandCommandPostNotifierType = 3160,
1196  RasterizeCommandPreNotifierType = 3170,
1197  RasterizeCommandPostNotifierType = 3180
1198  };
1199  }
1200 }
1201 
1202 
1203 
1204 hdi::core::MatchArtType operator|(const hdi::core::MatchArtType lhs_, const hdi::core::MatchArtType rhs_);
1205 hdi::core::MatchArtType& operator|=(hdi::core::MatchArtType& lhs__, const hdi::core::MatchArtType rhs_);
1206 hdi::core::MatchArtType operator^(const hdi::core::MatchArtType lhs_, const hdi::core::MatchArtType rhs_);
1207 hdi::core::MatchArtType& operator^=(hdi::core::MatchArtType& lhs__, const hdi::core::MatchArtType rhs_);
1208 
1209 hdi::core::ArtAttribute operator|(const hdi::core::ArtAttribute lhs_, const hdi::core::ArtAttribute rhs_);
1210 hdi::core::ArtAttribute& operator|=(hdi::core::ArtAttribute& lhs__, const hdi::core::ArtAttribute rhs_);
1211 hdi::core::ArtAttribute operator^(const hdi::core::ArtAttribute lhs_, const hdi::core::ArtAttribute rhs_);
1212 hdi::core::ArtAttribute& operator^=(hdi::core::ArtAttribute& lhs__, const hdi::core::ArtAttribute rhs_);
1213 
1214 hdi::core::MatchArtAttribute operator|(const hdi::core::MatchArtAttribute lhs_, const hdi::core::MatchArtAttribute rhs_);
1215 hdi::core::MatchArtAttribute& operator|=(hdi::core::MatchArtAttribute& lhs__, const hdi::core::MatchArtAttribute rhs_);
1216 hdi::core::MatchArtAttribute operator^(const hdi::core::MatchArtAttribute lhs_, const hdi::core::MatchArtAttribute rhs_);
1217 hdi::core::MatchArtAttribute& operator^=(hdi::core::MatchArtAttribute& lhs__, const hdi::core::MatchArtAttribute rhs_);
1218 
1219 hdi::core::HitRequest operator|(const hdi::core::HitRequest lhs_, const hdi::core::HitRequest rhs_);
1220 hdi::core::HitRequest& operator|=(hdi::core::HitRequest& lhs__, const hdi::core::HitRequest rhs_);
1221 hdi::core::HitRequest operator^(const hdi::core::HitRequest lhs_, const hdi::core::HitRequest rhs_);
1222 hdi::core::HitRequest& operator^=(hdi::core::HitRequest& lhs__, const hdi::core::HitRequest rhs_);
1223 
1224 hdi::core::ModifierKey operator|(const hdi::core::ModifierKey lhs_, const hdi::core::ModifierKey rhs_);
1225 hdi::core::ModifierKey& operator|=(hdi::core::ModifierKey& lhs__, const hdi::core::ModifierKey rhs_);
1226 hdi::core::ModifierKey operator^(const hdi::core::ModifierKey lhs_, const hdi::core::ModifierKey rhs_);
1227 hdi::core::ModifierKey& operator^=(hdi::core::ModifierKey& lhs__, const hdi::core::ModifierKey rhs_);
1228 
1229 hdi::core::MouseButton operator|(const hdi::core::MouseButton lhs_, const hdi::core::MouseButton rhs_);
1230 hdi::core::MouseButton& operator|=(hdi::core::MouseButton& lhs__, const hdi::core::MouseButton rhs_);
1231 hdi::core::MouseButton operator^(const hdi::core::MouseButton lhs_, const hdi::core::MouseButton rhs_);
1232 hdi::core::MouseButton& operator^=(hdi::core::MouseButton& lhs__, const hdi::core::MouseButton rhs_);
1233 
1234 
1235 
1236 // Define this macro if you are including the Illustrator SDK headers before the hdi_core lib headers
1237 #ifndef HDI_CORE_DONT_DECLARE_AI_TYPES
1238 
1239  #ifndef __SPTypes__
1240  typedef int32_t SPErr;
1241  #endif
1242 
1243  #ifndef __SPBasic__
1244  struct SPBasicSuite;
1245  #endif
1246 
1247  #ifndef __SPPlugins__
1248  typedef struct SPPlugin* SPPluginRef;
1249  #endif
1250 
1251  #ifndef __SPMessageData__
1253  {
1254  SPErr SPCheck;
1255  struct SPPlugin* self;
1256  void* globals;
1257  struct SPBasicSuite* basic;
1258  };
1259  #endif
1260 
1261  #ifndef __AIAnnotator__
1262  typedef struct _t_AIAnnotatorOpaque* AIAnnotatorHandle;
1263  #endif
1264 
1265  #ifndef __AIAnnotatorDrawer__
1266  class AIAnnotatorDrawer;
1267  #endif
1268 
1269  #ifndef __AIEntry__
1270  typedef struct _AIArray* AIArrayRef;
1271  typedef struct _t_AIArtStyle* AIArtStyleHandle;
1272  typedef struct _AIDictionary* AIDictionaryRef;
1273  typedef struct _AIEntry* AIEntryRef;
1274  typedef struct _AIUID* AIUIDRef;
1275  #endif
1276 
1277  #ifndef __AIDocument__
1278  typedef struct _t_AIDocument* AIDocumentHandle;
1279  #endif
1280 
1281  #ifndef __AIDocumentView__
1282  typedef struct _t_AIDocumentViewOpaque* AIDocumentViewHandle;
1283  #endif
1284 
1285  #ifndef __AIFileFormat__
1286  typedef struct _t_AIFileFormatOpaque* AIFileFormatHandle;
1287  #endif
1288 
1289  #ifndef __AIFont__
1290  typedef struct __AIFontKey* AIFontKey;
1291  typedef struct _t_AITypefaceKey* AITypefaceKey;
1292  #endif
1293 
1294  #ifndef __AIMenu__
1295  typedef struct _t_AIMenuItemOpaque* AIMenuItemHandle;
1296  typedef struct _t_MenuGroupOpaque* AIMenuGroup;
1297  #endif
1298 
1299  #ifndef __AINotifier__
1300  typedef struct _t_AINotifierOpaque* AINotifierHandle;
1301  #endif
1302 
1303  #ifndef __AIColor__
1304  typedef void* AIGradientHandle;
1305  typedef void* AIPatternHandle;
1306  #endif
1307 
1308  #ifndef __AITimer__
1309  typedef struct _t_AITimerOpaque* AITimerHandle;
1310  #endif
1311 
1312  #ifndef __AITool__
1313  typedef struct _t_AIToolOpaque* AIToolHandle;
1314  #endif
1315 
1316  #ifndef __AILiveEffect__
1317  typedef struct _t_AILiveEffectOpaque* AILiveEffectHandle;
1318  typedef AIDictionaryRef AILiveEffectParameters;
1319  #endif
1320 
1321  #ifndef __AITypes__
1322  typedef struct ArtObject* AIArtHandle;
1323  typedef struct _t_AILayerOpaque* AILayerHandle;
1324  #endif
1325 
1326  #ifndef __AICONTROLBAR_H__
1327  typedef struct _opaque_AIControlBar* AIControlBarRef;
1328  #endif
1329 
1330  #ifndef __AIPANEL_H__
1331  typedef struct _opaque_AIPanel* AIPanelRef;
1332  #endif
1333 
1334  namespace ATE
1335  {
1336  class ICharFeatures;
1337  class ICharInspector;
1338  class ICharStyle;
1339  class ICharStyles;
1340  class IGlyphRun;
1341  class IParagraph;
1342  class IParaFeatures;
1343  class IParaInspector;
1344  class IParaStyle;
1345  class IParaStyles;
1346  class IStory;
1347  class IStories;
1348  class ITabStop;
1349  class ITabStops;
1350  class ITextFrame;
1351  class ITextLine;
1352  class ITextRange;
1353  class ITextRanges;
1354  class IWordsIterator;
1355  }
1356 
1357 #endif
1358 // HDI_CORE_DONT_DECLARE_AI_TYPES
1359 
1360 typedef int32_t __MainError;
1361 
1362 #endif
1363 // __HDI_CORE_TYPES__
MatchArtAttribute attributes
A bitwise OR of MatchArtAttribute enum values to indicate the desired (or undesired) art attributes...
Definition: hdicoreTypes.h:209
Definition: hdicoreTypes.h:1252
MatchArtSpec()
Constructs a new MatchArtSpec object with default values.
Header file for a variety of Illustrator plugin convenience macros.
Definition: hdicoreaiArray.h:12
MatchArtSearch type
Whether to include or exclude the specified art and attributes when searching for art...
Definition: hdicoreTypes.h:214
Definition: hdicoreTypes.h:1334
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
virtual ~MatchArtSpec()
Destructs a MatchArtSpec object.