Driver SDK 4.2.0
aur::ADA::DriverMethods Struct Reference

#include <DriverInfo.h>

Public Attributes

ExceptionCode(* Initialize )(void *obj, ACPL::XML *jobDict, float dpuX, float dpuY, const char *settings)
 
void(* Terminate )(void *obj, bool abort)
 
bool(* ErrorToName )(ExceptionCode err, char *errorName)
 
void(* AddPreview )(void *obj, const ACPL::UString &pathToBMP)
 
DirectState(* DirectHome )(void *obj)
 
DirectState(* DirectMove )(void *obj, float x, float y)
 
DirectState(* DirectSetHome )(void *obj)
 
DirectState(* DirectSizeQuery )(void *obj, PageRect &outSize)
 
DirectState(* DirectPosQuery )(void *obj, float &outCoordX, float &outCoordY)
 
void(* ObsoleteMethod )()
 
DirectState(* DirectBarcodeQuery )(void *, ACPL::String &)
 
void(* JobStart )(void *obj, const ACPL::UString &jobName, int32_t &copies, const TMediaSize &mediaSize, const TTray &tray, bool hasImageData, bool hasVectorData)
 
void(* JobEnd )(void *obj)
 
void(* PageRegistrationMarks )(void *obj, uint32_t nrOfPoints, const MarkerPosition *const points)
 
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)
 
bool(* PageEnd )(void *obj, int16_t endOffset, InkUsagePtr &inkUsage)
 
void(* PanelCut )(void *obj)
 
void(* RasterStart )(void *obj, int32_t x, int32_t y, int32_t width, int32_t height)
 
void(* RasterEnd )(void *obj)
 
void(* ProcessRawBuffer )(void *obj, const uint8_t *planeData, int32_t dataBytes, uint8_t planeIdx)
 
void(* VectorStart )(void *obj)
 
void(* VectorEnd )(void *obj)
 
void(* Move )(void *obj, int32_t x, int32_t y)
 
void(* Line )(void *obj, int32_t x, int32_t y)
 
void(* Vertex )(void *obj, int32_t x, int32_t y, bool last)
 
void(* PenUp )(void *obj)
 
void(* PenDown )(void *obj)
 
void(* CurveStart )(void *obj)
 
void(* CurveEnd )(void *obj)
 
void(* SetTool )(void *obj, const char *settings)
 
void(* HLMove )(void *obj, float x, float y, bool closed)
 
void(* HLLine )(void *obj, float x, float y)
 
void(* HLBezier )(void *obj, float x1, float y1, float x2, float y2, float x3, float y3)
 
void(* CustomAction )(void *obj, int a, const char *b)
 
void(* StartOnDemandJob )(void *obj, Imposition *jobParts, const ACPL::String &requestID, const ACPL::UString &jobName)
 
bool(* RasterRepeat )(void *obj, uint32_t repeats)
 

Detailed Description

Session methods

The session method exported by the driver. The entries might be NULL and are thus not supported. This means the call can ommitted and the next call in the calling order should be executed (see below).

Definition at line 1008 of file DriverInfo.h.

Member Data Documentation

◆ AddPreview

void(* aur::ADA::DriverMethods::AddPreview) (void *obj, const ACPL::UString &pathToBMP)

Adds a preview to the page that has just been closed. The BMP is expected to be in 24 bits RGB.

Parameters
[in]objOpaque driver reference
[in]pathToBMPFull path to the preview BMP that will be used as source of the preview.

Definition at line 1050 of file DriverInfo.h.

◆ CurveEnd

void(* aur::ADA::DriverMethods::CurveEnd) (void *obj)

Marks the end of a series of line segments forming a curve.

Parameters
[in]objOpaque driver reference
See also
Vertex, CurveStart

Definition at line 1279 of file DriverInfo.h.

◆ CurveStart

void(* aur::ADA::DriverMethods::CurveStart) (void *obj)

Marks the start of a series of line segments forming a curve.

Parameters
[in]objOpaque driver reference
See also
Vertex, CurveEnd

Definition at line 1272 of file DriverInfo.h.

◆ CustomAction

void(* aur::ADA::DriverMethods::CustomAction) (void *obj, int a, const char *b)

Obsolete function, kept here as placeholder

Definition at line 1332 of file DriverInfo.h.

◆ DirectBarcodeQuery

DirectState(* aur::ADA::DriverMethods::DirectBarcodeQuery) (void *, ACPL::String &)

Definition at line 1095 of file DriverInfo.h.

◆ DirectHome

DirectState(* aur::ADA::DriverMethods::DirectHome) (void *obj)

Performs a direct home of the head without opening a job and page. The commands are directly flushed and thus performed. These commands are used to implement remote control of cutting heads for example.

Parameters
[in]objOpaque driver reference

Definition at line 1058 of file DriverInfo.h.

◆ DirectMove

DirectState(* aur::ADA::DriverMethods::DirectMove) (void *obj, float x, float y)

Performs a direct move of the head without opening a job and page. The commands are directly flushed and thus performed. These commands are used to implement remote control of cutting heads for example.

Parameters
[in]objOpaque driver reference
[in]xX coordinate in AOI units
[in]yY coordinate in AOI units

Definition at line 1068 of file DriverInfo.h.

◆ DirectPosQuery

DirectState(* aur::ADA::DriverMethods::DirectPosQuery) (void *obj, float &outCoordX, float &outCoordY)

Queries the current position of the head. The commands are directly flushed and thus performed. There is no need to open a job or a page.

Parameters
[in]objOpaque driver reference
[out]outCoordCoordinate that receives the head position.

Definition at line 1093 of file DriverInfo.h.

◆ DirectSetHome

DirectState(* aur::ADA::DriverMethods::DirectSetHome) (void *obj)

Sets the new home position of the head to the current position. The commands are directly flushed and thus performed. These commands are used to implement remote control of cutting heads for example.

Parameters
[in]objOpaque driver reference

Definition at line 1076 of file DriverInfo.h.

◆ DirectSizeQuery

DirectState(* aur::ADA::DriverMethods::DirectSizeQuery) (void *obj, PageRect &outSize)

Queries the size of the currently loaded media. The commands are directly flushed and thus performed. There is no need to open a job or a page. If the device uses a different protocol or returns more than only the size then use the exported DLL method PrinterStatus.

Parameters
[in]objOpaque driver reference
[out]outSizeRectangle that receives the media size.

Definition at line 1085 of file DriverInfo.h.

◆ ErrorToName

bool(* aur::ADA::DriverMethods::ErrorToName) (ExceptionCode err, char *errorName)

Converts an error code to a readeable description.

Parameters
[in]errThe error to translate
[out]errorNameString of 256 characters long that will receive the description.
Returns
True when the error is known and a description is generated.

Definition at line 1043 of file DriverInfo.h.

◆ HLBezier

void(* aur::ADA::DriverMethods::HLBezier) (void *obj, float x1, float y1, float x2, float y2, float x3, float y3)

Draws a bezier from the current point of the plot and makes x3,y3 the current point.

Only valid when Caps::highlevel flag is set

Parameters
objOpaque driver reference
x1X coordinate in AOI units of the first Bezier handle
y1Y coordinate in AOI units of the first Bezier handle
x2X coordinate in AOI units of the second Bezier handle
y2Y coordinate in AOI units of the second Bezier handle
x3X coordinate in AOI units of the Bezier end point
y3Y coordinate in AOI units of the Bezier end point

Definition at line 1328 of file DriverInfo.h.

◆ HLLine

void(* aur::ADA::DriverMethods::HLLine) (void *obj, float x, float y)

Draws a line from the current point of the plot to the given coordinate and makes it the current point.

Only valid when Caps::highlevel flag is set

Parameters
[in]objOpaque driver reference
[in]xX coordinate in AOI units
[in]yY coordinate in AOI units

Definition at line 1313 of file DriverInfo.h.

◆ HLMove

void(* aur::ADA::DriverMethods::HLMove) (void *obj, float x, float y, bool closed)

Moves the current point of the plot to the given coordinate.

Only valid when Caps::highlevel flag is set

Parameters
[in]objOpaque driver reference
[in]xX coordinate in AOI units
[in]yY coordinate in AOI units
[in]closedTrue when the path that is about to start is closed, false if it is open

Definition at line 1302 of file DriverInfo.h.

◆ Initialize

ExceptionCode(* aur::ADA::DriverMethods::Initialize) (void *obj, ACPL::XML *jobDict, float dpuX, float dpuY, const char *settings)

Starts a session. Initialized the driver with the settings to be used. Many drivers will open the communication channel during this call. This the only method that will return an error. Other methods will throw a C++ exception of the type ExceptionCode.

Parameters
[in]objOpaque driver reference
[in]jobDictXML containing the job (ticket). This maybe be NULL. The driver can use information from the job and may write additional private or public data in the job.
[in]dpuXHorizontal resolution of the halftone data that will be provided in AOI units.
[in]dpuYVertical resolution of the halftone data that will be provided in AOI units.
[in]settingsSettings XML containing the settings extracted from the XML based UI.
Returns
NoError when successfull. The error when the call failed. When the method ErrorToName is available the error must be translated using that method to get a user readeable error message.

Definition at line 1027 of file DriverInfo.h.

◆ JobEnd

void(* aur::ADA::DriverMethods::JobEnd) (void *obj)

Ends the job on the device. Can only be called after all pages are send and a job is open.

Parameters
[in]objOpaque driver reference
See also
JobStart

Definition at line 1117 of file DriverInfo.h.

◆ JobStart

void(* aur::ADA::DriverMethods::JobStart) (void *obj, const ACPL::UString &jobName, int32_t &copies, const TMediaSize &mediaSize, const TTray &tray, bool hasImageData, bool hasVectorData)

Start a job on the device. A job can contain more than 1 pages. This call must be paired with JobEnd after all pages are send.

Parameters
[in]objOpaque driver reference
[in]jobNameName of the job
[in]copiesNumber of copies. When the device has internal copy facilities the copies should be set to 0 before returning.
[in]mediaSizeMedia size to be used. The media size must be respecting the margins and sizes set by the tray.
[in]trayTray to be used. This needs to be a copy of a TTray entry returned bij DriverInfo.
[in]hasImageDataFlag that indicates if the job contains image data (a print)
[in]hasVectorDataFlag that indicates if the job contains vector data (contour cut)
See also
JobEnd

Definition at line 1110 of file DriverInfo.h.

◆ Line

void(* aur::ADA::DriverMethods::Line) (void *obj, int32_t x, int32_t y)

Draws a line from the current point of the plot to the given coordinate and makes it the current point.

Parameters
[in]objOpaque driver reference
[in]xX coordinate in DriverInfo::steps
[in]yY coordinate in DriverInfo::steps

Definition at line 1242 of file DriverInfo.h.

◆ Move

void(* aur::ADA::DriverMethods::Move) (void *obj, int32_t x, int32_t y)

Moves the current point of the plot to the given coordinate.

Parameters
[in]objOpaque driver reference
[in]xX coordinate in DriverInfo::steps
[in]yY coordinate in DriverInfo::steps

Definition at line 1233 of file DriverInfo.h.

◆ ObsoleteMethod

void(* aur::ADA::DriverMethods::ObsoleteMethod) ()

Definition at line 1094 of file DriverInfo.h.

◆ PageEnd

bool(* aur::ADA::DriverMethods::PageEnd) (void *obj, int16_t endOffset, InkUsagePtr &inkUsage)

Ends the page, a page must be open.

Parameters
[in]objOpaque driver reference
[in]endOffsetLocation where the (cutting) head must go when the page is finished:
  • 1 : Move the head to the origin of the impression
  • 2 : Move to the bottom left of the impression
  • 3 : Move to the right top of the impression
  • 4 : Transport media (flatbed) by the length of the impression
  • 5 : Same as 4 and cut the media
  • 6 : Manually position the head (device goes offline)
[out]InkUsagePtrAmount of ink used at this page, when null is returned no reporting is done. When ink reports are available the names of the ink do not need to match the inkset (when the printer has internal separation or fixation fluids, etc). The values are expressed in ml.
Returns
True when the same page needs to be send again. This is used for layered printing and as long as not all layers are ready true is returned. Return false to proceed to the next page.
See also
PageStart

Definition at line 1166 of file DriverInfo.h.

◆ PageRegistrationMarks

void(* aur::ADA::DriverMethods::PageRegistrationMarks) (void *obj, uint32_t nrOfPoints, const MarkerPosition *const points)

Passed the list of registration mark positions if present.

Parameters
[in]objOpaque driver reference
[in]nrOfPointsNumber of registration points. The array points is expected to contain nrOfPoints values
[in]pointsArray of MarkerPositions in AOI units, containing nrOfPoints elements.

Definition at line 1125 of file DriverInfo.h.

◆ PageStart

void(* aur::ADA::DriverMethods::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)

Start a page on the device. This call must be paired with PageEnd. A call to JobStart must preceed this call.

Parameters
[in]objOpaque driver reference
[in]pageNr1 based page number, sides are not counted as additional pages
[in]sidePage side indicator:
  • S : Single sided page, next page is a new page
  • A : Front side, next page is a side of the same page is X or B
  • X : Blocker, next page is B (side)
  • B : Back side, last side of the page, can also be the first side if no A side exists
[in]barcodeBarcode identifying this page. When no barcode is provided then this is empty. The barcode is identical for the printed page and the cut page that is associated.
[in]mediaSizeMedia size to be used. The media size must be respecting the margins and sizes set by the tray.
[in]trayTray to be used. This needs to be a copy of a TTray entry returned bij DriverInfo.
[in]imagedRectArea of the page filled by the data to come expressed on AOI units where the origin is the top left corner of the imageable area.
[in]metaPathPath to the META info XML of the page being started.
See also
PageEnd

Definition at line 1146 of file DriverInfo.h.

◆ PanelCut

void(* aur::ADA::DriverMethods::PanelCut) (void *obj)

Invokes the roll cutter of the printer.

Parameters
[in]objOpaque driver reference

Definition at line 1172 of file DriverInfo.h.

◆ PenDown

void(* aur::ADA::DriverMethods::PenDown) (void *obj)

Instructs the plotter to lower the tool/pen.

Parameters
[in]objOpaque driver reference

Definition at line 1265 of file DriverInfo.h.

◆ PenUp

void(* aur::ADA::DriverMethods::PenUp) (void *obj)

Instructs the plotter to raise the tool/pen.

Parameters
[in]objOpaque driver reference
See also
CurveStart, CurveEnd

Definition at line 1259 of file DriverInfo.h.

◆ ProcessRawBuffer

void(* aur::ADA::DriverMethods::ProcessRawBuffer) (void *obj, const uint8_t *planeData, int32_t dataBytes, uint8_t planeIdx)

Processes 1 plane of a line of the image. The driver expect all planes of a line even if they are empty, so for a CMYK print 4 calls to this method are required to process 1 line. The provided halftone data must be truncated so that no white exists on the right side of the plane. When this is not done the printing efficiency might go down. It is allow to pass a NULL pointer when the data length is 0.

Parameters
[in]objOpaque driver reference
[in]planeDataPointer to the halftoned data of 1 plane.
[in]dataBytesNumber of bytes of halftone data.
[in]planeIdxChannel number to which this plane data refers
See also
RasterStart, RasterEnd

Definition at line 1207 of file DriverInfo.h.

◆ RasterEnd

void(* aur::ADA::DriverMethods::RasterEnd) (void *obj)

Ends a print on the device.

Parameters
[in]objOpaque driver reference
See also
RasterStart, ProcessRawBuffer

Definition at line 1193 of file DriverInfo.h.

◆ RasterRepeat

bool(* aur::ADA::DriverMethods::RasterRepeat) (void *obj, uint32_t repeats)

When this method is available the driver is able to internally repeat the raster vertically. If this method is not available a repeat of 1 is assumed.

Parameters
[in]objOpaque driver reference
[in]repeatsThe number of repeats of the raster area vertically. The RasterStart width/height parameters define the size of the first tile.
Returns
True when the repeats are accepted. Return false to invoke in RIP repeating.
See also
RasterStart

Definition at line 1356 of file DriverInfo.h.

◆ RasterStart

void(* aur::ADA::DriverMethods::RasterStart) (void *obj, int32_t x, int32_t y, int32_t width, int32_t height)

Starts a print on the device. Only one call to RasterStart is allowed per page.

Parameters
[in]objOpaque driver reference
[in]xLeft offset in pixels relative to the imageble area of the printer.
[in]yTop offset in pixels relative to the imageble area of the printer.
[in]widthWidth of the print in pixels.
[in]heightHeight of the print in pixels.
See also
RasterEnd, ProcessRawBuffer

Definition at line 1186 of file DriverInfo.h.

◆ SetTool

void(* aur::ADA::DriverMethods::SetTool) (void *obj, const char *settings)

Instructs the plotter to select the specified tool as defined by the passed driver setting.

Parameters
[in]objOpaque driver reference
[in]settingsSettings XML containing the settings extracted from the XML based UI for the tool to be selected.

Definition at line 1288 of file DriverInfo.h.

◆ StartOnDemandJob

void(* aur::ADA::DriverMethods::StartOnDemandJob) (void *obj, Imposition *jobParts, const ACPL::String &requestID, const ACPL::UString &jobName)

Start a job on the device. A job can contain more than 1 pages. This call must be paired with JobEnd() after all pages are sent with PageAvailable().

Parameters
[in]objOpaque driver reference
[in]jobPartsThe container with all the job parts that will be further printed individually. This is needed by the driver to reconstruct the job layout.
[in]requestIDThe ID of the request that comes from the device. This will be re-sent by the driver to the device alongside the processed information.
[in]jobNameName of the job
See also
JobEnd

Definition at line 1345 of file DriverInfo.h.

◆ Terminate

void(* aur::ADA::DriverMethods::Terminate) (void *obj, bool abort)

Terminates/closes the session of the driver.

Parameters
[in]objOpaque driver reference
[in]abortTrue when the current connection and output needs to be aborted. False when a gracefull close and exit is requested.

Definition at line 1035 of file DriverInfo.h.

◆ VectorEnd

void(* aur::ADA::DriverMethods::VectorEnd) (void *obj)

Ends a plot on the device.

Parameters
[in]objOpaque driver reference
See also
VectorStart

Definition at line 1225 of file DriverInfo.h.

◆ VectorStart

void(* aur::ADA::DriverMethods::VectorStart) (void *obj)

Starts a plot on the device. A plot can be drawing, cutting, routing or engraving. Only one call to VectorStart is allowed per page.

Parameters
[in]objOpaque driver reference
See also
VectorEnd

Definition at line 1218 of file DriverInfo.h.

◆ Vertex

void(* aur::ADA::DriverMethods::Vertex) (void *obj, int32_t x, int32_t y, bool last)

Draws a line from the current point of the plot to the given coordinate and makes it the current point. This line segment is originated from a curve (Bezier, B-spline or other)

Parameters
[in]objOpaque driver reference
[in]xX coordinate in DriverInfo::steps
[in]yY coordinate in DriverInfo::steps
[in]lastTrue when this is the last line segment of the curve.

Definition at line 1252 of file DriverInfo.h.


The documentation for this struct was generated from the following file: