Mako 9.0.0 API
MakoCore SDK API Documentation
Loading...
Searching...
No Matches
transforms.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2013-2026 Hybrid Software Helix Ltd. All rights reserved.
3*/
4
5#ifndef JAWSMAKO_TRANSFORMS_H
6#define JAWSMAKO_TRANSFORMS_H
7
13
14#include <jawsmako/jawsmako.h>
15#include <jawsmako/transforms.h>
16#include <edl/idompath.h>
17#include <edl/idomglyphs.h>
18#include <edl/idombrush.h>
19#include <edl/iabort.h>
20
21namespace JawsMako
22{
23 using namespace EDL;
24
25 class ITransform;
27 class ITransformChain;
29
46
66 {
67 public:
72
81 CTransformState(const IDOMNodePtr &node);
82
94 CTransformState stateInsideNode(const IDOMNodePtr &node, bool updateTransform = true, bool updateClip = true, bool updateRenderingIntent = true, bool updateEdgeMode = true) const;
95
107 CTransformState stateInsideBrush(const IDOMBrushPtr &brush,
109 bool updateTransform = true,
110 bool updateClip = true) const;
111
112 public:
116 IDOMColorSpacePtr groupColorSpace;
126 };
127
141 class ITransform : public IRCObject
142 {
143 public:
144 virtual ~ITransform() {}
145
157 virtual IDOMBrushPtr transform(const IDOMBrushPtr &brush, eBrushUsage usage = eBUGeneral, const CTransformState &state = CTransformState()) = 0;
158
169 virtual IDOMImagePtr transform(const IDOMImagePtr &image, const CTransformState &state = CTransformState()) = 0;
170
181 virtual IDOMColorPtr transform(const IDOMColorPtr &color, const CTransformState &state = CTransformState()) = 0;
182
192 virtual IDOMColorSpacePtr transform(const IDOMColorSpacePtr &colorSpace, const CTransformState &state = CTransformState()) = 0;
193
208 virtual IDOMNodePtr transform(const IDOMNodePtr &node, bool &changed, bool transformChildren = true, const CTransformState &state = CTransformState()) = 0;
209
219 virtual void transformPage(const IPagePtr &page, bool transformContent = true, bool transformAnnotations = true) = 0;
220
231 virtual void flushCaches() = 0;
232
238 virtual void setProgressMonitor (const IProgressMonitorPtr &progressMonitor) = 0;
239
240 };
241
247
256 {
257 public:
258 virtual ~ITransformChain() {}
259
267 static JAWSMAKO_API ITransformChainPtr create(const IJawsMakoPtr &jawsMako,
268 const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr(),
269 const CTransformVect &transforms = CTransformVect());
270
275 virtual void removeTransform(uint32 index) = 0;
276
282 virtual void pushTransform(const ITransformPtr &transform) = 0;
283
289 virtual void pushTransformFront(const ITransformPtr &transform) = 0;
290
295 virtual CTransformVect getTransforms() const = 0;
296
303 virtual IDOMNodePtr transform(const IDOMNodePtr &node) = 0;
304
314 virtual IDOMNodePtr transform(const IDOMNodePtr &node, bool &changed) = 0;
315
323 virtual void transformPage(const IPagePtr &page, bool transformContent = true, bool transformAnnotations = true) = 0;
324
335 virtual void flushCaches() = 0;
336
341 virtual ITransformChainPtr clone() = 0;
342 };
343
344 /*
345 * Individual ITransforms
346 */
347
350
360 {
361 public:
368 static JAWSMAKO_API IImageEncoderTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr());
369
370 /*
371 * Configuration.
372 */
373
380 virtual void setReencodeAllImages(bool value) = 0;
381
389 virtual void setEnableTIFFEncoding(bool value) = 0;
390
398 virtual void setReencodeMultiImageTIFF(bool value) = 0;
399
410
417 virtual void setPreferredFormat(eEncodeFormat format) = 0;
418
425 virtual void setPreferredMonoFormat(eEncodeFormat format) = 0;
426
432
439 virtual void setPreferredGrayFormat(eEncodeFormat format) = 0;
440
446
452 virtual void setPreferredColorFormat(eEncodeFormat format) = 0;
453
459
465 virtual void setJPEGQuality(uint8 quality) = 0;
466
472 virtual uint8 getJPEGQuality() const = 0;
473
480
488
496
504
512 };
513
514
517
524 {
525 public:
532 static JAWSMAKO_API IImageDownsamplerTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr());
533
534 /*
535 * Configuration.
536 */
537
545
552
560
567
577
584
591 virtual void setTargetResolution(float resolution) = 0;
592
600 virtual void setThresholdResolution(float resolution) = 0;
601
610 virtual void setColorTargetResolution(float resolution) = 0;
611
617 virtual float getColorTargetResolution() = 0;
618
626 virtual void setColorThresholdResolution(float resolution) = 0;
627
633 virtual float getColorThresholdResolution() = 0;
634
643 virtual void setGrayTargetResolution(float resolution) = 0;
644
650 virtual float getGrayTargetResolution() = 0;
651
659 virtual void setGrayThresholdResolution(float resolution) = 0;
660
666 virtual float getGrayThresholdResolution() = 0;
667
676 virtual void setMonoTargetResolution(float resolution) = 0;
677
683 virtual float getMonoTargetResolution() = 0;
684
692 virtual void setMonoThresholdResolution(float resolution) = 0;
693
699 virtual float getMonoThresholdResolution() = 0;
700
713 virtual void setDownsampleMaskedImages(bool downsampleMaskedImages) = 0;
714
740 virtual void setUseMaskResolutionForMaskedImages(bool useMaskResolutionSettingForMaskedImages) = 0;
741
763 virtual void setUseFloatingPointResolutions(bool useFloatingPointResolutions) = 0;
764
765 };
766
769
779 {
780 public:
787 static JAWSMAKO_API IImageUpsamplerTransformPtr create(const IJawsMakoPtr &jawsMako,
788 const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr());
789
790 /*
791 * Configuration.
792 */
793
801
809
817
824 virtual void setTargetResolution(float resolution) = 0;
825
833 virtual void setThresholdResolution(float resolution) = 0;
834
843 virtual void setColorTargetResolution(float resolution) = 0;
844
852 virtual void setColorThresholdResolution(float resolution) = 0;
853
862 virtual void setGrayTargetResolution(float resolution) = 0;
863
871 virtual void setGrayThresholdResolution(float resolution) = 0;
872
880 virtual void setMonoTargetResolution(float resolution) = 0;
881
889 virtual void setMonoThresholdResolution(float resolution) = 0;
890
903 virtual void setUpsampleMaskedImages(bool upsampleMaskedImages) = 0;
904
930 virtual void setUseMaskResolutionForMaskedImages(bool useMaskResolutionSettingForMaskedImages) = 0;
931
953 virtual void setUseFloatingPointResolutions(bool useFloatingPointResolutions) = 0;
954
955 };
956
959
976 {
977 public:
984 static JAWSMAKO_API IColorConverterTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
985
986 /*
987 * Configuration.
988 */
989
996 virtual void setTargetSpace(const IDOMColorSpacePtr &targetSpace) = 0;
997
1003 virtual IDOMColorSpacePtr getTargetSpace() = 0;
1004
1009 virtual void setTargetProfile(const IDOMICCProfilePtr &profile) = 0;
1010
1014 virtual void setSWOPTargetSpace() = 0;
1015
1024
1036 virtual void useDOMRenderingIntents(bool use) = 0;
1037
1079 virtual void setBlackPreservation(bool preserveForText, bool preserveForOther) = 0;
1080
1088 virtual void setConvertOnlyDeviceIndependentColors(bool convert) = 0;
1089
1100 virtual void setConvertIndependentToSimilarDeviceSpace(bool convert) = 0;
1101
1111 virtual void setInspectDeviceNAlternateSpace(bool inspect) = 0;
1112
1122 virtual void setInspectDeviceNColorantsAlternateSpace(bool inspect) = 0;
1123
1124
1136 virtual void setKeepDeviceN(bool keep) = 0;
1137
1147 virtual void setIgnoreImagesWithSimilarColorSpaces(bool ignore) = 0;
1148
1157 virtual void setIgnoreRenderedImages(bool ignore) = 0;
1158
1169 virtual void setForceImageSampleConversion(bool force) = 0;
1170
1179 virtual void setShouldConvertForSpaceType(IDOMColorSpace::eColorSpaceType type, bool convert = true) = 0;
1180
1188
1200 virtual void setConvertICCColorsWithNumComponents(uint8 numComponents, bool convert = true) = 0;
1201
1209 virtual void setConvertICCSpacesWithProfileVersionGreaterThan(uint8 majorVersion, uint8 minorVersion) = 0;
1210
1223 virtual void setConvertColorsInsideLuminositySoftMasks(bool convert = true) = 0;
1224
1239 virtual void setConvertThroughTransparencyGroupColorSpaces(bool useGroups = true) = 0;
1240
1247 virtual void setKeepOverprintMode(bool keep = true) = 0;
1248
1299 virtual void setDeviceNHandling(bool convertProcess = true,
1300 bool mergeSpots = true,
1302 const CSpotColorNames &spotsToRetain = CSpotColorNames(),
1303 const CSpotColorNames &spotsToDrop = CSpotColorNames(),
1304 bool knockoutDroppedSpots = true) = 0;
1305 };
1306
1307
1310
1323 {
1324 public:
1331 static JAWSMAKO_API IComplexColorSimplifierTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
1332
1333 /*
1334 * There is no configuration for this transform.
1335 */
1336 };
1337
1338
1341
1352 {
1353 public:
1360 static JAWSMAKO_API IImageMergerTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
1361
1362 /*
1363 * Configuration
1364 */
1365
1376 virtual void setAllowMaskedResults(bool allowMasked) = 0;
1377
1378 };
1379
1380
1383
1391 {
1392 public:
1399 static JAWSMAKO_API IOptionalContentFixerTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
1400
1401 /*
1402 * Configuration
1403 */
1404
1411
1419 virtual void setOptionalContent(const IOptionalContentPtr &optionalContent) = 0;
1420
1427 };
1428
1429
1432
1449 {
1450 public:
1457 static JAWSMAKO_API ICFFCIDSplitterTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
1458
1459 /*
1460 * There is no configuration for this transform.
1461 */
1462 };
1463
1466
1479 {
1480 public:
1487 static JAWSMAKO_API ICFFSanitizerTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
1488
1489 /*
1490 * There is no configuration for this transform.
1491 */
1492 };
1493
1494
1495 class IStrokerTransform;
1497
1519 {
1520 public:
1527 static JAWSMAKO_API IStrokerTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
1528
1529 /*
1530 * Configuration
1531 */
1532
1540 virtual void setTargetResolution(float resolution) = 0;
1541
1549 virtual void setupForXPSStyleOutput() = 0;
1550
1564 virtual void setupForPDFStyleOutput() = 0;
1565
1571 virtual void setConvertAllStrokes(bool convert) = 0;
1572
1573 /* @brief Conditions. If any are true a stroker will be converted to a fill */
1574
1581 virtual void setConvertForDashedStrokes(bool convert) = 0;
1582
1590 virtual void setConvertForNonTilingVisualOrImageStrokes(bool convert) = 0;
1591
1602 virtual void setConvertForMiterTreatment(IDOMPathNode::eStrokeMiterLimitTreatment treatment, bool convert = true) = 0;
1603
1614 virtual void setMiterErrorThreshold(float maxError) = 0;
1615
1623 virtual void setConvertForLineCap(IDOMPathNode::eStrokeLineCap cap, bool convert = true) = 0;
1624
1632 virtual void setConvertForDashCap(IDOMPathNode::eStrokeLineCap cap, bool convert = true) = 0;
1633
1640 virtual void setConvertForMismatchedCaps(bool convert) = 0;
1641
1648 virtual void setConvertForMismatchedDashCap(bool convert) = 0;
1649
1657 virtual void setConvertForJoin(IDOMPathNode::eStrokeLineJoin join, bool convert = true) = 0;
1658
1665 virtual void setConvertForNonStrokingSegments(bool convert) = 0;
1666
1667 };
1668
1669
1672
1688 {
1689 public:
1696 static JAWSMAKO_API IFormUnpackerTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
1697
1698 /*
1699 * Configuration
1700 */
1701
1710 virtual void setUnpackFlaggedFormInstancesOnly(bool unpack) = 0;
1711
1712 };
1713
1714
1715 class IRendererTransform;
1717
1731 {
1732 public:
1739 static JAWSMAKO_API IRendererTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
1740
1747 virtual bool probe(const IDOMNodePtr &node) = 0;
1748
1749 /*
1750 * Configuration
1751 */
1752
1758 virtual void setResolution(uint32 resolution) = 0;
1759
1764 virtual uint32 getResolution() const = 0;
1765
1774 virtual void setTargetSpace(const IDOMColorSpacePtr &space) = 0;
1775
1780 virtual IDOMColorSpacePtr getTargetSpace() const = 0;
1781
1787 virtual void setSWOPTargetSpace() = 0;
1788
1793 virtual void setTargetProfile(const IDOMICCProfilePtr &profile) = 0;
1794
1821 virtual void setEnableVectorMode(bool enable) = 0;
1822
1846
1854 virtual void setVectorAndTextResolution(uint32 resolution) = 0;
1855
1873 virtual void setRasterFallbackThreshold(uint32 threshold) = 0;
1874
1894 virtual void setRasterFallbackResolution(uint32 resolution) = 0;
1895
1908 virtual void setVectorImageReuseCacheSize(uint32 reuseCacheSizeMB) = 0;
1909
1922 virtual void setEnableFormSnappingForVectorReuse(bool enable) = 0;
1923
1939 virtual void setVectorAreaFormReuseCacheSize(uint32 formCount) = 0;
1940
1957
1975 virtual void setMarkVectorFlattenedFontsForEmbedding(bool embed) = 0;
1976
2002 virtual void setFormReconstructionCacheSize(uint32 formCount) = 0;
2003
2015 virtual void setRasterImageReuseCacheSize(uint32 reuseCacheSizeMB) = 0;
2016
2043 virtual void setMonochromeMode(bool enable = true) = 0;
2044
2060 virtual void setSpotHalftone(float frequency, bool useFullResolutionForFlattening = false) = 0;
2061
2063
2077 virtual void setThresholdHalftone(uint32 width, uint32 height, const CThresholdArray &thresholds) = 0;
2078
2097 virtual void setPreserveSpots(const CSpotColorNames &preservedSpots) = 0;
2098
2117 virtual void setPreserveAllSpots(bool preserve) = 0;
2118
2138 virtual void setMergeSpots(const CSpotColorNames &mergedSpots) = 0;
2139
2159 virtual void setMergeAllSpots(bool merge) = 0;
2160
2182 virtual void setDropSpots(const CSpotColorNames &droppedSpots) = 0;
2183
2223 virtual void setBlackPreservation(bool preserveForText, bool preserveForOther) = 0;
2224
2238 virtual void setGenerateMasks(bool generate) = 0;
2239
2247 virtual void setUseMultipleThreads(bool useMultipleThreads) = 0;
2248
2262 virtual void setRenderObjectsIndividually(bool renderIndividually) = 0;
2263
2274 virtual void setRenderOncePerRenderableArea(bool renderOnce) = 0;
2275
2292 virtual void setMaximumImageAreaMultiple(float limit) = 0;
2293
2316 virtual void setMaximumRenderedResultPixels(uint64 maximum) = 0;
2317
2337 virtual void setGenerateFlateCompressedPDFImages(bool enable) = 0;
2338
2358 virtual void setMinimumFlateCompressedImageSize(uint32 minSizePixels) = 0;
2359
2377
2386 virtual void renderNodesWithRenderFlagSet(bool render) = 0;
2387
2409 virtual void ignoreNodesWithExcludeFlagSet(bool ignore) = 0;
2410
2411 typedef bool (*ShouldRenderNodeFunc)(void *priv, const IDOMNodePtr &node);
2412
2425 virtual void setShouldRenderCallback(ShouldRenderNodeFunc func, void *priv) = 0;
2426
2434 virtual void renderTransparentNodes(bool render) = 0;
2435
2456
2465 virtual void renderNonNormalBlendedNodes(bool render) = 0;
2466
2475 virtual void renderNonCanvasTransparencyGroups(bool render) = 0;
2476
2484 virtual void renderMaskedImages(bool render) = 0;
2485
2493 virtual void renderOpacityMaskedNodes(bool render) = 0;
2494
2502 virtual void renderBrush(IDOMBrush::eBrushType brushType, bool render = true) = 0;
2503
2514 virtual void ignoreBrushWhileScanning(IDOMBrush::eBrushType brushType, bool ignore = true) = 0;
2515
2524 virtual void renderComplexType3ShadingPatterns(bool render) = 0;
2525
2535 virtual void renderComplexTilingPatterns(bool render) = 0;
2536
2545 virtual void renderVisualBrushesWithViewPortLargerThan(double val) = 0;
2546
2554 virtual void renderConeGradients(bool render) = 0;
2555
2563 virtual void renderGlyphsWithStyleSimulation(bool render) = 0;
2564
2573 virtual void renderGlyphsWithRestrictedFont(bool render) = 0;
2574
2583 virtual void renderGlyphsWithNonSubsettableFont(bool render) = 0;
2584
2593 virtual void renderGlyphsWithNonEditableFont(bool render) = 0;
2594
2601 virtual void renderGlyphsWithType3Font(bool render) = 0;
2602
2612 virtual void enableTrueTypeNotDef(bool enable) = 0;
2613
2615 {
2616 public:
2618 IDOMColorPtr inkColor;
2627
2628 bool operator== (const CInkInfo &other) const
2629 {
2630 return (other.inkName == inkName)
2631 && (other.inkColor == inkColor);
2632 }
2633
2634 bool operator!= (const CInkInfo &other) const
2635 {
2636 return ! (*this == other);
2637 }
2638
2640 {
2641 return inkNameToString(inkName);
2642 }
2643
2645 {
2646 return inkNameToString(inkName, fallbackEncoding);
2647 }
2648 };
2650
2665 static JAWSMAKO_API CInkInfoVect findInks(const IJawsMakoPtr &jawsMako,
2666 const IDOMNodePtr &nodeTree,
2667 const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr (),
2668 bool includeAll = false);
2669
2684 static JAWSMAKO_API CInkInfoVect findInksInColorSpace(const IJawsMakoPtr &jawsMako,
2685 const IDOMColorSpacePtr &colorSpace,
2686 bool includeAll = false);
2687
2698 const CInkInfoVect &inkInfo,
2699 const IDOMColorSpacePtr &processSpace,
2700 const CColorManagerConfigPtr &overrideConfig = CColorManagerConfigPtr());
2701 };
2702
2703 class IRedactorTransform;
2705
2729 {
2730 public:
2737 static JAWSMAKO_API IRedactorTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
2738
2746 virtual void setTargetSpace(const IDOMColorSpacePtr &targetSpace) = 0;
2747
2755 virtual void setResolution(uint32 resolution) = 0;
2756
2763 virtual void setGenerateMasks(bool generateMasks) = 0;
2764 };
2765
2766
2769
2781 {
2782 public:
2789 static JAWSMAKO_API IType3UnpackerTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
2790
2791 /*
2792 * There is no configuration for this transform.
2793 */
2794
2795 };
2796
2799
2829 {
2830 public:
2837 static JAWSMAKO_API IOverprintSimulationTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
2838
2846 virtual void setResolution(uint32 resolution) = 0;
2847
2862 virtual void setSimulationColorSpace(const IDOMColorSpacePtr &simulationSpace) = 0;
2863
2872 virtual void setSimulateBlackDeviceGrayTextOverprint(bool simulate) = 0;
2873
2882 virtual void setUseVectorFlattener(bool useVectorFlattener) = 0;
2883 };
2884
2887
2892 {
2893 public:
2904
2905
2912 static JAWSMAKO_API IPageCropperTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
2913
2914 /*
2915 * Configuration.
2916 */
2917
2923 virtual void setCropBox(eBox cropBox) = 0;
2924
2931 virtual void setShouldClip(bool clip) = 0;
2932 };
2933
2936
2943 {
2944 public:
2951 static JAWSMAKO_API IPatternConverterTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
2952
2953 /*
2954 * Configuration.
2955 */
2956
2963 virtual void setConvertType2ShadingPatterns(bool convert) = 0;
2964
2973 virtual void setMaxType2Samples(uint32 maxSamples) = 0;
2974
2981 virtual void setConvertType3ShadingPatterns(bool convert) = 0;
2982
2991 virtual void setMaxType3Samples(uint32 maxSamples) = 0;
2992 };
2993
2996
3030 {
3031 public:
3033
3040 static JAWSMAKO_API IFontProcessorTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
3041
3049 virtual void setShouldSubset(bool subset) = 0;
3050
3058 virtual void setShouldMerge(bool merge) = 0;
3059
3068 virtual void setIgnoreUnembeddedFonts(bool ignore) = 0;
3069
3078 virtual void setIgnoreRestrictedFonts(bool ignore) = 0;
3079
3089 virtual void setIgnoreFonts(const CU8StringVect &ignoreFonts) = 0;
3090
3095 virtual bool shouldMerge() = 0;
3096
3101 virtual bool shouldSubset() = 0;
3102 };
3103
3106
3131 {
3132 public:
3134
3141 static JAWSMAKO_API IFontProcessorDeferredTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
3142
3147 virtual void finaliseFonts() = 0;
3148
3156 virtual void setShouldSubset(bool subset) = 0;
3157
3165 virtual void setShouldMerge(bool merge) = 0;
3166
3175 virtual void setIgnoreUnembeddedFonts(bool ignore) = 0;
3176
3185 virtual void setIgnoreRestrictedFonts(bool ignore) = 0;
3186
3196 virtual void setIgnoreFonts(const CU8StringVect &ignoreFonts) = 0;
3197
3202 virtual bool shouldMerge() = 0;
3203
3208 virtual bool shouldSubset() = 0;
3209 };
3210
3213
3222 {
3223 public:
3230 static JAWSMAKO_API IBlendSimplifierTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
3231
3232 /*
3233 * No configuration.
3234 */
3235 };
3236
3239
3246 {
3247 public:
3254 static JAWSMAKO_API ISoftMaskConverterTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
3255
3262 virtual void setResolution(uint32 resolution) = 0;
3263 };
3264
3267
3275 {
3276 public:
3283 static JAWSMAKO_API IFormDeduplicatorTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
3284
3285 /*
3286 * No configuration.
3287 */
3288 };
3289
3292
3303 {
3304 public:
3311 static JAWSMAKO_API IShadingPatternNoiserTransformPtr create(const IJawsMakoPtr &jawsMako,
3312 const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
3313
3319 virtual void setNoiseMagnitude(uint8 magnitude) = 0;
3320
3327 virtual void setResolution(double xRes, double yRes = 0.0) = 0;
3328
3335 virtual void setCompress(bool compress) = 0;
3336 };
3337
3338}
3339
3340#endif
Definition edlvector.h:30
CEDLVector< CColorantInfo > CColorantInfoVect
Definition idomcolorspace.h:845
eDownsamplingMethod
The type of downsampling to be performed.
Definition idomimageresource.h:2065
eUpsamplingMethod
The type of downsampling to be performed.
Definition idomimageresource.h:2134
eTIFFCompression
Available TIFF compression schemes.
Definition idomimageresource.h:516
Base class Interface for all Reference Counted objects.
Definition ircobject.h:35
Class for tracking the graphics state leading to the point where a transform is applied.
Definition transforms.h:66
eBlackPointCompensation blackPointCompensation
The current black point compensation.
Definition transforms.h:119
void * transformPriv
Definition transforms.h:124
bool inUncoloredTilingBrush
Definition transforms.h:122
CTransformState()
Definition transforms.h:68
eRenderingIntent renderingIntent
Ignored if hasRenderingIntent is false.
Definition transforms.h:118
bool hasClipBounds
True if clipBounds is valid.
Definition transforms.h:114
eEdgeMode edgeMode
The current edge mode.
Definition transforms.h:120
FMatrix transform
The current transformation from default coordinates.
Definition transforms.h:113
FRect clipBounds
The bounds of the current clipping area.
Definition transforms.h:115
CTransformState stateInsideNode(const IDOMNodePtr &node, bool updateTransform=true, bool updateClip=true, bool updateRenderingIntent=true, bool updateEdgeMode=true) const
Return a new state consisting of this state concatenated with the state implied by the given node.
eBrushUsage brushUsage
Set when we descend into a brush.
Definition transforms.h:121
CTransformState stateInsideBrush(const IDOMBrushPtr &brush, eBrushUsage brushUsage, bool updateTransform=true, bool updateClip=true) const
Return a new state consisting of this state concatenated with the state implied by the given brush.
IDOMColorSpacePtr groupColorSpace
The current group color space.
Definition transforms.h:116
bool hasRenderingIntent
True if an explicit rendering intent has been applied.
Definition transforms.h:117
CTransformState(const IDOMNodePtr &node)
Initialise to the state that would be active inside the given node. An attempt will be made to determ...
A transform to transform linear or radial gradients with repeat or reflect padding to simpler types....
Definition transforms.h:3222
static JAWSMAKO_API IBlendSimplifierTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor=IProgressMonitorPtr())
Create the transform.
A simple transform that looks for CID CFF Fonts containing multiple SubFonts. Some viewers do not sup...
Definition transforms.h:1449
static JAWSMAKO_API ICFFCIDSplitterTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor=IProgressMonitorPtr())
Create the transform.
A simple transform that scans and sanitizes CFF Fonts for wider interoperability.
Definition transforms.h:1479
static JAWSMAKO_API ICFFSanitizerTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor=IProgressMonitorPtr())
Create the transform.
A transform for color conversion, converting all appropriate DOM contents to a desired target color s...
Definition transforms.h:976
virtual void setConvertICCSpacesWithProfileVersionGreaterThan(uint8 majorVersion, uint8 minorVersion)=0
Set the maximum allowed version of ICC Profiles allowed. Anything with a higher version will be conve...
virtual void setKeepOverprintMode(bool keep=true)=0
Set whether or not to drop the overprint mode when converting color spaces.
virtual void setInspectDeviceNAlternateSpace(bool inspect)=0
If setShouldConvertForSpaceType() is set to false for IDOMColorSpace::eDeviceN, then normally it will...
virtual void setConvertOnlyDeviceIndependentColors(bool convert)=0
Sets whether or not only device-independent colors should be converted. Useful for cases where device...
virtual void setKeepDeviceN(bool keep)=0
If a DeviceN color results in a color conversion into the target space, setting this to true results ...
virtual void setIgnoreImagesWithSimilarColorSpaces(bool ignore)=0
Sets whether or not images can be ignored if their color space is deemed to be similar to the target ...
virtual void setConvertColorsInsideLuminositySoftMasks(bool convert=true)=0
Set whether the contents of Luminosity Soft Masks should be converted or not.
static JAWSMAKO_API IColorConverterTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor=IProgressMonitorPtr())
Create the transform.
virtual void setOverrideRenderingIntent(eRenderingIntent intent)=0
Sets an override rendering intent. By default this is not set. If set, this intent is used instead of...
virtual void useDOMRenderingIntents(bool use)=0
Set whether or not to use explicit rendering intents in the DOM when performing conversion....
virtual void setDeviceNHandling(bool convertProcess=true, bool mergeSpots=true, const IDOMColorSpaceDeviceN::CColorantInfoVect &spotsToMerge=IDOMColorSpaceDeviceN::CColorantInfoVect(), const CSpotColorNames &spotsToRetain=CSpotColorNames(), const CSpotColorNames &spotsToDrop=CSpotColorNames(), bool knockoutDroppedSpots=true)=0
Control handling of DeviceN color spaces.
virtual void setInspectDeviceNColorantsAlternateSpace(bool inspect)=0
If setInspectDeviceNAlternateSpace() is true and applies, and this parameter is set to true,...
virtual void setConvertICCColorsWithNumComponents(uint8 numComponents, bool convert=true)=0
Set whether objects with ICC color spaces with the given number of components should be converted....
virtual void setBlackPreservation(bool preserveForText, bool preserveForOther)=0
Enable/control 100% black preservation.
virtual void setSWOPTargetSpace()=0
Set the desired target space to the default SWOP color profile.
virtual void setShouldConvertForSpaceType(IDOMColorSpace::eColorSpaceType type, bool convert=true)=0
Set whether or not objects using a certain color space type should be converted. The default for all ...
virtual IDOMColorSpacePtr getTargetSpace()=0
Get the target color space for conversion.
virtual void setConvertIndependentToSimilarDeviceSpace(bool convert)=0
If setConvertOnlyDeviceIndependentColors() has been set to true, this controls the conversion behavio...
virtual void setTargetProfile(const IDOMICCProfilePtr &profile)=0
Set the desired target space using an ICC profile.
virtual void setConvertThroughTransparencyGroupColorSpaces(bool useGroups=true)=0
Set whether or not the page group and isolated transparency group color spaces should be used when co...
virtual bool wouldConvertForSpaceType(IDOMColorSpace::eColorSpaceType type)=0
Get whether or not objects using a certain color space type would be converted.
virtual void setTargetSpace(const IDOMColorSpacePtr &targetSpace)=0
Set the desired target color space for conversion. The default is DeviceRGB. Indexed or DeviceN color...
virtual void setForceImageSampleConversion(bool force)=0
Sets whether or not color conversion of image samples should be forced, even for cases where the sour...
virtual void setIgnoreRenderedImages(bool ignore)=0
Sets whether or not images can be ignored if they are the result of the IRendererTransform....
A simple transform that looks for DeviceN or Indexed color spaces, and where found,...
Definition transforms.h:1323
static JAWSMAKO_API IComplexColorSimplifierTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor=IProgressMonitorPtr())
Create the transform.
A transform for performing font subsetting and merging, but it only replaces modified fonts with plac...
Definition transforms.h:3131
virtual bool shouldMerge()=0
Determine if font merging has been enabled.
virtual void setIgnoreFonts(const CU8StringVect &ignoreFonts)=0
Specify a list of font names that should not be processed by this transform. A font will be ignored i...
virtual bool shouldSubset()=0
Determine if font subsetting has been enabled.
virtual void finaliseFonts()=0
Finalise any fonts, ensuring that any placeholders have now been populated with real font data.
virtual void setIgnoreRestrictedFonts(bool ignore)=0
Set whether or not fonts that are marked as restricted should be ignored by this transform.
static JAWSMAKO_API IFontProcessorDeferredTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor=IProgressMonitorPtr())
Create the transform.
virtual void setShouldSubset(bool subset)=0
Set whether or not subsetting should be performed.
virtual void setShouldMerge(bool merge)=0
Set whether or not font merging should be performed.
virtual void setIgnoreUnembeddedFonts(bool ignore)=0
Set whether or not fonts that are not marked for embedding should be ignored by this transform.
virtual ~IFontProcessorDeferredTransform()
Definition transforms.h:3133
A transform for performing font subsetting and merging.
Definition transforms.h:3030
static JAWSMAKO_API IFontProcessorTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor=IProgressMonitorPtr())
Create the transform.
virtual void setIgnoreUnembeddedFonts(bool ignore)=0
Set whether fonts that are not marked for embedding should be ignored by this transform.
virtual void setShouldSubset(bool subset)=0
Set whether subsetting should be performed.
virtual bool shouldMerge()=0
Determine if font merging has been enabled.
virtual ~IFontProcessorTransform()
Definition transforms.h:3032
virtual void setShouldMerge(bool merge)=0
Set whether font merging should be performed.
virtual void setIgnoreRestrictedFonts(bool ignore)=0
Set whether fonts that are marked as restricted should be ignored by this transform.
virtual void setIgnoreFonts(const CU8StringVect &ignoreFonts)=0
Specify a list of font names that should not be processed by this transform. A font will be ignored i...
virtual bool shouldSubset()=0
Determine if font subsetting has been enabled.
A transform that attempts to deduplicate graphically identical IDOMForm objects. Note that non-graphi...
Definition transforms.h:3275
static JAWSMAKO_API IFormDeduplicatorTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor=IProgressMonitorPtr())
Create the transform.
A transform for unpacking an IDOMFormInstance directly into the DOM tree. That is,...
Definition transforms.h:1688
static JAWSMAKO_API IFormUnpackerTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor=IProgressMonitorPtr())
Create the transform.
virtual void setUnpackFlaggedFormInstancesOnly(bool unpack)=0
Sets whether or not only IDOMFormInstances with the eNodeUnpackFlag flag set will be unpacked.
A transform for downsampling images above a given effective resolution to a desired target effective ...
Definition transforms.h:524
virtual float getMonoTargetResolution()=0
Get the target resolution (dpi) for downsampling mono images.
virtual IDOMImageDownsamplerFilter::eDownsamplingMethod getMonoDownsamplingMethod() const =0
Get the downsampling method to be used for mono images.
virtual void setMonoThresholdResolution(float resolution)=0
Set a threshold resolution (dpi) for downsampling monochrome images. Only images with an effective re...
virtual IDOMImageDownsamplerFilter::eDownsamplingMethod getGrayDownsamplingMethod() const =0
Get the downsampling method to be used for gray images.
virtual float getColorTargetResolution()=0
Get the target resolution (dpi) for downsampling color images.
virtual void setGrayTargetResolution(float resolution)=0
Set a target resolution (dpi) for downsampling gray images. This will also set the threshold resoluti...
virtual void setGrayThresholdResolution(float resolution)=0
Set a threshold resolution (dpi) for downsampling gray images. Only images with an effective resoluti...
static JAWSMAKO_API IImageDownsamplerTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor=IProgressMonitorPtr())
Create the transform.
virtual void setUseMaskResolutionForMaskedImages(bool useMaskResolutionSettingForMaskedImages)=0
Set whether or not the mask resolution setting should be applied to the image portion of a masked ima...
virtual void setTargetResolution(float resolution)=0
Set a blanket target resolution (dpi) for downsampling all images. This will also set the threshold r...
virtual void setMonoTargetResolution(float resolution)=0
Set a target resolution (dpi) for downsampling monochrome images. This will also set the threshold re...
virtual void setGrayDownsamplingMethod(IDOMImageDownsamplerFilter::eDownsamplingMethod method)=0
Set the desired downsampling method for gray images The default is bicubic.
virtual void setUseFloatingPointResolutions(bool useFloatingPointResolutions)=0
Set whether or not to force final images to have integer resolutions.
virtual void setColorDownsamplingMethod(IDOMImageDownsamplerFilter::eDownsamplingMethod method)=0
Set the desired downsampling method for color images. The default is bicubic.
virtual void setDownsampleMaskedImages(bool downsampleMaskedImages)=0
Set whether to downsample masked images.
virtual float getMonoThresholdResolution()=0
Get the threshold resolution (dpi) for downsampling mono images.
virtual float getGrayThresholdResolution()=0
Get the threshold resolution (dpi) for downsampling gray images.
virtual void setColorThresholdResolution(float resolution)=0
Set a threshold resolution (dpi) for downsampling color images. Only images with an effective resolut...
virtual float getColorThresholdResolution()=0
Get the threshold resolution (dpi) for downsampling color images.
virtual void setThresholdResolution(float resolution)=0
Set a blanket threshold resolution (dpi) for downsampling all images. Only images with an effective r...
virtual void setColorTargetResolution(float resolution)=0
Set a target resolution (dpi) for downsampling color images. This will also set the threshold resolut...
virtual IDOMImageDownsamplerFilter::eDownsamplingMethod getColorDownsamplingMethod() const =0
Get the downsampling method to be used for color images.
virtual float getGrayTargetResolution()=0
Get the target resolution (dpi) for downsampling gray images.
virtual void setMonoDownsamplingMethod(IDOMImageDownsamplerFilter::eDownsamplingMethod method)=0
Set the desired downsampling method for monochrome images. The default is subsample.
A simple transform for image encoding. Most useful for encoding abstract images such as IDOMRecombine...
Definition transforms.h:360
virtual void setEnableTIFFEncoding(bool value)=0
Set whether or not TIFF should ever be allowed. The default value is true. This is needed as some out...
virtual void setReencodeMultiImageTIFF(bool value)=0
Set whether or not TIFF images that use any image other than the first image in the TIFF file should ...
virtual void setEncodeSolidColorMaskedBrushesAsSingleImage(bool encode)=0
Set whether or not IDOMMaskedBrushes where the sub-brush is a solid color should be encoded as an ima...
virtual void setJPEGQuality(uint8 quality)=0
Set the JPEG encoding quality when JPEG encoding is used.
virtual eEncodeFormat getPreferredMonoFormat() const =0
Get the preferred format for monochrome images.
virtual eEncodeFormat getPreferredGrayFormat() const =0
Get the preferred format for gray images.
virtual void setColorTIFFCompression(IDOMTIFFImage::eTIFFCompression scheme)=0
Set the preferred TIFF compression when TIFF encoding is used for color images. Only PackBits,...
virtual eEncodeFormat getPreferredColorFormat() const =0
Get the preferred format for color images.
virtual void setPreferredMonoFormat(eEncodeFormat format)=0
Set the preferred format for monochrome images. This is only a preference and may not be honoured in ...
virtual void setReencodeAllImages(bool value)=0
Sets whether or not all images should be reencoded. The default is false; that is,...
virtual void setMonoTIFFCompression(IDOMTIFFImage::eTIFFCompression scheme)=0
Set the preferred TIFF compression when TIFF encoding is used for monochrome images....
virtual void setPreferredFormat(eEncodeFormat format)=0
Set the preferred format for all images. This is only a preference and may not be honoured in all cas...
virtual void setPreferredGrayFormat(eEncodeFormat format)=0
Set the preferred format for gray images. This is only a preference and may not be honoured in all ca...
static JAWSMAKO_API IImageEncoderTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor=IProgressMonitorPtr())
Create the transform.
virtual void setPreferredColorFormat(eEncodeFormat format)=0
Set the preferred format for color images. The default is eEFAuto.
eEncodeFormat
Available target image formats.
Definition transforms.h:404
@ eEFPNG
PNG.
Definition transforms.h:407
@ eEFJPEG
JPEG.
Definition transforms.h:406
@ eEFTIFF
TIFF.
Definition transforms.h:408
@ eEFAuto
Choose an appropriate format for each image.
Definition transforms.h:405
virtual void setGrayTIFFCompression(IDOMTIFFImage::eTIFFCompression scheme)=0
Set the preferred TIFF compression when TIFF encoding is used for gray images. Only PackBits,...
virtual void setTIFFCompression(IDOMTIFFImage::eTIFFCompression scheme)=0
Set the preferred TIFF compression when TIFF encoding is used.
virtual uint8 getJPEGQuality() const =0
Get the currently set JPEG encoding quality, where 1 being lowest quality and 5 being highest quality...
A simple transform that looks for nearby images and attempts to glom them together in a single image....
Definition transforms.h:1352
virtual void setAllowMaskedResults(bool allowMasked)=0
Sets whether or a mask channel is allowed in the merged result.
static JAWSMAKO_API IImageMergerTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor=IProgressMonitorPtr())
Create the transform.
A transform for upsampling images below a given effective resolution to a desired target effective re...
Definition transforms.h:779
virtual void setUpsampleMaskedImages(bool upsampleMaskedImages)=0
Set whether to upsample masked images.
virtual void setTargetResolution(float resolution)=0
Set a blanket target resolution (dpi) for upsampling all images. This will also set the threshold res...
virtual void setGrayTargetResolution(float resolution)=0
Set a target resolution (dpi) for upsampling gray images. This will also set the threshold resolution...
static JAWSMAKO_API IImageUpsamplerTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor=IProgressMonitorPtr())
Create the transform.
virtual void setUseFloatingPointResolutions(bool useFloatingPointResolutions)=0
Set whether or not to force final images to have integer resolutions.
virtual void setThresholdResolution(float resolution)=0
Set a blanket threshold resolution (dpi) for upsampling all images. Only images with an effective res...
virtual void setUseMaskResolutionForMaskedImages(bool useMaskResolutionSettingForMaskedImages)=0
Set whether or not the mask resolution setting should be applied to the image portion of a masked ima...
virtual void setMonoUpsamplingMethod(IDOMImageUpsamplerFilter::eUpsamplingMethod method)=0
Set the desired upsampling method for monochrome images. The result will always be a gray image....
virtual void setColorTargetResolution(float resolution)=0
Set a target resolution (dpi) for upsampling color images. This will also set the threshold resolutio...
virtual void setMonoThresholdResolution(float resolution)=0
Set a threshold resolution (dpi) for upsampling monochrome images. Only images with an effective reso...
virtual void setColorThresholdResolution(float resolution)=0
Set a threshold resolution (dpi) for upsampling color images. Only images with an effective resolutio...
virtual void setGrayUpsamplingMethod(IDOMImageUpsamplerFilter::eUpsamplingMethod method)=0
Set the desired upsampling method for gray images The default is bicubic.
virtual void setGrayThresholdResolution(float resolution)=0
Set a threshold resolution (dpi) for upsampling gray images. Only images with an effective resolution...
virtual void setMonoTargetResolution(float resolution)=0
Set a target resolution (dpi) for upsampling monochrome images. This will also set the threshold reso...
virtual void setColorUpsamplingMethod(IDOMImageUpsamplerFilter::eUpsamplingMethod method)=0
Set the desired upsampling method for color images. The default is bicubic.
A simple transform that strips the DOM of any PDF optional content that is not visible for the given ...
Definition transforms.h:1391
static JAWSMAKO_API IOptionalContentFixerTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor=IProgressMonitorPtr())
Create the transform.
virtual void setOptionalContentUsage(eOptionalContentUsage usage)=0
Sets the usage of the optional content items that should be retained. The default is eOCUView.
virtual void setOptionalContent(const IOptionalContentPtr &optionalContent)=0
Sets the optional content data to use when making decisions. Without this, the status of the optional...
eOptionalContentUsage
Definition transforms.h:1406
@ eOCUPrint
Definition transforms.h:1408
@ eOCUExport
Definition transforms.h:1409
@ eOCUView
Definition transforms.h:1407
A transform that modifies DOM such that any overprint present in the DOM will be visible when written...
Definition transforms.h:2829
virtual void setSimulateBlackDeviceGrayTextOverprint(bool simulate)=0
Set whether or not overprint simulation should be performed for 100% black DeviceGray text.
virtual void setUseVectorFlattener(bool useVectorFlattener)=0
Set whether or not to use the vector flattener mode when flattening is required.
static JAWSMAKO_API IOverprintSimulationTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor=IProgressMonitorPtr())
Create the transform.
virtual void setSimulationColorSpace(const IDOMColorSpacePtr &simulationSpace)=0
Set the simulation color space.
virtual void setResolution(uint32 resolution)=0
Set the target resolution to use when any rendering must be performed. The default is 300dpi....
Very simple transform for cropping pages to one of the standard boxes.
Definition transforms.h:2892
eBox
Enumeration of standard boxes.
Definition transforms.h:2898
@ eBTrim
Refers to a TrimBox.
Definition transforms.h:2901
@ eBBleed
Refers to a BleedBox.
Definition transforms.h:2902
@ eBContent
Refers to an ArtBox.
Definition transforms.h:2900
@ eBCrop
Refers to a CropBox.
Definition transforms.h:2899
virtual void setShouldClip(bool clip)=0
Sets whether or not the area being cropped should be clipped also. The default is true.
virtual void setCropBox(eBox cropBox)=0
Sets the box to crop to. The default is the crop box.
static JAWSMAKO_API IPageCropperTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor=IProgressMonitorPtr())
Create the transform.
Transform to convert PDF/PS tiling/shading patterns to XPS- compatible forms where possible.
Definition transforms.h:2943
static JAWSMAKO_API IPatternConverterTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor=IProgressMonitorPtr())
Create the transform.
virtual void setMaxType3Samples(uint32 maxSamples)=0
If converting Type 3 shades, what is the maximum number of samples to take from the function to gener...
virtual void setConvertType3ShadingPatterns(bool convert)=0
Set whether or not Type 3 shades should be converted. The default is true.
virtual void setMaxType2Samples(uint32 maxSamples)=0
If converting Type 2 shades, what is the maximum number of samples to take from the function to gener...
virtual void setConvertType2ShadingPatterns(bool convert)=0
Set whether or not Type 2 shades should be converted. The default is true.
A transform for applying redaction redactions.
Definition transforms.h:2729
virtual void setResolution(uint32 resolution)=0
Set the target resolution to use when rendering redacted sections. The default is 300dpi....
virtual void setTargetSpace(const IDOMColorSpacePtr &targetSpace)=0
Set the color space to use when rendering redacted sections. The default is DeviceRGB....
virtual void setGenerateMasks(bool generateMasks)=0
Set whether masks should be generated when rendering redacted sections. The default is true.
static JAWSMAKO_API IRedactorTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor=IProgressMonitorPtr())
Create the transform.
Definition transforms.h:2615
eInkColorSource inkSource
Definition transforms.h:2626
bool operator==(const CInkInfo &other) const
Definition transforms.h:2628
IDOMColorPtr inkColor
Definition transforms.h:2618
String getInkName(eInkFallbackEncoding fallbackEncoding) const
Definition transforms.h:2644
bool operator!=(const CInkInfo &other) const
Definition transforms.h:2634
RawString inkName
Definition transforms.h:2617
String getInkName() const
Definition transforms.h:2639
eInkColorSource
Definition transforms.h:2620
@ eICSTintTransform
Definition transforms.h:2622
@ eICSNoViableColorFound
Definition transforms.h:2621
@ eICSColorantInfo
Definition transforms.h:2624
@ eICSSeparationSpace
Definition transforms.h:2623
A transform for selective rendering of sections of a DOM tree, replacing the rendered items with an i...
Definition transforms.h:1731
virtual void setBlackPreservation(bool preserveForText, bool preserveForOther)=0
Enabling 100% black preservation preserves a 100% black output when rendering/flattening for certain ...
virtual void setPreserveSpots(const CSpotColorNames &preservedSpots)=0
Provide a list of spots to retain in the output, if present. In the default case, no spots will be re...
virtual void setUseImageResolutionForRenderingWherePossible(bool enable)=0
Set whether or not areas with compatible images may be rendered at image resolution if possible when ...
virtual void renderConeGradients(bool render)=0
Set whether radial gradients with a cone shape should be rendered.
virtual void setPreserveAllSpots(bool preserve)=0
Alternatively preserve all spot colors in the output. The default is false. This function will fail i...
virtual void setVectorAreaSourceReuseCacheSize(uint32 count)=0
Set whether or not the renderer, with vector mode enabled, should attempt to cache entire flattened a...
static JAWSMAKO_API IRendererTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor=IProgressMonitorPtr())
Create the transform.
virtual void setVectorAndTextResolution(uint32 resolution)=0
Set the desired resolution for vector and textual content when vector flattening mode is enabled (see...
virtual void setSpotHalftone(float frequency, bool useFullResolutionForFlattening=false)=0
Set the simple spot halftone to be used when monochrome mode is enabled.
virtual void renderGlyphsWithNonEditableFont(bool render)=0
Set whether glyphs using a font that is not allowed in an edited document (according to its OS/2 fsTy...
virtual void renderGlyphsWithStyleSimulation(bool render)=0
Set whether glyphs with style simulations should be rendered.
virtual bool probe(const IDOMNodePtr &node)=0
Probe the node, checking to see if the renderer transform would have any effect on this node if trans...
virtual void renderNonCanvasTransparencyGroups(bool render)=0
Set whether transparency groups that cannot be represented as a canvas should be rendered.
CEDLVector< CInkInfo > CInkInfoVect
Definition transforms.h:2649
virtual void setDropSpots(const CSpotColorNames &droppedSpots)=0
Provide a list of spots to drop from rendered content. In the default case, no spots will be dropped....
virtual void setMergeSpots(const CSpotColorNames &mergedSpots)=0
Merge the given spot components into the process components after rendering. This is only currently p...
virtual void renderComplexTilingPatterns(bool render)=0
Set whether to render tiling pattern brushes that cannot currently be converted to a visual brush by ...
virtual void setMarkVectorFlattenedFontsForEmbedding(bool embed)=0
Set whether or not fonts that are used for vector flattening should be marked for embedding.
virtual void setGenerateMasks(bool generate)=0
Set whether to generate masked images as the rendered result. If true, the individual images generate...
virtual void renderVisualBrushesWithViewPortLargerThan(double val)=0
Set whether visual brushes with a ViewPort above a certain size should be rendered....
virtual void setResolution(uint32 resolution)=0
Sets the target resolution for rendering, in dpi. The default is 300dpi.
bool(* ShouldRenderNodeFunc)(void *priv, const IDOMNodePtr &node)
Definition transforms.h:2411
virtual void renderOpacityMaskedNodes(bool render)=0
Set whether nodes with opacity masks should be rendered.
virtual void setMergeAllSpots(bool merge)=0
Alternatively merge all spot colors in the output. This is only currently possible when rendering to ...
virtual void renderMaskedImages(bool render)=0
Set whether images with boolean mask channels should be rendered.
virtual void setGenerateFlateCompressedPDFImages(bool enable)=0
Set whether or not the images generated by the renderer transform should be compressed with Flate as ...
static JAWSMAKO_API IDOMColorSpaceDeviceN::CColorantInfoVect inkInfoToColorantInfo(const IJawsMakoPtr &jawsMako, const CInkInfoVect &inkInfo, const IDOMColorSpacePtr &processSpace, const CColorManagerConfigPtr &overrideConfig=CColorManagerConfigPtr())
Static utility to convert a CInkInfoVect into DeviceN-compatible CColorantInfo vector.
virtual void setMinimumFlateCompressedImageSize(uint32 minSizePixels)=0
Set the minimum size, in pixels, of images that would be compressed with Flate according to setGenera...
virtual void setEnableVectorMode(bool enable)=0
Enable "vector" flattening mode.
virtual void setRasterFallbackResolution(uint32 resolution)=0
Set the resolution to be used for areas where vector mode falls back to raster mode....
static JAWSMAKO_API CInkInfoVect findInks(const IJawsMakoPtr &jawsMako, const IDOMNodePtr &nodeTree, const IProgressMonitorPtr &progressMonitor=IProgressMonitorPtr(), bool includeAll=false)
Find all the inks used in the given DOM node tree. Utility. Also makes an attempt to determine the co...
virtual void setThresholdHalftone(uint32 width, uint32 height, const CThresholdArray &thresholds)=0
Set a threshold array halftone to be used when monochrome mode is enabled.
virtual void setSWOPTargetSpace()=0
Convenience; Set the target space to CMYK using the default SWOP profile. This will fail if monochrom...
virtual void setEnableFormSnappingForVectorReuse(bool enable)=0
Set whether or not the renderer, with vector mode and vector image reuse enabled, should be allowed t...
virtual void setUseMultipleThreads(bool useMultipleThreads)=0
Set whether the transform should use multiple threads when rendering sections of the tree....
virtual void renderBrush(IDOMBrush::eBrushType brushType, bool render=true)=0
Set whether the brush of the given type should be rendered. In all cases, the default is false.
virtual void setRasterImageReuseCacheSize(uint32 reuseCacheSizeMB)=0
Set whether or not the renderer should attempt to cache rendered results for raster rendering,...
virtual void setVectorAreaFormReuseCacheSize(uint32 formCount)=0
Set whether or not the renderer, with vector mode enabled, should cache entire flattened sections as ...
virtual void enableTrueTypeNotDef(bool enable)=0
Set whether a TrueType font's .notdef glyph should be rendered. Note that this does not control wheth...
virtual void setRasterFallbackThreshold(uint32 threshold)=0
For cases where the vector mode is used, set the threshold at which to fall back to raster mode for a...
virtual void renderGlyphsWithType3Font(bool render)=0
Set whether glyphs using a Type 3 font should be rendered. The default is false.
virtual void ignoreNodesWithExcludeFlagSet(bool ignore)=0
Set whether nodes with the IDOMNodeFlags::eNodeExcludeFromRender set should be ignored....
virtual void ignoreBrushWhileScanning(IDOMBrush::eBrushType brushType, bool ignore=true)=0
Set whether the brush of the given type should be ignored when scanning for items to render....
CEDLVector< uint8 > CThresholdArray
Definition transforms.h:2062
virtual void setRenderObjectsIndividually(bool renderIndividually)=0
Set whether to render each renderable object into its own image. The default is false....
virtual void setMaximumRenderedResultPixels(uint64 maximum)=0
Set the maximum size (in pixels) of a rendered result. On large jobs or at very high resolutions,...
virtual void setRenderOncePerRenderableArea(bool renderOnce)=0
Set whether to render just one image per renderable region. That is, if true, the renderer will not p...
static JAWSMAKO_API CInkInfoVect findInksInColorSpace(const IJawsMakoPtr &jawsMako, const IDOMColorSpacePtr &colorSpace, bool includeAll=false)
Find all the inks we can determine from the given color space. Utility. Also makes an attempt to dete...
virtual void setRenderTransparentNodesOnPageGroupMismatch(bool render)=0
Set whether to render transparent nodes if the page blending group color space differs from the rende...
virtual uint32 getResolution() const =0
Get the target resolution for rendering.
virtual void setShouldRenderCallback(ShouldRenderNodeFunc func, void *priv)=0
Provides a callback function, called for each node that is not chosen for rendering according to any ...
virtual void renderNonNormalBlendedNodes(bool render)=0
Set whether nodes using a blend mode other than eBlendModeNormal should be rendered....
virtual void setMonochromeMode(bool enable=true)=0
Sets whether or not to use monochrome output. Use of this mode is supported only in specific circumst...
virtual IDOMColorSpacePtr getTargetSpace() const =0
Get the target color space for rendering.
virtual void renderComplexType3ShadingPatterns(bool render)=0
Set whether to render Type 3 shading pattern brushes that cannot currently be converted to a simpler ...
virtual void setVectorImageReuseCacheSize(uint32 reuseCacheSizeMB)=0
Set whether or not the renderer, with vector mode enabled, should attempt to reused flattened section...
virtual void renderTransparentNodes(bool render)=0
Set whether transparent objects should be rendered. Useful for blanket flattening of all transparency...
virtual void setTargetSpace(const IDOMColorSpacePtr &space)=0
Sets the target final color space for rendered content. scRGB, Indexed, DeviceN or LAB spaces are not...
virtual void setFormReconstructionCacheSize(uint32 formCount)=0
Set whether or not the renderer should attempt to reconstruct forms that it needed to unpack due to t...
virtual void renderGlyphsWithRestrictedFont(bool render)=0
Set whether glyphs using a restricted font should be rendered. That is, a font which has bit 1 of the...
virtual void setTargetProfile(const IDOMICCProfilePtr &profile)=0
Sets the target final color space for rendered content, using a profile.
virtual void setMaximumImageAreaMultiple(float limit)=0
Set the maximum amount of allowed overdraw in the rendered results. Ordinarily the renderer attempts ...
virtual void renderGlyphsWithNonSubsettableFont(bool render)=0
Set whether glyphs using a font that is not allowed to be subset (according to its OS/2 fsType field)...
A transform that applies noise to Type 2 (axial) shading patterns, which can reduce the appearance of...
Definition transforms.h:3303
virtual void setResolution(double xRes, double yRes=0.0)=0
Set the resolution(s) to use when converting affected shading patterns to images. The default is 300 ...
virtual void setCompress(bool compress)=0
Set whether or not the output should be compressed (flate). This can improve performance significantl...
virtual void setNoiseMagnitude(uint8 magnitude)=0
Set the magnitude of the noise to add, in bits. The default is 2.
static JAWSMAKO_API IShadingPatternNoiserTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor=IProgressMonitorPtr())
Create the transform.
A transform that converts PDF style soft masks to opacity masks, suitable for XPS.
Definition transforms.h:3246
virtual void setResolution(uint32 resolution)=0
Set the resolution to be used where rendering is required. The default is 150dpi.
static JAWSMAKO_API ISoftMaskConverterTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor=IProgressMonitorPtr())
Create the transform.
A transform for converting some or all stroked paths into plain filled paths.
Definition transforms.h:1519
virtual void setConvertForLineCap(IDOMPathNode::eStrokeLineCap cap, bool convert=true)=0
Sets whether or not strokes containing the given line cap type should be converted....
virtual void setMiterErrorThreshold(float maxError)=0
Sets the approximate allowable amount of error, in pixels at the target resolution,...
virtual void setConvertForMiterTreatment(IDOMPathNode::eStrokeMiterLimitTreatment treatment, bool convert=true)=0
Sets whether or not the stroker should convert paths with the given miter treatment mode....
virtual void setupForPDFStyleOutput()=0
Sets up the stroker transform for output to a PDF style consumer.
virtual void setConvertForDashCap(IDOMPathNode::eStrokeLineCap cap, bool convert=true)=0
Sets whether or not strokes containing the given dash cap type should be converted....
static JAWSMAKO_API IStrokerTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor=IProgressMonitorPtr())
Create the transform.
virtual void setConvertForMismatchedDashCap(bool convert)=0
Sets whether or not strokes where the line is dashed and the dash cap does not match both of the line...
virtual void setConvertForNonStrokingSegments(bool convert)=0
Sets whether or not strokes with any segments marked non-stroking should be converted....
virtual void setTargetResolution(float resolution)=0
Sets the target resolution (dpi) of the eventual consumer. In some situations the stroker will need t...
virtual void setConvertAllStrokes(bool convert)=0
Sets whether or not the stroker should convert all stroked paths into fills. The default is true.
virtual void setupForXPSStyleOutput()=0
Sets up the stroker transform for output to an XPS style consumer.
virtual void setConvertForDashedStrokes(bool convert)=0
Sets whether or not to convert paths with dashed strokes. The default is false but this is ignored if...
virtual void setConvertForJoin(IDOMPathNode::eStrokeLineJoin join, bool convert=true)=0
Sets whether or not strokes containing the given line join type should be converted....
virtual void setConvertForNonTilingVisualOrImageStrokes(bool convert)=0
Sets whether or not to convert paths with non-tiling visual or image brushes. The default is false bu...
virtual void setConvertForMismatchedCaps(bool convert)=0
Sets whether or not strokes where the start and end line cap do not match should be converted....
ITransformChain represents a change of ITransforms, and provides a method of applying a range of tran...
Definition transforms.h:256
virtual void removeTransform(uint32 index)=0
Remove the ITransform at the specified index from the ITransformChain.
virtual void flushCaches()=0
Flush the caches used by the transforms in the chain. Most transforms cache recently transformed resu...
virtual void pushTransformFront(const ITransformPtr &transform)=0
Push an ITransform onto the front of the ITransformChain. Should not be called if another thread is c...
virtual CTransformVect getTransforms() const =0
Get the transforms in a vector.
virtual void pushTransform(const ITransformPtr &transform)=0
Push an ITransform onto the end of the ITransformChain. Should not be called if another thread is cur...
virtual IDOMNodePtr transform(const IDOMNodePtr &node)=0
Apply the transform chain to the given node and its children, returning the resulting node....
static JAWSMAKO_API ITransformChainPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor=IProgressMonitorPtr(), const CTransformVect &transforms=CTransformVect())
Create a new transform chain.
virtual ITransformChainPtr clone()=0
Clones this ITransformChain into a new object that can be manipulated independently of the original.
virtual void transformPage(const IPagePtr &page, bool transformContent=true, bool transformAnnotations=true)=0
Apply the transform chain to the given page, if applicable. The transform will also apply to the anno...
virtual ~ITransformChain()
Definition transforms.h:258
virtual IDOMNodePtr transform(const IDOMNodePtr &node, bool &changed)=0
Apply the transform chain to the given node and its children, returning the resulting node,...
ITransforms provide a method of applying common operations on DOM objects such as brushes,...
Definition transforms.h:142
virtual void setProgressMonitor(const IProgressMonitorPtr &progressMonitor)=0
Set the IProgressMonitor object for this transform to allow for monitoring the progress of the transf...
virtual void transformPage(const IPagePtr &page, bool transformContent=true, bool transformAnnotations=true)=0
Apply the transform to the given page, if applicable. These transforms are thread safe,...
virtual IDOMColorSpacePtr transform(const IDOMColorSpacePtr &colorSpace, const CTransformState &state=CTransformState())=0
Apply the transform to the given color space, if applicable. These transforms are thread safe.
virtual IDOMBrushPtr transform(const IDOMBrushPtr &brush, eBrushUsage usage=eBUGeneral, const CTransformState &state=CTransformState())=0
Apply the transform to the given brush, if applicable. These transforms are thread safe.
virtual ~ITransform()
Definition transforms.h:144
virtual IDOMColorPtr transform(const IDOMColorPtr &color, const CTransformState &state=CTransformState())=0
Apply the transform to the given color, if applicable. These transforms are thread safe.
virtual void flushCaches()=0
Flush the caches used by the transform. Most transforms cache recently transformed results to improve...
virtual IDOMNodePtr transform(const IDOMNodePtr &node, bool &changed, bool transformChildren=true, const CTransformState &state=CTransformState())=0
Apply the transform to the given node, if applicable. These transforms are thread safe,...
virtual IDOMImagePtr transform(const IDOMImagePtr &image, const CTransformState &state=CTransformState())=0
Apply the transform to the given image, if applicable. These transforms are thread safe.
A transform for unpacking glyphs using a Type 3 font into regular DOM.
Definition transforms.h:2781
static JAWSMAKO_API IType3UnpackerTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor=IProgressMonitorPtr())
Create the transform.
CTransformMatrix< double > FMatrix
Definition edlgeom.h:1294
RectTmpl< double > FRect
Definition edlgeom.h:347
unsigned int uint32
Definition edltypes.h:34
unsigned long long uint64
Definition edltypes.h:35
unsigned char uint8
Definition edltypes.h:32
eBrushType
Brush type enumeration.
Definition idombrush.h:62
eColorSpaceType
Color spaces type enumeration.
Definition idomcolorspace.h:52
eBlackPointCompensation
Black point compensation enumeration.
Definition edlblackpointcompensation.h:17
eRenderingIntent
Rendering intent enumeration.
Definition edlrenderingintent.h:17
@ eBPCDefault
Default behavior.
Definition edlblackpointcompensation.h:19
@ eRelativeColorimetric
Relative colorimetric rendering intent.
Definition edlrenderingintent.h:20
eStrokeLineJoin
Specifies the different ways in which the lines in the path could be joined.
Definition idompath.h:59
eStrokeLineCap
Specifies the different types of line end caps available.
Definition idompath.h:86
eStrokeMiterLimitTreatment
Chooses how miters that extend beyond the miter limit should be treated. ClipLongMiters specifies XPS...
Definition idompath.h:75
eEdgeMode
Available options for the RenderOptionsEdgeMode property, which controls anti-aliasing behavior on an...
Definition idomedgemode.h:19
@ eEMDefault
Definition idomedgemode.h:20
virtual void renderNodesWithRenderFlagSet(bool render)=0
Object selection for rendering.
eBrushUsage
When a CTransformState has been pushed for a brush, this indicates the usage of that brush....
Definition transforms.h:38
CEDLVector< ITransformPtr > CTransformVect
A vector of transform instances.
Definition transforms.h:246
@ eBUOpacityMask
Indicates an opacity mask.
Definition transforms.h:43
@ eBUFill
Indicates a fill.
Definition transforms.h:41
@ eBUGeneral
General brush.
Definition transforms.h:40
@ eBUStroke
Indicates a stroke.
Definition transforms.h:42
@ eBUNone
No usage indicated.
Definition transforms.h:39
@ eBUAlternateImage
Indicates an alternate image.
Definition transforms.h:44
EDLSysString RawString
A raw, 8 bit string. Encoding depends on context.
Definition types.h:152
EDLString String
A wide character string (UTF-16 on Windows, UTF-32 on all other platforms)
Definition types.h:140
Progress monitoring, event handling and abort signalling.
Definition apexcustompostprocess.h:17
EDL::IProgressMonitorPtr IProgressMonitorPtr
Definition types.h:87
JAWSMAKO_API String inkNameToString(const RawString &string)
Convert string used for ink name to String (wide char)
CEDLSysStringVect CU8StringVect
Definition types.h:169
CEDLVector< U8String > CSpotColorNames
Definition types.h:171
eInkFallbackEncoding
An enumeration of fallback encoding schemes to use for decoding PDF ink names that are not presented ...
Definition types.h:314
#define DECL_SMART_PTR(cls)
Definition smartptr.h:211
Transforms for JawsMako, allowing direct modification of individual brushes, nodes,...
#define JAWSMAKO_API
Definition types.h:29