Mako 8.4.0 API
MakoCore SDK API Documentation
Loading...
Searching...
No Matches
idomimageresource.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2007-2026 Hybrid Software Helix Ltd. All rights reserved.
3 */
4
5#ifndef IDOMIMAGERESOURCE_H
6#define IDOMIMAGERESOURCE_H
7
8#include <memory>
9#include <edl/edlfwd.h>
10#include <edl/edltypes.h>
11#include <edl/edlfwd.h>
12#include <edl/edlstream.h>
13#include <edl/idomnode.h>
14#include <edl/idombrush.h>
15#include <edl/idomcolor.h>
16#include <edl/idomhashable.h>
17#include <edl/iimagecodec.h>
18#include <edl/icolormanager.h>
19#include <edl/edlerrors.h>
21
23
26
45{
46#define IDOMImagePropertiesClassID 0x3E76E62E, 0x11414364, 0xA36BEF96, 0xE81EB47B
47 public:
48
53 static const CClassID &classID()
54 {
56 return id;
57 };
58
63 static EDL_API IDOMImagePropertiesPtr create();
64
70 virtual void setProperty (const EDLString &name, const EDLString &value) = 0;
71
78 virtual bool getProperty (const EDLString &name, EDLString &value) = 0;
79
85 virtual void setBoolProperty (const EDLString &name, bool value) = 0;
86
94 virtual bool getBoolProperty (const EDLString &name, bool &value) = 0;
95
101 virtual void setIntProperty (const EDLString &name, int value) = 0;
102
110 virtual bool getIntProperty (const EDLString &name, int &value) = 0;
111
117 virtual void setObjectProperty (const EDLString &name, const IRCObjectPtr &object) = 0;
118
126 virtual bool getObjectProperty (const EDLString &name, IRCObjectPtr &value) = 0;
127
128
129};
130#define edlobj2IDOMImageProperties(src) edl_cast((IDOMImageProperties *) nullptr, src)
131
150
157class IDOMImage : public IDOMResource, public IDOMHashable
158{
159#define IDOMImageClassID 0xf1050c98, 0x1bee40e7, 0xaa604df2, 0x82e822c4
160 public:
165 class Data : public CClassParams
166 {
167 public:
171 IInputStreamPtr stream;
174 };
175
182 virtual IImageDecoderPtr createImageDecoder (IEDLClassFactory *factory, const IDOMImagePropertiesPtr &imageProperties) = 0;
183
189 virtual IImageFramePtr getImageFrame (IEDLClassFactory *factory);
190
198 virtual IImageEncoderPtr createImageEncoder (const ISessionPtr &session, const IOutputStreamPtr &imageDest, const IDOMImagePropertiesPtr &imageProperties) = 0;
199
205 virtual IDOMImagePropertiesPtr getImageProperties () = 0;
206
212
219 virtual bool getIsRendered() = 0;
220
237 virtual IDOMImagePtr getImageWithSubstitutedColorSpace(IEDLClassFactory *factory, const IDOMColorSpacePtr &colorSpace);
238};
239
241#define edlobj2IDOMImage(src) edl_cast((IDOMImage *) nullptr, src)
242
243
244class IDOMJPEGImage;
246
252class IDOMJPEGImage : public virtual IDOMImage
253{
254#define IDOMJPEGImageClassID 0x07c50584, 0xf4d44316, 0xa3de2ddb, 0x83f3e7cf
255 public:
256
263 static EDL_API IDOMJPEGImagePtr create(IEDLClassFactory *pFactory, const IInputStreamPtr &stream);
264
287 static EDL_API IDOMImagePtr createWriterAndImage(const ISessionPtr &session,
288 IImageFrameWriterPtr &frame,
289 const IDOMColorSpacePtr &colorSpace,
290 uint32 width, uint32 height,
291 uint8 bitsPerComponent = 8,
292 double xResolution = 96.0, double yResolution = 96.0,
293 uint8 quality = 3,
294 const IInputStreamPtr &inStream = IInputStreamPtr(),
295 const IOutputStreamPtr &outStream = IOutputStreamPtr());
296
316 static EDL_API void encode(const ISessionPtr &pSession,
317 const IDOMImagePtr &image,
318 const IOutputStreamPtr &stream,
319 uint8 quality = 3,
320 bool allowCmyk = false,
321 bool invertCmyk = true);
322
342 static EDL_API void encode(const ISessionPtr &pSession,
343 const IImageFramePtr &frame,
344 const IOutputStreamPtr &stream,
345 uint8 quality = 3,
346 bool allowCmyk = false,
347 bool invertCmyk = true);
348
353 static const CClassID &classID()
354 {
356 return id;
357 };
358
359};
360#define edlobj2IDOMJPEGImage(src) edl_cast((IDOMJPEGImage *) nullptr, src)
361
362
363class IDOMPNGImage;
365
371class IDOMPNGImage : public virtual IDOMImage
372{
373#define IDOMPNGImageClassID 0x7792c068, 0x67a94eaf, 0x9563973a, 0x910c6b61
374 public:
381 static EDL_API IDOMPNGImagePtr create(IEDLClassFactory *pFactory, const IInputStreamPtr &stream);
382
406 static EDL_API IDOMImagePtr createWriterAndImage(const ISessionPtr &session,
407 IImageFrameWriterPtr &frame,
408 const IDOMColorSpacePtr &colorSpace,
409 uint32 width, uint32 height,
410 uint8 bitsPerComponent = 8,
411 double xResolution = 96.0, double yResolution = 96.0,
412 eImageExtraChannelType extraChannel = eIECNone,
413 const IInputStreamPtr &inStream = IInputStreamPtr(),
414 const IOutputStreamPtr &outStream = IOutputStreamPtr());
415
416
426 static EDL_API void encode(const ISessionPtr &pSession, const IDOMImagePtr &image, const IOutputStreamPtr &stream);
427
437 static EDL_API void encode(const ISessionPtr &pSession, const IImageFramePtr &frame, const IOutputStreamPtr &stream);
438
439#ifdef SWIG
440#if SWIGJAVA
441 %apply char *BYTE { void *frameBuffer };
442#endif
443#if SWIGCSHARP
444 %apply unsigned char INPUT[] { void *frameBuffer };
445#endif
446#if SWIGPYTHON
447 %apply char INPUT[] { void *frameBuffer };
448#endif
449#endif
464 static EDL_API void encode(const ISessionPtr &pSession, const IDOMColorSpacePtr &colorSpace, float dpi, uint8 bpc,
465 void *frameBuffer, uint32 width, uint32 height, int32 stride, bool hasAlpha,
466 const IOutputStreamPtr &stream);
467#ifdef SWIG
468 %clear void *frameBuffer;
469#endif
470
475 static const CClassID &classID()
476 {
477 static CClassID id(IDOMPNGImageClassID);
478 return id;
479 };
480};
481#define edlobj2IDOMPNGImage(src) edl_cast((IDOMPNGImage *) nullptr, src)
482
483
484class IDOMTIFFImage;
486
493{
494#define IDOMTIFFImageClassID 0x1469a59c, 0x78114e29, 0xb2fc0e45, 0x8aa62afe
495 public:
496
501 class Data : public IDOMImage::Data
502 {
503 public:
505 { }
508 };
509
523
527 typedef enum
528 {
529 eTPNone, // Default
532
533
549 static EDL_API IDOMTIFFImagePtr create(IEDLClassFactory *pFactory,
550 const IInputStreamPtr &stream,
551 uint16 imageIndex = 0,
552 bool allowMultiChannel = false);
553
554
581 static EDL_API IDOMImagePtr createWriterAndImage(const ISessionPtr &session,
582 IImageFrameWriterPtr &frame,
583 const IDOMColorSpacePtr &colorSpace,
584 uint32 width, uint32 height,
585 uint8 bitsPerComponent = 8,
586 double xResolution = 96.0, double yResolution = 96.0,
587 eTIFFCompression compressionType = eTCAuto,
588 eTIFFPrediction predictionType = eTPNone,
589 eImageExtraChannelType extraChannel = eIECNone,
590 bool bigTiff = false,
591 const IInputStreamPtr &inStream = IInputStreamPtr(),
592 const IOutputStreamPtr &outStream = IOutputStreamPtr());
593
608 static EDL_API void encode(const ISessionPtr &pSession, const IDOMImagePtr &image, const IOutputStreamPtr &stream, eTIFFCompression scheme = eTCAuto, eTIFFPrediction predictionType = eTPNone, bool bigTiff = false);
609
624 static EDL_API void encode(const ISessionPtr &pSession, const IImageFramePtr &frame, const IOutputStreamPtr &stream, eTIFFCompression scheme = eTCAuto, eTIFFPrediction predictionType = eTPNone, bool bigTiff = false);
625
633 virtual uint16 getImageIndex() const = 0;
634
639 static const CClassID &classID()
640 {
642 return id;
643 };
644};
645#define edlobj2IDOMTIFFImage(src) edl_cast((IDOMTIFFImage *) nullptr, src)
646
647class IDOMPSDImage;
649
656{
657#define IDOMPSDImageClassID 0x0B2849E1, 0x93AF4798, 0xB5A66591, 0x19FED770
658
659 public:
660
665 class Data : public IDOMImage::Data
666 {
667 public:
669 { }
671 };
672
681 static EDL_API IDOMPSDImagePtr create(IEDLClassFactory *pFactory, const IInputStreamPtr &stream, int16 layerIndex = 0);
682
692 virtual int16 getLayerIndex() const = 0;
693
698 static const CClassID &classID()
699 {
700 static CClassID id(IDOMPSDImageClassID);
701 return id;
702 };
703};
704#define edlobj2IDOMPSDImage(src) edl_cast((IDOMPSDImage *) nullptr, src)
705
706
713{
714#define IDOMWMPImageClassID 0x09bda5e5, 0x58cf4912, 0xbee4617d, 0x2c201426
715 public:
716
721 static const CClassID &classID()
722 {
723 static CClassID id(IDOMWMPImageClassID);
724 return id;
725 };
726};
727
729#define edlobj2IDOMWMPImage(src) edl_cast((IDOMWMPImage *) nullptr, src)
730
731class IDOMRawImage;
733
743{
744#define IDOMRawImageClassID 0x373a5278, 0x136411dc, 0x83140800, 0x200c9a66
745 public:
746
755 static EDL_API IDOMRawImagePtr create(IEDLClassFactory *pFactory,
756 const IDOMColorSpacePtr &colorSpace,
757 const IInputStreamPtr &stream,
759
764 class Data : public IDOMImage::Data
765 {
766 public:
768 {
770 }
772 IDOMColorSpacePtr colorSpace;
774 };
775
780 static const CClassID &classID()
781 {
782 static CClassID id(IDOMRawImageClassID);
783 return id;
784 };
785
809 static EDL_API IDOMImagePtr createWriterAndImage(const ISessionPtr &session,
810 IImageFrameWriterPtr &frame,
811 const IDOMColorSpacePtr &colorSpace,
812 uint32 width, uint32 height,
813 uint8 bitsPerComponent = 8,
814 double xResolution = 96.0, double yResolution = 96.0,
815 eImageExtraChannelType extraChannel = eIECNone,
816 const IInputStreamPtr &inStream = IInputStreamPtr(),
817 const IOutputStreamPtr &outStream = IOutputStreamPtr());
818
823 virtual bool getSynthetic() const = 0;
824};
825
826#define edlobj2IDOMRawImage(src) edl_cast((IDOMRawImage *) nullptr, src)
827
828class IDOMTrivialImage;
830
843{
844#define IDOMTrivialImageClassID 0x260a8c7a, 0xc9dd46e8, 0xa43c08ec, 0xf543b901
845 public:
862 static EDL_API IDOMTrivialImagePtr create(IEDLClassFactory *pFactory,
863 const IDOMColorSpacePtr &colorSpace,
864 uint16 width, uint16 height, uint32 stride,
865 uint8 bitsPerComponent,
866 const CEDLSimpleBuffer &imageData,
867 eImageExtraChannelType extraChannel = eIECNone,
869
897
902 static const CClassID &classID()
903 {
905 return id;
906 };
907
913 virtual IInputStreamPtr getStream() const
914 {
915 return IInputStreamPtr ();
916 }
917
923 virtual void setStream(const IInputStreamPtr &stream)
924 {
927 }
928
929};
930
931#define edlobj2IDOMTrivialImage(src) edl_cast((IDOMTrivialImage *) nullptr, src)
932
933
934class IDOMPDFImage;
936
944{
945#define IDOMPDFAlternateImageClassID 0x09cfB9ef, 0xdf084a30, 0x963979B6, 0x6f01eee2
946 public:
947
952 class Data : public CClassParams
953 {
954 public:
955 Data() : defaultForPrinting(false), pFactory (nullptr)
956 {}
957
958 virtual ~Data() {}
960 IDOMImageBrushPtr alternateBrush;
961 JawsMako::IOptionalContentDetailsPtr optionalContentDetails;
963 };
964
987 static EDL_API IDOMPDFAlternateImagePtr create(IEDLClassFactory *pFactory,
988 const IDOMImageBrushPtr &alternateBrush,
989 bool defaultForPrinting = false,
990 const JawsMako::IOptionalContentDetailsPtr &optionalContentDetails = JawsMako::IOptionalContentDetailsPtr());
991
996 static const CClassID &classID()
997 {
999 return id;
1000 };
1001
1006 virtual IDOMImageBrushPtr getImageBrush() const = 0;
1007
1012 virtual bool getDefaultForPrinting() const = 0;
1013
1018 virtual JawsMako::IOptionalContentDetailsPtr getOptionalContentDetails() const = 0;
1019};
1020
1021
1029{
1030#define IDOMPDFImageClassID 0x865d5367, 0x8fee4078, 0xadd975ad, 0x5106ee38
1031 public:
1032
1038 {
1039 public:
1040 virtual ~IDecodeParams() {}
1041 };
1043
1044
1051 class FlateLZWParams;
1064 #define obj2FlateLZWParams(obj) IDOMPDFImage::FlateLZWParamsPtr(dynamic_cast<IDOMPDFImage::FlateLZWParams *>((IRCObject *) obj), true)
1065
1072 class CCITTFaxParams;
1075 {
1076 public:
1077 static EDL_API CCITTFaxParamsPtr create(int32 k = 0, bool endOfLine = false, bool encodedByteAlign = false,
1078 uint32 columns = 1728, uint32 rows = 0, bool endOfBlock = true,
1079 bool blackIs1 = false);
1087 };
1088 #define obj2CCITTFaxParams(obj) IDOMPDFImage::CCITTFaxParamsPtr(dynamic_cast<IDOMPDFImage::CCITTFaxParams *>((IRCObject *) obj), true)
1089
1096 class JBIG2Params;
1099 {
1100 public:
1101 static EDL_API JBIG2ParamsPtr create(const IInputStreamPtr &globals = IInputStreamPtr());
1102 IInputStreamPtr globals;
1103 };
1104 #define obj2JBIG2Params(obj) IDOMPDFImage::JBIG2ParamsPtr(dynamic_cast<IDOMPDFImage::JBIG2Params *>((IRCObject *) obj), true)
1105
1112 class DCTParams;
1115 {
1116 public:
1117 static EDL_API DCTParamsPtr create(int32 colorTransform = 0);
1119 };
1120 #define obj2DCTParams(obj) IDOMPDFImage::DCTParamsPtr(dynamic_cast<IDOMPDFImage::DCTParams *>((IRCObject *) obj), true)
1121
1128
1160
1161 static EDL_API IDOMPDFImagePtr create(IEDLClassFactory *pFactory,
1162 const IInputStreamPtr &stream,
1163 eDOMImageType imageType,
1164 const IDecodeParamsPtr &decodeParams,
1165 const IDOMColorSpacePtr &colorSpace,
1166 uint32 width, uint32 height,
1167 uint8 bitsPerComponent,
1168 const CEDLVector<float> &decode = CEDLVector<float>(),
1169 const CEDLVector<uint16> &colorKeyForMask = CEDLVector<uint16>(),
1170 eImageAlpha alpha = eIANone,
1171 bool rendered = false,
1172 const DOMid sourceId = INVALID_DOM_ID);
1173
1174 static EDL_API IDOMPDFImagePtr create(IEDLClassFactory *pFactory,
1175 const IInputStreamPtr &stream,
1176 const CEDLVector<eDOMImageType> imageTypes,
1177 const CEDLVector<IDecodeParamsPtr> &decodeParams,
1178 const IDOMColorSpacePtr &colorSpace,
1179 uint32 width, uint32 height,
1180 uint8 bitsPerComponent,
1181 const CEDLVector<float> &decode = CEDLVector<float>(),
1182 const CEDLVector<uint16> &colorKeyForMask = CEDLVector<uint16>(),
1183 eImageAlpha alpha = eIANone,
1184 bool rendered = false,
1185 const DOMid sourceId = INVALID_DOM_ID);
1186
1191 static const CClassID &classID()
1192 {
1193 static CClassID id(IDOMPDFImageClassID);
1194 return id;
1195 };
1196
1202
1208 virtual IDecodeParamsPtr getDecodeParametersAtIndex(uint32 index) const
1209 {
1211 IDecodeParamsPtr decodeParams;
1212
1213 if (index < decodeParamsArr.size ())
1214 decodeParams = decodeParamsArr [index];
1215
1216 return decodeParams;
1217 }
1218
1224
1230 virtual CEDLVector<float> getDecode() const = 0;
1231
1239 virtual uint8 getBitsPerComponent() const = 0;
1240
1246 virtual CEDLVector<uint16> getColorKey() const = 0;
1247
1255 virtual IDOMColorSpacePtr getColorSpace() const = 0;
1256
1262 virtual eImageAlpha getAlphaDetails() const = 0;
1263};
1264#define edlobj2IDOMPDFImage(src) edl_cast((IDOMPDFImage *) nullptr, src)
1265
1266class IDOMPCLImage;
1268
1276{
1277#define IDOMPCLImageClassID 0x1444956E, 0xec014100, 0x9bec3968, 0xfe976935
1278 public:
1279
1284 static const CClassID &classID()
1285 {
1286 static CClassID id(IDOMPCLImageClassID);
1287 return id;
1288 };
1289
1300
1317
1318 static EDL_API IDOMPCLImagePtr create(IEDLClassFactory *pFactory,
1319 const IInputStreamPtr &stream,
1320 const IDOMColorSpacePtr &colorSpace,
1321 uint8 bitsPerComponent,
1322 int32 width, int32 height,
1323 uint8 padding,
1324 eCompressMode compressionMode);
1325};
1326#define edlobj2IDOMPCLImage(src) edl_cast((IDOMPCLImage *) nullptr, src)
1327
1328class IDOMRecombineImage;
1330
1339{
1340#define IDOMRecombineImageClassID 0xe91e20cc, 0xbe2d469e, 0x8bad9d10, 0xca68Ad90
1341 public:
1342
1347 class Data : public IDOMImage::Data
1348 {
1349 public:
1351 {
1353 extraChannelIsMask = false;
1354 }
1355 IDOMColorSpacePtr colorSpace;
1357 IDOMImagePtr extraChannel;
1361
1362 };
1363
1373 static EDL_API IDOMRecombineImagePtr create(IEDLClassFactory *pFactory,
1374 const IDOMColorSpacePtr &colorSpace,
1375 const CEDLVector<IDOMImagePtr> &componentImages,
1376 const IDOMImagePtr &extraChannel = IDOMImagePtr(),
1377 bool extraChannelIsMask = false);
1378
1383 static const CClassID &classID()
1384 {
1386 return id;
1387 };
1388
1395 virtual bool getStream(IInputStreamPtr &stream) const
1396 {
1397 stream = IInputStreamPtr ();
1398 return false;
1399 }
1400
1406 virtual void setStream(const IInputStreamPtr &stream)
1407 {
1408 UNREFERENCED_PARAMETER(stream);
1410 }
1411};
1412#define edlobj2IDOMRecombineImage(src) edl_cast((IDOMRecombineImage *) nullptr, src)
1413
1416
1428{
1429#define IDOMRecombineAlphaImageClassID 0x4270168b, 0xf1384655, 0x86cbb981, 0x2d47dbc0
1430 public:
1431
1440 static EDL_API IDOMRecombineAlphaImagePtr create(IEDLClassFactory *pFactory,
1441 const IDOMImagePtr &colorImage,
1442 const IDOMImagePtr &extraChannel,
1443 bool extraChannelIsMask = false);
1444
1449 class Data : public IDOMImage::Data
1450 {
1451 public:
1453 {
1455 extraChannelIsMask = false;
1456 }
1457 IDOMImagePtr colorImage;
1458 IDOMImagePtr extraChannel;
1462
1463 };
1464
1469 static const CClassID &classID()
1470 {
1472 return id;
1473 };
1474
1481 virtual bool getStream(IInputStreamPtr &stream) const
1482 {
1483 stream = IInputStreamPtr ();
1484 return false;
1485 }
1486
1492 virtual void setStream(const IInputStreamPtr &stream)
1493 {
1494 UNREFERENCED_PARAMETER(stream);
1496 }
1497};
1498
1499#define edlobj2IDOMRecombineAlphaImage(src) edl_cast((IDOMRecombineAlphaImage *) nullptr, src)
1500
1501class IDOMCompositeImage;
1503
1512{
1513#define IDOMCompositeImageClassID 0x95f3e000, 0xc9224e4a, 0x8c31b784, 0xe2e5b860
1514 public:
1515
1520 class Data : public IDOMImage::Data
1521 {
1522 public:
1524 {
1526 }
1528 };
1529
1536 static EDL_API IDOMCompositeImagePtr create(IEDLClassFactory *pFactory, const CEDLVector<IDOMImagePtr> componentImages);
1537
1542 static const CClassID &classID()
1543 {
1545 return id;
1546 };
1547
1554 virtual bool getStream(IInputStreamPtr &stream) const
1555 {
1556 stream = IInputStreamPtr ();
1557 return false;
1558 }
1559
1565 virtual void setStream(const IInputStreamPtr &stream)
1566 {
1567 UNREFERENCED_PARAMETER(stream);
1569 }
1570};
1571
1572#define edlobj2IDOMCompositeImage(src) edl_cast((IDOMCompositeImage *) nullptr, src)
1573
1574class IDOMCachedImage;
1576
1585{
1586#define IDOMCachedImageClassID 0x31438e03, 0xa0c54661, 0xac1e77d1, 0xd0f9ec87
1587 public:
1588
1593 class Data : public IDOMImage::Data
1594 {
1595 public:
1597 {
1599 width = 0;
1600 height = 0;
1601 bps = 0;
1603 xResolution = 0.0;
1604 yResolution = 0.0;
1605 rawBytesPerRow = 0;
1606 cacheKey = 0;
1607 alwaysCache = false;
1608 }
1612 IDOMColorSpacePtr colorSpace;
1617 IDOMImagePtr sourceImage;
1620 };
1621
1635 static EDL_API IDOMCachedImagePtr create(IEDLClassFactory *pFactory, const IDOMImagePtr &sourceImage, bool cacheSamples, bool alwaysCache = false);
1636
1641 virtual IDOMImagePtr getSourceImage() const = 0;
1642
1647 static const CClassID &classID()
1648 {
1650 return id;
1651 };
1652
1659 virtual bool getStream(IInputStreamPtr &stream) const
1660 {
1661 stream = IInputStreamPtr ();
1662 return false;
1663 }
1664
1670 virtual void setStream(const IInputStreamPtr &stream)
1671 {
1672 UNREFERENCED_PARAMETER(stream);
1674 }
1675};
1676#define edlobj2IDOMCachedImage(src) edl_cast((IDOMCachedImage *) nullptr, src)
1677
1678
1682
1684{
1685 public:
1692 virtual IImageFramePtr createFilteredImageFrame(IEDLClassFactory *pFactory, const IImageFramePtr &sourceFrame) = 0;
1693
1699 virtual uint64 hashParameters() = 0;
1700};
1702#define edlobj2IDOMImageFilter(src) edl_cast((IDOMImageFilter *) nullptr, src)
1704
1707
1716{
1717#define IDOMImageChannelSelectorFilterClassID 0x014F52D9, 0x36284F76, 0xA2ED4585, 0xA0AC95CD
1718 public:
1722 typedef enum
1723 {
1724 eSelectExtraChannel, // Device Gray with alpha/mask values as gray values.
1725 eSelectExtraChannelAsAlpha, // Presents a gray image with alpha retained as alpha.
1726 eSelectColorChannels, // Presents a plain image with the alpha/mask stripped.
1727 eSelectChannel // Channel as a Device Gray image with the alpha/mask stripped.
1728 } eSelection;
1729
1737 static EDL_API IDOMImageChannelSelectorFilterPtr create(IEDLClassFactory *pFactory, eSelection selection, uint8 channel = 0);
1738
1743 static const CClassID &classID()
1744 {
1746 return id;
1747 };
1748
1753 class Data : public CClassParams
1754 {
1755 public:
1758 };
1759
1760};
1761#define edlobj2IDOMImageChannelSelectorFilter(src) edl_cast((IDOMImageChannelSelectorFilter *) nullptr, src)
1762
1763
1766
1773{
1774#define IDOMImageColorSpaceSubstitutionFilterClassID 0x70CF33A5, 0xF8D24BB2, 0x97B3A27A, 0xEB957EF3
1775 public:
1782 static EDL_API IDOMImageColorSpaceSubstitutionFilterPtr create(IEDLClassFactory *pFactory, const IDOMColorSpacePtr &colorSpace);
1783
1788 static const CClassID &classID()
1789 {
1791 return id;
1792 };
1793
1798 class Data : public CClassParams
1799 {
1800 public:
1801 IDOMColorSpacePtr substituteColorSpace;
1802 };
1803
1804};
1805#define edlobj2IDOMImageColorSpaceSubstitutionFilter(src) edl_cast((IDOMImageColorSpaceSubstitutionFilter *) nullptr, src)
1806
1809
1816{
1817#define IDOMImageColorConverterFilterClassID 0xCF41C4A8, 0xB63A46A0, 0x8F1648BC, 0xB266EC94
1818 public:
1828 static EDL_API IDOMImageColorConverterFilterPtr create(IEDLClassFactory *pFactory,
1829 const IDOMColorSpacePtr &space,
1830 eRenderingIntent intent,
1832 const CColorManagerConfigPtr &overrideConfig = CColorManagerConfigPtr());
1833
1844 static EDL_API IDOMImageColorConverterFilterPtr createNaive(IEDLClassFactory *pFactory,
1845 const IDOMColorSpacePtr &space);
1846
1847
1852 static const CClassID &classID()
1853 {
1855 return id;
1856 };
1857
1872
1873};
1874#define edlobj2IDOMImageColorConverterFilter(src) edl_cast((IDOMImageColorConverterFilter *) nullptr, src)
1875
1878
1886{
1887#define IDOMImageBleederFilterClassID 0xB31F7AA7, 0x38F043B8, 0xAC94C932, 0xCE38D04C
1888 public:
1895 static EDL_API IDOMImageBleederFilterPtr create(IEDLClassFactory *pFactory, uint16 bleedPixels = 1);
1896
1901 static const CClassID &classID()
1902 {
1904 return id;
1905 };
1906
1911 class Data : public CClassParams
1912 {
1913 public:
1916 };
1917
1918};
1919#define edlobj2IDOMImageBleederFilter(src) edl_cast((IDOMImageBleederFilter *) nullptr, src)
1920
1921
1924
1931{
1932#define IDOMImageDownsamplerFilterClassID 0x4DAECA20, 0x882B4B32, 0xA136C61B, 0xAA0F626A
1933public:
1943
1944
1958 static EDL_API IDOMImageDownsamplerFilterPtr create(IEDLClassFactory *pFactory,
1959 double xRes, double yRes = 0.0,
1961 bool useFloatingPointResolution = false);
1962
1967 static const CClassID &classID()
1968 {
1970 return id;
1971 };
1972
1973
1987
1988};
1989#define edlobj2IDOMImageDownsamplerFilter(src) edl_cast((IDOMImageDownsamplerFilter *) nullptr, src)
1990
1993
2000{
2001#define IDOMImageUpsamplerFilterClassID 0xecf523f5, 0xada84947, 0x89004d50, 0x70f5741d
2002public:
2006 typedef enum
2007 {
2011
2012
2026 static EDL_API IDOMImageUpsamplerFilterPtr create(IEDLClassFactory *pFactory,
2027 double xRes, double yRes = 0.0,
2029 bool useFloatingPointResolution = false);
2030
2035 static const CClassID &classID()
2036 {
2038 return id;
2039 };
2040
2054
2055};
2056#define edlobj2IDOMImageUpsamplerFilter(src) edl_cast((IDOMImageUpsamplerFilter *) nullptr, src)
2057
2058
2061
2071{
2072#define IDOMImageMaskExpanderFilterClassID 0xC1262ED1, 0x5AB2451C, 0x9F921341, 0xA89262FF
2073 public:
2074
2081 static EDL_API IDOMImageMaskExpanderFilterPtr create(IEDLClassFactory *pFactory, const IDOMColorPtr &color);
2082
2087 static const CClassID &classID()
2088 {
2090 return id;
2091 };
2092
2097 class Data : public CClassParams
2098 {
2099 public:
2100 IDOMColorPtr color;
2101 };
2102
2103};
2104#define edlobj2IDOMImageMaskExpanderFilter(src) edl_cast((IDOMImageMaskExpanderFilter *) nullptr, src)
2105
2108
2116{
2117#define IDOMImageDeindexerFilterClassID 0x5FD82F65, 0xAC16414C, 0xB98FDA8F, 0xB0A5A5BA
2118 public:
2119
2125 static EDL_API IDOMImageDeindexerFilterPtr create(IEDLClassFactory *pFactory);
2126
2131 static const CClassID &classID()
2132 {
2134 return id;
2135 };
2136
2141 class Data : public CClassParams
2142 {
2143 public:
2144 };
2145
2146};
2147#define edlobj2IDOMImageDeindexerFilter(src) edl_cast((IDOMImageDeindexerFilter *) nullptr, src)
2148
2149
2152
2160{
2161#define IDOMImageDeviceNToBaseFilterClassID 0xA8BFA7A4, 0x3896470E, 0xBFF879DB, 0xE83F507A
2162 public:
2168 static EDL_API IDOMImageDeviceNToBaseFilterPtr create(IEDLClassFactory *pFactory);
2169
2174 static const CClassID &classID()
2175 {
2177 return id;
2178 };
2179
2184 class Data : public CClassParams
2185 {
2186 public:
2187 Data() : fastLut(false) {}
2189 };
2190
2191};
2192#define edlobj2IDOMImageDeviceNToBaseFilter(src) edl_cast((IDOMImageDeviceNToBaseFilter *) nullptr, src)
2193
2196
2212{
2213#define IDOMImageSpotMergerFilterClassID 0xe5baa5f5, 0xcfba4d6d, 0x84a158B3, 0x83d8b169
2214 public:
2245 static EDL_API IDOMImageSpotMergerFilterPtr create(IEDLClassFactory *pFactory,
2246 const IDOMColorSpacePtr &inProcessSpace = IDOMColorSpacePtr(),
2247 const IDOMColorSpacePtr &outProcessSpace = IDOMColorSpacePtr(),
2248 bool mergeSpots = true,
2254 const CColorManagerConfigPtr &overrideConfig = CColorManagerConfigPtr());
2255
2257 {
2258 public:
2259 CProcessConversion(const IDOMColorSpacePtr &_outProcessSpace = IDOMColorSpacePtr(),
2262 {
2263 outProcessSpace = _outProcessSpace;
2264 intent = _intent;
2265 bpc = _bpc;
2266 }
2267
2268 IDOMColorSpacePtr outProcessSpace;
2271 };
2273
2306 static EDL_API IDOMImageSpotMergerFilterPtr create(IEDLClassFactory *pFactory,
2307 const IDOMColorSpacePtr &inProcessSpace,
2308 bool mergeSpots,
2309 const IDOMColorSpaceDeviceN::CColorantInfoVect &spotsToMerge,
2310 const JawsMako::CSpotColorNames &spotsToRetain,
2311 const JawsMako::CSpotColorNames &spotsToDrop,
2312 const CProcessConversionVect &processConversions = CProcessConversionVect(),
2313 const CColorManagerConfigPtr &overrideConfig = CColorManagerConfigPtr());
2314
2319 static const CClassID &classID()
2320 {
2322 return id;
2323 };
2324
2341
2342};
2343#define edlobj2IDOMImageSpotMergerFilter(src) edl_cast((IDOMImageSpotMergerFilter *) nullptr, src)
2344
2347
2358{
2359#define IDOMImagePermuteFilterClassID 0xf729eef8, 0xd6bc721, 0x894c2cd8, 0xc89a7B4c
2360 public:
2361
2374 static EDL_API IDOMImagePermuteFilterPtr create(IEDLClassFactory *pFactory,
2375 const IDOMColorSpacePtr &colorSpace,
2376 const CEDLVector<int8> &permute);
2377
2382 static const CClassID &classID()
2383 {
2385 return id;
2386 };
2387
2392 class Data : public CClassParams
2393 {
2394 public:
2395 IDOMColorSpacePtr colorSpace;
2397 };
2398
2399};
2400
2401
2404
2411{
2412#define IDOMImageInverterFilterClassID 0x46147105, 0x981F496D, 0xB1F4910F, 0xCBB59B52
2413 public:
2414
2420 static EDL_API IDOMImageInverterFilterPtr create(IEDLClassFactory *pFactory);
2421
2426 static const CClassID &classID()
2427 {
2429 return id;
2430 };
2431
2436 class Data : public CClassParams
2437 {
2438 public:
2439 };
2440
2441};
2442#define edlobj2IDOMImageInverterFilter(src) edl_cast((IDOMImageInverterFilter *) nullptr, src)
2443
2446
2455{
2456#define IDOMDePremultiplierFilterClassID 0x0fc321ce, 0xf33e4fa3, 0xb79dbab3, 0xe93e388f
2457 public:
2463 static EDL_API IDOMDePremultiplierFilterPtr create(IEDLClassFactory *pFactory);
2464
2469 static const CClassID &classID()
2470 {
2472 return id;
2473 };
2474
2479 class Data : public CClassParams
2480 {
2481 public:
2482 };
2483
2484};
2485#define edlobj2IDOMDePremultiplierFilter(src) edl_cast((IDOMDePremultiplierFilter *) nullptr, src)
2486
2489
2498{
2499#define IDOMImageMatteRemoverFilterClassID 0x3d883344, 0x1c134c8e, 0xb40f88bd, 0xaa427fd6
2500 public:
2508 static EDL_API IDOMImageMatteRemoverFilterPtr create(IEDLClassFactory *pFactory,
2509 const IDOMColorPtr &matteColor,
2510 const IDOMImagePtr &maskImage);
2511
2516 static const CClassID &classID()
2517 {
2519 return id;
2520 };
2521
2526 virtual IDOMColorPtr getMatteColor() const = 0;
2527
2532 class Data : public CClassParams
2533 {
2534 public:
2535 IDOMColorPtr matteColor;
2536 IDOMImagePtr maskImage;
2537 };
2538
2539};
2540#define edlobj2IDOMImageMatteRemoverFilter(src) edl_cast((IDOMImageMatteRemoverFilter *) nullptr, src)
2541
2542
2545
2552{
2553#define IDOMImageBitScalerFilterClassID 0x4CCE45A6, 0xA1C54615, 0x9E477ADB, 0xED305706
2554 public:
2561 static EDL_API IDOMImageBitScalerFilterPtr create(IEDLClassFactory *pFactory, uint8 bps);
2562
2567 static const CClassID &classID()
2568 {
2570 return id;
2571 };
2572
2577 class Data : public CClassParams
2578 {
2579 public:
2581 };
2582
2583};
2584#define edlobj2IDOMImageBitScalerFilter(src) edl_cast((IDOMImageBitScalerFilter *) nullptr, src)
2585
2588
2597{
2598#define IDOMImageColorKeyFilterClassID 0x46129cf8, 0xff2c481c, 0xa7e0c9c7, 0x8865835b
2599 public:
2610 static EDL_API IDOMImageColorKeyFilterPtr create(IEDLClassFactory *pFactory, const CEDLVector<uint16> &key);
2611
2616 static const CClassID &classID()
2617 {
2619 return id;
2620 };
2621
2626 class Data : public CClassParams
2627 {
2628 public:
2630 };
2631
2632};
2633#define edlobj2IDOMImageColorKeyFilter(src) edl_cast((IDOMImageColorKeyFilter *) nullptr, src)
2634
2637
2647{
2648#define IDOMImageDecodeFilterClassID 0x29a2d3a8, 0xe92b4752, 0xa6f44fa2, 0x65aba989
2649 public:
2656 static EDL_API IDOMImageDecodeFilterPtr create(IEDLClassFactory *pFactory, const CEDLVector<float> &decode);
2657
2662 static const CClassID &classID()
2663 {
2665 return id;
2666 };
2667
2672 class Data : public CClassParams
2673 {
2674 public:
2676 };
2677
2678};
2679#define edlobj2IDOMImageDecodeFilter(src) edl_cast((IDOMImageDecodeFilter *) nullptr, src)
2680
2683
2690{
2691#define IDOMImageCropperFilterClassID 0xaa346d98, 0xa1B546cb, 0xae4a16ac, 0xd7f60017
2692 public:
2699 static EDL_API IDOMImageCropperFilterPtr create(IEDLClassFactory *pFactory, const IntRect &selectPixels);
2700
2705 static const CClassID &classID()
2706 {
2708 return id;
2709 };
2710
2715 class Data : public CClassParams
2716 {
2717 public:
2719 };
2720
2721};
2722#define edlobj2IDOMImageCropperFilter(src) edl_cast((IDOMImageCropperFilter *) nullptr, src)
2723
2726
2735{
2736#define IDOMImagePortionFilterClassID 0x754D1F39, 0xC6F345CB, 0xABD6F636, 0xAC4B6B66
2737 public:
2744 static EDL_API IDOMImagePortionFilterPtr create(IEDLClassFactory *pFactory, const IntRect &viewBox);
2745
2750 static const CClassID &classID()
2751 {
2753 return id;
2754 };
2755
2760 class Data : public CClassParams
2761 {
2762 public:
2764 };
2765
2766};
2767#define edlobj2IDOMImagePortionFilter(src) edl_cast((IDOMImagePortionFilter *) nullptr, src)
2768
2771
2778{
2779#define IDOMImageFlipFilterClassID 0x94CBBDB5, 0xC0EA4628, 0x90B33375, 0x32D316AB
2780
2781 public:
2782
2790 static EDL_API IDOMImageFlipFilterPtr create(IEDLClassFactory *pFactory, bool flipX, bool flipY);
2791
2796 static const CClassID &classID()
2797 {
2799 return id;
2800 };
2801
2806 class Data : public CClassParams
2807 {
2808 public:
2809 bool flipX = false;
2810 bool flipY = false;
2811 };
2812
2813};
2814#define edlobj2IDOMImageFlipFilter(src) edl_cast((IDOMImageFlipFilter *) nullptr, src)
2815
2816class IDOMFilteredImage;
2818
2828{
2829#define IDOMFilteredImageClassID 0xC4ACE9A2, 0xC45F4060, 0x98F9788A, 0x5D84C9F0
2830 public:
2838 static EDL_API IDOMFilteredImagePtr create(IEDLClassFactory *pFactory, const IDOMImagePtr &sourceImage, const IDOMImageFilterPtr &filter);
2839
2847 static EDL_API IDOMFilteredImagePtr create(IEDLClassFactory *pFactory, const IDOMImagePtr &sourceImage, const CDOMImageFilterVect &filters);
2848
2853 class Data : public IDOMImage::Data
2854 {
2855 public:
2857 IDOMImagePtr sourceImage;
2858 };
2859
2864 static const CClassID &classID()
2865 {
2867 return id;
2868 };
2869
2874 virtual void pushFilter(const IDOMImageFilterPtr &filter) = 0;
2875
2880 virtual uint32 getNumFilters() const = 0;
2881
2887 virtual IDOMImageFilterPtr getFilterAtIndex(uint32 index) const = 0;
2888
2893 virtual IDOMImagePtr getSourceImage() const = 0;
2894
2895
2902 virtual bool getStream(IInputStreamPtr &stream) const
2903 {
2904 stream = IInputStreamPtr ();
2905 return false;
2906 }
2907
2913 virtual void setStream(const IInputStreamPtr &stream)
2914 {
2915 UNREFERENCED_PARAMETER(stream);
2917 }
2918};
2919#define edlobj2IDOMFilteredImage(src) edl_cast((IDOMFilteredImage *) nullptr, src)
2920
2921
2922class IDOMCustomImage;
2924
2935{
2936#define IDOMCustomImageClassID 0xc5984a51, 0x94894b93, 0xa5a1e0fa, 0x21da5267
2937 public:
2938
2944 {
2945 public:
2946 virtual ~ICustomImageFrame() = default;
2947
2948#ifdef SWIG
2949#if SWIGCSHARP
2950 %apply char *ARRAY_OUTPUT_SIZEINDEX_1 { void *pRow };
2951#endif
2952#if SWIGJAVA
2953 %apply signed char *INOUT {void *pRow};
2954#endif
2955#if SWIGPYTHON
2956 %apply char INOUT[] {void *pRow};
2957#endif
2958#endif
2970 virtual void readScanLine (void *pScanLine, size_t bufferSize) = 0;
2971#ifdef SWIG
2972 %clear void *pRow;
2973#endif
2974
2980 virtual void skipScanLines (uint32 skipCount) = 0;
2981 };
2982 typedef std::shared_ptr<ICustomImageFrame> ICustomImageFramePtr;
2983
2991 {
2992 public:
2993 virtual ~ICustomImageData() = default;
2994
2999 virtual IDOMColorSpacePtr getColorSpace() = 0;
3000
3005 virtual uint32 getWidth() = 0;
3006
3011 virtual uint32 getHeight() = 0;
3012
3018 virtual uint8 getDepth() = 0;
3019
3024 virtual double getXResolution() = 0;
3025
3030 virtual double getYResolution() = 0;
3031
3038
3044
3051 virtual bool getEfficientlySkippable() = 0;
3052
3059 virtual uint64 getKey() = 0;
3060
3070 virtual bool shouldCache() = 0;
3071
3077 };
3078 typedef std::shared_ptr<ICustomImageData> ICustomImageDataPtr;
3079
3080
3090 static EDL_API IDOMCustomImagePtr create(IEDLClassFactory *pFactory,
3091 const ICustomImageDataPtr &imageData,
3092 eDOMImageType imageType = eDITUnknown);
3093
3098 class Data : public IDOMImage::Data
3099 {
3100 public:
3102 };
3103
3108 static const CClassID &classID()
3109 {
3111 return id;
3112 };
3113
3119
3124 IInputStreamPtr getStream() const override
3125 {
3126 return IInputStreamPtr ();
3127 }
3128
3132 void setStream(const IInputStreamPtr &) override
3133 {
3135 }
3136};
3137#define edlobj2IDOMCustomImage(src) edl_cast((IDOMCustomImage *) nullptr, src)
3138
3139
3141
3142#endif /* IDOMIMAGERESOURCE_H */
An object to represent a 128-bit globally unique ID.
Definition objclassid.h:29
EDL Object Interface.
Definition iedlobject.h:31
Definition edlsimplebuffer.h:24
Definition edlvector.h:30
uint32_t size() const
Definition edlvector.h:106
IDOMColorSpacePtr colorSpace
Definition idomimageresource.h:1612
uint32 rawBytesPerRow
Definition idomimageresource.h:1616
uint64 cacheKey
Definition idomimageresource.h:1618
eImageExtraChannelType extraChannelType
Definition idomimageresource.h:1613
bool alwaysCache
Definition idomimageresource.h:1619
uint8 bps
Definition idomimageresource.h:1611
Data()
Definition idomimageresource.h:1596
uint32 width
Definition idomimageresource.h:1609
double yResolution
Definition idomimageresource.h:1615
double xResolution
Definition idomimageresource.h:1614
uint32 height
Definition idomimageresource.h:1610
IDOMImagePtr sourceImage
Definition idomimageresource.h:1617
Interface to a class that when overlayed over an image will cache portions of its output....
Definition idomimageresource.h:1585
virtual bool getStream(IInputStreamPtr &stream) const
This image type does not allow direct access to the underlying streams.
Definition idomimageresource.h:1659
virtual IDOMImagePtr getSourceImage() const =0
Retrieves the source image that is cached by this instance.
virtual void setStream(const IInputStreamPtr &stream)
This image type does not allow direct access to the underlying streams.
Definition idomimageresource.h:1670
static const CClassID & classID()
Retrieves class id of IDOMCachedImage.
Definition idomimageresource.h:1647
static EDL_API IDOMCachedImagePtr create(IEDLClassFactory *pFactory, const IDOMImagePtr &sourceImage, bool cacheSamples, bool alwaysCache=false)
Simplified creator for a IDOMCachedImage.
CEDLVector< CColorantInfo > CColorantInfoVect
Definition idomcolorspace.h:845
Data()
Definition idomimageresource.h:1523
CEDLVector< IDOMImagePtr > componentImages
Definition idomimageresource.h:1527
Interface to a class representing a image made up of separate images joined together vertically,...
Definition idomimageresource.h:1512
virtual void setStream(const IInputStreamPtr &stream)
This image type does not allow direct access to the underlying streams.
Definition idomimageresource.h:1565
static EDL_API IDOMCompositeImagePtr create(IEDLClassFactory *pFactory, const CEDLVector< IDOMImagePtr > componentImages)
Simplified creator for a IDOMCompositeImage.
virtual bool getStream(IInputStreamPtr &stream) const
This image type does not allow direct access to the underlying streams.
Definition idomimageresource.h:1554
static const CClassID & classID()
Retrieves class id of IDOMRecombineImage.
Definition idomimageresource.h:1542
ICustomImageDataPtr imageData
Definition idomimageresource.h:3101
Abstract class that references image data and provides image information. Must be implemented by user...
Definition idomimageresource.h:2991
virtual uint32 getHeight()=0
Returns the image height.
virtual uint32 getWidth()=0
Returns the image width.
virtual ~ICustomImageData()=default
virtual uint64 getKey()=0
Return a 64-bit key that can be used to uniquely identify this image. DOMids (via allocateNewDOMid())...
virtual ICustomImageFramePtr getFrame()=0
Obtain an ICustomImageFrame that can be used to retrieve pixel data.
virtual bool getEfficientlySkippable()=0
Determine if the frame may be efficiently skipped via ICustomImageFrame::skipScanLines (rather than h...
virtual double getYResolution()=0
Returns the resolution (dpi) of the image data in the y direction.
virtual uint8 getDepth()=0
Returns the image depth per channel. 1, 2, 4, 8, 12 and 16 bit are supported.
virtual eImageExtraChannelType getExtraChannelType()=0
Returns the type of any additional alpha/mask channel.
virtual IDOMColorSpacePtr getColorSpace()=0
Returns the image color space.
virtual double getXResolution()=0
Returns the resolution (dpi) of the image data in the x direction.
virtual uint32 getRawBytesPerRow()=0
Gets the image row size in bytes, which may include padding space.
virtual bool shouldCache()=0
Return if this image should be cached. Mako, ordinarily, attempts to cache images for performance rea...
Abstract class for access to image data. Must be implemented by users.
Definition idomimageresource.h:2944
virtual void skipScanLines(uint32 skipCount)=0
Skips the given number of scanline rows, which may be fast for some image types.
virtual ~ICustomImageFrame()=default
virtual void readScanLine(void *pScanLine, size_t bufferSize)=0
Gets an image row scanline. The resulting data must be in PDF-style form. That is:
IDOMCustomImage represents a user-customizable image type that can be used to implement new image dec...
Definition idomimageresource.h:2935
IInputStreamPtr getStream() const override
This image type does not have an underlying stream.
Definition idomimageresource.h:3124
void setStream(const IInputStreamPtr &) override
This image type does not have an underlying stream.
Definition idomimageresource.h:3132
static const CClassID & classID()
Retrieves class id of IDOMCustomImage.
Definition idomimageresource.h:3108
virtual ICustomImageDataPtr getImageData() const =0
Obtain a pointer to the custom image data.
static EDL_API IDOMCustomImagePtr create(IEDLClassFactory *pFactory, const ICustomImageDataPtr &imageData, eDOMImageType imageType=eDITUnknown)
Simplified creator for a custom image.
std::shared_ptr< ICustomImageData > ICustomImageDataPtr
Definition idomimageresource.h:3078
std::shared_ptr< ICustomImageFrame > ICustomImageFramePtr
Definition idomimageresource.h:2982
Initialization data.
Definition idomimageresource.h:2480
Definition idomimageresource.h:2455
static const CClassID & classID()
Retrieves class id of IDOMDePremultiplierFilter.
Definition idomimageresource.h:2469
static EDL_API IDOMDePremultiplierFilterPtr create(IEDLClassFactory *pFactory)
Simplified creator for this filter.
IDOMImagePtr sourceImage
Definition idomimageresource.h:2857
CDOMImageFilterVect filters
Definition idomimageresource.h:2856
IDOMFilteredImage interface. Provides a method for filtering of an underlying image without requiring...
Definition idomimageresource.h:2828
virtual void setStream(const IInputStreamPtr &stream)
This image type does not allow direct access to the underlying streams.
Definition idomimageresource.h:2913
virtual IDOMImageFilterPtr getFilterAtIndex(uint32 index) const =0
Get a filter from the filter chain at the given index.
static EDL_API IDOMFilteredImagePtr create(IEDLClassFactory *pFactory, const IDOMImagePtr &sourceImage, const IDOMImageFilterPtr &filter)
Simplified creator for a filtered image with a single filter.
virtual uint32 getNumFilters() const =0
Get the number of individual filters in the internal filter chain.
virtual bool getStream(IInputStreamPtr &stream) const
This image type does not allow direct access to the underlying streams.
Definition idomimageresource.h:2902
static const CClassID & classID()
Retrieves class id of IDOMFilteredImage.
Definition idomimageresource.h:2864
virtual void pushFilter(const IDOMImageFilterPtr &filter)=0
Push a filter onto the end of the internal filter chain.
virtual IDOMImagePtr getSourceImage() const =0
Get the source image.
static EDL_API IDOMFilteredImagePtr create(IEDLClassFactory *pFactory, const IDOMImagePtr &sourceImage, const CDOMImageFilterVect &filters)
Simplified creator for a filtered image with a vector of filters.
Abstract interface for objects that can be hashed.
Definition idomhashable.h:28
Initialization data.
Definition idomimageresource.h:166
uint64 streamLength
Definition idomimageresource.h:172
Data()
Definition idomimageresource.h:168
eDOMImageType imageType
Definition idomimageresource.h:173
IInputStreamPtr stream
Definition idomimageresource.h:171
EDLSysString uri
Definition idomimageresource.h:170
Initialization data.
Definition idomimageresource.h:2578
uint8 desiredBPS
Definition idomimageresource.h:2580
An image filter that presents an image as an image with a different bits per sample.
Definition idomimageresource.h:2552
static EDL_API IDOMImageBitScalerFilterPtr create(IEDLClassFactory *pFactory, uint8 bps)
Simplified creator for a bit scaling filter.
static const CClassID & classID()
Retrieves class id of IDOMImageBitScalerFilterClassID.
Definition idomimageresource.h:2567
Data()
Definition idomimageresource.h:1914
uint16 bleedPixels
Definition idomimageresource.h:1915
An image filter that presents an image with the edge pixels repeated. Useful for cases where consumer...
Definition idomimageresource.h:1886
static const CClassID & classID()
Retrieves class id of IDOMImageBleederFilter.
Definition idomimageresource.h:1901
static EDL_API IDOMImageBleederFilterPtr create(IEDLClassFactory *pFactory, uint16 bleedPixels=1)
Simplified creator for an image bleeder.
Initialization data.
Definition idomimageresource.h:1754
uint8 channel
Definition idomimageresource.h:1757
eSelection selection
Definition idomimageresource.h:1756
An image filter that presents optionally an image stripped of alpha, or alternatively a Gray image re...
Definition idomimageresource.h:1716
static EDL_API IDOMImageChannelSelectorFilterPtr create(IEDLClassFactory *pFactory, eSelection selection, uint8 channel=0)
Simplified creator for a color converter filter.
eSelection
Enum for choosing which channel(s) to select during filtering.
Definition idomimageresource.h:1723
@ eSelectColorChannels
Definition idomimageresource.h:1726
@ eSelectChannel
Definition idomimageresource.h:1727
@ eSelectExtraChannel
Definition idomimageresource.h:1724
@ eSelectExtraChannelAsAlpha
Definition idomimageresource.h:1725
static const CClassID & classID()
Retrieves class id of IDOMImageChannelSelectorFilter.
Definition idomimageresource.h:1743
eBlackPointCompensation bpc
Definition idomimageresource.h:1868
IDOMColorSpacePtr destinationColorSpace
Definition idomimageresource.h:1866
bool naiveConversion
Definition idomimageresource.h:1869
Data()
Definition idomimageresource.h:1865
CColorManagerConfigPtr overrideConfig
Definition idomimageresource.h:1870
eRenderingIntent renderingIntent
Definition idomimageresource.h:1867
An image filter that presents a color converted version of an image.
Definition idomimageresource.h:1816
static EDL_API IDOMImageColorConverterFilterPtr create(IEDLClassFactory *pFactory, const IDOMColorSpacePtr &space, eRenderingIntent intent, eBlackPointCompensation bpc, const CColorManagerConfigPtr &overrideConfig=CColorManagerConfigPtr())
Simplified creator for a color converter filter.
static EDL_API IDOMImageColorConverterFilterPtr createNaive(IEDLClassFactory *pFactory, const IDOMColorSpacePtr &space)
Simplified creator for a color converter filter where naive (non-color managed) color conversions are...
static const CClassID & classID()
Retrieves class id of IDOMImageColorConverterFilter.
Definition idomimageresource.h:1852
Initialization data.
Definition idomimageresource.h:2627
CEDLVector< uint16 > key
Definition idomimageresource.h:2629
An image filter that presents a masked image where colors within a given range are masked out,...
Definition idomimageresource.h:2597
static EDL_API IDOMImageColorKeyFilterPtr create(IEDLClassFactory *pFactory, const CEDLVector< uint16 > &key)
Simplified creator for a color key scaling filter.
static const CClassID & classID()
Retrieves class id of IDOMImageColorKeyFilter.
Definition idomimageresource.h:2616
Initialization data.
Definition idomimageresource.h:1799
IDOMColorSpacePtr substituteColorSpace
Definition idomimageresource.h:1801
An image filter that presents an identical image, just with the colorspace substituted.
Definition idomimageresource.h:1773
static const CClassID & classID()
Retrieves class id of IDOMImageColorSpaceSubstitutionFilterClassID.
Definition idomimageresource.h:1788
static EDL_API IDOMImageColorSpaceSubstitutionFilterPtr create(IEDLClassFactory *pFactory, const IDOMColorSpacePtr &colorSpace)
Simplified creator for a color space substitutor filter.
Initialization data.
Definition idomimageresource.h:2716
IntRect selectPixels
Definition idomimageresource.h:2718
An image filter that presents a portion of another image.
Definition idomimageresource.h:2690
static const CClassID & classID()
Retrieves class id of IDOMImageCropperFilter.
Definition idomimageresource.h:2705
static EDL_API IDOMImageCropperFilterPtr create(IEDLClassFactory *pFactory, const IntRect &selectPixels)
Simplified creator for this filter.
Initialization data.
Definition idomimageresource.h:2673
CEDLVector< float > decode
Definition idomimageresource.h:2675
An image filter that applies a PDF/PS style Decode array to the image contents. For details on decode...
Definition idomimageresource.h:2647
static EDL_API IDOMImageDecodeFilterPtr create(IEDLClassFactory *pFactory, const CEDLVector< float > &decode)
Simplified creator for a decode filter.
static const CClassID & classID()
Retrieves class id of IDOMImageDecodeFilter.
Definition idomimageresource.h:2662
Initialization data.
Definition idomimageresource.h:2142
An image filter that presents an image with an Indexed color space as a simple eight bit image.
Definition idomimageresource.h:2116
static EDL_API IDOMImageDeindexerFilterPtr create(IEDLClassFactory *pFactory)
Simplified creator for a deindexer filter.
static const CClassID & classID()
Retrieves class id of IDOMImageDeindexerFilter.
Definition idomimageresource.h:2131
bool fastLut
Definition idomimageresource.h:2188
Data()
Definition idomimageresource.h:2187
An image filter that presents an image with a DeviceN color space as a simple image in the alternate ...
Definition idomimageresource.h:2160
static EDL_API IDOMImageDeviceNToBaseFilterPtr create(IEDLClassFactory *pFactory)
Simplified creator for this filter.
static const CClassID & classID()
Retrieves class id of IDOMImageDeindexerFilter.
Definition idomimageresource.h:2174
Data()
Definition idomimageresource.h:1981
eDownsamplingMethod method
Definition idomimageresource.h:1984
double desiredYRes
Definition idomimageresource.h:1983
double desiredXRes
Definition idomimageresource.h:1982
bool useFloatingPointResolutions
Definition idomimageresource.h:1985
An image filter that presents a downsampled version of an image.
Definition idomimageresource.h:1931
eDownsamplingMethod
The type of downsampling to be performed.
Definition idomimageresource.h:1938
@ eBicubic
Definition idomimageresource.h:1941
@ eSubsample
Definition idomimageresource.h:1939
@ eAverage
Definition idomimageresource.h:1940
static EDL_API IDOMImageDownsamplerFilterPtr create(IEDLClassFactory *pFactory, double xRes, double yRes=0.0, eDownsamplingMethod method=eSubsample, bool useFloatingPointResolution=false)
Simplified creator for an image downsampler filter.
static const CClassID & classID()
Retrieves class id of IDOMImageDownsamplerFilter.
Definition idomimageresource.h:1967
Definition idomimageresource.h:1684
virtual IImageFramePtr createFilteredImageFrame(IEDLClassFactory *pFactory, const IImageFramePtr &sourceFrame)=0
Get a filtered Image frame, based on an input frame.
virtual uint64 hashParameters()=0
Calculates a 64-bit hash for the filter parameters. Used to check for likely identical filter chains.
Initialization data.
Definition idomimageresource.h:2807
bool flipY
Definition idomimageresource.h:2810
bool flipX
Definition idomimageresource.h:2809
An image filter that flips an image horizontally, vertically or both.
Definition idomimageresource.h:2778
static EDL_API IDOMImageFlipFilterPtr create(IEDLClassFactory *pFactory, bool flipX, bool flipY)
Simplified creator for this filter.
static const CClassID & classID()
Retrieves class id of IDOMImageFlipFilter.
Definition idomimageresource.h:2796
The base class describing an image. This class is subclassed to create a number of more specific imag...
Definition idomimageresource.h:158
virtual eDOMImageType getImageType()=0
Retrieves the image type.
virtual IImageDecoderPtr createImageDecoder(IEDLClassFactory *factory, const IDOMImagePropertiesPtr &imageProperties)=0
Creates a properly initialized image decoder object that reads from an inputstream that is specific t...
virtual IDOMImagePropertiesPtr getImageProperties()=0
Returns an object that stores the properties for this image object. The properties can then be inspec...
virtual bool getIsRendered()=0
Determine if the image is as a result of rendering. This is indicated if the image type is eDITRender...
virtual IImageFramePtr getImageFrame(IEDLClassFactory *factory)
Fetch the image frame; convenience.
virtual IDOMImagePtr getImageWithSubstitutedColorSpace(IEDLClassFactory *factory, const IDOMColorSpacePtr &colorSpace)
Obtain an image that is the same as this image, but with the colorspace substituted for another.
virtual IImageEncoderPtr createImageEncoder(const ISessionPtr &session, const IOutputStreamPtr &imageDest, const IDOMImagePropertiesPtr &imageProperties)=0
Creates a properly initialized image encoder object that writes to an outputstream that is specific t...
Initialization data.
Definition idomimageresource.h:2437
An image filter that presents a bitwise inverted form of the source image.
Definition idomimageresource.h:2411
static const CClassID & classID()
Retrieves class id of IDOMImageInverterFilter.
Definition idomimageresource.h:2426
static EDL_API IDOMImageInverterFilterPtr create(IEDLClassFactory *pFactory)
Simplified creator for this filter.
Initialization data.
Definition idomimageresource.h:2098
IDOMColorPtr color
Definition idomimageresource.h:2100
An image filter that presents a image source and color combination as a plain image with an alpha cha...
Definition idomimageresource.h:2071
static const CClassID & classID()
Retrieves class id of IDOMImageMaskExpanderFilter.
Definition idomimageresource.h:2087
static EDL_API IDOMImageMaskExpanderFilterPtr create(IEDLClassFactory *pFactory, const IDOMColorPtr &color)
Simplified creator for a mask expander filter.
Initialization data.
Definition idomimageresource.h:2533
IDOMImagePtr maskImage
Definition idomimageresource.h:2536
IDOMColorPtr matteColor
Definition idomimageresource.h:2535
Definition idomimageresource.h:2498
static const CClassID & classID()
Retrieves class id of IDOMMatteRemoverFilter.
Definition idomimageresource.h:2516
virtual IDOMColorPtr getMatteColor() const =0
Retrieve the matte color.
static EDL_API IDOMImageMatteRemoverFilterPtr create(IEDLClassFactory *pFactory, const IDOMColorPtr &matteColor, const IDOMImagePtr &maskImage)
Simplified creator for this filter.
Initialization data.
Definition idomimageresource.h:2393
IDOMColorSpacePtr colorSpace
Definition idomimageresource.h:2395
CEDLVector< int8 > permute
Definition idomimageresource.h:2396
An image filter that takes images using a given color space and presents a new image with a different...
Definition idomimageresource.h:2358
static const CClassID & classID()
Retrieves class id of IDOMImagePermuteFilter.
Definition idomimageresource.h:2382
static EDL_API IDOMImagePermuteFilterPtr create(IEDLClassFactory *pFactory, const IDOMColorSpacePtr &colorSpace, const CEDLVector< int8 > &permute)
Simplified creator for this filter.
Initialization data.
Definition idomimageresource.h:2761
IntRect selectPixels
Definition idomimageresource.h:2763
An image filter that presents a viewbox of another image. The viewbox can contain an area outside of ...
Definition idomimageresource.h:2735
static const CClassID & classID()
Retrieves class id of IDOMImagePortionFilter.
Definition idomimageresource.h:2750
static EDL_API IDOMImagePortionFilterPtr create(IEDLClassFactory *pFactory, const IntRect &viewBox)
Simplified creator for this filter.
The IDOMImageProperties interface provides access to an underlying implementation which stores miscel...
Definition idomimageresource.h:45
static EDL_API IDOMImagePropertiesPtr create()
Create an empty image properties.
virtual bool getIntProperty(const EDLString &name, int &value)=0
Retrieves the value of a named property as an integer value.
virtual bool getBoolProperty(const EDLString &name, bool &value)=0
Retrieves the value of a named property as a Boolean value.
virtual bool getProperty(const EDLString &name, EDLString &value)=0
Retrieves the value of a named property as a string value.
virtual void setBoolProperty(const EDLString &name, bool value)=0
Registers the name of a property and a Boolean value for the property.
static const CClassID & classID()
Retrieves class id of IDOMImageProperties.
Definition idomimageresource.h:53
virtual void setIntProperty(const EDLString &name, int value)=0
Registers the name of a property and an integer value for the property.
virtual void setProperty(const EDLString &name, const EDLString &value)=0
Registers the name of a property and a string value for the property.
virtual bool getObjectProperty(const EDLString &name, IRCObjectPtr &value)=0
Retrieves the value of a named property as an IRCObject value.
virtual void setObjectProperty(const EDLString &name, const IRCObjectPtr &object)=0
Registers the name of a property and an IRCObject value for the property.
CProcessConversion(const IDOMColorSpacePtr &_outProcessSpace=IDOMColorSpacePtr(), eRenderingIntent _intent=eRelativeColorimetric, eBlackPointCompensation _bpc=eBPCDefault)
Definition idomimageresource.h:2259
eRenderingIntent intent
Definition idomimageresource.h:2269
IDOMColorSpacePtr outProcessSpace
Definition idomimageresource.h:2268
eBlackPointCompensation bpc
Definition idomimageresource.h:2270
IDOMColorSpacePtr inProcessSpace
Definition idomimageresource.h:2333
Data()
Definition idomimageresource.h:2332
JawsMako::CSpotColorNames spotsToRetain
Definition idomimageresource.h:2336
JawsMako::CSpotColorNames spotsToDrop
Definition idomimageresource.h:2337
bool mergeSpots
Definition idomimageresource.h:2334
IDOMColorSpaceDeviceN::CColorantInfoVect spotsToMerge
Definition idomimageresource.h:2335
CProcessConversionVect processConversions
Definition idomimageresource.h:2338
CColorManagerConfigPtr overrideConfig
Definition idomimageresource.h:2339
An image filter that merges selected spot components into the process components of an image....
Definition idomimageresource.h:2212
static const CClassID & classID()
Retrieves class id of IDOMImageSpotMergerFilter.
Definition idomimageresource.h:2319
static EDL_API IDOMImageSpotMergerFilterPtr create(IEDLClassFactory *pFactory, const IDOMColorSpacePtr &inProcessSpace, bool mergeSpots, const IDOMColorSpaceDeviceN::CColorantInfoVect &spotsToMerge, const JawsMako::CSpotColorNames &spotsToRetain, const JawsMako::CSpotColorNames &spotsToDrop, const CProcessConversionVect &processConversions=CProcessConversionVect(), const CColorManagerConfigPtr &overrideConfig=CColorManagerConfigPtr())
Simplified creator for a spot merging filter, allowing multiple process color transformations to be p...
CEDLVector< CProcessConversion > CProcessConversionVect
Definition idomimageresource.h:2272
static EDL_API IDOMImageSpotMergerFilterPtr create(IEDLClassFactory *pFactory, const IDOMColorSpacePtr &inProcessSpace=IDOMColorSpacePtr(), const IDOMColorSpacePtr &outProcessSpace=IDOMColorSpacePtr(), bool mergeSpots=true, const IDOMColorSpaceDeviceN::CColorantInfoVect &spotsToMerge=IDOMColorSpaceDeviceN::CColorantInfoVect(), const JawsMako::CSpotColorNames &spotsToRetain=JawsMako::CSpotColorNames(), const JawsMako::CSpotColorNames &spotsToDrop=JawsMako::CSpotColorNames(), eRenderingIntent intent=eRelativeColorimetric, eBlackPointCompensation bpc=eBPCDefault, const CColorManagerConfigPtr &overrideConfig=CColorManagerConfigPtr())
Simplified creator for a spot merging filter. Currently the result is always an 8bpc image.
double desiredYRes
Definition idomimageresource.h:2050
Data()
Definition idomimageresource.h:2048
bool useFloatingPointResolutions
Definition idomimageresource.h:2052
double desiredXRes
Definition idomimageresource.h:2049
eUpsamplingMethod method
Definition idomimageresource.h:2051
An image filter that presents an upsampled/interpolated version of an image.
Definition idomimageresource.h:2000
static EDL_API IDOMImageUpsamplerFilterPtr create(IEDLClassFactory *pFactory, double xRes, double yRes=0.0, eUpsamplingMethod method=eBilinear, bool useFloatingPointResolution=false)
Simplified creator for an image upsampler filter.
static const CClassID & classID()
Retrieves class id of IDOMImageUpsamplerFilter.
Definition idomimageresource.h:2035
eUpsamplingMethod
The type of downsampling to be performed.
Definition idomimageresource.h:2007
@ eBicubic
Definition idomimageresource.h:2009
@ eBilinear
Definition idomimageresource.h:2008
Interface to a class representing a JPEG (.jpg or .jpeg) image.
Definition idomimageresource.h:253
static const CClassID & classID()
Retrieves class id of IDOMJPEGImage.
Definition idomimageresource.h:353
static EDL_API IDOMJPEGImagePtr create(IEDLClassFactory *pFactory, const IInputStreamPtr &stream)
Create a JPEG Image resource with the given JPEG stream.
static EDL_API void encode(const ISessionPtr &pSession, const IDOMImagePtr &image, const IOutputStreamPtr &stream, uint8 quality=3, bool allowCmyk=false, bool invertCmyk=true)
Encode an image as a JPEG stream. This routine may convert the source image into a form that may be e...
static EDL_API IDOMImagePtr createWriterAndImage(const ISessionPtr &session, IImageFrameWriterPtr &frame, const IDOMColorSpacePtr &colorSpace, uint32 width, uint32 height, uint8 bitsPerComponent=8, double xResolution=96.0, double yResolution=96.0, uint8 quality=3, const IInputStreamPtr &inStream=IInputStreamPtr(), const IOutputStreamPtr &outStream=IOutputStreamPtr())
Create an IDOMJPEGImage and frame that can be used to populate same.
static EDL_API void encode(const ISessionPtr &pSession, const IImageFramePtr &frame, const IOutputStreamPtr &stream, uint8 quality=3, bool allowCmyk=false, bool invertCmyk=true)
Encode the contents of an IImageFrame as a JPEG stream, returning the stream. This routine may conver...
int32 width
Definition idomimageresource.h:1313
Data()
Definition idomimageresource.h:1308
IDOMColorSpacePtr colorSpace
Definition idomimageresource.h:1310
uint8 padding
Definition idomimageresource.h:1315
eCompressMode compressionMode
Definition idomimageresource.h:1309
int32 height
Definition idomimageresource.h:1314
IInputStreamPtr stream
Definition idomimageresource.h:1311
uint8 bitsPerComponent
Definition idomimageresource.h:1312
Interface to a class representing an image extracted from a PCLXL file.
Definition idomimageresource.h:1276
static const CClassID & classID()
Retrieves class id of IDOMCLImage.
Definition idomimageresource.h:1284
static EDL_API IDOMPCLImagePtr create(IEDLClassFactory *pFactory, const IInputStreamPtr &stream, const IDOMColorSpacePtr &colorSpace, uint8 bitsPerComponent, int32 width, int32 height, uint8 padding, eCompressMode compressionMode)
eCompressMode
The image compression mode.
Definition idomimageresource.h:1294
@ eCMZeroFillCompression
Definition idomimageresource.h:1298
@ eCMRleCompression
Definition idomimageresource.h:1296
@ eCMNoCompression
Definition idomimageresource.h:1295
@ eCMDeltaRowCompression
Definition idomimageresource.h:1297
bool defaultForPrinting
Definition idomimageresource.h:962
JawsMako::IOptionalContentDetailsPtr optionalContentDetails
Definition idomimageresource.h:961
virtual ~Data()
Definition idomimageresource.h:958
IDOMImageBrushPtr alternateBrush
Definition idomimageresource.h:960
IEDLClassFactory * pFactory
Definition idomimageresource.h:959
Data()
Definition idomimageresource.h:955
An encapsulation of a PDF alternate image, which may be referenced from an image or mask brush.
Definition idomimageresource.h:944
virtual bool getDefaultForPrinting() const =0
Get if the alternate image is marked as default for printing.
static const CClassID & classID()
Retrieves class id of IDOMPDFAlternateImage.
Definition idomimageresource.h:996
virtual JawsMako::IOptionalContentDetailsPtr getOptionalContentDetails() const =0
Get the optional content properties, if present.
virtual IDOMImageBrushPtr getImageBrush() const =0
Get the image brush for this alternate image.
static EDL_API IDOMPDFAlternateImagePtr create(IEDLClassFactory *pFactory, const IDOMImageBrushPtr &alternateBrush, bool defaultForPrinting=false, const JawsMako::IOptionalContentDetailsPtr &optionalContentDetails=JawsMako::IOptionalContentDetailsPtr())
Creator for an alternate image. Although regular, soft mask and masked images are allowed,...
Class to hold filter parameters for CCITTFax-compressed image data. Please see the PDF specification ...
Definition idomimageresource.h:1075
uint32 rows
Definition idomimageresource.h:1084
bool endOfLine
Definition idomimageresource.h:1081
uint32 columns
Definition idomimageresource.h:1083
static EDL_API CCITTFaxParamsPtr create(int32 k=0, bool endOfLine=false, bool encodedByteAlign=false, uint32 columns=1728, uint32 rows=0, bool endOfBlock=true, bool blackIs1=false)
bool encodedByteAlign
Definition idomimageresource.h:1082
int32 k
Definition idomimageresource.h:1080
bool endOfBlock
Definition idomimageresource.h:1085
bool blackIs1
Definition idomimageresource.h:1086
Class to hold filter parameters for DCT-compressed image data. Please see the PDF specification for t...
Definition idomimageresource.h:1115
static EDL_API DCTParamsPtr create(int32 colorTransform=0)
uint32 colorTransform
Definition idomimageresource.h:1118
bool isRendered
Definition idomimageresource.h:1155
CEDLVector< eDOMImageType > imageTypes
Definition idomimageresource.h:1147
CEDLVector< IDecodeParamsPtr > decodeParams
Definition idomimageresource.h:1146
virtual ~Data()
Definition idomimageresource.h:1145
DOMid imageId
Definition idomimageresource.h:1156
CEDLVector< uint16 > colorKeyForMask
Definition idomimageresource.h:1154
Data()
Definition idomimageresource.h:1136
eImageAlpha alpha
Definition idomimageresource.h:1152
uint32 height
Definition idomimageresource.h:1150
CEDLVector< float > decode
Definition idomimageresource.h:1153
IDOMColorSpacePtr colorSpace
Definition idomimageresource.h:1148
uint32 width
Definition idomimageresource.h:1149
uint8 bitsPerComponent
Definition idomimageresource.h:1151
DOMid sourceId
Definition idomimageresource.h:1158
uint64 streamHash
Definition idomimageresource.h:1157
Class to hold filter parameters for Flate or LZW-compressed image data. Please see the PDF specificat...
Definition idomimageresource.h:1054
uint32 columns
Definition idomimageresource.h:1061
uint32 bitsPerComponent
Definition idomimageresource.h:1060
uint32 predictor
Definition idomimageresource.h:1058
uint32 colors
Definition idomimageresource.h:1059
uint32 earlyChange
Definition idomimageresource.h:1062
static EDL_API FlateLZWParamsPtr create(uint32 predictor=1, uint32 colors=1, uint32 bpc=8, uint32 columns=1, uint32 earlyChange=1)
Abstract interface for per-image decoding filter parameters.
Definition idomimageresource.h:1038
virtual ~IDecodeParams()
Definition idomimageresource.h:1040
Class to hold filter parameters for JBIG2-compressed image data. Please see the PDF specification for...
Definition idomimageresource.h:1099
IInputStreamPtr globals
Definition idomimageresource.h:1102
static EDL_API JBIG2ParamsPtr create(const IInputStreamPtr &globals=IInputStreamPtr())
Interface to a class representing an image extracted from a PDF file. Intended to be only used with t...
Definition idomimageresource.h:1029
virtual eImageAlpha getAlphaDetails() const =0
Returns if the image has alpha, and if the color samples are premultiplied.
virtual uint8 getBitsPerComponent() const =0
Retrieves the bits per component of the source data. For JPEG2000, this information is available only...
virtual CEDLVector< IDecodeParamsPtr > getDecodeParameters() const =0
Retrieves the decode parameters. May be NULL.
virtual IDOMColorSpacePtr getColorSpace() const =0
Retrieves the color space to be used with this image. For JPEG2000, this may be NULL if the colorspac...
static EDL_API IDOMPDFImagePtr create(IEDLClassFactory *pFactory, const IInputStreamPtr &stream, eDOMImageType imageType, const IDecodeParamsPtr &decodeParams, const IDOMColorSpacePtr &colorSpace, uint32 width, uint32 height, uint8 bitsPerComponent, const CEDLVector< float > &decode=CEDLVector< float >(), const CEDLVector< uint16 > &colorKeyForMask=CEDLVector< uint16 >(), eImageAlpha alpha=eIANone, bool rendered=false, const DOMid sourceId=INVALID_DOM_ID)
DECL_SMART_PTR(FlateLZWParams)
static EDL_API IDOMPDFImagePtr create(IEDLClassFactory *pFactory, const IInputStreamPtr &stream, const CEDLVector< eDOMImageType > imageTypes, const CEDLVector< IDecodeParamsPtr > &decodeParams, const IDOMColorSpacePtr &colorSpace, uint32 width, uint32 height, uint8 bitsPerComponent, const CEDLVector< float > &decode=CEDLVector< float >(), const CEDLVector< uint16 > &colorKeyForMask=CEDLVector< uint16 >(), eImageAlpha alpha=eIANone, bool rendered=false, const DOMid sourceId=INVALID_DOM_ID)
virtual CEDLVector< float > getDecode() const =0
Retrieves the decode array used to interpret the color samples. An empty vector will be returned if t...
DECL_SMART_PTR(DCTParams)
DECL_SMART_PTR(JBIG2Params)
DECL_SMART_PTR(CCITTFaxParams)
eImageAlpha
Definition idomimageresource.h:1123
@ eIANone
Definition idomimageresource.h:1124
@ eIAPremultipliedAlpha
Definition idomimageresource.h:1126
@ eIAAlpha
Definition idomimageresource.h:1125
virtual CEDLVector< uint16 > getColorKey() const =0
Retrieves the color key for mask generation. An empty vector will be returned if there is no color ke...
virtual IDecodeParamsPtr getDecodeParametersAtIndex(uint32 index) const
Retrieves the decode parameters from the list with the given index. May be NULL.
Definition idomimageresource.h:1208
DECL_SMART_PTR(IDecodeParams)
virtual CEDLVector< eDOMImageType > getImageTypes() const =0
Retrieves the array of the image type.
static const CClassID & classID()
Retrieves class id of IDOMPDFImage.
Definition idomimageresource.h:1191
Interface to a class representing a PNG (.png) image.
Definition idomimageresource.h:372
static EDL_API void encode(const ISessionPtr &pSession, const IImageFramePtr &frame, const IOutputStreamPtr &stream)
Encode the contents of an IImageFrame as a PNG stream, returning the stream. This routine may convert...
static EDL_API IDOMImagePtr createWriterAndImage(const ISessionPtr &session, IImageFrameWriterPtr &frame, const IDOMColorSpacePtr &colorSpace, uint32 width, uint32 height, uint8 bitsPerComponent=8, double xResolution=96.0, double yResolution=96.0, eImageExtraChannelType extraChannel=eIECNone, const IInputStreamPtr &inStream=IInputStreamPtr(), const IOutputStreamPtr &outStream=IOutputStreamPtr())
Create an IDOMPNGImage and frame that can be used to populate same.
static EDL_API void encode(const ISessionPtr &pSession, const IDOMImagePtr &image, const IOutputStreamPtr &stream)
Encode an image as a PNG stream, returning the stream. This routine may convert the image samples int...
static const CClassID & classID()
Retrieves class id of IDOM.
Definition idomimageresource.h:475
static EDL_API IDOMPNGImagePtr create(IEDLClassFactory *pFactory, const IInputStreamPtr &stream)
Create a PNG Image resource with the given PNG stream.
static EDL_API void encode(const ISessionPtr &pSession, const IDOMColorSpacePtr &colorSpace, float dpi, uint8 bpc, void *frameBuffer, uint32 width, uint32 height, int32 stride, bool hasAlpha, const IOutputStreamPtr &stream)
Encode a frame buffer as a PNG stream, returning the stream. The source image must be compatible with...
Data()
Definition idomimageresource.h:668
int16 layerIndex
Definition idomimageresource.h:670
IDOMPSDImage interface.
Definition idomimageresource.h:656
virtual int16 getLayerIndex() const =0
Get the layer index of this image from the PSD.
static EDL_API IDOMPSDImagePtr create(IEDLClassFactory *pFactory, const IInputStreamPtr &stream, int16 layerIndex=0)
Create a PSD Image resource with the given PSD stream.
static const CClassID & classID()
Retrieves class id of IDOMPSDImage.
Definition idomimageresource.h:698
Data()
Definition idomimageresource.h:767
bool isSynthetic
Definition idomimageresource.h:771
IDOMColorSpacePtr colorSpace
Definition idomimageresource.h:772
eDOMImageType imageType
Definition idomimageresource.h:773
Interface to a class representing a raw image.
Definition idomimageresource.h:743
static const CClassID & classID()
Retrieves class id of IDOMRawImage.
Definition idomimageresource.h:780
virtual bool getSynthetic() const =0
Returns a Boolean value indicating whether or not the image is synthetic.
static EDL_API IDOMImagePtr createWriterAndImage(const ISessionPtr &session, IImageFrameWriterPtr &frame, const IDOMColorSpacePtr &colorSpace, uint32 width, uint32 height, uint8 bitsPerComponent=8, double xResolution=96.0, double yResolution=96.0, eImageExtraChannelType extraChannel=eIECNone, const IInputStreamPtr &inStream=IInputStreamPtr(), const IOutputStreamPtr &outStream=IOutputStreamPtr())
Create an IDOMRawImage and frame that can be used to populate same.
static EDL_API IDOMRawImagePtr create(IEDLClassFactory *pFactory, const IDOMColorSpacePtr &colorSpace, const IInputStreamPtr &stream, eDOMImageType type=eDITUnknown)
Create a "raw" image resource with the given stream.
bool extraChannelIsMask
Definition idomimageresource.h:1459
IDOMImagePtr extraChannel
Definition idomimageresource.h:1458
Data()
Definition idomimageresource.h:1452
IDOMImagePtr colorImage
Definition idomimageresource.h:1457
Similar to IDOMRecombineImage, but instead combines an image comprising the color components of the i...
Definition idomimageresource.h:1428
static const CClassID & classID()
Retrieves class id of IDOMRecombineAlphaImage.
Definition idomimageresource.h:1469
virtual bool getStream(IInputStreamPtr &stream) const
This image type does not allow direct access to the underlying streams.
Definition idomimageresource.h:1481
static EDL_API IDOMRecombineAlphaImagePtr create(IEDLClassFactory *pFactory, const IDOMImagePtr &colorImage, const IDOMImagePtr &extraChannel, bool extraChannelIsMask=false)
Simplified creator for a IDOMRecombineAlphaImage.
virtual void setStream(const IInputStreamPtr &stream)
This image type does not allow direct access to the underlying streams.
Definition idomimageresource.h:1492
bool extraChannelIsMask
Definition idomimageresource.h:1358
Data()
Definition idomimageresource.h:1350
CEDLVector< IDOMImagePtr > componentImages
Definition idomimageresource.h:1356
IDOMColorSpacePtr colorSpace
Definition idomimageresource.h:1355
IDOMImagePtr extraChannel
Definition idomimageresource.h:1357
Interface to a class representing a image made up of separate single channel images (each with the sa...
Definition idomimageresource.h:1339
virtual void setStream(const IInputStreamPtr &stream)
This image type does not allow direct access to the underlying streams.
Definition idomimageresource.h:1406
static EDL_API IDOMRecombineImagePtr create(IEDLClassFactory *pFactory, const IDOMColorSpacePtr &colorSpace, const CEDLVector< IDOMImagePtr > &componentImages, const IDOMImagePtr &extraChannel=IDOMImagePtr(), bool extraChannelIsMask=false)
Convenience creator for a recombine image.
virtual bool getStream(IInputStreamPtr &stream) const
This image type does not allow direct access to the underlying streams.
Definition idomimageresource.h:1395
static const CClassID & classID()
Retrieves class id of IDOMRecombineImage.
Definition idomimageresource.h:1383
Provides an interface to an EDL DOM node representing a generalised resource. A resource represents n...
Definition idomresources.h:31
uint16 imageIndex
Definition idomimageresource.h:506
bool allowMultiChannel
Definition idomimageresource.h:507
Data()
Definition idomimageresource.h:504
IDOMTIFFImage interface.
Definition idomimageresource.h:493
eTIFFPrediction
Available TIFF prediction schemes.
Definition idomimageresource.h:528
@ eTPHorizontal
Definition idomimageresource.h:530
@ eTPNone
Definition idomimageresource.h:529
static EDL_API IDOMImagePtr createWriterAndImage(const ISessionPtr &session, IImageFrameWriterPtr &frame, const IDOMColorSpacePtr &colorSpace, uint32 width, uint32 height, uint8 bitsPerComponent=8, double xResolution=96.0, double yResolution=96.0, eTIFFCompression compressionType=eTCAuto, eTIFFPrediction predictionType=eTPNone, eImageExtraChannelType extraChannel=eIECNone, bool bigTiff=false, const IInputStreamPtr &inStream=IInputStreamPtr(), const IOutputStreamPtr &outStream=IOutputStreamPtr())
Create an IDOMTIFFImage and frame that can be used to populate same.
static EDL_API void encode(const ISessionPtr &pSession, const IImageFramePtr &frame, const IOutputStreamPtr &stream, eTIFFCompression scheme=eTCAuto, eTIFFPrediction predictionType=eTPNone, bool bigTiff=false)
Encode the contents of an IImageFrame as a TIFF stream, returning the stream. This routine may conver...
static const CClassID & classID()
Retrieves class id of IDOMTIFFImage.
Definition idomimageresource.h:639
virtual uint16 getImageIndex() const =0
Get the image index of this TIFF to use.
static EDL_API IDOMTIFFImagePtr create(IEDLClassFactory *pFactory, const IInputStreamPtr &stream, uint16 imageIndex=0, bool allowMultiChannel=false)
Create a TIFF Image resource with the given TIFF stream.
eTIFFCompression
Available TIFF compression schemes.
Definition idomimageresource.h:514
@ eTCNone
Choose an appropriate scheme for the incoming image.
Definition idomimageresource.h:516
@ eTCCCITT
Definition idomimageresource.h:517
@ eTCAuto
Definition idomimageresource.h:515
@ eTCPackBits
Definition idomimageresource.h:520
@ eTCLZW
Definition idomimageresource.h:521
@ eTCCCITT3
Definition idomimageresource.h:518
@ eTCCCITT4
Definition idomimageresource.h:519
static EDL_API void encode(const ISessionPtr &pSession, const IDOMImagePtr &image, const IOutputStreamPtr &stream, eTIFFCompression scheme=eTCAuto, eTIFFPrediction predictionType=eTPNone, bool bigTiff=false)
Encode an image as a TIFF stream, returning the stream. This routine may convert the image samples in...
Data()
Definition idomimageresource.h:877
uint16 width
Definition idomimageresource.h:888
CEDLSimpleBuffer imageData
Definition idomimageresource.h:892
EDLSysString uri
Definition idomimageresource.h:895
uint16 height
Definition idomimageresource.h:889
eDOMImageType imageType
Definition idomimageresource.h:894
eImageExtraChannelType extraChannelType
Definition idomimageresource.h:893
uint32 stride
Definition idomimageresource.h:891
IDOMColorSpacePtr colorSpace
Definition idomimageresource.h:887
uint8 bitsPerComponent
Definition idomimageresource.h:890
Interface for a "trivial" image.
Definition idomimageresource.h:843
static const CClassID & classID()
Retrieves class id of IDOMRawImage.
Definition idomimageresource.h:902
static EDL_API IDOMTrivialImagePtr create(IEDLClassFactory *pFactory, const IDOMColorSpacePtr &colorSpace, uint16 width, uint16 height, uint32 stride, uint8 bitsPerComponent, const CEDLSimpleBuffer &imageData, eImageExtraChannelType extraChannel=eIECNone, eDOMImageType type=eDITUnknown)
Create a "trivial" image resource with the given memory and pixel data.
virtual IInputStreamPtr getStream() const
This image type does not allow direct access to the underlying streams.
Definition idomimageresource.h:913
virtual void setStream(const IInputStreamPtr &stream)
This image type does not allow direct access to the underlying streams.
Definition idomimageresource.h:923
IDOMWMPImage interface.
Definition idomimageresource.h:713
static const CClassID & classID()
Retrieves class id of IDOMWMPImage.
Definition idomimageresource.h:721
EDL Factory Interface allows one part of the EDL infrastructure to register class creation methods id...
Definition iedlfactory.h:31
IEDLObject is an abstract base class that is used by all classes that are intended to be created via ...
Definition iedlobject.h:53
Base class Interface for all Reference Counted objects.
Definition ircobject.h:35
EDL_API void throwEDLError(uint32 errorcode)
Utility - Throw an IEDLError exception with the given error code.
RectTmpl< int32 > IntRect
Definition edlgeom.h:341
#define _END_EDL_DOM_NAMESPACE
Definition edlnamespaces.h:110
#define _BEGIN_EDL_DOM_NAMESPACE
Definition edlnamespaces.h:109
std::string EDLSysString
Definition edlstring.h:158
std::wstring EDLString
Definition edlstring.h:165
EDL "standard" types including known bit-length signed and unsigned integer type[def]s and definition...
unsigned short uint16
Definition edltypes.h:33
unsigned int uint32
Definition edltypes.h:34
#define EDL_API
Definition edltypes.h:86
signed short int16
Definition edltypes.h:28
unsigned long long uint64
Definition edltypes.h:35
signed int int32
Definition edltypes.h:29
#define UNREFERENCED_PARAMETER(P)
Definition edltypes.h:71
unsigned char uint8
Definition edltypes.h:32
eBlackPointCompensation
Black point compensation enumeration.
Definition edlblackpointcompensation.h:17
eRenderingIntent
Rendering intent enumeration.
Definition edlrenderingintent.h:17
@ eBPCDefault
Default behavior.
Definition edlblackpointcompensation.h:19
@ ePerceptual
Perceptual rendering intent.
Definition edlrenderingintent.h:19
@ eRelativeColorimetric
Relative colorimetric rendering intent.
Definition edlrenderingintent.h:20
@ EDL_ERR_UNDEFINED
Undefined error.
Definition edlerrors.h:30
@ JM_ERR_UNSUPPORTED
An attempt was made to use an unsupported, unimplemented feature.
Definition edlerrors.h:54
EDL::uint64 DOMid
Type used to uniquely idenitify a DOM node.
Definition idomid.h:17
eDOMImageType
Image type enumeration.
Definition idomimageresource.h:137
eImageExtraChannelType
Type used to uniquely identify the type of extra image channel.
Definition iimagecodec.h:32
@ eDITJBIG2
Compression for bi-level (monochrome) images.
Definition idomimageresource.h:140
@ eDITCCITTFax
A Comité Consultatif International Téléphonique et Télégraphique (ITU-T) standard for compressing mon...
Definition idomimageresource.h:143
@ eDITRendered
A rendered image.
Definition idomimageresource.h:147
@ eDITPNG
Portable Network Graphics, a format that supports lossless data compression and transparency.
Definition idomimageresource.h:142
@ eDITRunLength
Run-length encoded.
Definition idomimageresource.h:146
@ eDITJPEG
Discrete cosine transform (DCT), a lossy form of compression used in JPEG images.
Definition idomimageresource.h:139
@ eDITJPEG2000
Image compression that uses a wavelet-based method.
Definition idomimageresource.h:141
@ eDITLZW
Lempel-Ziv-Welch compressed.
Definition idomimageresource.h:145
@ eDITUnknown
Unknown image type.
Definition idomimageresource.h:138
@ eDITFlate
Flate (zip) compressed.
Definition idomimageresource.h:144
const DOMid INVALID_DOM_ID
Definition idomid.h:19
#define IDOMImageMatteRemoverFilterClassID
Definition idomimageresource.h:2499
#define IDOMImagePortionFilterClassID
Definition idomimageresource.h:2736
#define IDOMImageSpotMergerFilterClassID
Definition idomimageresource.h:2213
#define IDOMPDFImageClassID
Definition idomimageresource.h:1030
#define IDOMImageUpsamplerFilterClassID
Definition idomimageresource.h:2001
#define IDOMImageDownsamplerFilterClassID
Definition idomimageresource.h:1932
#define IDOMRawImageClassID
Definition idomimageresource.h:744
#define IDOMCachedImageClassID
Definition idomimageresource.h:1586
CEDLVector< IDOMImageFilterPtr > CDOMImageFilterVect
Definition idomimageresource.h:1703
#define IDOMImagePermuteFilterClassID
Definition idomimageresource.h:2359
#define IDOMCompositeImageClassID
Definition idomimageresource.h:1513
#define IDOMImageColorSpaceSubstitutionFilterClassID
Definition idomimageresource.h:1774
#define IDOMImageBleederFilterClassID
Definition idomimageresource.h:1887
#define IDOMImageDecodeFilterClassID
Definition idomimageresource.h:2648
#define IDOMCustomImageClassID
Definition idomimageresource.h:2936
#define IDOMWMPImageClassID
Definition idomimageresource.h:714
#define IDOMPNGImageClassID
Definition idomimageresource.h:373
#define IDOMRecombineAlphaImageClassID
Definition idomimageresource.h:1429
#define IDOMDePremultiplierFilterClassID
Definition idomimageresource.h:2456
#define IDOMImagePropertiesClassID
Definition idomimageresource.h:46
#define IDOMImageCropperFilterClassID
Definition idomimageresource.h:2691
#define IDOMImageDeindexerFilterClassID
Definition idomimageresource.h:2117
#define IDOMRecombineImageClassID
Definition idomimageresource.h:1340
#define IDOMImageInverterFilterClassID
Definition idomimageresource.h:2412
#define IDOMImageColorKeyFilterClassID
Definition idomimageresource.h:2598
#define IDOMJPEGImageClassID
Definition idomimageresource.h:254
#define IDOMImageColorConverterFilterClassID
Definition idomimageresource.h:1817
#define IDOMImageMaskExpanderFilterClassID
Definition idomimageresource.h:2072
#define IDOMTrivialImageClassID
Definition idomimageresource.h:844
#define IDOMTIFFImageClassID
Definition idomimageresource.h:494
#define IDOMFilteredImageClassID
Definition idomimageresource.h:2829
#define IDOMPDFAlternateImageClassID
Definition idomimageresource.h:945
#define IDOMImageChannelSelectorFilterClassID
Definition idomimageresource.h:1717
#define IDOMImageDeviceNToBaseFilterClassID
Definition idomimageresource.h:2161
#define IDOMImageFlipFilterClassID
Definition idomimageresource.h:2779
#define IDOMImageBitScalerFilterClassID
Definition idomimageresource.h:2553
#define IDOMPCLImageClassID
Definition idomimageresource.h:1277
#define IDOMPSDImageClassID
Definition idomimageresource.h:657
@ eIECNone
No extra channel present.
Definition iimagecodec.h:33
CEDLVector< U8String > CSpotColorNames
Definition types.h:171
#define DECL_SMART_PTR(cls)
Definition smartptr.h:211