Driver SDK 4.2.0
DriverInfo.h
1#pragma once
2
3#include <ACPL/XML.h>
4#include <vector>
5#include <map>
6
7namespace jsonxx {
8 class Object;
9}
10
11namespace aur {
12
13 namespace ACPL {
14 class String;
15 class UString;
16 class Stream;
17 class FileSpec;
18 class PipeStream;
19 }
20
21 class Imposition;
22
23 namespace ADA {
24
25 class Curve;
26
27 typedef uint32_t MarkType;
28
29#define SDK_VERSION 420
30
31#ifndef inch
32# define inch * 18.0f
33#endif
34#ifndef mm
35# define mm * ( 18.0f / 25.4f )
36#endif
37
38#define kMaxSheetLenght 20000 mm
39
141 typedef enum SpotType
142 {
152 eLine = 9,
153 eCross = 10,
156 eLineX = 13,
157 eLineY = 14,
164
169 typedef enum ScreenType
170 {
180 eOrganic2 = 9
182
183 typedef enum USBFilterType
184 {
186 eByModelName = 1
188
190 {
195
200 typedef enum ChannelType
201 {
206 eDisabled
208
216 {
217 public:
219 eLogical, // Used in nesting and other logical operations.
220 ePhysical // Printed size.
221 };
222
223 char name[32];
225 bool roll;
226 float width;
227 float length;
228 float left;
229 float right;
230 float top;
231 float bottom;
232
233 inline float GetLength ( EMediaType which = eLogical ) const noexcept;
234 inline float GetWidth ( EMediaType which = eLogical ) const noexcept;
235 inline float GetImageableLength ( EMediaType which = eLogical ) const noexcept;
236 inline float GetImageableWidth ( EMediaType which = eLogical ) const noexcept;
237
238 inline float GetLeftMargin ( EMediaType which = eLogical ) const noexcept;
239 inline float GetRightMargin ( EMediaType which = eLogical ) const noexcept;
240 inline float GetTopMargin ( EMediaType which = eLogical ) const noexcept;
241 inline float GetBottomMargin ( EMediaType which = eLogical ) const noexcept;
242
243 void FromJson( const jsonxx::Object&, float defaultWidth = 0, float defaultLength = 0 );
244 void ToJson( jsonxx::Object& ) const;
245 void Load( const ACPL::XML::Node* );
246 void Save( ACPL::XML::Node* ) const;
247 ACPL::XML::Node* Save() const;
248 inline bool IsEmpty() const noexcept { return name[0] == 0; }
249 inline void Reset() noexcept { ::memset( this, 0, sizeof(TMediaSize) ); }
250 };
251
252 inline float TMediaSize::GetLength( EMediaType which ) const noexcept
253 {
254 return ( which == ePhysical && transverse ) ? width : length;
255 }
256
257 inline float TMediaSize::GetWidth( EMediaType which ) const noexcept
258 {
259 return ( which == ePhysical && transverse ) ? length : width;
260 }
261
262 inline float TMediaSize::GetImageableLength( EMediaType which ) const noexcept
263 {
264 return ( which == ePhysical && transverse ) ? width - left - right : length - top - bottom;
265 }
266
267 inline float TMediaSize::GetImageableWidth( EMediaType which ) const noexcept
268 {
269 return ( which == ePhysical && transverse ) ? length - top - bottom : width - left - right;
270 }
271
272 inline float TMediaSize::GetLeftMargin( EMediaType which ) const noexcept
273 {
274 return ( which == ePhysical && transverse ) ? bottom : left;
275 }
276
277 inline float TMediaSize::GetRightMargin( EMediaType which ) const noexcept
278 {
279 return ( which == ePhysical && transverse ) ? top : right;
280 }
281
282 inline float TMediaSize::GetTopMargin( EMediaType which ) const noexcept
283 {
284 return ( which == ePhysical && transverse ) ? left : top;
285 }
286
287 inline float TMediaSize::GetBottomMargin( EMediaType which ) const noexcept
288 {
289 return ( which == ePhysical && transverse ) ? right : bottom;
290 }
291
298 class TTray
299 {
300 public:
301 char name[32];
302 bool roll;
303 float width;
304 float length;
305 float left;
306 float right;
307 float top;
308 float bottom;
309
310 void FromJson( const jsonxx::Object&, float defaultWidth = 0, float defaultLength = 0 );
311 void ToJson( jsonxx::Object& ) const;
312 void Load( const ACPL::XML::Node* );
313 void Save( ACPL::XML::Node* ) const;
314 bool Fits( const TMediaSize& ) const noexcept;
315 inline bool IsEmpty() const noexcept { return name[0] == 0; }
316 inline void Reset() noexcept { ::memset( this, 0, sizeof(TTray) ); }
317 };
318
325 class TInk
326 {
327 public:
328 int8_t color[3];
329 char name[32];
337 uint32_t dotCount;
338 float dotSizes[16];
342 float picoliter[16];
343
344 void FromJson( const jsonxx::Object& );
345 void ToJson( jsonxx::Object& ) const;
346 void FromXML( const ACPL::XML::Node* );
347 ACPL::XML::Node* ToXML() const;
348 bool isTone() const noexcept;
349 bool isColor() const noexcept;
350 const char* colorName() const noexcept;
351 };
352
359 class Caps
360 {
361 public:
362 bool print;
363 bool cut;
364 bool dtg;
383
384 void FromJson( const jsonxx::Object& );
385 void ToJson( jsonxx::Object& ) const;
386 };
468 class Conns
469 {
470 public:
471 bool tcpip;
472 bool serial;
473 bool usb;
474 bool custom;
475 bool folder;
476#if ACPL_WIN
477 bool windows;
478 inline bool direct() const noexcept { return windows || serial || usb; }
479#else
480 inline bool direct() const noexcept { return serial || usb; }
481#endif
482 bool hplx;
483 bool autoIP;
485 };
553 //
554 // DriverInfo
555 //
569 {
570 public:
571 uint32_t version;
572 //
573 // Identification
574 //
575 char name[140];
576 char profileName[32];
578 //
579 // Capabilities
580 //
582 char spectro[8];
583 uint32_t previewSize;
584 //
585 // Connection
586 //
588 int16_t serBaudRate;
589 int16_t serFlow;
590 uint16_t tcpPort;
591#if ACPL_MAC || ACPL_LINUX
592 char usbFilter[32];
593 USBFilterType usbFilterType;
594 uint8_t usbClass;
595#else
596 char windowsDriverFilter[32];
597 char usbGUID[128];
598#endif
599 //
600 // Device capabilities
601 //
605 float steps;
606 float maxWidth;
608 char markerGUID[40];
610 //
611 // Inks
612 //
613 int32_t inkCount;
615 char inkType[64];
616 const ADA::Curve* dotCurves;
617 //
618 // Media and trays
619 //
620 int32_t mediaCount;
621 int32_t trayCount;
624 //
625 // Custom settings script
626 //
627 char* script;
629
630 DriverInfo() noexcept;
631 ~DriverInfo();
632
633 DriverInfo& operator>>(ACPL::Stream&);
634 DriverInfo& operator<<(ACPL::Stream&);
635 private:
636 DriverInfo( const DriverInfo& );
637 DriverInfo& operator=( const DriverInfo& );
638 };
639
798 typedef struct ModelID
799 {
800 const char* name;
801 const char* profileName;
803 float maxWidth;
806
807 extern const ModelID kDriverID[];
836 {
837 public:
838 ACPL::String name;
839 ACPL::String displayName;
841 double Lab[3];
842 bool on;
844 union Params
845 {
846 struct AM
847 {
849 float angle;
850 float frequency;
851 } am;
852 struct DO
853 {
854 float maxDot;
857 } og;
858 struct FM
859 {
860 int noise;
861 float maxDot;
862 } fm;
863 } p;
864
865 inline ChannelDefinition() noexcept : screening( eAMScreen ), on( true ), inkDuty(100) {
866 Lab[0] = 50; Lab[1] = Lab[2] = 0; p.am.shape = eAdobeRound; p.am.angle = 0; p.am.frequency = 45;
867 }
869 bool operator==( const ChannelDefinition& ) const;
870 void FromJson( const jsonxx::Object& );
871 void ToJson( jsonxx::Object& ) const;
872 void FromXML( const ACPL::XML::Node& );
873 ACPL::XML::Node* ToXML() const;
874 };
875
883 class ChannelList : public std::vector<ChannelDefinition>
884 {
885 public:
886 void Load( const ACPL::XML::Node* );
887 void Save( ACPL::XML::Node* ) const;
888 };
889
894 inline DriverInfo::DriverInfo() noexcept :
895 version( SDK_VERSION ),
896 uniqueDriverID( 0 ),
897 inkCount( 0 ),
898 inks( nullptr ),
899 dotCurves( nullptr ),
900 mediaCount( 0 ),
901 trayCount( 0 ),
902 media( nullptr ),
903 tray( nullptr ),
904 script( nullptr ),
905 deviceScript( nullptr )
906 {
907 }
908
910 {
911 delete[] inks;
912 delete[] media;
913 delete[] tray;
914 delete[] script;
915 delete[] deviceScript;
916 }
917
922 typedef enum DirectState
923 {
929
931 {
932 public:
933 float left;
934 float top;
935 float right;
936 float bottom;
937
938 inline PageRect() noexcept
939 {
940 left = top = 3.402823466e+38F;
941 right = bottom = -3.402823466e+38F;
942 }
943
944 inline PageRect( float x1, float y1, float x2, float y2 ) noexcept
945 {
946 left = x1;
947 top = y1;
948 right = x2;
949 bottom = y2;
950 }
951
952 inline void Union( const PageRect& inBounds ) noexcept
953 {
954 if( inBounds.left < left )
955 left = inBounds.left;
956 if( inBounds.top < top )
957 top = inBounds.top;
958 if( inBounds.right > right )
959 right = inBounds.right;
960 if( inBounds.bottom > bottom )
961 bottom = inBounds.bottom;
962 }
963
964 inline void Intersect( const PageRect& inBounds ) noexcept
965 {
966 if( inBounds.left > left )
967 left = inBounds.left;
968 if( inBounds.top > top )
969 top = inBounds.top;
970 if( inBounds.right < right )
971 right = inBounds.right;
972 if( inBounds.bottom < bottom )
973 bottom = inBounds.bottom;
974 }
975
976 inline float Width() const noexcept
977 {
978 return right - left;
979 }
980
981 inline float Height() const noexcept
982 {
983 return bottom - top;
984 }
985 };
986
988 {
989 public:
990 float x;
991 float y;
992
993 inline MarkerPosition() noexcept : x(0), y(0) {}
994 inline MarkerPosition( float inX, float inY ) noexcept : x(inX), y(inY) {}
995 };
996
997 typedef std::map<ACPL::String,double> InkUsage;
998 typedef const InkUsage* InkUsagePtr;
999
1008 typedef struct DriverMethods
1009 {
1027 ExceptionCode (*Initialize)( void* obj, ACPL::XML* jobDict, float dpuX, float dpuY, const char* settings );
1035 void (*Terminate)( void* obj, bool abort );
1043 bool (*ErrorToName)( ExceptionCode err, char* errorName );
1050 void (*AddPreview)( void* obj, const ACPL::UString& pathToBMP );
1058 DirectState (*DirectHome)( void* obj );
1068 DirectState (*DirectMove)( void* obj, float x, float y );
1076 DirectState (*DirectSetHome)( void* obj );
1085 DirectState (*DirectSizeQuery)( void* obj, PageRect& outSize );
1093 DirectState (*DirectPosQuery)( void* obj, float& outCoordX, float& outCoordY );
1094 void (*ObsoleteMethod)();
1095 DirectState (*DirectBarcodeQuery)( void*, ACPL::String& );
1110 void (*JobStart)( void* obj, const ACPL::UString& jobName, int32_t& copies, const TMediaSize& mediaSize, const TTray& tray, bool hasImageData, bool hasVectorData );
1117 void (*JobEnd)( void* obj );
1125 void (*PageRegistrationMarks)( void* obj, uint32_t nrOfPoints, const MarkerPosition * const points );
1146 void (*PageStart)( void* obj, uint32_t pageNr, char side, const ACPL::String& barcode, const TMediaSize& mediaSize, const TTray& tray, const PageRect& imagedRect, const ACPL::UString& metaPath );
1166 bool (*PageEnd)( void* obj, int16_t endOffset, InkUsagePtr& inkUsage );
1172 void (*PanelCut)( void* obj );
1173 //
1174 // Rasterizing
1175 //
1186 void (*RasterStart)( void* obj, int32_t x, int32_t y, int32_t width, int32_t height );
1193 void (*RasterEnd)( void* obj );
1207 void (*ProcessRawBuffer)( void* obj, const uint8_t* planeData, int32_t dataBytes, uint8_t planeIdx );
1208 //
1209 // Cutting
1210 //
1218 void (*VectorStart)( void* obj );
1225 void (*VectorEnd)( void* obj );
1233 void (*Move)( void* obj, int32_t x, int32_t y );
1242 void (*Line)( void* obj, int32_t x, int32_t y );
1252 void (*Vertex)( void* obj, int32_t x, int32_t y, bool last );
1259 void (*PenUp)( void* obj );
1265 void (*PenDown)( void* obj );
1272 void (*CurveStart)( void* obj );
1279 void (*CurveEnd)( void* obj );
1288 void (*SetTool)( void* obj, const char* settings );
1289 //
1290 // High level
1291 //
1302 void (*HLMove)( void* obj, float x, float y, bool closed );
1313 void (*HLLine)( void* obj, float x, float y );
1328 void (*HLBezier)( void* obj, float x1, float y1, float x2, float y2, float x3, float y3 );
1332 void (*CustomAction)( void* obj, int a, const char* b );
1345 void (*StartOnDemandJob)( void* obj, Imposition* jobParts, const ACPL::String& requestID, const ACPL::UString& jobName );
1356 bool (*RasterRepeat)( void* obj, uint32_t repeats );
1358
1359 static const ExceptionCode kErrorLookup = 0x4C4B4552; // 'LKER'
1360 static const ExceptionCode kErrorRefused = 0x52454655; // 'REFU'
1361
1362 class Instance;
1363
1364 typedef bool (*DriverInitCB)( void* hostObj, ACPL::XML& status );
1365
1374 typedef struct InstanceMethods
1375 {
1388 ExceptionCode (*Info)( Instance* driverObj, DriverInfo* info, const char* settings );
1398 void (*DisposeInfo)( DriverInfo* info );
1418 void* (*CreateSession)( Instance* driverObj, const DriverMethods** methods, const char* deviceURL );
1425 void (*DisposeSession)( Instance* driverObj, void* obj );
1436 void (*PrinterStatus)( Instance* driverObj, ACPL::XML* statusDict );
1446 void (*GetPrivateCacheData)( Instance* driverObj, ACPL::Stream& outStream );
1457 void (*SetPrivateCacheData)( Instance* driverObj, ACPL::Stream& inStream );
1471 bool (*UpdateDriver)( Instance* driverObj, const char* proxy, uint8_t region, void* hostObj, DriverInitCB progressCB );
1483 void (*SetHostInterface)( Instance* driverObj, const char* hostName, void* hostObj, bool (*hostCB)( void* hostObj, ACPL::XML& query, ACPL::XML& response ) );
1494 bool (*PrinterQuery)( Instance* driverObj, ACPL::XML& query, ACPL::XML& response );
1502 bool (*StartJobTracking)( Instance* driverObj );
1511 const ACPL::StringList& (*GetInkset)( Instance* driverObj );
1513
1521 DLLAPI const ModelID* CALLBACK ListModels();
1534 DLLAPI Instance* CALLBACK PrinterInitialize( const char* modelName, const char* deviceURL, const ACPL::XML::Node* options, const InstanceMethods** methods );
1542 DLLAPI void CALLBACK PrinterTerminate( Instance* driverObj );
1555 DLLAPI void CALLBACK ListChannels( const char* modelName, const char* param, char list[4096] );
1556}}
1557
bool jobStatusPost
Definition: DriverInfo.h:373
void FromJson(const jsonxx::Object &)
bool jobStatusTracking
Definition: DriverInfo.h:374
bool barcodeScanner
Definition: DriverInfo.h:369
bool needPreviewAtJobStart
Definition: DriverInfo.h:379
bool additiveColors
Definition: DriverInfo.h:367
bool deviceStatusWhilePrinting
Definition: DriverInfo.h:372
bool needUnimagedArea
Definition: DriverInfo.h:380
void ToJson(jsonxx::Object &) const
ACPL::String name
Name of the channel.
Definition: DriverInfo.h:838
bool on
Flag to indicate if this channel will be output or not.
Definition: DriverInfo.h:842
ACPL::XML::Node * ToXML() const
void ToJson(jsonxx::Object &) const
bool operator==(const ChannelDefinition &) const
void FromXML(const ACPL::XML::Node &)
ChannelDefinition(const TInk &)
ACPL::String displayName
Display name of the channel if different.
Definition: DriverInfo.h:839
void FromJson(const jsonxx::Object &)
int inkDuty
Amount of overprint of this channel in %, default 100.
Definition: DriverInfo.h:843
ScreenType screening
Screening type of the channel.
Definition: DriverInfo.h:840
void Save(ACPL::XML::Node *) const
void Load(const ACPL::XML::Node *)
bool direct() const noexcept
Definition: DriverInfo.h:480
const ADA::Curve * dotCurves
Definition: DriverInfo.h:616
TMediaSize * media
Definition: DriverInfo.h:622
DriverInfo() noexcept
Definition: DriverInfo.h:894
uint32_t uniqueDriverID
Definition: DriverInfo.h:577
MarkerPosition(float inX, float inY) noexcept
Definition: DriverInfo.h:994
PageRect() noexcept
Definition: DriverInfo.h:938
PageRect(float x1, float y1, float x2, float y2) noexcept
Definition: DriverInfo.h:944
float Width() const noexcept
Definition: DriverInfo.h:976
float Height() const noexcept
Definition: DriverInfo.h:981
void Union(const PageRect &inBounds) noexcept
Definition: DriverInfo.h:952
void Intersect(const PageRect &inBounds) noexcept
Definition: DriverInfo.h:964
void ToJson(jsonxx::Object &) const
const char * colorName() const noexcept
uint8_t blueNoiseFactor
Multiplication factor to apply on the blue noise of error diffusion or FM screening....
Definition: DriverInfo.h:331
int8_t color[3]
CIELab color to be used when generating previews without access to an ICC profile.
Definition: DriverInfo.h:328
uint32_t dotCount
Number of levels for this channel (ink) including 0. Thus 1 drop size means 2 levels and 2 drop sizes...
Definition: DriverInfo.h:337
char name[32]
Name of the ink. Prepended with the keyword "Light" or "Medium" to indicate the tone of the ink color...
Definition: DriverInfo.h:329
bool isTone() const noexcept
ACPL::XML::Node * ToXML() const
ScreenType screening
Prefered screening type for this ink.
Definition: DriverInfo.h:330
ChannelType type
Channel type of this ink. The ink can either Process, Spot or Special.
Definition: DriverInfo.h:336
float maxDotAmount
Maximum amount of dots for all but large dot to be used for the screening. Range [0-1].
Definition: DriverInfo.h:335
float halftoneAngle
Default halftone angles to be used when the screening is set to halftone.
Definition: DriverInfo.h:332
bool isColor() const noexcept
SpotType halftoneShape
Default halftone shape to be used when the screening is set to halftone.
Definition: DriverInfo.h:334
float halftoneFrequency
Default halftone frequency to be used when the screening is set to halftone.
Definition: DriverInfo.h:333
void FromJson(const jsonxx::Object &)
void FromXML(const ACPL::XML::Node *)
float picoliter[16]
Number of picoliter of the dot. The number of dots is dotCount-1. Only valid when Caps::estimateInfo ...
Definition: DriverInfo.h:342
float dotSizes[16]
Definition: DriverInfo.h:338
float GetRightMargin(EMediaType which=eLogical) const noexcept
Definition: DriverInfo.h:277
void Reset() noexcept
Definition: DriverInfo.h:249
float GetBottomMargin(EMediaType which=eLogical) const noexcept
Definition: DriverInfo.h:287
float GetLeftMargin(EMediaType which=eLogical) const noexcept
Definition: DriverInfo.h:272
float length
Physical length/height in AOI units.
Definition: DriverInfo.h:227
float GetImageableLength(EMediaType which=eLogical) const noexcept
Definition: DriverInfo.h:262
float GetWidth(EMediaType which=eLogical) const noexcept
Definition: DriverInfo.h:257
float top
Top non-imageable margin.
Definition: DriverInfo.h:230
ACPL::XML::Node * Save() const
char name[32]
Name of the media size.
Definition: DriverInfo.h:223
bool IsEmpty() const noexcept
Definition: DriverInfo.h:248
float bottom
Bottom non-imageable margin.
Definition: DriverInfo.h:231
float right
Right non-imageable margin.
Definition: DriverInfo.h:229
float GetTopMargin(EMediaType which=eLogical) const noexcept
Definition: DriverInfo.h:282
float left
Left non-imageable margin.
Definition: DriverInfo.h:228
void Load(const ACPL::XML::Node *)
void FromJson(const jsonxx::Object &, float defaultWidth=0, float defaultLength=0)
float GetImageableWidth(EMediaType which=eLogical) const noexcept
Definition: DriverInfo.h:267
float GetLength(EMediaType which=eLogical) const noexcept
Definition: DriverInfo.h:252
bool transverse
True when the media is fed rotated in the machine. The RIP must provide rotated data.
Definition: DriverInfo.h:224
void ToJson(jsonxx::Object &) const
float width
Physical width in AOI units.
Definition: DriverInfo.h:226
void Save(ACPL::XML::Node *) const
bool roll
True when the media size is a roll, False when it is a sheet.
Definition: DriverInfo.h:225
float length
Maximum physical length/height in AOI units of media it accepts.
Definition: DriverInfo.h:304
void Load(const ACPL::XML::Node *)
float right
Right non-imageable margin.
Definition: DriverInfo.h:306
void Save(ACPL::XML::Node *) const
void ToJson(jsonxx::Object &) const
char name[32]
Name of the tray.
Definition: DriverInfo.h:301
float top
Top non-imageable margin.
Definition: DriverInfo.h:307
float width
Maximum physical width in AOI units of media it accepts.
Definition: DriverInfo.h:303
bool Fits(const TMediaSize &) const noexcept
void FromJson(const jsonxx::Object &, float defaultWidth=0, float defaultLength=0)
float left
Left non-imageable margin.
Definition: DriverInfo.h:305
float bottom
Bottom non-imageable margin.
Definition: DriverInfo.h:308
void Reset() noexcept
Definition: DriverInfo.h:316
bool IsEmpty() const noexcept
Definition: DriverInfo.h:315
bool roll
True when the tray is a roll, False when it is sheet fed or a cassette.
Definition: DriverInfo.h:302
DLLAPI void CALLBACK ListChannels(const char *modelName, const char *param, char list[4096])
DLLAPI void CALLBACK PrinterTerminate(Instance *driverObj)
DLLAPI const ModelID *CALLBACK ListModels()
DLLAPI Instance *CALLBACK PrinterInitialize(const char *modelName, const char *deviceURL, const ACPL::XML::Node *options, const InstanceMethods **methods)
@ eErrorDiffusion
Any stochastic (multi level) screening (PrintFactory CED)
Definition: DriverInfo.h:172
@ eContone8
No screening, 8-bit contone data.
Definition: DriverInfo.h:175
@ eAMScreen
Halftones (Shape optimized)
Definition: DriverInfo.h:174
@ eOrganic1
Static Organic FM based screening.
Definition: DriverInfo.h:179
@ eOrganic2
Dynamic Organic FM based screening.
Definition: DriverInfo.h:180
@ eNotDefined
No screening type prefered.
Definition: DriverInfo.h:171
@ eFMScreen
FM mask based screening.
Definition: DriverInfo.h:173
@ eFloydSteinberg
Floyd-Steinberg error diffusion.
Definition: DriverInfo.h:176
@ eContone16
No screening, 16-bit contone data.
Definition: DriverInfo.h:178
@ eChromaticED
Chromatic correct error diffusion, only avalable for CMYK.
Definition: DriverInfo.h:177
@ eInvertedEllipseA
Definition: DriverInfo.h:161
@ eDoubleDot
Definition: DriverInfo.h:158
@ eAdobeRound
Euclidean round.
Definition: DriverInfo.h:143
@ eSimpleDot
Definition: DriverInfo.h:160
@ eInvertedEllipseC
Definition: DriverInfo.h:162
@ eSimpleRound
Definition: DriverInfo.h:147
@ eInvertedDoubleDot
Definition: DriverInfo.h:159
@ eAdobeEllipse
Euclidean ellipse.
Definition: DriverInfo.h:144
@ eSpecial
White ink or varnish.
Definition: DriverInfo.h:204
@ eDuplicate
Duplicate of other channel.
Definition: DriverInfo.h:205
@ eSpot
Spot color, do not profile.
Definition: DriverInfo.h:203
@ eDisabled
Disabled channel.
Definition: DriverInfo.h:206
@ eProcess
Process ink, use for profiling.
Definition: DriverInfo.h:202
struct aur::ADA::DriverMethods DriverMethods
@ ePlotterFunctionNotUsed
Definition: DriverInfo.h:926
@ ePlotterError
Definition: DriverInfo.h:927
@ ePlotterOK
Definition: DriverInfo.h:924
@ ePlotterBusy
Definition: DriverInfo.h:925
struct aur::ADA::InstanceMethods InstanceMethods
const ModelID kDriverID[]
struct aur::ADA::ModelID ModelID
uint32_t MarkType
Definition: DriverInfo.h:25
const InkUsage * InkUsagePtr
Definition: DriverInfo.h:998
bool(* DriverInitCB)(void *hostObj, ACPL::XML &status)
Definition: DriverInfo.h:1364
EmbeddedProfileUse
Definition: DriverInfo.h:190
@ eUseEmbeddedNone
Definition: DriverInfo.h:191
@ eUseEmbeddedProfile
Definition: DriverInfo.h:193
@ eUseEmbeddedProfileIntent
Definition: DriverInfo.h:192
@ eByModelName
Definition: DriverInfo.h:186
std::map< ACPL::String, double > InkUsage
Definition: DriverInfo.h:997
Definition: DriverInfo.h:11
SpotType shape
Halftone spot shape.
Definition: DriverInfo.h:848
float frequency
Halftone frequency in lines per inch.
Definition: DriverInfo.h:850
float maxDot
Maximum amount of SM dot sizes for Organic.
Definition: DriverInfo.h:854
int whiteSize
Organic size of the white dot.
Definition: DriverInfo.h:856
int blackSize
Organic size of the black dot.
Definition: DriverInfo.h:855
float maxDot
Maximum amount of SM dot sizes for FM.
Definition: DriverInfo.h:861
int noise
Noise level for FM screening or Error Diffusion.
Definition: DriverInfo.h:860
uint32_t uniqueDriverID
Definition: DriverInfo.h:802
const char * profileName
Definition: DriverInfo.h:801
const char * name
Definition: DriverInfo.h:800