InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IClippingPathSuite.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: Dave Stephens
6 //
7 // $Author$
8 //
9 // $DateTime$
10 //
11 // $Revision$
12 //
13 // $Change$
14 //
15 // Copyright 1997-2010 Adobe Systems Incorporated. All rights reserved.
16 //
17 // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance
18 // with the terms of the Adobe license agreement accompanying it. If you have received
19 // this file from a source other than Adobe, then your use, modification, or
20 // distribution of it requires the prior written permission of Adobe.
21 //
22 //
23 // Note:
24 //
25 //========================================================================================
26 
27 #ifndef __IClippingPathSuite__
28 #define __IClippingPathSuite__
29 
30 #include "IPMUnknown.h"
31 
32 #include "ImageID.h"
33 
34 class IClipSettings;
35 class IPathGeometry;
36 
43 {
44 public:
47  enum { kDefaultIID = IID_ICLIPPINGPATHSUITE };
48 
51  enum
52  {
53  kInvertFlag = 1 << 0, // Invert the resulting path by combining with a path equal to the bounds of the image
54  kUseHighResFlag = 1 << 1, // Force edge detection to use the high resolution source image (potentially much slower
55  // but higher quality. Although the 72 dpi proxy does a pretty good job).
56  kAllowHolesFlag = 1 << 2, // For edge detection, do we remove the holes or leave them in.
57  kRestrictToFrameFlag = 1 << 3 // For edge detection, do we only detect edges within the visible portions of the image?
58  // That is, do we crop the image to its frame before performing edge detection?
59  };
60 
61 
68  virtual bool16 CanHaveClippingPath (void) const = 0;
69 
74  virtual bool16 HasAlphaChannels (void) const = 0;
75 
80  virtual bool16 HasPhotoshopPaths (void) const = 0;
81 
88  virtual bool16 HasHighResRaster (void) const = 0;
89 
95  virtual bool16 CanConvertClippingToFrame (void) const = 0;
96 
105  virtual IClipSettings* QueryActiveClipSettings(void) const = 0;
106 
112  virtual IPathGeometry* QueryActiveClippingPath(void) const = 0;
113 
130  virtual ErrorCode ApplyEmbeddedPath(uint16 index, const PMString *pathName, const PMReal& tolerance, const PMReal& minPathSize,
131  const PMReal& inset, uint32 flags) const = 0;
132 
133 
146  virtual ErrorCode ApplyAlphaChannel(uint16 index, const PMReal& tolerance, const PMReal& minPathSize, const PMReal& inset,
147  uint32 flags, uint8 threshhold) const = 0;
148 
149 
162  virtual ErrorCode DoDetectEdges(const PMReal& tolerance, const PMReal& minPathSize, const PMReal& inset,
163  uint32 flags, uint8 threshhold) const = 0;
164 
165 
171  virtual ErrorCode RemoveClipping(void) const = 0;
172 
178  virtual ErrorCode DoConvertClippingToFrame (void) const = 0;
179 
185  virtual ErrorCode ApplyUserPathOptions (bool8 bInvert, const PMReal& inset) const = 0;
186 
187 };
188 
189 #endif // __IClippingPathSuite__