Mako 8.3.0 API
MakoCore SDK API Documentation
Loading...
Searching...
No Matches
transforms.h
Go to the documentation of this file.
1/*
2* Copyright (C) 2013-2025 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
104 CTransformState stateInsideBrush(const IDOMBrushPtr &brush, eBrushUsage brushUsage) const;
105
106 public:
110 IDOMColorSpacePtr groupColorSpace;
120 };
121
135 class ITransform : public IRCObject
136 {
137 public:
138 virtual ~ITransform() {}
139
151 virtual IDOMBrushPtr transform(const IDOMBrushPtr &brush, eBrushUsage usage = eBUGeneral, const CTransformState &state = CTransformState()) = 0;
152
163 virtual IDOMImagePtr transform(const IDOMImagePtr &image, const CTransformState &state = CTransformState()) = 0;
164
175 virtual IDOMColorPtr transform(const IDOMColorPtr &color, const CTransformState &state = CTransformState()) = 0;
176
186 virtual IDOMColorSpacePtr transform(const IDOMColorSpacePtr &colorSpace, const CTransformState &state = CTransformState()) = 0;
187
202 virtual IDOMNodePtr transform(const IDOMNodePtr &node, bool &changed, bool transformChildren = true, const CTransformState &state = CTransformState()) = 0;
203
213 virtual void transformPage(const IPagePtr &page, bool transformContent = true, bool transformAnnotations = true) = 0;
214
225 virtual void flushCaches() = 0;
226
232 virtual void setProgressMonitor (const IProgressMonitorPtr &progressMonitor) = 0;
233
234 };
235
241
250 {
251 public:
252 virtual ~ITransformChain() {}
253
261 static JAWSMAKO_API ITransformChainPtr create(const IJawsMakoPtr &jawsMako,
262 const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr(),
263 const CTransformVect &transforms = CTransformVect());
264
269 virtual void removeTransform(uint32 index) = 0;
270
276 virtual void pushTransform(const ITransformPtr &transform) = 0;
277
283 virtual void pushTransformFront(const ITransformPtr &transform) = 0;
284
289 virtual CTransformVect getTransforms() const = 0;
290
297 virtual IDOMNodePtr transform(const IDOMNodePtr &node) = 0;
298
308 virtual IDOMNodePtr transform(const IDOMNodePtr &node, bool &changed) = 0;
309
317 virtual void transformPage(const IPagePtr &page, bool transformContent = true, bool transformAnnotations = true) = 0;
318
329 virtual void flushCaches() = 0;
330
335 virtual ITransformChainPtr clone() = 0;
336 };
337
338 /*
339 * Individual ITransforms
340 */
341
344
354 {
355 public:
362 static JAWSMAKO_API IImageEncoderTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr());
363
364 /*
365 * Configuration.
366 */
367
374 virtual void setReencodeAllImages(bool value) = 0;
375
383 virtual void setEnableTIFFEncoding(bool value) = 0;
384
392 virtual void setReencodeMultiImageTIFF(bool value) = 0;
393
404
411 virtual void setPreferredFormat(eEncodeFormat format) = 0;
412
419 virtual void setPreferredMonoFormat(eEncodeFormat format) = 0;
420
426
433 virtual void setPreferredGrayFormat(eEncodeFormat format) = 0;
434
440
446 virtual void setPreferredColorFormat(eEncodeFormat format) = 0;
447
453
459 virtual void setJPEGQuality(uint8 quality) = 0;
460
466 virtual uint8 getJPEGQuality() const = 0;
467
474
482
490
498
506 };
507
508
511
518 {
519 public:
526 static JAWSMAKO_API IImageDownsamplerTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr());
527
528 /*
529 * Configuration.
530 */
531
539
546
554
561
571
578
585 virtual void setTargetResolution(float resolution) = 0;
586
594 virtual void setThresholdResolution(float resolution) = 0;
595
604 virtual void setColorTargetResolution(float resolution) = 0;
605
611 virtual float getColorTargetResolution() = 0;
612
620 virtual void setColorThresholdResolution(float resolution) = 0;
621
627 virtual float getColorThresholdResolution() = 0;
628
637 virtual void setGrayTargetResolution(float resolution) = 0;
638
644 virtual float getGrayTargetResolution() = 0;
645
653 virtual void setGrayThresholdResolution(float resolution) = 0;
654
660 virtual float getGrayThresholdResolution() = 0;
661
670 virtual void setMonoTargetResolution(float resolution) = 0;
671
677 virtual float getMonoTargetResolution() = 0;
678
686 virtual void setMonoThresholdResolution(float resolution) = 0;
687
693 virtual float getMonoThresholdResolution() = 0;
694
707 virtual void setDownsampleMaskedImages(bool downsampleMaskedImages) = 0;
708
734 virtual void setUseMaskResolutionForMaskedImages(bool useMaskResolutionSettingForMaskedImages) = 0;
735
757 virtual void setUseFloatingPointResolutions(bool useFloatingPointResolutions) = 0;
758
759 };
760
763
773 {
774 public:
781 static JAWSMAKO_API IImageUpsamplerTransformPtr create(const IJawsMakoPtr &jawsMako,
782 const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr());
783
784 /*
785 * Configuration.
786 */
787
795
803
811
818 virtual void setTargetResolution(float resolution) = 0;
819
827 virtual void setThresholdResolution(float resolution) = 0;
828
837 virtual void setColorTargetResolution(float resolution) = 0;
838
846 virtual void setColorThresholdResolution(float resolution) = 0;
847
856 virtual void setGrayTargetResolution(float resolution) = 0;
857
865 virtual void setGrayThresholdResolution(float resolution) = 0;
866
874 virtual void setMonoTargetResolution(float resolution) = 0;
875
883 virtual void setMonoThresholdResolution(float resolution) = 0;
884
897 virtual void setUpsampleMaskedImages(bool upsampleMaskedImages) = 0;
898
924 virtual void setUseMaskResolutionForMaskedImages(bool useMaskResolutionSettingForMaskedImages) = 0;
925
947 virtual void setUseFloatingPointResolutions(bool useFloatingPointResolutions) = 0;
948
949 };
950
953
970 {
971 public:
978 static JAWSMAKO_API IColorConverterTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
979
980 /*
981 * Configuration.
982 */
983
990 virtual void setTargetSpace(const IDOMColorSpacePtr &targetSpace) = 0;
991
997 virtual IDOMColorSpacePtr getTargetSpace() = 0;
998
1003 virtual void setTargetProfile(const IDOMICCProfilePtr &profile) = 0;
1004
1008 virtual void setSWOPTargetSpace() = 0;
1009
1018
1030 virtual void useDOMRenderingIntents(bool use) = 0;
1031
1073 virtual void setBlackPreservation(bool preserveForText, bool preserveForOther) = 0;
1074
1082 virtual void setConvertOnlyDeviceIndependentColors(bool convert) = 0;
1083
1094 virtual void setConvertIndependentToSimilarDeviceSpace(bool convert) = 0;
1095
1105 virtual void setInspectDeviceNAlternateSpace(bool inspect) = 0;
1106
1116 virtual void setInspectDeviceNColorantsAlternateSpace(bool inspect) = 0;
1117
1118
1130 virtual void setKeepDeviceN(bool keep) = 0;
1131
1141 virtual void setIgnoreImagesWithSimilarColorSpaces(bool ignore) = 0;
1142
1151 virtual void setIgnoreRenderedImages(bool ignore) = 0;
1152
1163 virtual void setForceImageSampleConversion(bool force) = 0;
1164
1173 virtual void setShouldConvertForSpaceType(IDOMColorSpace::eColorSpaceType type, bool convert = true) = 0;
1174
1182
1194 virtual void setConvertICCColorsWithNumComponents(uint8 numComponents, bool convert = true) = 0;
1195
1203 virtual void setConvertICCSpacesWithProfileVersionGreaterThan(uint8 majorVersion, uint8 minorVersion) = 0;
1204
1217 virtual void setConvertColorsInsideLuminositySoftMasks(bool convert = true) = 0;
1218
1233 virtual void setConvertThroughTransparencyGroupColorSpaces(bool useGroups = true) = 0;
1234
1241 virtual void setKeepOverprintMode(bool keep = true) = 0;
1242
1293 virtual void setDeviceNHandling(bool convertProcess = true,
1294 bool mergeSpots = true,
1296 const CSpotColorNames &spotsToRetain = CSpotColorNames(),
1297 const CSpotColorNames &spotsToDrop = CSpotColorNames(),
1298 bool knockoutDroppedSpots = true) = 0;
1299 };
1300
1301
1304
1317 {
1318 public:
1325 static JAWSMAKO_API IComplexColorSimplifierTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
1326
1327 /*
1328 * There is no configuration for this transform.
1329 */
1330 };
1331
1332
1335
1346 {
1347 public:
1354 static JAWSMAKO_API IImageMergerTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
1355
1356 /*
1357 * Configuration
1358 */
1359
1370 virtual void setAllowMaskedResults(bool allowMasked) = 0;
1371
1372 };
1373
1374
1377
1385 {
1386 public:
1393 static JAWSMAKO_API IOptionalContentFixerTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
1394
1395 /*
1396 * Configuration
1397 */
1398
1405
1413 virtual void setOptionalContent(const IOptionalContentPtr &optionalContent) = 0;
1414
1421 };
1422
1423
1426
1443 {
1444 public:
1451 static JAWSMAKO_API ICFFCIDSplitterTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
1452
1453 /*
1454 * There is no configuration for this transform.
1455 */
1456 };
1457
1460
1473 {
1474 public:
1481 static JAWSMAKO_API ICFFSanitizerTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
1482
1483 /*
1484 * There is no configuration for this transform.
1485 */
1486 };
1487
1488
1489 class IStrokerTransform;
1491
1513 {
1514 public:
1521 static JAWSMAKO_API IStrokerTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
1522
1523 /*
1524 * Configuration
1525 */
1526
1534 virtual void setTargetResolution(float resolution) = 0;
1535
1543 virtual void setupForXPSStyleOutput() = 0;
1544
1558 virtual void setupForPDFStyleOutput() = 0;
1559
1565 virtual void setConvertAllStrokes(bool convert) = 0;
1566
1567 /* @brief Conditions. If any are true a stroker will be converted to a fill */
1568
1575 virtual void setConvertForDashedStrokes(bool convert) = 0;
1576
1584 virtual void setConvertForNonTilingVisualOrImageStrokes(bool convert) = 0;
1585
1596 virtual void setConvertForMiterTreatment(IDOMPathNode::eStrokeMiterLimitTreatment treatment, bool convert = true) = 0;
1597
1608 virtual void setMiterErrorThreshold(float maxError) = 0;
1609
1617 virtual void setConvertForLineCap(IDOMPathNode::eStrokeLineCap cap, bool convert = true) = 0;
1618
1626 virtual void setConvertForDashCap(IDOMPathNode::eStrokeLineCap cap, bool convert = true) = 0;
1627
1634 virtual void setConvertForMismatchedCaps(bool convert) = 0;
1635
1642 virtual void setConvertForMismatchedDashCap(bool convert) = 0;
1643
1651 virtual void setConvertForJoin(IDOMPathNode::eStrokeLineJoin join, bool convert = true) = 0;
1652
1659 virtual void setConvertForNonStrokingSegments(bool convert) = 0;
1660
1661 };
1662
1663
1666
1682 {
1683 public:
1690 static JAWSMAKO_API IFormUnpackerTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
1691
1692 /*
1693 * Configuration
1694 */
1695
1704 virtual void setUnpackFlaggedFormInstancesOnly(bool unpack) = 0;
1705
1706 };
1707
1708
1709 class IRendererTransform;
1711
1725 {
1726 public:
1733 static JAWSMAKO_API IRendererTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
1734
1741 virtual bool probe(const IDOMNodePtr &node) = 0;
1742
1743 /*
1744 * Configuration
1745 */
1746
1752 virtual void setResolution(uint32 resolution) = 0;
1753
1758 virtual uint32 getResolution() const = 0;
1759
1768 virtual void setTargetSpace(const IDOMColorSpacePtr &space) = 0;
1769
1774 virtual IDOMColorSpacePtr getTargetSpace() const = 0;
1775
1781 virtual void setSWOPTargetSpace() = 0;
1782
1787 virtual void setTargetProfile(const IDOMICCProfilePtr &profile) = 0;
1788
1815 virtual void setEnableVectorMode(bool enable) = 0;
1816
1840
1848 virtual void setVectorAndTextResolution(uint32 resolution) = 0;
1849
1867 virtual void setRasterFallbackThreshold(uint32 threshold) = 0;
1868
1888 virtual void setRasterFallbackResolution(uint32 resolution) = 0;
1889
1902 virtual void setVectorImageReuseCacheSize(uint32 reuseCacheSizeMB) = 0;
1903
1916 virtual void setEnableFormSnappingForVectorReuse(bool enable) = 0;
1917
1933 virtual void setVectorAreaFormReuseCacheSize(uint32 formCount) = 0;
1934
1951
1969 virtual void setMarkVectorFlattenedFontsForEmbedding(bool embed) = 0;
1970
1996 virtual void setFormReconstructionCacheSize(uint32 formCount) = 0;
1997
2009 virtual void setRasterImageReuseCacheSize(uint32 reuseCacheSizeMB) = 0;
2010
2037 virtual void setMonochromeMode(bool enable = true) = 0;
2038
2054 virtual void setSpotHalftone(float frequency, bool useFullResolutionForFlattening = false) = 0;
2055
2057
2071 virtual void setThresholdHalftone(uint32 width, uint32 height, const CThresholdArray &thresholds) = 0;
2072
2091 virtual void setPreserveSpots(const CSpotColorNames &preservedSpots) = 0;
2092
2111 virtual void setPreserveAllSpots(bool preserve) = 0;
2112
2132 virtual void setMergeSpots(const CSpotColorNames &mergedSpots) = 0;
2133
2153 virtual void setMergeAllSpots(bool merge) = 0;
2154
2176 virtual void setDropSpots(const CSpotColorNames &droppedSpots) = 0;
2177
2217 virtual void setBlackPreservation(bool preserveForText, bool preserveForOther) = 0;
2218
2232 virtual void setGenerateMasks(bool generate) = 0;
2233
2241 virtual void setUseMultipleThreads(bool useMultipleThreads) = 0;
2242
2256 virtual void setRenderObjectsIndividually(bool renderIndividually) = 0;
2257
2268 virtual void setRenderOncePerRenderableArea(bool renderOnce) = 0;
2269
2286 virtual void setMaximumImageAreaMultiple(float limit) = 0;
2287
2310 virtual void setMaximumRenderedResultPixels(uint64 maximum) = 0;
2311
2331 virtual void setGenerateFlateCompressedPDFImages(bool enable) = 0;
2332
2352 virtual void setMinimumFlateCompressedImageSize(uint32 minSizePixels) = 0;
2353
2371
2380 virtual void renderNodesWithRenderFlagSet(bool render) = 0;
2381
2403 virtual void ignoreNodesWithExcludeFlagSet(bool ignore) = 0;
2404
2405 typedef bool (*ShouldRenderNodeFunc)(void *priv, const IDOMNodePtr &node);
2406
2419 virtual void setShouldRenderCallback(ShouldRenderNodeFunc func, void *priv) = 0;
2420
2428 virtual void renderTransparentNodes(bool render) = 0;
2429
2450
2459 virtual void renderNonNormalBlendedNodes(bool render) = 0;
2460
2469 virtual void renderNonCanvasTransparencyGroups(bool render) = 0;
2470
2478 virtual void renderMaskedImages(bool render) = 0;
2479
2487 virtual void renderOpacityMaskedNodes(bool render) = 0;
2488
2496 virtual void renderBrush(IDOMBrush::eBrushType brushType, bool render = true) = 0;
2497
2508 virtual void ignoreBrushWhileScanning(IDOMBrush::eBrushType brushType, bool ignore = true) = 0;
2509
2518 virtual void renderComplexType3ShadingPatterns(bool render) = 0;
2519
2529 virtual void renderComplexTilingPatterns(bool render) = 0;
2530
2539 virtual void renderVisualBrushesWithViewPortLargerThan(double val) = 0;
2540
2548 virtual void renderConeGradients(bool render) = 0;
2549
2557 virtual void renderGlyphsWithStyleSimulation(bool render) = 0;
2558
2567 virtual void renderGlyphsWithRestrictedFont(bool render) = 0;
2568
2577 virtual void renderGlyphsWithNonSubsettableFont(bool render) = 0;
2578
2587 virtual void renderGlyphsWithNonEditableFont(bool render) = 0;
2588
2595 virtual void renderGlyphsWithType3Font(bool render) = 0;
2596
2606 virtual void enableTrueTypeNotDef(bool enable) = 0;
2607
2609 {
2610 public:
2612 IDOMColorPtr inkColor;
2621
2622 bool operator== (const CInkInfo &other) const
2623 {
2624 return (other.inkName == inkName)
2625 && (other.inkColor == inkColor);
2626 }
2627
2628 bool operator!= (const CInkInfo &other) const
2629 {
2630 return ! (*this == other);
2631 }
2632
2634 {
2635 return inkNameToString(inkName);
2636 }
2637
2639 {
2640 return inkNameToString(inkName, fallbackEncoding);
2641 }
2642 };
2644
2655 static JAWSMAKO_API CInkInfoVect findInks(const IJawsMakoPtr &jawsMako,
2656 const IDOMNodePtr &nodeTree,
2657 const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
2658
2668 static JAWSMAKO_API CInkInfoVect findInksInColorSpace(const IJawsMakoPtr &jawsMako,
2669 const IDOMColorSpacePtr &colorSpace);
2670
2681 const CInkInfoVect &inkInfo,
2682 const IDOMColorSpacePtr &processSpace,
2683 const CColorManagerConfigPtr &overrideConfig = CColorManagerConfigPtr());
2684 };
2685
2686 class IRedactorTransform;
2688
2712 {
2713 public:
2720 static JAWSMAKO_API IRedactorTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
2721
2729 virtual void setTargetSpace(const IDOMColorSpacePtr &targetSpace) = 0;
2730
2738 virtual void setResolution(uint32 resolution) = 0;
2739
2746 virtual void setGenerateMasks(bool generateMasks) = 0;
2747 };
2748
2749
2752
2764 {
2765 public:
2772 static JAWSMAKO_API IType3UnpackerTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
2773
2774 /*
2775 * There is no configuration for this transform.
2776 */
2777
2778 };
2779
2782
2812 {
2813 public:
2820 static JAWSMAKO_API IOverprintSimulationTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
2821
2829 virtual void setResolution(uint32 resolution) = 0;
2830
2845 virtual void setSimulationColorSpace(const IDOMColorSpacePtr &simulationSpace) = 0;
2846
2855 virtual void setSimulateBlackDeviceGrayTextOverprint(bool simulate) = 0;
2856 };
2857
2860
2865 {
2866 public:
2877
2878
2885 static JAWSMAKO_API IPageCropperTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
2886
2887 /*
2888 * Configuration.
2889 */
2890
2896 virtual void setCropBox(eBox cropBox) = 0;
2897
2904 virtual void setShouldClip(bool clip) = 0;
2905 };
2906
2909
2916 {
2917 public:
2924 static JAWSMAKO_API IPatternConverterTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
2925
2926 /*
2927 * Configuration.
2928 */
2929
2936 virtual void setConvertType2ShadingPatterns(bool convert) = 0;
2937
2946 virtual void setMaxType2Samples(uint32 maxSamples) = 0;
2947
2954 virtual void setConvertType3ShadingPatterns(bool convert) = 0;
2955
2964 virtual void setMaxType3Samples(uint32 maxSamples) = 0;
2965 };
2966
2969
3003 {
3004 public:
3006
3013 static JAWSMAKO_API IFontProcessorTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
3014
3022 virtual void setShouldSubset(bool subset) = 0;
3023
3031 virtual void setShouldMerge(bool merge) = 0;
3032
3041 virtual void setIgnoreUnembeddedFonts(bool ignore) = 0;
3042
3051 virtual void setIgnoreRestrictedFonts(bool ignore) = 0;
3052
3062 virtual void setIgnoreFonts(const CU8StringVect &ignoreFonts) = 0;
3063
3068 virtual bool shouldMerge() = 0;
3069
3074 virtual bool shouldSubset() = 0;
3075 };
3076
3079
3104 {
3105 public:
3107
3114 static JAWSMAKO_API IFontProcessorDeferredTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
3115
3120 virtual void finaliseFonts() = 0;
3121
3129 virtual void setShouldSubset(bool subset) = 0;
3130
3138 virtual void setShouldMerge(bool merge) = 0;
3139
3148 virtual void setIgnoreUnembeddedFonts(bool ignore) = 0;
3149
3158 virtual void setIgnoreRestrictedFonts(bool ignore) = 0;
3159
3169 virtual void setIgnoreFonts(const CU8StringVect &ignoreFonts) = 0;
3170
3175 virtual bool shouldMerge() = 0;
3176
3181 virtual bool shouldSubset() = 0;
3182 };
3183
3186
3195 {
3196 public:
3203 static JAWSMAKO_API IBlendSimplifierTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
3204
3205 /*
3206 * No configuration.
3207 */
3208 };
3209
3212
3219 {
3220 public:
3227 static JAWSMAKO_API ISoftMaskConverterTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
3228
3235 virtual void setResolution(uint32 resolution) = 0;
3236 };
3237
3240
3248 {
3249 public:
3256 static JAWSMAKO_API IFormDeduplicatorTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
3257
3258 /*
3259 * No configuration.
3260 */
3261 };
3262
3265
3276 {
3277 public:
3284 static JAWSMAKO_API IShadingPatternNoiserTransformPtr create(const IJawsMakoPtr &jawsMako,
3285 const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
3286
3292 virtual void setNoiseMagnitude(uint8 magnitude) = 0;
3293
3300 virtual void setResolution(double xRes, double yRes = 0.0) = 0;
3301
3308 virtual void setCompress(bool compress) = 0;
3309 };
3310
3311}
3312
3313#endif
Definition edlvector.h:30
CEDLVector< CColorantInfo > CColorantInfoVect
Definition idomcolorspace.h:845
eDownsamplingMethod
The type of downsampling to be performed.
Definition idomimageresource.h:1937
eUpsamplingMethod
The type of downsampling to be performed.
Definition idomimageresource.h:2006
eTIFFCompression
Available TIFF compression schemes.
Definition idomimageresource.h:513
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:113
void * transformPriv
Definition transforms.h:118
bool inUncoloredTilingBrush
Definition transforms.h:116
CTransformState()
Definition transforms.h:68
eRenderingIntent renderingIntent
Ignored if hasRenderingIntent is false.
Definition transforms.h:112
bool hasClipBounds
True if clipBounds is valid.
Definition transforms.h:108
eEdgeMode edgeMode
The current edge mode.
Definition transforms.h:114
FMatrix transform
The current transformation from default coordinates.
Definition transforms.h:107
FRect clipBounds
The bounds of the current clipping area.
Definition transforms.h:109
CTransformState stateInsideBrush(const IDOMBrushPtr &brush, eBrushUsage brushUsage) const
Return a new state consisting of this state concatenated with the state implied by the given brush.
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:115
IDOMColorSpacePtr groupColorSpace
The current group color space.
Definition transforms.h:110
bool hasRenderingIntent
True if an explicit rendering intent has been applied.
Definition transforms.h:111
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:3195
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:1443
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:1473
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:970
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:1317
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:3104
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:3106
A transform for performing font subsetting and merging.
Definition transforms.h:3003
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:3005
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:3248
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:1682
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:518
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:354
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:398
@ eEFPNG
PNG.
Definition transforms.h:401
@ eEFJPEG
JPEG.
Definition transforms.h:400
@ eEFTIFF
TIFF.
Definition transforms.h:402
@ eEFAuto
Choose an appropriate format for each image.
Definition transforms.h:399
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:1346
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:773
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:1385
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:1400
@ eOCUPrint
Definition transforms.h:1402
@ eOCUExport
Definition transforms.h:1403
@ eOCUView
Definition transforms.h:1401
A transform that modifies DOM such that any overprint present in the DOM will be visible when written...
Definition transforms.h:2812
virtual void setSimulateBlackDeviceGrayTextOverprint(bool simulate)=0
Set whether or not overprint simulation should be performed for 100% black DeviceGray text.
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:2865
eBox
Enumeration of standard boxes.
Definition transforms.h:2871
@ eBTrim
Refers to a TrimBox.
Definition transforms.h:2874
@ eBBleed
Refers to a BleedBox.
Definition transforms.h:2875
@ eBContent
Refers to an ArtBox.
Definition transforms.h:2873
@ eBCrop
Refers to a CropBox.
Definition transforms.h:2872
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:2916
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:2712
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:2609
eInkColorSource inkSource
Definition transforms.h:2620
bool operator==(const CInkInfo &other) const
Definition transforms.h:2622
IDOMColorPtr inkColor
Definition transforms.h:2612
String getInkName(eInkFallbackEncoding fallbackEncoding) const
Definition transforms.h:2638
bool operator!=(const CInkInfo &other) const
Definition transforms.h:2628
RawString inkName
Definition transforms.h:2611
String getInkName() const
Definition transforms.h:2633
eInkColorSource
Definition transforms.h:2614
@ eICSTintTransform
Definition transforms.h:2616
@ eICSNoViableColorFound
Definition transforms.h:2615
@ eICSColorantInfo
Definition transforms.h:2618
@ eICSSeparationSpace
Definition transforms.h:2617
A transform for selective rendering of sections of a DOM tree, replacing the rendered items with an i...
Definition transforms.h:1725
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...
static JAWSMAKO_API CInkInfoVect findInks(const IJawsMakoPtr &jawsMako, const IDOMNodePtr &nodeTree, const IProgressMonitorPtr &progressMonitor=IProgressMonitorPtr())
Find all the inks used in the given DOM node tree. Utility. Also makes an attempt to determine the co...
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...
static JAWSMAKO_API CInkInfoVect findInksInColorSpace(const IJawsMakoPtr &jawsMako, const IDOMColorSpacePtr &colorSpace)
Find all the inks we can determine from the given color space. Utility. Also makes an attempt to dete...
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:2643
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:2405
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....
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:2056
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...
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:3276
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:3219
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:1513
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:250
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:252
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:136
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:138
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:2764
static JAWSMAKO_API IType3UnpackerTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor=IProgressMonitorPtr())
Create the transform.
CTransformMatrix< double > FMatrix
Definition edlgeom.h:1266
RectTmpl< double > FRect
Definition edlgeom.h:338
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:57
eStrokeLineCap
Specifies the different types of line end caps available.
Definition idompath.h:84
eStrokeMiterLimitTreatment
Chooses how miters that extend beyond the miter limit should be treated. ClipLongMiters specifies XPS...
Definition idompath.h:73
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:240
@ 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:150
EDLString String
A wide character string (UTF-16 on Windows, UTF-32 on all other platforms)
Definition types.h:138
Progress monitoring, event handling and abort signalling.
Definition apexcustompostprocess.h:17
EDL::IProgressMonitorPtr IProgressMonitorPtr
Definition types.h:85
JAWSMAKO_API String inkNameToString(const RawString &string)
Convert string used for ink name to String (wide char)
CEDLSysStringVect CU8StringVect
Definition types.h:167
CEDLVector< U8String > CSpotColorNames
Definition types.h:169
eInkFallbackEncoding
An enumeration of fallback encoding schemes to use for decoding PDF ink names that are not presented ...
Definition types.h:312
#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