/* This file is part of tooldemo, a sample Tool plugin for Adobe Illustrator Copyright (C) 2002-5 Toby Thain, toby@telegraphics.com.au This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #define EXTERN #include "common.h" #include "aipluginmain.h" #ifdef ATETEXT #include "ATETextSuitesImportHelper.h" extern "C" { EXTERN_TEXT_SUITES } #endif typedef struct { char *name; int version; //#ifdef __cplusplus // void *suite; //#else ppsuite suite; //#endif } ImportSuite; static ImportSuite gImportSuites[] = { kAIBlockSuite,kAIBlockVersion,(ppsuite)&sBlock, kAIMatchingArtSuite,kAIMatchingArtVersion,(ppsuite)&sMatch, kAIFixedMathSuite,kAIFixedMathVersion,(ppsuite)&sMath, #ifdef kAIRealMathSuite kAIRealMathSuite,kAIRealMathVersion,(ppsuite)&sRealMath, #endif kAIArtSuite,kAIArtVersion,(ppsuite)&sArt, kAIPathSuite,kAIPathVersion,(ppsuite)&sPath, kAIPathStyleSuite,kAIPathStyleVersion,(ppsuite)&sPathStyle, kAIMdMemorySuite,kAIMdMemoryVersion,(ppsuite)&sMdMemory, kAIToolSuite,kAIToolVersion,(ppsuite)&sTool, kAIUndoSuite,kAIUndoVersion,(ppsuite)&sUndo, kADMBasicSuite,kADMBasicSuiteVersion,(ppsuite)&sADMBasic, kADMIconSuite,kADMIconSuiteVersion,(ppsuite)&sADMIcon, kSPAccessSuite,kSPAccessSuiteVersion,(ppsuite)&sSPAccess, #ifdef ATETEXT kAITextFrameSuite,kAITextFrameVersion,(ppsuite)&sAITextFrame, IMPORT_TEXT_SUITES /* kApplicationPaintSuite, kApplicationPaintSuiteVersion, (ppsuite)&sApplicationPaint, kCompFontSuite, kCompFontSuiteVersion, (ppsuite)&sCompFont, kCompFontClassSuite, kCompFontClassSuiteVersion, (ppsuite)&sCompFontClass, kCompFontClassSetSuite, kCompFontClassSetSuiteVersion, (ppsuite)&sCompFontClassSet, kCompFontComponentSuite, kCompFontComponentSuiteVersion, (ppsuite)&sCompFontComponent, kCompFontSetSuite, kCompFontSetSuiteVersion, (ppsuite)&sCompFontSet, kGlyphRunSuite, kGlyphRunSuiteVersion, (ppsuite)&sGlyphRun, kGlyphRunsIteratorSuite, kGlyphRunsIteratorSuiteVersion, (ppsuite)&sGlyphRunsIterator, kMojiKumiSuite, kMojiKumiSuiteVersion, (ppsuite)&sMojiKumi, kMojiKumiSetSuite, kMojiKumiSetSuiteVersion, (ppsuite)&sMojiKumiSet, kTextFrameSuite, kTextFrameSuiteVersion, (ppsuite)&sTextFrame, kTextFramesIteratorSuite, kTextFramesIteratorSuiteVersion, (ppsuite)&sTextFramesIterator, kTextLineSuite, kTextLineSuiteVersion, (ppsuite)&sTextLine, kTextLinesIteratorSuite, kTextLinesIteratorSuiteVersion, (ppsuite)&sTextLinesIterator, kTextResourcesSuite, kTextResourcesSuiteVersion, (ppsuite)&sTextResources, kApplicationTextResourcesSuite, kApplicationTextResourcesSuiteVersion, (ppsuite)&sApplicationTextResources, kDocumentTextResourcesSuite, kDocumentTextResourcesSuiteVersion, (ppsuite)&sDocumentTextResources, kVersionInfoSuite, kVersionInfoSuiteVersion, (ppsuite)&sVersionInfo, kArrayApplicationPaintRefSuite, kArrayApplicationPaintRefSuiteVersion, (ppsuite)&sArrayApplicationPaintRef, kArrayRealSuite, kArrayRealSuiteVersion, (ppsuite)&sArrayReal, kArrayBoolSuite, kArrayBoolSuiteVersion, (ppsuite)&sArrayBool, kArrayIntegerSuite, kArrayIntegerSuiteVersion, (ppsuite)&sArrayInteger, kArrayLineCapTypeSuite, kArrayLineCapTypeSuiteVersion, (ppsuite)&sArrayLineCapType, kArrayFigureStyleSuite, kArrayFigureStyleSuiteVersion, (ppsuite)&sArrayFigureStyle, kArrayLineJoinTypeSuite, kArrayLineJoinTypeSuiteVersion, (ppsuite)&sArrayLineJoinType, kArrayWariChuJustificationSuite, kArrayWariChuJustificationSuiteVersion, (ppsuite)&sArrayWariChuJustification, kArrayStyleRunAlignmentSuite, kArrayStyleRunAlignmentSuiteVersion, (ppsuite)&sArrayStyleRunAlignment, kArrayAutoKernTypeSuite, kArrayAutoKernTypeSuiteVersion, (ppsuite)&sArrayAutoKernType, kArrayBaselineDirectionSuite, kArrayBaselineDirectionSuiteVersion, (ppsuite)&sArrayBaselineDirection, kArrayLanguageSuite, kArrayLanguageSuiteVersion, (ppsuite)&sArrayLanguage, kArrayFontCapsOptionSuite, kArrayFontCapsOptionSuiteVersion, (ppsuite)&sArrayFontCapsOption, kArrayFontBaselineOptionSuite, kArrayFontBaselineOptionSuiteVersion, (ppsuite)&sArrayFontBaselineOption, kArrayFontOpenTypePositionOptionSuite, kArrayFontOpenTypePositionOptionSuiteVersion, (ppsuite)&sArrayFontOpenTypePositionOption, kArrayUnderlinePositionSuite, kArrayUnderlinePositionSuiteVersion, (ppsuite)&sArrayUnderlinePosition, kArrayStrikethroughPositionSuite, kArrayStrikethroughPositionSuiteVersion, (ppsuite)&sArrayStrikethroughPosition, kArrayParagraphJustificationSuite, kArrayParagraphJustificationSuiteVersion, (ppsuite)&sArrayParagraphJustification, kArrayArrayRealSuite, kArrayArrayRealSuiteVersion, (ppsuite)&sArrayArrayReal, kArrayBurasagariTypeSuite, kArrayBurasagariTypeSuiteVersion, (ppsuite)&sArrayBurasagariType, kArrayPreferredKinsokuOrderSuite, kArrayPreferredKinsokuOrderSuiteVersion, (ppsuite)&sArrayPreferredKinsokuOrder, kArrayKinsokuRefSuite, kArrayKinsokuRefSuiteVersion, (ppsuite)&sArrayKinsokuRef, kArrayMojiKumiRefSuite, kArrayMojiKumiRefSuiteVersion, (ppsuite)&sArrayMojiKumiRef, kArrayMojiKumiSetRefSuite, kArrayMojiKumiSetRefSuiteVersion, (ppsuite)&sArrayMojiKumiSetRef, kArrayTabStopsRefSuite, kArrayTabStopsRefSuiteVersion, (ppsuite)&sArrayTabStopsRef, kArrayLeadingTypeSuite, kArrayLeadingTypeSuiteVersion, (ppsuite)&sArrayLeadingType, kArrayFontRefSuite, kArrayFontRefSuiteVersion, (ppsuite)&sArrayFontRef, kArrayGlyphIDSuite, kArrayGlyphIDSuiteVersion, (ppsuite)&sArrayGlyphID, kArrayRealPointSuite, kArrayRealPointSuiteVersion, (ppsuite)&sArrayRealPoint, kArrayRealMatrixSuite, kArrayRealMatrixSuiteVersion, (ppsuite)&sArrayRealMatrix, kCharFeaturesSuite, kCharFeaturesSuiteVersion, (ppsuite)&sCharFeatures, kCharInspectorSuite, kCharInspectorSuiteVersion, (ppsuite)&sCharInspector, kCharStyleSuite, kCharStyleSuiteVersion, (ppsuite)&sCharStyle, kCharStylesSuite, kCharStylesSuiteVersion, (ppsuite)&sCharStyles, kCharStylesIteratorSuite, kCharStylesIteratorSuiteVersion, (ppsuite)&sCharStylesIterator, kFindSuite, kFindSuiteVersion, (ppsuite)&sFind, kFontSuite, kFontSuiteVersion, (ppsuite)&sFont, kGlyphSuite, kGlyphSuiteVersion, (ppsuite)&sGlyph, kGlyphsSuite, kGlyphsSuiteVersion, (ppsuite)&sGlyphs, kGlyphsIteratorSuite, kGlyphsIteratorSuiteVersion, (ppsuite)&sGlyphsIterator, kKinsokuSuite, kKinsokuSuiteVersion, (ppsuite)&sKinsoku, kKinsokuSetSuite, kKinsokuSetSuiteVersion, (ppsuite)&sKinsokuSet, kParaFeaturesSuite, kParaFeaturesSuiteVersion, (ppsuite)&sParaFeatures, kParagraphSuite, kParagraphSuiteVersion, (ppsuite)&sParagraph, kParagraphsIteratorSuite, kParagraphsIteratorSuiteVersion, (ppsuite)&sParagraphsIterator, kParaInspectorSuite, kParaInspectorSuiteVersion, (ppsuite)&sParaInspector, kParaStyleSuite, kParaStyleSuiteVersion, (ppsuite)&sParaStyle, kParaStylesSuite, kParaStylesSuiteVersion, (ppsuite)&sParaStyles, kParaStylesIteratorSuite, kParaStylesIteratorSuiteVersion, (ppsuite)&sParaStylesIterator, kSpellSuite, kSpellSuiteVersion, (ppsuite)&sSpell, kStoriesSuite, kStoriesSuiteVersion, (ppsuite)&sStories, kStorySuite, kStorySuiteVersion, (ppsuite)&sStory, kTabStopSuite, kTabStopSuiteVersion, (ppsuite)&sTabStop, kTabStopsSuite, kTabStopsSuiteVersion, (ppsuite)&sTabStops, kTabStopsIteratorSuite, kTabStopsIteratorSuiteVersion, (ppsuite)&sTabStopsIterator, kTextRangeSuite, kTextRangeSuiteVersion, (ppsuite)&sTextRange, kTextRangesSuite, kTextRangesSuiteVersion, (ppsuite)&sTextRanges, kTextRangesIteratorSuite, kTextRangesIteratorSuiteVersion, (ppsuite)&sTextRangesIterator, kTextRunsIteratorSuite, kTextRunsIteratorSuiteVersion, (ppsuite)&sTextRunsIterator, kWordsIteratorSuite, kWordsIteratorSuiteVersion, (ppsuite)&sWordsIterator, */ #else kAITextSuite,kAITextVersion,(ppsuite)&sText, kAITextRunSuite,kAITextRunVersion,(ppsuite)&sTextRun, kAITextPathSuite,kAITextPathVersion,(ppsuite)&sTextPath, kAITextStreamSuite,kAITextStreamVersion,(ppsuite)&sTextStream, #endif NULL, 0, NULL }; AIErr acquire_suites(SPMessageData *m){ AIErr e = kNoErr; ImportSuite *p; for(p=gImportSuites;p->name;++p) if(e = acq_suite(m,p->name,p->version,p->suite)) break; //else{ char s[0x100]; sprintf(s,"acq_suite(\"%s\",%d)->%#x",p->name,p->version,*p->suite); dbg(s); } /* // if an error occurred, release any we got if(e) for(;p!=gImportSuites;){ --p; m->basic->ReleaseSuite(p->name,p->version); } */ return e; } AIErr release_suites(SPMessageData *m){ ImportSuite *p; for(p=gImportSuites;p->name;++p) if(*p->suite) m->basic->ReleaseSuite(p->name,p->version); return kNoErr; }