FaxMan SDK Version 4.7
Cover Page Reference

 

The FaxMan server supports both its own cover page format (*.pg) and also the Microsoft Fax Coverpage format (*.cpe). Using the Microsoft Fax Coverpage Editor which shipped with Windows 95 its possible to create graphically rich coverpages that can be used with FaxMan. Now that FaxMan includes this support we would recommend that developers use these coverpages instead of the FaxMan formatted files.

 

The FaxMan coverpage form is documented in this appendix if you choose to use it instead of the MS Fax format.

 

The FaxMan coverpage format isn't too difficult to create, as you’ll see – if you’re familiar with files at all, you shouldn’t have any trouble.

 

The cover page file format is a simple binary format consisting of one or more variable length records representing objects such as fonts, text, lines, rectangles and bitmaps. These files can be created from any language that supports writing binary files. When using C or C++ to create cover pages be sure to open/create the file in binary mode so that CR/LF translation will be disabled.

 

The current cover page format has no header structure and begins with the first object in the file. Future releases will probably include a header.

 

Object Types

 

Font

The Font object defines a font to be used for subsequent Text output. This record must be output before any Text records.

 

The structure is:

 

SHORT

nOpCode;

Always set to 0x02 for Font Object

SHORT

nRecLen;

Set to size of entire structure

Char

szFontName[20];

Name of Windows Typeface

SHORT

nSize;

Size in TWIPS (1/1440")

WORD

bBold;

True if Bold

WORD

bItalic;

True if Italic

WORD

bUnderline;

True if Underlined

COLORREF

rgbColor;

Color of Font

  

Text

The Text object defines the placement, formatting and text to be printed. Multiple text objects may be used.

 

SHORT

nOpCode;

Always set to 0x05 for Text Object

SHORT

nX2;

X coordinate of bottom right corner of Bounding box

SHORT

nY2;

Y coordinate of bottom right corner of Bounding Box

COLORREF

rgbColor;

This is not used.

SHORT

nFlags;

Flags which specify text formatting. Same flags as DrawText.

Char

text[1]

Random length text data.

 

nFlags specifies an array of flags that determine how to draw the text. This parameter can be a combination of the following values:

 

Value

Meaning

DT_BOTTOM (0x08)

Specifies bottom-aligned text. This value must be combined with DT_SINGLELINE.

DT_CENTER (0x01)

Centers text horizontally.

DT_EXPANDTABS (0x40)

Expands tab characters. The default number of characters per tab is eight.

DT_LEFT (0x00)

Left-aligns text.

DT_NOPREFIX (0x800)

Turns off processing of prefix characters. Normally, DrawText interprets the mnemonic & as a directive to underscore the character that follows, and the mnemonic && as a directive to print a single &. By specifying DT_NOPREFIX, this processing is turned off.

DT_RIGHT (0x02)

Right-aligns text.

DT_SINGLELINE (0x20)

Specifies single line only. Carriage returns and linefeeds do not break the line.

DT_TOP (0x00)

Specifies top-aligned text (single line only).

DT_VCENTER (0x04)

Specifies vertically centered text (single line only).

DT_WORDBREAK (0x10)

Specifies word breaking. Lines are automatically broken between words if a word would extend past the edge of the rectangle specified by the lprc parameter. A carriage return–linefeed sequence will also break the line.

 

Note that the DT_CALCRECT, DT_EXTERNALLEADING, DT_INTERNAL, DT_NOCLIP, and DT_NOPREFIX values cannot be used with the DT_TABSTOP value.

 

Line

The line object causes a line of the specified size and color to be drawn.

 

SHORT

nOpCode;

Always set to 0x04 for Line Object

SHORT

nRecLen;

Set to size of entire structure

SHORT

nX1;

X coordinate of starting point

SHORT

nY1;

Y coordinate of starting point

SHORT

nX2;

X coordinate of end point

SHORT

nY2;

Y coordinate of end point

SHORT

nWidth;

Width of line in TWIPS

SHORT

nStyle;

Style of Line, same as PENSTYLE in CreatePen

COLORREF

rgbColor;

Color of line

 

Rectangle

Draws a rectangle at the specified location. The rectangle can be filled or hollow.

 

SHORT

nOpCode;

Always set to 0x03 for Rectangle Object

SHORT

nRecLen;

Set to size of entire structure

SHORT

nX1;

X coordinate of Upper Left corner of rectangle

SHORT

nY1;

Y coordinate of Upper Left corner of rectangle

SHORT

nX2;

X coordinate of bottom right corner of rectangle

SHORT

nY2;

Y coordinate of bottom right corner of rectangle

COLORREF

rgbColor;

Color of rectangle

WORD

bFilled;

True if filled NOTE: not currently supported, except through background bitmaps

COLORREF

rgbFillColor;

Fill Color

SHORT

nPenWidth;

Width of Pen in TWIPS

SHORT

nPenStyle;

Style of Line, same as PENSTYLE in CreatePen

 

Bitmap

Adds a bitmap to the page. Currently this bitmap must be in FaxMan FMF format, Black & white, and 1728 pixels wide. The vertical resolution should be 200 DPI. Currently only 1 bitmap may be placed per page and the bitmap will be placed at the top of the page as the X1,Y1,X2,Y2 coordinates are ignored.

Future releases will support multiple graphics and allow exact placement.

 

SHORT

nOpCode;

Always set to 0x01 for Bitmap Object

SHORT

nRecLen;

Set to size of entire structure

SHORT

nX1;

 

SHORT

nY1;

 

SHORT

nX2;

 

SHORT

nY2;

 

Char

filename[1]

Name of FMF file (Without path information)

 

 


© 2013 Data Techniques, Inc. All Rights Reserved.

Send comments on this topic.