Mako 8.2.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 Global Graphics Software 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 <edl/idompath.h>
16#include <edl/idomglyphs.h>
17#include <edl/idombrush.h>
18#include <edl/iabort.h>
19
20namespace JawsMako
21{
22 using namespace EDL;
23
24 class ITransform;
26 class ITransformChain;
28
45
65 {
66 public:
71
80 CTransformState(const IDOMNodePtr &node);
81
93 CTransformState stateInsideNode(const IDOMNodePtr &node, bool updateTransform = true, bool updateClip = true, bool updateRenderingIntent = true, bool updateEdgeMode = true) const;
94
103 CTransformState stateInsideBrush(const IDOMBrushPtr &brush, eBrushUsage brushUsage) const;
104
105 public:
109 IDOMColorSpacePtr groupColorSpace;
119 };
120
134 class ITransform : public IRCObject
135 {
136 public:
137 virtual ~ITransform() {}
138
150 virtual IDOMBrushPtr transform(const IDOMBrushPtr &brush, eBrushUsage usage = eBUGeneral, const CTransformState &state = CTransformState()) = 0;
151
162 virtual IDOMImagePtr transform(const IDOMImagePtr &image, const CTransformState &state = CTransformState()) = 0;
163
174 virtual IDOMColorPtr transform(const IDOMColorPtr &color, const CTransformState &state = CTransformState()) = 0;
175
185 virtual IDOMColorSpacePtr transform(const IDOMColorSpacePtr &colorSpace, const CTransformState &state = CTransformState()) = 0;
186
201 virtual IDOMNodePtr transform(const IDOMNodePtr &node, bool &changed, bool transformChildren = true, const CTransformState &state = CTransformState()) = 0;
202
212 virtual void transformPage(const IPagePtr &page, bool transformContent = true, bool transformAnnotations = true) = 0;
213
224 virtual void flushCaches() = 0;
225
231 virtual void setProgressMonitor (const IProgressMonitorPtr &progressMonitor) = 0;
232
233 };
234
240
249 {
250 public:
251 virtual ~ITransformChain() {}
252
260 static JAWSMAKO_API ITransformChainPtr create(const IJawsMakoPtr &jawsMako,
261 const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr(),
262 const CTransformVect &transforms = CTransformVect());
263
268 virtual void removeTransform(uint32 index) = 0;
269
275 virtual void pushTransform(const ITransformPtr &transform) = 0;
276
282 virtual void pushTransformFront(const ITransformPtr &transform) = 0;
283
288 virtual CTransformVect getTransforms() const = 0;
289
296 virtual IDOMNodePtr transform(const IDOMNodePtr &node) = 0;
297
307 virtual IDOMNodePtr transform(const IDOMNodePtr &node, bool &changed) = 0;
308
316 virtual void transformPage(const IPagePtr &page, bool transformContent = true, bool transformAnnotations = true) = 0;
317
328 virtual void flushCaches() = 0;
329
334 virtual ITransformChainPtr clone() = 0;
335 };
336
337 /*
338 * Individual ITransforms
339 */
340
343
353 {
354 public:
361 static JAWSMAKO_API IImageEncoderTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr());
362
363 /*
364 * Configuration.
365 */
366
373 virtual void setReencodeAllImages(bool value) = 0;
374
382 virtual void setEnableTIFFEncoding(bool value) = 0;
383
391 virtual void setReencodeMultiImageTIFF(bool value) = 0;
392
403
410 virtual void setPreferredFormat(eEncodeFormat format) = 0;
411
418 virtual void setPreferredMonoFormat(eEncodeFormat format) = 0;
419
425
432 virtual void setPreferredGrayFormat(eEncodeFormat format) = 0;
433
439
445 virtual void setPreferredColorFormat(eEncodeFormat format) = 0;
446
452
458 virtual void setJPEGQuality(uint8 quality) = 0;
459
465 virtual uint8 getJPEGQuality() const = 0;
466
473
481
489
497
505 };
506
507
510
517 {
518 public:
525 static JAWSMAKO_API IImageDownsamplerTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr());
526
527 /*
528 * Configuration.
529 */
530
538
545
553
560
570
577
584 virtual void setTargetResolution(float resolution) = 0;
585
593 virtual void setThresholdResolution(float resolution) = 0;
594
603 virtual void setColorTargetResolution(float resolution) = 0;
604
610 virtual float getColorTargetResolution() = 0;
611
619 virtual void setColorThresholdResolution(float resolution) = 0;
620
626 virtual float getColorThresholdResolution() = 0;
627
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
671 virtual void setMonoTargetResolution(float resolution) = 0;
672
678 virtual float getMonoTargetResolution() = 0;
679
687 virtual void setMonoThresholdResolution(float resolution) = 0;
688
694 virtual float getMonoThresholdResolution() = 0;
695
708 virtual void setDownsampleMaskedImages(bool downsampleMaskedImages) = 0;
709
735 virtual void setUseMaskResolutionForMaskedImages(bool useMaskResolutionSettingForMaskedImages) = 0;
736
758 virtual void setUseFloatingPointResolutions(bool useFloatingPointResolutions) = 0;
759
760 };
761
764
781 {
782 public:
789 static JAWSMAKO_API IColorConverterTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
790
791 /*
792 * Configuration.
793 */
794
801 virtual void setTargetSpace(const IDOMColorSpacePtr &targetSpace) = 0;
802
808 virtual IDOMColorSpacePtr getTargetSpace() = 0;
809
814 virtual void setTargetProfile(const IDOMICCProfilePtr &profile) = 0;
815
819 virtual void setSWOPTargetSpace() = 0;
820
829
841 virtual void useDOMRenderingIntents(bool use) = 0;
842
884 virtual void setBlackPreservation(bool preserveForText, bool preserveForOther) = 0;
885
893 virtual void setConvertOnlyDeviceIndependentColors(bool convert) = 0;
894
905 virtual void setConvertIndependentToSimilarDeviceSpace(bool convert) = 0;
906
916 virtual void setInspectDeviceNAlternateSpace(bool inspect) = 0;
917
927 virtual void setInspectDeviceNColorantsAlternateSpace(bool inspect) = 0;
928
929
941 virtual void setKeepDeviceN(bool keep) = 0;
942
952 virtual void setIgnoreImagesWithSimilarColorSpaces(bool ignore) = 0;
953
962 virtual void setIgnoreRenderedImages(bool ignore) = 0;
963
974 virtual void setForceImageSampleConversion(bool force) = 0;
975
984 virtual void setShouldConvertForSpaceType(IDOMColorSpace::eColorSpaceType type, bool convert = true) = 0;
985
993
1005 virtual void setConvertICCColorsWithNumComponents(uint8 numComponents, bool convert = true) = 0;
1006
1014 virtual void setConvertICCSpacesWithProfileVersionGreaterThan(uint8 majorVersion, uint8 minorVersion) = 0;
1015
1028 virtual void setConvertColorsInsideLuminositySoftMasks(bool convert = true) = 0;
1029
1044 virtual void setConvertThroughTransparencyGroupColorSpaces(bool useGroups = true) = 0;
1045
1052 virtual void setKeepOverprintMode(bool keep = true) = 0;
1053
1104 virtual void setDeviceNHandling(bool convertProcess = true,
1105 bool mergeSpots = true,
1107 const CSpotColorNames &spotsToRetain = CSpotColorNames(),
1108 const CSpotColorNames &spotsToDrop = CSpotColorNames(),
1109 bool knockoutDroppedSpots = true) = 0;
1110 };
1111
1112
1115
1128 {
1129 public:
1136 static JAWSMAKO_API IComplexColorSimplifierTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
1137
1138 /*
1139 * There is no configuration for this transform.
1140 */
1141 };
1142
1143
1146
1157 {
1158 public:
1165 static JAWSMAKO_API IImageMergerTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
1166
1167 /*
1168 * Configuration
1169 */
1170
1181 virtual void setAllowMaskedResults(bool allowMasked) = 0;
1182
1183 };
1184
1185
1188
1196 {
1197 public:
1204 static JAWSMAKO_API IOptionalContentFixerTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
1205
1206 /*
1207 * Configuration
1208 */
1209
1216
1224 virtual void setOptionalContent(const IOptionalContentPtr &optionalContent) = 0;
1225
1232 };
1233
1234
1237
1254 {
1255 public:
1262 static JAWSMAKO_API ICFFCIDSplitterTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
1263
1264 /*
1265 * There is no configuration for this transform.
1266 */
1267 };
1268
1271
1284 {
1285 public:
1292 static JAWSMAKO_API ICFFSanitizerTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
1293
1294 /*
1295 * There is no configuration for this transform.
1296 */
1297 };
1298
1299
1300 class IStrokerTransform;
1302
1324 {
1325 public:
1332 static JAWSMAKO_API IStrokerTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
1333
1334 /*
1335 * Configuration
1336 */
1337
1345 virtual void setTargetResolution(float resolution) = 0;
1346
1354 virtual void setupForXPSStyleOutput() = 0;
1355
1369 virtual void setupForPDFStyleOutput() = 0;
1370
1376 virtual void setConvertAllStrokes(bool convert) = 0;
1377
1378 /* @brief Conditions. If any are true a stroker will be converted to a fill */
1379
1386 virtual void setConvertForDashedStrokes(bool convert) = 0;
1387
1395 virtual void setConvertForNonTilingVisualOrImageStrokes(bool convert) = 0;
1396
1407 virtual void setConvertForMiterTreatment(IDOMPathNode::eStrokeMiterLimitTreatment treatment, bool convert = true) = 0;
1408
1419 virtual void setMiterErrorThreshold(float maxError) = 0;
1420
1428 virtual void setConvertForLineCap(IDOMPathNode::eStrokeLineCap cap, bool convert = true) = 0;
1429
1437 virtual void setConvertForDashCap(IDOMPathNode::eStrokeLineCap cap, bool convert = true) = 0;
1438
1445 virtual void setConvertForMismatchedCaps(bool convert) = 0;
1446
1453 virtual void setConvertForMismatchedDashCap(bool convert) = 0;
1454
1462 virtual void setConvertForJoin(IDOMPathNode::eStrokeLineJoin join, bool convert = true) = 0;
1463
1470 virtual void setConvertForNonStrokingSegments(bool convert) = 0;
1471
1472 };
1473
1474
1477
1493 {
1494 public:
1501 static JAWSMAKO_API IFormUnpackerTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
1502
1503 /*
1504 * Configuration
1505 */
1506
1515 virtual void setUnpackFlaggedFormInstancesOnly(bool unpack) = 0;
1516
1517 };
1518
1519
1520 class IRendererTransform;
1522
1536 {
1537 public:
1544 static JAWSMAKO_API IRendererTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
1545
1552 virtual bool probe(const IDOMNodePtr &node) = 0;
1553
1554 /*
1555 * Configuration
1556 */
1557
1563 virtual void setResolution(uint32 resolution) = 0;
1564
1569 virtual uint32 getResolution() const = 0;
1570
1579 virtual void setTargetSpace(const IDOMColorSpacePtr &space) = 0;
1580
1585 virtual IDOMColorSpacePtr getTargetSpace() const = 0;
1586
1592 virtual void setSWOPTargetSpace() = 0;
1593
1598 virtual void setTargetProfile(const IDOMICCProfilePtr &profile) = 0;
1599
1626 virtual void setEnableVectorMode(bool enable) = 0;
1627
1651
1659 virtual void setVectorAndTextResolution(uint32 resolution) = 0;
1660
1678 virtual void setRasterFallbackThreshold(uint32 threshold) = 0;
1679
1699 virtual void setRasterFallbackResolution(uint32 resolution) = 0;
1700
1713 virtual void setVectorImageReuseCacheSize(uint32 reuseCacheSizeMB) = 0;
1714
1727 virtual void setEnableFormSnappingForVectorReuse(bool enable) = 0;
1728
1744 virtual void setVectorAreaFormReuseCacheSize(uint32 formCount) = 0;
1745
1762
1780 virtual void setMarkVectorFlattenedFontsForEmbedding(bool embed) = 0;
1781
1807 virtual void setFormReconstructionCacheSize(uint32 formCount) = 0;
1808
1820 virtual void setRasterImageReuseCacheSize(uint32 reuseCacheSizeMB) = 0;
1821
1848 virtual void setMonochromeMode(bool enable = true) = 0;
1849
1865 virtual void setSpotHalftone(float frequency, bool useFullResolutionForFlattening = false) = 0;
1866
1868
1882 virtual void setThresholdHalftone(uint32 width, uint32 height, const CThresholdArray &thresholds) = 0;
1883
1902 virtual void setPreserveSpots(const CSpotColorNames &preservedSpots) = 0;
1903
1922 virtual void setPreserveAllSpots(bool preserve) = 0;
1923
1943 virtual void setMergeSpots(const CSpotColorNames &mergedSpots) = 0;
1944
1964 virtual void setMergeAllSpots(bool merge) = 0;
1965
1987 virtual void setDropSpots(const CSpotColorNames &droppedSpots) = 0;
1988
2028 virtual void setBlackPreservation(bool preserveForText, bool preserveForOther) = 0;
2029
2043 virtual void setGenerateMasks(bool generate) = 0;
2044
2052 virtual void setUseMultipleThreads(bool useMultipleThreads) = 0;
2053
2067 virtual void setRenderObjectsIndividually(bool renderIndividually) = 0;
2068
2079 virtual void setRenderOncePerRenderableArea(bool renderOnce) = 0;
2080
2097 virtual void setMaximumImageAreaMultiple(float limit) = 0;
2098
2121 virtual void setMaximumRenderedResultPixels(uint64 maximum) = 0;
2122
2142 virtual void setGenerateFlateCompressedPDFImages(bool enable) = 0;
2143
2163 virtual void setMinimumFlateCompressedImageSize(uint32 minSizePixels) = 0;
2164
2182
2191 virtual void renderNodesWithRenderFlagSet(bool render) = 0;
2192
2214 virtual void ignoreNodesWithExcludeFlagSet(bool ignore) = 0;
2215
2216 typedef bool (*ShouldRenderNodeFunc)(void *priv, const IDOMNodePtr &node);
2217
2230 virtual void setShouldRenderCallback(ShouldRenderNodeFunc func, void *priv) = 0;
2231
2239 virtual void renderTransparentNodes(bool render) = 0;
2240
2261
2270 virtual void renderNonNormalBlendedNodes(bool render) = 0;
2271
2280 virtual void renderNonCanvasTransparencyGroups(bool render) = 0;
2281
2289 virtual void renderMaskedImages(bool render) = 0;
2290
2298 virtual void renderOpacityMaskedNodes(bool render) = 0;
2299
2307 virtual void renderBrush(IDOMBrush::eBrushType brushType, bool render = true) = 0;
2308
2319 virtual void ignoreBrushWhileScanning(IDOMBrush::eBrushType brushType, bool ignore = true) = 0;
2320
2329 virtual void renderComplexType3ShadingPatterns(bool render) = 0;
2330
2340 virtual void renderComplexTilingPatterns(bool render) = 0;
2341
2350 virtual void renderVisualBrushesWithViewPortLargerThan(double val) = 0;
2351
2359 virtual void renderConeGradients(bool render) = 0;
2360
2368 virtual void renderGlyphsWithStyleSimulation(bool render) = 0;
2369
2378 virtual void renderGlyphsWithRestrictedFont(bool render) = 0;
2379
2388 virtual void renderGlyphsWithNonSubsettableFont(bool render) = 0;
2389
2398 virtual void renderGlyphsWithNonEditableFont(bool render) = 0;
2399
2406 virtual void renderGlyphsWithType3Font(bool render) = 0;
2407
2417 virtual void enableTrueTypeNotDef(bool enable) = 0;
2418
2420 {
2421 public:
2423 IDOMColorPtr inkColor;
2432
2433 bool operator== (const CInkInfo &other) const
2434 {
2435 return (other.inkName == inkName)
2436 && (other.inkColor == inkColor);
2437 }
2438
2439 bool operator!= (const CInkInfo &other) const
2440 {
2441 return ! (*this == other);
2442 }
2443
2445 {
2446 return inkNameToString(inkName);
2447 }
2448
2450 {
2451 return inkNameToString(inkName, fallbackEncoding);
2452 }
2453 };
2455
2466 static JAWSMAKO_API CInkInfoVect findInks(const IJawsMakoPtr &jawsMako,
2467 const IDOMNodePtr &nodeTree,
2468 const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
2469
2479 static JAWSMAKO_API CInkInfoVect findInksInColorSpace(const IJawsMakoPtr &jawsMako,
2480 const IDOMColorSpacePtr &colorSpace);
2481
2490 const CInkInfoVect &inkInfo,
2491 const IDOMColorSpacePtr &processSpace);
2492 };
2493
2494 class IRedactorTransform;
2496
2520 {
2521 public:
2528 static JAWSMAKO_API IRedactorTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
2529
2537 virtual void setTargetSpace(const IDOMColorSpacePtr &targetSpace) = 0;
2538
2546 virtual void setResolution(uint32 resolution) = 0;
2547
2554 virtual void setGenerateMasks(bool generateMasks) = 0;
2555 };
2556
2557
2560
2572 {
2573 public:
2580 static JAWSMAKO_API IType3UnpackerTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
2581
2582 /*
2583 * There is no configuration for this transform.
2584 */
2585
2586 };
2587
2590
2620 {
2621 public:
2628 static JAWSMAKO_API IOverprintSimulationTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
2629
2637 virtual void setResolution(uint32 resolution) = 0;
2638
2653 virtual void setSimulationColorSpace(const IDOMColorSpacePtr &simulationSpace) = 0;
2654
2663 virtual void setSimulateBlackDeviceGrayTextOverprint(bool simulate) = 0;
2664 };
2665
2668
2673 {
2674 public:
2678 typedef enum eBox
2679 {
2683 eBBleed //<! Refers to a BleedBox
2685
2686
2693 static JAWSMAKO_API IPageCropperTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
2694
2695 /*
2696 * Configuration.
2697 */
2698
2704 virtual void setCropBox(eBox cropBox) = 0;
2705
2712 virtual void setShouldClip(bool clip) = 0;
2713 };
2714
2717
2724 {
2725 public:
2732 static JAWSMAKO_API IPatternConverterTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
2733
2734 /*
2735 * Configuration.
2736 */
2737
2744 virtual void setConvertType2ShadingPatterns(bool convert) = 0;
2745
2754 virtual void setMaxType2Samples(uint32 maxSamples) = 0;
2755
2762 virtual void setConvertType3ShadingPatterns(bool convert) = 0;
2763
2772 virtual void setMaxType3Samples(uint32 maxSamples) = 0;
2773 };
2774
2777
2811 {
2812 public:
2814
2821 static JAWSMAKO_API IFontProcessorTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
2822
2830 virtual void setShouldSubset(bool subset) = 0;
2831
2839 virtual void setShouldMerge(bool merge) = 0;
2840
2849 virtual void setIgnoreUnembeddedFonts(bool ignore) = 0;
2850
2859 virtual void setIgnoreRestrictedFonts(bool ignore) = 0;
2860
2870 virtual void setIgnoreFonts(const CU8StringVect &ignoreFonts) = 0;
2871
2876 virtual bool shouldMerge() = 0;
2877
2882 virtual bool shouldSubset() = 0;
2883 };
2884
2887
2912 {
2913 public:
2915
2922 static JAWSMAKO_API IFontProcessorDeferredTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
2923
2928 virtual void finaliseFonts() = 0;
2929
2937 virtual void setShouldSubset(bool subset) = 0;
2938
2946 virtual void setShouldMerge(bool merge) = 0;
2947
2956 virtual void setIgnoreUnembeddedFonts(bool ignore) = 0;
2957
2966 virtual void setIgnoreRestrictedFonts(bool ignore) = 0;
2967
2977 virtual void setIgnoreFonts(const CU8StringVect &ignoreFonts) = 0;
2978
2983 virtual bool shouldMerge() = 0;
2984
2989 virtual bool shouldSubset() = 0;
2990 };
2991
2994
3003 {
3004 public:
3011 static JAWSMAKO_API IBlendSimplifierTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
3012
3013 /*
3014 * No configuration.
3015 */
3016 };
3017
3020
3027 {
3028 public:
3035 static JAWSMAKO_API ISoftMaskConverterTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
3036
3043 virtual void setResolution(uint32 resolution) = 0;
3044 };
3045
3048
3056 {
3057 public:
3064 static JAWSMAKO_API IFormDeduplicatorTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
3065
3066 /*
3067 * No configuration.
3068 */
3069 };
3070}
3071
3072#endif
Definition edlvector.h:30
CEDLVector< CColorantInfo > CColorantInfoVect
Definition idomcolorspace.h:833
eDownsamplingMethod
The type of downsampling to be performed.
Definition idomimageresource.h:1937
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:65
eBlackPointCompensation blackPointCompensation
The current black point compensation.
Definition transforms.h:112
void * transformPriv
Definition transforms.h:117
bool inUncoloredTilingBrush
Definition transforms.h:115
CTransformState()
Definition transforms.h:67
eRenderingIntent renderingIntent
Ignored if hasRenderingIntent is false.
Definition transforms.h:111
bool hasClipBounds
True if clipBounds is valid.
Definition transforms.h:107
eEdgeMode edgeMode
The current edge mode.
Definition transforms.h:113
FMatrix transform
The current transformation from default coordinates.
Definition transforms.h:106
FRect clipBounds
The bounds of the current clipping area.
Definition transforms.h:108
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:114
IDOMColorSpacePtr groupColorSpace
The current group color space.
Definition transforms.h:109
bool hasRenderingIntent
True if an explicit rendering intent has been applied.
Definition transforms.h:110
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:3003
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:1254
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:1284
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:781
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:1128
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:2912
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:2914
A transform for performing font subsetting and merging.
Definition transforms.h:2811
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:2813
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:3056
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:1493
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:517
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:353
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 monochome 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:397
@ eEFPNG
PNG.
Definition transforms.h:400
@ eEFJPEG
JPEG.
Definition transforms.h:399
@ eEFTIFF
TIFF.
Definition transforms.h:401
@ eEFAuto
Choose an appropriate format for each image.
Definition transforms.h:398
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:1157
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 simple transform that strips the DOM of any PDF optional content that is not visible for the given ...
Definition transforms.h:1196
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:1211
@ eOCUPrint
Definition transforms.h:1213
@ eOCUExport
Definition transforms.h:1214
@ eOCUView
Definition transforms.h:1212
A transform that modifies DOM such that any overprint present in the DOM will be visible when written...
Definition transforms.h:2620
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:2673
eBox
Enumeration of standard boxes.
Definition transforms.h:2679
@ eBTrim
Refers to a TrimBox.
Definition transforms.h:2682
@ eBBleed
Definition transforms.h:2683
@ eBContent
Refers to an ArtBox.
Definition transforms.h:2681
@ eBCrop
Refers to a CropBox.
Definition transforms.h:2680
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:2724
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:2520
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:2420
eInkColorSource inkSource
Definition transforms.h:2431
bool operator==(const CInkInfo &other) const
Definition transforms.h:2433
IDOMColorPtr inkColor
Definition transforms.h:2423
String getInkName(eInkFallbackEncoding fallbackEncoding) const
Definition transforms.h:2449
bool operator!=(const CInkInfo &other) const
Definition transforms.h:2439
RawString inkName
Definition transforms.h:2422
String getInkName() const
Definition transforms.h:2444
eInkColorSource
Definition transforms.h:2425
@ eICSTintTransform
Definition transforms.h:2427
@ eICSNoViableColorFound
Definition transforms.h:2426
@ eICSColorantInfo
Definition transforms.h:2429
@ eICSSeparationSpace
Definition transforms.h:2428
A transform for selective rendering of sections of a DOM tree, replacing the rendered items with an i...
Definition transforms.h:1536
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:2454
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:2216
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 ...
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:1867
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.
static JAWSMAKO_API IDOMColorSpaceDeviceN::CColorantInfoVect inkInfoToColorantInfo(const IJawsMakoPtr &jawsMako, const CInkInfoVect &inkInfo, const IDOMColorSpacePtr &processSpace)
Static utility to convert a CInkInfoVect into DeviceN-compatible CColorantInfo vector.
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 converts PDF style soft masks to opacity masks, suitable for XPS.
Definition transforms.h:3027
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:1324
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:249
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:251
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:135
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:137
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:2572
static JAWSMAKO_API IType3UnpackerTransformPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor=IProgressMonitorPtr())
Create the transform.
CTransformMatrix< double > FMatrix
Definition edlgeom.h:1208
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:60
eStrokeLineCap
Specifies the different types of line end caps available.
Definition idompath.h:87
eStrokeMiterLimitTreatment
Chooses how miters that extend beyond the miter limit should be treated. ClipLongMiters specifies XPS...
Definition idompath.h:76
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:37
CEDLVector< ITransformPtr > CTransformVect
A vector of transform instances.
Definition transforms.h:239
@ eBUOpacityMask
Indicates an opacity mask.
Definition transforms.h:42
@ eBUFill
Indicates a fill.
Definition transforms.h:40
@ eBUGeneral
General brush.
Definition transforms.h:39
@ eBUStroke
Indicates a stroke.
Definition transforms.h:41
@ eBUNone
No usage indicated.
Definition transforms.h:38
@ eBUAlternateImage
Indicates an alternate image.
Definition transforms.h:43
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
#define JAWSMAKO_API
Definition types.h:29