Adobe.com
Contents Suites Classes Class Index Member Index

AISmoothShadingStyle.h

Go to the documentation of this file.
00001 /*************************************************************************
00002 *
00003 * ADOBE CONFIDENTIAL
00004 *
00005 * Copyright 2018 Adobe
00006 *
00007 * All Rights Reserved.
00008 *
00009 * NOTICE: Adobe permits you to use, modify, and distribute this file in
00010 * accordance with the terms of the Adobe license agreement accompanying
00011 * it. If you have received this file from a source other than Adobe,
00012 * then your use, modification, or distribution of it requires the prior
00013 * written permission of Adobe.
00014 *
00015 **************************************************************************/
00016 
00017 #pragma once
00018 
00019 #include "AITypes.h"
00020 #include "AIPath.h"
00021 #include "AIPathStyle.h"
00022 #include "AIArtStyle.h"
00023 #include "IAIAutoBuffer.h"
00024 #include "IAILiteralString.h"
00025 
00026 #include "AIHeaderBegin.h"
00027 
00028 struct AIColorPoint
00029 {
00030         AIFillStyle     fillStyle;
00031     AIBoolean       isFillPoint;
00032         AIRealPoint     position;
00033     AIReal          strength;
00034     AIReal          opacity;
00035 };
00036 
00037 struct AIColorSegment
00038 {
00039         AIFillStyle     fillStyle;
00040         AIPathSegment   segment;
00041     AIReal          opacity;
00042 };
00043 
00044 struct AIColorCurve
00045 {
00046         ai::AutoBuffer<AIColorSegment>  segments;
00047     AIBoolean                                           closed;
00048 };
00049 
00050 struct AISmoothShadingStyle
00051 {
00052         ai::AutoBuffer<AIColorPoint>   colorPoints;
00053         
00054         ai::AutoBuffer<AIColorCurve>   colorCurves;
00055 
00057     ai::UnicodeString name;
00058     
00059     AISmoothShadingStyle() = default;
00060     AISmoothShadingStyle (AISmoothShadingStyle&&) = default; // Move constructor
00061     
00062     AISmoothShadingStyle (const AISmoothShadingStyle&) = default; //copy constructor
00063     
00064     AISmoothShadingStyle& operator= (const AISmoothShadingStyle& rhs)
00065     {
00066         if ( this != &rhs )
00067         {
00068             colorPoints = rhs.colorPoints;
00069             colorCurves = rhs.colorCurves;
00070             name = rhs.name;
00071         }
00072         return *this;
00073     }
00074 };
00075 
00076 typedef struct AISmoothShadingStyle* AISmoothShadingStylePtr;
00077 
00078 /*******************************************************************************
00079 **
00080 ** Constants
00081 **
00082 *******************************************************************************/
00083 
00084 #define kAISmoothShadingStyleSuite                              "AI Smooth Shading Style Suite"
00085 #define kAISmoothShadingStyleSuiteVersion1              AIAPI_VERSION(1)
00086 #define kAISmoothShadingStyleSuiteVersion       kAISmoothShadingStyleSuiteVersion1
00087 #define kAISmoothShadingStyleVersion            kAISmoothShadingStyleSuiteVersion
00088 
00089 /*******************************************************************************
00090 **
00091 **      Suite
00092 **
00093 ********************************************************************************/
00101 struct AISmoothShadingStyleSuite {
00102 
00106         AIAPI AIBoolean (*IsFocusSmoothShading) (AIArtStyleHandle inArtStyle);
00107 
00114         AIAPI void(*ArtHasFocusSmoothShading) (AIArtHandle inArt, AIBoolean& containsSmoothShading, AIBoolean& isVisible);
00115     
00120         AIAPI AIBoolean (*CompareFocusSmoothFill )(AIArtStyleHandle inArtStyle1, AIArtStyleHandle inArtStyle2);
00121     
00126     AIAPI AIBoolean (*Compare) (const AISmoothShadingStyle& inSmoothShading1, const AISmoothShadingStyle& inSmoothShading2);
00127 
00131         AIAPI AIBoolean (*ContainsSmoothShading) (AIArtStyleHandle inArtStyle);
00132 
00137         AIAPI AIBoolean (*ArtContainsSmoothShading) (AIArtHandle inArt);
00138     
00144     AIAPI AIBoolean (*GetFocusSmoothShadingStyle)(AIArtStyleHandle artStyle, AISmoothShadingStyle &outSmoothStyle);
00145 
00146 };
00147 
00148 #include "AIHeaderEnd.h"


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