Mako 8.2.0 API
MakoCore SDK API Documentation
Loading...
Searching...
No Matches
psoutput.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2014-2025 Global Graphics Software Ltd. All rights reserved.
3 */
4
5#ifndef JAWSMAKO_PSOUTPUT_H
6#define JAWSMAKO_PSOUTPUT_H
7
8#include <jawsmako/jawsmako.h>
10
11namespace JawsMako
12{
13 using namespace EDL;
14
15 class IPSOutput;
17 class IPSInjector;
18
34 class IPSOutput : public IOutput
35 {
36 public:
37 virtual ~IPSOutput() {}
38
45 static JAWSMAKO_API IPSOutputPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor = IProgressMonitorPtr ());
46
47 /*
48 * PS Output-specific configuration
49 */
50
58 virtual void setResolution(float resolution) = 0;
59
80 virtual void setStreamingOutput(bool enable = true) = 0;
81
90 virtual void setTargetColorSpace(const IDOMColorSpacePtr &targetSpace) = 0;
91
98 virtual void setTargetProfile(const IDOMICCProfilePtr &profile) = 0;
99
110 virtual void setConvertAllObjectsToTargetColorSpace(bool convert = true) = 0;
111
119 virtual void setIgnoreDeviceGrayDuringColorConversion(bool ignore = true) = 0;
120
130 virtual void setInjector(IPSInjector *injector) = 0;
131
142
159
174
189
203
212 virtual void setJPEGQuality(uint8 quality) = 0;
213
231
249
268
287 virtual void setAllowReusableImageStreams(bool allowReusableImageStreams) = 0;
288 };
289 #define obj2IPSOutput(obj) IPSOutputPtr(dynamic_cast<IPSOutput *>((IRCObject *) obj), true)
290
299 {
300 public:
301 virtual ~IPSInjector() {}
302
309 virtual void beforeFirstByte(const IOutputStreamPtr &psStream) {}
310
319 virtual void beforePsHeader(const IOutputStreamPtr &psStream) {}
320
326 virtual void afterBeginSetup(const IOutputStreamPtr &psStream) {}
327
333 virtual void beforeEndSetup(const IOutputStreamPtr &psStream) {}
334
341 virtual void afterBeginPageSetup(uint32 pageNumber, const IOutputStreamPtr &psStream) {}
342
349 virtual void beforeEndPageSetup(uint32 pageNumber, const IOutputStreamPtr &psStream) {}
350
357 virtual void beforeShowpage(uint32 pageNumber, const IOutputStreamPtr &psStream) {}
358
365 virtual void afterLastByte(const IOutputStreamPtr &psStream) {}
366
367 };
368}
369
370#endif
eDownsamplingMethod
The type of downsampling to be performed.
Definition idomimageresource.h:1937
@ eBicubic
Definition idomimageresource.h:1940
@ eSubsample
Definition idomimageresource.h:1938
Abstract output sink that can output DOM to a file or stream in a given output format.
Definition jawsmako.h:600
Interface allowing users of IPSOutput to inject raw PostScript directly into the output stream at str...
Definition psoutput.h:299
virtual void beforePsHeader(const IOutputStreamPtr &psStream)
Invoked by the PostScript writer just before the PostScript header is written to the stream....
Definition psoutput.h:319
virtual void beforeEndPageSetup(uint32 pageNumber, const IOutputStreamPtr &psStream)
Invoked by the PostScript writer just before %EndPageSetup is written to the stream.
Definition psoutput.h:349
virtual void afterBeginSetup(const IOutputStreamPtr &psStream)
Invoked by the PostScript writer just after %BeginSetup is written to the stream.
Definition psoutput.h:326
virtual void afterBeginPageSetup(uint32 pageNumber, const IOutputStreamPtr &psStream)
Invoked by the PostScript writer just after %BeginPageSetup is written to the stream.
Definition psoutput.h:341
virtual void beforeFirstByte(const IOutputStreamPtr &psStream)
Invoked by the PostScript writer after the output PostScript stream is opened, but before any data is...
Definition psoutput.h:309
virtual void beforeEndSetup(const IOutputStreamPtr &psStream)
Invoked by the PostScript writer just before %EndSetup is written to the stream.
Definition psoutput.h:333
virtual ~IPSInjector()
Definition psoutput.h:301
virtual void beforeShowpage(uint32 pageNumber, const IOutputStreamPtr &psStream)
Invoked by the PostScript writer just before "showpage" is written to the stream.
Definition psoutput.h:357
virtual void afterLastByte(const IOutputStreamPtr &psStream)
Invoked by the PostScript writer after the last byte of normal PostScript data is written to the stre...
Definition psoutput.h:365
Interface for the PS IOutput class.
Definition psoutput.h:35
static JAWSMAKO_API IPSOutputPtr create(const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor=IProgressMonitorPtr())
Create a PS Output instance.
virtual void setMonoImageMaxResolution(float resolution, float threshold=0.0f, IDOMImageDownsamplerFilter::eDownsamplingMethod method=IDOMImageDownsamplerFilter::eSubsample)=0
Set the desired maximum resolution, threshold and downsampling method for monochrome images.
virtual void setPreferredMonoImageCompression(eImageCompression compression)=0
Set the desired image compression for monochrome images that need to be re-encoded....
virtual ~IPSOutput()
Definition psoutput.h:37
virtual void setStreamingOutput(bool enable=true)=0
Set whether streaming output should be enabled.
virtual void setColorImageMaxResolution(float resolution, float threshold=0.0f, IDOMImageDownsamplerFilter::eDownsamplingMethod method=IDOMImageDownsamplerFilter::eBicubic)=0
Set the desired maximum resolution, threshold and downsampling method for color images.
virtual void setConvertAllObjectsToTargetColorSpace(bool convert=true)=0
Sets whether all objects should be converted to the target color space. If false, only objects that r...
virtual void setJPEGQuality(uint8 quality)=0
Set the JPEG quality to use when compressing images in DCT format. Equivalent to calling setParameter...
virtual void setTargetProfile(const IDOMICCProfilePtr &profile)=0
Set the target color space for the intended output device using an ICC profile. Equivalent to calling...
virtual void setResolution(float resolution)=0
Set the target resolution for the output, in dots per inch. The default is 600. Equivalent to calling...
virtual void setTargetColorSpace(const IDOMColorSpacePtr &targetSpace)=0
Set the target color space for the intended output device. The default is DeviceCMYK....
virtual void setPreferredRenderedImageCompression(eImageCompression compression)=0
Set the desired image compression for images that are the result of rendering. The default is eICLZW.
virtual void setInjector(IPSInjector *injector)=0
Set the IPSInjector instance to use to inject PostScript directly into the output PostScript stream a...
virtual void setPreferredGrayImageCompression(eImageCompression compression)=0
Set the desired image compression for gray images that need to be re-encoded. The default is eICDCT.
virtual void setGrayImageMaxResolution(float resolution, float threshold=0.0f, IDOMImageDownsamplerFilter::eDownsamplingMethod method=IDOMImageDownsamplerFilter::eBicubic)=0
Set the desired maximum resolution, threshold and downsampling method for gray images.
virtual void setIgnoreDeviceGrayDuringColorConversion(bool ignore=true)=0
Sets whether to ignore DeviceGray objects when color conversion is to be performed....
virtual void setPreferredColorImageCompression(eImageCompression compression)=0
Set the desired image compression for color images that need to be re-encoded. The default is eICDCT.
virtual void setAllowReusableImageStreams(bool allowReusableImageStreams)=0
Sets whether to allow reusable streams when writing images.
eImageCompression
Enumeration for image compression formats.
Definition psoutput.h:136
@ eICLZW
LZW.
Definition psoutput.h:139
@ eICCCITT
CCITT Group 3 or 4.
Definition psoutput.h:140
@ eICDCT
Jpeg.
Definition psoutput.h:138
@ eICFlate
Flate (zip)
Definition psoutput.h:137
unsigned int uint32
Definition edltypes.h:34
unsigned char uint8
Definition edltypes.h:32
Definition apexcustompostprocess.h:17
EDL::IProgressMonitorPtr IProgressMonitorPtr
Definition types.h:85
#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