Mako 9.1.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/types.h>
16#include <jawsmako/transforms.h>
17#include <edl/idompath.h>
18#include <edl/idomglyphs.h>
19#include <edl/idombrush.h>
20#include <edl/iabort.h>
21
22namespace JawsMako
23{
24 using namespace EDL;
25
42
62 {
63 public:
68
77 CTransformState(const IDOMNodePtr &node);
78
90 CTransformState stateInsideNode(const IDOMNodePtr &node, bool updateTransform = true, bool updateClip = true, bool updateRenderingIntent = true, bool updateEdgeMode = true) const;
91
103 CTransformState stateInsideBrush(const IDOMBrushPtr &brush,
105 bool updateTransform = true,
106 bool updateClip = true) const;
107
108 public:
112 IDOMColorSpacePtr groupColorSpace;
122 };
123
137 class ITransform : public IRCObject
138 {
139 public:
140 virtual ~ITransform() {}
141
153 virtual IDOMBrushPtr transform(const IDOMBrushPtr &brush, eBrushUsage usage = eBUGeneral, const CTransformState &state = CTransformState()) = 0;
154
165 virtual IDOMImagePtr transform(const IDOMImagePtr &image, const CTransformState &state = CTransformState()) = 0;
166
177 virtual IDOMColorPtr transform(const IDOMColorPtr &color, const CTransformState &state = CTransformState()) = 0;
178
188 virtual IDOMColorSpacePtr transform(const IDOMColorSpacePtr &colorSpace, const CTransformState &state = CTransformState()) = 0;
189
204 virtual IDOMNodePtr transform(const IDOMNodePtr &node, bool &changed, bool transformChildren = true, const CTransformState &state = CTransformState()) = 0;
205
215 virtual void transformPage(const IPagePtr &page, bool transformContent = true, bool transformAnnotations = true) = 0;
216
227 virtual void flushCaches() = 0;
228
233 virtual uint64 getConfigurationHash() const = 0;
234
240 virtual void setProgressMonitor (const IProgressMonitorPtr &progressMonitor) = 0;
241
242 };
243
249
258 {
259 public:
260 virtual ~ITransformChain() {}
261
269 static JAWSMAKO_API ITransformChainPtr create(const IJawsMakoPtr &jawsMako,
270 const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr(),
271 const CTransformVect &transforms = CTransformVect());
272
277 virtual void removeTransform(uint32 index) = 0;
278
284 virtual void pushTransform(const ITransformPtr &transform) = 0;
285
291 virtual void pushTransformFront(const ITransformPtr &transform) = 0;
292
297 virtual CTransformVect getTransforms() const = 0;
298
305 virtual IDOMNodePtr transform(const IDOMNodePtr &node) = 0;
306
316 virtual IDOMNodePtr transform(const IDOMNodePtr &node, bool &changed) = 0;
317
325 virtual void transformPage(const IPagePtr &page, bool transformContent = true, bool transformAnnotations = true) = 0;
326
337 virtual void flushCaches() = 0;
338
343 virtual ITransformChainPtr clone() = 0;
344 };
345
346 /*
347 * Individual ITransforms
348 */
349
352
362 {
363 public:
370 static JAWSMAKO_API IImageEncoderTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr());
371
372 /*
373 * Configuration.
374 */
375
382 virtual void setReencodeAllImages(bool value) = 0;
383
391 virtual void setEnableTIFFEncoding(bool value) = 0;
392
400 virtual void setReencodeMultiImageTIFF(bool value) = 0;
401
412
419 virtual void setPreferredFormat(eEncodeFormat format) = 0;
420
427 virtual void setPreferredMonoFormat(eEncodeFormat format) = 0;
428
434
441 virtual void setPreferredGrayFormat(eEncodeFormat format) = 0;
442
448
454 virtual void setPreferredColorFormat(eEncodeFormat format) = 0;
455
461
467 virtual void setJPEGQuality(uint8 quality) = 0;
468
474 virtual uint8 getJPEGQuality() const = 0;
475
482
490
498
506
514 };
515
516
519
526 {
527 public:
534 static JAWSMAKO_API IImageDownsamplerTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr());
535
536 /*
537 * Configuration.
538 */
539
547
554
562
569
579
586
593 virtual void setTargetResolution(float resolution) = 0;
594
602 virtual void setThresholdResolution(float resolution) = 0;
603
612 virtual void setColorTargetResolution(float resolution) = 0;
613
619 virtual float getColorTargetResolution() = 0;
620
628 virtual void setColorThresholdResolution(float resolution) = 0;
629
635 virtual float getColorThresholdResolution() = 0;
636
645 virtual void setGrayTargetResolution(float resolution) = 0;
646
652 virtual float getGrayTargetResolution() = 0;
653
661 virtual void setGrayThresholdResolution(float resolution) = 0;
662
668 virtual float getGrayThresholdResolution() = 0;
669
678 virtual void setMonoTargetResolution(float resolution) = 0;
679
685 virtual float getMonoTargetResolution() = 0;
686
694 virtual void setMonoThresholdResolution(float resolution) = 0;
695
701 virtual float getMonoThresholdResolution() = 0;
702
715 virtual void setDownsampleMaskedImages(bool downsampleMaskedImages) = 0;
716
742 virtual void setUseMaskResolutionForMaskedImages(bool useMaskResolutionSettingForMaskedImages) = 0;
743
765 virtual void setUseFloatingPointResolutions(bool useFloatingPointResolutions) = 0;
766
767 };
768
771
781 {
782 public:
789 static JAWSMAKO_API IImageUpsamplerTransformPtr create(const IJawsMakoPtr &jawsMako,
790 const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr());
791
792 /*
793 * Configuration.
794 */
795
803
811
819
826 virtual void setTargetResolution(float resolution) = 0;
827
835 virtual void setThresholdResolution(float resolution) = 0;
836
845 virtual void setColorTargetResolution(float resolution) = 0;
846
854 virtual void setColorThresholdResolution(float resolution) = 0;
855
864 virtual void setGrayTargetResolution(float resolution) = 0;
865
873 virtual void setGrayThresholdResolution(float resolution) = 0;
874
882 virtual void setMonoTargetResolution(float resolution) = 0;
883
891 virtual void setMonoThresholdResolution(float resolution) = 0;
892
905 virtual void setUpsampleMaskedImages(bool upsampleMaskedImages) = 0;
906
932 virtual void setUseMaskResolutionForMaskedImages(bool useMaskResolutionSettingForMaskedImages) = 0;
933
955 virtual void setUseFloatingPointResolutions(bool useFloatingPointResolutions) = 0;
956
957 };
958
961
978 {
979 public:
986 static JAWSMAKO_API IColorConverterTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
987
988 /*
989 * Configuration.
990 */
991
998 virtual void setTargetSpace(const IDOMColorSpacePtr &targetSpace) = 0;
999
1005 virtual IDOMColorSpacePtr getTargetSpace() = 0;
1006
1011 virtual void setTargetProfile(const IDOMICCProfilePtr &profile) = 0;
1012
1016 virtual void setSWOPTargetSpace() = 0;
1017
1026
1038 virtual void useDOMRenderingIntents(bool use) = 0;
1039
1081 virtual void setBlackPreservation(bool preserveForText, bool preserveForOther) = 0;
1082
1090 virtual void setConvertOnlyDeviceIndependentColors(bool convert) = 0;
1091
1102 virtual void setConvertIndependentToSimilarDeviceSpace(bool convert) = 0;
1103
1113 virtual void setInspectDeviceNAlternateSpace(bool inspect) = 0;
1114
1124 virtual void setInspectDeviceNColorantsAlternateSpace(bool inspect) = 0;
1125
1126
1138 virtual void setKeepDeviceN(bool keep) = 0;
1139
1149 virtual void setIgnoreImagesWithSimilarColorSpaces(bool ignore) = 0;
1150
1159 virtual void setIgnoreRenderedImages(bool ignore) = 0;
1160
1171 virtual void setForceImageSampleConversion(bool force) = 0;
1172
1181 virtual void setShouldConvertForSpaceType(IDOMColorSpace::eColorSpaceType type, bool convert = true) = 0;
1182
1190
1202 virtual void setConvertICCColorsWithNumComponents(uint8 numComponents, bool convert = true) = 0;
1203
1211 virtual void setConvertICCSpacesWithProfileVersionGreaterThan(uint8 majorVersion, uint8 minorVersion) = 0;
1212
1225 virtual void setConvertColorsInsideLuminositySoftMasks(bool convert = true) = 0;
1226
1241 virtual void setConvertThroughTransparencyGroupColorSpaces(bool useGroups = true) = 0;
1242
1249 virtual void setKeepOverprintMode(bool keep = true) = 0;
1250
1301 virtual void setDeviceNHandling(bool convertProcess = true,
1302 bool mergeSpots = true,
1304 const CSpotColorNames &spotsToRetain = CSpotColorNames(),
1305 const CSpotColorNames &spotsToDrop = CSpotColorNames(),
1306 bool knockoutDroppedSpots = true) = 0;
1307 };
1308
1309
1312
1325 {
1326 public:
1333 static JAWSMAKO_API IComplexColorSimplifierTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
1334
1335 /*
1336 * There is no configuration for this transform.
1337 */
1338 };
1339
1340
1343
1354 {
1355 public:
1362 static JAWSMAKO_API IImageMergerTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
1363
1364 /*
1365 * Configuration
1366 */
1367
1378 virtual void setAllowMaskedResults(bool allowMasked) = 0;
1379
1380 };
1381
1382
1385
1393 {
1394 public:
1401 static JAWSMAKO_API IOptionalContentFixerTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
1402
1403 /*
1404 * Configuration
1405 */
1406
1413
1421 virtual void setOptionalContent(const IOptionalContentPtr &optionalContent) = 0;
1422
1429 };
1430
1431
1434
1451 {
1452 public:
1459 static JAWSMAKO_API ICFFCIDSplitterTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
1460
1461 /*
1462 * There is no configuration for this transform.
1463 */
1464 };
1465
1468
1481 {
1482 public:
1489 static JAWSMAKO_API ICFFSanitizerTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
1490
1491 /*
1492 * There is no configuration for this transform.
1493 */
1494 };
1495
1496
1497 class IStrokerTransform;
1499
1521 {
1522 public:
1529 static JAWSMAKO_API IStrokerTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
1530
1531 /*
1532 * Configuration
1533 */
1534
1542 virtual void setTargetResolution(float resolution) = 0;
1543
1551 virtual void setupForXPSStyleOutput() = 0;
1552
1566 virtual void setupForPDFStyleOutput() = 0;
1567
1573 virtual void setConvertAllStrokes(bool convert) = 0;
1574
1575 /* @brief Conditions. If any are true a stroker will be converted to a fill */
1576
1583 virtual void setConvertForDashedStrokes(bool convert) = 0;
1584
1592 virtual void setConvertForNonTilingVisualOrImageStrokes(bool convert) = 0;
1593
1604 virtual void setConvertForMiterTreatment(IDOMPathNode::eStrokeMiterLimitTreatment treatment, bool convert = true) = 0;
1605
1616 virtual void setMiterErrorThreshold(float maxError) = 0;
1617
1625 virtual void setConvertForLineCap(IDOMPathNode::eStrokeLineCap cap, bool convert = true) = 0;
1626
1634 virtual void setConvertForDashCap(IDOMPathNode::eStrokeLineCap cap, bool convert = true) = 0;
1635
1642 virtual void setConvertForMismatchedCaps(bool convert) = 0;
1643
1650 virtual void setConvertForMismatchedDashCap(bool convert) = 0;
1651
1659 virtual void setConvertForJoin(IDOMPathNode::eStrokeLineJoin join, bool convert = true) = 0;
1660
1667 virtual void setConvertForNonStrokingSegments(bool convert) = 0;
1668
1669 };
1670
1671
1674
1690 {
1691 public:
1698 static JAWSMAKO_API IFormUnpackerTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
1699
1700 /*
1701 * Configuration
1702 */
1703
1712 virtual void setUnpackFlaggedFormInstancesOnly(bool unpack) = 0;
1713
1714 };
1715
1716
1717 class IRendererTransform;
1719
1733 {
1734 public:
1741 static JAWSMAKO_API IRendererTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
1742
1749 virtual bool probe(const IDOMNodePtr &node) = 0;
1750
1751 /*
1752 * Configuration
1753 */
1754
1760 virtual void setResolution(uint32 resolution) = 0;
1761
1766 virtual uint32 getResolution() const = 0;
1767
1776 virtual void setTargetSpace(const IDOMColorSpacePtr &space) = 0;
1777
1782 virtual IDOMColorSpacePtr getTargetSpace() const = 0;
1783
1789 virtual void setSWOPTargetSpace() = 0;
1790
1795 virtual void setTargetProfile(const IDOMICCProfilePtr &profile) = 0;
1796
1823 virtual void setEnableVectorMode(bool enable) = 0;
1824
1848
1856 virtual void setVectorAndTextResolution(uint32 resolution) = 0;
1857
1875 virtual void setRasterFallbackThreshold(uint32 threshold) = 0;
1876
1896 virtual void setRasterFallbackResolution(uint32 resolution) = 0;
1897
1910 virtual void setVectorImageReuseCacheSize(uint32 reuseCacheSizeMB) = 0;
1911
1924 virtual void setEnableFormSnappingForVectorReuse(bool enable) = 0;
1925
1941 virtual void setVectorAreaFormReuseCacheSize(uint32 formCount) = 0;
1942
1959
1977 virtual void setMarkVectorFlattenedFontsForEmbedding(bool embed) = 0;
1978
2004 virtual void setFormReconstructionCacheSize(uint32 formCount) = 0;
2005
2017 virtual void setRasterImageReuseCacheSize(uint32 reuseCacheSizeMB) = 0;
2018
2045 virtual void setMonochromeMode(bool enable = true) = 0;
2046
2062 virtual void setSpotHalftone(float frequency, bool useFullResolutionForFlattening = false) = 0;
2063
2065
2079 virtual void setThresholdHalftone(uint32 width, uint32 height, const CThresholdArray &thresholds) = 0;
2080
2099 virtual void setPreserveSpots(const CSpotColorNames &preservedSpots) = 0;
2100
2119 virtual void setPreserveAllSpots(bool preserve) = 0;
2120
2140 virtual void setMergeSpots(const CSpotColorNames &mergedSpots) = 0;
2141
2161 virtual void setMergeAllSpots(bool merge) = 0;
2162
2184 virtual void setDropSpots(const CSpotColorNames &droppedSpots) = 0;
2185
2225 virtual void setBlackPreservation(bool preserveForText, bool preserveForOther) = 0;
2226
2240 virtual void setGenerateMasks(bool generate) = 0;
2241
2249 virtual void setUseMultipleThreads(bool useMultipleThreads) = 0;
2250
2264 virtual void setRenderObjectsIndividually(bool renderIndividually) = 0;
2265
2276 virtual void setRenderOncePerRenderableArea(bool renderOnce) = 0;
2277
2294 virtual void setMaximumImageAreaMultiple(float limit) = 0;
2295
2318 virtual void setMaximumRenderedResultPixels(uint64 maximum) = 0;
2319
2339 virtual void setGenerateFlateCompressedPDFImages(bool enable) = 0;
2340
2360 virtual void setMinimumFlateCompressedImageSize(uint32 minSizePixels) = 0;
2361
2379
2388 virtual void renderNodesWithRenderFlagSet(bool render) = 0;
2389
2411 virtual void ignoreNodesWithExcludeFlagSet(bool ignore) = 0;
2412
2413 typedef bool (*ShouldRenderNodeFunc)(void *priv, const IDOMNodePtr &node);
2414
2427 virtual void setShouldRenderCallback(ShouldRenderNodeFunc func, void *priv) = 0;
2428
2436 virtual void renderTransparentNodes(bool render) = 0;
2437
2458
2467 virtual void renderNonNormalBlendedNodes(bool render) = 0;
2468
2477 virtual void renderNonCanvasTransparencyGroups(bool render) = 0;
2478
2486 virtual void renderMaskedImages(bool render) = 0;
2487
2495 virtual void renderOpacityMaskedNodes(bool render) = 0;
2496
2504 virtual void renderBrush(IDOMBrush::eBrushType brushType, bool render = true) = 0;
2505
2516 virtual void ignoreBrushWhileScanning(IDOMBrush::eBrushType brushType, bool ignore = true) = 0;
2517
2526 virtual void renderComplexType3ShadingPatterns(bool render) = 0;
2527
2537 virtual void renderComplexTilingPatterns(bool render) = 0;
2538
2547 virtual void renderVisualBrushesWithViewPortLargerThan(double val) = 0;
2548
2556 virtual void renderConeGradients(bool render) = 0;
2557
2565 virtual void renderGlyphsWithStyleSimulation(bool render) = 0;
2566
2575 virtual void renderGlyphsWithRestrictedFont(bool render) = 0;
2576
2585 virtual void renderGlyphsWithNonSubsettableFont(bool render) = 0;
2586
2595 virtual void renderGlyphsWithNonEditableFont(bool render) = 0;
2596
2603 virtual void renderGlyphsWithType3Font(bool render) = 0;
2604
2614 virtual void enableTrueTypeNotDef(bool enable) = 0;
2615
2617 {
2618 public:
2620 IDOMColorPtr inkColor;
2629
2630 bool operator== (const CInkInfo &other) const
2631 {
2632 return (other.inkName == inkName)
2633 && (other.inkColor == inkColor);
2634 }
2635
2636 bool operator!= (const CInkInfo &other) const
2637 {
2638 return ! (*this == other);
2639 }
2640
2642 {
2643 return inkNameToString(inkName);
2644 }
2645
2647 {
2648 return inkNameToString(inkName, fallbackEncoding);
2649 }
2650 };
2652
2667 static JAWSMAKO_API CInkInfoVect findInks(const IJawsMakoPtr &jawsMako,
2668 const IDOMNodePtr &nodeTree,
2669 const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr (),
2670 bool includeAll = false);
2671
2686 static JAWSMAKO_API CInkInfoVect findInksInColorSpace(const IJawsMakoPtr &jawsMako,
2687 const IDOMColorSpacePtr &colorSpace,
2688 bool includeAll = false);
2689
2700 const CInkInfoVect &inkInfo,
2701 const IDOMColorSpacePtr &processSpace,
2702 const CColorManagerConfigPtr &overrideConfig = CColorManagerConfigPtr());
2703 };
2704
2705 class IRedactorTransform;
2707
2731 {
2732 public:
2739 static JAWSMAKO_API IRedactorTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
2740
2748 virtual void setTargetSpace(const IDOMColorSpacePtr &targetSpace) = 0;
2749
2757 virtual void setResolution(uint32 resolution) = 0;
2758
2765 virtual void setGenerateMasks(bool generateMasks) = 0;
2766 };
2767
2768
2771
2783 {
2784 public:
2791 static JAWSMAKO_API IType3UnpackerTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
2792
2793 /*
2794 * There is no configuration for this transform.
2795 */
2796
2797 };
2798
2801
2831 {
2832 public:
2839 static JAWSMAKO_API IOverprintSimulationTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
2840
2848 virtual void setResolution(uint32 resolution) = 0;
2849
2864 virtual void setSimulationColorSpace(const IDOMColorSpacePtr &simulationSpace) = 0;
2865
2874 virtual void setSimulateBlackDeviceGrayTextOverprint(bool simulate) = 0;
2875
2884 virtual void setUseVectorFlattener(bool useVectorFlattener) = 0;
2885 };
2886
2889
2894 {
2895 public:
2906
2907
2914 static JAWSMAKO_API IPageCropperTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
2915
2916 /*
2917 * Configuration.
2918 */
2919
2925 virtual void setCropBox(eBox cropBox) = 0;
2926
2933 virtual void setShouldClip(bool clip) = 0;
2934 };
2935
2938
2945 {
2946 public:
2953 static JAWSMAKO_API IPatternConverterTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
2954
2955 /*
2956 * Configuration.
2957 */
2958
2965 virtual void setConvertType2ShadingPatterns(bool convert) = 0;
2966
2975 virtual void setMaxType2Samples(uint32 maxSamples) = 0;
2976
2983 virtual void setConvertType3ShadingPatterns(bool convert) = 0;
2984
2993 virtual void setMaxType3Samples(uint32 maxSamples) = 0;
2994 };
2995
2998
3032 {
3033 public:
3035
3042 static JAWSMAKO_API IFontProcessorTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
3043
3051 virtual void setShouldSubset(bool subset) = 0;
3052
3060 virtual void setShouldMerge(bool merge) = 0;
3061
3070 virtual void setIgnoreUnembeddedFonts(bool ignore) = 0;
3071
3080 virtual void setIgnoreRestrictedFonts(bool ignore) = 0;
3081
3091 virtual void setIgnoreFonts(const CU8StringVect &ignoreFonts) = 0;
3092
3097 virtual bool shouldMerge() = 0;
3098
3103 virtual bool shouldSubset() = 0;
3104 };
3105
3108
3133 {
3134 public:
3136
3143 static JAWSMAKO_API IFontProcessorDeferredTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
3144
3149 virtual void finaliseFonts() = 0;
3150
3158 virtual void setShouldSubset(bool subset) = 0;
3159
3167 virtual void setShouldMerge(bool merge) = 0;
3168
3177 virtual void setIgnoreUnembeddedFonts(bool ignore) = 0;
3178
3187 virtual void setIgnoreRestrictedFonts(bool ignore) = 0;
3188
3198 virtual void setIgnoreFonts(const CU8StringVect &ignoreFonts) = 0;
3199
3204 virtual bool shouldMerge() = 0;
3205
3210 virtual bool shouldSubset() = 0;
3211 };
3212
3215
3224 {
3225 public:
3232 static JAWSMAKO_API IBlendSimplifierTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
3233
3234 /*
3235 * No configuration.
3236 */
3237 };
3238
3241
3248 {
3249 public:
3256 static JAWSMAKO_API ISoftMaskConverterTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
3257
3264 virtual void setResolution(uint32 resolution) = 0;
3265 };
3266
3269
3277 {
3278 public:
3285 static JAWSMAKO_API IFormDeduplicatorTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
3286
3287 /*
3288 * No configuration.
3289 */
3290 };
3291
3294
3305 {
3306 public:
3313 static JAWSMAKO_API IShadingPatternNoiserTransformPtr create(const IJawsMakoPtr &jawsMako,
3314 const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
3315
3321 virtual void setNoiseMagnitude(uint8 magnitude) = 0;
3322
3329 virtual void setResolution(double xRes, double yRes = 0.0) = 0;
3330
3337 virtual void setCompress(bool compress) = 0;
3338 };
3339
3342
3396 {
3397 public:
3404 static JAWSMAKO_API IObjectReplacerTransformPtr create(const IJawsMakoPtr &jawsMako,
3405 const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr());
3406
3415 virtual void setRecurse(bool recurse) = 0;
3416
3423 virtual void replace(const IDOMImagePtr &image, const IDOMImagePtr &replacement) = 0;
3424
3442 virtual void replace(const IDOMTransparencyGroupPtr &group, const IDOMTransparencyGroupPtr &replacement) = 0;
3443
3450 virtual void replace(const IDOMFormPtr &form, const IDOMFormPtr &replacement) = 0;
3451 };
3452
3453}
3454
3455#endif
Definition edlvector.h:31
CEDLVector< CColorantInfo > CColorantInfoVect
Definition idomcolorspace.h:845
eDownsamplingMethod
The type of downsampling to be performed.
Definition idomimageresource.h:2095
eUpsamplingMethod
The type of downsampling to be performed.
Definition idomimageresource.h:2164
eTIFFCompression
Available TIFF compression schemes.
Definition idomimageresource.h:515
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:62
eBlackPointCompensation blackPointCompensation
The current black point compensation.
Definition transforms.h:115
void * transformPriv
Definition transforms.h:120
bool inUncoloredTilingBrush
Definition transforms.h:118
CTransformState()
Definition transforms.h:64
eRenderingIntent renderingIntent
Ignored if hasRenderingIntent is false.
Definition transforms.h:114
bool hasClipBounds
True if clipBounds is valid.
Definition transforms.h:110
eEdgeMode edgeMode
The current edge mode.
Definition transforms.h:116
FMatrix transform
The current transformation from default coordinates.
Definition transforms.h:109
FRect clipBounds
The bounds of the current clipping area.
Definition transforms.h:111
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:117
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:112
bool hasRenderingIntent
True if an explicit rendering intent has been applied.
Definition transforms.h:113
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:3224
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:1451
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:1481
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:978
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:1325
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:3133
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:3135
A transform for performing font subsetting and merging.
Definition transforms.h:3032
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:3034
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:3277
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:1690
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:526
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:362
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:406
@ eEFPNG
PNG.
Definition transforms.h:409
@ eEFJPEG
JPEG.
Definition transforms.h:408
@ eEFTIFF
TIFF.
Definition transforms.h:410
@ eEFAuto
Choose an appropriate format for each image.
Definition transforms.h:407
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:1354
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:781
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 transform that provides a canned method to replace images, forms, or transparency groups with edite...
Definition transforms.h:3396
static JAWSMAKO_API IObjectReplacerTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor=IProgressMonitorPtr())
Create the transform.
virtual void setRecurse(bool recurse)=0
Set whether or not the replacer should continue to recurse inside replaced objects....
virtual void replace(const IDOMImagePtr &image, const IDOMImagePtr &replacement)=0
Inform the transform that the given image should be replaced with the given modified image wherever i...
virtual void replace(const IDOMFormPtr &form, const IDOMFormPtr &replacement)=0
Inform the transform that the given form should be replaced with the given modified form wherever it ...
virtual void replace(const IDOMTransparencyGroupPtr &group, const IDOMTransparencyGroupPtr &replacement)=0
Inform the transform that the given transparency group should be replaced with the given modified tra...
A simple transform that strips the DOM of any PDF optional content that is not visible for the given ...
Definition transforms.h:1393
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:1408
@ eOCUPrint
Definition transforms.h:1410
@ eOCUExport
Definition transforms.h:1411
@ eOCUView
Definition transforms.h:1409
A transform that modifies DOM such that any overprint present in the DOM will be visible when written...
Definition transforms.h:2831
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:2894
eBox
Enumeration of standard boxes.
Definition transforms.h:2900
@ eBTrim
Refers to a TrimBox.
Definition transforms.h:2903
@ eBBleed
Refers to a BleedBox.
Definition transforms.h:2904
@ eBContent
Refers to an ArtBox.
Definition transforms.h:2902
@ eBCrop
Refers to a CropBox.
Definition transforms.h:2901
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:2945
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:2731
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:2617
eInkColorSource inkSource
Definition transforms.h:2628
bool operator==(const CInkInfo &other) const
Definition transforms.h:2630
IDOMColorPtr inkColor
Definition transforms.h:2620
String getInkName(eInkFallbackEncoding fallbackEncoding) const
Definition transforms.h:2646
bool operator!=(const CInkInfo &other) const
Definition transforms.h:2636
RawString inkName
Definition transforms.h:2619
String getInkName() const
Definition transforms.h:2641
eInkColorSource
Definition transforms.h:2622
@ eICSTintTransform
Definition transforms.h:2624
@ eICSNoViableColorFound
Definition transforms.h:2623
@ eICSColorantInfo
Definition transforms.h:2626
@ eICSSeparationSpace
Definition transforms.h:2625
A transform for selective rendering of sections of a DOM tree, replacing the rendered items with an i...
Definition transforms.h:1733
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:2651
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:2413
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:2064
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:3305
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:3248
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:1521
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:258
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:260
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:138
virtual void setProgressMonitor(const IProgressMonitorPtr &progressMonitor)=0
Set the IProgressMonitor object for this transform to allow for monitoring the progress of the transf...
virtual uint64 getConfigurationHash() const =0
Obtain a hash of the custom transform's configuration.
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:140
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:2783
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:36
unsigned long long uint64
Definition edltypes.h:37
unsigned char uint8
Definition edltypes.h:34
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:34
CEDLVector< ITransformPtr > CTransformVect
A vector of transform instances.
Definition transforms.h:248
@ eBUOpacityMask
Indicates an opacity mask.
Definition transforms.h:39
@ eBUFill
Indicates a fill.
Definition transforms.h:37
@ eBUGeneral
General brush.
Definition transforms.h:36
@ eBUStroke
Indicates a stroke.
Definition transforms.h:38
@ eBUNone
No usage indicated.
Definition transforms.h:35
@ eBUAlternateImage
Indicates an alternate image.
Definition transforms.h:40
EDLSysString RawString
A raw, 8 bit string. Encoding depends on context.
Definition types.h:156
EDLString String
A wide character string (UTF-16 on Windows, UTF-32 on all other platforms)
Definition types.h:144
Progress monitoring, event handling and abort signalling.
Definition apexcustompostprocess.h:17
EDL::IProgressMonitorPtr IProgressMonitorPtr
Definition types.h:91
JAWSMAKO_API String inkNameToString(const RawString &string)
Convert string used for ink name to String (wide char)
CEDLSysStringVect CU8StringVect
Definition types.h:173
CEDLVector< U8String > CSpotColorNames
Definition types.h:175
eInkFallbackEncoding
An enumeration of fallback encoding schemes to use for decoding PDF ink names that are not presented ...
Definition types.h:318
#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