Adobe.com
Contents Suites Classes Class Index Member Index

ai Namespace Reference

Usage:. More...

Namespaces

namespace  ArtboardUtils
 

The ArtboardUtils object is a collection of utility functions for common operations.


namespace  Contract
namespace  ContractPolicy
namespace  detail
namespace  details
 

String Literal Class -------------------- Replacement for: const char* const kWidgetId = "SomeMagicString";.


namespace  DocumentUtils
namespace  PointTraits
namespace  RectTraits
namespace  RepeatArtUtils

Classes

struct  ArtObjectsChangedData
 struct to keep list of the UUIDs of inserted, removed, and modified objects More...
struct  ArtObjectsChangedNotifierData
 struct for notification data of kAIArtObjectsChangedNotifier More...
class  AutoCoordinateSystem
 A stack object used to change the coordinate system to be used by Illustrator API functions. More...
class  Error
 Exception class thrown by C++ classes. More...
class  LogicError
struct  CompileTimeChecker
 Provides compile-time errors that are similar to run-time assertions. More...
struct  CompileTimeChecker< false >
 There is no instantiation of CompileTimeChecker for a false value. More...
class  ArtboardProperties
 The ArtboardProperties object encapsulates all the attributes associated with an artboard. More...
class  ArtboardList
 The ArtboardList object is the interface to the set of artboards associated with a document. More...
class  ArtMatcher
 A stack based wrapper class for inquiring about the selection and matched art over AIMatchingArtSuite. More...
class  ArtSet
 A stack based wrapper class over AIArtSetSuite and AIArtSetGeneratorSuite. More...
class  SPAlloc
 Allocator object class for the AutoBuffer template. More...
class  AutoBuffer
 An AutoBuffer class object allows you to retrieve string contents into a buffer, or to pass or retrieve any array of data types, without having to manage the buffer's memory. More...
struct  PlatformTraits
 Encoding characteristics and functions for platform encoding. More...
struct  UTF8Traits
 Encoding characteristics and functions for UTF-8 encoding. More...
struct  UTF16Traits
 Encoding characteristics and functions for UTF-16 encoding. More...
class  EncodedString
 This class represents an encoded string. More...
class  ColorSpace
 This class represents an Illustrator color space. More...
class  ColorSpaceList
 This class represents a list of color spaces for Illustrator. More...
class  CopyScope
 A wrapper class for the AICopyScopeHandle object. More...
class  BaseDataFilter
class  FileDataFilter
class  ZDataFilter
class  ZStdDataFilter
class  AsyncDataFilter
class  A85DataFilter
class  BufferDataFilter
class  ResourceDataFilter
class  VMDataFilter
class  BlockDataFilter
class  ScopedDataFilter
class  IDataFilter
 A stack-based wrapper class over AIDataFilterSuite. More...
class  Entry
class  Array
class  Dictionary
class  FilePath
class  GlobalUnicodeString
class  LiteralString
class  Locale
 This class represents a predefined set of locales used in Illustrator, with a unique identifying code and associated descriptive string for the language and region. More...
class  Paint
 This class describes how an art object is painted using a fully-defined paint. More...
class  PartialPaint
 This class describes how an art object is painted using a partially-defined paint. More...
struct  Absolute
struct  Absolute< AIReal >
class  Ref
 Many object types are reference counted, such as dictionaries (AIDictionaryRef) and arrays (AIArrayRef). More...
class  BooleanAttributeCache
 BooleanAttributeCache: A class to store boolean attributes. More...
class  CacheScopeManager
 CacheScopeManager: Instantiate this class to ensure a valid Cache. More...
class  CacheScopeSuppressor
 CacheScopeSuppressor: Prevents caching in a scope. More...
class  NumberFormat
 Class used for locale-dependent number formatting. More...
class  const_PStr
 Constant Pascal string adapter object. More...
class  PStr
 Mutable Pascal string adapter object. More...
class  WCHARStr
 In Windows only. More...
class  UnicodeString
 UnicodeString objects provide basic string functionality for Unicode-based strings, similar to that provided by the standard C string library. More...
class  uuid
 Class to keep the data of UUID associated with an art object. More...

Typedefs

typedef enum ai::Quadrant Quadrant
typedef ai::int32 ArtboardID
 Artboard identifier.
typedef CAIArtboardProperties * ArtboardRef
 Artboard object.
typedef CAIArtboardList * ArtboardListRef
 Artboard list object.
typedef EncodedString
< PlatformTraits
PlatformString
 Encoded string type: platform encoding.
typedef EncodedString< UTF8TraitsUTF8String
 Encoded string type: UTF-8 encoding.
typedef EncodedString
< UTF16Traits
UTF16String
 Encoded string type: UTF-16 encoding.
typedef Locale::ID LocaleID
 Locale unique identifying code.

Enumerations

enum  PlaceMethod {
  kAsIs, kFill, kFit, kConform,
  kReconform
}
 

Methods for positioning and sizing a linked object.

More...
enum  PlaceAlignment {
  kTopLeft, kMidLeft, kBotLeft, kTopMid,
  kMidMid, kBotMid, kTopRight, kMidRight,
  kBotRight
}
 

Alignment options for positioning a linked object.

More...
enum  RasterColorSpace {
  kColorSpaceHasAlpha = 0x10, kGrayColorSpace = 0, kRGBColorSpace = 1, kCMYKColorSpace = 2,
  kLabColorSpace = 3, kSeparationColorSpace = 4, kNChannelColorSpace = 5, kIndexedColorSpace = 6,
  kAlphaGrayColorSpace = (kGrayColorSpace | kColorSpaceHasAlpha), kAlphaRGBColorSpace = (kRGBColorSpace | kColorSpaceHasAlpha), kAlphaCMYKColorSpace = (kCMYKColorSpace | kColorSpaceHasAlpha), kAlphaLabColorSpace = (kLabColorSpace | kColorSpaceHasAlpha),
  kAlphaSeparationColorSpace = (kSeparationColorSpace | kColorSpaceHasAlpha), kAlphaNChannelColorSpace = (kNChannelColorSpace | kColorSpaceHasAlpha), kAlphaIndexedColorSpace = (kIndexedColorSpace | kColorSpaceHasAlpha), kInvalidColorSpace = 0xFF
}
 

Color models for raster data.

More...
enum  RasterDataState { kAIRasterNoData = 0, kAIRasterLinkData = 1, kAIRasterEditedData = 2 }
 

Data states for AIRasterLink::datastate.

More...
enum  ESliceOrigin { eSliceOrigin_autoGenerated, eSliceOrigin_layerGenerated, eSliceOrigin_userGenerated, eSliceOrigin_Unknown = kForceEnumSize }
 

Identifies how a slice was created.

More...
enum  ESliceType {
  eSliceType_NoImage, eSliceType_Image, eSliceType_Rollover, eSliceType_LinkedText,
  eSliceType_Unknown = kForceEnumSize
}
 

Identifies the type of a slice; see ASSliceSettings.

More...
enum  ESliceHorzAlign {
  eSliceHorzAlign_Default = 0, eSliceHorzAlign_Left, eSliceHorzAlign_Center, eSliceHorzAlign_Right,
  eSliceHorzAlign_Unknown = kForceEnumSize
}
 

Horizontal alignment types for slices; see ASSliceSettings.

More...
enum  ESliceVertAlign {
  eSliceVertAlign_Default = 0, eSliceVertAlign_Top, eSliceVertAlign_Middle, eSliceVertAlign_Bottom,
  eSliceVertAlign_Baseline, eSlicevertAlign_Unknown = kForceEnumSize
}
 

Vertical alignment types for slices; see ASSliceSettings.

More...
enum  ESliceBGColorType { eSliceBGColorType_Color = 0, eSliceBGColorType_None, eSliceBGColorType_Matte, eSliceBGColorType_Unknown = kForceEnumSize }
 

Background color types for slices; see ASSliceSettings.

More...
enum  Quadrant { kFirstQuadrant = 1, kSecondQuadrant, kThirdQuadrant, kFourthQuadrant }
enum  IconType { kInvalid = 0, kSVG, kPNG }
 

Icon Types to be given by clients.

More...
enum  IncrementPolicy { DoIncrement, DoNotIncrement }

Functions

template<typename T >
const T & Min (const T &obj1, const T &obj2)
template<typename T >
const T & Max (const T &obj1, const T &obj2)
template<typename T , typename Policy = Contract::ThrowPolicy>
constexpr void Expects (T condition, const char *msg=Contract::kDefaultPreconditionMsg, Policy policy=ContractPolicy::kThrow)
template<typename T , typename Policy >
constexpr void Expects (T condition, Policy policy)
template<typename T , typename Policy = Contract::ThrowPolicy>
constexpr void Ensures (T condition, const char *msg=Contract::kDefaultPostconditionMsg, Policy policy=ContractPolicy::kThrow)
template<typename T , typename Policy >
constexpr void Ensures (T condition, Policy policy)
template<typename T , typename Policy = Contract::ThrowPolicy>
constexpr void EnsureRange (const T &value, const char *msg=Contract::kDefaultPostconditionMsg, Policy policy=ContractPolicy::kThrow)
void check_ai_error (AIErr err)
 Validate an AIErr error code.
template<typename T >
void check_precondition (T condition, AIErr err=kBadParameterErr)
 Validate that condition is met.
template<class T >
void NOTUSED (const T &result)
 Inline method to suppress unused variable warning/error.
std::unique_ptr< ai::IDataFilterCreateFileDataFilter (const ai::FilePath &filePath, IDataFilter::Mode filterMode, size_t creator=0, ai::int32 type=0, std::unique_ptr< IDataFilter > nextFilter=nullptr)
 Create a stack-based File Data Filter.
std::unique_ptr< ai::IDataFilterCreateResourceDataFilter (SPPluginRef plugin, ai::int32 type, ai::int32 id, const char *name, std::unique_ptr< IDataFilter > nextFilter=nullptr)
 Create a stack-based Resource Data Filter.
std::unique_ptr< ai::IDataFilterCreateZDataFilter (IDataFilter::Mode filterMode, std::unique_ptr< IDataFilter > nextFilter=nullptr)
 Create a stack-based Zlib Data Filter.
std::unique_ptr< ai::IDataFilterCreateZStdDataFilter (IDataFilter::Mode filterMode, std::unique_ptr< IDataFilter > nextFilter=nullptr)
 Create a stack-based ZStandard Data Filter.
std::unique_ptr< IDataFilterCreateAsyncDataFilter (IDataFilter::Mode filterMode, std::unique_ptr< IDataFilter > &&asyncFilter, const ai::uint32 prefetchSize, const ai::uint32 outputSize, std::unique_ptr< IDataFilter > nextFilter=nullptr)
 Create a stack-based Async Data Filter.Takes a asyncFilter and makes it run on a background thread.
std::unique_ptr< ai::IDataFilterCreateA85DataFilter (IDataFilter::Mode filterMode, const char *prefix=nullptr, std::unique_ptr< IDataFilter > nextFilter=nullptr)
 Create a stack-based A85 Data Filter.
std::unique_ptr< ai::IDataFilterCreateBufferDataFilter (size_t size, std::unique_ptr< IDataFilter > nextFilter=nullptr)
 Create a stack-based buffered Data Filter.
std::unique_ptr< IDataFilterCreateVMDataFilter (size_t initialSize, std::unique_ptr< IDataFilter > nextFilter=nullptr)
 Create a stack-based VM Data Filter.
std::unique_ptr< ai::IDataFilterCreateBlockDataFilter (void *address, size_t size, std::unique_ptr< IDataFilter > nextFilter=nullptr)
 Create a stack-based Block Data Filter.
std::unique_ptr< ai::IDataFilterCreateScopedDataFilter (AIDataFilter *filter, IDataFilter::Mode filterMode, std::unique_ptr< IDataFilter > nextFilter=nullptr)
 Create a stack-based data filter from an existing AIDataFilter*.
AIErr CopyDataFilter (IDataFilter &srcFilter, IDataFilter &dstFilter, size_t bufferSize=4096, bool seekToBegin=true)
 Copies contents from the source data filter to the destination data filter.
bool HasDictionary (AIArtHandle art) AINOEXCEPT
bool IsDictionaryEmpty (AIArtHandle art) AINOEXCEPT
constexpr bool operator< (ai::LiteralString lhs, ai::LiteralString rhs) AINOEXCEPT
 Lexicographical comparison.
constexpr bool operator> (ai::LiteralString lhs, ai::LiteralString rhs) AINOEXCEPT
 Lexicographical comparison.
constexpr bool operator== (ai::LiteralString lhs, ai::LiteralString rhs) AINOEXCEPT
bool operator== (ai::LiteralString lhs, const char *rhs)
bool operator== (const char *lhs, ai::LiteralString rhs)
AICountedObjectSuiteGetAICountedObjectSuitePtr ()
 Returns a valid reference to the counted-object suite, which can be passed to ai::IAIRef functions.
void Replace (const RefReplaceParam &)
template<class X >
bool operator== (const Ref< X > &ref, std::nullptr_t) AINOEXCEPT
template<class X >
bool operator== (std::nullptr_t, const Ref< X > &ref) AINOEXCEPT
template<class X >
bool operator!= (const Ref< X > &ref, std::nullptr_t) AINOEXCEPT
template<class X >
bool operator!= (std::nullptr_t, const Ref< X > &ref) AINOEXCEPT
template<typename... Args>
std::string StreamArgs (const Args &...args)
template<typename T >
std::string to_string (const T &value)
UnicodeString operator+ (UnicodeString lhs, const UnicodeString &rhs)
 Append operator.

Variables

const AIErr kUnknownExceptionErr = 'UNEX'
 ()
const AIErr kStdExceptionErr = 'STEX'
 ()
constexpr auto kInfinity = std::numeric_limits<AIReal>::infinity()
const ASInt32 kImageReadySlicesVersion = 5
 Version of ImageReady slices.
const ASInt32 kImageReadySlicesOriginVersion = 6
 Version of ImageReady slices.
const ASInt32 kInvalidSliceID = -1
 Identifies an invalid slice.
const ASInt32 kDefaultSliceID = 0
 Identifies the default slice.
const ASInt32 kInvalidSliceGroupID = -1
 Identifies an invalid slice group.
const ASInt32 kDefaultSliceGroupID = 0
 Identifies the default slice group.
const ASInt32 kFirstUserSliceGroupID = 1
 Identifies the first specifically defined slice group.
const ASInt32 kFirstUserSliceSoloGroupID = kFirstUserSliceGroupID + 100000
 Identifies the first group with a single slice (unlinked slice).
const ASInt32 kMinSliceDim = 1
 Minimum slice dimension value.
const ASInt32 kForceEnumSize = 0x7FFFFFFF
 Internal.
const ai::uint32 MaxPath = 259
const ai::uint32 MaxFile = 255
constexpr size_t kUUID_SIZE = 16

Detailed Description

Usage:.

As ai::UnicodeString objects are not safe to be created at global and static scope, ai::GlobalUnicodeString helps in this requirement and wraps a lazy created ai::UnicodeString.

These constants identifier can be used to determine the quadrant in a plane.

struct Widget { ai::int32 id = -1; bool processed = false; std::string name; };

std::unique_ptr<Widget> CreateWidget();

void ProcessWidget() { auto widget1 = CreateWidget(); auto widget2 = CreateWidget();

ai::Expects(widget1 != nullptr); // Throws by default

ai::Expects(widget2 != nullptr, "Widget should not be NULL"); // Throws with custom message

ai::Expects(widget1->id != -1, "Wrong widget id", ai::ContractPolicy::kAssert); // Only Assert

ai::Expects(!widget1->name.empty(), "Wrong widget name", ai::ContractPolicy::kAssert); // Only Assert

... ...

ai::Ensures(widget1->processed == true, "Widget should be processed", ai::ContractPolicy::kAssertAndThrow); // Assert and Throw

ai::Ensures(widget2->processed == true, ai::ContractPolicy::kAssertAndThrow); // Assert and Throw }

| SecondQ | FirstQ -------------------- ThirdQ | FourthQ |

The associated ai::UnicodeString is created on first call and is cached. Its lifetime is guaranteed till plugin shutdown.

Note:
: Client does not need to do anything for freeing the associated ai::UnicodeString object.

Usage:

1. Create with a literal string static ai::GlobalUnicodeString gStr ("my global string", kAIRomanCharacterEncoding); ai::GlobalUnicodeString gStr2 ("My UTF8 string", kAIUTF8CharacterEncoding);

2. Create with a ZRef static ai::GlobalUnicodeString gStr3 (ZREF("$$$/MyZstringKey=String Value"));

3. Create with an ai::LiteralString constexpr ai::LiteralString str ("a literal string"); static const ai::GlobalUnicodeString gStr4(str, kAIRomanCharacterEncoding);

This class has const ai::UnicodeString& operator overloaded. This object can be passed directly at most places where const ai::UnicodeString& is needed, .

Get() method can be called at places where operator is not resolved.

Set(newStr) to change the value of the global string with a new string. The old pointer remains valid, only the value changes. Passing a temporary/Rvalue reference string to this method moves the string to the pool instead of creating a copy.


Typedef Documentation

typedef ai::int32 ai::ArtboardID

Artboard identifier.

typedef CAIArtboardList* ai::ArtboardListRef

Artboard list object.

typedef CAIArtboardProperties* ai::ArtboardRef

Artboard object.

Locale unique identifying code.

Encoded string type: platform encoding.

typedef enum ai::Quadrant ai::Quadrant

Encoded string type: UTF-16 encoding.

Encoded string type: UTF-8 encoding.


Enumeration Type Documentation

Background color types for slices; see ASSliceSettings.

Enumerator:
eSliceBGColorType_Color 

Color, "colorBGColor".

eSliceBGColorType_None 

None, "noneBGColor".

eSliceBGColorType_Matte 

Matte, "matteBGColor".

eSliceBGColorType_Unknown 

Internal.

Horizontal alignment types for slices; see ASSliceSettings.

Enumerator:
eSliceHorzAlign_Default 

Default, "defaultHAlign".

eSliceHorzAlign_Left 

Left, "leftHAlign".

eSliceHorzAlign_Center 

Center, "centerHAlign".

eSliceHorzAlign_Right 

Right, "rightHAlign".

eSliceHorzAlign_Unknown 

Internal.

Identifies how a slice was created.

Enumerator:
eSliceOrigin_autoGenerated 

Created automatically, "autoOrigin".

eSliceOrigin_layerGenerated 

Created as part of layer creation, "layerOrigin".

eSliceOrigin_userGenerated 

Created by the user, "userOrigin".

eSliceOrigin_Unknown 

Internal.

Identifies the type of a slice; see ASSliceSettings.

Enumerator:
eSliceType_NoImage 

"noImageType"

eSliceType_Image 

"imageType"

eSliceType_Rollover 

"rollovertType"

eSliceType_LinkedText 

"likedType"

eSliceType_Unknown 

Vertical alignment types for slices; see ASSliceSettings.

Enumerator:
eSliceVertAlign_Default 

Default, "defaultVAlign".

eSliceVertAlign_Top 

Top, "topVAlign".

eSliceVertAlign_Middle 

Middle, "middleVAlign".

eSliceVertAlign_Bottom 

Bottom, "bottomVAlign".

eSliceVertAlign_Baseline 

Baseline, "baselineVAlign".

eSlicevertAlign_Unknown 

Internal.

Icon Types to be given by clients.

Enumerator:
kInvalid 
kSVG 
kPNG 
Enumerator:
DoIncrement 
DoNotIncrement 

Cause the reference count of newly assigned objects to be incremented.

Prevent the reference count of newly assigned objects from being incremented

Alignment options for positioning a linked object.

See also:
AIPlacedSuite::SetPlaceOptions(), AIPlacedSuite::GetPlaceOptions()
Enumerator:
kTopLeft 
kMidLeft 
kBotLeft 
kTopMid 
kMidMid 
kBotMid 
kTopRight 
kMidRight 
kBotRight 

Methods for positioning and sizing a linked object.

See also:
AIPlacedSuite::SetPlaceOptions(), AIPlacedSuite::GetPlaceOptions()
Enumerator:
kAsIs 

Preserve original dimensions regardless of bounding box size and transformations.

kFill 

Fill bounding box while preserving proportions.

Can overlap edges in one dimension.

kFit 

Fit fully inside bounding box while preserving proportions.

kConform 

Fit to bounding box; replaced file preserves bounds but not proportions.

kReconform 

Fit to bounding box; replaced file preserves transformations and tries to preserve size.

Default.

Enumerator:
kFirstQuadrant 
kSecondQuadrant 
kThirdQuadrant 
kFourthQuadrant 

Color models for raster data.

Enumerator:
kColorSpaceHasAlpha 

Flag indicating that the color model has an alpha channel.

The alpha component appears after the color components.

kGrayColorSpace 

Each pixel value for a gray color space has a single component describing a grayscale value.

The gray color space is additive so the minimum value represents black and the maximum represents white.

kRGBColorSpace 

Each pixel value for a RGB color space has three components which represent red, green and blue respectively.

The RGB color space is additive.

kCMYKColorSpace 

Each pixel value for a CMYK color space has four components which represent cyan, magenta, yellow and black respectively.

The CMYK color space is subtractive.

kLabColorSpace 

Not valid as an image type; can occur only in placed linked files.

See AIPlacedSuite::GetRasterInfo().

kSeparationColorSpace 

Each pixel value for a separation color space has a single component describing a tint value.

The separation color space is subtractive so the minimum value represents white and the maximum represents black.

kNChannelColorSpace 

Each pixel value for an NChannel color space has of a variable number of components which represent individual channels in the NChannel color space.

The process components of the color space could be either additive or subtractive. The spot components of the color space are subtractive.

kIndexedColorSpace 

Each pixel value for an indexed color space has a single component describing an index value into a color lookup table.

The number of components in the color lookup table depends on the base color space of the indexed color space.

kAlphaGrayColorSpace 

A gray color space with an alpha channel.

kAlphaRGBColorSpace 

An RGB color space with an alpha channel.

kAlphaCMYKColorSpace 

A CMYK color space with an alpha channel.

kAlphaLabColorSpace 

A LAB color space with an alpha channel.

kAlphaSeparationColorSpace 

A separation color space with an alpha channel.

kAlphaNChannelColorSpace 

An NChannel color space with an alpha channel.

kAlphaIndexedColorSpace 

An indexed color space with an alpha channel.

kInvalidColorSpace 

Data states for AIRasterLink::datastate.

Direct linking of images is deprecated (although still supported). Create linked objects using the AIPlacedSuite.

Enumerator:
kAIRasterNoData 

No data is available for the image (for example, when a document is opened and the linked file cannot be found).

kAIRasterLinkData 

Data is available and is the same data that was read from the linked file (that is, it has not been modified since being read).

kAIRasterEditedData 

Data is available and it has been modified since it was read from the file (for example, a Photoshop filter might have been run on the image).


Function Documentation

void ai::check_ai_error ( AIErr  err  )  [inline]

Validate an AIErr error code.

Throw an ai::Error exception if the provided code is not kNoErr.

Parameters:
err error code to be tested.

References kNoErr.

Referenced by ai::ArtSet::Impl::at(), ai::ArtSet::Impl::clear(), ai::ArtSet::Impl::erase(), and ai::ArtSet::Impl::Impl().

template<typename T >
void ai::check_precondition ( condition,
AIErr  err = kBadParameterErr 
) [inline]

Validate that condition is met.

Throw an ai::Error exception if the condition is not met. Unless otherwise specified in err the exception is thrown with kBadParameterErr.

Parameters:
condition value to be evaluated as a boolean condition.
err [optional] exception value to be thrown as an ai::Error if /c condition is not met.
AIErr ai::CopyDataFilter ( IDataFilter &  srcFilter,
IDataFilter &  dstFilter,
size_t  bufferSize = 4096,
bool  seekToBegin = true 
)

Copies contents from the source data filter to the destination data filter.

Parameters:
srcFilter - Filter to copy the data from
dstFilter - Filter to copy the data to
bufferSize - Buffer size to be used for copying the data
seekToBegin - Whether the source filter's read location should be reset to the beginning before creating a copy

example: ai::FilePath filePath(ai::UnicodeString::FromRoman("MyZCompressedFile.txt"));

auto dataFilter = ai::CreateFileDataFilter(filePath, ai::IDataFilter::Mode::kRead, 0, 0, ai::CreateZDataFilter(ai::IDataFilter::Mode::kRead) );

ai::FilePath filePathOut(ai::UnicodeString::FromRoman("MyUncompressedFile.txt")); auto dataFilterOut = ai::CreateFileDataFilter(filePathOut, ai::IDataFilter::Mode::kWrite);

ai::CopyDataFilter(*dataFilter, *dataFilterOut);

std::unique_ptr< IDataFilter > ai::CreateA85DataFilter ( IDataFilter::Mode  filterMode,
const char *  prefix = nullptr,
std::unique_ptr< IDataFilter >  nextFilter = nullptr 
)

Create a stack-based A85 Data Filter.

Normally linked to other filters in the chain to provide ASCII85 compression/decompression AIDataFitlerSuite::NewA85DataFilter()

Write compressed content to a file auto dataFilter = ai::CreateFileDataFilter(filePath, IDataFilter::Mode::kWrite, 0, 0, ai::CreateA85DataFilter(IDataFilter::Mode::kWrite) );

dataFilter->Write(buff, buffsize);

Read uncompressed content from a file auto dataFilter = ai::CreateFileDataFilter(filePath, IDataFilter::Mode::kRead, 0, 0, ai::CreateA85DataFilter(IDataFilter::Mode::kRead) );

char buff[1024] = {}; size_t buffSize(sizeof(buff)); dataFilter->Read(buff, buffSize);

prefix [in] The string to insert at the start of each line. nextFilter [in] Next filter in the chain. Equivalent to calling Link() after filter creation.

std::unique_ptr< IDataFilter > ai::CreateAsyncDataFilter ( IDataFilter::Mode  filterMode,
std::unique_ptr< IDataFilter > &&  asyncFilter,
const ai::uint32  prefetchSize,
const ai::uint32  outputSize,
std::unique_ptr< IDataFilter >  nextFilter = nullptr 
)

Create a stack-based Async Data Filter.Takes a asyncFilter and makes it run on a background thread.

async filter can be normally linked to other filters in the chain. This filter takes the data from the next item in the chain and passes it to asyncFilter on background thread. AIDataFitlerSuite::NewAsyncDataFilter()

Currently only supports Read Mode. asyncFilter [in] the filters that will be running on a background thread. this filter should not be linked to any other filter prefetchSize [in] size of a buffer typically fetched from the next filter(next of the filter returned by this API). outputSize [in] size of a buffer typically asked from this filter. nextFilter [in] Next filter in the chain. Equivalent to calling Link() after filter creation.

std::unique_ptr< IDataFilter > ai::CreateBlockDataFilter ( void *  address,
size_t  size,
std::unique_ptr< IDataFilter >  nextFilter = nullptr 
)

Create a stack-based Block Data Filter.

AIDataFitlerSuite::NewBlockDataFilter()

char* srcBuffer; //received from somewhere size_t sizeOfBuffer; //received from somewhere

auto filter = CreateBlockDataFilter(srcBuffer, sizeOfBuffer);

nextFilter [in] Next filter in the chain. Equivalent to calling Link() after filter creation.

std::unique_ptr< IDataFilter > ai::CreateBufferDataFilter ( size_t  size,
std::unique_ptr< IDataFilter >  nextFilter = nullptr 
)

Create a stack-based buffered Data Filter.

Normally linked to other filters in the chain to provide buffered read/write for better performance AIDataFitlerSuite::NewBufferDataFilter()

Bufferred file data filter auto dataFilter = ai::CreateFileDataFilter(filePath, IDataFilter::Mode::kWrite, 0, 0, CreateBufferDataFilter(4096) );

nextFilter [in] Next filter in the chain. Equivalent to calling Link() after filter creation.

std::unique_ptr< IDataFilter > ai::CreateFileDataFilter ( const ai::FilePath filePath,
IDataFilter::Mode  filterMode,
size_t  creator = 0,
ai::int32  type = 0,
std::unique_ptr< IDataFilter >  nextFilter = nullptr 
)

Create a stack-based File Data Filter.

AIDataFitlerSuite::NewFileDataFilter() auto fileFilter = CreateFileDataFilter(filePath, IDataFilter::Mode::kWrite); fileFilter->Write(buff, buffsize);

nextFilter [in] Next filter in the chain. Equivalent to calling Link() after filter creation.

std::unique_ptr< IDataFilter > ai::CreateResourceDataFilter ( SPPluginRef  plugin,
ai::int32  type,
ai::int32  id,
const char *  name,
std::unique_ptr< IDataFilter >  nextFilter = nullptr 
)

Create a stack-based Resource Data Filter.

AIDataFitlerSuite::NewResourceDataFilter()

auto filter = CreateResourceDataFilter(plugin, 'TEXT', id, resName, IDataFilter::Mode::kRead);

char buff[1024] = {}; size_t buffSize(sizeof(buff)); filter->Read(buff, buffSize);

nextFilter [in] Next filter in the chain. Equivalent to calling Link() after filter creation.

std::unique_ptr< IDataFilter > ai::CreateScopedDataFilter ( AIDataFilter filter,
IDataFilter::Mode  filterMode,
std::unique_ptr< IDataFilter >  nextFilter = nullptr 
)

Create a stack-based data filter from an existing AIDataFilter*.

It will automatically be unlinked when the scope end.

Parameters:
filter - Filter to be wrapped in the stacked object nextFilter [in] Next filter in the chain. Equivalent to calling Link() after filter creation.
std::unique_ptr< IDataFilter > ai::CreateVMDataFilter ( size_t  initialSize,
std::unique_ptr< IDataFilter >  nextFilter = nullptr 
)

Create a stack-based VM Data Filter.

AIDataFitlerSuite::NewVMDataFilter()

auto filter = CreateVMDataFilter(4096);

nextFilter [in] Next filter in the chain. Equivalent to calling Link() after filter creation.

std::unique_ptr< IDataFilter > ai::CreateZDataFilter ( IDataFilter::Mode  filterMode,
std::unique_ptr< IDataFilter >  nextFilter = nullptr 
)

Create a stack-based Zlib Data Filter.

Normally linked to other filters in the chain to provide zlib compression/decompression AIDataFitlerSuite::NewZDataFilter()

Write compressed content to a file auto dataFilter = ai::CreateFileDataFilter(filePath, IDataFilter::Mode::kWrite, 0, 0, ai::CreateZDataFilter(IDataFilter::Mode::kWrite) );

dataFilter->Write(buff, buffsize);

Read uncompressed content from a file auto dataFilter = ai::CreateFileDataFilter(filePath, IDataFilter::Mode::kRead, 0, 0, ai::CreateZDataFilter(IDataFilter::Mode::kRead) );

char buff[1024] = {}; size_t buffSize(sizeof(buff)); dataFilter->Read(buff, buffSize);

nextFilter [in] Next filter in the chain. Equivalent to calling Link() after filter creation.

std::unique_ptr< IDataFilter > ai::CreateZStdDataFilter ( IDataFilter::Mode  filterMode,
std::unique_ptr< IDataFilter >  nextFilter = nullptr 
)

Create a stack-based ZStandard Data Filter.

Normally linked to other filters in the chain to provide zstd compression/decompression AIDataFitlerSuite::NewZStdDataFilter()

Write compressed content to a file auto dataFilter = ai::CreateFileDataFilter(filePath, IDataFilter::Mode::kWrite, 0, 0, ai::CreateZStdDataFilter(IDataFilter::Mode::kWrite) );

dataFilter->Write(buff, buffsize);

Read uncompressed content from a file auto dataFilter = ai::CreateFileDataFilter(filePath, IDataFilter::Mode::kRead, 0, 0, ai::CreateZStdDataFilter(IDataFilter::Mode::kRead) );

char buff[1024] = {}; size_t buffSize(sizeof(buff)); dataFilter->Read(buff, buffSize);

nextFilter [in] Next filter in the chain. Equivalent to calling Link() after filter creation.

template<typename T , typename Policy = Contract::ThrowPolicy>
constexpr void ai::EnsureRange ( const T &  value,
const char *  msg = Contract::kDefaultPostconditionMsg,
Policy  policy = ContractPolicy::kThrow 
) [inline]

References Ensures().

template<typename T , typename Policy >
constexpr void ai::Ensures ( condition,
Policy  policy 
) [inline]

References ai::Contract::Check().

template<typename T , typename Policy = Contract::ThrowPolicy>
constexpr void ai::Ensures ( condition,
const char *  msg = Contract::kDefaultPostconditionMsg,
Policy  policy = ContractPolicy::kThrow 
) [inline]
template<typename T , typename Policy >
constexpr void ai::Expects ( condition,
Policy  policy 
) [inline]

References ai::Contract::Check().

template<typename T , typename Policy = Contract::ThrowPolicy>
constexpr void ai::Expects ( condition,
const char *  msg = Contract::kDefaultPreconditionMsg,
Policy  policy = ContractPolicy::kThrow 
) [inline]

References ai::Contract::Check().

Referenced by ai::ArtSet::Impl::at().

AICountedObjectSuite * ai::GetAICountedObjectSuitePtr (  )  [inline]

Returns a valid reference to the counted-object suite, which can be passed to ai::IAIRef functions.

Implements GetAICountedObjectSuitePtr for standard naked suite pointers.

This function must be defined by each plug-in that uses this header. This header defines a default implementation for the function, which assumes that the global variable sAICountedObject contains a pointer to the suite, and returns the value of that pointer.

If your plug-in needs a different definition, you must first disable the default definition in this file by setting the constant

define AICOUNTEDOBJECTSUITE_DEFINED

to 1. You can then add your own definition of the function to the plug-in. For example, the file IAIRefAutoSuite.cpp supplies a definition of the function that assumes the counted object suite is supplied using the facilities of AutoSuite.h.

(The pointer to the suite is stored in a global variable of type AICountedObjectSuite*.)

References sAICountedObject.

Referenced by ai::Ref< X >::Assign(), ai::Ref< X >::operator<<(), ai::Ref< X >::Ref(), ai::Ref< X >::to(), and ai::Ref< X >::~Ref().

bool ai::HasDictionary ( AIArtHandle  art  ) 
bool ai::IsDictionaryEmpty ( AIArtHandle  art  ) 
template<typename T >
const T& ai::Max ( const T &  obj1,
const T &  obj2 
) [inline]
template<typename T >
const T& ai::Min ( const T &  obj1,
const T &  obj2 
) [inline]
template<class T >
void ai::NOTUSED ( const T &  result  )  [inline]

Inline method to suppress unused variable warning/error.

Compiler optimizes away any call to this method. e.g. catch(const ai::Error& e) { ai::NOTUSED(e); }

template<class X >
bool ai::operator!= ( std::nullptr_t  ,
const Ref< X > &  ref 
) [inline]
template<class X >
bool ai::operator!= ( const Ref< X > &  ref,
std::nullptr_t   
) [inline]
UnicodeString ai::operator+ ( UnicodeString  lhs,
const UnicodeString &  rhs 
) [inline]

Append operator.

Parameters:
lhs The Unicode string object to append to.
rhs The Unicode string object which is to be appended.
Returns:
A new Unicode string object.

References ai::UnicodeString::append().

constexpr bool ai::operator< ( ai::LiteralString  lhs,
ai::LiteralString  rhs 
) [inline]

Lexicographical comparison.

References ai::details::compare_less().

template<class X >
bool ai::operator== ( std::nullptr_t  ,
const Ref< X > &  ref 
) [inline]
template<class X >
bool ai::operator== ( const Ref< X > &  ref,
std::nullptr_t   
) [inline]
bool ai::operator== ( const char *  lhs,
ai::LiteralString  rhs 
) [inline]
bool ai::operator== ( ai::LiteralString  lhs,
const char *  rhs 
) [inline]
constexpr bool ai::operator== ( ai::LiteralString  lhs,
ai::LiteralString  rhs 
) [inline]
constexpr bool ai::operator> ( ai::LiteralString  lhs,
ai::LiteralString  rhs 
) [inline]

Lexicographical comparison.

template<typename... Args>
std::string ai::StreamArgs ( const Args &...  args  )  [inline]

References ai::detail::StreamArgs().

Referenced by to_string().

template<typename T >
std::string ai::to_string ( const T &  value  )  [inline]

References StreamArgs().


Variable Documentation

Identifies the default slice group.

Identifies the default slice.

Identifies the first specifically defined slice group.

Identifies the first group with a single slice (unlinked slice).

const ASInt32 ai::kForceEnumSize = 0x7FFFFFFF

Internal.

Version of ImageReady slices.

Version of ImageReady slices.

constexpr auto ai::kInfinity = std::numeric_limits<AIReal>::infinity()

Identifies an invalid slice group.

Identifies an invalid slice.

Minimum slice dimension value.

const ai::uint32 ai::MaxFile = 255
const ai::uint32 ai::MaxPath = 259


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