Adobe.com
Contents Suites Classes Class Index Member Index

AIEntry.h

Go to the documentation of this file.
00001 #ifndef __AIEntry__
00002 #define __AIEntry__
00003 
00004 /*
00005  *        Name: AIEntry.h
00006  *              $Id $
00007  *      Author:
00008  *        Date:
00009  *     Purpose: Adobe Illustrator Dictionary Entry Object Suite.
00010  *
00011  * ADOBE SYSTEMS INCORPORATED
00012  * Copyright 2001-2007 Adobe Systems Incorporated.
00013  * All rights reserved.
00014  *
00015  * NOTICE:  Adobe permits you to use, modify, and distribute this file
00016  * in accordance with the terms of the Adobe license agreement
00017  * accompanying it. If you have received this file from a source other
00018  * than Adobe, then your use, modification, or distribution of it
00019  * requires the prior written permission of Adobe.
00020  *
00021  */
00022 
00023 
00024 /*******************************************************************************
00025  **
00026  **     Imports
00027  **
00028  **/
00029 
00030 #ifndef __AITypes__
00031 #include "AITypes.h"
00032 #endif
00033 #ifndef __AIArt__
00034 #include "AIArt.h"
00035 #endif
00036 #ifndef __AILayer__
00037 #include "AILayer.h"
00038 #endif
00039 #ifndef __AICustomColor__
00040 #include "AICustomColor.h"
00041 #endif
00042 #ifndef __AIObjectSet__
00043 #include "AIObjectSet.h"
00044 #endif
00045 
00046 #include "AIHeaderBegin.h"
00047 
00050 /*******************************************************************************
00051  **
00052  **     Constants
00053  **
00054  **/
00055 
00056 #define kAIEntrySuite                                                   "AI Entry Suite"
00057 #define kAIEntrySuiteVersion7                                   AIAPI_VERSION(7)
00058 #define kAIEntrySuiteVersion                                    kAIEntrySuiteVersion7
00059 #define kAIEntryVersion                                                 kAIEntrySuiteVersion
00060 
00061 
00062 /*******************************************************************************
00063  **
00064  **     Types
00065  **
00066  **/
00067 
00068 
00077 typedef struct _AIEntry*                                                AIEntryRef;
00078 
00081 typedef struct _AIArray*                                                AIArrayRef;
00082 
00085 typedef struct _AIDictionary*                                   AIDictionaryRef;
00086 typedef const struct _AIDictionary*                             ConstAIDictionaryRef;
00087 
00092 typedef struct _AIUID*                                                  AIUIDRef;
00093 
00098 typedef struct _AIUIDREF*                                               AIUIDREFRef;
00099 
00102 typedef struct _AIXMLNode*                                              AIXMLNodeRef;
00103 
00106 typedef struct _t_AISVGFilterOpaque*                    AISVGFilterHandle;
00107 
00110 typedef struct _t_AIArtStyle*                                   AIArtStyleHandle;
00111 
00113 typedef ai::int32  AIEntryType;
00116 enum
00117 {
00119         UnknownType,
00121         IntegerType,
00123         BooleanType,
00125         RealType,
00127         StringType,
00129         DictType,
00131         ArrayType,
00134         BinaryType,
00136         PointType,
00138         MatrixType,
00140         PatternRefType,
00142         BrushPatternRefType,
00144         CustomColorRefType,
00146         GradientRefType,
00148         PluginObjectRefType,
00150         FillStyleType,
00152         StrokeStyleType,
00154         UIDType,
00156         UIDREFType,
00158         XMLNodeType,
00160         SVGFilterType,
00162         ArtStyleType,
00164         SymbolPatternRefType,
00166         GraphDesignRefType,
00168         BlendStyleType,
00170         GraphicObjectType,
00172         UnicodeStringType,      
00174         PointerType,
00176         ArtworkPointType
00177 };
00178 
00179 
00181 #define kNoSuchEntry                                            'EnNS'
00182 
00186 #define kWrongEntryType                                         100
00187 
00192 #define kNoConversionErr                                        'NoCV'
00193 
00194 /*******************************************************************************
00195  **
00196  **     Suite
00197  **
00198  **/
00199 
00200 
00248 struct AIEntrySuite
00249 {
00250 
00254         AIAPI ai::int32 (*AddRef) ( AIEntryRef entry );
00255 
00259         AIAPI ai::int32 (*Release) ( AIEntryRef entry );
00260 
00266         AIAPI AIEntryType (*GetType) ( AIEntryRef entry );
00267 
00268 
00269         // the various entry types
00270 
00277         AIAPI AIErr (*ToBoolean) ( AIEntryRef entry, ASBoolean* value );
00278 
00284         AIAPI AIEntryRef (*FromBoolean) ( ASBoolean value );
00285 
00292         AIAPI AIErr (*ToInteger) ( AIEntryRef entry, ai::int32* value );
00293 
00299         AIAPI AIEntryRef (*FromInteger) ( ai::int32 value );
00300 
00307         AIAPI AIErr (*ToReal) ( AIEntryRef entry, AIReal* value );
00308 
00314         AIAPI AIEntryRef (*FromReal) ( AIReal value );
00315 
00322         AIAPI AIErr (*ToRealPoint) ( AIEntryRef entry, AIRealPoint* value );
00323 
00329         AIAPI AIEntryRef (*FromRealPoint) ( const AIRealPoint *value );
00330 
00337         AIAPI AIErr (*ToRealMatrix) ( AIEntryRef entry, AIRealMatrix* value );
00338 
00344         AIAPI AIEntryRef (*FromRealMatrix) ( const AIRealMatrix *value );
00345 
00352         AIAPI AIErr (*ToString) ( AIEntryRef entry, const char** value );
00353 
00359         AIAPI AIEntryRef (*FromString) ( const char* value );
00360 
00367         AIAPI AIErr (*ToDict) ( AIEntryRef entry, AIDictionaryRef* value );
00368 
00374         AIAPI AIEntryRef (*FromDict) ( AIDictionaryRef value );
00375 
00383         AIAPI AIErr (*ToArt) ( AIEntryRef entry, AIArtHandle* art );
00384 
00391         AIAPI AIErr (*ToArray) ( AIEntryRef entry, AIArrayRef* value );
00392 
00398         AIAPI AIEntryRef (*FromArray) ( AIArrayRef value );
00399 
00411         AIAPI AIErr (*ToBinary) ( AIEntryRef entry, void* value, size_t* size );
00412 
00419         AIAPI AIEntryRef (*FromBinary) ( void* value, size_t size );
00420 
00427         AIAPI AIErr (*ToPattern) ( AIEntryRef entry, AIPatternHandle* value );
00428 
00434         AIAPI AIEntryRef (*FromPattern) ( AIPatternHandle value );
00435 
00442         AIAPI AIErr (*ToBrushPattern) ( AIEntryRef entry, AIPatternHandle* value );
00443 
00449         AIAPI AIEntryRef (*FromBrushPattern) ( AIPatternHandle value );
00450 
00457         AIAPI AIErr (*ToGradient) ( AIEntryRef entry, AIGradientHandle* value );
00458 
00464         AIAPI AIEntryRef (*FromGradient) ( AIGradientHandle value );
00465 
00472         AIAPI AIErr (*ToCustomColor) ( AIEntryRef entry, AICustomColorHandle* value );
00473 
00479         AIAPI AIEntryRef (*FromCustomColor) ( AICustomColorHandle value );
00480 
00487         AIAPI AIErr (*ToPluginObject) ( AIEntryRef entry, AIObjectHandle* value );
00488 
00495         AIAPI AIEntryRef (*FromPluginObject) ( AIObjectHandle value );
00496 
00503         AIAPI AIErr (*ToFillStyle) ( AIEntryRef entry, struct AIFillStyle *value );
00504 
00510         AIAPI AIEntryRef (*FromFillStyle) ( const struct AIFillStyle *value );
00511 
00518         AIAPI AIErr (*ToStrokeStyle) ( AIEntryRef entry, struct AIStrokeStyle *value );
00519 
00525         AIAPI AIEntryRef (*FromStrokeStyle) ( const struct AIStrokeStyle *value );
00526 
00527         /* New in Illustrator 10.0 */
00528 
00535         AIAPI AIErr (*ToUID) ( AIEntryRef entry, AIUIDRef* value );
00536 
00542         AIAPI AIEntryRef (*FromUID) ( AIUIDRef value );
00543 
00550         AIAPI AIErr (*ToUIDREF) ( AIEntryRef entry, AIUIDREFRef* value );
00551 
00557         AIAPI AIEntryRef (*FromUIDREF) ( AIUIDREFRef value );
00558 
00565         AIAPI AIErr (*ToXMLNode) ( AIEntryRef entry, AIXMLNodeRef* value );
00566 
00572         AIAPI AIEntryRef (*FromXMLNode) ( AIXMLNodeRef value );
00573 
00580         AIAPI AIErr (*ToSVGFilterHandle) ( AIEntryRef entry, AISVGFilterHandle* value );
00581 
00587         AIAPI AIEntryRef (*FromSVGFilterHandle) ( AISVGFilterHandle value );
00588 
00595         AIAPI AIErr (*ToSymbolPattern) ( AIEntryRef entry, AIPatternHandle* value );
00596 
00602         AIAPI AIEntryRef (*FromSymbolPattern) ( AIPatternHandle value );
00603 
00604         // Type conversion routines.
00605         // Conversion rules are the same as for \c std::basic_[io]stream.
00606 
00614         AIAPI AIErr (*AsBoolean) ( AIEntryRef entry, ASBoolean* value );
00615 
00622         AIAPI AIErr (*AsInteger) ( AIEntryRef entry, ai::int32* value );
00623 
00630         AIAPI AIErr (*AsReal) ( AIEntryRef entry, AIReal* value );
00631 
00642         AIAPI AIErr (*AsString) ( AIEntryRef entry, const char** value );
00643 
00651         AIAPI AIErr (*AsUIDREF) ( AIEntryRef entry, AIUIDREFRef* value );
00652 
00659         AIAPI AIErr (*ToArtStyle) ( AIEntryRef entry, AIArtStyleHandle* value );
00660 
00666         AIAPI AIEntryRef (*FromArtStyle) ( AIArtStyleHandle value );
00667 
00668         /* New in Illustrator 12.0 */
00669 
00676         AIAPI AIErr (*ToUnicodeString) ( AIEntryRef entry, ai::UnicodeString& value );
00677 
00683         AIAPI AIEntryRef (*FromUnicodeString) ( const ai::UnicodeString& value );
00684 
00692         AIAPI AIErr (*AsUnicodeString) ( AIEntryRef entry, ai::UnicodeString& value );
00693 
00694         /* New in Illustrator 15.0 */
00695 
00703         AIAPI ASBoolean(*Equiv) (AIEntryRef entry1, AIEntryRef entry2);
00704 
00705 };
00706 
00707 
00708 #include "AIHeaderEnd.h"
00709 
00710 
00711 #endif


Contents Suites Classes Class Index Member Index
Adobe Solutions Network
 
Copyright © 2016 Adobe Systems Incorporated. All rights reserved.
Terms of Use Online Privacy Policy Adobe and accessibility Avoid software piracy Permissions and Trademarks