PICTools Programmer's Reference
MODCA_UNION

MODCA_UNION: OP_MDCA2D, OP_D2MDCA

The MODCA _UNION structure supplies parameters to the OP_MDCA2D opcode used to convert MO:DCA files to DIBs.

 
Copy Code
typedef struct {
   DWORD                      Reserved0;
   CHAR PICHUGE*              ExternalOverlayName;
   BYTE PICHUGE*              ExternalOverlay;
   BYTE PICHUGE*              DocumentName;
   BYTE PICHUGE*              Reserved4;
   BYTE PICHUGE*              Reserved5;
   BYTE PICHUGE*              Reserved6;
   BYTE PICHUGE*              Reserved7;
   BYTE PICHUGE*              Reserved8;
   PICFLAGS                   PicFlags;
   PICFLAGS                   PicFlags2;
   DWORD                      WidthPad;
   DWORD                      StripSize; 
   DWORD                      ImageType;
   DWORD                      NegateImage; 
   WORD                       PageXRes;
   WORD                       PageYRes;
   DWORD                      PageWidth;
   DWORD                      PageHeight;
   WORD                       PageResUnits;
   WORD                       OutResUnits;
   WORD                       OutXRes;
   WORD                       OutYRes;
   DWORD                      OutWidth;
   DWORD                      OutHeight;
   DWORD                      OutBpp;
   DWORD                      ExternalOverlayLength;
   DWORD                      ThumbWidth;
   DWORD                      ThumbHeight;
} MODCA_UNION;

For C4 files, only these fields are used: PicFlags, PicFlags2, WidthPad, StripSize, PageXRes, PageYRes, ThumbWidth, and ThumbHeight.

Fields:

Name Description

Reserved0

This field is not currently used and must be set to 0.

ExternalOverlayName

The name according to the MO:DCA file of the external resource library containing an Overlay needed for rendering the requested page.  This is an ASCIIZ NULL terminated field.

ExternalOverlay

A buffer allocated by the user in response to a RES_NEED_EXTERNAL_OVERLAY return code.  It should contain the external resource library asked for in ExternalOverlayName.  The user is free to deallocate this buffer once REQ_INIT returns with RES_DONE.

DocumentName

The Document Name to be used in the Begin Document SF.  This is an ASCIIZ NULL terminated field.  It will be converted to EBCDIC when used in the Begin Document SF.

Reserved4

Reserved5

Reserved6

Reserved7

Reserved8

These fields are not currently used and must be set to 0.

PicFlags

Flags that control the Pegasus operations.

 

Value

Meaning

PF_NoDibPad

Set if Pegasus is not to pad the output DIB to a 4-byte boundary.

PF_WidthPadKnown

 

Set if the byte length of one DIB pixel line has been set by the application.  Otherwise the length is computed by Pegasus, padded to a 4-byte boundary unless PF_NoDibPad is set.

PF_YieldPut

Specifies that the RES_PUT_DATA_YIELD response is desired.

PF_ExpandThumbnail

For C4 input only, if the image contains an embedded preview, set this flag to render the preview.

PicFlags2

Additional Flags that control or report on the OP_MDCA2D operation.

 

Value

Meaning

PF2_HasThumbnail

Set by opcode if input is C4 and the input contains an embedded preview image.

WidthPad

Specifies the width of an uncompressed DIB pixel line in bytes.  WidthPad takes into account the number of bits needed to represent a pixel and any padding that may be required at the end of each line.  WidthPad will be output by Pegasus aligned to a 4-byte boundary unless the PF_WidthPadKnown flag is set in PicFlags.  If PF_WidthPadKnown is set, then WidthPad must be input by the application.  If PF_NoDIBPad is set, then the WidthPad computed by Pegasus will not include any padding necessary to align the DIB to a 4-byte boundary.

StripSize

Specifies the minimum buffer size needed to hold one strip of output data. This is provided to the caller after REQ_EXEC has been invoked.  The Put queue must be at least large enough to hold this number of bytes.  If Q_REVERSE is set in the Put queue, then the Put queue size must be an integer multiple of StripSize or must be large enough for the entire output image.

ImageType

Either BI_CALS or BI_MODCA.

NegateImage

Used by OP_D2MDCA.  If not equal to zero than compress the negative of input.

PageXRes

The resolution of the X dimension in 10 inches or 10 centimeters depending on the value of PageResUnits.  For C4 images, the units is dots per inch.

PageYRes

The resolution of the Y dimension in 10 inches or 10 centimeters depending on the value of PageResUnits.  For C4 images, the units is dots per inch.

PageWidth

The width of the page in pixels according to the input file.

PageHeight

The height of the page in pixels according to the input file.

PageResUnits

A value of 0 means PageXRes and PageYRes are given in 10 inches.  A value of 1 means PageXRes and PageYRes are given in 10 centimeters.

OutResUnits

A value of 0 means OutXRes and OutYRes are given in 10 inches.  A value of 1 means OutXRes and OutYRes are given in 10 centimeters.

OutXRes

The desired resolution of the output image's X dimension in 10 inches or 10 centimeters depending on the value of OutResUnits.

OutYRes

The desired resolution of the output image's Y dimension in 10 inches or 10 centimeters depending on the value of OutResUnits.

OutWidth

The desired width of the output image.

OutHeight

The desired height of the output image.

OutBpp

The desired bits per pixel of the output image.  Valid values are 1 and 8.

ExternalOverlayLength

The length of the ExternalOverlay buffer in BYTEs.

ThumbWidth

For C4 images, the width of the embedded preview, if present.  Returned from REQ_INIT.

ThumbHeight

For C4 images, the height of the embedded preview, if present.  Returned from REQ_INIT.

 

 


©2022. Accusoft Corporation. All Rights Reserved.

Send Feedback