InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IMungeSamplesImageStreamData.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: jargast
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 // Purpose:
24 // Data interface for the IMungeSamplesImageStream segment of the IImageStreamManager.
25 // This segment is used to strip extra channels from image data.
26 //
27 //========================================================================================
28 
29 #ifndef __IMungeSamplesImageStreamData__
30 #define __IMungeSamplesImageStreamData__
31 
32 #include "IPMUnknown.h"
33 
42 {
43 public:
56  typedef struct
57  {
58  uint32 width; // number of pixels
59  uint16 numChannels; // number of channels to skip
60  uint16 extraChannels; // number of channels to strip
61  int16 alphaIndex; // if >= 0 and alphaType is kPMAlphaAssociated, zero-based index of extra channel
62  // to use as the alpha. If alphaType is kPMAlphaUnassociated, zero-based index
63  // of extra channel to keep.
64  uint32 colorSpace; // kPMGrayColorSpace, kPMRGBColorSpace, kPMCMYKColorSpace, kPMICCLabColorSpace
65  uint32 alphaType; // type of data in the extra channels - either kPMAlphaAssociated or kPMAlphaUnassociated.
66  // kPMAlphaAssociated will leave the color channels unchanged.
67  // kPMAlphaUnassociated will multiply the color channels by the white alpha
68 
70 
75  virtual void SetMungeSamplesInfo (const MungeSamplesInfo& mungeSamplesInfo) = 0;
76 
81  virtual void GetMungeSamplesInfo (MungeSamplesInfo* mungeSamplesInfo) const = 0;
82 };
83 
84 #endif